:root{--bg:#f4f1ea;--ink:#141310;--muted:#767169;--line:rgba(20,19,16,.18);--dark:#0c0c0b;--pad:clamp(18px,4.5vw,72px);--serif:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.45;-webkit-font-smoothing:antialiased}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}.site-header{height:76px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20;background:var(--bg)}.wordmark{font-family:var(--serif);font-size:1.3rem;letter-spacing:-.02em}.site-header nav{display:flex;gap:clamp(18px,3vw,44px)}.site-header nav a{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em}.site-header a:hover{opacity:.52}.home-intro{min-height:44vh;padding:clamp(80px,11vw,160px) var(--pad) clamp(60px,9vw,130px);display:grid;grid-template-columns:1.7fr .6fr;gap:40px;align-items:end}.kicker{margin:0 0 22px;font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.home-intro h1,.info-hero h1,.contact-intro h1,.legal-main h1{font-family:var(--serif);font-size:clamp(3.8rem,8.5vw,9.5rem);font-weight:400;line-height:.88;letter-spacing:-.06em;margin:0}.intro-meta{font-size:.8rem;line-height:1.7;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);margin:0 0 .7rem}.featured{padding:0 var(--pad)}.featured a{display:block;position:relative;background:#111}.featured picture{display:block;overflow:hidden}.featured-image{width:100%;height:min(75vw,84vh);min-height:520px;object-fit:cover;transition:opacity .5s ease}.featured-caption{display:flex;justify-content:space-between;padding:14px 0 4px;font-size:.73rem;text-transform:uppercase;letter-spacing:.12em}.featured-caption span:last-child{color:var(--muted)}.project-index{padding:clamp(120px,16vw,230px) var(--pad)}.section-head{display:grid;grid-template-columns:.55fr 1.45fr;margin-bottom:clamp(60px,10vw,140px);align-items:end}.section-head p{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.section-head h2{margin:0;font-family:var(--serif);font-size:clamp(4rem,9vw,10rem);line-height:.8;font-weight:400;letter-spacing:-.06em}.projects-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(20px,3vw,48px);align-items:start}.project{margin:0 0 clamp(70px,12vw,170px)}.project picture{display:block;overflow:hidden;background:#ddd}.project img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.project a:hover img{transform:scale(1.015)}.project-caption{display:flex;justify-content:space-between;gap:20px;padding-top:12px}.project-caption h3,.project-caption p{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;font-weight:400}.project-caption p{color:var(--muted)}.project-wide{grid-column:1/10}.project-tall{grid-column:8/13;margin-top:8vw}.project-tall img{aspect-ratio:4/5;object-fit:cover}.project-offset{grid-column:2/8}.project-square{grid-column:8/13;margin-top:10vw}.project-square img{aspect-ratio:1;object-fit:cover}.project-last{grid-column:3/13}.home-info{margin:0 var(--pad);padding:40px 0 clamp(100px,12vw,180px);border-top:1px solid var(--line);display:grid;grid-template-columns:1.4fr .6fr;gap:40px;font-family:var(--serif);font-size:clamp(1.5rem,3vw,3.4rem);line-height:1.05}.home-info p{margin:0;max-width:18em}.home-info a{font-family:var(--sans);font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;align-self:end;text-align:right}.site-footer{border-top:1px solid var(--line);padding:22px var(--pad);display:flex;justify-content:space-between;gap:30px;font-size:.64rem;text-transform:uppercase;letter-spacing:.11em;color:var(--muted)}.site-footer a{text-decoration:underline;text-underline-offset:.25em}.project-hero{padding:clamp(90px,12vw,180px) var(--pad) clamp(50px,7vw,100px);display:grid;grid-template-columns:.45fr 1.2fr .5fr;gap:30px;align-items:end}.project-no{font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin:0}.project-hero h1{font-family:var(--serif);font-size:clamp(4.5rem,10vw,11rem);font-weight:400;line-height:.8;letter-spacing:-.065em;margin:0}.project-hero>p:last-child{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0}.project-gallery{padding:0 var(--pad)}.project-shot{margin:0 auto clamp(80px,12vw,180px)}.project-shot.wide{width:100%}.project-shot.mid{width:58%;margin-left:8%}.project-shot.mid-right{width:55%;margin-right:6%}.project-shot.square{width:62%}.project-shot.square img{aspect-ratio:1;object-fit:cover}.project-end{padding:0 var(--pad) clamp(100px,13vw,190px);display:grid;grid-template-columns:1fr 1fr;gap:50px;border-top:1px solid var(--line);padding-top:34px}.project-end>p{font-family:var(--serif);font-size:clamp(1.7rem,3vw,3rem);margin:0;max-width:18em}.project-next{display:flex;justify-content:flex-end;align-items:flex-end;gap:34px;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.project-next a:hover{opacity:.5}.info-main,.contact-main,.legal-main{padding:0 var(--pad)}.info-hero{padding:clamp(100px,14vw,200px) 0 clamp(100px,12vw,170px);display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:end}.info-hero .kicker{grid-column:1/-1}.info-lead{font-family:var(--serif);font-size:clamp(1.6rem,3vw,3.2rem);line-height:1.1;margin:0}.info-columns{border-top:1px solid var(--line);padding:clamp(50px,7vw,90px) 0;display:grid;grid-template-columns:.55fr 1.45fr;gap:50px}.info-columns h2{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;margin:0;color:var(--muted);font-weight:400}.info-list article{display:grid;grid-template-columns:55px .8fr 1.1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}.info-list article:first-child{padding-top:0}.info-list span{font-size:.68rem;color:var(--muted)}.info-list h3{margin:0;font-family:var(--serif);font-size:clamp(1.5rem,2.5vw,2.6rem);font-weight:400}.info-list p,.about p,.facts p{margin:0;color:var(--muted)}.about>div:last-child{font-family:var(--serif);font-size:clamp(1.6rem,3vw,3rem);line-height:1.15;max-width:26em}.about p+p{margin-top:1.2em}.facts-grid{display:grid;grid-template-columns:1fr 1fr}.facts-grid article{padding:0 30px 35px 0}.facts-grid h3{font-family:var(--serif);font-size:1.6rem;font-weight:400;margin:0 0 10px}.info-cta{padding:clamp(70px,9vw,120px) 0 clamp(100px,12vw,180px);font-family:var(--serif);font-size:clamp(2.4rem,5vw,6rem)}.contact-main{min-height:calc(100vh - 76px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,8vw,140px);align-items:start;padding-top:clamp(90px,12vw,170px);padding-bottom:clamp(90px,12vw,160px)}.contact-intro h1{font-size:clamp(4rem,8vw,9rem)}.contact-direct{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin-top:45px;font-size:.82rem}.contact-direct a{text-decoration:underline;text-underline-offset:.3em}.form-wrap{padding-top:52px}form{border-top:1px solid var(--line)}.field{padding:25px 0;border-bottom:1px solid var(--line)}.field label{display:flex;justify-content:space-between;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:12px}.field label span{color:var(--ink)}.field label em{font-style:normal;text-transform:none;letter-spacing:0}.field input,.field textarea{width:100%;border:0;background:transparent;color:var(--ink);font:inherit;font-family:var(--serif);font-size:clamp(1.3rem,2.2vw,2.2rem);outline:none;padding:0;resize:vertical}.form-actions{display:flex;align-items:center;gap:25px;padding-top:25px}.form-actions button{border:0;background:var(--ink);color:var(--bg);padding:14px 24px;font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;cursor:pointer}.form-actions button:hover{opacity:.78}#form-status{font-size:.75rem;color:var(--muted)}.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}.legal-main{padding-top:clamp(100px,14vw,190px);padding-bottom:clamp(100px,12vw,170px)}.legal-main h1{max-width:10em}.legal-copy{width:min(680px,100%);margin:70px 0 0 auto;font-family:var(--serif);font-size:clamp(1.3rem,2.2vw,2rem)}.legal-copy a{text-decoration:underline}.legal-copy p+p{margin-top:1.2em}@media(max-width:800px){.site-header{height:64px}.wordmark{font-size:1.1rem}.site-header nav{gap:14px}.site-header nav a{font-size:.62rem}.home-intro{grid-template-columns:1fr;min-height:auto;padding-top:100px}.home-intro h1{font-size:clamp(3.5rem,15vw,6rem)}.intro-meta{margin-top:30px}.featured{padding:0}.featured-image{min-height:65vh;height:72vh}.featured-caption{padding:12px var(--pad)}.section-head,.info-columns,.info-hero,.contact-main{grid-template-columns:1fr}.projects-grid{display:block}.project{margin-bottom:85px}.project-tall,.project-offset,.project-square,.project-last,.project-wide{margin-top:0}.project-tall img,.project-square img{aspect-ratio:auto}.home-info{grid-template-columns:1fr;font-size:2rem}.home-info a{text-align:left;margin-top:25px}.site-footer{flex-direction:column}.project-hero{grid-template-columns:1fr;padding-top:90px}.project-hero h1{font-size:18vw}.project-shot,.project-shot.mid,.project-shot.mid-right,.project-shot.square{width:100%;margin-left:0;margin-right:0;margin-bottom:70px}.project-end{grid-template-columns:1fr}.project-next{justify-content:space-between}.info-hero{padding-top:90px}.info-hero .kicker{grid-column:auto}.info-hero h1{font-size:15vw}.info-list article{grid-template-columns:34px 1fr}.info-list p{grid-column:2}.facts-grid{grid-template-columns:1fr}.contact-main{padding-top:90px}.form-wrap{padding-top:0}.contact-intro h1{font-size:15vw}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project img{transition:none}}

/* V8 — dynamic editorial homepage */
:root{--v8-bg:#f4f1ea;--v8-ink:#11100e;--v8-line:rgba(17,16,14,.18);--v8-muted:#6f6a62}
.dynamic-nav{mix-blend-mode:difference;color:#fff;position:fixed;background:transparent;border:0;z-index:100}
.dynamic-nav .wordmark{font-family:var(--serif);font-size:1.05rem;letter-spacing:-.02em}
.kinetic-hero{height:100svh;min-height:650px;position:relative;background:#111;color:#fff;overflow:hidden}
.hero-slides,.hero-slide,.hero-slide picture,.hero-slide img{position:absolute;inset:0;width:100%;height:100%}
.hero-slide{opacity:0;transition:opacity 1.25s ease;pointer-events:none}.hero-slide.is-active{opacity:1;pointer-events:auto}.hero-media{object-fit:cover;transform:scale(1.035);transition:transform 7s cubic-bezier(.2,.7,.2,1);will-change:transform}.hero-slide.is-active .hero-media{transform:scale(1.0)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.2),rgba(0,0,0,.04) 54%,rgba(0,0,0,.18));z-index:2}.kinetic-copy{position:absolute;z-index:3;left:var(--pad);bottom:clamp(90px,12vh,150px);max-width:70vw}.kinetic-copy .eyebrow{font:500 .65rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px}.kinetic-copy h1{font:400 clamp(5rem,11vw,12rem)/.78 var(--serif);letter-spacing:-.065em;margin:0}.hero-role{font:400 clamp(1.1rem,2vw,2rem)/1.1 var(--serif);font-style:italic;margin:28px 0 0}.hero-next{position:absolute;z-index:4;right:var(--pad);bottom:45px;display:grid;grid-template-columns:auto auto;gap:3px 20px;text-align:left;border:0;background:transparent;color:#fff;cursor:pointer;padding:0}.hero-next span{font:400 1rem var(--serif);grid-column:1}.hero-next small{font:.62rem var(--sans);text-transform:uppercase;letter-spacing:.12em;opacity:.7;grid-column:1}.hero-next b{grid-column:2;grid-row:1/3;align-self:center;font:.6rem var(--sans);text-transform:uppercase;letter-spacing:.15em;font-weight:400;border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:12px 13px}.hero-progress{position:absolute;bottom:0;left:0;width:100%;height:2px;background:rgba(255,255,255,.18);z-index:4}.hero-progress i{display:block;width:0;height:100%;background:#fff}.hero-progress.run i{animation:heroProgress 7s linear forwards}@keyframes heroProgress{to{width:100%}}
.dynamic-work{padding:clamp(100px,13vw,180px) var(--pad);background:var(--v8-bg)}.work-intro{display:grid;grid-template-columns:.4fr 1.1fr .5fr;gap:30px;align-items:end;margin-bottom:70px}.work-intro h2{font:400 clamp(5rem,10vw,11rem)/.75 var(--serif);letter-spacing:-.065em;margin:0}.work-intro>p:last-child{font-size:.68rem;text-transform:uppercase;letter-spacing:.11em;color:var(--v8-muted);margin:0}.work-stage{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,6vw,90px);align-items:start}.work-list{border-top:1px solid var(--v8-line)}.work-row{display:grid;grid-template-columns:46px 1fr auto;gap:20px;align-items:baseline;padding:25px 0;border-bottom:1px solid var(--v8-line);transition:opacity .25s,transform .35s}.work-list:hover .work-row{opacity:.3}.work-list:hover .work-row:hover{opacity:1;transform:translateX(8px)}.work-row span,.work-row p{font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;color:var(--v8-muted);margin:0}.work-row h3{font:400 clamp(2.1rem,4vw,4.8rem)/.9 var(--serif);letter-spacing:-.045em;margin:0}.work-preview{position:sticky;top:10vh;display:block;height:78vh;overflow:hidden;background:#ddd}.work-preview picture,.work-preview img{width:100%;height:100%;display:block}.preview-image{object-fit:cover;transition:opacity .35s,transform .8s cubic-bezier(.2,.7,.2,1)}.work-preview.is-changing .preview-image{opacity:.08;transform:scale(1.03)}
.image-ribbon{overflow:hidden;background:#11100e;padding:16px 0}.ribbon-track{display:flex;width:max-content;gap:16px;animation:ribbonMove 48s linear infinite}.ribbon-track figure{width:clamp(260px,27vw,520px);height:clamp(180px,22vw,390px);margin:0;overflow:hidden}.ribbon-track img{width:100%;height:100%;object-fit:cover}@keyframes ribbonMove{to{transform:translateX(-50%)}}
.services-band,.dynamic-pricing,.journal-home,.practical-strip,.home-contact{padding:clamp(90px,12vw,160px) var(--pad);background:var(--v8-bg)}.band-head,.pricing-head,.journal-head,.practical-strip>div:first-child,.home-contact{display:grid;grid-template-columns:.42fr 1.15fr .43fr;gap:clamp(25px,5vw,70px);align-items:start}.band-head h2,.pricing-head h2,.journal-head h2,.practical-strip h2,.home-contact h2{font:400 clamp(3.4rem,7vw,7.8rem)/.86 var(--serif);letter-spacing:-.055em;margin:0}.service-lines{margin-top:clamp(60px,8vw,110px);border-top:1px solid var(--v8-line)}.service-lines article{display:grid;grid-template-columns:50px 1fr 1fr;gap:25px;padding:24px 0;border-bottom:1px solid var(--v8-line);align-items:baseline}.service-lines span{font-size:.65rem;color:var(--v8-muted)}.service-lines h3{font:400 clamp(1.6rem,2.8vw,3rem) var(--serif);margin:0}.service-lines p{margin:0;color:var(--v8-muted)}
.dynamic-pricing{background:#171613;color:#f5f1e8}.pricing-head p:last-child{margin:18px 0 0;color:rgba(255,255,255,.6);max-width:48rem}.pricing-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:70px;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}.price-card{position:relative;padding:35px clamp(22px,3vw,45px) 42px;border-right:1px solid rgba(255,255,255,.18);min-height:530px;display:flex;flex-direction:column}.price-card:last-child{border-right:0}.price-card em{position:absolute;right:25px;top:-12px;background:#f5f1e8;color:#171613;font:normal .59rem var(--sans);text-transform:uppercase;letter-spacing:.12em;padding:7px 10px}.price-top{display:flex;justify-content:space-between;gap:15px;font-size:.64rem;text-transform:uppercase;letter-spacing:.12em}.price-top strong{font-weight:400}.price-card h3{font:400 clamp(2rem,3vw,3.3rem)/.95 var(--serif);margin:45px 0 35px}.price-card ul{margin:0 0 35px;padding:0;list-style:none;color:rgba(255,255,255,.65);font-size:.88rem}.price-card li{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.1)}.price-card>a{margin-top:auto;font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;border-top:1px solid rgba(255,255,255,.3);padding-top:18px}.pricing-note{font-size:.74rem;color:rgba(255,255,255,.55);max-width:65rem;margin:24px 0 0}.standalone-pricing{padding-top:20px}
.journal-home{background:#ece7dc}.journal-head{align-items:end}.journal-head>a{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;align-self:end}.journal-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,45px);margin-top:80px}.journal-rail a{border-top:1px solid var(--v8-line);padding-top:20px;min-height:290px;transition:transform .3s}.journal-rail a:hover{transform:translateY(-8px)}.journal-rail small{font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:var(--v8-muted)}.journal-rail h3{font:400 clamp(1.7rem,3vw,3rem)/1 var(--serif);margin:25px 0 18px}.journal-rail p{color:var(--v8-muted);margin:0}
.practical-strip{background:#f4f1ea}.practical-strip>div:first-child{margin-bottom:60px}.practical-cells{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--v8-line)}.practical-cells article{padding:28px 26px 0 0;border-right:1px solid var(--v8-line);min-height:170px}.practical-cells article+article{padding-left:26px}.practical-cells article:last-child{border-right:0}.practical-cells h3{font:400 1.5rem var(--serif);margin:0 0 14px}.practical-cells p{font-size:.85rem;color:var(--v8-muted);margin:0}.home-contact{background:#cfc7b9;grid-template-columns:.5fr .5fr}.home-contact>div:last-child{align-self:end}.home-contact>div:last-child>p:first-child{font:400 clamp(1.3rem,2.3vw,2.2rem) var(--serif);max-width:22em}.home-contact a{display:inline-block;margin:24px 0 40px;text-transform:uppercase;font-size:.7rem;letter-spacing:.14em;border-bottom:1px solid;padding-bottom:7px}.contact-mini{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#5f5a52}
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.in-view{opacity:1;transform:none}
.content-page{padding:0 var(--pad)}.page-title{padding:clamp(120px,15vw,210px) 0 clamp(80px,10vw,140px);display:grid;grid-template-columns:.38fr 1.12fr .5fr;gap:35px;align-items:end;border-bottom:1px solid var(--v8-line)}.page-title h1{font:400 clamp(4.5rem,9vw,10rem)/.82 var(--serif);letter-spacing:-.06em;margin:0}.page-title>p:last-child{font-size:.95rem;color:var(--v8-muted);margin:0}.info-block{display:grid;grid-template-columns:.38fr 1.62fr;gap:35px;padding:clamp(60px,8vw,100px) 0;border-bottom:1px solid var(--v8-line)}.service-lines.compact{margin-top:0}.split-info h2{font:400 clamp(2.8rem,5vw,5.8rem)/.9 var(--serif);letter-spacing:-.05em;margin:0 0 30px}.split-info p{font:400 clamp(1.2rem,2vw,1.7rem)/1.4 var(--serif);max-width:42em}.page-links{display:flex;flex-wrap:wrap;gap:15px 35px;padding:55px 0 120px;font-size:.7rem;text-transform:uppercase;letter-spacing:.13em}.page-links a{border-bottom:1px solid;padding-bottom:6px}
.journal-list{padding-bottom:120px}.journal-article{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(35px,7vw,110px);padding:clamp(60px,8vw,100px) 0;border-bottom:1px solid var(--v8-line)}.journal-article small{font-size:.62rem;text-transform:uppercase;letter-spacing:.13em;color:var(--v8-muted)}.journal-article h2{font:400 clamp(2.5rem,5vw,5.6rem)/.9 var(--serif);letter-spacing:-.05em;margin:22px 0 0}.journal-article>div:last-child{font:400 clamp(1.1rem,1.7vw,1.45rem)/1.5 var(--serif);max-width:42em}.journal-article ul{font-family:var(--sans);font-size:.78rem;list-style:none;padding:0;margin:30px 0 0;border-top:1px solid var(--v8-line)}.journal-article li{padding:10px 0;border-bottom:1px solid var(--v8-line)}
.page-cta{padding:60px 0 120px;font:400 clamp(2.4rem,5vw,5.5rem) var(--serif)}
.contact-zone{margin-top:45px;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--v8-muted)}
@media(max-width:900px){.dynamic-nav nav{gap:11px}.dynamic-nav nav a{font-size:.56rem}.kinetic-copy{max-width:88vw}.kinetic-copy h1{font-size:18vw}.work-intro,.band-head,.pricing-head,.journal-head,.page-title{grid-template-columns:1fr}.work-intro>p:last-child{display:none}.work-stage{grid-template-columns:1fr}.work-preview{position:relative;top:0;height:58vh;order:-1}.work-row{grid-template-columns:36px 1fr}.work-row p{grid-column:2}.pricing-cards{grid-template-columns:1fr}.price-card{border-right:0;border-bottom:1px solid rgba(255,255,255,.18);min-height:auto}.journal-rail{grid-template-columns:1fr}.practical-cells{grid-template-columns:1fr 1fr}.practical-cells article:nth-child(2){border-right:0}.home-contact{grid-template-columns:1fr}.home-contact>div:last-child{margin-top:55px}.info-block,.journal-article{grid-template-columns:1fr}.page-title>p:last-child{max-width:40rem}.journal-article h2{margin-top:12px}}
@media(max-width:650px){.dynamic-nav{padding-inline:14px}.dynamic-nav .wordmark{font-size:.95rem}.dynamic-nav nav a:nth-child(4){display:none}.kinetic-hero{min-height:620px}.kinetic-copy{left:18px;bottom:110px}.hero-next{right:18px;bottom:34px}.hero-next span,.hero-next small{display:none}.work-preview{height:52vh}.dynamic-work,.services-band,.dynamic-pricing,.journal-home,.practical-strip,.home-contact{padding-inline:18px}.work-row h3{font-size:2.4rem}.image-ribbon{padding:10px 0}.ribbon-track{gap:10px}.practical-cells{grid-template-columns:1fr}.practical-cells article,.practical-cells article+article{padding:22px 0;border-right:0;border-bottom:1px solid var(--v8-line);min-height:0}.content-page{padding-inline:18px}.page-title h1{font-size:16vw}.service-lines article{grid-template-columns:32px 1fr}.service-lines p{grid-column:2}.home-contact h2{font-size:16vw}}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-media,.preview-image,.reveal{transition:none}.ribbon-track{animation:none}.hero-progress i{animation:none}.reveal{opacity:1;transform:none}}

/* =========================================================
   V9 KINETIC PORTFOLIO — inspired by editorial food portfolios
   ========================================================= */
:root{--v9-paper:#f2eee6;--v9-ink:#151412;--v9-line:rgba(21,20,18,.23);--v9-muted:#6d675f;--v9-dark:#12110f;--v9-pad:clamp(18px,2.7vw,46px)}
html{scroll-behavior:smooth}.v9-home,.v9-project-page{margin:0;background:var(--v9-paper);color:var(--v9-ink);overflow-x:hidden}.v9-home *,.v9-project-page *{box-sizing:border-box}.v9-home a,.v9-project-page a{color:inherit;text-decoration:none}.v9-home figure,.v9-project-page figure{margin:0}.v9-home img,.v9-project-page img{display:block;width:100%;height:100%;object-fit:cover}
.v9-header{position:fixed;z-index:90;left:0;top:0;width:100%;padding:19px var(--v9-pad);display:flex;align-items:center;justify-content:space-between;color:#fff;mix-blend-mode:difference;pointer-events:none}.v9-header a{pointer-events:auto}.v9-brand{font:500 .72rem/1 var(--sans);letter-spacing:.03em;text-transform:uppercase}.v9-header nav{display:flex;gap:clamp(12px,2vw,30px);font:500 .62rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase}.v9-header nav a{position:relative}.v9-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:1px;background:currentColor;transition:right .3s}.v9-header nav a:hover:after{right:0}
.v9-cover{position:relative;min-height:100svh;background:var(--v9-paper);overflow:hidden;display:flex;align-items:center;padding:90px var(--v9-pad) 45px}.v9-cover-meta{position:absolute;top:82px;left:var(--v9-pad);right:var(--v9-pad);display:flex;justify-content:space-between;font:500 .58rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;z-index:4}.v9-cover-title{position:relative;z-index:3;width:100%;font:400 clamp(7rem,18vw,19rem)/.64 var(--serif);letter-spacing:-.075em;margin:0;color:var(--v9-ink);pointer-events:none}.v9-cover-title span{display:block}.v9-cover-title span:last-child{text-align:right}.v9-cover-role{position:absolute;z-index:5;left:var(--v9-pad);bottom:38px;margin:0;font:500 .62rem/1 var(--sans);letter-spacing:.11em;text-transform:uppercase}.v9-scroll{position:absolute;z-index:5;right:var(--v9-pad);bottom:31px;display:grid;grid-template-columns:auto 52px auto;align-items:center;gap:9px;font:500 .55rem/1 var(--sans);text-transform:uppercase;letter-spacing:.12em}.v9-scroll i{width:52px;height:1px;background:currentColor;transform-origin:left;animation:v9pulse 1.7s ease-in-out infinite}@keyframes v9pulse{50%{transform:scaleX(.25);opacity:.4}}
.v9-cover-collage{position:absolute;inset:0;z-index:2;pointer-events:none}.v9-float{position:absolute;overflow:hidden;box-shadow:0 16px 55px rgba(0,0,0,.13);will-change:transform}.v9-float-a{width:clamp(230px,27vw,520px);height:clamp(160px,19vw,350px);left:8vw;top:17vh;transform:rotate(-2.2deg)}.v9-float-b{width:clamp(180px,20vw,360px);height:clamp(250px,30vw,510px);right:10vw;top:10vh;transform:rotate(2.1deg)}.v9-float-c{width:clamp(190px,23vw,420px);height:clamp(140px,16vw,290px);left:43vw;bottom:8vh;transform:rotate(.9deg)}.v9-cover-picture{width:100%;height:100%}
.v9-projects{position:relative;background:#11100f;color:#f5f1e9;padding-top:clamp(85px,10vw,150px)}.v9-projects-top{padding:0 var(--v9-pad) clamp(50px,7vw,95px);display:grid;grid-template-columns:.28fr 1fr .28fr;gap:24px;align-items:end}.v9-projects-top p{margin:0;font:500 .58rem/1 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.58)}.v9-projects-top p:last-child{text-align:right}.v9-projects-top h2{font:400 clamp(6rem,14vw,15rem)/.65 var(--serif);letter-spacing:-.07em;margin:0}.v9-project-stage{position:relative;min-height:420vh}.v9-visual{position:sticky;top:0;height:100svh;overflow:hidden;z-index:1}.v9-cluster{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .55s ease,visibility .55s}.v9-cluster.is-active{opacity:1;visibility:visible}.v9-cluster picture{position:absolute;overflow:hidden;box-shadow:0 22px 80px rgba(0,0,0,.3);transition:transform 1.1s cubic-bezier(.18,.7,.2,1),filter .6s,opacity .55s;will-change:transform}.v9-cluster picture:nth-child(1){width:42vw;height:58vh;left:7vw;top:9vh;transform:translate(calc(var(--mx,0px)*-.35),calc(var(--my,0px)*-.25)) rotate(-1.8deg)}.v9-cluster picture:nth-child(2){width:25vw;height:42vh;right:7vw;top:12vh;transform:translate(calc(var(--mx,0px)*.55),calc(var(--my,0px)*-.18)) rotate(2.4deg)}.v9-cluster picture:nth-child(3){width:29vw;height:34vh;right:21vw;bottom:6vh;transform:translate(calc(var(--mx,0px)*.2),calc(var(--my,0px)*.5)) rotate(-.8deg)}.v9-cluster:not(.is-active) picture:nth-child(1){transform:translate(-70px,30px) rotate(-6deg) scale(.93)}.v9-cluster:not(.is-active) picture:nth-child(2){transform:translate(70px,-40px) rotate(8deg) scale(.92)}.v9-cluster:not(.is-active) picture:nth-child(3){transform:translate(0,70px) rotate(-5deg) scale(.94)}
.v9-project-list{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column}.v9-project-row{min-height:84vh;padding:0 var(--v9-pad);display:grid;grid-template-columns:55px 1fr minmax(130px,260px) 42px;gap:22px;align-items:center;border-top:1px solid rgba(255,255,255,.17);color:#fff;isolation:isolate}.v9-project-row:last-child{border-bottom:1px solid rgba(255,255,255,.17)}.v9-project-row:before{content:"";position:absolute;left:0;right:0;height:84vh;background:rgba(17,16,15,.07);opacity:0;transition:opacity .3s;z-index:-1}.v9-project-row:hover:before,.v9-project-row.is-active:before{opacity:1}.v9-project-row .v9-no,.v9-project-row p,.v9-arrow{font:500 .58rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6)}.v9-project-row h3{font:400 clamp(4.7rem,10vw,11rem)/.72 var(--serif);letter-spacing:-.065em;margin:0;transition:transform .45s cubic-bezier(.2,.7,.2,1),letter-spacing .45s}.v9-project-row:hover h3,.v9-project-row.is-active h3{transform:translateX(1.7vw);letter-spacing:-.075em}.v9-arrow{font-size:1.4rem;justify-self:end;transition:transform .35s}.v9-project-row:hover .v9-arrow{transform:rotate(45deg)}
.v9-trail{position:fixed;z-index:80;width:clamp(120px,12vw,210px);height:clamp(85px,9vw,150px);pointer-events:none;overflow:hidden;transform:translate(-50%,-50%) scale(.72) rotate(var(--r));opacity:0;animation:v9trail .95s cubic-bezier(.2,.7,.2,1) forwards;box-shadow:0 15px 50px rgba(0,0,0,.3)}.v9-trail img{width:100%;height:100%;object-fit:cover}@keyframes v9trail{12%{opacity:.95;transform:translate(-50%,-50%) scale(1) rotate(var(--r))}75%{opacity:.75}100%{opacity:0;transform:translate(-50%,-65%) scale(.86) rotate(0deg)}}
.v9-marquee{overflow:hidden;background:#e5402b;color:#16120f;padding:18px 0;border-top:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12)}.v9-marquee>div{display:flex;width:max-content;align-items:center;gap:28px;white-space:nowrap;font:400 clamp(2.6rem,5.6vw,6rem)/.9 var(--serif);letter-spacing:-.04em;animation:v9marquee 30s linear infinite}.v9-marquee i{font-style:normal;font-size:.35em}.v9-marquee span{display:inline-block}@keyframes v9marquee{to{transform:translateX(-50%)}}
.v9-services{padding:clamp(95px,12vw,165px) var(--v9-pad);display:grid;grid-template-columns:.27fr .73fr;gap:clamp(30px,6vw,90px)}.v9-section-kicker,.v9-services>div:first-child{font:500 .6rem/1 var(--sans);letter-spacing:.13em;text-transform:uppercase}.v9-services-title h2{font:400 clamp(4rem,8vw,9rem)/.83 var(--serif);letter-spacing:-.06em;margin:0}.v9-services-title>p{font:400 clamp(1.15rem,1.9vw,1.65rem)/1.4 var(--serif);max-width:43rem;margin:45px 0 70px}.v9-service-lines{grid-column:2;border-top:1px solid var(--v9-line)}.v9-service-lines article{display:grid;grid-template-columns:45px .9fr 1fr;gap:24px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--v9-line);transition:padding .25s}.v9-service-lines article:hover{padding-left:12px}.v9-service-lines span{font:.6rem var(--sans);color:var(--v9-muted)}.v9-service-lines h3{font:400 clamp(1.55rem,2.8vw,3.1rem)/1 var(--serif);margin:0}.v9-service-lines p{font:.82rem/1.45 var(--sans);color:var(--v9-muted);margin:0}
.v9-formules{background:#151412;color:#f2eee6;padding:clamp(90px,11vw,150px) 0}.v9-formules>header{padding:0 var(--v9-pad) 55px;display:grid;grid-template-columns:.22fr 1fr .18fr;gap:25px;align-items:end}.v9-formules>header p,.v9-formules>header span{font:500 .6rem/1 var(--sans);text-transform:uppercase;letter-spacing:.13em;color:rgba(255,255,255,.6)}.v9-formules>header span{text-align:right}.v9-formules h2{font:400 clamp(4.5rem,9vw,9.5rem)/.8 var(--serif);letter-spacing:-.06em;margin:0}.v9-price-rail{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;padding-left:var(--v9-pad);padding-right:var(--v9-pad);scrollbar-width:none;cursor:grab}.v9-price-rail::-webkit-scrollbar,.v9-journal-rail::-webkit-scrollbar{display:none}.v9-price-rail.is-dragging{cursor:grabbing;scroll-snap-type:none}.v9-price{position:relative;flex:0 0 min(72vw,660px);min-height:590px;border:1px solid rgba(255,255,255,.2);border-right:0;padding:30px 34px 34px;display:flex;flex-direction:column;scroll-snap-align:start;transition:background .3s,color .3s}.v9-price:last-child{border-right:1px solid rgba(255,255,255,.2)}.v9-price:hover,.v9-price.featured{background:#f2eee6;color:#151412}.v9-price em{position:absolute;right:22px;top:-12px;background:#e5402b;color:#fff;font:normal .56rem var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:7px 10px}.v9-price>div{display:flex;justify-content:space-between;gap:24px;font:500 .64rem var(--sans);text-transform:uppercase;letter-spacing:.1em}.v9-price strong{font-weight:500}.v9-price h3{font:400 clamp(2.6rem,4.5vw,5rem)/.9 var(--serif);letter-spacing:-.045em;margin:55px 0 40px;max-width:9em}.v9-price ul{list-style:none;margin:0 0 35px;padding:0;font:.78rem/1.4 var(--sans);opacity:.7}.v9-price li{border-bottom:1px solid currentColor;padding:9px 0}.v9-price>a{margin-top:auto;font:.62rem var(--sans);text-transform:uppercase;letter-spacing:.13em}.v9-price-more p{max-width:30rem;font:400 1.2rem/1.45 var(--serif);opacity:.75}
.v9-journal{padding:clamp(95px,12vw,160px) 0;background:#d9d1c3}.v9-journal>header{padding:0 var(--v9-pad) 60px;display:grid;grid-template-columns:.22fr 1fr .22fr;align-items:end;gap:25px}.v9-journal>header p,.v9-journal>header a{font:.6rem var(--sans);text-transform:uppercase;letter-spacing:.12em}.v9-journal>header a{text-align:right}.v9-journal h2{font:400 clamp(4rem,8vw,8.5rem)/.82 var(--serif);letter-spacing:-.055em;margin:0}.v9-journal-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--v9-pad);cursor:grab;scrollbar-width:none}.v9-journal-rail>a{flex:0 0 min(52vw,570px);min-height:430px;padding:27px 32px;border:1px solid rgba(21,20,18,.25);border-right:0;display:flex;flex-direction:column;scroll-snap-align:start;transition:background .3s,color .3s}.v9-journal-rail>a:last-child{border-right:1px solid rgba(21,20,18,.25)}.v9-journal-rail>a:hover{background:#151412;color:#f2eee6}.v9-journal-rail small{font:.58rem var(--sans);text-transform:uppercase;letter-spacing:.12em}.v9-journal-rail h3{font:400 clamp(2rem,3.6vw,4rem)/.95 var(--serif);margin:55px 0 25px;max-width:9em}.v9-journal-rail span{margin-top:auto;font:.58rem var(--sans);text-transform:uppercase;letter-spacing:.13em}
.v9-info-strip{padding:clamp(90px,11vw,150px) var(--v9-pad);display:grid;grid-template-columns:.31fr .69fr;gap:50px}.v9-info-strip>div:first-child p{font:.6rem var(--sans);text-transform:uppercase;letter-spacing:.12em}.v9-info-strip h2{font:400 clamp(3.7rem,7vw,7rem)/.8 var(--serif);letter-spacing:-.055em;margin:25px 0 0}.v9-info-cells{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--v9-line)}.v9-info-cells article{padding:28px 30px 50px 0;border-bottom:1px solid var(--v9-line)}.v9-info-cells article:nth-child(odd){border-right:1px solid var(--v9-line)}.v9-info-cells article:nth-child(even){padding-left:30px}.v9-info-cells h3{font:400 1.7rem var(--serif);margin:0 0 15px}.v9-info-cells p{font:.82rem/1.55 var(--sans);color:var(--v9-muted);margin:0}.v9-info-cells a{display:inline-block;margin-top:25px;font:.58rem var(--sans);text-transform:uppercase;letter-spacing:.12em}
.v9-contact{min-height:78vh;background:#e5402b;color:#17120f;padding:clamp(80px,10vw,130px) var(--v9-pad);display:grid;grid-template-columns:.25fr .75fr;align-content:center}.v9-contact>p{font:.6rem var(--sans);text-transform:uppercase;letter-spacing:.12em}.v9-contact h2{grid-column:2;font:400 clamp(7rem,16vw,17rem)/.63 var(--serif);letter-spacing:-.075em;margin:0}.v9-contact>div{grid-column:2;display:flex;flex-wrap:wrap;gap:18px 38px;margin-top:70px;font:.64rem var(--sans);text-transform:uppercase;letter-spacing:.12em}.v9-contact>div a:first-child{font-size:1.05rem;border-bottom:1px solid;padding-bottom:5px}.v9-footer{padding:24px var(--v9-pad);display:flex;justify-content:space-between;gap:30px;background:#151412;color:#f2eee6;font:.56rem/1.3 var(--sans);text-transform:uppercase;letter-spacing:.1em}
.v9-wipe{position:fixed;z-index:999;inset:0;background:#11100f;transform:translateY(102%);pointer-events:none;transition:transform .55s cubic-bezier(.7,0,.2,1)}.v9-wipe.is-in{transform:translateY(0)}
/* Project pages */
.v9-project-page{background:#11100f;color:#f2eee6}.v9-project-nav{position:fixed;z-index:90;top:0;left:0;width:100%;padding:20px var(--v9-pad);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;font:.58rem var(--sans);text-transform:uppercase;letter-spacing:.12em;mix-blend-mode:difference}.v9-project-nav span{text-align:center}.v9-project-nav a:last-child{text-align:right}.v9-close:before{content:"×";display:inline-block;font-size:1.1rem;margin-right:8px;vertical-align:-1px}.v9-project-cover{position:relative;min-height:100svh;overflow:hidden;display:flex;align-items:center;padding:80px var(--v9-pad)}.v9-project-cover>div:first-child{position:relative;z-index:3;width:100%;pointer-events:none}.v9-project-cover p{font:.59rem var(--sans);text-transform:uppercase;letter-spacing:.13em}.v9-project-cover h1{font:400 clamp(6rem,17vw,18rem)/.66 var(--serif);letter-spacing:-.075em;margin:20px 0;white-space:nowrap}.v9-project-cover-image{position:absolute!important;z-index:1!important;width:min(43vw,720px)!important;height:62vh!important;right:8vw;top:19vh;overflow:hidden;transform:rotate(1.2deg)}.v9-project-cover-image picture{display:block;width:100%;height:100%}.v9-project-scroll{position:absolute!important;left:var(--v9-pad);bottom:28px;z-index:4!important;display:grid!important;grid-template-columns:auto 55px auto;align-items:center;gap:8px;width:auto!important;font:.55rem var(--sans)}.v9-project-scroll i{height:1px;background:#fff}.v9-project-film{background:var(--v9-paper);color:var(--v9-ink);padding:15vh var(--v9-pad);display:flex;flex-direction:column;gap:22vh}.v9-project-shot{height:78vh;overflow:hidden;opacity:.72;transform:translateY(50px) scale(.975);transition:opacity .8s,transform 1s cubic-bezier(.2,.7,.2,1)}.v9-project-shot.in-view{opacity:1;transform:none}.v9-project-shot.wide{width:min(86vw,1450px);align-self:center}.v9-project-shot.portrait{width:min(48vw,720px);height:82vh;align-self:flex-end;margin-right:7vw}.v9-project-shot:nth-child(even).portrait{align-self:flex-start;margin-left:9vw;margin-right:0}.v9-project-end{padding:12vh var(--v9-pad) 16vh;background:#11100f;color:#f2eee6;display:grid;grid-template-columns:.38fr .62fr;gap:45px}.v9-project-end>p{font:400 clamp(1.3rem,2.1vw,1.8rem)/1.4 var(--serif);max-width:24em;margin:0}.v9-project-end>a{border-top:1px solid rgba(255,255,255,.25);padding-top:25px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.v9-project-end small{grid-column:1/-1;font:.58rem var(--sans);text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.55)}.v9-project-end strong{font:400 clamp(3.5rem,7vw,8rem)/.8 var(--serif);letter-spacing:-.06em}.v9-project-end>a span{font-size:2rem}.v9-project-progress{position:fixed;z-index:95;left:0;right:0;bottom:0;height:2px;background:rgba(255,255,255,.15)}.v9-project-progress i{display:block;height:100%;width:0;background:#fff}
@media(max-width:900px){.v9-cover-title{font-size:20vw}.v9-cover-collage{opacity:.9}.v9-float-a{left:4vw;top:22vh}.v9-float-b{right:4vw}.v9-float-c{left:42vw}.v9-projects-top{grid-template-columns:1fr}.v9-projects-top p:last-child{display:none}.v9-project-stage{min-height:auto}.v9-visual{display:none}.v9-project-list{position:relative}.v9-project-row{min-height:46vh;grid-template-columns:38px 1fr 34px;padding-top:40px;padding-bottom:40px;background-size:cover;background-position:center}.v9-project-row p{grid-column:2}.v9-project-row h3{font-size:11vw}.v9-project-row .v9-arrow{grid-column:3;grid-row:1/3}.v9-project-row:before{height:100%;background:rgba(0,0,0,.32);opacity:1}.v9-services,.v9-info-strip{grid-template-columns:1fr}.v9-service-lines{grid-column:1}.v9-formules>header,.v9-journal>header{grid-template-columns:1fr}.v9-formules>header span,.v9-journal>header>a{text-align:left}.v9-price{flex-basis:82vw}.v9-journal-rail>a{flex-basis:74vw}.v9-info-cells{grid-template-columns:1fr}.v9-info-cells article:nth-child(odd){border-right:0}.v9-info-cells article:nth-child(even){padding-left:0}.v9-contact{grid-template-columns:1fr}.v9-contact h2,.v9-contact>div{grid-column:1}.v9-project-cover h1{font-size:17vw}.v9-project-cover-image{width:58vw!important;right:4vw;opacity:.72}.v9-project-end{grid-template-columns:1fr}.v9-project-shot.portrait{width:70vw}}
@media(max-width:650px){.v9-header{padding:16px 14px}.v9-header nav{gap:10px}.v9-header nav a{font-size:.5rem}.v9-header nav a:nth-child(4){display:none}.v9-brand{font-size:.58rem}.v9-cover{padding-inline:14px}.v9-cover-meta{left:14px;right:14px;top:66px}.v9-cover-title{font-size:21.5vw}.v9-float-a{width:48vw;height:29vw;top:26vh}.v9-float-b{width:36vw;height:52vw;top:16vh}.v9-float-c{width:40vw;height:26vw;left:34vw;bottom:18vh}.v9-cover-role{left:14px;bottom:24px;max-width:58vw;line-height:1.4}.v9-scroll{right:14px;bottom:19px}.v9-scroll i{width:28px}.v9-projects-top{padding-inline:14px}.v9-projects-top h2{font-size:24vw}.v9-project-row{padding-inline:14px;min-height:42vh}.v9-project-row h3{font-size:12vw}.v9-services,.v9-info-strip,.v9-contact{padding-inline:14px}.v9-services-title h2,.v9-formules h2,.v9-journal h2{font-size:14vw}.v9-service-lines article{grid-template-columns:30px 1fr}.v9-service-lines p{grid-column:2}.v9-price-rail,.v9-journal-rail{padding-left:14px;padding-right:14px}.v9-price{flex-basis:88vw;min-height:520px;padding:24px}.v9-journal-rail>a{flex-basis:86vw;min-height:360px}.v9-contact h2{font-size:25vw}.v9-footer{padding-inline:14px;flex-direction:column}.v9-project-nav{padding:16px 14px}.v9-project-nav span{display:none}.v9-project-nav{grid-template-columns:1fr 1fr}.v9-project-cover{padding-inline:14px}.v9-project-cover h1{font-size:20vw}.v9-project-cover-image{width:72vw!important;height:54vh!important;right:-5vw;top:23vh}.v9-project-film{padding:10vh 14px;gap:12vh}.v9-project-shot.wide{width:100%;height:62vh}.v9-project-shot.portrait{width:82vw;height:65vh;margin-right:0}.v9-project-end{padding-inline:14px}.v9-project-end strong{font-size:13vw}}
@media(prefers-reduced-motion:reduce){.v9-scroll i,.v9-marquee>div,.v9-trail{animation:none}.v9-float,.v9-cluster picture,.v9-project-shot,.v9-wipe{transition:none}.v9-project-shot{opacity:1;transform:none}}
/* V9 small compatibility refinements */
.v9-cover-picture{display:block;width:100%;height:100%}
.v9-trail{--r:0deg}
@media(max-width:900px){
  .v9-project-row[data-project="0"]{background-image:linear-gradient(rgba(0,0,0,.30),rgba(0,0,0,.38)),url("images/nature-morte-oeuf-biere-pain-800.webp")}
  .v9-project-row[data-project="1"]{background-image:linear-gradient(rgba(0,0,0,.30),rgba(0,0,0,.38)),url("images/tarte-pommes-800.webp")}
  .v9-project-row[data-project="2"]{background-image:linear-gradient(rgba(0,0,0,.30),rgba(0,0,0,.38)),url("images/burger-restaurant-800.webp")}
  .v9-project-row[data-project="3"]{background-image:linear-gradient(rgba(0,0,0,.30),rgba(0,0,0,.38)),url("images/sushis-presentoir-800.webp")}
  .v9-project-row[data-project="4"]{background-image:linear-gradient(rgba(0,0,0,.30),rgba(0,0,0,.38)),url("images/dessert-pamplemousse-800.webp")}
}

/* ==========================================================
   V10 — scroll gallery / parallax homepage
   ========================================================== */
.v10-home{--v10-paper:#f2eee6;--v10-ink:#151412;--v10-red:#e2462f;--v10-pad:clamp(16px,3.4vw,54px);background:var(--v10-paper);color:var(--v10-ink);overflow-x:clip}.v10-home .skip{position:fixed;left:-9999px;top:0}.v10-home .skip:focus{left:12px;top:12px;z-index:999;background:#fff;color:#111;padding:10px 14px}.v10-header{position:fixed;z-index:300;top:0;left:0;right:0;padding:18px var(--v10-pad);display:flex;align-items:center;justify-content:space-between;gap:30px;mix-blend-mode:difference;color:#fff;pointer-events:none}.v10-header a{pointer-events:auto;color:inherit;text-decoration:none}.v10-brand{font:600 .67rem/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.15em}.v10-header nav{display:flex;align-items:center;gap:clamp(12px,2vw,32px);font:500 .58rem/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.13em}.v10-contact-link{border-bottom:1px solid currentColor;padding-bottom:4px}
.v10-intro{min-height:100svh;position:relative;padding:86px var(--v10-pad) 28px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.v10-intro-meta{position:absolute;left:var(--v10-pad);right:var(--v10-pad);top:88px;display:flex;justify-content:space-between;font:500 .58rem/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.14em}.v10-intro h1{margin:0;font:400 clamp(5.2rem,15.3vw,17rem)/.63 Georgia,"Times New Roman",serif;letter-spacing:-.075em}.v10-intro h1 span{display:block}.v10-intro h1 span:last-child{text-align:right}.v10-intro-bottom{position:absolute;left:var(--v10-pad);right:var(--v10-pad);bottom:28px;display:flex;justify-content:space-between;align-items:end;gap:25px;font:500 .57rem/1.45 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.13em}.v10-intro-bottom p{margin:0;max-width:320px}.v10-intro-bottom a{display:grid;grid-template-columns:auto 48px auto;align-items:center;gap:9px}.v10-intro-bottom i{display:block;height:1px;background:currentColor}
.v10-scroll-gallery{height:calc(100svh + (var(--count) * 70vh));position:relative;background:#10100f;color:#f4f0e8}.v10-gallery-stage{position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate;cursor:crosshair}.v10-gallery-stage:before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 50% 48%,rgba(255,255,255,.035),transparent 42%),#10100f}.v10-gallery-word{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);font:400 clamp(7rem,19vw,21rem)/.65 Georgia,"Times New Roman",serif;letter-spacing:-.08em;color:rgba(244,240,232,.055);white-space:nowrap;pointer-events:none}.v10-gallery-frames{position:absolute;inset:0;z-index:3;pointer-events:none}.v10-frame{position:absolute;left:var(--x);top:var(--y);width:var(--w);max-width:1600px;margin:0;opacity:0;will-change:transform,opacity;transform-origin:center center;pointer-events:none}.v10-frame picture,.v10-frame img{display:block;width:100%;height:auto}.v10-frame img{max-height:76svh;object-fit:contain;box-shadow:0 32px 80px rgba(0,0,0,.26)}.v10-gallery-ui{position:absolute;z-index:10;left:var(--v10-pad);right:var(--v10-pad);bottom:24px;display:grid;grid-template-columns:minmax(165px,.22fr) 1fr;gap:18px 40px;align-items:end;pointer-events:none}.v10-gallery-ui>div:first-child{display:flex;gap:22px;align-items:center;font:500 .54rem/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.72)}.v10-gallery-ui h2{margin:0;font:400 clamp(2rem,4.2vw,5rem)/.88 Georgia,"Times New Roman",serif;letter-spacing:-.05em;text-align:right}.v10-progress{grid-column:1/-1;height:1px;background:rgba(255,255,255,.18)}.v10-progress i{display:block;width:0;height:100%;background:#fff}
.v10-project-index{padding:clamp(90px,10vw,150px) var(--v10-pad);background:var(--v10-paper);position:relative;z-index:4}.v10-project-head{display:grid;grid-template-columns:.23fr 1fr .15fr;gap:24px;align-items:end;margin-bottom:50px}.v10-project-head p,.v10-project-head span{margin:0;font:500 .57rem/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.13em}.v10-project-head span{text-align:right}.v10-project-head h2{margin:0;font:400 clamp(5rem,11vw,12rem)/.72 Georgia,"Times New Roman",serif;letter-spacing:-.07em}.v10-project-rows{position:relative;border-top:1px solid rgba(21,20,18,.2)}.v10-project-rows>a{position:relative;z-index:2;display:grid;grid-template-columns:50px minmax(0,1fr) minmax(130px,.25fr) 34px;gap:20px;align-items:center;min-height:128px;border-bottom:1px solid rgba(21,20,18,.2);transition:opacity .25s}.v10-project-rows>a span,.v10-project-rows>a em{font:500 .56rem/1.25 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.12em;font-style:normal}.v10-project-rows>a h3{margin:0;font:400 clamp(3rem,6.6vw,7rem)/.82 Georgia,"Times New Roman",serif;letter-spacing:-.055em}.v10-project-rows>a b{font:400 1.3rem/1 Arial,Helvetica,sans-serif}.v10-project-rows:hover>a:not(:hover){opacity:.28}.v10-project-preview{position:fixed;z-index:250;width:min(29vw,410px);aspect-ratio:4/3;left:0;top:0;opacity:0;transform:translate(-50%,-50%) scale(.86) rotate(-2deg);transition:opacity .18s,transform .28s cubic-bezier(.2,.8,.2,1);pointer-events:none;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.16)}.v10-project-preview.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-2deg)}.v10-project-preview img{width:100%;height:100%;object-fit:cover}
.v10-services{padding:clamp(100px,12vw,170px) var(--v10-pad);background:#d8d0c3;display:grid;grid-template-columns:.22fr .78fr;gap:50px 20px}.v10-section-label{font:500 .57rem/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.13em}.v10-services-copy h2{font:400 clamp(4rem,8vw,9rem)/.82 Georgia,"Times New Roman",serif;letter-spacing:-.06em;margin:0 0 32px}.v10-services-copy p{font:400 clamp(1.05rem,1.6vw,1.35rem)/1.5 Georgia,"Times New Roman",serif;max-width:44rem;margin:0}.v10-service-grid{grid-column:2;display:grid;grid-template-columns:1fr 1fr;margin-top:30px;border-top:1px solid rgba(21,20,18,.22)}.v10-service-grid article{padding:28px 28px 36px 0;border-bottom:1px solid rgba(21,20,18,.22);min-height:180px}.v10-service-grid article:nth-child(even){padding-left:28px;border-left:1px solid rgba(21,20,18,.22)}.v10-service-grid span{font:.55rem Arial,Helvetica,sans-serif}.v10-service-grid h3{font:400 clamp(2rem,3.1vw,3.6rem)/.95 Georgia,"Times New Roman",serif;letter-spacing:-.045em;margin:24px 0 15px}.v10-service-grid p{font:.82rem/1.5 Arial,Helvetica,sans-serif;max-width:28rem}
.v10-formules{background:#151412;color:#f2eee6;padding:clamp(100px,12vw,160px) var(--v10-pad)}.v10-formules>header{display:grid;grid-template-columns:.2fr 1fr .2fr;gap:25px;align-items:end;margin-bottom:70px}.v10-formules>header p,.v10-formules>header a{font:500 .57rem/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.13em}.v10-formules>header a{text-align:right}.v10-formules h2{margin:0;font:400 clamp(4rem,8vw,9rem)/.8 Georgia,"Times New Roman",serif;letter-spacing:-.06em}.v10-prices{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.25);border-left:1px solid rgba(255,255,255,.25)}.v10-prices article{position:relative;min-height:650px;padding:28px;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25);transition:background .25s,color .25s}.v10-prices article:hover,.v10-prices article.is-featured{background:#f2eee6;color:#151412}.v10-prices article>em{position:absolute;right:18px;top:18px;font:500 .54rem/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.12em;background:#e2462f;color:#fff;padding:8px 10px}.v10-price-name{font:500 .58rem/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.13em}.v10-prices strong{display:block;font:400 clamp(4.8rem,7.4vw,8.3rem)/.8 Georgia,"Times New Roman",serif;letter-spacing:-.07em;margin:56px 0 34px;white-space:nowrap}.v10-prices strong small{font-size:.17em;letter-spacing:.03em;text-transform:uppercase;vertical-align:top;margin-right:5px}.v10-prices h3{font:400 clamp(1.8rem,2.7vw,3.2rem)/.95 Georgia,"Times New Roman",serif;letter-spacing:-.04em;margin:0 0 35px}.v10-prices ul{list-style:none;margin:0 0 36px;padding:0;font:.72rem/1.35 Arial,Helvetica,sans-serif}.v10-prices li{padding:9px 0;border-bottom:1px solid currentColor;opacity:.72}.v10-prices article>a{margin-top:auto;font:600 .62rem/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid currentColor;padding-bottom:7px;width:max-content}.v10-pricing-note{margin:25px 0 0;max-width:58rem;font:.68rem/1.5 Arial,Helvetica,sans-serif;color:rgba(255,255,255,.62)}
.v10-journal{padding:clamp(100px,12vw,160px) var(--v10-pad);background:var(--v10-paper)}.v10-journal>header{display:grid;grid-template-columns:.2fr 1fr .2fr;gap:25px;align-items:end;margin-bottom:55px}.v10-journal>header p,.v10-journal>header a{font:500 .57rem/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.13em}.v10-journal>header a{text-align:right}.v10-journal h2{margin:0;font:400 clamp(4rem,8vw,8.5rem)/.82 Georgia,"Times New Roman",serif;letter-spacing:-.058em}.v10-journal-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(21,20,18,.22);border-left:1px solid rgba(21,20,18,.22)}.v10-journal-grid>a{min-height:390px;padding:25px;display:flex;flex-direction:column;border-right:1px solid rgba(21,20,18,.22);border-bottom:1px solid rgba(21,20,18,.22);transition:background .25s,color .25s}.v10-journal-grid>a:hover{background:#151412;color:#f2eee6}.v10-journal-grid small{font:.55rem/1.3 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.12em}.v10-journal-grid h3{font:400 clamp(1.8rem,2.7vw,3rem)/.95 Georgia,"Times New Roman",serif;letter-spacing:-.04em;margin:50px 0 30px}.v10-journal-grid span{margin-top:auto;font:.57rem Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.12em}
.v10-practical{padding:clamp(100px,12vw,160px) var(--v10-pad);background:#d8d0c3;display:grid;grid-template-columns:.36fr .64fr;gap:55px}.v10-practical>div:first-child>p{font:500 .57rem Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.13em}.v10-practical h2{font:400 clamp(4.4rem,8.5vw,9rem)/.78 Georgia,"Times New Roman",serif;letter-spacing:-.06em;margin:32px 0 0}.v10-practical-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(21,20,18,.22)}.v10-practical-grid article{padding:28px 30px 35px 0;border-bottom:1px solid rgba(21,20,18,.22)}.v10-practical-grid article:nth-child(even){padding-left:30px;border-left:1px solid rgba(21,20,18,.22)}.v10-practical-grid h3{font:400 2rem/.95 Georgia,"Times New Roman",serif;margin:0 0 20px}.v10-practical-grid p{font:.78rem/1.55 Arial,Helvetica,sans-serif}.v10-practical-grid a{font:.59rem Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid;padding-bottom:4px}
.v10-contact{min-height:78svh;background:#e2462f;color:#17120f;padding:clamp(90px,11vw,150px) var(--v10-pad);display:grid;grid-template-columns:.2fr .8fr;align-content:center;position:relative;z-index:5}.v10-contact>p{font:500 .58rem Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.13em}.v10-contact h2{grid-column:2;margin:0;font:400 clamp(7rem,16vw,17rem)/.64 Georgia,"Times New Roman",serif;letter-spacing:-.075em}.v10-contact-links{grid-column:2;display:flex;flex-wrap:wrap;gap:20px 38px;margin-top:66px;position:relative;z-index:6}.v10-contact-links a{position:relative;z-index:7;font:600 .62rem/1 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.12em;padding:6px 0;border-bottom:1px solid transparent}.v10-contact-links a:hover,.v10-contact-links a:focus{border-bottom-color:currentColor}.v10-contact-links .primary{font-size:.96rem;border-bottom-color:currentColor}.v10-footer{background:#151412;color:#f2eee6;padding:24px var(--v10-pad);display:flex;justify-content:space-between;gap:24px;font:500 .55rem/1.35 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.11em}.v10-footer a{color:inherit}
@media(max-width:980px){.v10-scroll-gallery{height:calc(100svh + (var(--count) * 64vh))}.v10-frame{width:min(var(--w),82vw)!important;left:50%!important}.v10-project-head,.v10-formules>header,.v10-journal>header{grid-template-columns:1fr}.v10-project-head span,.v10-formules>header a,.v10-journal>header a{text-align:left}.v10-project-preview{display:none}.v10-services,.v10-practical{grid-template-columns:1fr}.v10-service-grid{grid-column:1}.v10-prices{grid-template-columns:1fr}.v10-prices article{min-height:510px}.v10-prices strong{font-size:clamp(5rem,14vw,8rem)}.v10-journal-grid{grid-template-columns:1fr 1fr}.v10-contact{grid-template-columns:1fr}.v10-contact h2,.v10-contact-links{grid-column:1}}
@media(max-width:680px){.v10-header{padding:15px 14px}.v10-header nav{gap:10px}.v10-header nav a{font-size:.48rem}.v10-header nav a:nth-child(4){display:none}.v10-brand{font-size:.54rem}.v10-intro{padding-left:14px;padding-right:14px}.v10-intro-meta{left:14px;right:14px;top:72px}.v10-intro h1{font-size:21vw}.v10-intro-bottom{left:14px;right:14px}.v10-intro-bottom p{max-width:48vw}.v10-scroll-gallery{height:calc(100svh + (var(--count) * 58vh))}.v10-gallery-word{font-size:25vw}.v10-frame{width:min(92vw,var(--w))!important;left:50%!important;top:48%!important}.v10-frame img{max-height:68svh}.v10-gallery-ui{left:14px;right:14px;bottom:18px;grid-template-columns:1fr}.v10-gallery-ui h2{text-align:left;font-size:9vw}.v10-gallery-ui>div:first-child{gap:16px}.v10-project-index,.v10-services,.v10-formules,.v10-journal,.v10-practical,.v10-contact{padding-left:14px;padding-right:14px}.v10-project-head h2{font-size:21vw}.v10-project-rows>a{grid-template-columns:32px 1fr 28px;gap:12px;min-height:105px}.v10-project-rows>a em{display:none}.v10-project-rows>a h3{font-size:11vw}.v10-project-rows>a b{grid-column:3}.v10-services-copy h2,.v10-formules h2,.v10-journal h2,.v10-practical h2{font-size:14vw}.v10-service-grid,.v10-practical-grid,.v10-journal-grid{grid-template-columns:1fr}.v10-service-grid article:nth-child(even),.v10-practical-grid article:nth-child(even){padding-left:0;border-left:0}.v10-prices article{padding:24px;min-height:480px}.v10-prices strong{font-size:18vw;margin-top:52px}.v10-journal-grid>a{min-height:300px}.v10-contact h2{font-size:25vw}.v10-contact-links{gap:16px 26px}.v10-footer{padding:22px 14px;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.v10-frame{transition:none!important}.v10-project-preview{display:none}.v10-project-rows:hover>a:not(:hover){opacity:1}}


/* ==========================================================
   V10.1 — white scroll stage + unified fixed navigation
   ========================================================== */
.v10-header{padding:18px var(--v10-pad,clamp(16px,3.4vw,54px));display:flex;align-items:flex-start;justify-content:space-between;gap:30px;mix-blend-mode:difference;color:#fff;pointer-events:none}
.v10-brand{display:flex;align-items:baseline;gap:13px;white-space:nowrap;font-family:Arial,Helvetica,sans-serif;text-transform:uppercase;text-decoration:none}
.v10-brand-name{font-size:.67rem;font-weight:600;line-height:1;letter-spacing:.15em}
.v10-brand-role{font-size:.55rem;font-weight:500;line-height:1;letter-spacing:.13em;opacity:.72}
.v10-header nav{margin-left:auto;justify-content:flex-end;flex:0 0 auto}
.v10-home{--v10-paper:#fff;background:#fff}
.v10-scroll-gallery{background:#fff;color:#151412}
.v10-gallery-stage{background:#fff}
.v10-gallery-stage:before{background:#fff}
.v10-gallery-word{display:none!important}
.v10-frame img{box-shadow:0 22px 58px rgba(0,0,0,.12)}
.v10-gallery-ui>div:first-child{color:rgba(21,20,18,.66)}
.v10-progress{background:rgba(21,20,18,.18)}
.v10-progress i{background:#151412}
.v10-project-index{background:#fff}

/* Keep the same right-aligned menu on every page. */
body:not(.v10-home)>.v10-header{position:fixed;top:0;left:0;right:0;width:100%;z-index:300}

@media(max-width:680px){
  .v10-header{padding:15px 14px;gap:12px;align-items:flex-start}
  .v10-brand{display:grid;gap:5px}
  .v10-brand-name{font-size:.54rem}
  .v10-brand-role{font-size:.43rem;letter-spacing:.11em}
  .v10-header nav{gap:9px}
  .v10-header nav a{font-size:.47rem}
  .v10-header nav a:nth-child(4){display:none}
}


/* ==========================================================
   V10.2 — menu aligned with photographetournai.be + overlap opening
   ========================================================== */
.v10-header{
  position:fixed!important;
  z-index:300;
  top:0;left:0;right:0;width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  padding:1.5rem var(--v10-pad,clamp(18px,4.5vw,72px));
  color:#fff;
  mix-blend-mode:difference;
  pointer-events:none;
}
.v10-header a{pointer-events:auto;color:inherit;text-decoration:none}
.v10-brand{
  display:flex;
  align-items:baseline;
  gap:1rem;
  white-space:nowrap;
  text-decoration:none;
  text-transform:uppercase;
}
.v10-brand-name{
  font-family:Arial,Helvetica,sans-serif;
  font-size:.72rem;
  line-height:1;
  font-weight:600;
  letter-spacing:.15em;
}
.v10-brand-role{
  font-family:Arial,Helvetica,sans-serif;
  font-size:.72rem;
  line-height:1;
  font-weight:400;
  letter-spacing:.13em;
  opacity:.68;
}
.v10-header nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  margin-left:auto;
  gap:clamp(1rem,2.5vw,2.5rem);
  flex:0 0 auto;
  font-family:Arial,Helvetica,sans-serif;
}
.v10-header nav a{
  padding:0;
  border:0!important;
  font-size:.72rem;
  line-height:1;
  font-weight:400;
  letter-spacing:.13em;
  text-transform:uppercase;
  text-decoration:none;
  white-space:nowrap;
}
.v10-header nav a:hover,
.v10-header nav a:focus-visible{
  text-decoration:underline;
  text-underline-offset:.45em;
  opacity:1;
}
.v10-contact-link{border:0!important;padding-bottom:0!important}

/* Opening composition: one image is already established, the next is entering. */
.v10-gallery-frames .v10-frame[data-index="0"]{
  opacity:1;
  transform:translate(-50%,-55%) scale(1.06) rotate(-.15deg);
}
.v10-gallery-frames .v10-frame[data-index="1"]{
  opacity:.46;
  transform:translate(-50%,-38%) scale(.80) rotate(1.1deg);
}
.v10-gallery-ui{bottom:26px}

@media(max-width:980px){
  .v10-header{padding:1.2rem 18px;gap:18px}
  .v10-brand{gap:.7rem}
  .v10-brand-name,.v10-brand-role,.v10-header nav a{font-size:.62rem}
  .v10-header nav{gap:clamp(12px,2.2vw,22px)}
}
@media(max-width:680px){
  .v10-header{padding:15px 14px;align-items:flex-start;gap:12px}
  .v10-brand{display:grid;gap:4px}
  .v10-brand-name{font-size:.54rem}
  .v10-brand-role{font-size:.46rem;letter-spacing:.1em}
  .v10-header nav{gap:9px}
  .v10-header nav a{font-size:.48rem;letter-spacing:.09em}
  .v10-header nav a:nth-child(4){display:none}
  .v10-gallery-frames .v10-frame[data-index="0"],
  .v10-gallery-frames .v10-frame[data-index="1"]{left:50%!important}
}


/* Responsive menu button: mirrors the compact Menu control used on the sister site. */
.v10-menu-btn{
  display:none;
  pointer-events:auto;
  margin-left:auto;
  border:0;
  background:transparent;
  color:inherit;
  padding:0;
  font:400 .72rem/1 Arial,Helvetica,sans-serif;
  text-transform:uppercase;
  letter-spacing:.13em;
  cursor:pointer;
}
@media(max-width:760px){
  .v10-header{align-items:flex-start}
  .v10-menu-btn{display:block;font-size:.56rem;letter-spacing:.12em;margin-top:1px}
  .v10-header nav{
    position:fixed;
    top:46px;
    right:14px;
    left:auto;
    width:auto;
    min-width:150px;
    padding:14px 16px;
    display:grid;
    justify-items:end;
    gap:13px;
    background:rgba(255,255,255,.96);
    color:#151412;
    mix-blend-mode:normal;
    box-shadow:0 12px 30px rgba(0,0,0,.08);
    opacity:0;
    visibility:hidden;
    transform:translateY(-7px);
    transition:opacity .2s ease,transform .2s ease,visibility .2s;
    pointer-events:none;
  }
  .v10-header.is-menu-open nav{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
  }
  .v10-header nav a{font-size:.58rem!important;letter-spacing:.12em!important}
  .v10-header nav a:nth-child(4){display:block!important}
}


/* V10.3 — supplied Nicolas Crombez identity */
.v10-brand{display:block!important;line-height:0!important;flex:0 0 auto!important}
.v10-brand-logo{display:block;width:clamp(112px,9.8vw,142px);height:auto;max-width:none;filter:invert(1);transform:translateZ(0)}
.v10-brand-name,.v10-brand-role{display:none!important}
.v10-header{align-items:flex-start!important}
.v10-header nav{padding-top:2px}
@media(max-width:980px){.v10-brand-logo{width:112px}.v10-header nav{padding-top:1px}}
@media(max-width:760px){.v10-brand-logo{width:88px}.v10-menu-btn{margin-top:2px}.v10-header nav{top:58px}}
@media(max-width:420px){.v10-brand-logo{width:78px}}


/* V10.4 — compact supplied NC monogram + textual identity */
.v10-brand{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  line-height:1!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
.v10-brand-logo{
  display:block!important;
  width:clamp(46px,4.2vw,62px)!important;
  height:auto!important;
  max-width:none!important;
  filter:invert(1)!important;
  transform:translateZ(0);
  flex:0 0 auto;
}
.v10-brand-copy{
  display:flex;
  align-items:baseline;
  gap:.85rem;
  font-family:Arial,Helvetica,sans-serif;
  text-transform:uppercase;
}
.v10-brand-name,
.v10-brand-role{
  display:inline-block!important;
  font-family:Arial,Helvetica,sans-serif!important;
  line-height:1!important;
  font-size:.68rem!important;
  letter-spacing:.13em!important;
  font-weight:400!important;
}
.v10-brand-name{font-weight:600!important}
.v10-brand-role{opacity:.68}
.v10-header{align-items:center!important}
.v10-header nav{padding-top:0!important}
@media(max-width:980px){
  .v10-brand-logo{width:50px!important}
  .v10-brand-copy{gap:.6rem}
  .v10-brand-name,.v10-brand-role{font-size:.58rem!important}
}
@media(max-width:760px){
  .v10-brand-logo{width:44px!important}
  .v10-brand-copy{display:grid;gap:3px}
  .v10-brand-name{font-size:.51rem!important}
  .v10-brand-role{font-size:.43rem!important;letter-spacing:.10em!important}
  .v10-menu-btn{margin-top:0!important}
  .v10-header nav{top:62px!important}
}
@media(max-width:420px){
  .v10-brand-logo{width:40px!important}
  .v10-brand{gap:9px!important}
  .v10-brand-name{font-size:.47rem!important}
  .v10-brand-role{font-size:.40rem!important}
}

/* V10.5 — larger supplied mark + two-line identity */
.v10-brand{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  line-height:1!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
.v10-brand-logo{
  display:block!important;
  width:clamp(68px,5.2vw,82px)!important;
  height:auto!important;
  max-width:none!important;
  filter:invert(1)!important;
  transform:translateZ(0);
  flex:0 0 auto!important;
}
.v10-brand-copy{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:5px!important;
  align-items:start!important;
  font-family:Arial,Helvetica,sans-serif!important;
  text-transform:none!important;
  line-height:1!important;
}
.v10-brand-name,
.v10-brand-role{
  display:block!important;
  font-family:Arial,Helvetica,sans-serif!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.v10-brand-name{
  font-size:.70rem!important;
  letter-spacing:.105em!important;
  font-weight:600!important;
}
.v10-brand-role{
  font-size:.57rem!important;
  letter-spacing:.105em!important;
  font-weight:400!important;
  opacity:.72!important;
}
.v10-header{align-items:center!important}
.v10-header nav{padding-top:0!important}
@media(max-width:980px){
  .v10-brand-logo{width:66px!important}
  .v10-brand{gap:12px!important}
  .v10-brand-name{font-size:.62rem!important}
  .v10-brand-role{font-size:.50rem!important}
}
@media(max-width:760px){
  .v10-brand-logo{width:56px!important}
  .v10-brand{gap:10px!important}
  .v10-brand-copy{gap:4px!important}
  .v10-brand-name{font-size:.54rem!important;letter-spacing:.085em!important}
  .v10-brand-role{font-size:.43rem!important;letter-spacing:.085em!important}
  .v10-menu-btn{margin-top:0!important}
  .v10-header nav{top:64px!important}
}
@media(max-width:420px){
  .v10-brand-logo{width:50px!important}
  .v10-brand{gap:8px!important}
  .v10-brand-name{font-size:.49rem!important}
  .v10-brand-role{font-size:.39rem!important}
}

/* V10.6 — more harmonious two-line identity */
.v10-brand-copy{
  gap:2px!important;
  line-height:1!important;
  font-family:Georgia,"Times New Roman",serif!important;
  transform:translateY(-1px);
}
.v10-brand-name,
.v10-brand-role{
  font-family:Georgia,"Times New Roman",serif!important;
  text-transform:none!important;
  font-weight:400!important;
  line-height:1.02!important;
  letter-spacing:.012em!important;
}
.v10-brand-name{
  font-size:.94rem!important;
  opacity:1!important;
}
.v10-brand-role{
  font-size:.79rem!important;
  opacity:.78!important;
}
@media(max-width:980px){
  .v10-brand-name{font-size:.84rem!important}
  .v10-brand-role{font-size:.70rem!important}
}
@media(max-width:760px){
  .v10-brand-copy{gap:2px!important}
  .v10-brand-name{font-size:.70rem!important;letter-spacing:.01em!important}
  .v10-brand-role{font-size:.59rem!important;letter-spacing:.01em!important}
}
@media(max-width:420px){
  .v10-brand-name{font-size:.62rem!important}
  .v10-brand-role{font-size:.52rem!important}
}

/* V10.7 — larger identity block, including mobile */
.v10-brand{
  gap:16px!important;
}
.v10-brand-logo{
  width:clamp(82px,6.2vw,98px)!important;
}
.v10-brand-copy{
  gap:3px!important;
  transform:translateY(-1px);
}
.v10-brand-name{
  font-size:1.10rem!important;
  line-height:1.01!important;
}
.v10-brand-role{
  font-size:.93rem!important;
  line-height:1.01!important;
  opacity:.80!important;
}
@media(max-width:980px){
  .v10-brand-logo{width:80px!important}
  .v10-brand{gap:14px!important}
  .v10-brand-name{font-size:.98rem!important}
  .v10-brand-role{font-size:.82rem!important}
}
@media(max-width:760px){
  .v10-header{padding:14px 14px!important;align-items:flex-start!important}
  .v10-brand-logo{width:68px!important}
  .v10-brand{gap:11px!important}
  .v10-brand-copy{gap:2px!important;transform:none}
  .v10-brand-name{font-size:.80rem!important;line-height:1.02!important}
  .v10-brand-role{font-size:.68rem!important;line-height:1.02!important;opacity:.82!important}
  .v10-menu-btn{margin-top:5px!important;font-size:.60rem!important}
  .v10-header nav{top:92px!important}
}
@media(max-width:420px){
  .v10-brand-logo{width:62px!important}
  .v10-brand{gap:9px!important}
  .v10-brand-name{font-size:.73rem!important}
  .v10-brand-role{font-size:.62rem!important}
  .v10-menu-btn{margin-top:4px!important}
  .v10-header nav{top:86px!important}
}

/* V10.9 — mobile full-screen navigation overlay */
@media(max-width:760px){
  body.v10-menu-lock{overflow:hidden!important;touch-action:none}

  .v10-header{
    z-index:1000!important;
  }
  .v10-header.is-menu-open{
    mix-blend-mode:normal!important;
    color:#151412!important;
  }
  .v10-brand,
  .v10-menu-btn{
    position:relative;
    z-index:1020;
  }
  .v10-header.is-menu-open .v10-brand-logo{
    filter:none!important;
  }
  .v10-menu-btn{
    min-width:56px;
    text-align:right;
    transition:opacity .2s ease;
  }
  .v10-header nav{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    min-width:0!important;
    height:100svh!important;
    padding:clamp(118px,19svh,165px) 22px 32px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    gap:0!important;
    background:#f7f5f0!important;
    color:#151412!important;
    mix-blend-mode:normal!important;
    box-shadow:none!important;
    opacity:0;
    visibility:hidden;
    transform:none!important;
    transition:opacity .32s cubic-bezier(.22,.61,.36,1),visibility .32s!important;
    pointer-events:none;
    overflow:auto;
    overscroll-behavior:contain;
    z-index:1010;
  }
  .v10-header.is-menu-open nav{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .v10-header nav a,
  .v10-header nav a:nth-child(4){
    display:flex!important;
    align-items:center;
    width:100%;
    min-height:clamp(66px,11svh,92px);
    border-top:1px solid rgba(21,20,18,.18);
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:clamp(2rem,9.5vw,4.4rem)!important;
    font-weight:400!important;
    line-height:.95!important;
    letter-spacing:-.035em!important;
    text-transform:none!important;
    opacity:0;
    transform:translateY(18px);
    transition:opacity .28s ease,transform .42s cubic-bezier(.2,.7,.2,1),color .18s ease!important;
  }
  .v10-header nav a:last-child{
    border-bottom:1px solid rgba(21,20,18,.18);
  }
  .v10-header nav a::after{
    content:"↗";
    margin-left:auto;
    padding-left:18px;
    font-family:Arial,Helvetica,sans-serif;
    font-size:.36em;
    line-height:1;
    letter-spacing:0;
    opacity:.45;
  }
  .v10-header nav a[href^="#"]::after,
  .v10-header nav a[href*="index.html#"]::after{
    content:"↓";
  }
  .v10-header nav .v10-contact-link{
    border-bottom:1px solid rgba(21,20,18,.18)!important;
    padding-bottom:0!important;
  }
  .v10-header.is-menu-open nav a{
    opacity:1;
    transform:translateY(0);
  }
  .v10-header.is-menu-open nav a:nth-child(1){transition-delay:.06s!important}
  .v10-header.is-menu-open nav a:nth-child(2){transition-delay:.10s!important}
  .v10-header.is-menu-open nav a:nth-child(3){transition-delay:.14s!important}
  .v10-header.is-menu-open nav a:nth-child(4){transition-delay:.18s!important}
  .v10-header.is-menu-open nav a:nth-child(5){transition-delay:.22s!important}

  .v10-header nav::after{
    content:"Tournai · Bruxelles · Lille";
    position:absolute;
    left:22px;
    bottom:max(24px,env(safe-area-inset-bottom));
    font:500 .58rem/1.2 Arial,Helvetica,sans-serif;
    text-transform:uppercase;
    letter-spacing:.15em;
    color:rgba(21,20,18,.52);
  }
}

@media(max-width:420px){
  .v10-header nav{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .v10-header nav::after{left:16px}
  .v10-header nav a{
    min-height:clamp(62px,10.2svh,78px);
    font-size:clamp(1.9rem,10.2vw,3.3rem)!important;
  }
}

/* ==========================================================
   V10.16 — mobile sticky poster stack, opaque + stable
   - random order on phones
   - posters stay fully opaque
   - only the current + incoming poster are painted
   - parallax uses object-position (no transformed GPU image layers)
   This avoids Safari/iPhone tile artefacts after several stacked posters.
   ========================================================== */
@media (max-width:680px){
  .v10-scroll-gallery{
    position:relative!important;
    height:auto!important;
    min-height:0!important;
    padding:0 0 18svh!important;
    overflow:visible!important;
    background:#fff!important;
    color:#151412!important;
  }
  .v10-gallery-stage{
    position:relative!important;
    top:auto!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    isolation:auto!important;
    cursor:auto!important;
    background:#fff!important;
  }
  .v10-gallery-stage::before,
  .v10-gallery-word,
  .v10-gallery-ui{
    display:none!important;
  }
  .v10-gallery-frames{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    display:block!important;
    overflow:visible!important;
    pointer-events:none!important;
    padding:0!important;
  }
  .v10-gallery-frames .v10-frame,
  .v10-gallery-frames .v10-frame[data-index="0"],
  .v10-gallery-frames .v10-frame[data-index="1"]{
    position:sticky!important;
    left:auto!important;
    top:9svh!important;
    width:100vw!important;
    max-width:none!important;
    height:82svh!important;
    margin:0 0 22svh 0!important;
    overflow:hidden!important;
    opacity:1!important;
    transform:none!important;
    transform-origin:center center!important;
    background:#e9e5dc!important;
    box-shadow:none!important;
    transition:none!important;
    will-change:auto!important;
    backface-visibility:visible!important;
    pointer-events:none!important;
    visibility:hidden;
  }
  /* JS keeps only the poster on screen and the one entering above it visible. */
  .v10-gallery-frames .v10-frame.is-mobile-visible{
    visibility:visible!important;
  }
  .v10-gallery-frames .v10-frame + .v10-frame{
    margin-top:-18svh!important;
  }
  .v10-frame picture{
    position:absolute!important;
    inset:-7% 0!important;
    width:100%!important;
    height:114%!important;
    display:block!important;
    overflow:hidden!important;
    transform:none!important;
    will-change:auto!important;
  }
  .v10-frame img{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center calc(50% + var(--mobile-parallax-y,0px))!important;
    transform:none!important;
    transform-origin:center center!important;
    will-change:auto!important;
    backface-visibility:visible!important;
    box-shadow:none!important;
  }
  .v10-frame::before,
  .v10-frame::after{
    content:none!important;
    display:none!important;
  }
}

@media (max-width:420px){
  .v10-gallery-frames .v10-frame,
  .v10-gallery-frames .v10-frame[data-index="0"],
  .v10-gallery-frames .v10-frame[data-index="1"]{
    top:8svh!important;
    height:80svh!important;
    margin-bottom:20svh!important;
  }
  .v10-gallery-frames .v10-frame + .v10-frame{
    margin-top:-16svh!important;
  }
}

@media (prefers-reduced-motion:reduce) and (max-width:680px){
  .v10-frame img{
    object-position:center center!important;
  }
}


/* V10.18 — two-line hamburger on mobile */
@media(max-width:760px){
  .v10-menu-btn{
    display:grid!important;
    place-items:center!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    margin-top:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:inherit!important;
    overflow:visible!important;
  }
  .v10-menu-icon{
    position:relative;
    display:block;
    width:27px;
    height:15px;
  }
  .v10-menu-icon > span{
    position:absolute;
    left:0;
    width:27px;
    height:1.25px;
    background:currentColor;
    transform-origin:50% 50%;
    transition:top .28s cubic-bezier(.22,.61,.36,1),transform .32s cubic-bezier(.22,.61,.36,1),opacity .2s ease;
  }
  .v10-menu-icon > span:first-child{top:3px}
  .v10-menu-icon > span:last-child{top:11px}
  .v10-header.is-menu-open .v10-menu-icon > span:first-child{
    top:7px;
    transform:rotate(45deg);
  }
  .v10-header.is-menu-open .v10-menu-icon > span:last-child{
    top:7px;
    transform:rotate(-45deg);
  }
}
