/* First Acuity Management Enterprises — site stylesheet
   Built by ORDA Creative. Static, dependency-free. */

/* ---------- Fonts (self-hosted) ---------- */
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-garamond-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-garamond-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Cormorant Garamond";src:url("../fonts/cormorant-garamond-latin-500-italic.woff2") format("woff2");font-weight:500;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";src:url("../fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";src:url("../fonts/ibm-plex-sans-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";src:url("../fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Tokens ---------- */
:root{
  --ink:#0F1443;          /* brand navy (from logo) */
  --ink-deep:#090C2B;
  --ink-2:#1A2160;
  --gold:#C98A1E;         /* brand gold, rules and marks */
  --gold-text:#8A5B0B;    /* gold for text on light (AA) */
  --gold-bright:#E4A93F;  /* gold on navy */
  --paper:#F7F5F0;        /* warm off-white */
  --paper-2:#EFECE4;
  --white:#FFFFFF;
  --text:#14172B;
  --text-2:#4A4E66;
  --text-3:#6F7389;
  --line:rgba(15,20,67,.14);
  --line-strong:rgba(15,20,67,.3);
  --on-ink:#F4F2EC;
  --on-ink-2:#B9BBD1;
  --on-ink-line:rgba(244,242,236,.16);

  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;

  --measure:66ch;
  --gutter:max(clamp(1.25rem,4vw,3.5rem),env(safe-area-inset-left),env(safe-area-inset-right));
  --wrap:1280px;
  --s1:.5rem;--s2:1rem;--s3:1.5rem;--s4:2rem;--s5:3rem;--s6:4.5rem;--s7:6rem;--s8:8rem;
  --section:clamp(5rem,10vw,9rem);

  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-in-out:cubic-bezier(.65,0,.35,1);
  --dur-fast:180ms;--dur:320ms;--dur-slow:900ms;

  --nav-h:5rem;
  color-scheme:light;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 1rem)}
body{margin:0;background:var(--paper);color:var(--text);font:400 1.0625rem/1.65 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
img,svg,video{display:block;max-width:100%}
img{height:auto}
h1,h2,h3,h4,p,ul,ol,figure{margin:0}
ul[role="list"],ol[role="list"]{list-style:none;padding:0}
a,button,input,textarea{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
[id]{scroll-margin-top:calc(var(--nav-h) + 1rem)}
a{color:inherit;text-decoration-color:var(--gold);text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{text-decoration-color:currentColor}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
strong{font-weight:600}
em{font-style:italic}
::selection{background:var(--ink);color:var(--gold-bright)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
.on-ink :focus-visible,.on-ink:focus-visible{outline-color:var(--gold-bright)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Scrollbar (WebKit + Firefox) */
html{scrollbar-color:var(--ink) var(--paper-2);scrollbar-width:thin}
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:var(--paper-2)}
::-webkit-scrollbar-thumb{background:var(--ink);border:2px solid var(--paper-2);border-radius:8px}

/* ---------- Utilities ---------- */
.wrap{width:min(100% - 2*var(--gutter),var(--wrap));margin-inline:auto}
.wrap--narrow{width:min(100% - 2*var(--gutter),880px);margin-inline:auto}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:var(--gutter);top:-100%;z-index:1000;background:var(--ink);color:var(--on-ink);padding:.75rem 1rem;font-weight:500;border-radius:0 0 4px 4px}
.skip:focus{top:0}
.on-ink{background:var(--ink);color:var(--on-ink)}
.on-ink a{text-decoration-color:var(--gold-bright)}
.on-ink ::selection{background:var(--gold-bright);color:var(--ink)}
.tabular{font-variant-numeric:tabular-nums}

/* Type scale */
.display{font-family:var(--serif);font-weight:500;line-height:1.02;letter-spacing:-.015em;text-wrap:balance}
.display--xl{font-size:clamp(2.75rem,7.2vw,6rem)}
.display--l{font-size:clamp(2.25rem,4.6vw,3.75rem)}
.display--m{font-size:clamp(1.75rem,3.2vw,2.5rem)}
.lede{font-family:var(--serif);font-size:clamp(1.35rem,2.1vw,1.7rem);line-height:1.35;font-weight:500;letter-spacing:-.005em;text-wrap:pretty}
.prose{max-width:var(--measure);text-wrap:pretty}
.prose p+p{margin-top:1.25em}
.prose strong{color:var(--ink)}
.small{font-size:.875rem;line-height:1.55}
.meta{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;color:var(--text-3)}
.on-ink .meta{color:var(--on-ink-2)}

/* Buttons */
.btn{--btn-bg:var(--ink);--btn-fg:var(--on-ink);display:inline-flex;align-items:center;gap:.75rem;min-height:3rem;padding:.85rem 1.5rem;background:var(--btn-bg);color:var(--btn-fg);font-weight:500;font-size:.95rem;letter-spacing:.01em;text-decoration:none;border:1px solid var(--btn-bg);border-radius:2px;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}
.btn svg{width:1.05rem;height:1.05rem;transition:transform var(--dur) var(--ease-out)}
.btn:hover{--btn-bg:var(--ink-2)}
.btn:hover svg{transform:translateX(3px)}
.btn:active{transform:translateY(1px)}
.btn--ghost{--btn-bg:transparent;--btn-fg:var(--ink);border-color:var(--line-strong)}
.btn--ghost:hover{--btn-bg:transparent;border-color:var(--ink)}
.on-ink .btn{--btn-bg:var(--gold-bright);--btn-fg:var(--ink-deep);border-color:var(--gold-bright)}
.on-ink .btn:hover{--btn-bg:#F0BA55;border-color:#F0BA55}
.on-ink .btn--ghost,.hero .btn--ghost,.page-hero .btn--ghost{--btn-bg:transparent;--btn-fg:var(--on-ink);border-color:rgba(244,242,236,.35)}
.on-ink .btn--ghost:hover,.hero .btn--ghost:hover,.page-hero .btn--ghost:hover{border-color:var(--on-ink)}
.link{display:inline-flex;align-items:center;gap:.5rem;font-weight:500;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--gold);padding-bottom:.15rem;transition:border-color var(--dur-fast)}
.link:hover{border-color:var(--ink)}
.link svg{width:1rem;height:1rem;transition:transform var(--dur) var(--ease-out)}
.link:hover svg{transform:translateX(3px)}

/* ---------- Header ---------- */
.header{position:fixed;inset:0 0 auto 0;z-index:100;height:var(--nav-h);display:flex;align-items:center;color:var(--on-ink);transition:background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}
.header::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(9,12,43,.55),rgba(9,12,43,0));opacity:1;transition:opacity var(--dur) var(--ease-out);pointer-events:none}
.header.is-solid{background:rgba(247,245,240,.86);-webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px);color:var(--ink);box-shadow:0 1px 0 var(--line);}
.header.is-solid::before{opacity:0}
.header--light{color:var(--ink)}
.header--light::before{opacity:0}
.header .wrap{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}
.brand{display:flex;align-items:center;gap:.9rem;text-decoration:none;color:inherit;position:relative;z-index:2}
.brand__logo{display:block;position:relative;height:3.6rem;aspect-ratio:1469/1071;transform-origin:left center;transition:transform var(--dur) var(--ease-out)}
.brand__logo img{position:absolute;inset:0;width:100%;height:100%;transition:opacity var(--dur) var(--ease-out)}
.brand__logo-dark{opacity:0}
.header.is-solid .brand__logo-dark,.header--light:not(.menu-open) .brand__logo-dark{opacity:1}
.header.is-solid .brand__logo-light,.header--light:not(.menu-open) .brand__logo-light{opacity:0}
.header.is-solid .brand__logo{transform:scale(.82)}
.footer .brand__logo{height:4.5rem}
.footer .brand__logo-dark{display:none}
.nav{display:flex;align-items:center;gap:2.25rem}
.nav a{position:relative;text-decoration:none;font-size:.9rem;font-weight:500;letter-spacing:.02em;padding:.5rem 0;opacity:.9}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:.1rem;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--dur) var(--ease-out)}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav a[aria-current="page"]{opacity:1}
.nav .btn{min-height:2.6rem;padding:.55rem 1.1rem;font-size:.875rem;margin-left:.25rem}
.nav .btn::after{display:none}
.header:not(.is-solid):not(.header--light) .nav .btn{--btn-bg:transparent;--btn-fg:var(--on-ink);border-color:rgba(244,242,236,.4)}
.header:not(.is-solid):not(.header--light) .nav .btn:hover{border-color:var(--on-ink)}
.nav-toggle{display:none;width:2.75rem;height:2.75rem;align-items:center;justify-content:center;border-radius:2px;position:relative;z-index:2}
.nav-toggle svg{width:1.5rem;height:1.5rem}
.nav-toggle .x{display:none}
.nav-toggle[aria-expanded="true"] .x{display:block}
.nav-toggle[aria-expanded="true"] .bars{display:none}
@media(max-width:860px){
  .nav-toggle{display:inline-flex}
  .nav{position:fixed;inset:0;z-index:1;flex-direction:column;justify-content:center;align-items:flex-start;gap:0;padding:calc(var(--nav-h) + 1rem) var(--gutter) var(--s6);background:var(--ink);color:var(--on-ink);transform:translateY(-100%);opacity:0;visibility:hidden;transition:transform var(--dur-slow) var(--ease-out),opacity var(--dur) var(--ease-out),visibility 0s var(--dur-slow)}
  .nav.is-open{transform:none;opacity:1;visibility:visible;transition:transform var(--dur-slow) var(--ease-out),opacity var(--dur) var(--ease-out),visibility 0s}
  .nav a{font-family:var(--serif);font-size:clamp(2rem,9vw,3rem);font-weight:500;padding:.35rem 0;opacity:1;border-bottom:1px solid var(--on-ink-line);width:100%;letter-spacing:-.01em}
  .nav a::after{display:none}
  .nav a[aria-current="page"]{color:var(--gold-bright)}
  .nav .btn{margin:var(--s4) 0 0;font-family:var(--sans);font-size:.95rem;width:auto;border:1px solid var(--gold-bright);--btn-bg:var(--gold-bright);--btn-fg:var(--ink-deep);padding:.85rem 1.5rem}
  .header.menu-open{color:var(--on-ink);background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .header.menu-open::before{opacity:0}
  body.no-scroll{overflow:hidden}
}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:100svh;display:grid;align-items:end;color:var(--on-ink);isolation:isolate;overflow:clip;background:var(--ink-deep)}
.hero__media{position:absolute;inset:0;z-index:-2}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 60%;transform:scale(1.08);animation:hero-drift 14s var(--ease-out) forwards}
.hero__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(9,12,43,.92) 0%,rgba(9,12,43,.55) 45%,rgba(9,12,43,.15) 100%)}
.hero__scrim::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,12,43,.55),transparent 60%)}
.hero__body{padding:calc(var(--nav-h) + var(--s7)) 0 var(--s6);display:grid;gap:var(--s5)}
.hero__title{max-width:14ch}
.hero__title .line{display:block;overflow:hidden}
.hero__title .line>span{display:block;transform:translateY(110%);animation:rise var(--dur-slow) var(--ease-out) forwards;animation-delay:var(--d,0ms)}
.hero__title em{font-style:italic;color:var(--gold-bright)}
.hero__row{display:grid;grid-template-columns:1fr auto;gap:var(--s4);align-items:end;border-top:1px solid var(--on-ink-line);padding-top:var(--s4)}
.hero__row .lede{max-width:34ch;color:#E6E4DD;opacity:0;animation:fade var(--dur-slow) var(--ease-out) .55s forwards}
.hero__actions{display:flex;gap:.75rem;flex-wrap:wrap;opacity:0;animation:fade var(--dur-slow) var(--ease-out) .7s forwards}
.hero__cue{position:absolute;right:var(--gutter);bottom:var(--s4);display:flex;align-items:center;gap:.6rem;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-ink-2);opacity:0;animation:fade var(--dur-slow) var(--ease-out) 1.1s forwards}
.hero__cue i{display:block;width:1px;height:2.5rem;background:currentColor;transform-origin:top;animation:cue 2.2s var(--ease-in-out) infinite}
@media(max-width:700px){.hero__row{grid-template-columns:1fr}.hero__cue{display:none}}
@keyframes rise{to{transform:none}}
@keyframes fade{to{opacity:1}}
@keyframes hero-drift{to{transform:scale(1)}}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* Page hero (interior pages) */
.page-hero{position:relative;color:var(--on-ink);background:var(--ink-deep);isolation:isolate;overflow:clip;min-height:min(70svh,640px);display:grid;align-items:end}
.page-hero .hero__media img{animation:none;transform:none;object-position:center 45%;filter:saturate(.7)}
.page-hero .hero__scrim{background:linear-gradient(to top,rgba(9,12,43,.94) 0%,rgba(9,12,43,.62) 50%,rgba(9,12,43,.3) 100%)}
.page-hero .hero__body{padding:calc(var(--nav-h) + var(--s6)) 0 var(--s5);gap:var(--s3)}
.page-hero .display{max-width:16ch}
.page-hero .lede{max-width:44ch;color:#E6E4DD}
.crumbs{display:flex;gap:.6rem;align-items:center;font-size:.8125rem;letter-spacing:.06em;text-transform:uppercase;color:var(--on-ink-2)}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--on-ink)}
.crumbs svg{width:.8rem;height:.8rem;opacity:.7}

/* ---------- Sections ---------- */
.section{padding-block:var(--section)}
.section--tight{padding-block:var(--s7)}
.section__head{display:grid;gap:var(--s3);margin-bottom:var(--s6);max-width:26ch}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.split--even{grid-template-columns:1fr 1fr}
.sticky{position:sticky;top:calc(var(--nav-h) + 1rem)}
@media(max-width:860px){.split,.split--even{grid-template-columns:1fr}.sticky{position:static}}
.rule{border:0;border-top:1px solid var(--line);margin:0}
.on-ink .rule{border-color:var(--on-ink-line)}
.gold-rule{width:3.5rem;height:2px;background:var(--gold);border:0;margin:0}

/* Mission pull-quote */
.mission{padding-block:var(--section)}
.mission blockquote{margin:0;display:grid;gap:var(--s4)}
.mission blockquote p{font-family:var(--serif);font-size:clamp(1.85rem,3.6vw,3.25rem);line-height:1.18;letter-spacing:-.012em;font-weight:500;max-width:24ch;text-wrap:balance}
.mission blockquote p::before{content:"\201C";color:var(--gold);margin-left:-.45em}
.mission blockquote p::after{content:"\201D";color:var(--gold)}

/* Name etymology */
.etymology{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.etymology>div{padding:var(--s4) var(--s3) var(--s5);border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;gap:var(--s2);align-content:start;background:var(--white);transition:background var(--dur) var(--ease-out)}
.etymology>div:hover{background:var(--paper-2)}
.etymology h3{font-family:var(--serif);font-size:clamp(1.75rem,2.6vw,2.4rem);font-weight:500;line-height:1;letter-spacing:-.01em;color:var(--ink)}
.etymology p{color:var(--text-2);font-size:.95rem;text-wrap:pretty}
@media(max-width:860px){.etymology{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.etymology{grid-template-columns:1fr}}

/* Facts strip */
.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--on-ink-line);border-bottom:1px solid var(--on-ink-line)}
.facts>div{display:grid;gap:.6rem;padding:var(--s5) var(--s4) var(--s5) 0;align-content:start}
.facts>div+div{border-left:1px solid var(--on-ink-line);padding-left:var(--s4)}
.facts dt{font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;color:var(--on-ink-2);font-weight:500}
.facts dd{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(1.6rem,2.4vw,2.2rem);line-height:1.1;letter-spacing:-.01em;color:var(--on-ink);text-wrap:balance}
.facts dd em{color:var(--gold-bright)}
@media(max-width:700px){.facts{grid-template-columns:1fr}.facts>div{padding:var(--s3) 0}.facts>div+div{border-left:0;padding-left:0;border-top:1px solid var(--on-ink-line)}}

/* Editorial image + text band */
.band{display:grid;grid-template-columns:1fr 1fr;min-height:70vh}
.band__media{position:relative;overflow:hidden;min-height:22rem}
.band__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}
.band:hover .band__media img{transform:scale(1.03)}
.band__body{display:grid;align-content:center;gap:var(--s4);padding:var(--s7) var(--gutter)}
.band__body .prose{max-width:52ch}
@media(min-width:861px){.band__body{padding-left:clamp(2.5rem,6vw,6rem)}.band--flip .band__media{order:2}}
@media(max-width:860px){.band{grid-template-columns:1fr}.band__body{padding:var(--s6) var(--gutter)}}

/* Services list (home) */
.svc-list{border-top:1px solid var(--line)}
.svc-list li{border-bottom:1px solid var(--line)}
.svc-list a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--s3);padding:var(--s4) 0;text-decoration:none}
.svc-list a>div{transition:transform var(--dur) var(--ease-out)}
.svc-list a:hover>div{transform:translateX(.75rem)}
.svc-list h3{font-family:var(--serif);font-size:clamp(1.5rem,2.4vw,2rem);font-weight:500;line-height:1.1;letter-spacing:-.01em}
.svc-list p{color:var(--text-2);margin-top:.35rem;max-width:48ch;font-size:.95rem}
.svc-list svg{width:1.4rem;height:1.4rem;color:var(--gold-text);transition:transform var(--dur) var(--ease-out)}
.svc-list a:hover svg{transform:translateX(4px)}

/* Services page detail */
.svc{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(1.5rem,5vw,5rem);padding-block:var(--s6);border-top:1px solid var(--line)}
.svc:last-of-type{border-bottom:1px solid var(--line)}
.svc h2{font-family:var(--serif);font-size:clamp(1.85rem,3vw,2.6rem);font-weight:500;line-height:1.08;letter-spacing:-.012em;text-wrap:balance}
.svc__intro{color:var(--text-2);max-width:52ch;margin-bottom:var(--s3)}
.svc ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:0 var(--s4);border-top:1px solid var(--line)}
.svc li{padding:1rem 0 1rem 1.6rem;border-bottom:1px solid var(--line);position:relative;font-weight:500;color:var(--ink)}
.svc li::before{content:"";position:absolute;left:0;top:1.55rem;width:.75rem;height:1px;background:var(--gold)}
@media(max-width:860px){.svc{grid-template-columns:1fr}}
.svc-nav{display:flex;flex-wrap:wrap;gap:.5rem .5rem;margin-top:var(--s2)}
.svc-nav a{font-size:.875rem;font-weight:500;padding:.5rem .9rem;border:1px solid rgba(244,242,236,.35);border-radius:999px;text-decoration:none;transition:border-color var(--dur-fast),background var(--dur-fast)}
.svc-nav a:hover{border-color:var(--on-ink);background:rgba(244,242,236,.08)}

/* Profile */
.portrait{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--ink)}
.portrait img{width:100%;height:100%;object-fit:cover}
.portrait::after{content:"";position:absolute;inset:auto 0 0 0;height:2px;background:var(--gold)}
.creds{display:grid;gap:0;border-top:1px solid var(--line)}
.creds div{display:grid;grid-template-columns:9rem 1fr;gap:var(--s3);padding:var(--s3) 0;border-bottom:1px solid var(--line)}
.creds dt{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-weight:500;padding-top:.2rem}
.creds dd{margin:0;color:var(--text)}
@media(max-width:600px){.creds div{grid-template-columns:1fr;gap:.35rem}}

/* Contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,6vw,6rem)}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr}}
.contact-list{display:grid;border-top:1px solid var(--line)}
.contact-list>div{display:grid;grid-template-columns:2.25rem 1fr;gap:var(--s2);padding:var(--s3) 0;border-bottom:1px solid var(--line)}
.contact-list svg{width:1.25rem;height:1.25rem;color:var(--gold-text);margin-top:.15rem}
.contact-list h3{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-weight:500;margin-bottom:.35rem}
.contact-list p{color:var(--text)}
.contact-list a{text-decoration:none;border-bottom:1px solid var(--gold);transition:border-color var(--dur-fast)}
.contact-list a:hover{border-color:var(--ink)}
.map{aspect-ratio:16/10;background:var(--paper-2);border:1px solid var(--line);overflow:hidden}
.map iframe{width:100%;height:100%;border:0;filter:grayscale(1) contrast(1.05);transition:filter var(--dur-slow) var(--ease-out)}
.map:hover iframe{filter:none}

/* Form */
.form{display:grid;gap:var(--s3)}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}
@media(max-width:600px){.form__row{grid-template-columns:1fr}}
.field{display:grid;gap:.45rem}
.field label{font-size:.875rem;font-weight:500;color:var(--ink)}
.field label span{color:var(--text-3);font-weight:400}
.field input,.field textarea,.field select{width:100%;font:inherit;color:var(--text);background:var(--white);border:1px solid var(--line-strong);border-radius:2px;padding:.8rem .9rem;min-height:3rem;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}
.field textarea{min-height:9rem;resize:vertical}
.field input:hover,.field textarea:hover{border-color:var(--ink)}
.field input:focus-visible,.field textarea:focus-visible{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(201,138,30,.35)}
.field input::placeholder,.field textarea::placeholder{color:#7B7F95}
.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:#B3261E}
.field .error{font-size:.8125rem;color:#9A1F17;display:none}
.field.is-invalid .error{display:block}
.form__foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);justify-content:space-between}
.form__status{font-size:.9rem;color:var(--text-2);min-height:1.5em}
.form__status.is-ok{color:#1F6B3A}
.form__status.is-err{color:#9A1F17}
.btn.is-busy{opacity:.7;pointer-events:none}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}

/* CTA band */
.cta{position:relative;isolation:isolate;overflow:clip;color:var(--on-ink);background:var(--ink-deep)}
.cta .hero__media img{animation:none;transform:none;filter:saturate(.55)}
.cta .hero__scrim{background:linear-gradient(90deg,rgba(9,12,43,.94) 0%,rgba(9,12,43,.82) 55%,rgba(9,12,43,.6) 100%)}
.cta .hero__scrim::after{display:none}
.cta .wrap{position:relative;padding-block:var(--section);display:grid;grid-template-columns:1fr auto;gap:var(--s5);align-items:end}
.cta .display{max-width:16ch}
.cta p{max-width:44ch;color:#E6E4DD}
@media(max-width:760px){.cta .wrap{grid-template-columns:1fr}}

/* ---------- Footer ---------- */
.footer{background:var(--ink-deep);color:var(--on-ink);padding:var(--s7) 0 var(--s4)}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:var(--s5);padding-bottom:var(--s6);border-bottom:1px solid var(--on-ink-line)}
.footer h3{font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;color:var(--on-ink-2);font-weight:500;margin-bottom:var(--s2)}
.footer ul{display:grid;gap:.5rem}
.footer a{text-decoration:none;color:var(--on-ink);opacity:.85;transition:opacity var(--dur-fast)}
.footer a:hover{opacity:1;text-decoration:underline;text-decoration-color:var(--gold-bright)}
.footer address{font-style:normal;color:var(--on-ink);opacity:.85;line-height:1.6}
.footer__brand{display:grid;gap:var(--s3);align-content:start}
.footer__brand p{color:var(--on-ink-2);max-width:32ch;font-size:.95rem}
.footer__bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s2);padding-top:var(--s4);font-size:.8125rem;color:var(--on-ink-2)}
.footer__bar a{opacity:1;color:var(--on-ink-2)}
@media(max-width:860px){.footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.footer__grid{grid-template-columns:1fr}}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out);transition-delay:var(--d,0ms)}
.reveal.is-in{opacity:1;transform:none}
.reveal-img{clip-path:inset(0 0 100% 0);transition:clip-path 1.2s var(--ease-out)}
.reveal-img.is-in{clip-path:inset(0)}
@media(prefers-reduced-motion:reduce){
  .reveal,.reveal-img{opacity:1;transform:none;clip-path:none;transition:none}
  .hero__media img,.hero__title .line>span,.hero__row .lede,.hero__actions,.hero__cue{animation:none;transform:none;opacity:1}
  .hero__cue i{animation:none}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* Coming soon */
.soon{display:grid;gap:var(--s4);max-width:60ch}
.soon ol{display:grid;gap:var(--s2);padding-left:1.25rem;color:var(--text-2)}

/* Print */
@media print{.header,.hero__cue,.nav-toggle,.footer__grid,.cta{display:none}.hero,.page-hero{min-height:0;color:#000;background:#fff}.hero__media,.hero__scrim{display:none}body{background:#fff}}
