:root{--white:#fff;--paper:#f7f2ed;--ink:#1c1714;--grey:#7a726c;--line:#e3dad2;--accent:#a8693c;--copper-lt:#c98d5e;--copper-hi:#e6b88f;--serif:"Playfair Display",Georgia,serif;--sans:"Jost",system-ui,sans-serif;--pad:clamp(20px,5vw,72px);--space:clamp(64px,8vw,120px)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html.has-motion{scroll-behavior:auto}[hidden]{display:none!important}body{font-family:var(--sans);font-weight:300;color:var(--ink);background:var(--white);line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.label{font-size:11px;letter-spacing:.3em;text-transform:uppercase;font-weight:400}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12}h2{font-size:clamp(30px,4.2vw,56px)}.more{display:inline-flex;gap:12px;align-items:center;font-size:11px;letter-spacing:.28em;text-transform:uppercase;font-weight:400;padding-bottom:6px;border-bottom:1px solid currentColor;transition:gap .3s,color .3s}.more:after{content:"→";letter-spacing:0}.more:hover{gap:20px;color:var(--accent)}.ph{background:var(--img,linear-gradient(135deg,#c9c1b4,#8d8374));background-color:#8d8374;background-size:cover;background-position:center;position:relative}header.top{position:fixed;inset:0 0 auto 0;z-index:50;color:#fff;transition:background .35s,color .35s,box-shadow .35s}header.top:before{content:"";position:absolute;top:0;right:0;bottom:-50px;left:0;background:linear-gradient(to bottom,rgba(0,0,0,.6),rgba(0,0,0,.25) 65%,transparent);pointer-events:none;transition:opacity .35s}header.top.solid{background:#fffffff5;color:var(--ink);box-shadow:0 1px 0 var(--line)}header.top.solid:before{opacity:0}.top .in{position:relative;display:flex;align-items:center;justify-content:space-between;height:84px;padding:0 var(--pad)}.logo{display:inline-flex;align-items:center}.logo img{height:46px;width:auto;transition:filter .35s}.top:not(.solid) .logo img{filter:brightness(0) invert(1) drop-shadow(0 1px 6px rgba(0,0,0,.4))}@media(max-width:480px){.logo img{height:38px}}.top nav{display:flex;gap:44px}.top nav a,.burger{text-shadow:0 1px 8px rgba(0,0,0,.45)}.top.solid nav a,.top.solid .burger{text-shadow:none}.top nav a{font-size:12px;font-weight:400;letter-spacing:.28em;text-transform:uppercase;position:relative;padding:6px 0}.top nav a:after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:currentColor;transition:width .3s}.top nav a:hover:after{width:100%}.burger{display:none;background:none;border:0;color:inherit;font:400 11px var(--sans);letter-spacing:.28em;text-transform:uppercase;cursor:pointer}@media(max-width:900px){.top nav{display:none}.burger{display:block}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}.overlay.open{opacity:1;visibility:visible}.overlay .side{padding:110px var(--pad) 60px;display:flex;flex-direction:column;justify-content:space-between}.overlay .ph{min-height:100%}.overlay ul{list-style:none}.overlay li a{display:block;font-family:var(--serif);font-size:clamp(34px,5vw,64px);line-height:1.3;transition:padding .3s,color .3s}.overlay li a:hover{padding-left:16px;color:var(--accent)}.overlay .close{position:absolute;top:30px;right:var(--pad);background:none;border:0;color:#fff;font:400 11px var(--sans);letter-spacing:.28em;text-transform:uppercase;cursor:pointer}@media(max-width:800px){.overlay{grid-template-columns:1fr}.overlay .ph{display:none}}.hero{position:relative;height:100svh;min-height:600px;color:#fff;overflow:hidden;background:#222}.slide{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity 1.4s ease}.slide.on{opacity:1}.slide .ph{position:absolute;top:0;right:0;bottom:0;left:0;transform:scale(1.06);transition:transform 8s ease-out}.slide.on .ph{transform:scale(1)}.slide:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,.18) 32%,transparent 55%),linear-gradient(to right,rgba(0,0,0,.22),transparent 50%)}.hero-copy{position:absolute;z-index:2;left:var(--pad);right:var(--pad);bottom:clamp(60px,12vh,120px);display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap}.hero-copy h1{font-size:clamp(34px,4.6vw,68px);text-shadow:0 2px 24px rgba(0,0,0,.55)}.hero-copy h1 em{display:block;font-style:italic;color:var(--copper-hi)}.hero-copy .r{max-width:360px;text-shadow:0 1px 14px rgba(0,0,0,.6)}.hero-copy .r p{margin-bottom:26px;color:#ffffffeb}.dots{position:absolute;z-index:3;left:var(--pad);bottom:34px;display:flex;gap:10px;align-items:center}.dots button{width:44px;height:2px;background:#ffffff59;border:0;cursor:pointer;position:relative;overflow:hidden}.dots button.on:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;animation:fill 6s linear}@keyframes fill{0%{transform:translate(-100%)}to{transform:none}}.caption{position:absolute;z-index:3;right:var(--pad);bottom:30px;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#ffffffbf}section{padding:var(--space) var(--pad)}#process{padding-bottom:0}.max{max-width:1440px;margin:0 auto}.intro{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(30px,7vw,120px);align-items:start}.intro .label{color:var(--accent);margin-bottom:22px;display:block}.intro p{color:var(--grey);margin-bottom:22px;max-width:560px}.intro h2{margin-bottom:0}@media(max-width:860px){.intro{grid-template-columns:1fr}}.mission{padding-top:0}.mission .lead{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(30px,7vw,120px);align-items:start;padding-top:var(--space);border-top:1px solid var(--line)}.mission .label{color:var(--accent);margin-bottom:22px;display:block}.mission h2 em{font-style:italic;color:var(--accent)}.mission p{color:var(--grey);margin-bottom:22px;max-width:560px}.mission p b{color:var(--ink);font-weight:400}.word{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:clamp(40px,6vw,70px)}.word div{background:var(--paper);padding:clamp(28px,4vw,48px)}.word b{font-family:var(--serif);font-weight:400;font-size:clamp(36px,5vw,64px);letter-spacing:.18em;display:block;line-height:1;margin-bottom:18px}.word p{margin:0;color:var(--grey)}.together{text-align:center;max-width:720px;margin:clamp(40px,6vw,70px) auto 0}.together h3{font-size:clamp(24px,2.6vw,34px);margin-bottom:18px}.together p{margin:0 auto}@media(max-width:860px){.mission .lead{grid-template-columns:1fr}}@media(max-width:600px){.word{grid-template-columns:1fr}}.founder{background:var(--paper)}.fg{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(30px,7vw,120px);align-items:start}.founder .label{color:var(--accent);margin-bottom:22px;display:block}.founder h2{margin-bottom:10px}.founder .role{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--grey)}.founder blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.4vw,30px);line-height:1.35;margin-top:44px;padding-top:30px;border-top:1px solid var(--line);color:var(--ink)}.founder p{color:var(--grey);margin-bottom:22px;max-width:600px}.founder p.end{color:var(--ink);font-family:var(--serif);font-size:20px;line-height:1.5}.founder p:last-child{margin-bottom:0}@media(max-width:860px){.fg{grid-template-columns:1fr}.founder .l{position:static}}@media(min-width:861px){.founder .l{position:sticky;top:120px}}.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(32px,4vw,52px) 20px}.gal:first-child,.gal:last-child{grid-column:span 2}.gal-cover{position:relative;display:block;width:100%;height:clamp(240px,25vw,380px);padding:0;border:0;overflow:hidden;background:#8d8374;cursor:zoom-in}.gal-cover img{width:100%;height:100%;object-fit:cover;transition:transform .9s}.gal-cover:hover img{transform:scale(1.04)}.gal-count{position:absolute;right:12px;bottom:12px;padding:6px 10px;background:#1c1714bf;color:#fff;font:400 10px var(--sans);letter-spacing:.2em;text-transform:uppercase}.gal-thumbs{display:flex;gap:6px;margin-top:6px}.gal-thumbs button{flex:0 1 92px;aspect-ratio:4/3;padding:0;border:0;overflow:hidden;background:#8d8374;cursor:zoom-in}.gal-thumbs img{width:100%;height:100%;object-fit:cover;transition:opacity .3s}.gal-thumbs button:hover img{opacity:.75}.gal small{display:block;margin-top:16px;color:var(--accent);font-size:10px;letter-spacing:.26em;text-transform:uppercase}.gal h3{font-size:clamp(20px,1.9vw,26px);margin:8px 0 6px}.gal p{color:var(--grey);font-size:15px;max-width:440px}@media(max-width:900px){.gal-grid{grid-template-columns:1fr 1fr}.gal:last-child{grid-column:auto}}@media(max-width:560px){.gal-grid{grid-template-columns:1fr}.gal:first-child{grid-column:auto}.gal-cover{height:62vw}}.gal-ui{display:none}.has-motion .gal-cover img{transition:none}@media(min-width:901px){.has-motion .gallery{height:100vh;min-height:560px;padding:clamp(84px,12vh,120px) 0 0;overflow:hidden}.has-motion .gallery .max{padding:0 var(--pad)}.has-motion .gallery .head{margin-bottom:clamp(20px,3vh,34px)}.has-motion .gallery h2{font-size:clamp(26px,2.8vw,38px)}.has-motion .gal-grid{display:flex;gap:clamp(40px,5vw,80px);width:max-content;will-change:transform}.has-motion .gal{flex:0 0 min(1040px,72vw);height:min(calc(100vh - 250px),560px);display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto auto;column-gap:clamp(20px,2.4vw,36px)}.has-motion .gal-cover{grid-row:1/-1;height:100%}.has-motion .gal-thumbs{grid-column:2;flex-direction:column;gap:10px;margin:0;min-height:0}.has-motion .gal-thumbs button{flex:1 1 0;width:100%;min-height:0;aspect-ratio:auto}.has-motion .gal small,.has-motion .gal h3,.has-motion .gal p{grid-column:2}.gal-ui{display:flex;align-items:center;gap:16px;font-family:var(--serif);font-size:18px}.gal-ui span:last-of-type{color:var(--grey);font-size:13px}.gal-bar{display:block;width:clamp(120px,16vw,240px);height:2px;background:var(--line);overflow:hidden}.gal-bar i{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}}.lb{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#14100ef7;color:#fff;overflow:hidden}.lb[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}.lb-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px var(--pad)}.lb-title{font-family:var(--serif);font-size:20px}.lb-count{margin-left:14px;font-size:12px;letter-spacing:.14em;color:#ffffffa6}.lb-x{background:none;border:0;color:#fff;font:400 11px var(--sans);letter-spacing:.28em;text-transform:uppercase;cursor:pointer;padding:8px 0}.lb-stage{position:relative;display:grid;place-items:center;min-height:0;padding:0 var(--pad) 24px}.lb-stage img{max-width:100%;max-height:100%;object-fit:contain}.lb-nav{position:absolute;top:50%;width:48px;height:48px;margin-top:-36px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:#14100e8c;color:#fff;font-size:20px;cursor:pointer;transition:background .3s}.lb-nav:hover{background:var(--accent)}.lb-prev{left:16px}.lb-next{right:16px}@media(max-width:600px){.lb-nav{top:auto;bottom:26px;margin:0;width:42px;height:42px}.lb-stage{padding-bottom:80px}.lb-prev{left:calc(50% - 52px)}.lb-next{right:calc(50% - 52px)}}.head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:50px}.head .label{color:var(--accent);display:block;margin-bottom:16px}.band{background:var(--paper);text-align:center;padding-top:0}.band h2{margin:0 auto 26px}.band h2 em{font-style:italic;color:var(--accent)}.band p{max-width:560px;margin:0 auto;color:var(--grey)}.showcase{position:relative;padding:0;background:var(--ink);color:#fff}.showcase-stage{padding:var(--space) var(--pad)}.showcase-intro{margin-bottom:56px}.showcase-intro .label{color:var(--copper-lt)}.showcase-intro h2{margin-top:18px;font-size:clamp(28px,3.4vw,44px);letter-spacing:-.02em;line-height:1.08}.showcase-intro h2 em,.showcase-title em{font-style:italic;color:var(--copper-hi)}.si-line{display:block}.showcase-slides{display:grid;gap:64px}.showcase-slide{margin:0}.showcase-media{position:relative;height:clamp(320px,52vw,680px);overflow:hidden;background:#3a3029}.showcase-media img{width:100%;height:100%;object-fit:cover}.showcase-media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,#1c17141a,#1c17148c 75%),linear-gradient(180deg,rgba(28,23,20,.3),transparent 30%,transparent 65%,rgba(28,23,20,.65))}.showcase-caption{padding-top:24px}.showcase-caption small{display:block;color:var(--copper-hi);font-size:10px;letter-spacing:.26em;text-transform:uppercase}.showcase-title{margin:14px 0 12px;font-size:clamp(28px,3.4vw,44px);letter-spacing:-.02em;line-height:1.05}.showcase-caption p{max-width:380px;margin:0 0 22px;color:#ffffffbf;font-size:15px}.sc-word{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}.char{display:inline-block;will-change:transform}.showcase-ui{display:none}.showcase-cta{display:inline-grid;width:150px;aspect-ratio:1;margin-top:56px;place-items:center;border:1px solid rgba(255,255,255,.4);border-radius:50%;color:#fff;font-family:var(--serif);font-size:18px;line-height:1.2;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .4s,border-color .4s}.showcase-cta:hover{border-color:var(--accent);background:var(--accent)}.showcase-cta small{display:block;margin-top:6px;font-family:var(--sans);font-size:9px;letter-spacing:.2em;text-transform:uppercase}.has-motion .showcase-stage{position:relative;height:100vh;min-height:560px;overflow:hidden;padding:0}.has-motion .showcase-intro{position:absolute;z-index:5;top:0;right:0;bottom:0;left:0;display:flex;margin:0;flex-direction:column;align-items:center;justify-content:center;text-align:center;text-shadow:0 4px 30px rgba(0,0,0,.55),0 1px 3px rgba(0,0,0,.35);pointer-events:none}.has-motion .showcase-intro .label{color:#fff}.has-motion .showcase-intro h2{font-size:clamp(30px,3.8vw,56px)}.has-motion .showcase-slides,.has-motion .showcase-slide{position:absolute;top:0;right:0;bottom:0;left:0}.has-motion .showcase-media{position:absolute;top:0;right:0;bottom:0;left:0;height:auto;will-change:clip-path}.has-motion .showcase-media img{will-change:transform}.has-motion .showcase-media:after{background:radial-gradient(ellipse 60% 45% at center,rgba(28,23,20,.45),transparent),linear-gradient(180deg,#1c171459,#1c171426 35%,#1c171433 60%,#1c1714b3)}.has-motion .showcase-caption{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;display:flex;padding:0 var(--pad);flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}.has-motion .showcase-caption .more{pointer-events:auto}.has-motion .showcase-title{max-width:100%;margin:18px 0;font-size:clamp(30px,3.8vw,56px);text-shadow:0 4px 24px rgba(0,0,0,.45)}.has-motion .showcase-caption small{color:#fff;font-weight:400;text-shadow:0 1px 12px rgba(0,0,0,.5)}.has-motion .showcase-caption p{color:#ffffffeb;text-shadow:0 1px 14px rgba(0,0,0,.6)}.has-motion .showcase-ui{position:absolute;z-index:6;top:0;right:0;bottom:0;left:0;display:block;pointer-events:none}.showcase-counter{position:absolute;bottom:8vh;left:var(--pad);display:flex;align-items:flex-end;gap:10px;font-family:var(--serif);line-height:1}.count-window{display:block;height:1em;overflow:hidden;font-size:clamp(54px,6vw,92px);letter-spacing:-.04em}.count-roll,.count-roll span{display:block}.count-roll span{height:1em}.count-total{padding-bottom:.5em;color:#ffffff8c;font-size:14px}.showcase-list{position:absolute;top:18vh;right:var(--pad);display:grid;gap:14px;list-style:none}.showcase-list li{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;opacity:.35}.showcase-list li:first-child{opacity:1}.showcase-list li:before{content:"";width:22px;height:1px;background:currentColor}.showcase-progress{position:absolute;bottom:calc(8vh + 10px);left:50%;display:grid;width:min(340px,40vw);grid-template-columns:repeat(7,1fr);gap:8px;transform:translate(-50%)}.showcase-progress span{height:2px;overflow:hidden;background:#ffffff38}.showcase-progress i{display:block;height:100%;background:var(--copper-hi);transform:scaleX(0);transform-origin:left}.has-motion .showcase-cta{position:absolute;z-index:7;right:var(--pad);bottom:6vh;margin:0}@media(max-width:700px){.showcase-list{display:none}.showcase-counter{bottom:5vh}.count-window{font-size:46px}.showcase-progress{bottom:calc(5vh + 6px);left:auto;right:var(--pad);width:34vw;transform:none}.showcase-cta{width:120px;font-size:15px}.has-motion .showcase-cta{right:50%;bottom:14vh;margin-right:-60px}}.nodes{margin-top:30px;font-size:12px;color:var(--grey)}.services{background:var(--ink);color:#fff}.services .label{color:var(--copper-lt)}.services h2{font-size:clamp(26px,2.8vw,38px)}.svc{display:grid;grid-template-columns:90px 1fr 1.3fr auto;gap:30px;padding:26px 0;border-top:1px solid rgba(255,255,255,.18);align-items:baseline}.svc:last-child{border-bottom:1px solid rgba(255,255,255,.18)}.svc .n{font-family:var(--serif);color:var(--copper-lt)}.svc h3{font-size:clamp(20px,1.9vw,26px)}.svc p{color:#ffffffa6;font-size:15px}@media(max-width:760px){.svc{grid-template-columns:1fr;gap:6px}.svc .go{justify-self:start;margin-top:10px}}.steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.step{padding:34px 28px 10px 0}.step b{font-family:var(--serif);font-weight:400;font-size:46px;color:var(--accent);display:block;line-height:1}.step h3{font-size:24px;margin:16px 0 8px}.step p{color:var(--grey);font-size:15px}@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}@media(max-width:520px){.steps{grid-template-columns:1fr}}.contact{background:var(--paper)}.cg{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,120px)}.contact p{color:var(--grey);max-width:420px}.meta{margin-top:36px;display:grid;gap:18px}.meta small{display:block;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--accent)}form{display:grid;gap:22px;align-content:start}input,select,textarea{width:100%;background:none;border:0;border-bottom:1px solid #b9b5ad;font:inherit;color:var(--ink);padding:14px 0;outline:none;border-radius:0}input:focus,select:focus,textarea:focus{border-color:var(--ink)}::placeholder{color:#9a968e}.btn{justify-self:start;padding:18px 44px;background:var(--ink);color:#fff;border:1px solid var(--ink);font:400 11px var(--sans);letter-spacing:.28em;text-transform:uppercase;cursor:pointer;transition:.3s}.btn:hover{background:transparent;color:var(--ink)}.sent{border:1px solid var(--line);padding:clamp(22px,3vw,32px);display:grid;gap:12px;justify-items:start;background:var(--white)}.sent h3{font-size:clamp(24px,2.4vw,30px)}.sent p{margin:0;color:var(--grey)}.enq .fields{display:grid;gap:22px}.enq .cta{justify-self:start}.enq .note{font-size:12px;color:var(--grey);margin-top:-8px}.enq .note a{text-decoration:underline}.grecaptcha-badge{visibility:hidden}@media(max-width:520px){.enq .fields .cta{justify-self:stretch}}@media(max-width:820px){.cg{grid-template-columns:1fr}}footer{background:var(--ink);color:#fff9;padding:60px var(--pad) 30px;font-size:13px}.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.14)}footer .logo{color:#fff;display:block;margin-bottom:14px}footer h4{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:#fff;font-weight:400;margin-bottom:14px}footer li{list-style:none;margin-bottom:8px}footer a:hover{color:var(--copper-lt)}.copy{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-top:24px;font-size:12px}@media(max-width:700px){.fgrid{grid-template-columns:1fr}}.cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:17px 34px;background:var(--accent);color:#fff;border:1px solid var(--accent);font:400 11px var(--sans);letter-spacing:.26em;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s,border-color .3s,gap .3s;white-space:nowrap}.cta:after{content:"→";letter-spacing:0}.cta:hover{background:var(--ink);border-color:var(--ink);gap:18px}.cta.light:hover{background:#fff;color:var(--ink);border-color:#fff}.cta.sm{padding:12px 22px;font-size:10px}.cta.sm:after{display:none}.actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.top .cta.sm{margin-left:40px}.top .bar{display:flex;align-items:center}@media(max-width:900px){.top .cta.sm{margin:0 22px 0 0;order:-1}}@media(max-width:420px){.top .cta.sm{padding:10px 14px;letter-spacing:.18em}}.svc .go{justify-self:end;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--copper-lt);border-bottom:1px solid currentColor;padding-bottom:4px;white-space:nowrap;transition:color .3s}.svc .go:hover{color:#fff}.strip{margin-top:60px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}.strip p{font-family:var(--serif);font-size:clamp(22px,2.4vw,30px);line-height:1.3;max-width:26ch}.mob-cta{position:fixed;left:0;right:0;bottom:0;z-index:40;display:none;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#1c1714f5;transform:translateY(110%);transition:transform .35s}.mob-cta.show{transform:none}.mob-cta .cta{width:100%}@media(max-width:760px){.mob-cta{display:block}footer{padding-bottom:100px}}.wa-float{position:fixed;right:24px;bottom:24px;z-index:45;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 6px 20px #00000047;transition:transform .25s,box-shadow .25s}.wa-float[hidden]{display:none}.wa-float:hover{transform:scale(1.07);box-shadow:0 8px 26px #00000057}.wa-float svg{width:30px;height:30px;fill:currentColor}@media(min-width:761px){.caption,.has-motion .showcase-cta{right:calc(var(--pad) + 62px)}}@media(max-width:760px){.wa-float{right:16px;bottom:calc(88px + env(safe-area-inset-bottom));width:52px;height:52px}.wa-float svg{width:27px;height:27px}}.modal{border:0;padding:0;width:min(940px,calc(100% - 32px));max-height:calc(100svh - 32px);margin:auto;background:var(--white);color:var(--ink);overflow:auto;overscroll-behavior:contain}.modal[open]{display:grid;grid-template-columns:.85fr 1.15fr;animation:pop .35s ease}.modal::backdrop{background:#1c1714b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}@keyframes pop{0%{opacity:0;transform:translateY(18px)}}.modal .ph{min-height:100%}.m-body{position:relative;padding:clamp(28px,4vw,52px)}.m-body .label{color:var(--accent)}.m-body h2{font-size:clamp(28px,3vw,40px);margin:14px 0 10px}.m-body>p{color:var(--grey);margin-bottom:22px}.m-x{position:absolute;top:12px;right:12px;width:44px;height:44px;background:none;border:0;font:300 30px/1 var(--sans);color:var(--ink);cursor:pointer;transition:color .3s}.m-x:hover{color:var(--accent)}body:has(.modal[open]),body:has(.lb[open]){overflow:hidden}@media(max-width:760px){.modal[open]{grid-template-columns:1fr}.modal .ph{display:none}}.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s,transform .9s}.reveal.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.slide,.slide .ph,.gal-cover img,.proj .ph i{transition:none}.dots button.on:after,.modal[open]{animation:none}}.m-body,.overlay .side{min-width:0}.top .logo{flex-shrink:0}.lb-stage img{max-height:calc(100svh - 96px)}.dots{bottom:21px}.dots button{height:28px;background:linear-gradient(#ffffff59,#ffffff59) center/100% 2px no-repeat}.dots button.on:after{top:13px;right:0;bottom:13px;left:0}@media(max-width:900px),(pointer:coarse){.burger{padding:14px 0}.more,.svc .go{padding-top:12px}.meta a,footer li a{display:inline-block;padding:10px 0}footer li{margin-bottom:0}}@media(max-width:800px){.overlay{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.modal[open]{grid-template-columns:minmax(0,1fr)}.hero-copy .r{padding-right:68px}}@media(max-width:600px){.lb-stage img{max-height:calc(100svh - 170px)}}@media(max-width:380px){.cta{padding-left:20px;padding-right:20px;white-space:normal;text-align:center}}@media(max-width:340px){.top .cta.sm{display:none}}@media(max-width:760px){.slide:after{background:linear-gradient(to top,rgba(0,0,0,.6),rgba(0,0,0,.3) 45%,transparent 70%)}}@media(max-height:500px){.hero{min-height:100svh}.hero-copy{bottom:48px}.top .in{height:64px}.overlay{overflow:auto}.overlay .side{padding-top:64px;padding-bottom:24px;justify-content:flex-start;gap:20px}.overlay li a{font-size:26px}}@media(min-width:1700px)and (min-height:950px){.has-motion .gal{flex-basis:min(1400px,72vw);height:min(calc(100vh - 250px),780px)}}
