@font-face{font-family:Onest;src:url('/fonts/Onest.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--bg:#151614;--ink:#f2f2ec;--muted:#b4b5ad;--line:#3d3f38;--accent:#9aafff;--blue:#2649dc;--font:Onest,Arial,sans-serif;--pad:clamp(22px,4.5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.65 var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}button{color:inherit}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:6px}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5}.wrap{width:min(1600px,100%);margin-inline:auto;padding-inline:var(--pad)}.skip{position:fixed;z-index:100;top:10px;left:15px;padding:10px 20px;background:var(--ink);color:var(--bg);transform:translateY(-180%)}.skip:focus{transform:none}.header{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;gap:40px;min-height:98px}.brand{display:inline-flex;gap:12px;align-items:center;flex-shrink:0}.brand>span{font-size:1.15rem;font-weight:650;line-height:1;letter-spacing:.012em}.brand small{display:block;font-size:.75rem;font-weight:450;letter-spacing:.12em;margin-top:7px}.brand-mark{width:30px;height:30px;color:var(--accent);stroke-width:1.8}.brand-mark .core{fill:currentColor;stroke:none}.header nav{display:flex;align-items:center;gap:32px;margin-left:auto;font-size:.875rem}.header nav a{padding-block:12px}.header nav a:hover,.language:hover{color:var(--accent)}.nav-contact{margin-left:25px;border-bottom:1px solid var(--ink)}.nav-tools{display:flex;align-items:center;gap:20px}.language{font-size:.875rem;padding:12px 0}.menu{display:none}.eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:.75rem;font-weight:500;line-height:1.5}.hero{padding-top:44px;padding-bottom:88px}.hero-meta{display:flex;justify-content:space-between}.hero h1{font-size:clamp(3.5rem,7.85vw,7.7rem);font-weight:440;line-height:1.05;letter-spacing:-.065em;margin-top:45px;margin-bottom:60px}.hero h1 span{color:#a9ada2}.hero-bottom{display:grid;grid-template-columns:1fr 1.85fr;gap:7vw;align-items:start}.hero-copy{padding-top:7px;max-width:355px}.hero-copy h2{font-size:1.375rem;font-weight:450;line-height:1.45;letter-spacing:-.035em}.hero-copy>p{color:var(--muted);margin-top:20px;line-height:1.75}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--accent);color:#141820;min-height:56px;padding:15px 24px;font-weight:550;font-size:.9375rem;border:1px solid transparent;border-radius:2px;transition:background .18s}.button:hover{background:#c2ceff}.button:focus-visible{outline-offset:5px}.hero-copy .button{margin-top:30px;width:100%}.quiet-link{display:table;margin-top:17px;font-size:.875rem;padding-bottom:2px;border-bottom:1px solid #73786b}.quiet-link:hover,.text-link:hover,.email:hover{color:var(--accent)}.hero-project{min-width:0}.preview-link{display:block;position:relative;background:#e6e9dd;overflow:hidden}.preview-link>img{width:100%;aspect-ratio:1.44;object-fit:cover}.preview-action{position:absolute;bottom:0;right:0;background:var(--ink);color:var(--bg);display:flex;align-items:center;gap:26px;padding:16px 22px;font-size:.875rem;transition:background .18s}.preview-link:hover .preview-action{background:var(--accent)}figcaption{display:flex;justify-content:space-between;gap:20px;font-size:.75rem;padding-top:14px;color:var(--muted)}figcaption span:first-child{color:var(--ink);flex-shrink:0}figcaption span:last-child{text-align:right;max-width:230px}.section{padding-block:110px;border-top:1px solid var(--line);scroll-margin-top:10px}.section-heading{display:grid;grid-template-columns:1fr 1.85fr;gap:7vw;margin-bottom:60px}.section-heading .eyebrow{padding-top:8px}h2{font-size:clamp(2.25rem,4.4vw,4.5rem);line-height:1.12;letter-spacing:-.055em;font-weight:440}.section-intro{max-width:450px;font-size:1.0625rem;line-height:1.75;color:var(--muted);margin-top:25px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.project-image{display:block;position:relative;overflow:hidden;background:#ddd}.rive-project{margin-top:85px}.project-image img{width:100%;aspect-ratio:1.22;object-fit:cover;transition:filter .2s}.ligne-project .project-image img{aspect-ratio:1.44}.project-open{display:flex;justify-content:space-between;gap:20px;align-items:center;background:var(--ink);color:var(--bg);font-size:.875rem;padding:15px 20px;transition:background .2s}.project-open>span{font-size:1.4rem;line-height:1}.project-image:hover .project-open{background:var(--accent)}.project-caption{display:grid;grid-template-columns:1fr auto;gap:3px 15px;margin-top:19px}.project-caption h3{font-size:1.375rem;font-weight:500;letter-spacing:-.035em}.project-caption p{grid-column:1;font-size:.875rem;color:var(--muted)}.project-caption>span{grid-column:2;grid-row:1/3;align-self:center;font-size:.75rem;color:var(--muted)}.demo-note{font-size:.8125rem;color:var(--muted);margin-top:45px;max-width:580px}.offer{background:#1c1e1a}.offer-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:10vw}.offer h2{margin-top:30px}.offer .section-intro{max-width:350px}.text-link{display:table;font-size:.9375rem;border-bottom:1px solid currentColor;padding-bottom:6px;margin-top:27px}.service{border-top:1px solid #55594d}.service:last-of-type{border-bottom:1px solid #55594d}.service summary{padding:27px 0;display:flex;justify-content:space-between;align-items:center;gap:30px;cursor:pointer;font-size:1.25rem;line-height:1.45;letter-spacing:-.03em;list-style:none}.service summary::-webkit-details-marker{display:none}.service summary:hover{color:var(--accent)}.plus{position:relative;flex-shrink:0;width:18px;height:18px}.plus:before,.plus:after{content:'';position:absolute;background:currentColor;left:0;top:8px;width:18px;height:1px}.plus:after{transform:rotate(90deg)}details[open] .plus:after{transform:rotate(0)}.service>p{color:var(--muted);max-width:540px;padding:0 38px 28px 0;line-height:1.8}.scope-note{color:var(--ink);font-size:.875rem;margin-top:25px}.extra{color:var(--muted);font-size:.875rem;margin-top:14px;max-width:520px}.steps{display:grid;grid-template-columns:1fr 1fr 1fr;gap:55px;margin-top:50px}.step{border-top:2px solid var(--accent);padding-top:25px}.step h3{font-size:1.35rem;font-weight:450;line-height:1.4;letter-spacing:-.025em;max-width:300px}.step p{color:var(--muted);margin-top:17px;max-width:355px}.studio{background:#dfe4d7;color:#20251f}.studio-grid{display:grid;grid-template-columns:1fr 1.85fr;gap:7vw}.studio h2{max-width:880px}.studio-copy{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:36px;color:#424a3f;max-width:860px}.signature{margin-top:38px;padding-top:25px;border-top:1px solid #a7b09f;display:flex;flex-direction:column;gap:4px}.signature>span{font-size:1.25rem;letter-spacing:-.035em}.signature small{font-size:.8125rem;color:#424a3f}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.contact h2{margin-top:30px;font-size:clamp(2.7rem,4.8vw,5rem)}.contact h2 span{color:var(--accent)}.email{display:inline-block;border-bottom:1px solid #858c78;margin-top:35px;font-size:1.125rem;overflow-wrap:anywhere}.contact-small{font-size:.875rem;color:var(--muted);max-width:335px;margin-top:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.field{display:flex;flex-direction:column;gap:10px;margin-bottom:23px}.field label{font-size:.875rem}.field label span{color:var(--muted)}input,select,textarea{width:100%;min-width:0;border:1px solid #616659;border-radius:2px;background:#1c1e1a;color:var(--ink);padding:13px 14px;min-height:51px;transition:border-color .2s}input:hover,select:hover,textarea:hover{border-color:#a2ab94}input:focus,select:focus,textarea:focus{border-color:var(--accent)}textarea{resize:vertical;min-height:130px}input::placeholder,textarea::placeholder{color:#a3a69b;opacity:1}select{cursor:pointer}button:disabled{cursor:wait;opacity:.65}.submit{width:100%}.privacy{font-size:.8125rem;color:var(--muted);margin-top:15px}.form-status{line-height:1.65;font-size:.9375rem}.form-status:not(:empty){padding:18px;border:1px solid var(--accent);margin-top:20px}.form-status.error{border-color:#d6a398}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-block:26px;font-size:.8125rem;color:var(--muted)}.footer a{padding:8px 0}.footer a:hover{color:var(--ink)}
@media(min-width:1600px){.hero-bottom,.section-heading,.studio-grid{gap:110px}.offer-grid,.contact-grid{gap:150px}}@media(max-width:1100px){.header-inner{gap:24px}.header nav{gap:20px}.nav-contact{margin-left:0}.hero h1{font-size:7.6vw}.hero-bottom{gap:40px;grid-template-columns:1fr 1.5fr}.hero-copy h2{font-size:1.25rem}.hero-project figcaption{flex-direction:column;gap:4px}.hero-project figcaption span:last-child{text-align:left;max-width:none}.section{padding-block:85px}.offer-grid,.contact-grid{gap:60px}.project-grid{gap:28px}.steps{gap:30px}.studio-copy{gap:25px}}@media(max-width:820px){.header-inner{min-height:80px;justify-content:space-between}.header nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);padding:15px var(--pad) 28px;flex-direction:column;align-items:stretch;gap:0;font-size:1.125rem}.header nav.open{display:flex}.header nav a{padding:15px 0}.header nav .nav-contact{border-bottom:0;color:var(--accent)}.menu{display:flex;flex-direction:column;justify-content:center;gap:7px;background:none;border:1px solid #64685c;border-radius:2px;width:44px;height:44px;padding:11px}.menu span{height:1px;width:20px;background:var(--ink);transition:transform .2s}.menu[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero{padding-top:30px;padding-bottom:60px}.hero h1{font-size:8vw;margin-top:32px;margin-bottom:38px;letter-spacing:-.065em}.hero-bottom{grid-template-columns:1fr;gap:40px}.hero-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;max-width:none}.hero-copy h2{font-size:1.375rem}.hero-copy>p{margin:0;grid-column:2;grid-row:1/4}.hero-copy .button{width:max-content;margin-top:23px}.quiet-link{margin-top:16px}.hero-project{max-width:100%}.hero-project figcaption{flex-direction:row;gap:20px}.hero-project figcaption span:last-child{text-align:right;max-width:250px}.section-heading,.studio-grid{grid-template-columns:1fr;gap:25px}.section-heading{margin-bottom:40px}.section-heading .eyebrow{padding:0}.section-heading h2 br{display:none}.section-intro{max-width:550px}.offer-grid{grid-template-columns:1fr;gap:40px}.offer h2 br{display:none}.offer .section-intro{max-width:550px}.offer h2{margin-top:22px}.steps{grid-template-columns:1fr;gap:30px;margin-top:35px}.step{display:grid;grid-template-columns:1fr 1.4fr;gap:30px}.step p{margin-top:0;max-width:none}.contact-grid{grid-template-columns:1fr;gap:45px}.contact h2{font-size:3.5rem}.contact-small{max-width:420px}.contact .section-intro{max-width:480px}.contact h2 br{display:none}.studio-copy{gap:35px}.rive-project{margin-top:50px}.project-caption{display:block}.project-caption p{margin-top:5px}.project-caption>span{display:block;margin-top:5px}}@media(max-width:540px){html{scroll-padding-top:96px}.brand>span{font-size:1rem}.brand small{font-size:.625rem;letter-spacing:.11em}.brand-mark{width:27px;height:27px}.brand{gap:9px}.nav-tools{gap:20px}.hero-meta{gap:20px}.eyebrow{font-size:.75rem;letter-spacing:.06em}.location{display:none}.hero h1{font-size:clamp(2.35rem,8.6vw,3rem);line-height:1.13;margin-top:29px;margin-bottom:32px;letter-spacing:-.055em}.hero h1 span{display:block;max-width:350px}.hero h1 br{display:none}.hero-copy{display:block;max-width:410px}.hero-copy h2{font-size:1.25rem}.hero-copy>p{margin-top:18px;font-size:1rem}.hero-copy .button{margin-top:24px;width:100%}.quiet-link{margin-top:16px}.hero-bottom{gap:35px}.preview-action{font-size:.8125rem;padding:12px 14px;gap:15px}.preview-action svg{width:20px}.hero-project figcaption{flex-direction:column;gap:5px}.hero-project figcaption span:last-child{text-align:left;max-width:none}.section{padding-block:60px}h2{font-size:2.25rem;line-height:1.15}.section-intro{font-size:1rem;margin-top:20px}.project-grid{grid-template-columns:1fr;gap:36px}.rive-project{margin-top:0}.project-caption{display:grid;grid-template-columns:1fr auto}.project-caption>span{margin:0}.project-caption h3{font-size:1.25rem}.demo-note{margin-top:28px}.service summary{font-size:1.125rem;gap:20px;padding:22px 0}.service>p{padding-right:0}.step{display:block}.step h3{font-size:1.25rem;max-width:none}.step p{margin-top:12px}.studio-copy{grid-template-columns:1fr;gap:20px;margin-top:25px}.signature{margin-top:28px}.contact h2{font-size:2.6rem;max-width:380px}.contact h2 br{display:block}.contact h2 span{display:block}.email{font-size:1rem;margin-top:25px}.form-row{grid-template-columns:1fr;gap:0}.footer{align-items:flex-start;flex-direction:column;gap:6px;font-size:.75rem;padding-block:20px}.footer a{padding:5px 0}.preview-link>img{aspect-ratio:1.25;object-fit:cover;object-position:top}.contact-small{margin-top:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}@media(forced-colors:active){.button{border:1px solid ButtonText}.plus:before,.plus:after{background:ButtonText}}@media print{.header,.menu,.contact form,.preview-action,.project-open,.footer a{display:none}body{background:white;color:black}.section{padding-block:30px}.hero{padding-top:0}.hero h1{font-size:3rem}.hero-bottom{display:block}.hero-copy{max-width:none}.hero-project{margin-top:30px}.section-intro,.hero-copy>p,.demo-note,.project-caption p,.step p,.contact-small{color:#333}.offer,.studio{background:white}.project-grid{break-inside:avoid}a{color:inherit}}
.nav-contact{border-bottom:0;background:#242720;padding:11px 17px!important;border-radius:2px}.header nav .nav-contact:hover{background:#30352a;color:var(--ink)}
@media(max-width:820px){.header nav .nav-contact{background:none;padding:15px 0!important}}
.preview-link>img,.project-image img,.ligne-project .project-image img{height:auto;aspect-ratio:auto;object-fit:contain}
.rive-project .project-image{background:#c7d1be;padding:32px 28px 0}.rive-project .project-image img{width:58%;margin-inline:auto}.rive-project .project-open{margin:28px -28px 0}
@media(max-width:540px){.rive-project .project-image{padding:26px 22px 0}.rive-project .project-image img{width:65%}.rive-project .project-open{margin:25px -22px 0}}
@media(max-width:820px){html:not(.has-js) .header{position:static}html:not(.has-js) .header-inner{flex-wrap:wrap;padding-block:20px}html:not(.has-js) .header nav{display:flex;position:static;order:3;flex:1 0 100%;padding:0;border:0}html:not(.has-js) .menu{display:none}}
.hero-bottom>*,.section-heading>*,.offer-grid>*,.studio-grid>*,.contact-grid>*,.project-grid>*{min-width:0}h1,h2,h3{overflow-wrap:break-word}.header-inner{flex-wrap:wrap}.nav-tools{margin-left:auto}.header nav{flex-wrap:wrap}html{scroll-padding-top:var(--header-offset,110px)}
@media(max-width:540px){.header-inner{gap:14px;padding-block:16px}}
.button{background:#3355e3;color:#fff}.button:hover{background:#4266f0}.studio{background:#e8e9e3;color:#252623}.studio-copy,.signature small{color:#484b42}.signature{border-color:#aaada3}.hero h1 span{color:#a9aba5}
.section{scroll-margin-top:0}
.expanded-portfolio{gap:60px 36px}.portfolio-project{margin:0}.portfolio-project:nth-child(even){margin-top:55px}.portfolio-project .project-image{padding:0;background:#222}.portfolio-project .project-image img{width:100%;height:auto;aspect-ratio:auto;margin:0}.portfolio-project .project-open{margin:0}.project-description{font-size:.875rem;color:var(--muted);margin-top:12px;max-width:450px;line-height:1.65}
@media(max-width:700px){.expanded-portfolio{grid-template-columns:1fr;gap:36px}.portfolio-project:nth-child(even){margin-top:0}}
