@import url('https://api.fontshare.com/v2/css?f[]=boska@400,500,700&f[]=satoshi@400,500,600,700&display=swap');

:root,[data-theme=light]{
  --font-display:'Boska','Times New Roman',serif;--font-body:'Satoshi','Helvetica Neue',sans-serif;
  --text-xs:clamp(.75rem,.7rem + .25vw,.875rem);--text-sm:clamp(.875rem,.8rem + .35vw,1rem);--text-base:clamp(1rem,.95rem + .25vw,1.125rem);--text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);--text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);--text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);--text-hero:clamp(3.2rem,1.1rem + 6vw,7.25rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;
  --color-bg:#f4f0e7;--color-surface:#fbf8f1;--color-surface-2:#e8e1d3;--color-ink:#091b20;--color-text:#182c2f;--color-muted:#677173;--color-night:#07171b;--color-pine:#123d35;--color-red:#8d2c2f;--color-gold:#d6ad58;--color-gold-soft:#f0ddb0;--color-white:#fffdf7;
  --border:1px solid color-mix(in oklab,var(--color-ink) 13%,transparent);--radius-sm:.375rem;--radius-md:.625rem;--radius-lg:1rem;--radius-full:999px;--shadow:0 18px 60px rgba(5,23,27,.14);--transition:220ms cubic-bezier(.16,1,.3,1);--wide:1240px;--default:960px;--narrow:680px
}
[data-theme=dark]{--color-bg:#07171b;--color-surface:#0d2327;--color-surface-2:#173136;--color-ink:#fffdf7;--color-text:#eef0e9;--color-muted:#a9b4b2;--color-night:#030e11;--color-pine:#2f7564;--color-red:#c86a6d;--color-gold:#e0bd70;--color-gold-soft:#5f512f;--color-white:#fffdf7;--border:1px solid rgba(255,255,255,.14);--shadow:0 18px 60px rgba(0,0,0,.42)}
body{overflow-x:hidden}
.wrap{width:min(calc(100% - 2rem),var(--wide));margin-inline:auto}.narrow{width:min(calc(100% - 2rem),var(--narrow));margin-inline:auto}
.eyebrow{display:block;margin-bottom:var(--space-4);font-size:var(--text-xs);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--color-red)}
h1,h2{font-family:var(--font-display);font-weight:500;letter-spacing:-.035em;color:var(--color-ink)}
h1{font-size:var(--text-hero)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-lg);line-height:1.25;color:var(--color-ink)}
.lede{font-size:var(--text-lg);line-height:1.55;color:var(--color-muted)}.section-copy{color:var(--color-muted);margin-top:var(--space-5)}
.site-header{position:fixed;inset:0 0 auto;z-index:100;color:var(--color-white);transition:background var(--transition),transform var(--transition)}
.site-header.scrolled,.interior .site-header{background:rgba(4,18,21,.92);backdrop-filter:blur(18px);box-shadow:0 1px 0 rgba(255,255,255,.1)}
.nav-shell{height:5.25rem;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}
.brand{display:flex;align-items:center;gap:var(--space-3);min-width:max-content}.brand-mark{width:2.6rem;color:var(--color-gold)}.brand-copy{line-height:1}.brand-name{display:block;font-size:var(--text-sm);font-weight:700;letter-spacing:.02em}.brand-sub{display:block;margin-top:.35rem;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-gold-soft)}
.nav-links{display:flex;align-items:center;gap:clamp(var(--space-4),2vw,var(--space-8));font-size:var(--text-sm);font-weight:600}.nav-links a:not(.button){padding-block:var(--space-3);border-bottom:1px solid transparent}.nav-links a:not(.button):hover,.nav-links a:not(.button)[aria-current=page]{color:var(--color-gold);border-color:currentColor}
.nav-toggle,.theme-toggle{min-width:2.75rem;min-height:2.75rem;color:inherit}.nav-toggle{display:none;font-size:1.4rem}.theme-toggle svg{width:1.25rem;margin:auto}.nav-actions{display:flex;align-items:center;gap:var(--space-2)}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:700;transition:transform var(--transition),background var(--transition),color var(--transition),border var(--transition)}.button:hover{transform:translateY(-2px)}.button-gold{background:var(--color-gold);color:#091b20}.button-gold:hover{background:#edc976}.button-outline{border:var(--border);background:color-mix(in oklab,var(--color-surface) 75%,transparent);color:var(--color-ink)}.button-outline:hover{background:var(--color-ink);color:var(--color-bg)}.button-dark{background:var(--color-ink);color:var(--color-white)}
.hero{position:relative;min-height:100svh;display:grid;align-items:end;background:var(--color-night);color:var(--color-white);isolation:isolate}.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,13,16,.92) 0%,rgba(3,13,16,.58) 42%,rgba(3,13,16,.08) 72%),linear-gradient(0deg,rgba(3,13,16,.82),transparent 48%)}.hero-media{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}.hero-content{padding-block:clamp(9rem,16vh,13rem) var(--space-16);max-width:780px}.hero h1{color:var(--color-white);max-width:10ch}.hero h1 em{color:var(--color-gold);font-weight:400}.hero .lede{max-width:56ch;margin-top:var(--space-6);color:#e3e7e2}.hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}.hero-note{margin-top:var(--space-10);display:flex;gap:var(--space-6);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:#c6d0cc}.hero-note span{display:flex;align-items:center;gap:var(--space-2)}.hero-note span::before{content:"";width:.35rem;height:.35rem;border-radius:50%;background:var(--color-gold)}
.proof{background:var(--color-gold);color:#091b20}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);padding-block:var(--space-5)}.proof-item{padding-inline:var(--space-6);border-right:1px solid rgba(9,27,32,.24)}.proof-item:last-child{border:0}.proof-item strong{display:block;font-size:var(--text-sm)}.proof-item span{font-size:var(--text-xs);opacity:.75}
.section{padding-block:clamp(var(--space-16),8vw,var(--space-32))}.section-tight{padding-block:var(--space-16)}.section-night{background:var(--color-night);color:var(--color-white)}.section-night h2,.section-night h3{color:var(--color-white)}.section-night .eyebrow{color:var(--color-gold)}.section-night .section-copy{color:#aebdba}
.intro-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:clamp(var(--space-10),8vw,var(--space-24));align-items:end}.intro-grid h2{max-width:12ch}.intro-grid .lede{max-width:46ch}
.service-story{display:grid;grid-template-columns:1.25fr .75fr;gap:var(--space-5);margin-top:var(--space-16)}.feature-image{position:relative;min-height:38rem;overflow:hidden;border-radius:var(--radius-sm)}.feature-image img{width:100%;height:100%;object-fit:cover}.feature-caption{position:absolute;inset:auto var(--space-5) var(--space-5);padding:var(--space-5);background:rgba(4,18,21,.86);backdrop-filter:blur(12px);color:white;max-width:29rem}.feature-caption h3{color:white;font-family:var(--font-display);font-size:var(--text-xl);font-weight:500}.feature-caption p{margin-top:var(--space-2);color:#d3dcda}.feature-stack{display:grid;gap:var(--space-5)}.story-card{display:flex;flex-direction:column;justify-content:space-between;min-height:18.5rem;padding:var(--space-8);background:var(--color-surface);border:var(--border)}.story-card.dark{background:var(--color-pine);color:white;border:0}.story-card.dark h3{color:white}.story-card p{margin-top:var(--space-4);color:var(--color-muted)}.story-card.dark p{color:#d4e2dd}.text-link{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-6);font-size:var(--text-sm);font-weight:700;color:var(--color-red)}.dark .text-link{color:var(--color-gold)}
.process{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(var(--space-12),8vw,var(--space-24));align-items:start}.process-list{counter-reset:process}.process-step{counter-increment:process;display:grid;grid-template-columns:3rem 1fr;gap:var(--space-5);padding-block:var(--space-6);border-bottom:1px solid rgba(255,255,255,.16)}.process-step::before{content:"0" counter(process);font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-gold)}.process-step p{margin-top:var(--space-2);color:#aebdba}.process-media{position:sticky;top:7rem}.process-media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.mosaic{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:repeat(2,18rem);gap:var(--space-4);margin-top:var(--space-12)}.mosaic figure{position:relative;overflow:hidden}.mosaic figure:first-child{grid-row:1/3}.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}.mosaic figure:hover img{transform:scale(1.025)}.mosaic figcaption{position:absolute;left:var(--space-4);bottom:var(--space-4);padding:var(--space-2) var(--space-3);background:rgba(4,18,21,.82);color:#fff;font-size:var(--text-xs)}
.quote-band{display:grid;grid-template-columns:1fr 1fr;min-height:35rem}.quote-image img{width:100%;height:100%;object-fit:cover}.quote-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(var(--space-10),8vw,var(--space-24));background:var(--color-red);color:white}.quote-copy h2{color:white;max-width:11ch}.quote-copy p{margin-top:var(--space-6);color:#f6dfdf}.quote-copy .button{align-self:flex-start;margin-top:var(--space-8)}
.service-area{display:flex;align-items:end;justify-content:space-between;gap:var(--space-8)}.location-line{margin-top:var(--space-10);padding-block:var(--space-5);border-block:var(--border);font-size:var(--text-sm);font-weight:700;letter-spacing:.05em}
.interior-main{padding-top:5.25rem}.page-hero{position:relative;min-height:72svh;display:flex;align-items:end;color:white;background:var(--color-night);isolation:isolate}.page-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,13,16,.9),rgba(3,13,16,.15)),linear-gradient(0deg,rgba(3,13,16,.7),transparent 60%)}.page-hero img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}.page-hero-content{padding-block:var(--space-24);max-width:760px}.page-hero h1{font-size:clamp(3rem,1.5rem + 5vw,6rem);color:white}.page-hero .lede{color:#e0e7e4;margin-top:var(--space-6)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(var(--space-10),7vw,var(--space-20));align-items:center}.split img{width:100%;aspect-ratio:4/3;object-fit:cover}.list{list-style:none;margin-top:var(--space-8)}.list li{padding:var(--space-4) 0;border-bottom:var(--border);font-weight:600}.list li span{display:block;margin-top:var(--space-1);font-size:var(--text-sm);font-weight:400;color:var(--color-muted)}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-4)}.gallery-grid figure{grid-column:span 5;overflow:hidden}.gallery-grid figure:nth-child(3n+1){grid-column:span 7}.gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.gallery-grid figcaption{padding:var(--space-3) 0;font-size:var(--text-sm);font-weight:600}
.faq-list details{border-bottom:var(--border);padding-block:var(--space-5)}.faq-list summary{cursor:pointer;list-style:none;font-size:var(--text-lg);font-weight:600;color:var(--color-ink)}.faq-list summary::after{content:"+";float:right;color:var(--color-red)}.faq-list details[open] summary::after{content:"−"}.faq-list p{margin-top:var(--space-4);color:var(--color-muted)}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(var(--space-10),7vw,var(--space-20))}.contact-panel{padding:var(--space-8);background:var(--color-night);color:white}.contact-panel h2{color:white}.contact-panel a{color:var(--color-gold)}.contact-details{margin-top:var(--space-8);display:grid;gap:var(--space-5)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.field.full{grid-column:1/-1}.field label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:700}.field input,.field select,.field textarea{width:100%;padding:var(--space-4);border:var(--border);background:var(--color-surface);border-radius:0}.field textarea{resize:vertical}.form-note{margin-top:var(--space-4);font-size:var(--text-xs);color:var(--color-muted)}
.site-footer{background:#031014;color:#dbe4e1;padding-block:var(--space-20) var(--space-6)}.footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:var(--space-10)}.footer-grid h3{color:var(--color-gold);font-size:var(--text-sm);margin-bottom:var(--space-4)}.footer-grid p,.footer-grid a,.footer-grid li{font-size:var(--text-sm);color:#9fb0ac}.footer-grid ul{list-style:none;display:grid;gap:var(--space-2)}.footer-grid a:hover{color:white}.footer-bottom{display:flex;justify-content:space-between;gap:var(--space-6);margin-top:var(--space-16);padding-top:var(--space-6);border-top:1px solid rgba(255,255,255,.12);font-size:var(--text-xs);color:#788b87}
.reveal{opacity:0;transform:translateY(1.5rem);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.nav-toggle{display:block}.nav-links{position:absolute;inset:5.25rem 0 auto;display:none;flex-direction:column;align-items:stretch;padding:var(--space-5);background:#041215}.nav-links.open{display:flex}.nav-links .button{width:100%}.proof-grid{grid-template-columns:1fr 1fr}.proof-item:nth-child(2){border-right:0}.intro-grid,.process,.split,.contact-grid{grid-template-columns:1fr}.service-story{grid-template-columns:1fr}.feature-image{min-height:30rem}.process-media{position:static;order:-1}.footer-grid{grid-template-columns:1fr 1fr}.page-hero{min-height:62svh}}
@media(max-width:640px){.wrap,.narrow{width:min(calc(100% - 1.5rem),var(--wide))}.brand-name{font-size:.8rem}.brand-sub{font-size:.58rem}.theme-toggle{display:none}.hero-content{padding-top:9rem}.hero-note{display:grid;gap:var(--space-2)}.proof-grid{grid-template-columns:1fr}.proof-item{border-right:0;border-bottom:1px solid rgba(9,27,32,.22);padding-block:var(--space-3)}.service-story{margin-top:var(--space-10)}.feature-image{min-height:28rem}.story-card{min-height:auto}.mosaic{grid-template-columns:1fr;grid-template-rows:none}.mosaic figure,.mosaic figure:first-child{grid-column:auto;grid-row:auto;height:18rem}.quote-band{grid-template-columns:1fr}.quote-image{height:24rem}.service-area{display:block}.service-area .button{margin-top:var(--space-6)}.gallery-grid{display:block}.gallery-grid figure{margin-bottom:var(--space-6)}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:var(--space-2)}}

