
:root{
  --ink:#211c18; --ivory:#f4eee5; --paper:#fbf7f0; --olive:#737866;
  --stone:#b8aa9c; --gold:#b59762; --line:rgba(33,28,24,.15);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;overflow-x:hidden}
img{display:block;width:100%}
a{color:inherit;text-decoration:none}
.grain{position:fixed;inset:0;pointer-events:none;opacity:.05;z-index:50;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
.nav{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(251,247,240,.88);backdrop-filter:blur(18px);z-index:20}
.brand{display:flex;align-items:center;gap:14px}.mark{width:48px;height:58px;border:1px solid var(--gold);border-radius:50% 50% 46% 46%;display:grid;place-items:center;font:600 30px/1 "Cormorant Garamond";color:var(--gold)}
.brand-copy{display:flex;flex-direction:column}.brand-copy strong,.footer-brand strong{font:600 21px/1 "Cormorant Garamond";letter-spacing:.04em}.brand-copy small,.footer-brand small{text-transform:uppercase;letter-spacing:.22em;font-size:9px;margin-top:6px}
.nav-cta{padding:12px 18px;border:1px solid var(--ink);border-radius:999px;font-size:13px;font-weight:700}
.hero{min-height:calc(100vh - 92px);display:grid;grid-template-columns:1.08fr .92fr;gap:7vw;align-items:center;padding:7vw 7vw 5vw}
.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:11px;font-weight:700;color:var(--olive);margin:0 0 22px}
h1,h2,h3{font-family:"Cormorant Garamond",serif;font-weight:500;margin:0}h1{font-size:clamp(64px,8vw,126px);line-height:.82;letter-spacing:-.04em}h1 em{font-weight:400;color:var(--olive)}
.lead{max-width:650px;font-size:18px;line-height:1.75;color:#564f48;margin:34px 0}
.actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;padding:16px 24px;border-radius:999px;font-size:13px;font-weight:700;transition:.25s}.button:hover{transform:translateY(-2px)}
.primary{background:var(--ink);color:white}.ghost{border:1px solid var(--line)}
.proof{display:flex;gap:45px;margin-top:55px}.proof div{display:flex;flex-direction:column}.proof strong{font:600 34px/1 "Cormorant Garamond"}.proof span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#7d746c;margin-top:8px}
.hero-visual{position:relative}.portrait-frame{border-radius:240px 240px 22px 22px;overflow:hidden;box-shadow:0 30px 80px rgba(33,28,24,.18)}.portrait-frame img{height:min(72vh,820px);object-fit:cover}
.float-card{position:absolute;right:-4%;bottom:8%;background:rgba(244,238,229,.92);backdrop-filter:blur(18px);padding:22px 28px;border:1px solid rgba(255,255,255,.8);box-shadow:0 20px 50px rgba(33,28,24,.15)}.float-card span{display:block;text-transform:uppercase;letter-spacing:.18em;font-size:9px}.float-card strong{display:block;font:500 28px "Cormorant Garamond";margin-top:5px}
.marquee{overflow:hidden;background:var(--ink);color:var(--ivory);padding:18px 0;white-space:nowrap}.marquee div{font:500 28px "Cormorant Garamond";letter-spacing:.14em;animation:move 28s linear infinite}
@keyframes move{to{transform:translateX(-50%)}}
.about,.editorial{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;padding:10vw 8vw}.about{background:var(--ivory)}
.about-media{position:relative}.about-media img{height:720px;object-fit:cover;border-radius:0 180px 0 0}.caption{position:absolute;left:20px;bottom:20px;background:var(--ink);color:white;padding:12px 16px;font-size:11px}
.about h2,.section-heading h2,.editorial h2,.cta h2{font-size:clamp(48px,6vw,86px);line-height:.95;letter-spacing:-.03em}
.about-copy>p:not(.eyebrow),.editorial-copy>p:not(.eyebrow){font-size:17px;line-height:1.8;color:#5f574f;max-width:620px}
blockquote{font:500 34px/1.15 "Cormorant Garamond";border-left:2px solid var(--gold);padding-left:24px;margin:38px 0 0}
.services{padding:9vw 7vw}.section-heading{max-width:850px;margin-bottom:55px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{min-height:300px;padding:34px;border:1px solid var(--line);background:rgba(255,255,255,.45);transition:.3s}.service-card:hover{transform:translateY(-6px);background:white}.service-card span{color:var(--gold);font-size:12px}.service-card h3{font-size:38px;margin:70px 0 14px}.service-card p{line-height:1.7;color:#625a53}.placeholder-note{font-size:12px;color:#827970;margin-top:22px}
.editorial{background:#ddd5c8}.editorial-images{position:relative;min-height:620px}.editorial-images img{position:absolute;object-fit:cover;box-shadow:0 25px 60px rgba(33,28,24,.2)}.editorial-images .large{width:68%;right:0;top:0}.editorial-images .small{width:46%;left:0;bottom:20px;z-index:2}.cat-note{position:absolute;right:0;bottom:15px;font:500 22px "Cormorant Garamond"}
.text-link{display:inline-flex;gap:10px;margin-top:20px;border-bottom:1px solid var(--ink);padding-bottom:6px;font-weight:700}
.cta{padding:5vw;background:var(--olive)}.cta-inner{min-height:520px;border:1px solid rgba(255,255,255,.25);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:white;padding:50px;background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.09),transparent 50%)}.cta .eyebrow{color:#e4dacd}.cta p:not(.eyebrow){max-width:600px;line-height:1.7}.light{background:var(--ivory);color:var(--ink);margin-top:18px}
footer{display:grid;grid-template-columns:1fr auto auto;gap:30px;align-items:center;padding:36px 5vw;background:var(--ink);color:var(--ivory);font-size:12px}.footer-brand{display:flex;gap:14px;align-items:center}.footer-brand div{display:flex;flex-direction:column}.legal{color:#b9b0a6}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}.delay{transition-delay:.15s}

@media(max-width:900px){
  .nav{height:76px;padding:0 18px}.brand-copy{display:none}.mark{width:42px;height:48px;font-size:25px}
  .hero{grid-template-columns:1fr;padding:54px 20px 70px;gap:50px}.hero-copy{text-align:left}.hero-visual{max-width:620px;margin:auto}.portrait-frame img{height:620px}
  .proof{gap:22px;justify-content:space-between}.proof strong{font-size:28px}
  .about,.editorial{grid-template-columns:1fr;padding:90px 20px;gap:55px}.about-media img{height:580px}
  .service-grid{grid-template-columns:1fr}.services{padding:90px 20px}.service-card{min-height:250px}.service-card h3{margin-top:45px}
  .editorial-images{min-height:520px}.cta{padding:20px}.cta-inner{min-height:460px;padding:30px 20px}
  footer{grid-template-columns:1fr;text-align:center;justify-items:center}
}
@media(max-width:560px){
  h1{font-size:58px}.lead{font-size:16px}.actions{flex-direction:column}.button{width:100%}.proof{flex-wrap:wrap}.proof div{width:45%}
  .portrait-frame{border-radius:170px 170px 18px 18px}.portrait-frame img{height:500px}.float-card{right:8px;bottom:16px;padding:15px 18px}.float-card strong{font-size:22px}
  .about-media img{height:500px}.about h2,.section-heading h2,.editorial h2,.cta h2{font-size:50px}
  .editorial-images{min-height:420px}.editorial-images .large{width:74%}.editorial-images .small{width:50%}.cat-note{font-size:17px}
}
