@charset "UTF-8";@font-face{font-family:Bricolage Grotesque;src:url(/fonts/bricolage-grotesque-latin-variable.woff2) format("woff2");font-weight:200 800;font-stretch:75% 100%;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Comic Neue;src:url(/fonts/comic-neue-latin-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Comic Neue;src:url(/fonts/comic-neue-latin-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Fallback;src:local("Arial");font-stretch:100%;font-style:normal;size-adjust:100.24%;ascent-override:92.78%;descent-override:26.94%;line-gap-override:0%}@font-face{font-family:Bricolage Fallback;src:local("Arial");font-stretch:88%;font-style:normal;size-adjust:87.64%;ascent-override:106.12%;descent-override:30.81%;line-gap-override:0%}:root{color-scheme:light;--color-bg: #F6EFE7;--color-surface: #FFF8F1;--color-ink: #23171D;--color-ink-soft: #5B4A52;--color-accent: #C9285B;--color-accent-hover: #A8204D;--color-accent-hot: #E2396F;--color-accent-pale: #FFB3C9;--color-line: rgba(35, 23, 29, .14);--font-display: "Bricolage Grotesque", "Bricolage Fallback", Arial, sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}body{position:relative;background-color:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);margin:0}body:after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E")}#root{position:relative;z-index:1}::selection{background-color:var(--color-accent-pale);color:var(--color-ink)}:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}h1,h2,h3{font-family:var(--font-display);font-optical-sizing:auto}html{scroll-behavior:smooth}section[id]{scroll-margin-top:90px}@media (max-width: 768px){section[id]{scroll-margin-top:70px}}.footerPortfolio{margin-top:150px;padding-bottom:3rem;text-align:center;width:100%}.footerMade{margin:0 0 .4rem;font-family:var(--font-display);font-optical-sizing:auto;font-size:1.25rem;font-weight:800;letter-spacing:-.02em;color:var(--color-ink)}.footerCopyright{margin:0 0 1.5rem;font-size:.8125rem;color:var(--color-ink-soft)}.footerSocial{display:flex;justify-content:center;gap:1.75rem;margin-bottom:1.25rem}.footerSocial a{color:var(--color-ink);font-size:1.75rem;text-decoration:none;transition:color .3s ease}.footerSocial a:hover{color:var(--color-accent)}.footerSocial a:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px;border-radius:4px}@media (prefers-reduced-motion: reduce){.footerSocial a{transition:none}}.footerLinks{display:flex;justify-content:center;flex-wrap:wrap;gap:1.5rem}.footerLegal{color:var(--color-ink-soft);font-size:.875rem;text-decoration:underline;text-underline-offset:3px}.footerLegal:hover{color:var(--color-accent)}.footerLegal:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}header{position:fixed;top:0;width:100%;z-index:50;transition:all .3s ease}header:not(.scrolled){background-color:transparent}header.scrolled{background-color:var(--color-accent)}.headerPortfolio{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:1rem 2rem;max-width:1200px;padding-top:30px;margin:0 auto}.h2header{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-optical-sizing:auto;font-weight:800;font-size:clamp(1.5rem,2vw,3rem);color:var(--color-surface);margin:0 auto 0 0}.headerLogo{width:1.2em;height:1.2em;flex-shrink:0;transform:rotate(-18deg)}.navHeader{display:flex;align-items:center}.navHeaderInner{display:flex;gap:3rem;align-items:center}.navHeader a{text-decoration:none;font-family:var(--font-body);font-weight:500;color:var(--color-surface);font-size:clamp(1rem,2.5vw,1.25rem);padding:.5rem 0;transition:color .3s ease}.navHeader a:hover{text-decoration:underline;text-underline-offset:4px}.navHeader a:focus-visible{outline:3px solid var(--color-surface);outline-offset:3px}.headerActions{display:flex;align-items:center;gap:.75rem;margin-left:auto}.languageButton{border:2px solid var(--color-surface);background-color:transparent;color:var(--color-surface);padding:.5rem 1rem;border-radius:12px;font-family:var(--font-body);font-weight:600;cursor:pointer;transition:all .3s ease;min-width:60px;text-align:center}.languageButton:hover{background-color:var(--color-surface);color:var(--color-accent);border-color:var(--color-surface)}.languageButton:focus-visible{outline:3px solid var(--color-surface);outline-offset:3px}.burgerButton{display:none;width:42px;height:42px;padding:0;border:2px solid var(--color-surface);border-radius:12px;background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}.burgerButton span{display:block;width:18px;height:2px;border-radius:2px;background:var(--color-surface);transition:transform .3s ease,opacity .2s ease}.burgerButton:focus-visible{outline:3px solid var(--color-surface);outline-offset:3px}@media (max-width: 768px){.headerPortfolio{flex-wrap:nowrap;gap:.75rem;padding:.75rem 1.25rem}.h2header{gap:8px}.burgerButton{display:flex}.navHeader{position:absolute;top:100%;left:0;right:0;display:grid;grid-template-rows:0fr;overflow:hidden;visibility:hidden;background:var(--color-accent);border-bottom:2px solid var(--color-surface);transition:grid-template-rows .35s ease,visibility 0s .35s}.navHeaderInner{min-height:0;overflow:hidden;flex-direction:column;align-items:flex-start;gap:0;padding:0 1.25rem}.navHeader a{width:100%;padding:.85rem 0;font-size:1.05rem}.headerPortfolio.open .navHeader{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .35s ease,visibility 0s}.headerPortfolio.open .navHeaderInner{padding:.5rem 1.25rem 1rem;transition:padding .35s ease}.headerPortfolio.open .burgerButton span:nth-child(1){transform:translateY(7px) rotate(45deg)}.headerPortfolio.open .burgerButton span:nth-child(2){opacity:0}.headerPortfolio.open .burgerButton span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.languageButton{padding:.5rem .8rem;font-size:.9rem;min-width:unset}}@media (prefers-reduced-motion: reduce){.burgerButton span,.navHeader,.headerPortfolio.open .navHeader,.headerPortfolio.open .navHeaderInner{transition:none}}.axe--onHot .axe__handle,.axe--onHot .axe__rivet{fill:var(--color-accent-pale)}.axe--onHot .axe__grip,.axe--onHot .axe__blade,.axe--onHot .axe__head{fill:var(--color-ink)}.axe--onHot .axe__edge{fill:var(--color-surface)}.hero{position:relative;isolation:isolate;padding:9rem 0 0;min-height:640px;display:flex;align-items:center;background-color:var(--color-accent);--cut-h: calc(100vw * .1228);padding-bottom:calc(6rem + var(--cut-h));clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut-h)),0 100%)}.heroInner{position:relative;z-index:1;width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:4rem;align-items:center}.heroText{display:flex;flex-direction:column;align-items:flex-start}.heroEyebrow{margin:0 0 1.25rem;font-family:var(--font-body);font-size:.875rem;font-weight:600;letter-spacing:.02em;color:var(--color-surface)}.heroTitle{margin:0;font-family:var(--font-display);font-optical-sizing:auto;font-size:clamp(2.5rem,6.5vw,5.5rem);font-weight:800;line-height:.95;letter-spacing:-.03em;font-stretch:88%;color:var(--color-surface);max-width:16ch}.heroLead{margin:1.75rem 0 0;font-family:var(--font-body);font-size:1.125rem;line-height:1.55;color:var(--color-surface);max-width:46ch}.heroActions{margin-top:2.25rem;display:flex;align-items:center;gap:1.75rem;flex-wrap:wrap}.heroCta{display:inline-block;padding:.9rem 1.6rem;border-radius:12px;background-color:var(--color-surface);color:var(--color-ink);font-weight:600;font-size:1rem;text-decoration:none;transition:background-color .25s ease}.heroCta:hover{background-color:var(--color-accent-pale)}.heroCta:focus-visible{outline:3px solid var(--color-ink);outline-offset:3px}.heroLink{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-surface);font-size:1rem;text-decoration:underline;text-underline-offset:4px}.heroLink .heroArrow{transition:transform .25s ease}.heroLink:hover .heroArrow{transform:translate(4px)}.heroLink:focus-visible{outline:3px solid var(--color-surface);outline-offset:4px}.heroTrust{margin:2rem 0 0;font-size:.875rem;color:var(--color-surface)}.heroShowcase{min-width:0}.heroBrowser{transform:rotate(-4deg)}.heroBrowser.browserFrame{border:2px solid var(--color-surface)}.heroBrowser .browserFrameBar{border-bottom:2px solid var(--color-ink)}.heroBrowser .browserFrameBody{aspect-ratio:auto;container-type:inline-size}@media (max-width: 900px){.heroInner{grid-template-columns:1fr;gap:2.5rem}}@media (max-width: 768px){.heroBrowser{transform:none}}@media (max-width: 600px){.hero{padding-top:5rem;--cut-h: calc(100vw * .1228);padding-bottom:calc(3rem + var(--cut-h));clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut-h)),0 100%)}.heroActions{flex-direction:column;align-items:stretch;gap:1rem}.heroCta{width:100%;text-align:center}.heroLink{justify-content:center}}@media (prefers-reduced-motion: reduce){.heroCta,.heroLink .heroArrow{transition:none}.heroLink:hover .heroArrow{transform:none}}.hero-cut [data-t]:before,.browserFrameUrl[data-t]:before{content:attr(data-t)}.browserFrame{border:1px solid var(--color-line);border-radius:12px;overflow:hidden;background:var(--color-surface)}.browserFrameBar{display:flex;align-items:center;gap:.4rem;height:28px;padding:0 .9rem;background:var(--color-surface);border-bottom:1px solid var(--color-line)}.browserFrameBar span{width:9px;height:9px;border-radius:50%;background:var(--color-ink);opacity:.35}.browserFrameUrl{margin-left:.5rem;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-body);font-size:.6875rem;color:var(--color-ink-soft)}.browserFrameBody{background:var(--color-surface);aspect-ratio:1200/750}.browserFrameBody img{display:block;width:100%;height:100%;object-fit:cover}.hero-cut{--hc-speed: 1;position:relative;overflow:hidden;height:auto;min-height:38em;display:flex;flex-direction:column;gap:.7em;padding:1.1em 1.3em;box-sizing:border-box;font-family:Comic Neue,Comic Sans MS,cursive;font-size:7.5px;font-size:clamp(6px,1.9cqw,11px);line-height:1.25;color:#eaf3ff;background-color:#123f6d;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 10px,transparent 10px 20px);transition:background-color calc(.42s * var(--hc-speed)) ease}.hc-head{display:flex;align-items:baseline;gap:.9em;flex-wrap:wrap}.hc-name{font-weight:700;font-size:1.3em;color:#ffd400;text-shadow:1.5px 1.5px 0 #7a0000,3px 3px 0 rgba(0,0,0,.3);transition:color calc(.42s * var(--hc-speed)) ease,font-size calc(.42s * var(--hc-speed)) ease}.hc-menu{display:flex;gap:.7em;flex-wrap:wrap;font-size:.95em}.hc-menu span{color:#7fe0ff;text-decoration:underline;white-space:nowrap;transition:color calc(.42s * var(--hc-speed)) ease,opacity calc(.3s * var(--hc-speed)) linear,max-width calc(.42s * var(--hc-speed)) ease}.hc-menu .extra{overflow:hidden;max-width:8em}.hc-title{margin:0;font-size:1.7em;font-weight:700;text-align:center;color:#ff4d4d;text-shadow:1.5px 1.5px 0 #ffd400;transition:color calc(.42s * var(--hc-speed)) ease,font-size calc(.42s * var(--hc-speed)) ease}.hc-lead{margin:0;font-size:1.1em;text-align:center;color:#cfe3ff;transition:color calc(.42s * var(--hc-speed)) ease}.hc-marquee{overflow:hidden;white-space:nowrap;padding:.15em 0;background:#ff2d00;border:2px ridge #ffd400}.hc-marquee span{display:inline-block;color:#ff0;font-weight:700;animation:hc-marquee calc(9s * var(--hc-speed)) linear infinite}@keyframes hc-marquee{0%{transform:translate(100%)}to{transform:translate(-100%)}}.hc-promo{padding:.25em .5em;text-align:center;font-weight:700;background:#00b300;color:#ff0;border:3px outset #7bff7b}.hc-carousel{display:flex;align-items:center;justify-content:space-between;gap:.7em;padding:.7em .5em;background:#6b6b6b;border:3px inset #c0c0c0}.hc-carousel-label{font-size:.95em;color:#eaf3ff}.hc-arrow{padding:0 .5em;color:#000;background:silver;border:2px outset #c0c0c0}.hc-ad{padding:.4em;text-align:center;font-weight:700;border:3px dashed #ff2d00;background:#ff6;color:#b30000}.hc-counter{padding:.15em .4em;text-align:center;font-family:Courier New,Courier,monospace;font-size:.95em;color:#9fe8ff;border:1px solid #7fe0ff}.hc-cards,.hc-cols{display:flex;gap:.7em;overflow:hidden;max-height:0;opacity:0;transition:max-height calc(.56s * var(--hc-speed)) ease calc(.2s * var(--hc-speed)),opacity calc(.44s * var(--hc-speed)) ease calc(.26s * var(--hc-speed))}.hc-card{flex:1;min-width:0;display:flex;flex-direction:column;gap:.35em;padding:.35em;border:1px solid transparent;border-radius:6px}.hc-thumb{display:block;height:2.9em;background:#e3d9cf;border-radius:3px}.hc-card-label{font-size:.95em;line-height:1.2}.hc-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25em}.hc-col-label{font-size:1.1em;letter-spacing:.06em}.hc-row{display:flex;justify-content:space-between;gap:.7em;font-size:1.1em}.hc-addr{font-size:1.1em}.hc-actions{display:flex;align-items:center;gap:.9em;flex-wrap:wrap}.hc-call{padding:.35em .7em;font-weight:700;background:#00e;color:#ff0;border:3px outset #8a8aff;text-decoration:underline;transition:background-color calc(.42s * var(--hc-speed)) ease,color calc(.42s * var(--hc-speed)) ease,border-color calc(.42s * var(--hc-speed)) ease,border-width calc(.42s * var(--hc-speed)) ease,border-radius calc(.42s * var(--hc-speed)) ease}.hc-phone,.hc-itinerary{font-size:1.1em;transition:color calc(.42s * var(--hc-speed)) ease}.hc-foot{display:flex;justify-content:space-between;gap:.9em;font-size:.95em;transition:color calc(.42s * var(--hc-speed)) ease}.hc-works{position:absolute;top:34%;right:-.7em;padding:.25em .7em;font-weight:700;font-size:.95em;background:#ffd400;color:#7a0000;border:2px solid #7a0000;transform:rotate(-14deg)}.hc-chat{position:absolute;right:.9em;bottom:3.2em;padding:.35em .7em;font-size:.95em;font-weight:700;background:#00b300;color:#ff0;border:3px outset #7bff7b}.hc-popup{position:absolute;top:40%;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5em;padding:.9em 1.4em;text-align:center;font-weight:700;font-size:1.1em;background:#ff9;color:#b30000;border:4px ridge #ff2d00;box-shadow:0 0 0 2000px #00000059}.hc-popup-close{align-self:flex-end;line-height:1}.hc-popup-button{padding:.25em .7em;background:#ff2d00;color:#ff0}.hc-cookie{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:.7em;padding:.5em .7em;font-size:.95em;background:#2b2b2b;color:#fff;border-top:2px solid #888}.hc-cookie-button{flex-shrink:0;padding:.15em .6em;font-weight:700;background:#00b300;border:2px outset #7bff7b}.blink{animation:hc-blink calc(.7s * var(--hc-speed)) steps(1) infinite}@keyframes hc-blink{0%,49.9%{opacity:1}50%,to{opacity:.15}}.junk{transition:transform calc(.52s * var(--hc-speed)) cubic-bezier(.55,0,.85,.35),opacity calc(.3s * var(--hc-speed)) linear,max-height calc(.42s * var(--hc-speed)) ease,margin calc(.42s * var(--hc-speed)) ease,padding calc(.42s * var(--hc-speed)) ease,border-width calc(.42s * var(--hc-speed)) ease}.junk.flow{overflow:hidden;max-height:11em}.blade{position:absolute;left:-30%;top:52%;width:160%;height:3px;background:var(--color-accent-hot);transform:rotate(-7deg) translate(-130%);opacity:0;transition:transform calc(1s * var(--hc-speed)) cubic-bezier(.4,0,.2,1),opacity calc(.12s * var(--hc-speed)) linear}.hero-cut.slice .blade{opacity:1;transform:rotate(-7deg) translate(130%)}.hero-cut.cut{background-color:var(--color-surface);background-image:none;color:var(--color-ink);font-family:var(--font-body)}.hero-cut.cut .hc-name{font-size:1.55em;font-weight:800;letter-spacing:-.02em;color:var(--color-ink);text-shadow:none}.hero-cut.cut .hc-menu span{color:var(--color-ink-soft);text-decoration:none}.hero-cut.cut .hc-menu .extra{opacity:0;max-width:0}.hero-cut.cut .hc-title{font-size:2.5em;font-weight:800;letter-spacing:-.03em;text-align:left;color:var(--color-ink);text-shadow:none}.hero-cut.cut .hc-lead{font-size:1.3em;text-align:left;color:var(--color-ink-soft)}.hero-cut.cut .hc-call{background:var(--color-accent);color:var(--color-surface);border:0 solid transparent;border-radius:8px;padding:.6em 1.1em;text-decoration:none}.hero-cut.cut .hc-phone,.hero-cut.cut .hc-itinerary,.hero-cut.cut .hc-foot{color:var(--color-ink-soft)}.hero-cut.cut .hc-cards,.hero-cut.cut .hc-cols{max-height:16em;opacity:1}.hero-cut.cut .hc-card{border-color:var(--color-line)}.hero-cut.cut .hc-card-label,.hero-cut.cut .hc-row,.hero-cut.cut .hc-addr{color:var(--color-ink)}.hero-cut.cut .hc-col-label{color:var(--color-ink-soft)}.hero-cut.cut .junk{opacity:0;border-width:0}.hero-cut.cut .junk.flow{max-height:0;margin:0;padding:0}.hero-cut.cut .hc-marquee,.hero-cut.cut .hc-promo,.hero-cut.cut .hc-carousel,.hero-cut.cut .hc-ad,.hero-cut.cut .hc-counter{transform:translateY(16em) rotate(4deg)}.hero-cut.cut .hc-cookie{transform:translateY(16em) rotate(-3deg)}.hero-cut.cut .hc-popup{transform:translate(-50%,16em) rotate(5deg);box-shadow:none}.hero-cut.cut .hc-chat{transform:translateY(16em) rotate(6deg)}.hero-cut.cut .hc-works{transform:translateY(16em) rotate(-22deg)}.hero-cut.cut .hc-marquee span,.hero-cut.cut .blink{animation:none}@media (prefers-reduced-motion: reduce){.hero-cut,.hero-cut *{animation:none!important;transition:none!important}}.projects{padding:6rem 0}.projectsInner{max-width:1200px;margin:0 auto;padding:0 1.5rem}.projectsTitle{margin:0 0 .75rem;font-family:var(--font-display);font-optical-sizing:auto;font-size:clamp(2rem,5vw,3.25rem);font-weight:800;line-height:1.05;letter-spacing:-.02em;color:var(--color-ink)}.projectsTitle:after{content:"";display:block;width:2.4em;height:.11em;margin:.28em 0 0;border-radius:999px;background:var(--color-accent);transform:rotate(-6.5deg)}.projectsSubtitle{margin:0 0 5rem;font-family:var(--font-body);font-size:1.0625rem;line-height:1.55;color:var(--color-ink-soft)}.projectRow{--enter-x: -32px;--frame-h: 320px;--tilt: -2deg;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4rem;align-items:center;margin-bottom:7rem}.projectRow:last-child{margin-bottom:0}.projectRow.reversed{--enter-x: 32px;--tilt: 2deg}.projectRow.reversed .projectVisual{order:2}.projectVisual{min-width:0;position:relative}.projectVisual:before{content:"";position:absolute;inset:0;z-index:0;transform:rotate(var(--tilt)) translate(-12px,12px);border:1px solid var(--color-accent);border-radius:12px;transition:transform .4s ease}.projectFrame{position:relative;z-index:1;transform:rotate(var(--tilt));transition:transform .4s ease}.projectFrame.browserFrame{border:2px solid var(--color-ink)}.projectFrame .browserFrameBar{border-bottom:2px solid var(--color-ink)}.projectFrame .browserFrameBody{aspect-ratio:auto;height:var(--frame-h);overflow:hidden}.projectFrame .browserFrameBody img{height:auto;object-fit:cover;transition:transform 2.5s ease-in-out}.projectRow:hover .projectFrame,.projectRow:focus-within .projectFrame{transform:rotate(var(--tilt)) translateY(-8px)}.projectRow:hover .projectVisual:before,.projectRow:focus-within .projectVisual:before{transform:rotate(var(--tilt)) translate(-6px,6px)}.projectRow:hover .projectFrame .browserFrameBody img,.projectRow:focus-within .projectFrame .browserFrameBody img{transform:translateY(min(0px,var(--frame-h) - 100%))}.projectBody{min-width:0}.projectStatus{display:inline-block;font-size:.8125rem;font-weight:600;letter-spacing:.01em;padding:.25rem .7rem;border-radius:999px;background:var(--color-surface);color:var(--color-accent)}.projectStatus--client{background:var(--color-accent-pale);color:var(--color-ink)}.projectName{margin:1.25rem 0 .35rem;font-family:var(--font-display);font-optical-sizing:auto;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;letter-spacing:-.02em;color:var(--color-ink)}.projectRole{margin:0 0 1.25rem;font-size:.9375rem;color:var(--color-ink-soft)}.projectText{margin:0 0 1.75rem;font-family:var(--font-body);font-size:1.0625rem;line-height:1.55;color:var(--color-ink-soft);max-width:46ch}.projectTags{list-style:none;padding:0;margin:0 0 1.75rem;display:flex;flex-wrap:wrap;gap:.6rem}.projectTags li{font-size:.8125rem;color:var(--color-ink);background:var(--color-surface);border:1px solid var(--color-line);border-radius:999px;padding:.3rem .8rem}.projectLink{display:inline-flex;align-items:center;gap:.4rem;color:var(--color-ink);text-decoration:underline;text-underline-offset:4px}.projectLink .projectArrow{transition:transform .25s ease}.projectLink:hover .projectArrow{transform:translate(3px,-3px)}.projectLink:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}.projectSlot{display:flex;align-items:center;justify-content:center;height:calc(var(--frame-h) + 28px);border:1.5px dashed var(--color-line);border-radius:12px;background:transparent;color:var(--color-ink-soft);font-size:.9375rem;transition:border-color .3s ease}.projectRow--cta:hover .projectSlot,.projectRow--cta:focus-within .projectSlot{border-color:var(--color-accent)}.projectCta{display:inline-block;padding:.9rem 1.6rem;border-radius:12px;background-color:var(--color-accent);color:var(--color-surface);font-weight:600;font-size:1rem;text-decoration:none;transition:background-color .25s ease}.projectCta:hover{background-color:var(--color-accent-hover)}.projectCta:focus-visible{outline:3px solid var(--color-ink);outline-offset:3px}.projectsInner.js-reveal .projectRow .projectVisual{opacity:0;transform:translate(var(--enter-x));transition:opacity .6s ease-out,transform .6s ease-out}.projectsInner.js-reveal .projectRow .projectBody{opacity:0;transform:translateY(24px);transition:opacity .6s ease-out .12s,transform .6s ease-out .12s}.projectsInner.js-reveal .projectRow.is-visible .projectVisual,.projectsInner.js-reveal .projectRow.is-visible .projectBody{opacity:1;transform:none}@media (max-width: 900px){.projectRow{--enter-x: 0px;--frame-h: 260px;grid-template-columns:1fr;gap:2rem;margin-bottom:4rem}.projectRow.reversed .projectVisual{order:0}.projectsInner.js-reveal .projectRow .projectVisual{transform:translateY(24px)}.projectsSubtitle{margin-bottom:3.5rem}}@media (max-width: 768px){.projectRow,.projectRow.reversed{--tilt: 0deg}}@media (max-width: 600px){.projectsInner{padding:0 1.25rem}.projectRow{--frame-h: 200px}}@media (prefers-reduced-motion: reduce){.projectsInner.js-reveal .projectRow .projectVisual,.projectsInner.js-reveal .projectRow .projectBody{opacity:1;transform:none;transition:none}.projectFrame,.projectVisual:before,.projectFrame .browserFrameBody img,.projectLink .projectArrow,.projectSlot,.projectCta{transition:none}.projectRow:hover .projectFrame,.projectRow:focus-within .projectFrame{transform:rotate(var(--tilt))}.projectRow:hover .projectVisual:before,.projectRow:focus-within .projectVisual:before{transform:rotate(var(--tilt)) translate(-12px,12px)}.projectRow:hover .projectFrame .browserFrameBody img,.projectRow:focus-within .projectFrame .browserFrameBody img{transform:none}}.contactSection{margin-top:150px;width:100%;background-color:var(--color-accent);color:var(--color-surface);padding-top:5rem;--cut-h: calc(100vw * .1228);padding-bottom:calc(4rem + var(--cut-h));clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut-h)),0 100%)}.contactSection h2{margin:0 0 .75rem;font-size:clamp(2rem,5vw,3.25rem);font-weight:800;line-height:1.05;letter-spacing:-.02em;color:var(--color-surface)}.contactSection h2:after{content:"";display:block;width:2.4em;height:.11em;margin:.28em 0 0;margin-inline:auto;border-radius:999px;background:var(--color-surface);transform:rotate(-6.5deg)}.contactInner{max-width:1200px;margin:0 auto;padding:0 1.5rem;text-align:center}.contactSubtitle{margin:0 0 2.5rem;font-size:1.0625rem;line-height:1.55;color:var(--color-surface)}.contactForm{max-width:500px;margin:0 auto;display:flex;flex-direction:column;gap:1.25rem;text-align:left}.contactForm label{display:block;margin-bottom:.4rem;font-family:var(--font-body);font-size:.875rem;font-weight:600;color:var(--color-surface)}.contactForm input,.contactForm textarea{width:100%;box-sizing:border-box;padding:.75rem;border:1px solid var(--color-line);border-radius:12px;font-family:var(--font-body);font-size:1rem;background-color:var(--color-surface);color:var(--color-ink)}.contactForm input::placeholder,.contactForm textarea::placeholder{color:var(--color-ink-soft);opacity:1}.contactForm input:focus,.contactForm textarea:focus{border-color:var(--color-ink)}.contactForm input:focus-visible,.contactForm textarea:focus-visible{outline:3px solid var(--color-ink);outline-offset:3px}.contactForm textarea{resize:vertical}.contactForm button{padding:.9rem;background-color:var(--color-surface);color:var(--color-ink);font-family:var(--font-body);font-weight:700;border:none;border-radius:12px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.contactForm button:hover{background-color:var(--color-accent-pale)}.contactForm button:focus-visible{outline:3px solid var(--color-ink);outline-offset:3px}.contactStatus{margin:0;font-size:1rem;line-height:1.55}.contactStatus:empty{display:none}.successMsg{color:var(--color-surface)}.errorMsg{color:var(--color-surface);font-weight:600}@media (max-width: 600px){.contactSection{margin-top:90px;padding-top:3.5rem;--cut-h: calc(100vw * .1228);padding-bottom:calc(2.5rem + var(--cut-h));clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut-h)),0 100%)}}@media (prefers-reduced-motion: reduce){.contactForm button{transition:none}}.contactHoneypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.apropos{padding:6rem 0}.aproposInner{max-width:1200px;margin:0 auto;padding:0 1.5rem;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:4rem;align-items:center}.aproposPhoto{position:relative;width:clamp(240px,30vw,380px)}.aproposPhoto:before{content:"";position:absolute;inset:0;z-index:0;transform:translate(-12px,12px);border:1px solid var(--color-accent);border-radius:12px}.aproposPhoto img{position:relative;z-index:1;display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:12px}.aproposContent{min-width:0}.aproposTitle{margin:0 0 .6rem;font-family:var(--font-display);font-optical-sizing:auto;font-size:clamp(2rem,5vw,3.25rem);font-weight:800;line-height:1.05;letter-spacing:-.02em;color:var(--color-ink)}.aproposTitle:after{content:"";display:block;width:2.4em;height:.11em;margin:.28em 0 0;border-radius:999px;background:var(--color-accent);transform:rotate(-6.5deg)}.aproposSubtitle{margin:0 0 1.75rem;font-family:var(--font-body);font-size:1.0625rem;font-weight:600;line-height:1.55;color:var(--color-accent);max-width:52ch}.aproposLead{margin:0 0 1.25rem;font-family:var(--font-body);font-size:1.1875rem;line-height:1.55;color:var(--color-ink);max-width:52ch}.aproposText{margin:0 0 1.25rem;font-family:var(--font-body);font-size:1.0625rem;line-height:1.55;color:var(--color-ink-soft);max-width:52ch}.aproposFacts{list-style:none;padding:0;margin:2.25rem 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 2rem;max-width:52ch}.aproposFacts li{position:relative;padding-left:1.1rem;font-size:.9375rem;color:var(--color-ink)}.aproposFacts li:before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;border-radius:50%;background:var(--color-accent)}.aproposFacts a{color:var(--color-ink);text-decoration:underline;text-underline-offset:3px;transition:color .25s ease}.aproposFacts a:hover{color:var(--color-accent)}.aproposFacts a:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.aproposTech{margin:2rem 0 0;padding-top:1.5rem;border-top:1px solid var(--color-line);font-size:.8125rem;color:var(--color-ink-soft);max-width:52ch}.aproposInner.js-reveal .reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease-out,transform .6s ease-out}.aproposInner.js-reveal .reveal.is-visible{opacity:1;transform:none}@media (max-width: 900px){.aproposInner{grid-template-columns:1fr;gap:2.5rem}.aproposPhoto{width:min(300px,100%)}}@media (max-width: 600px){.apropos{padding:4rem 0}.aproposInner{padding:0 1.25rem}.aproposFacts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem}}@media (prefers-reduced-motion: reduce){.aproposInner.js-reveal .reveal{opacity:1;transform:none;transition:none}.aproposFacts a{transition:none}}@property --hover-lift{syntax: "<length>"; initial-value: 0px; inherits: false;}.tarifsSection{padding:4rem 1rem;max-width:1200px;margin:0 auto;font-family:var(--font-body)}.tarifsTitle{font-size:clamp(2rem,5vw,3.25rem);margin:0 0 .75rem;font-weight:800;line-height:1.05;letter-spacing:-.02em;color:var(--color-ink)}.tarifsTitle:after{content:"";display:block;width:2.4em;height:.11em;margin:.28em 0 0;border-radius:999px;background:var(--color-accent);transform:rotate(-6.5deg)}.tarifsSubtitle{margin:0 0 3rem;font-size:1.0625rem;line-height:1.55;color:var(--color-ink-soft);max-width:55ch}.tarifsPin.pinned{height:calc(100vh + var(--pin-distance, 800px))}.tarifsPin.pinned .tarifsPinInner{position:sticky;top:0;height:100vh;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding-block:86px 1rem}.tarifsPin.pinned .tarifsPinContent{flex-shrink:0}.tarifsPin.pinned .tarifsSubtitle{margin-bottom:1.5rem}.tarifsPin.pinned .tarifsBanner{margin-top:1.75rem}.tarifsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;align-items:stretch}.tarifCard{--card-scale: 1;--hover-lift: 0px;box-sizing:border-box;display:flex;flex-direction:column;position:relative;text-align:left;background:var(--color-surface);border:1px solid var(--color-line);padding:1.75rem;border-radius:12px;color:var(--color-ink);opacity:0;transform:translateY(28px) scale(var(--card-scale));transition:opacity .6s ease,transform .6s ease,border-color .3s ease,--hover-lift .3s ease}.tarifCard .tarifHeader{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;margin-bottom:.75rem}.tarifCard h3{font-size:1.8rem;margin:0;min-height:2.1em}.tarifCard .price{font-family:var(--font-display);font-optical-sizing:auto;font-size:2.2rem;font-weight:700;color:var(--color-accent);font-variant-numeric:tabular-nums;line-height:1.1}.tarifCard .delivery{font-size:.9rem;font-weight:500;color:var(--color-ink-soft)}.tarifCard .subtitle{margin:0 0 1.25rem;font-weight:500;min-height:2.1em}.tarifCard .tarifIncluded{margin:0 0 .3rem;font-size:.8125rem;font-weight:600;color:var(--color-accent)}.tarifCard ul{list-style:none;padding:0;margin:0 0 1.5rem}.tarifCard ul li{margin:.3rem 0;position:relative;padding-left:1.5rem;font-size:.95rem}.tarifCard ul li:before{content:"✔";position:absolute;left:0;color:var(--color-accent);font-size:1rem}.tarifCard .tarifCta{margin-top:auto;display:block;width:100%;box-sizing:border-box;padding:.8rem 0;text-align:center;text-decoration:none;background-color:var(--color-accent);color:var(--color-surface);font-weight:700;border:2px solid transparent;border-radius:12px;cursor:pointer;font-size:1rem;transition:background .3s ease}.tarifCard .tarifCta:hover{background-color:var(--color-accent-hover)}.tarifCard .tarifCta:focus-visible{outline:3px solid var(--color-ink);outline-offset:3px}.tarifsGrid.visible .tarifCard{opacity:1;transform:translateY(var(--hover-lift)) scale(var(--card-scale))}.tarifsGrid.visible .tarifCard:nth-child(2){transition-delay:.12s}.tarifsGrid.visible .tarifCard:nth-child(3){transition-delay:.24s}.tarifCard.featured{--card-scale: 1.03;z-index:3;border:2px solid var(--color-accent);background:var(--color-surface)}.tarifCard.featured .badge{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);max-width:calc(100% - 2rem);text-align:center;background-color:var(--color-accent);color:var(--color-surface);font-size:.8rem;font-weight:600;padding:.3rem .7rem;border-radius:12px}.tarifCard:not(.featured) .tarifCta{background-color:transparent;border-color:var(--color-accent);color:var(--color-accent);transition:background .3s ease,color .3s ease,border-color .3s ease}.tarifCard:not(.featured) .tarifCta:hover{background-color:var(--color-accent);color:var(--color-surface)}.tarifsGrid.spread{--p: 0}.tarifsGrid.spread .tarifCard{opacity:1;transition:opacity .3s ease,border-color .3s ease,--hover-lift .3s ease;transition-delay:0s}.tarifsGrid.spread .tarifCard:first-child,.tarifsGrid.spread .tarifCard:last-child{z-index:1;opacity:calc(.7 + .3 * var(--p))}.tarifsGrid.spread .tarifCard:first-child{transform:translate(calc((100% + 2.5rem - 120px) * (1 - var(--p)))) translateY(calc(40px * (1 - var(--p)) + var(--hover-lift))) rotate(calc(-7deg * (1 - var(--p)))) scale(calc(.94 + .06 * var(--p)))}.tarifsGrid.spread .tarifCard:last-child{transform:translate(calc((-100% - 2.5rem + 120px) * (1 - var(--p)))) translateY(calc(40px * (1 - var(--p)) + var(--hover-lift))) rotate(calc(7deg * (1 - var(--p)))) scale(calc(.94 + .06 * var(--p)))}.tarifsGrid.spread .tarifCard.featured{transform:translateY(var(--hover-lift)) scale(var(--card-scale))}@media (hover: hover){.tarifsGrid.visible .tarifCard:hover,.tarifsGrid.spread .tarifCard:hover{--hover-lift: -8px;border-color:var(--color-accent);z-index:4}}.tarifsBanner{margin-top:5rem;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.tarifsBannerTrack{display:flex;width:max-content;list-style:none;padding:0;margin:0;font-size:.9rem;color:var(--color-ink-soft);animation:tarifsMarquee 45s linear infinite}.tarifsBannerTrack li{padding-right:3.5rem;white-space:nowrap}.tarifsBannerTrack:hover{animation-play-state:paused}@keyframes tarifsMarquee{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}@media (max-width: 900px){.tarifsGrid{grid-template-columns:1fr;gap:2rem}.tarifCard.featured{--card-scale: 1;order:-1}}@media (max-width: 600px){.tarifsTitle{font-size:2rem}.tarifCard{padding:2rem 1.5rem}.tarifsBanner{margin-top:4.5rem}.tarifsBannerTrack li{padding-right:2.5rem}}@media (prefers-reduced-motion: reduce){.tarifCard{opacity:1;transform:none;transition:border-color .3s ease}.tarifsGrid.visible .tarifCard,.tarifsGrid.visible .tarifCard:hover,.tarifsGrid.spread .tarifCard,.tarifsGrid.spread .tarifCard:first-child,.tarifsGrid.spread .tarifCard:last-child{transform:none;opacity:1}.tarifsBanner{-webkit-mask-image:none;mask-image:none;overflow:visible}.tarifsBannerTrack{animation:none;width:100%;flex-wrap:wrap;justify-content:center;gap:2rem}.tarifsBannerTrack li{padding-right:0;white-space:normal}.tarifsBannerTrack .bannerClone{display:none}}.faqSection{padding:4rem 1rem;max-width:900px;margin:0 auto;text-align:center;font-family:var(--font-body);color:var(--color-ink)}.faqTitle{font-size:clamp(2rem,5vw,3.25rem);font-weight:800;line-height:1.05;letter-spacing:-.02em;margin-bottom:1.5rem}.faqTitle:after{content:"";display:block;width:2.4em;height:.11em;margin:.28em 0 0;margin-inline:auto;border-radius:999px;background:var(--color-accent);transform:rotate(-6.5deg)}.faqContainer{display:flex;flex-direction:column;gap:1rem}.faqItem{background:var(--color-surface);border:1px solid var(--color-line);border-radius:12px;overflow:hidden;transition:all .3s ease}.faqItem .faqQuestion{position:relative;width:100%;text-align:left;padding:1.25rem 1.5rem 3rem;border:none;outline:none;cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;font-weight:600;font-size:1.1rem;color:var(--color-ink);background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.faqItem .faqQuestion:before,.faqItem .faqQuestion:after{content:"";position:absolute;left:0;bottom:0;width:200%;background-color:var(--color-accent);-webkit-mask-repeat:repeat-x;mask-repeat:repeat-x;-webkit-mask-size:50% 100%;mask-size:50% 100%;pointer-events:none}.faqItem .faqQuestion:before{height:2.6rem;opacity:.45;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0,62 C150,18 250,106 400,62 C550,18 650,106 800,62 C950,18 1050,106 1200,62 L1200,120 L0,120 Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0,62 C150,18 250,106 400,62 C550,18 650,106 800,62 C950,18 1050,106 1200,62 L1200,120 L0,120 Z'/%3E%3C/svg%3E");animation:faqWaveBack 13s linear infinite}.faqItem .faqQuestion:after{height:2.1rem;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0,60 C150,22 250,98 400,60 C550,22 650,98 800,60 C950,22 1050,98 1200,60 L1200,120 L0,120 Z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0,60 C150,22 250,98 400,60 C550,22 650,98 800,60 C950,22 1050,98 1200,60 L1200,120 L0,120 Z'/%3E%3C/svg%3E");animation:faqWaveFront 9s linear infinite}.faqItem .faqQuestion:focus-visible{outline:3px solid var(--color-accent);outline-offset:-3px}.faqItem .faqQuestion .faqQuestionText,.faqItem .faqQuestion .arrow{position:relative;z-index:1}.faqItem .faqQuestion .arrow{transition:transform .3s ease}.faqItem .faqAnswer{font-size:.95rem;line-height:1.5;background:var(--color-accent);color:var(--color-surface);max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease}.faqItem.open .faqAnswer{max-height:500px;padding:1.25rem 1.5rem 1.5rem}.faqItem.open .faqQuestion .arrow{transform:rotate(180deg)}@keyframes faqWaveFront{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}@keyframes faqWaveBack{0%{transform:translate3d(-50%,0,0)}to{transform:translateZ(0)}}@media (max-width: 600px){.faqSection{padding:3rem 1rem}.faqTitle{font-size:2rem}.faqItem .faqQuestion{font-size:1rem;padding:1rem 1rem 2.6rem}.faqItem .faqQuestion:before{height:2rem}.faqItem .faqQuestion:after{height:1.6rem}.faqItem .faqAnswer{font-size:.9rem}.faqItem.open .faqAnswer{padding:1rem 1rem 1.25rem}}@media (prefers-reduced-motion: reduce){.faqItem .faqQuestion:before,.faqItem .faqQuestion:after{animation:none}}.introAxe{position:fixed;inset:0;z-index:9999;pointer-events:none}.introAxe__half{position:absolute;inset:0;background:var(--color-accent-hot);will-change:transform}.introAxe__half--top{clip-path:polygon(0 0,100% 0,100% 44.4%,0 56.4%)}.introAxe__half--bottom{clip-path:polygon(0 55.6%,100% 43.6%,100% 100%,0 100%)}.introAxe__cut{position:absolute;inset:0;width:100%;height:100%}.introAxe__cut path{fill:none;stroke:var(--color-surface);stroke-width:4;stroke-linecap:round;stroke-dasharray:10000;stroke-dashoffset:10000}.introAxe__axe{--w: min(34vw, 190px);position:absolute;left:calc(50% - var(--w) * .5);top:calc(50% - var(--w) * .31);width:var(--w);height:var(--w);transform-origin:50% 31%;opacity:0}.introAxe__spin{width:100%;height:100%;transform-origin:50% 31%}.introAxe__spin svg{display:block;width:100%;height:100%}
