@font-face { font-family: Bodoni; src: url('/assets/BodoniModa-Regular.ttf') format('truetype'); font-display: swap; font-weight: 400; }
:root { --forest:#07120d; --emerald:#123b2e; --ivory:#e8e1d4; --gold-light:#c7b38d; --muted:#b9c0b4; --line:rgba(199,179,141,.28); --anchor-offset:106px; color-scheme:dark; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { scroll-behavior:smooth; scroll-padding-top:var(--anchor-offset); }
body { margin:0; background:var(--forest); color:var(--ivory); font:16px/1.65 Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
img { display:block; max-width:100%; height:auto; }
p { margin:0 0 18px; }
h1,h2,h3 { font-family:Bodoni,Georgia,serif; font-weight:400; margin:0; line-height:1.15; text-wrap:balance; }
h1 { font-size:clamp(48px,5.6vw,80px); letter-spacing:-1.7px; }
h2 { font-size:clamp(32px,3vw,43px); letter-spacing:-.5px; }
h3 { font-size:clamp(32px,3.1vw,44px); letter-spacing:-.5px; }
::selection { background:var(--gold-light); color:var(--forest); }
:focus-visible { outline:2px solid var(--gold-light); outline-offset:5px; }
a,button,summary { touch-action:manipulation; -webkit-tap-highlight-color:rgba(199,179,141,.2); }
.wrap { width:calc(100% - 112px); max-width:1180px; margin-inline:auto; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; left:20px; top:-100px; padding:12px 20px; background:var(--ivory); color:var(--forest); z-index:100; }
.skip-link:focus { top:12px; }
/* Layer scale: stage decoration 0, stage content 1, sticky navigation 20, skip link 100. */
.header-shell { position:sticky; top:0; z-index:20; background:#07120d; box-shadow:0 8px 24px #0003; }
.site-header { display:flex; align-items:center; justify-content:space-between; min-height:80px; gap:24px; }
.brand { display:block; width:172px; flex-shrink:0; padding-block:8px; }
.site-header nav { display:flex; align-items:center; gap:30px; font-size:14px; }
.site-header nav a { display:inline-flex; align-items:center; min-height:44px; padding:8px 4px; }
.site-header nav a:hover { color:var(--gold-light); }
.menu-toggle { display:none; background:transparent; color:var(--ivory); border:1px solid var(--line); padding:8px 15px; min-height:44px; }
.menu-toggle[hidden] { display:none; }
.menu-toggle span { margin-left:10px; color:var(--gold-light); }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 27px; background:var(--ivory); color:var(--forest); font-size:14px; line-height:1.5; box-shadow:0 5px 20px #0004; transition:background-color .2s,transform .2s; }
.button:hover { background:var(--gold-light); transform:translateY(-2px); }
.text-link { display:inline-flex; align-items:center; min-height:44px; padding-block:9px; text-decoration:underline; text-underline-offset:6px; font-size:15px; overflow-wrap:anywhere; }
.text-link:hover { color:var(--gold-light); }

.hero { position:relative; isolation:isolate; overflow:hidden; background:#030b08; }
.hero-stage { position:relative; min-height:555px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding-block:70px; }
.hero-art { position:absolute; inset:0; width:100vw; height:100%; margin-left:calc((100% - 100vw)/2); }
.hero-art picture,.hero-art img { display:block; width:100%; height:100%; max-width:none; }
.hero-art img { object-fit:cover; object-position:center 55%; }
.hero-art::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 65%,#030b08),linear-gradient(90deg,#030b0820,transparent 15%,transparent 92%,#030b0840); pointer-events:none; }
.hero-copy { position:relative; z-index:1; max-width:58%; }
.hero h1 { font-size:clamp(46px,5.2vw,74px); }
.hero-intro { color:var(--ivory); font-size:18px; margin:24px 0 28px; max-width:370px; }
.signature { position:relative; z-index:1; margin:26px 0 0; font:22px/1.4 Bodoni,Georgia,serif; color:var(--gold-light); }
.journey { position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(#030b08,#0b1e16 38%,#07150f 82%,#07120d); }
.journey::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(100deg,#07120df5 30%,#07120d99),url('/assets/forest-stone.webp'); background-size:auto,320px auto; opacity:.36; pointer-events:none; }
.services { position:relative; padding-block:36px 48px; }
.service-stack { position:relative; padding-top:20px; }
.service { position:relative; isolation:isolate; overflow:hidden; padding:30px 42px; min-height:155px; }
.service-copy { position:relative; z-index:2; }
.service h3 { font-size:clamp(34px,3.7vw,51px); }
.service p { font-size:17px; line-height:1.6; max-width:600px; margin:15px 0 0; }
.website-service { width:82%; background:linear-gradient(118deg,#e8e1d4,#c9c9ba); color:#12231b; box-shadow:inset 0 1px #fff8,0 15px 30px #01070485; z-index:2; }
.website-service p { color:#33483c; }
.digital-service { width:75%; margin:-6px 0 0 auto; background:linear-gradient(110deg,#16392bec,#0a1a14d9),url('/assets/forest-stone.webp'); background-size:auto,240px auto; box-shadow:0 16px 24px #02080575; z-index:1; }
.digital-service p { color:#cbd2c5; }
.advertising-service { width:81%; margin:-4px 0 0 6%; background:linear-gradient(108deg,#17241a,#07110cef),url('/assets/forest-stone.webp'); background-size:auto,320px auto; box-shadow:0 18px 28px #01080485; }
.advertising-service h3 { color:#d3bc91; }
.advertising-service p { color:var(--muted); }
.approach { display:grid; grid-template-columns:1.15fr 1fr; gap:90px; padding-block:44px 46px; }
.process-list { list-style:none; margin:26px 0 0; padding:0; }
.process-list li { display:grid; grid-template-columns:104px 1fr; gap:20px; margin-bottom:18px; }
.process-list h3 { font-size:24px; color:var(--gold-light); }
.process-list p { color:var(--muted); font-size:16px; margin:0; max-width:320px; }
.founder { padding-top:5px; }
.founder h2 { font-size:34px; margin-bottom:23px; }
.founder p { font-size:16px; color:var(--muted); }
.contact { position:relative; background:radial-gradient(ellipse at 25% 50%,#1c382455,transparent 65%); }
.contact-inner { display:grid; grid-template-columns:1.15fr 1fr; gap:90px; padding-block:48px 50px; }
.contact h2 { font-size:clamp(40px,4vw,56px); }
.contact-copy > p:first-of-type { color:var(--muted); margin:18px 0 24px; }
.contact-copy .text-link { margin-left:22px; }
.contact-note { font-size:14px; color:var(--muted); margin:18px 0 0; max-width:410px; }
.faq-list { align-self:center; }
details { border-bottom:1px solid var(--line); }
summary { cursor:pointer; list-style:none; position:relative; padding:19px 32px 19px 0; font-size:16px; min-height:52px; line-height:1.6; }
summary::-webkit-details-marker { display:none; }
summary::after { content:'+'; position:absolute; right:2px; top:13px; color:var(--gold-light); font-size:25px; }
details[open] summary::after { content:'−'; }
details p { color:var(--muted); font-size:15px; margin:0 16px 21px 0; }
.footer { display:flex; align-items:center; justify-content:space-between; gap:12px 28px; padding-block:20px; color:var(--muted); font-size:13px; }
.footer p { margin:0; }
.footer nav { display:flex; gap:22px; flex-wrap:wrap; }
.footer a { display:inline-flex; align-items:center; min-height:44px; }
.footer a:hover { text-decoration:underline; text-underline-offset:4px; }
.legal-main { max-width:760px; padding-block:60px 76px; }
.legal-main h1 { font-size:clamp(38px,4vw,54px); margin-bottom:28px; }
.legal-main h2 { font-size:29px; margin:36px 0 15px; letter-spacing:-.3px; }
.legal-main p,.legal-main li { color:var(--muted); font-size:16px; }
.legal-main a:not(.button) { color:var(--ivory); text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.eyebrow { font-size:12px; color:var(--gold-light); }
.legal-main ul { padding-left:22px; }
.legal-main .button { margin-top:24px; }
.legal-header { border-bottom:1px solid var(--line); }
.not-found p { max-width:520px; }

@media(max-width:1000px) { .wrap {width:calc(100% - 64px);} .approach,.contact-inner {gap:40px;} .contact-copy .text-link {margin-left:0;display:flex;width:fit-content;margin-top:12px;} }
@media(max-width:700px) {
 :root {--anchor-offset:154px;} html.js {--anchor-offset:106px;}
 .wrap {width:calc(100% - 40px);padding-inline:max(0px,env(safe-area-inset-left));}
 .site-header {min-height:80px;flex-wrap:wrap;gap:0 15px;} .brand {width:146px;}
 .site-header nav {width:100%;padding-bottom:10px;justify-content:space-between;gap:8px;}
 .js .menu-toggle {display:block;} .js .site-header nav {display:none;} .js .site-header nav.open {display:flex;}
 .hero-stage {width:100%;min-height:0;padding:0 0 30px;}
 .hero-art {position:relative;inset:auto;width:100%;height:240px;margin:0;} .hero-art img {object-position:center;}
 .hero-copy {max-width:none;width:calc(100% - 40px);margin:24px auto 0;}
 .hero h1 {font-size:clamp(33px,8.7vw,46px);} .hero-intro {max-width:none;font-size:16px;margin:14px 0 20px;}
 .signature {margin:22px 20px 0;font-size:21px;}
 .services {padding-block:24px 42px;} .service-stack {padding-top:10px;}
 .service {padding:24px;min-height:150px;}
 .service h3 {font-size:34px;} .service p {font-size:16px;margin-top:13px;}
 .website-service {width:100%;} .digital-service {width:94%;margin-top:0;} .advertising-service {width:96%;margin:0 0 0 0;}
 .approach {grid-template-columns:1fr;gap:28px;padding-block:32px 36px;}
 .process-list li {grid-template-columns:80px 1fr;gap:15px;} .process-list h3 {font-size:23px;}
 .founder h2 {font-size:31px;} .contact-inner {grid-template-columns:1fr;gap:26px;padding-block:36px;}
 .contact h2 {font-size:43px;}
 .footer {flex-direction:column;align-items:flex-start;gap:4px;padding-block:20px;} .footer nav {gap:20px;}
 .legal-header nav {width:auto;padding:0;} .legal-main {padding-block:40px 60px;}
}
@media(prefers-reduced-motion:reduce),(update:slow) { html {scroll-behavior:auto;} *,*::before,*::after {animation:none !important;transition:none !important;} .button:hover {transform:none;} }
@media(forced-colors:active) { .button {border:1px solid ButtonText;} .service {border:1px solid CanvasText;} }

/* All three dividers share the document timeline; scroll does not retrigger them. */
.section-divider { position:relative; height:1px; }
.section-divider::before,.section-divider > span { position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,transparent,#b19765 28%,#c7b38d 50%,#b19765 72%,transparent); }
.section-divider::before { content:''; opacity:.32; }
.section-divider > span { opacity:.2; animation:gold-breath 8s ease-in-out infinite; }
.section-divider > span::after { content:''; position:absolute; left:20%; right:20%; top:-9px; height:19px; background:radial-gradient(ellipse,#b197652e,transparent 70%); }
@keyframes gold-breath { 0%,100% {opacity:.2;} 50% {opacity:.76;} }
.page-hidden .section-divider > span { animation-play-state:paused; }
@media(prefers-reduced-motion:reduce),(update:slow) { .section-divider > span {animation:none;opacity:.25;} }
