:root{
  --ink:#050b11;--ink2:#08141d;--paper:#edf2f4;--muted:#93a5af;--line:rgba(235,241,244,.13);
  --ice:#83d9ef;--violet:#b79cff;--rose:#cf8fae;--copper:#d19a70;
  --serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",system-ui,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;background:
radial-gradient(circle at 80% 12%,rgba(88,80,150,.12),transparent 28rem),
radial-gradient(circle at 10% 70%,rgba(44,138,163,.09),transparent 26rem),var(--ink);color:var(--paper);font-family:var(--sans);font-weight:300;line-height:1.6;overflow-x:hidden}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.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:1rem;top:-4rem;z-index:999;background:#fff;color:#000;padding:.7rem 1rem}.skip-link:focus{top:1rem}.grain{position:fixed;inset:0;pointer-events:none;opacity:.055;z-index:50;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
.site-header{height:76px;position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,4vw,4.5rem);transition:.3s;background:linear-gradient(to bottom,rgba(3,8,13,.78),transparent)}.site-header.scrolled{background:rgba(4,10,15,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.85rem;font-size:.72rem;letter-spacing:.25em;font-weight:500}.brand img{width:34px}.nav{display:flex;align-items:center;gap:2rem;font-size:.78rem;letter-spacing:.11em;text-transform:uppercase}.nav a{position:relative;color:#d7e0e5}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-.4rem;height:1px;background:linear-gradient(90deg,var(--ice),var(--violet));transition:.25s}.nav a:hover:after{right:0}.nav-toggle{display:none;background:none;border:0;color:white;width:44px;height:44px}.nav-toggle span:not(.sr-only){display:block;width:22px;height:1px;background:#fff;margin:5px auto}
.hero{min-height:100svh;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.25fr);position:relative;border-bottom:1px solid var(--line)}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:8rem clamp(1.4rem,5vw,6rem) 5rem;position:relative;z-index:2;background:linear-gradient(90deg,var(--ink) 0%,rgba(5,11,17,.96) 70%,rgba(5,11,17,.25) 100%)}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.7rem;color:#aab8c0;margin:0 0 1.25rem}.hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(4rem,8vw,8.7rem);line-height:.72;letter-spacing:-.025em;margin:.2rem 0 2.3rem}.hero h1 span{display:block;font-style:italic;color:transparent;-webkit-text-stroke:1px rgba(235,241,244,.75);margin-left:clamp(1rem,6vw,5rem)}.hero-line{font-family:var(--serif);font-size:clamp(1.65rem,3vw,3.15rem);line-height:1.05;margin:0 0 1.3rem;max-width:14ch}.hero-sub{max-width:33rem;color:#a9b7c0;font-size:.95rem}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:47px;padding:.75rem 1.25rem;border:1px solid rgba(255,255,255,.18);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:.2s}.button-primary{color:#051018;background:linear-gradient(100deg,#d9edf1,#b8a7e7 72%,#d8a186);border:0;font-weight:600}.button-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.button-ghost:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.04)}.hero-media{min-height:100svh;position:relative;overflow:hidden}.hero-media picture,.hero-media img{width:100%;height:100%}.hero-media img{object-fit:cover;object-position:55% 50%;filter:saturate(.88) contrast(1.06)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,11,17,.62),transparent 30%),linear-gradient(0deg,rgba(5,11,17,.55),transparent 45%)}.hero-caption{position:absolute;right:2.5rem;bottom:2.4rem;display:flex;gap:1rem;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:#e4eaed}.hero-caption span+span{color:#97a9b3}.scroll-cue{position:absolute;bottom:2rem;left:clamp(1.4rem,5vw,6rem);display:flex;align-items:center;gap:.7rem;text-transform:uppercase;letter-spacing:.2em;font-size:.6rem;color:#84949e;z-index:3}.scroll-cue span{width:36px;height:1px;background:linear-gradient(90deg,var(--ice),var(--violet))}
.section-pad{padding:clamp(5rem,9vw,9rem) clamp(1.25rem,5vw,6rem)}.intro{display:grid;grid-template-columns:.7fr 1.3fr;gap:3rem;max-width:1450px;margin:auto}.intro-kicker{font-family:var(--serif);font-style:italic;font-size:1.4rem;color:#9fb1bb}.intro-copy{font-family:var(--serif);font-size:clamp(2rem,4vw,4.6rem);line-height:1.05;max-width:17ch}.intro-copy p{margin:0}.intro-copy .muted{color:#657985;margin-top:1.5rem;font-size:.42em;line-height:1.5;font-family:var(--sans);max-width:50ch}
.section-head{display:grid;grid-template-columns:1fr .75fr;gap:4rem;align-items:end;max-width:1450px;margin:0 auto 4rem}.section-head h2,.about-copy h2,.contact-copy h2{font-family:var(--serif);font-size:clamp(3.2rem,6.2vw,7.2rem);line-height:.82;font-weight:500;margin:0}.section-head h2 em,.about-copy h2 em,.contact-copy h2 em{font-weight:400;color:#b6c7cf}.section-head>p{max-width:34rem;color:#93a4ae;margin:0 0 .5rem}.work-section{border-top:1px solid var(--line)}
.gallery{max-width:1450px;margin:auto;display:grid;grid-template-columns:repeat(12,1fr);grid-auto-flow:dense;gap:clamp(.65rem,1.5vw,1.25rem)}.gallery-item{margin:0;position:relative;overflow:hidden;background:#0b1720;cursor:zoom-in;min-height:430px}.gallery-item.wide{grid-column:span 7}.gallery-item.tall{grid-column:span 5}.gallery-item:nth-child(3),.gallery-item:nth-child(6),.gallery-item:nth-child(7){min-height:620px}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s;filter:saturate(.9)}.gallery-item:hover img{transform:scale(1.025);filter:saturate(1)}.gallery-item:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.72));pointer-events:none}.gallery-item figcaption{position:absolute;left:1.2rem;right:1.2rem;bottom:1rem;z-index:2;display:flex;justify-content:space-between;align-items:end;gap:1rem;font-family:var(--serif);font-size:1.45rem}.gallery-item small{font:400 .59rem/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#bac5cb}
.stories{background:linear-gradient(180deg,rgba(15,30,40,.36),rgba(4,10,15,0));border-top:1px solid var(--line)}.story-grid{max-width:1450px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.story-card{position:relative;min-height:650px;overflow:hidden;border:1px solid var(--line);background:#09131b}.story-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.75) brightness(.75);transition:transform .8s,filter .5s}.story-card:hover img{transform:scale(1.025);filter:saturate(.93) brightness(.83)}.story-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(1,6,9,.92) 100%)}.story-copy{position:absolute;left:1.6rem;right:1.6rem;bottom:1.5rem;z-index:2}.story-copy span{font-size:.65rem;color:var(--violet);letter-spacing:.2em}.story-copy h3{font-family:var(--serif);font-size:2.4rem;margin:.25rem 0 .4rem}.story-copy p{color:#a4b2b9;max-width:30ch;font-size:.88rem;margin:0}
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,7rem);align-items:center;max-width:1600px;margin:auto}.about-media{height:min(75vw,850px);max-height:850px;position:relative}.about-media:before{content:"";position:absolute;width:70%;height:70%;right:-4%;top:-4%;border:1px solid rgba(183,156,255,.22);z-index:-1}.about-media img{width:100%;height:100%;object-fit:cover}.about-copy{max-width:650px}.about-copy h2{font-size:clamp(3rem,5.4vw,6rem);margin-bottom:2rem}.about-copy .lede{font-family:var(--serif);font-size:1.6rem;line-height:1.25;color:#dce5e9}.about-copy p:not(.eyebrow):not(.lede){color:#97a8b1}.about-tags{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:2rem}.about-tags span{border:1px solid var(--line);padding:.55rem .7rem;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:#b8c5cb;background:rgba(255,255,255,.02)}
.quote-strip{padding:8rem 1.5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:radial-gradient(circle at 50% 50%,rgba(94,72,134,.18),transparent 32rem);text-align:center}.quote-strip p{font-family:var(--serif);font-style:italic;font-size:clamp(2.1rem,4.8vw,5.4rem);line-height:1.05;max-width:22ch;margin:auto;color:#d7e1e5}
.contact{display:grid;grid-template-columns:.85fr 1fr;gap:clamp(2rem,8vw,8rem);max-width:1450px;margin:auto}.contact-copy>p:not(.eyebrow){max-width:34rem;color:#95a5ae}.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;margin-top:2rem}.contact-links a{border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:.18rem}.contact-form{display:grid;gap:1.1rem}.contact-form label{display:grid;gap:.45rem;font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;color:#aab8bf}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid rgba(255,255,255,.15);background:rgba(8,20,29,.65);color:white;padding:.9rem 1rem;outline:none;border-radius:0}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#9cbcd0;box-shadow:0 0 0 2px rgba(131,217,239,.08)}.contact-form textarea{resize:vertical}.contact-form .button{justify-self:start;margin-top:.4rem}
.site-footer{border-top:1px solid var(--line);padding:2rem clamp(1.25rem,5vw,6rem);display:grid;grid-template-columns:1fr auto 1fr;gap:2rem;align-items:center;font-size:.7rem;color:#83949e}.site-footer>div:first-child{display:flex;flex-direction:column}.site-footer strong{letter-spacing:.2em;color:#d9e1e5}.footer-links{display:flex;gap:1.2rem}.footer-meta{text-align:right}
.lightbox{border:0;padding:0;background:rgba(3,7,10,.96);color:white;width:100vw;height:100vh;max-width:none;max-height:none}.lightbox::backdrop{background:rgba(0,0,0,.88)}.lightbox img{width:100%;height:100%;object-fit:contain;padding:4rem 4vw 5rem}.lightbox-close{position:fixed;right:1.2rem;top:1rem;z-index:3;background:none;border:0;color:white;font-size:2.5rem;font-weight:200;cursor:pointer}.lightbox-caption{position:fixed;left:4vw;bottom:1.2rem;display:flex;gap:.8rem;align-items:baseline}.lightbox-caption strong{font-family:var(--serif);font-size:1.35rem}.lightbox-caption span{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:#91a4ae}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:none}
@media (max-width:900px){.nav-toggle{display:block}.nav{position:fixed;top:76px;left:0;right:0;display:none;flex-direction:column;align-items:flex-start;padding:1.5rem;background:rgba(4,10,15,.96);border-bottom:1px solid var(--line)}.nav.open{display:flex}.hero{grid-template-columns:1fr;min-height:100svh}.hero-copy{position:absolute;inset:0;z-index:2;background:linear-gradient(0deg,rgba(4,10,15,.92) 8%,rgba(4,10,15,.55) 65%,rgba(4,10,15,.18));justify-content:flex-end;padding-bottom:6rem}.hero-media{min-height:100svh}.hero h1{font-size:clamp(4rem,20vw,7rem)}.hero h1 span{margin-left:1.2rem}.hero-caption{right:1.25rem;bottom:1.25rem}.scroll-cue{display:none}.intro,.section-head,.about,.contact{grid-template-columns:1fr}.intro{gap:1.5rem}.section-head{gap:1.7rem}.gallery-item.wide,.gallery-item.tall{grid-column:span 12;min-height:55vw}.gallery-item:nth-child(3),.gallery-item:nth-child(6),.gallery-item:nth-child(7){min-height:110vw}.story-grid{grid-template-columns:1fr}.story-card{min-height:75vh}.about-media{height:115vw}.contact-copy{margin-bottom:1rem}.site-footer{grid-template-columns:1fr;gap:1rem}.footer-meta{text-align:left}.footer-links{order:3}}
@media (max-width:560px){.section-pad{padding-left:1rem;padding-right:1rem}.site-header{padding:0 1rem}.brand span{font-size:.65rem}.hero-copy{padding-left:1.1rem;padding-right:1.1rem}.hero-actions{align-items:stretch;flex-direction:column}.button{width:100%}.gallery{gap:.65rem}.gallery-item{min-height:70vw!important}.gallery-item:nth-child(3),.gallery-item:nth-child(6),.gallery-item:nth-child(7){min-height:135vw!important}.gallery-item figcaption{font-size:1.2rem}.gallery-item small{display:none}.quote-strip{padding:5rem 1rem}.lightbox img{padding:3.5rem .5rem 5rem}.lightbox-caption{left:1rem;right:1rem;flex-direction:column;gap:.1rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.gallery-item img,.story-card img{transition:none}}

/* 2026-09-15 portfolio expansion */
.nav-cta{border:1px solid rgba(183,156,255,.4);padding:.45rem .75rem}
.nav-cta:after{display:none!important}.nav-cta:hover{background:rgba(183,156,255,.08);border-color:rgba(131,217,239,.5)}
.hero-proof{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--line);display:grid;gap:.35rem;max-width:36rem}.hero-proof span{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:#8497a2}.hero-proof b{font-family:var(--serif);font-size:1.05rem;font-weight:500;color:#cbd6dc;line-height:1.35}
.intro-copy strong{font-weight:500;color:#bfd2dc}
.signature{border-top:1px solid var(--line);background:radial-gradient(circle at 85% 20%,rgba(151,111,201,.12),transparent 28rem)}
.focus-grid,.service-grid{max-width:1450px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.focus-card,.service-card{border:1px solid var(--line);background:linear-gradient(145deg,rgba(13,28,38,.78),rgba(8,17,24,.48));padding:clamp(1.4rem,2.5vw,2.2rem);min-height:290px;position:relative;overflow:hidden}
.focus-card:before,.service-card:before{content:"";position:absolute;width:220px;height:220px;border-radius:50%;filter:blur(70px);background:rgba(103,88,167,.12);right:-90px;top:-100px;pointer-events:none}
.focus-card>span,.service-card>span,.shop-card span,.credential-grid span{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--violet)}
.focus-card h3,.service-card h3{font-family:var(--serif);font-weight:500;font-size:2rem;line-height:1.02;margin:1.6rem 0 .8rem}.focus-card p,.service-card p{color:#93a6af;font-size:.86rem;margin:0;max-width:31ch}.service-card a{display:inline-block;margin-top:1.5rem;font-size:.7rem;letter-spacing:.04em;color:#d8e4e9;border-bottom:1px solid rgba(255,255,255,.22)}
.credibility{max-width:1600px;margin:auto;display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(2rem,6vw,7rem);align-items:start;border-top:1px solid var(--line)}.credibility-intro h2{font-family:var(--serif);font-size:clamp(3.2rem,6vw,6.6rem);line-height:.82;font-weight:500;margin:0}.credibility-intro h2 em{font-weight:400;color:#b6c7cf}.credential-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.credential-grid>div{padding:1.8rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:170px}.credential-grid p{font-family:var(--serif);font-size:1.35rem;line-height:1.35;color:#d2dde2;margin:.75rem 0 0}
.about{border-top:1px solid var(--line)}.about-media{min-height:700px;max-height:930px}.about-media picture,.about-media img{width:100%;height:100%}.about-media img{object-position:center 30%;filter:saturate(.82) contrast(1.02)}.about-media:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);pointer-events:none}
.services{border-top:1px solid var(--line)}
.shop{border-top:1px solid var(--line);background:radial-gradient(circle at 10% 20%,rgba(63,155,181,.09),transparent 26rem),radial-gradient(circle at 90% 70%,rgba(170,100,180,.09),transparent 28rem)}.shop-grid{max-width:1450px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.shop-card{border:1px solid var(--line);background:#09131b;min-height:570px;display:flex;flex-direction:column;overflow:hidden;position:relative}.shop-card-image img{width:100%;height:330px;object-fit:cover;filter:saturate(.84) contrast(1.04)}.shop-card>div{padding:1.7rem;display:flex;flex-direction:column;align-items:flex-start;flex:1}.shop-card h3{font-family:var(--serif);font-size:2.7rem;font-weight:500;line-height:.95;margin:.8rem 0}.shop-card p{color:#95a7b0;max-width:32ch;margin:0 0 1.6rem}.shop-card .button{margin-top:auto}.shop-card-licensing{background:linear-gradient(145deg,rgba(9,26,36,.96),rgba(28,17,36,.8));justify-content:flex-end}.shop-card-licensing:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 25%,rgba(120,95,190,.22),transparent 18rem),radial-gradient(circle at 18% 80%,rgba(82,173,191,.12),transparent 22rem);pointer-events:none}.shop-card-licensing>div{position:relative;z-index:1;justify-content:flex-end}
.book{border-top:1px solid var(--line);max-width:1600px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2.5rem,7vw,8rem);align-items:start}.book-copy{position:sticky;top:110px}.book-copy h2{font-family:var(--serif);font-size:clamp(3.2rem,6vw,6.6rem);line-height:.82;font-weight:500;margin:0 0 2rem}.book-copy h2 em{font-weight:400;color:#b6c7cf}.book-copy>p:not(.eyebrow){color:#96a8b0;max-width:34rem}.book-facts{display:grid;gap:.65rem;margin-top:2.2rem;padding-top:1.5rem;border-top:1px solid var(--line);color:#a9b8bf;font-size:.85rem}.book-facts span{display:flex;gap:.5rem;flex-wrap:wrap}.book-facts b{color:#d7e1e5;font-weight:500}.book-facts a{border-bottom:1px solid rgba(255,255,255,.16)}
.booking-form{background:linear-gradient(145deg,rgba(12,27,37,.68),rgba(8,17,24,.45));border:1px solid var(--line);padding:clamp(1.4rem,3vw,2.6rem)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.consent{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:.7rem!important;text-transform:none!important;letter-spacing:0!important;font-size:.76rem!important;line-height:1.45;color:#91a4ae!important}.consent input{width:auto!important;margin-top:.2rem;accent-color:#a99ce3}.form-note{margin:.2rem 0 0;color:#72858f;font-size:.72rem;max-width:48ch}.contact-form select option{color:#111;background:#fff}
.site-footer a:hover{color:#dce5e9}.footer-meta a{border-bottom:1px solid rgba(255,255,255,.14)}

@media (max-width:1100px){.focus-grid,.service-grid{grid-template-columns:repeat(2,1fr)}.shop-grid{grid-template-columns:1fr 1fr}.shop-card-licensing{grid-column:span 2;min-height:370px}.credibility{grid-template-columns:1fr}.book{grid-template-columns:1fr}.book-copy{position:static}.about-media{min-height:620px}}
@media (max-width:900px){.nav-cta{border:0;padding:0}.hero-proof{display:none}.focus-grid,.service-grid{grid-template-columns:1fr 1fr}.credibility{padding-top:6rem}.about-media{min-height:0;height:120vw}.shop-grid{grid-template-columns:1fr}.shop-card-licensing{grid-column:auto}.book{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}}
@media (max-width:560px){.focus-grid,.service-grid,.credential-grid{grid-template-columns:1fr}.focus-card,.service-card{min-height:240px}.credential-grid>div{min-height:140px}.shop-card{min-height:520px}.shop-card-image img{height:300px}.book{padding-top:5rem}.booking-form{padding:1rem}.book-facts span{display:block}.hero-sub{font-size:.88rem}}
