/* ============================================================
   C&C Asset Advisors — shared design system
   Palette: ink #0A0806 · bone #EDE6D7 · gold #C7B186 · bronze #8F7546
   ============================================================ */

/* ---------- fonts (self-hosted, latin subsets, variable) ---------- */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400 700;font-display:swap;src:url("../assets/fonts/cormorant.woff2") format('woff2');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';font-style:italic;font-weight:400 700;font-display:swap;src:url("../assets/fonts/cormorant-italic.woff2") format('woff2');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:'Hanken Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url("../assets/fonts/hanken.woff2") format('woff2');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 Mono';font-style:normal;font-weight:400;font-display:swap;src:url("../assets/fonts/plexmono-400.woff2") format('woff2');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 Mono';font-style:normal;font-weight:500;font-display:swap;src:url("../assets/fonts/plexmono-500.woff2") format('woff2');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:#0A0806; --ink-2:#0C0A07; --ink-3:#17130D; --ink-4:#15130F;
  --bone:#EDE6D7; --paper:#F2EEE6; --paper-2:#ECE5D8;
  --gold:#C7B186; --bronze:#8F7546; --ember:#B0563C;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Hanken Grotesk',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --pad-x:clamp(20px,4.5vw,56px);
  --ease-out:cubic-bezier(.22,1,.36,1);
}

/* ---------- base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);font-family:var(--sans);color:var(--bone);-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:var(--gold)}
a:hover{color:var(--bone)}
img,video{max-width:100%}
button{font-family:var(--sans)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ---------- shared keyframes ---------- */
@keyframes rise{from{transform:translateY(114%);opacity:0}}
@keyframes rev{from{opacity:0;transform:translateY(44px)}}
@keyframes revX{from{opacity:0;transform:translateX(60px)}}
@keyframes fadeIn{from{opacity:0}}
@keyframes zoomSlow{from{transform:scale(1)}to{transform:scale(1.09)}}
@keyframes para{from{transform:translateY(-6%)}to{transform:translateY(6%)}}
@keyframes barOpen{to{transform:scaleY(0)}}
@keyframes cardLine{from{transform:scaleX(0)}}
@keyframes pulseGold{0%,100%{box-shadow:0 0 0 0 rgba(199,177,134,.45)}55%{box-shadow:0 0 0 16px rgba(199,177,134,0)}}
@keyframes blinkRec{0%,100%{opacity:1}50%{opacity:.25}}
@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}}
@keyframes corePulse{0%,100%{stroke-opacity:.85}50%{stroke-opacity:.45}}
@keyframes grainShift{0%{background-position:0 0}25%{background-position:-46px 32px}50%{background-position:22px -54px}75%{background-position:-28px -18px}100%{background-position:40px 26px}}
@keyframes irisIn{from{clip-path:inset(14% 18% 14% 18%);opacity:.3}to{clip-path:inset(0 0 0 0);opacity:1}}

/* ---------- typography helpers ---------- */
.mono-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.28em;color:rgba(199,177,134,.6)}
.mono-label--paper{color:var(--bronze)}
.mono-label--faint{color:rgba(237,230,215,.55)}
.h-display{font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-0.02em;color:var(--bone);margin:0}
h1,h2,h3{font-weight:400}
.h-display em,.h-display .alt{font-style:italic;color:var(--gold)}
.h-display--paper{color:var(--ink-3)}
.h-display--paper em{color:var(--bronze)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;cursor:pointer;border:none;transition:background .4s,color .4s,border-color .4s}
.btn-gold{background:var(--gold);color:var(--ink-4);padding:16px 30px}
.btn-gold:hover{background:var(--bone);color:var(--ink-4)}
.btn-ghost{border:1px solid rgba(237,230,215,.34);color:var(--bone);padding:15px 28px;font-weight:600}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn-ghost--gold{border:1px solid rgba(199,177,134,.55);color:var(--gold);padding:15px 28px;font-weight:600}
.btn-ghost--gold:hover{background:var(--gold);color:var(--ink-4)}
.btn-ink{background:var(--ink-3);color:var(--paper);padding:16px 30px}
.btn-ink:hover{background:var(--bronze);color:var(--paper)}
.link-underline{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid rgba(199,177,134,.6);padding-bottom:3px;text-decoration:none}
.link-underline:hover{color:var(--bone)}
.link-underline--paper{color:var(--bronze);border-bottom-color:var(--bronze)}
.link-underline--paper:hover{color:var(--ink-3)}

/* ---------- fixed HUD nav ---------- */
.hud{position:fixed;top:0;left:0;right:0;height:58px;z-index:80;background:rgba(10,8,6,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(199,177,134,.14);display:flex;align-items:center;gap:26px;padding:0 clamp(16px,3vw,32px)}
.hud-logo{text-decoration:none;color:var(--bone);font-family:var(--serif);font-size:23px;letter-spacing:-0.01em;white-space:nowrap}
.hud-logo em{color:var(--gold);font-style:italic}
.hud-logo small{font-family:var(--sans);font-size:9px;letter-spacing:.26em;font-weight:600;opacity:.6;margin-left:6px;vertical-align:2px}
.hud-spacer{flex:1}
.hud-nav{display:flex;gap:22px;font-size:11.5px;font-weight:500;letter-spacing:.05em;align-items:center}
.hud-nav a{color:var(--bone);text-decoration:none;transition:color .3s}
.hud-nav a:hover{color:var(--gold)}
.hud-nav a[aria-current="page"]{color:var(--gold)}
.hud-tel{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--gold);text-decoration:none;white-space:nowrap}
.hud-tel:hover{color:var(--bone)}
.hud-contact{border:1px solid rgba(237,230,215,.28);padding:9px 18px;font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--bone);text-decoration:none;transition:border-color .4s,color .4s;white-space:nowrap}
.hud-contact:hover{border-color:var(--gold);color:var(--gold)}

/* mobile menu */
.hud-burger{display:none;background:none;border:1px solid rgba(237,230,215,.28);color:var(--bone);width:40px;height:40px;cursor:pointer;font-size:0;position:relative}
.hud-burger::before,.hud-burger::after{content:'';position:absolute;left:11px;right:11px;height:1.5px;background:currentColor;transition:transform .35s var(--ease-out),top .35s var(--ease-out)}
.hud-burger::before{top:15px}
.hud-burger::after{top:23px}
.menu-open .hud-burger::before{top:19px;transform:rotate(45deg)}
.menu-open .hud-burger::after{top:19px;transform:rotate(-45deg)}
.mobile-menu{position:fixed;inset:58px 0 0 0;z-index:79;background:rgba(10,8,6,.97);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:none;flex-direction:column;padding:14px var(--pad-x) calc(20px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
.menu-open .mobile-menu{display:flex}
.mm-row{display:flex;align-items:center;gap:14px;padding:16px 2px;border-bottom:1px solid rgba(199,177,134,.13);text-decoration:none;animation:rev .5s var(--ease-out) both}
.mm-row:nth-child(2){animation-delay:.04s}.mm-row:nth-child(3){animation-delay:.08s}
.mm-row:nth-child(4){animation-delay:.12s}.mm-row:nth-child(5){animation-delay:.16s}
.mm-row:nth-child(6){animation-delay:.2s}.mm-row:nth-child(7){animation-delay:.24s}
.mm-row:active{background:rgba(199,177,134,.07)}
.mm-num{font-family:var(--mono);font-size:9.5px;letter-spacing:.2em;color:rgba(199,177,134,.55);min-width:22px}
.mm-label{font-family:var(--serif);font-size:27px;line-height:1;color:var(--bone)}
.mm-row[aria-current="page"] .mm-label{color:var(--gold);font-style:italic}
.mm-row[aria-current="page"] .mm-num{color:var(--gold)}
.mm-sub{font-family:var(--mono);font-size:8.5px;letter-spacing:.16em;color:rgba(237,230,215,.35);margin-left:auto;text-align:right;text-transform:uppercase;line-height:1.5}
.mm-foot{margin-top:auto;padding-top:26px;display:flex;flex-direction:column;gap:12px;animation:fadeIn .6s .28s both}
.mm-call{display:block;background:var(--gold);color:var(--ink-4);text-align:center;padding:16px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.mm-call:active{background:var(--bone);color:var(--ink-4)}
.mm-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.mm-meta a{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:rgba(237,230,215,.6);text-decoration:none}
.mm-meta span{font-family:var(--serif);font-style:italic;font-size:14px;color:rgba(199,177,134,.75)}
@media (max-width:920px){
  .hud{gap:14px}
  .hud-nav,.hud-tel{display:none}
  .hud-burger{display:block}
}

/* ---------- footer ---------- */
.foot{border-top:1px solid rgba(237,230,215,.12);padding-top:28px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:11.5px;color:rgba(237,230,215,.45)}
.foot a{color:rgba(237,230,215,.45);text-decoration:underline;text-underline-offset:3px}
.foot a:hover{color:var(--bone)}
.foot-links{display:flex;gap:22px;flex-wrap:wrap}

/* ---------- shared building blocks ---------- */
.section{padding:clamp(110px,15vh,180px) var(--pad-x)}
.wrap{max-width:1100px;margin:0 auto}
.wrap-wide{max-width:1320px;margin:0 auto}

/* list rows that nudge right on hover */
.row-hover{transition:padding-left .4s}
@media (hover:hover){.row-hover:hover{padding-left:12px}}

/* card that lifts on hover */
.lift{transition:transform .5s var(--ease-out),background .5s}
@media (hover:hover){.lift:hover{transform:translateY(-6px)}}

/* scroll-reveal (JS adds .in when intersecting; CSS scroll-timeline unused for cross-browser reliability) */
.reveal{opacity:0;transform:translateY(44px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
.reveal.in{opacity:1;transform:none}
.reveal[data-delay="1"].in{transition-delay:.1s}
.reveal[data-delay="2"].in{transition-delay:.2s}
.reveal[data-delay="3"].in{transition-delay:.3s}
.reveal-line{transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--ease-out)}
.reveal-line.in{transform:scaleX(1)}
.reveal-fade{opacity:0;transition:opacity 1s var(--ease-out)}
.reveal-fade.in{opacity:1}

/* hero video base */
.hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85}

/* film grain — transform-animated (GPU-composited; background-position repaints froze scrolling) */
.grain{position:fixed;inset:0;z-index:95;pointer-events:none;overflow:hidden}
.grain::before{content:'';position:absolute;left:-100%;top:-100%;width:300%;height:300%;opacity:.055;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.7'/%3E%3C/svg%3E");animation:grainMove .9s steps(2) infinite;will-change:transform}
@keyframes grainMove{0%{transform:translate3d(0,0,0)}25%{transform:translate3d(-46px,32px,0)}50%{transform:translate3d(22px,-54px,0)}75%{transform:translate3d(-28px,-18px,0)}100%{transform:translate3d(40px,26px,0)}}
@media (max-width:920px),(pointer:coarse),(prefers-reduced-motion:reduce){.grain{display:none}}

/* sticky CTA */
.sticky-cta{position:fixed;right:24px;bottom:24px;z-index:85;opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}
.sticky-cta.on{opacity:1;transform:none;pointer-events:auto}
.sticky-cta a{display:inline-block;background:var(--gold);color:var(--ink-4);padding:14px 24px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;animation:pulseGold 3s ease-out infinite;box-shadow:0 12px 32px rgba(0,0,0,.4)}
.sticky-cta a:hover{background:var(--bone);color:var(--ink-4)}

/* FAQ accordion */
.faq-item{border-top:1px solid rgba(23,19,13,.14)}
.faq-item:last-of-type{border-bottom:1px solid rgba(23,19,13,.14)}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;background:none;border:none;padding:20px 0;cursor:pointer;font-size:17px;font-weight:600;color:var(--ink-3);text-align:left;font-family:var(--sans)}
.faq-q .ind{font-family:var(--serif);font-size:24px;color:var(--bronze);line-height:1}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease-out)}
.faq-a>div{overflow:hidden}
.faq-a p{padding:0 44px 22px 0;margin:0;font-size:15px;line-height:1.6;color:#3A3428}
.faq-item.open .faq-a{grid-template-rows:1fr}

/* forms */
.field{background:transparent;border:none;border-bottom:1px solid rgba(237,230,215,.22);padding:12px 0;font-size:14px;font-family:var(--sans);color:var(--bone);outline:none;width:100%;border-radius:0}
.field::placeholder{color:rgba(237,230,215,.4)}
.field:focus{border-bottom-color:var(--gold)}
.chip{padding:9px 18px;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .35s;border:1px solid rgba(237,230,215,.22);color:rgba(237,230,215,.62);background:none;font-family:var(--sans)}
.chip.on{border-color:var(--gold);color:var(--gold);background:rgba(199,177,134,.08)}

/* modal / lightbox */
.modal{position:fixed;inset:0;z-index:200;background:rgba(8,6,4,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;animation:fadeIn .35s both;cursor:pointer}
.modal.open{display:flex}
.modal-x{position:absolute;top:20px;right:32px;font-size:26px;color:var(--bone);padding:10px;cursor:pointer;font-weight:300;background:none;border:none}

/* ---------- accessibility & motion ---------- */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:12px;z-index:200;background:var(--gold);color:var(--ink-4);padding:10px 18px;font-size:12px;font-weight:700;text-decoration:none}
.skip-link:focus{left:12px}

/* elements hidden on mobile / touch */
.show-m{display:none!important}
@media (max-width:920px),(pointer:coarse){
  .hide-m{display:none!important}
  .show-m{display:initial!important}
}

/* ---------- mobile layer: tighter rhythm, thumb-first ---------- */
@media (max-width:920px){
  /* cap vertical section padding site-wide (heroes are absolute-positioned, unaffected) */
  main section{padding-top:min(10vh,76px)!important;padding-bottom:min(10vh,76px)!important}

  /* full-width tap targets */
  .btn{width:100%}
  .link-underline{padding-bottom:5px}

  /* display type steps down a notch */
  .h-display{letter-spacing:-0.015em}

  /* sticky CTA becomes a slim bottom bar instead of a floating pill */
  .sticky-cta{left:0;right:0;bottom:0!important;transform:translateY(101%);display:flex}
  .sticky-cta.on{transform:none}
  .sticky-cta a{display:block;flex:1;text-align:center;padding:15px 12px calc(15px + env(safe-area-inset-bottom));animation:none;box-shadow:0 -10px 28px rgba(0,0,0,.45)}

  /* row-hover indent is a desktop affordance */
  .row-hover:hover{padding-left:0}

  /* compact FAQ */
  .faq-q{font-size:15.5px;padding:17px 0}
  .faq-a p{padding-right:30px}

  /* forms stack */
  .chip{padding:9px 14px;font-size:10.5px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important}
  .reveal,.reveal-fade{opacity:1;transform:none}
  .reveal-line{transform:scaleX(1)}
}

/* ============================================================
   V2 — GOLD AMPLIFICATION LAYER
   ============================================================ */
:root{
  --gold-hi:#F0DFB4;
  --gold-grad:linear-gradient(105deg,#6E5A33 0%,#A98F60 22%,#C7B186 40%,#F0DFB4 50%,#C7B186 60%,#A98F60 78%,#6E5A33 100%);
}

/* selection + scrollbar carry the brand */
::selection{background:rgba(199,177,134,.4);color:#0A0806}
html{scrollbar-color:#8F7546 #0C0A07}
::-webkit-scrollbar{width:11px}
::-webkit-scrollbar-track{background:#0C0A07}
::-webkit-scrollbar-thumb{background:linear-gradient(#C7B186,#8F7546);border-radius:6px;border:2px solid #0C0A07}

/* scroll progress hairline under the HUD */
.scroll-progress{position:fixed;top:58px;left:0;height:2px;width:100%;z-index:81;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#8F7546,#C7B186 40%,#F4E3BB 90%);box-shadow:0 0 12px rgba(199,177,134,.55);will-change:transform;pointer-events:none}

/* shimmering gold display text */
.gold-text{background:var(--gold-grad);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:sheen 6s ease-in-out infinite;text-shadow:none}
@keyframes sheen{0%,100%{background-position:0% 0}50%{background-position:100% 0}}

/* gold buttons: gradient, glow, light-sweep */
.btn{position:relative;overflow:hidden}
.btn-gold{background:linear-gradient(115deg,#B49A6C,#C7B186 45%,#D9C49A);box-shadow:0 4px 22px rgba(199,177,134,.28),inset 0 1px 0 rgba(255,255,255,.35);transition:box-shadow .45s,transform .45s var(--ease-out),background .45s}
.btn-gold:hover{background:linear-gradient(115deg,#C7B186,#E8D5AC 45%,#F4E3BB);box-shadow:0 8px 34px rgba(199,177,134,.5),inset 0 1px 0 rgba(255,255,255,.5);transform:translateY(-2px);color:var(--ink-4)}
.btn-gold::after{content:'';position:absolute;top:0;bottom:0;left:-80%;width:50%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .7s var(--ease-out);pointer-events:none}
.btn-gold:hover::after{left:130%}
.btn-ghost:hover,.btn-ghost--gold:hover{box-shadow:0 0 26px rgba(199,177,134,.25)}
.hud-contact:hover{box-shadow:0 0 18px rgba(199,177,134,.3)}

/* section labels get a gold spark */
.mono-label::before{content:'';display:inline-block;width:5px;height:5px;background:var(--gold);transform:rotate(45deg) translateY(-1px);margin-right:12px;box-shadow:0 0 8px rgba(199,177,134,.8);vertical-align:1px}

/* gradient hairlines for dark-section rules */
.gold-rule{height:1px;border:none;background:linear-gradient(90deg,transparent,rgba(199,177,134,.7),transparent)}

/* row-hover: growing gold bar */
.row-hover{position:relative}
.row-hover::before{content:'';position:absolute;left:0;top:0;width:2px;height:100%;background:linear-gradient(180deg,#C7B186,transparent);transform:scaleY(0);transform-origin:top;transition:transform .45s var(--ease-out)}
@media (hover:hover){.row-hover:hover::before{transform:scaleY(1)}}

/* tilt cards */
[data-tilt]{transform-style:preserve-3d;will-change:transform;transition:box-shadow .5s}
@media (hover:hover){[data-tilt]:hover{box-shadow:0 18px 44px rgba(0,0,0,.45),0 0 0 1px rgba(199,177,134,.28)}}

/* ember particle canvas */
.embers{position:absolute;inset:0;pointer-events:none;z-index:3}
@media (prefers-reduced-motion:reduce){.embers{display:none}}

/* marquee ticker */
.ticker{overflow:hidden;border-top:1px solid rgba(199,177,134,.22);border-bottom:1px solid rgba(199,177,134,.22);background:linear-gradient(180deg,rgba(199,177,134,.05),rgba(199,177,134,.02));padding:16px 0;position:relative}
.ticker-track{display:flex;gap:0;width:max-content;animation:tickerScroll 42s linear infinite;will-change:transform}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-track span{font-family:var(--mono);font-size:11px;letter-spacing:.32em;color:rgba(199,177,134,.75);white-space:nowrap;padding:0 28px;display:flex;align-items:center;gap:28px}
.ticker-track span::after{content:'◆';font-size:7px;color:rgba(199,177,134,.5)}
@keyframes tickerScroll{to{transform:translate3d(-50%,0,0)}}
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}}

/* monogram medallion — the no-photo team mark */
.medallion{position:relative;width:92px;height:92px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none}
.medallion::before{content:'';position:absolute;inset:0;border-radius:50%;border:1px solid rgba(199,177,134,.65);box-shadow:0 0 22px rgba(199,177,134,.25),inset 0 0 18px rgba(199,177,134,.12)}
.medallion::after{content:'';position:absolute;inset:6px;border-radius:50%;border:1px dashed rgba(199,177,134,.35)}
.medallion b{font-family:var(--serif);font-weight:400;font-size:30px;letter-spacing:.04em;background:var(--gold-grad);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 6s ease-in-out infinite}
.medallion small{position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:8px;letter-spacing:.3em;color:rgba(199,177,134,.6);white-space:nowrap}
.medallion--sm{width:64px;height:64px}
.medallion--sm b{font-size:21px}
.medallion--paper::before{border-color:rgba(143,117,70,.75);box-shadow:0 0 16px rgba(143,117,70,.2),inset 0 0 12px rgba(143,117,70,.1)}
.medallion--paper::after{border-color:rgba(143,117,70,.4)}

/* compact inline lead form (every page's contact section) */
.lead-mini{display:flex;flex-direction:column;gap:12px;min-width:min(100%,380px);flex:1 1 340px}
.lead-mini .lm-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lead-mini input,.lead-mini textarea{background:rgba(237,230,215,.04);border:1px solid rgba(237,230,215,.16);padding:13px 15px;font-size:13.5px;font-family:var(--sans);color:var(--bone);outline:none;border-radius:0;width:100%;transition:border-color .3s,box-shadow .3s}
.lead-mini input::placeholder,.lead-mini textarea::placeholder{color:rgba(237,230,215,.38)}
.lead-mini input:focus,.lead-mini textarea:focus{border-color:rgba(199,177,134,.7);box-shadow:0 0 14px rgba(199,177,134,.15)}
.lead-mini .sent-note{display:none;border:1px solid rgba(199,177,134,.5);padding:22px;font-size:14.5px;color:var(--bone);animation:rev .5s both;background:rgba(199,177,134,.05)}
@media (max-width:560px){.lead-mini .lm-row{grid-template-columns:1fr}}

/* count-up stat helper */
[data-count]{font-variant-numeric:tabular-nums}

/* reveal: 3D lift-in with unblur */
.reveal{filter:blur(7px);transform:perspective(900px) rotateX(9deg) translateY(46px);transform-origin:center bottom}
.reveal.in{filter:blur(0);transform:none}
[data-tilt].reveal{transform:perspective(900px) rotateY(-8deg) translateY(38px) scale(.97)}
[data-tilt].reveal.in{transform:none}
@media (prefers-reduced-motion:reduce){.reveal{filter:none;transform:none}}

/* word-cascade headings (site.js wraps h2.reveal words automatically) */
.split-words .w{display:inline-block;opacity:0;transform:perspective(600px) translateY(.85em) rotateX(38deg);transform-origin:center bottom;transition:transform .85s var(--ease-out),opacity .55s ease;transition-delay:calc(var(--wi)*60ms)}
.split-words.in .w{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.split-words .w{opacity:1;transform:none;transition:none}}

/* medallions breathe */
@keyframes floaty{from{transform:translateY(0)}to{transform:translateY(-6px)}}
.medallion{animation:floaty 4.5s ease-in-out infinite alternate}
@media (prefers-reduced-motion:reduce){.medallion{animation:none}}

/* buttons press in */
.btn:active{transform:translateY(1px) scale(.98)!important}

/* nav links: gold underline slides in */
.hud-nav a{position:relative;padding-bottom:3px}
.hud-nav a::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:1px;background:linear-gradient(90deg,#C7B186,#F0DFB4);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}
.hud-nav a:hover::after,.hud-nav a[aria-current="page"]::after{transform:scaleX(1)}

/* ember ring cursor (shared, injected by site.js on fine pointers) */
.cursor-ring{position:fixed;top:0;left:0;width:34px;height:34px;border:1px solid rgba(199,177,134,.55);border-radius:50%;pointer-events:none;z-index:99;will-change:transform;display:flex;align-items:center;justify-content:center}
.cursor-ring::before{content:'';width:4px;height:4px;border-radius:50%;background:#C7B186;box-shadow:0 0 12px 2px rgba(214,150,72,.65)}
@media (max-width:920px),(pointer:coarse),(prefers-reduced-motion:reduce){.cursor-ring{display:none}}

/* ---------- character layer: ghost words in quiet sections ---------- */
.ghost-word{position:relative;overflow:hidden}
.ghost-word::before{content:attr(data-word);position:absolute;right:-2%;top:2%;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(90px,18vw,300px);line-height:1;color:rgba(199,177,134,.055);pointer-events:none;white-space:nowrap;z-index:0}
.ghost-word--paper::before{color:rgba(143,117,70,.07)}
.ghost-word>*{position:relative;z-index:1}

/* giant ampersand watermark for contact sections */
.amp-ghost{position:relative;overflow:hidden}
.amp-ghost::after{content:'&';position:absolute;right:4%;bottom:-14%;font-family:var(--serif);font-style:italic;font-size:clamp(200px,34vh,420px);line-height:1;color:rgba(199,177,134,.06);pointer-events:none;z-index:0}
.amp-ghost>:not(.embers){position:relative;z-index:1}

/* numbered rows: numeral ignites on hover */
.row-hover .launch-num,.row-hover>span:first-child{transition:color .4s,transform .4s var(--ease-out)}
@media (hover:hover){
  .row-hover:hover .launch-num,.row-hover:hover>span:first-child{color:var(--gold-hi)!important;transform:scale(1.25);text-shadow:0 0 14px rgba(199,177,134,.5)}
}

/* FAQ: plus spins to ×, answer gets a gold spine */
.faq-q .ind{transition:transform .45s var(--ease-out),color .3s}
.faq-item.open .faq-q .ind{transform:rotate(225deg);color:var(--gold)}
.faq-item.open .faq-a p{border-left:2px solid rgba(143,117,70,.5);padding-left:18px}
.faq-a p{transition:border-color .3s,padding .3s}

/* bench roster: letters breathe apart on hover */
.bench-item{transition:letter-spacing .5s var(--ease-out),color .4s}
@media (hover:hover){.bench-item:hover{letter-spacing:.06em;color:var(--gold)!important}}

/* ============================================================
   V4 — SIGNATURE LAYER: intro, transitions, bottom sheet
   ============================================================ */

/* cinematic intro (once per session) + page transitions */
.veil{position:fixed;inset:0;z-index:300;background:#070503;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:26px}
.veil.out{animation:veilUp .7s cubic-bezier(.76,0,.24,1) .1s both}
@keyframes veilUp{to{transform:translateY(-100.5%)}}
.veil-seal{width:110px;height:110px}
.veil-seal circle{fill:none;stroke:rgba(199,177,134,.8);stroke-width:1.2;stroke-dasharray:340;stroke-dashoffset:340;animation:sealDraw 1s var(--ease-out) .1s forwards}
.veil-seal circle.inner{stroke-dasharray:300;stroke-dashoffset:300;stroke:rgba(199,177,134,.4);animation-delay:.25s}
@keyframes sealDraw{to{stroke-dashoffset:0}}
@keyframes veilIn{from{opacity:0}to{opacity:1}}
.veil-mark{position:absolute;font-family:var(--serif);font-size:34px;color:#EDE6D7;opacity:0;animation:veilIn .45s .18s forwards}
.veil-mark em{font-style:italic;background:var(--gold-grad);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent}
.veil-sub{font-family:var(--mono);font-size:9px;letter-spacing:.44em;color:rgba(199,177,134,.7);opacity:0;animation:veilIn .5s .5s forwards;padding-left:.44em}
.veil-line{width:0;height:1px;background:linear-gradient(90deg,transparent,#C7B186,transparent);animation:veilLine .8s var(--ease-out) .45s forwards}
@keyframes veilLine{to{width:190px}}

/* leaving a page: quick gold-line wipe to ink */
.pt-out{position:fixed;inset:0;z-index:300;background:#070503;transform:translateY(101%);animation:ptIn .38s cubic-bezier(.76,0,.24,1) forwards;pointer-events:all}
@keyframes ptIn{to{transform:translateY(0)}}
.pt-out::after{content:'';position:absolute;top:-1px;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#F0DFB4,transparent);box-shadow:0 0 18px rgba(199,177,134,.8)}
/* arriving: short veil, no full seal ceremony */
.veil--fast .veil-seal,.veil--fast .veil-line{display:none}
.veil--fast .veil-mark{animation-delay:.05s}
.veil--fast .veil-sub{animation-delay:.12s}
.veil--fast.out{animation-delay:.35s;animation-duration:.55s}

/* ---------- mobile bottom sheet (quick lead capture) ---------- */
.sheet{border:none;padding:0;background:transparent;max-width:none;width:100%;margin:0 auto 0;position:fixed;inset:auto 0 0 0}
.sheet::backdrop{background:rgba(7,5,3,.72);backdrop-filter:blur(4px)}
.sheet-inner{background:linear-gradient(180deg,#17130D,#0C0A07);border-top:1px solid rgba(199,177,134,.4);border-radius:18px 18px 0 0;padding:14px 22px calc(26px + env(safe-area-inset-bottom));max-width:560px;margin:0 auto;box-shadow:0 -18px 60px rgba(0,0,0,.6);transform:translateY(100%);animation:sheetUp .45s var(--ease-out) forwards}
@keyframes sheetUp{to{transform:none}}
.sheet.closing .sheet-inner{animation:sheetDown .3s ease-in forwards}
@keyframes sheetDown{to{transform:translateY(105%)}}
.sheet-handle{width:44px;height:4px;border-radius:2px;background:rgba(199,177,134,.45);margin:0 auto 14px;cursor:grab}
.sheet-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}
.sheet-head b{font-family:var(--serif);font-weight:400;font-size:24px;color:#EDE6D7}
.sheet-head button{background:none;border:none;color:rgba(237,230,215,.6);font-size:22px;cursor:pointer;padding:4px 8px}
.sheet .lead-mini{min-width:0}

/* embers now allowed on mobile (lighter particle set in JS) */


/* ---------- close-scene flare ---------- */
.notes-box{position:relative;background:linear-gradient(#0C0A07,#0C0A07) padding-box,linear-gradient(120deg,rgba(199,177,134,.65),rgba(199,177,134,.08) 40%,rgba(199,177,134,.5)) border-box;border:1px solid transparent;box-shadow:0 0 34px rgba(199,177,134,.07)}
.fin-seal{position:relative;width:74px;height:74px;margin:0 auto;display:flex;align-items:center;justify-content:center;animation:floaty 4.5s ease-in-out infinite alternate}
.fin-seal svg{position:absolute;inset:0;width:100%;height:100%}
.fin-seal circle{fill:none;stroke:rgba(199,177,134,.55);stroke-width:1}
.fin-seal circle.inner{stroke:rgba(199,177,134,.25);stroke-dasharray:4 5}
.fin-seal span{font-family:var(--serif);font-size:21px;color:#EDE6D7}
.fin-seal em{font-style:italic;background:var(--gold-grad);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 6s ease-in-out infinite}

/* long hero headlines on small screens */
@media (max-width:920px){
  .hero-line-sm{font-size:clamp(30px,9.4vw,42px)!important;line-height:1.1!important;white-space:normal!important}
}
