@font-face{font-family:"Noto Serif Display";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/noto-serif-display-latin-500-normal.woff2") format("woff2")}@font-face{font-family:"Noto Serif Display";font-style:italic;font-weight:500;font-display:swap;src:url("fonts/noto-serif-display-latin-500-italic.woff2") format("woff2")}@font-face{font-family:"Noto Serif";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/noto-serif-latin-400-normal.woff2") format("woff2")}@font-face{font-family:"Noto Serif";font-style:italic;font-weight:400;font-display:swap;src:url("fonts/noto-serif-latin-400-italic.woff2") format("woff2")}@font-face{font-family:"Noto Serif";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/noto-serif-latin-500-normal.woff2") format("woff2")}@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/poppins-latin-400-normal.woff2") format("woff2")}@font-face{font-family:"Poppins";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/poppins-latin-500-normal.woff2") format("woff2")}@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/poppins-latin-600-normal.woff2") format("woff2")}:root{--paper:#f5efe3;--paper-2:#ebe2cf;--ink:#1c1a17;--ink-2:#5d564b;--ink-3:#6b6357;--rule:#d9cfbd;--yellow:#fab03b;--yellow-2:#f7a21f;--coral:#e06361;--red:#b33a38;--white:#fffdf8;--display:"Noto Serif Display","Noto Serif","Bookman Old Style",Georgia,serif;--serif:"Noto Serif","Bookman Old Style",Georgia,serif;--sans:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;--tag:0 0 clamp(40px,7vw,120px) 0;--tag-m:0 0 24px 0;--tag-s:0 0 12px 0;--ease:cubic-bezier(.2,.7,.1,1);color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased;background-image:url("img/grain.webp");background-size:160px}.wrap{max-width:1280px;margin:0 auto;padding-inline:clamp(16px,4vw,48px)}h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.06;margin:0;text-wrap:balance;letter-spacing:-.015em}p{margin:0}a{color:inherit}img{display:block;max-width:100%;height:auto}:focus-visible{outline:3px solid var(--red);outline-offset:3px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{display:inline-flex;align-items:center;gap:10px;font:500 0.9375rem var(--sans);text-decoration:none;padding:14px 24px;border-radius:var(--tag-s);border:2px solid var(--ink);color:var(--ink);background:transparent;cursor:pointer;transition:transform .25s var(--ease),background .25s,color .25s}.btn:hover{transform:translateY(-2px)}.btn.dark{background:var(--ink);color:var(--white)}.btn.dark:hover{background:#000}.btn.yellow{background:var(--yellow);border-color:var(--yellow)}.btn svg{width:16px;height:16px;flex:none;transition:transform .25s var(--ease)}.btn:hover svg{transform:translateX(3px)}.header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;transition:background .3s,box-shadow .3s}.header::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;transition:background .3s,box-shadow .3s}.header.scrolled::before{background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--rule)}.header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px}.logo{display:flex;align-items:center;gap:12px;text-decoration:none}.logo img{width:28px}.logo b{font-family:var(--display);font-weight:500;font-size:1.1875rem;letter-spacing:-.01em}.menu{display:flex;align-items:center;gap:6px}.menu a.nav{position:relative;text-decoration:none;font-size:0.9375rem;font-weight:500;padding:8px 14px}.menu a.nav::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;background:var(--coral);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.menu a.nav:hover::after,.menu a.nav[aria-current="page"]::after{transform:scaleX(1)}.menu a.nav[aria-current="page"]::after{background:var(--ink)}.menu .btn{margin-left:12px;padding:10px 18px}.burger{display:none;width:44px;height:44px;border:0;background:var(--ink);border-radius:var(--tag-s);cursor:pointer;position:relative}.burger span,.burger::before,.burger::after{content:"";position:absolute;left:12px;right:12px;height:2px;background:var(--white);transition:transform .3s var(--ease),opacity .2s}.burger::before{top:15px}.burger span{top:21px}.burger::after{top:27px}.menu-open .burger::before{transform:translateY(6px) rotate(45deg)}.menu-open .burger span{opacity:0}.menu-open .burger::after{transform:translateY(-6px) rotate(-45deg)}@media (max-width:880px){.burger{display:block;z-index:2}.menu{position:fixed;inset:0;background:var(--yellow);flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:0 28px;transform:translateY(-100%);transition:transform .45s var(--ease);visibility:hidden}.menu-open .menu{transform:none;visibility:visible}body.menu-open{overflow:hidden}.menu a.nav{font-family:var(--display);font-size:clamp(2.5rem,11vw,4rem);padding:4px 0}.menu a.nav::after{left:0;right:0}.menu .btn{margin:28px 0 0}}.hero{padding-block:clamp(12px,2vw,24px) 0}.hero{padding-bottom:clamp(32px,5vw,64px)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center;min-height:min(78vh,760px)}.hero h1{font-size:clamp(2.5rem,6.6vw,6.5rem);line-height:1}.hero-grid>div:first-child{container-type:inline-size;min-width:0}@supports (font-size:1cqi){.hero h1{font-size:clamp(2.5rem,15.5cqi,6.5rem)}}.hero h1 .role{display:block;font-style:italic;color:var(--red);font-size:.72em;margin-top:.12em}.caret{display:inline-block;width:.05em;height:.8em;background:currentColor;margin-left:.05em;vertical-align:-.02em;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.hero .lede{margin-top:clamp(20px,2.5vw,32px);max-width:46ch;font-size:clamp(1rem,1.35vw,1.1875rem);color:var(--ink-2)}.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(24px,3vw,36px)}.status{display:inline-flex;align-items:center;gap:10px;font-size:0.875rem;font-weight:500;background:var(--white);border:1px solid var(--rule);padding:7px 14px 7px 12px;border-radius:var(--tag-s);margin-bottom:clamp(18px,2.5vw,28px)}.status i{width:8px;height:8px;border-radius:50%;background:#2f9e54;box-shadow:0 0 0 0 rgba(47,158,84,.5)}@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(47,158,84,0)}100%{box-shadow:0 0 0 0 rgba(47,158,84,0)}}.showcase{position:relative;aspect-ratio:5/5.4;background:var(--yellow);border-radius:var(--tag);overflow:hidden;isolation:isolate}.showcase::before{content:"";position:absolute;right:-6%;top:-8%;width:62%;aspect-ratio:3/4;background:url("img/bjp-logo-white.png") center/contain no-repeat;opacity:.22;z-index:-1}.layer{position:absolute;transition:transform .6s var(--ease)}.layer.l1{left:7%;top:13%;width:76%;transform:translate(calc(var(--mx,0)*-14px),calc(var(--my,0)*-10px)) rotate(-4deg)}.layer.l2{right:7%;top:30%;width:24%;transform:translate(calc(var(--mx,0)*22px),calc(var(--my,0)*16px)) rotate(5deg)}.layer.l3{left:6%;bottom:9%;width:58%;transform:translate(calc(var(--mx,0)*10px),calc(var(--my,0)*12px)) rotate(2.5deg)}.layer .lap{border:8px solid #1f1e1c;border-bottom-width:12px;border-radius:12px 12px 0 0;aspect-ratio:16/10;overflow:hidden;background:#000;box-shadow:0 30px 60px rgba(60,35,0,.35)}.layer .lap img,.layer .ph img{width:100%;height:100%;object-fit:cover;object-position:top}.layer .lapbase{height:11px;margin-inline:-6%;background:linear-gradient(#e2e0dc,#a9a6a0);border-radius:0 0 14px 14px}.layer .ph{aspect-ratio:9/18.5;border:5px solid #1f1e1c;border-radius:22px;overflow:hidden;background:#000;box-shadow:0 30px 50px rgba(60,35,0,.35)}.layer .card-s{background:#fff;padding:6px;box-shadow:0 24px 50px rgba(60,35,0,.28);border-radius:var(--tag-m)}@media (max-width:900px){.hero-grid{grid-template-columns:1fr;min-height:0;padding-block:24px}.showcase{aspect-ratio:5/4.4}}.section{padding-block:clamp(64px,9vw,128px)}.head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:20px 40px;margin-bottom:clamp(28px,4vw,48px)}.head h2{font-size:clamp(2.25rem,5vw,4.25rem)}.head h2 em{font-style:italic;color:var(--red)}.head p{color:var(--ink-2);max-width:44ch}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(36px,5vw,64px) clamp(18px,2.4vw,32px)}.card{grid-column:span 6;text-decoration:none;display:grid;gap:18px;align-content:start}.grid:not(.filtered) .card.w7{grid-column:span 7}.grid:not(.filtered) .card.w5{grid-column:span 5}.grid:not(.filtered) .card.w5 .stage{aspect-ratio:auto;height:100%;min-height:0}.grid:not(.filtered) .card.w5{grid-template-rows:1fr auto}@media (max-width:600px){.card,.grid:not(.filtered) .card.w7,.grid:not(.filtered) .card.w5{grid-column:1/-1}.grid:not(.filtered) .card.w5 .stage{aspect-ratio:16/11;height:auto}}.card[hidden]{display:none}.card .info{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 20px;align-items:start}.card h3{overflow-wrap:break-word;font-size:clamp(1.375rem,2.1vw,1.875rem);transition:color .25s}.card .num{font-family:var(--display);font-size:0.9375rem;color:var(--ink-3);padding-top:6px}.card .tags{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px}.card .tags span{font-size:0.8125rem;color:var(--ink-2);border:1px solid var(--rule);padding:2px 10px;border-radius:var(--tag-s)}.card:hover h3{color:var(--red)}.stage{position:relative;aspect-ratio:16/11;border-radius:var(--tag-m);overflow:hidden}.stage-in{position:absolute;inset:0;transition:transform .8s var(--ease)}.card:hover .stage-in{transform:scale(1.04)}.cta-pill{position:absolute;left:18px;bottom:18px;z-index:2;display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--white);font-size:0.875rem;font-weight:500;padding:10px 16px;border-radius:var(--tag-s);transform:translateY(12px);opacity:0;transition:transform .35s var(--ease),opacity .35s}.card:hover .cta-pill,.card:focus-visible .cta-pill{transform:none;opacity:1}@media (hover:none){.cta-pill{transform:none;opacity:1}}.laptop{position:absolute;left:8%;width:70%;bottom:13%}.laptop .scr{aspect-ratio:16/10;border:clamp(4px,.6vw,9px) solid #1f1e1c;border-bottom-width:clamp(6px,.9vw,13px);border-radius:10px 10px 0 0;overflow:hidden;background:#000;box-shadow:0 24px 50px rgba(0,0,0,.25)}.laptop .scr img{width:100%;height:100%;object-fit:cover;object-position:top}.laptop::after{content:"";display:block;height:clamp(6px,.9vw,12px);margin-inline:-7%;background:linear-gradient(#dcdad6,#a9a6a0);border-radius:0 0 14px 14px}.phone{position:absolute;right:8%;bottom:8%;width:20%;aspect-ratio:9/18.5;border:clamp(3px,.45vw,6px) solid #1f1e1c;border-radius:clamp(12px,1.8vw,24px);overflow:hidden;background:#000;box-shadow:0 18px 40px rgba(0,0,0,.3)}.phone img{width:100%;height:100%;object-fit:cover;object-position:top}.sheet{position:absolute;box-shadow:0 18px 40px rgba(40,30,10,.2);background:#fff;padding:5px;border-radius:var(--tag-s)}.s-ely{background:var(--ink)}.s-chalet{background:#d9c9ab}.s-ratp{background:#e4d7bf}.s-caf{background:#f2c4a6}.s-bjp{background:var(--yellow)}.s-gb{background:#ebe2cf}.trust{border-block:1px solid var(--rule);padding-block:28px}.trust .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:16px 48px}.trust .trust-t{font:500 0.875rem/1.4 var(--sans);color:var(--ink-2);letter-spacing:0}.trust ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px 44px}.trust li{font-family:var(--display);font-size:clamp(1.1875rem,1.8vw,1.5rem)}.trust li span{display:block;font-family:var(--sans);font-size:0.8125rem;color:var(--ink-3)}.intro-about{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,6vw,96px);align-items:center}.portrait{position:relative;margin:0;aspect-ratio:4/5;background:var(--ink);border-radius:var(--tag);overflow:hidden}.portrait .photo{width:100%;height:100%;object-fit:cover;object-position:50% 30%}.portrait .mark{position:absolute;right:18px;top:18px;width:30px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.25))}.intro-about .big{font-family:var(--display);font-weight:500;font-size:clamp(1.75rem,3.4vw,3rem);line-height:1.15}.intro-about .big em{color:var(--red)}.intro-about p.body{margin-top:22px;color:var(--ink-2);max-width:54ch;font-size:1.0625rem}.steps{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;counter-reset:s}.steps li{counter-increment:s;border-top:2px solid var(--ink);padding-top:14px}.steps li::before{content:"0" counter(s);font-family:var(--serif);color:var(--red);font-size:0.9375rem}.steps b{display:block;font-family:var(--display);font-weight:500;font-size:1.375rem;margin-top:2px}.steps p{font-size:0.9062rem;color:var(--ink-2);margin-top:4px}@media (max-width:820px){.steps{grid-template-columns:1fr}}@media (max-width:600px){.intro-about{grid-template-columns:1fr}.portrait{max-width:340px}}.cta-band .inner{background:var(--ink);color:var(--white);border-radius:var(--tag);padding:clamp(36px,6vw,88px);display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:32px;align-items:end;position:relative;overflow:hidden}.cta-band .inner::after{content:"";position:absolute;right:-50px;top:-50px;width:clamp(150px,15vw,240px);height:42%;background:var(--yellow);border-radius:var(--tag-m);opacity:.95;transform:rotate(12deg)}.cta-band h2{font-size:clamp(2.125rem,5vw,4.5rem);position:relative;z-index:1}.cta-band h2 em{color:var(--yellow)}.cta-band .act{display:grid;gap:16px;justify-items:start;position:relative;z-index:1}.cta-band .act p{color:#cfc6b6;max-width:36ch}@media (max-width:820px){.cta-band .inner{grid-template-columns:1fr}.cta-band .inner::after{display:none}.cta-band .inner{border-top:10px solid var(--yellow)}}.footer{background:var(--ink);color:#d8cfbf;margin-top:clamp(64px,9vw,128px);padding-top:clamp(48px,6vw,80px)}.footer .cols{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:36px 28px}.footer .ft-h{font:600 0.8125rem var(--sans);color:var(--white);margin:0 0 14px;letter-spacing:.02em}.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:0.9375rem}.footer a{text-decoration:none}.footer a:hover{color:var(--yellow)}.footer .brand .logo b{color:var(--white)}.footer .brand p{margin-top:16px;max-width:34ch;font-size:0.9375rem;line-height:1.6}.footer .brand .status{background:transparent;border-color:#3a362f;color:var(--white);margin:20px 0 0}.footer .big-name{font-family:var(--display);font-size:clamp(1.75rem,7.8vw,8rem);line-height:1.02;padding-bottom:.06em;color:#2b2823;letter-spacing:-.03em;margin-top:clamp(40px,6vw,72px);white-space:nowrap;overflow:hidden}.footer .bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;border-top:1px solid #34302a;padding-block:22px 28px;font-size:0.8438rem;color:#a69d8e}.footer .bottom button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}.footer .bottom button:hover{color:var(--yellow)}@media (max-width:820px){.footer .cols{grid-template-columns:repeat(2,minmax(0,1fr))}.footer .brand{grid-column:1/-1}}@keyframes pagein{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.page-hero{padding-block:clamp(48px,7vw,104px) clamp(36px,5vw,64px)}.crumb{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;font-size:0.875rem;color:var(--ink-2);margin-bottom:6px}.crumb a{text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:5px;padding-block:11px;display:inline-block}.crumb a:hover{text-decoration-color:var(--ink)}.page-hero h1{font-size:clamp(3.25rem,9vw,8.5rem)}.page-hero p.lede{margin-top:18px;font-size:clamp(1.0625rem,1.5vw,1.25rem);color:var(--ink-2);max-width:56ch}.about{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(28px,6vw,96px);align-items:start}.about .side{display:grid;gap:22px;position:sticky;top:100px}.facts-list{margin:0;display:grid;border-top:1px solid var(--rule)}.facts-list div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding-block:11px;border-bottom:1px solid var(--rule)}.facts-list dt{color:var(--ink-2);font-size:0.875rem}.facts-list dd{margin:0;font-size:0.9375rem}.about .text{display:grid;gap:20px;font-size:clamp(1rem,1.25vw,1.125rem);max-width:64ch}.about .text .lead{font-family:var(--display);font-size:clamp(1.75rem,3vw,2.625rem);line-height:1.18}.about .text h2{font-size:clamp(1.625rem,2.6vw,2.25rem);margin-top:20px}.about .text .steps{margin-top:0}@media (max-width:820px){.about{grid-template-columns:1fr}.about .side{position:static}.about .portrait{max-width:300px}}.cv{display:grid;gap:clamp(40px,5vw,72px)}.cv-block{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(16px,4vw,64px);border-top:2px solid var(--ink);padding-top:22px}.cv-block>h2{font-size:clamp(1.625rem,2.6vw,2.25rem)}@media (max-width:760px){.cv-block{grid-template-columns:1fr}}.cv-list{list-style:none;margin:0;padding:0;display:grid}.cv-list>li{display:grid;grid-template-columns:160px minmax(0,1fr);gap:18px;padding-block:18px;border-bottom:1px solid var(--rule)}.cv-list>li:first-child{padding-top:0}.cv-list small{color:var(--ink-2);font-size:0.875rem;padding-top:4px}.cv-list b{display:block;font-family:var(--display);font-weight:500;font-size:1.4375rem;line-height:1.2}.cv-list .where{display:block;color:var(--ink-2);margin-top:3px}.cv-list ul{margin:12px 0 0;padding-left:18px;display:grid;gap:5px;color:var(--ink-2);font-size:0.9375rem}.cv-list ul li::marker{color:var(--coral)}.cv-list .links{display:flex;flex-wrap:wrap;gap:18px;margin-top:12px;font-size:0.9375rem}@media (max-width:560px){.cv-list>li{grid-template-columns:1fr;gap:4px}}.skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.skills h3{font-size:1.375rem;margin-bottom:10px}.skills ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;color:var(--ink-2);font-size:0.9375rem}@media (max-width:560px){.skills{grid-template-columns:1fr}}.tools{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.tools li{background:var(--white);border:1px solid var(--rule);padding:6px 14px;border-radius:var(--tag-s);font-size:0.9375rem}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}@media (max-width:560px){.two{grid-template-columns:1fr}}.link{color:var(--red);font-weight:500;text-underline-offset:4px}.contact-box{background:var(--yellow);border-radius:var(--tag);padding:clamp(28px,6vw,80px);display:grid;gap:clamp(28px,4vw,44px)}.contact-box h2{font-size:clamp(2.125rem,5vw,4.25rem);max-width:15ch}.coords{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.coord{background:var(--white);border-radius:var(--tag-s);padding:20px 22px;display:grid;gap:4px}.coord small{font-size:0.8125rem;color:var(--ink-2)}.coord a.v{text-decoration:none;color:var(--ink)}.coord a.v:hover{text-decoration:underline;text-underline-offset:4px}.coord .v{font-family:var(--display);font-size:clamp(1.1875rem,1.7vw,1.4375rem);user-select:all;word-break:break-word}.coord button{justify-self:start;margin-top:8px;font:500 0.8125rem var(--sans);background:transparent;border:1px solid var(--ink);color:var(--ink);padding:0 16px;min-height:44px;display:inline-flex;align-items:center;border-radius:var(--tag-s);cursor:pointer}.progress{position:fixed;left:0;top:0;height:3px;background:var(--red);width:0;z-index:60}.case-hero{padding-block:clamp(40px,6vw,88px) 0}.case-hero .kind{font-size:0.9375rem;color:var(--red);font-weight:500}.case-hero h1{font-size:clamp(2.625rem,7vw,6.5rem);max-width:15ch;margin-top:14px}.case-hero .pitch{font-family:var(--display);font-style:italic;font-size:clamp(1.25rem,2.2vw,1.875rem);line-height:1.35;max-width:36ch;color:var(--ink-2);margin-top:20px}.cover{margin-top:clamp(36px,5vw,64px)}.cover .stage{aspect-ratio:16/8.4;border-radius:var(--tag)}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0;margin-top:clamp(28px,4vw,44px);border-top:1px solid var(--rule)}.facts div{padding:16px 18px 16px 0;border-bottom:1px solid var(--rule)}.facts dt{font-size:0.8125rem;color:var(--ink-2)}.facts dd{margin:3px 0 0;font-size:0.9375rem}.facts a{color:var(--red);text-underline-offset:3px}.chapters{display:grid;gap:clamp(56px,7vw,104px);padding-block:clamp(56px,7vw,104px) 0}.ch{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:clamp(18px,4vw,64px)}.ch>h2{font-size:clamp(1.75rem,2.8vw,2.375rem);position:sticky;top:100px;align-self:start}.ch>h2::after{content:"";display:block;width:44px;height:3px;background:var(--coral);margin-top:14px}.ch .body{display:grid;gap:18px;font-size:clamp(1rem,1.25vw,1.125rem);max-width:68ch}.ch .body b{font-weight:600}@media (max-width:760px){.ch{grid-template-columns:1fr}.ch>h2{position:static}}.flow{list-style:none;margin:0;padding:0;display:grid;gap:16px;counter-reset:f}.flow li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;counter-increment:f}.flow li::before{content:counter(f);display:grid;place-items:center;width:40px;height:40px;background:var(--yellow);border-radius:var(--tag-s);font-family:var(--display);font-size:1.25rem}.dots{margin:0;padding-left:20px;display:grid;gap:10px}.dots li::marker{color:var(--coral)}.pull{font-family:var(--display);font-size:clamp(1.5rem,2.6vw,2.25rem);line-height:1.25;border-left:4px solid var(--coral);padding-left:22px}.trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.trio div{background:var(--white);border-radius:var(--tag-m);padding:20px}.trio b{display:block;font-family:var(--display);font-weight:500;font-size:1.3125rem;margin-bottom:6px}.trio p{font-size:0.9375rem;color:var(--ink-2)}@media (max-width:760px){.trio{grid-template-columns:1fr}}.wide{margin:0}.wide img{width:100%;height:auto;border-radius:var(--tag-m);box-shadow:0 18px 50px rgba(40,30,10,.12);background:#fff}.wide figcaption{font-size:0.875rem;color:var(--ink-2);margin-top:12px}.pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}@media (max-width:620px){.pair{grid-template-columns:1fr}}.todo{font-size:0.875rem;color:var(--ink-2);border:1.5px dashed var(--yellow-2);border-radius:var(--tag-s);padding:10px 14px;background:rgba(250,176,59,.08)}.learn{background:var(--ink);color:var(--white);border-radius:var(--tag);padding:clamp(28px,4vw,56px)}.learn h2{font-size:clamp(1.625rem,2.8vw,2.25rem);margin-bottom:16px;color:var(--yellow)}.learn p{font-family:var(--display);font-size:clamp(1.1875rem,1.8vw,1.5625rem);line-height:1.45;max-width:54ch}.pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:clamp(56px,7vw,104px)}.pager a{text-decoration:none;border-top:2px solid var(--ink);padding-top:18px;display:grid;gap:4px}.pager a.nx{text-align:right}.pager small{color:var(--ink-2);font-size:0.875rem}.pager strong{font-family:var(--display);font-weight:500;font-size:clamp(1.375rem,3vw,2.5rem);line-height:1.1;transition:color .25s}.pager a:hover strong{color:var(--red)}.personas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.persona{background:var(--white);border-radius:var(--tag-m);padding:24px;display:grid;gap:4px;align-content:start}.persona .ini{display:grid;place-items:center;width:44px;height:44px;background:var(--yellow);border-radius:var(--tag-s);font-family:var(--serif);font-size:1.25rem;margin-bottom:10px}.persona h3{font-family:var(--serif);font-size:1.5rem}.persona .who{color:var(--red);font-weight:500}.persona .meta{font-size:0.875rem;color:var(--ink-2)}.persona dl{margin:14px 0 0;display:grid;gap:4px;font-size:0.9375rem}.persona dt{font-size:0.8125rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-top:8px}.persona dd{margin:0}@media (max-width:820px){.personas{grid-template-columns:1fr}}.journey{margin:0}.journey ol{list-style:none;margin:0;padding:28px 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));counter-reset:j;position:relative}.journey ol::before{content:"";position:absolute;left:10%;right:10%;top:47px;height:2px;background:var(--rule)}.journey li{counter-increment:j;display:grid;justify-items:center;gap:12px;text-align:center;position:relative}.journey li::before{content:counter(j);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ink);color:var(--white);font-family:var(--serif)}.journey li:nth-child(2)::before,.journey li:nth-child(3)::before,.journey li:nth-child(4)::before{background:var(--red)}.journey b{font-weight:500;font-size:0.9375rem}.journey figcaption{font-size:0.875rem;color:var(--ink-2);margin-top:20px}@media (max-width:620px){.journey ol{grid-template-columns:1fr;gap:14px;padding-top:0}.journey ol::before{left:19px;right:auto;top:20px;bottom:20px;width:2px;height:auto}.journey li{grid-template-columns:40px 1fr;justify-items:start;text-align:left;align-items:center}}.logo b,.card h3,.card .num,.trust li,.steps b,.cv-list b,.skills h3,.coord .v,.trio b,.pager strong,.ch>h2,.learn h2,.learn p,.pull,.about .text h2,.cv-block>h2,.case-hero .pitch,.flow li::before,.facts-list dd{font-family:var(--serif)}.footer>.wrap{container-type:inline-size}@supports (font-size:1cqi){.footer .big-name{font-size:min(8rem,9.6cqi)}}@media (max-width:900px){.showcase{aspect-ratio:16/10}.layer.l1{top:9%;width:66%;left:6%}.layer.l2{top:12%;width:17%;right:8%}.layer.l3{bottom:7%;width:46%;left:auto;right:22%}}.brief{margin-top:clamp(24px,3vw,36px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--white);border-radius:var(--tag-m);border-left:4px solid var(--yellow)}.brief div{padding:18px 22px}.brief div+div{border-left:1px solid var(--rule)}.brief dt{font:600 0.8125rem var(--sans);color:var(--red)}.brief dd{margin:4px 0 0;font-size:0.9375rem;line-height:1.5}@media (max-width:760px){.brief{grid-template-columns:1fr}.brief div+div{border-left:0;border-top:1px solid var(--rule)}.brief div{padding:14px 18px}}@media (max-width:620px){.cover .stage{aspect-ratio:4/3}.cover .sheet+.sheet,.cover .phone{display:none}.cover .sheet{left:6%!important;right:auto!important;top:8%!important;bottom:auto!important;width:88%!important}.cover .laptop{left:8%!important;width:84%!important;bottom:14%}.cover .stage:has(.sheet){aspect-ratio:auto}.cover .stage:has(.sheet) .stage-in{position:relative;padding:7% 6%}.cover .stage:has(.sheet) .sheet{position:relative;inset:auto!important;width:100%!important}.facts{grid-template-columns:repeat(2,minmax(0,1fr))}.facts div{padding:12px 12px 12px 0}}.logo{min-height:44px}#totop{min-height:44px;display:inline-flex;align-items:center}.coord a.v{display:inline-flex;align-items:center;min-height:44px}.cv-list .links a{display:inline-flex;align-items:center;min-height:44px}@media (max-width:820px){.footer ul{gap:0}.footer ul a{display:inline-flex;align-items:center;min-height:44px}}.footer ul li{min-width:0}@media (max-width:1240px){.footer .cols{grid-template-columns:repeat(3,minmax(0,1fr))}.footer .brand{grid-column:1/-1}}@media (max-width:820px){.footer .cols{grid-template-columns:repeat(2,minmax(0,1fr))}.footer .cols>div:last-child{grid-column:1/-1}}.atelier-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}.tile{position:relative;display:block;aspect-ratio:4/5;border-radius:var(--tag-m);overflow:hidden;background:var(--paper-2);text-decoration:none}.tile img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.tile:hover img{transform:scale(1.05)}.tile span{position:absolute;left:12px;bottom:12px;background:var(--white);color:var(--ink);font-size:0.8125rem;font-weight:500;padding:4px 12px;border-radius:var(--tag-s)}.atelier-more{margin-top:clamp(24px,3vw,36px)}@media (max-width:760px){.atelier-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.sub-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:16px 40px;border-top:2px solid var(--ink);padding-top:22px;margin-bottom:clamp(36px,5vw,64px)}.sub-head h2{font-size:clamp(2.125rem,4.4vw,3.75rem)}.sub-head p{color:var(--ink-2);max-width:46ch}.pieces{display:grid;gap:clamp(72px,9vw,136px)}.piece{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(24px,5vw,72px);align-items:center}.piece:nth-child(even) .piece-media{order:2}.piece-media{border-radius:var(--tag);padding:clamp(20px,4vw,56px);display:grid;place-items:center;background:var(--paper-2)}.piece-media.m-dark{background:var(--ink)}.piece-media.m-sand{background:#e4d7bf}.piece-media img{max-height:min(76vh,720px);width:auto;box-shadow:0 24px 60px rgba(30,20,5,.25)}.piece-text{display:grid;gap:16px;align-content:start}.piece-text .kind{font-size:0.9375rem;color:var(--red);font-weight:500}.piece-text h3{font-family:var(--display);font-size:clamp(1.75rem,3vw,2.75rem)}.piece-text p.desc{font-size:clamp(1rem,1.2vw,1.0938rem);color:var(--ink-2)}.piece-text .facts{margin-top:4px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.detail{margin:8px 0 0}.detail img{width:100%;height:auto;border-radius:var(--tag-s)}.detail figcaption{font-size:0.875rem;color:var(--ink-2);margin-top:10px}@media (max-width:820px){.piece{grid-template-columns:1fr}.piece:nth-child(even) .piece-media{order:0}.piece-media img{max-height:60vh}}.zoom{display:block;padding:0;border:0;background:none;cursor:zoom-in;border-radius:inherit;max-width:100%}.photos{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(14px,1.8vw,24px)}.photo-item{margin:0;display:grid;gap:10px;align-content:start}.photo-item .zoom{overflow:hidden;border-radius:var(--tag-m);width:100%}.photo-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.photo-item .zoom:hover img{transform:scale(1.03)}.photo-item figcaption{font-size:0.875rem;color:var(--ink-2)}.photo-item figcaption b{color:var(--ink);font-weight:500}.p-canal{grid-column:1/-1}.p-canal .zoom{aspect-ratio:21/10}.p-feuille{grid-column:span 7}.p-feuille .zoom{aspect-ratio:3/2}.p-orch{grid-column:span 5}.p-orch .zoom{aspect-ratio:auto;height:0;padding-bottom:calc(66.66% * 7 / 5);position:relative}.p-orch .zoom img{position:absolute;inset:0}@media (max-width:620px){.p-feuille,.p-orch{grid-column:1/-1}.p-canal .zoom{aspect-ratio:3/2}.p-orch .zoom{padding-bottom:110%}}.lb{border:0;padding:0;background:transparent;max-width:min(94vw,1400px);max-height:94vh;overflow:visible}.lb::backdrop{background:rgba(20,18,15,.88)}.lb img{max-width:min(94vw,1400px);max-height:84vh;width:auto;height:auto;margin:0 auto;border-radius:var(--tag-s)}.lb .lb-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;color:#e9e1d2;font-size:0.875rem}.lb button{font:500 0.875rem var(--sans);background:var(--yellow);color:var(--ink);border:0;min-height:44px;padding:0 18px;border-radius:var(--tag-s);cursor:pointer;flex:none}.piece{scroll-margin-top:96px}#photographie{scroll-margin-top:72px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}main:focus{outline:none}.skip{position:absolute;left:16px;top:-100px;z-index:100;background:var(--ink);color:var(--white);padding:12px 18px;border-radius:var(--tag-s);font-weight:500;text-decoration:none}.skip:focus{top:12px}.section-tight{padding-block:clamp(24px,4vw,48px) clamp(48px,7vw,96px)}.src{font-size:0.875rem;color:var(--ink-2)}.src a{color:var(--red);text-underline-offset:3px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.form-wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(24px,5vw,80px);align-items:start}.form-wrap h2{font-size:clamp(1.875rem,3.4vw,3rem)}.form-note{margin-top:14px;color:var(--ink-2);max-width:40ch}.form{display:grid;gap:18px}.field{display:grid;gap:6px}.field label{font-weight:500;font-size:0.9375rem}.field .req{font-weight:400;color:var(--ink-2);font-size:0.875rem}.field input,.field textarea{font:inherit;color:var(--ink);background:var(--white);border:1.5px solid var(--ink-3);border-radius:var(--tag-s);padding:12px 14px;min-height:48px;width:100%}.field textarea{resize:vertical}.field input:focus-visible,.field textarea:focus-visible{border-color:var(--ink)}.hp{position:absolute;left:-9999px}@media (max-width:760px){.form-wrap{grid-template-columns:1fr}}.prose{display:grid;gap:16px;max-width:68ch;font-size:1.0625rem;padding-bottom:24px}.footer .big-name::before{content:attr(data-name)}@media (max-width:420px){.coord .v{font-size:1.0625rem}}.prose h2{font-size:clamp(1.5rem,2.4vw,2rem);margin-top:18px;font-family:var(--serif)}.pager a{min-width:0}.pager strong{overflow-wrap:anywhere}.piece-media .zoom{width:min(100%,calc(min(76vh,720px)*var(--ar,1)))}.piece-media .zoom img{width:100%;height:auto;max-height:none}@media (max-width:820px){.piece-media .zoom{width:min(100%,calc(60vh*var(--ar,1)))}}