@font-face{font-family:H;src:url(fonts/marcellus.woff2) format('woff2');font-weight:100 900;font-display:swap}@font-face{font-family:B;src:url(fonts/karla.woff2) format('woff2');font-weight:100 900;font-display:swap}:root{--bg:#faf7f2;--bg2:#efe6d6;--ink:#29251f;--muted:#73695b;--acc:#c6a032;--card:#ffffff}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:B,system-ui,sans-serif;background:var(--bg);color:var(--ink);font-size:17px;line-height:1.65;overflow-x:hidden;transition:opacity .4s,filter .4s;hyphens:manual;-webkit-hyphens:manual;overflow-wrap:break-word}
body.leaving{opacity:0;filter:blur(6px)}
img{display:block;max-width:100%;height:auto}a{color:inherit}
h1,h2,h3,.logo{font-family:H,Georgia,serif;font-weight:500;line-height:1.12;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:clamp(2.2rem,6vw,4.6rem)}h2{font-size:clamp(1.8rem,4vw,3rem);margin-bottom:.6em}h3{font-size:1.35rem;margin-bottom:.4em}
.wrap{width:min(1200px,100% - 40px);margin-inline:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;z-index:99;background:var(--card);padding:8px 16px;border-radius:99px}
.kick{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:600;color:var(--acc);margin-bottom:1rem}
.lead{font-size:1.15rem;color:var(--muted);max-width:36em}
.nav{position:fixed;inset:12px 12px auto;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px 10px 22px;border-radius:99px;transition:background .5s,box-shadow .5s,backdrop-filter .5s}
.nav.solid{background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 10px 30px rgba(0,0,0,.08)}
.nav .logo{font-size:1.25rem;text-decoration:none;white-space:nowrap}
.nav nav{display:flex;gap:6px;align-items:center}.nav nav a{text-decoration:none;padding:8px 14px;border-radius:99px;font-size:.95rem;transition:background .3s}
.nav nav a:hover{background:color-mix(in srgb,var(--ink) 8%,transparent)}
.l-full .nav:not(.solid){color:#fff}
.pill{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:99px;padding:14px 26px;font-weight:600;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,background .35s}
.nav .pill{background:var(--acc);color:var(--onacc,#fff)!important;padding:8px 18px}
.pill.solid{background:var(--acc);color:var(--onacc,#fff);box-shadow:0 12px 30px color-mix(in srgb,var(--acc) 35%,transparent)}
.pill.ghost{background:color-mix(in srgb,var(--ink) 7%,transparent)}
.pill:hover{transform:translateY(-2px)}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin:1.6rem 0}
.dots{list-style:none;display:grid;gap:.5rem}.dots li{position:relative;padding-left:1.3em}.dots li:before{content:"";position:absolute;left:0;top:.62em;width:.45em;height:.45em;border-radius:50%;background:var(--acc)}
.sec{padding:clamp(70px,10vw,130px) 0}.shead{max-width:760px;margin-bottom:2.4rem}
.rv{opacity:0;transform:translateY(26px);filter:blur(6px);transition:opacity 1s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.2,.8,.2,1),filter 1s}
.rv.on{opacity:1;transform:none;filter:none}
.zoom{overflow:hidden;border-radius:28px}.zoom img{transform:scale(1.08);transition:transform 1.8s cubic-bezier(.2,.8,.2,1)}.zoom.on img{transform:scale(1)}
/* hero full */
.hero.full{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding:120px 20px 40px}
.hbg{position:absolute;inset:0;overflow:hidden;border-radius:0 0 36px 36px}.hbg img{width:100%;height:100%;object-fit:cover;animation:kb 22s ease-out both}
.hbg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.05) 40%,rgba(0,0,0,.55))}
@keyframes kb{from{transform:scale(1.12)}to{transform:scale(1)}}
.hcard{position:relative;max-width:640px;background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:32px;padding:clamp(24px,4vw,44px);box-shadow:0 30px 70px rgba(0,0,0,.22);margin-left:max(0px,calc((100vw - 1200px)/2))}
.hcard h1{font-size:clamp(2rem,4.6vw,3.6rem);margin-bottom:.4em}
.badges{margin-top:40px}.badges .dots{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.badges li{background:var(--card);border-radius:22px;padding:18px 20px 18px 40px;box-shadow:0 8px 24px rgba(0,0,0,.05)}.badges li:before{left:20px;top:1.55em}
/* split */
.hero.split{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(24px,5vw,70px);align-items:center;padding-top:130px;min-height:92svh}
.hero.split h1{margin-bottom:.4em}.himg{border-radius:40px;box-shadow:0 40px 80px rgba(0,0,0,.14)}.himg img{width:100%;aspect-ratio:4/5;object-fit:cover}
.l-split .himg{border-radius:200px 200px 40px 40px}
/* editorial */
.hero.edit{padding-top:140px}.hero.edit h1{font-size:clamp(2.4rem,8vw,6.4rem);max-width:13em}
.erow{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin:1.6rem 0 2rem}
.himg.wide img{aspect-ratio:21/9;object-fit:cover;width:100%}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.chips li{background:var(--bg2);border-radius:99px;padding:10px 18px 10px 34px}.chips li:before{left:16px;top:1.05em}
/* services */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.card{background:var(--card);border-radius:28px;padding:30px;box-shadow:0 14px 40px rgba(0,0,0,.06);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}
.card:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(0,0,0,.1)}
.num{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--bg2);color:var(--acc);font-weight:700;font-size:.85rem;margin-bottom:18px}
.card p{color:var(--muted)}
.cards.alt .card{background:var(--bg2);box-shadow:none}.cards.alt .num{background:var(--card)}
.rows{display:grid;gap:12px}.rows .card{display:grid;grid-template-columns:60px 1fr 1.4fr;gap:20px;align-items:center;padding:24px 30px;border-radius:99px}.rows .card .num{margin:0}.rows h3{margin:0}
/* galleries */
.masonry{columns:3 300px;column-gap:18px}.masonry figure{break-inside:avoid;margin-bottom:18px}
.scroller{display:grid;grid-auto-flow:column;grid-auto-columns:min(78vw,420px);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:none}.scroller::-webkit-scrollbar{display:none}
.scroller figure{scroll-snap-align:start}.scroller img{aspect-ratio:3/4;object-fit:cover;width:100%}
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:16px}.mosaic img{width:100%;height:100%;object-fit:cover}
.mosaic .g0{grid-column:span 2;grid-row:span 2}.mosaic .g3{grid-column:span 2}
/* about */
.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,70px);align-items:start}.atxt p{color:var(--muted);margin-bottom:1em;max-width:34em}
.aimg img{width:100%;aspect-ratio:4/3;object-fit:cover}
.tl{list-style:none;display:grid;gap:10px;grid-column:span 1}.tl li{display:flex;gap:18px;align-items:baseline;background:var(--card);border-radius:22px;padding:14px 22px}.tl b{font-family:H,serif;font-size:1.3rem;color:var(--acc);min-width:3.2em;font-weight:500}
.contact{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;background:var(--bg2);border-radius:40px;padding:clamp(28px,5vw,64px)}.contact h3{margin-top:1.2em}.contact h3:first-child{margin-top:0}
.foot{padding:60px 0 30px;color:var(--muted);font-size:.95rem}.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}.foot .logo{font-size:1.4rem;color:var(--ink);margin-bottom:.4em}.foot a{text-decoration:none}.foot a:hover{color:var(--acc)}.copy{margin-top:30px;font-size:.85rem}
.legal{padding:140px 0 60px;max-width:760px}.legal h1{font-size:clamp(2rem,5vw,3.4rem);margin-bottom:.6em}.legal h2{font-size:1.4rem;margin:1.6em 0 .4em}.legal p,.legal li{color:var(--muted);margin-bottom:.6em}.legal a{color:var(--acc)}
.t-dark .card,.t-dark .badges li,.t-dark .tl li{box-shadow:none}
@media(max-width:860px){.hero.split,.about,.contact{grid-template-columns:1fr}.hero.split{padding-top:110px}.himg img{aspect-ratio:4/3}.l-split .himg{border-radius:140px 140px 32px 32px}
.rows .card{grid-template-columns:44px 1fr;border-radius:28px}.rows .card p{grid-column:2}.mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:160px}}
@media(max-width:560px){body{font-size:16px}.nav nav a:not(.pill){display:none}.hero.full{padding:110px 12px 24px}.hcard{border-radius:26px}.mosaic .g0,.mosaic .g3{grid-column:span 2}
.card{padding:24px}.erow .ctas,.ctas{width:100%}.pill{flex:1 1 auto}h1{font-size:clamp(1.9rem,8.4vw,2.6rem)}.hero.edit h1{font-size:clamp(2.1rem,10vw,3rem)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none;filter:none}}
.center{text-align:center}.center h1,.center .lead{margin-inline:auto}.center .ctas,.center .chips{justify-content:center}.blob{border-radius:999px;margin-top:10px}.blob img{aspect-ratio:2.6/1}@media(max-width:560px){.blob{border-radius:60px}.blob img{aspect-ratio:4/3}}
