/* ================================================================
   InVisee — Phase 0 website design system — visual refinement pass
   Ink + brass, restrained, cinematic. Private-bank / trust-institution
   register, per approved blueprint v1.1 (frozen) + visual pass v2.
   ================================================================ */

:root{
  --ink:#12141B;          /* page background — blue-black, not pure black */
  --ink-2:#181B24;        /* raised surface */
  --ink-3:#1F2330;        /* card / hover surface */
  --line:#2B3040;         /* hairline on dark */
  --line-soft:#232733;
  --brass:#C9A227;        /* accent, sparing use — the only accent colour */
  --brass-dim:#8A6D1A;    /* accent text on light, or muted brass */
  --ivory:#EDE8DC;        /* primary text on dark */
  --ivory-dim:#B9B4A6;
  --slate:#8B93A6;        /* secondary text on dark */
  --slate-2:#6B7280;
  --paper:#F7F5EF;        /* light section background */
  --paper-2:#EFECE2;
  --ink-on-paper:#14171F;
  --slate-on-paper:#5B5A52;
  --line-on-paper:#DEDACB;
  --max:1120px;
  --radius:2px;
  --ease:cubic-bezier(.4,0,.2,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
:focus-visible{outline:1.5px solid var(--brass);outline-offset:3px;}
body{
  margin:0;
  background:var(--ink);
  color:var(--ivory);
  font-family:'IBM Plex Sans', -apple-system, sans-serif;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.serif{
  font-family:'Fraunces', Georgia, serif;
  font-weight:500;
  letter-spacing:-0.01em;
  color:var(--ivory);
  margin:0;
  text-wrap:balance;
}
.on-paper h1,.on-paper h2,.on-paper h3{color:var(--ink-on-paper);}
p{margin:0 0 1.1em;}
a{color:inherit;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px;}

/* ---------- Vertical rhythm: intentional tiers, not one uniform value ---------- */
.section{padding:128px 0;}         /* standard beat */
.section-lg{padding:168px 0;}      /* expansive moment */
.section-tight{padding:76px 0;}    /* quieter, quicker transition */
@media (max-width:860px){
  .section{padding:76px 0;}
  .section-lg{padding:92px 0;}
  .section-tight{padding:52px 0;}
  body{font-size:16px;}
}

.on-paper{background:var(--paper);color:var(--ink-on-paper);}
.on-paper .eyebrow{color:var(--brass-dim);}
.on-paper .muted{color:var(--slate-on-paper);}
.on-paper .rule{border-color:var(--line-on-paper);}
.on-ink-2{background:var(--ink-2);}
.on-ink-3{background:var(--ink-3);}

/* ---------- Eyebrow / labels (the recurring signature device) ---------- */
.eyebrow{
  font-family:'IBM Plex Mono', monospace;
  font-size:12px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--brass);
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:20px;
}
.eyebrow::before{
  content:"";
  width:22px;height:1px;
  background:var(--brass);
  display:inline-block;
}
.on-paper .eyebrow::before{background:var(--brass-dim);}

.muted{color:var(--slate);}
.rule{border:none;border-top:1px solid var(--line);margin:0;}
.on-paper .rule{border-top:1px solid var(--line-on-paper);}

/* ---------- Type scale ---------- */
h1{font-size:44px;line-height:1.12;}
h2{font-size:32px;line-height:1.2;}
h3{font-size:20px;line-height:1.3;}
.hero-h1{font-size:64px;line-height:1.08;}
.lede{font-size:20px;line-height:1.55;color:var(--ivory-dim);font-weight:400;max-width:640px;}
.on-paper .lede{color:var(--slate-on-paper);}
@media (max-width:720px){
  h1{font-size:32px;}
  .hero-h1{font-size:38px;}
  h2{font-size:25px;}
  .lede{font-size:18px;}
}

/* ---------- Nav ---------- */
header.site-nav{
  position:sticky;top:0;z-index:40;
  background:var(--ink);
  border-bottom:1px solid var(--line);
  transition:background-color .3s var(--ease), border-color .3s var(--ease);
}
.nav-inner{
  max-width:var(--max);margin:0 auto;padding:0 28px;
  height:78px;display:flex;align-items:center;justify-content:space-between;
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;}
.brand img{height:34px;width:auto;transition:opacity .2s;}
.brand .brand-light{display:none;}
.nav-on-light .brand-dark{display:none;}
.nav-on-light .brand-light{display:block;}
.nav-links{display:flex;align-items:center;gap:36px;list-style:none;margin:0;padding:0;}
.nav-links > a{
  position:relative;
  text-decoration:none;color:var(--ivory-dim);font-size:13.5px;letter-spacing:0.03em;
  padding:8px 0;transition:color .25s var(--ease);
}
.nav-links > a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:var(--brass);transform:scaleX(0);transform-origin:left;
  transition:transform .25s var(--ease);
}
.nav-links > a:hover{color:var(--ivory);}
.nav-links > a:hover::after{transform:scaleX(1);}
.nav-links > a.active{color:var(--brass);}
.nav-links > a.active::after{transform:scaleX(1);}
.nav-group{position:relative;}
.nav-group > span{cursor:default;color:var(--ivory-dim);font-size:13.5px;letter-spacing:0.03em;display:inline-flex;align-items:center;gap:5px;}
.nav-dropdown{
  position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(-6px);
  background:var(--ink-2);border:1px solid var(--line);min-width:190px;
  padding:8px 0;margin-top:18px;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .22s var(--ease), transform .22s var(--ease), visibility .22s;
}
.nav-group:hover .nav-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.nav-dropdown a{display:block;padding:11px 20px;font-size:13.5px;color:var(--ivory-dim);text-decoration:none;border:none;transition:color .18s;}
.nav-dropdown a:hover{background:var(--ink-3);color:var(--brass);}
.nav-cta{
  border:1px solid var(--brass);color:var(--brass) !important;
  padding:9px 18px;font-size:12.5px !important;letter-spacing:0.05em;
  transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
}
.nav-cta:hover{background:var(--brass);color:var(--ink) !important;}

/* Light nav — active while the (light) hero is in view. Bar only; the
   full-screen mobile panel stays ink regardless, deliberately (see script.js). */
header.site-nav.nav-on-light{background:var(--paper);border-bottom-color:var(--line-on-paper);}
.nav-on-light .nav-links > a{color:var(--slate-on-paper);}
.nav-on-light .nav-links > a::after{background:var(--brass-dim);}
.nav-on-light .nav-links > a:hover{color:var(--ink-on-paper);}
.nav-on-light .nav-links > a.active{color:var(--brass-dim);}
.nav-on-light .nav-group > span{color:var(--slate-on-paper);}
.nav-on-light .nav-dropdown{background:var(--paper);border-color:var(--line-on-paper);}
.nav-on-light .nav-dropdown a{color:var(--slate-on-paper);}
.nav-on-light .nav-dropdown a:hover{background:var(--paper-2);color:var(--brass-dim);}
.nav-on-light .nav-cta{border-color:var(--brass-dim);color:var(--brass-dim) !important;}
.nav-on-light .nav-cta:hover{background:var(--brass-dim);color:var(--paper) !important;}
.nav-on-light .nav-toggle{color:var(--ink-on-paper);}
@media (max-width:860px){
  /* Below the breakpoint the toggle button still needs to read correctly
     against whichever bar colour is active. */
  header.site-nav.nav-on-light .nav-toggle{color:var(--ink-on-paper);}
}
.nav-toggle{display:none;background:none;border:none;color:var(--ivory);cursor:pointer;padding:8px;position:relative;width:28px;height:22px;}
.nav-toggle span{position:absolute;left:0;right:0;height:1px;background:currentColor;transition:transform .25s var(--ease), opacity .2s;}
.nav-toggle span:nth-child(1){top:2px;}
.nav-toggle span:nth-child(2){top:11px;}
.nav-toggle span:nth-child(3){top:20px;}
.nav-toggle.open span:nth-child(1){transform:translateY(9px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-9px) rotate(-45deg);}

@media (max-width:860px){
  .nav-links{
    position:fixed;top:0;left:0;right:0;bottom:0;
    background:var(--ink);flex-direction:column;align-items:flex-start;justify-content:center;
    padding:40px 32px;gap:0;display:flex;overflow-y:auto;
    opacity:0;visibility:hidden;transform:translateY(-8px);
    transition:opacity .3s var(--ease), transform .3s var(--ease), visibility .3s;
  }
  .nav-links.open{opacity:1;visibility:visible;transform:translateY(0);}
  .nav-links > a{
    font-family:'Fraunces',serif;font-size:30px;color:var(--ivory);
    padding:16px 0;border-top:1px solid var(--line-soft);width:100%;
  }
  .nav-links > a:first-of-type{border-top:none;}
  .nav-group{width:100%;border-top:1px solid var(--line-soft);}
  .nav-group > span{font-family:'Fraunces',serif;font-size:30px;color:var(--ivory);padding:16px 0;display:flex;width:100%;justify-content:space-between;}
  .nav-dropdown{
    position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;
    display:block;background:none;border:none;margin:0 0 12px 0;padding:0;transition:none;
  }
  .nav-dropdown a{padding:12px 0 12px 18px;font-size:17px;color:var(--ivory-dim);border-left:1px solid var(--line);}
  .nav-cta{display:none;}
  .nav-toggle{display:block;z-index:41;}
  /* The full-screen mobile panel stays ink regardless of nav-on-light —
     override the light-nav dropdown variant specifically at this breakpoint. */
  .nav-on-light .nav-dropdown{background:none;}
  .nav-on-light .nav-dropdown a{color:var(--ivory-dim);border-left-color:var(--line);}
  .nav-on-light .nav-dropdown a:hover{background:var(--ink-3);color:var(--brass);}
  .nav-on-light .nav-group > span{color:var(--ivory);}
  .nav-on-light .nav-links > a{color:var(--ivory);}
  .nav-on-light .nav-links > a:hover{color:var(--brass);}
  .nav-on-light .nav-links > a.active{color:var(--brass);}
  .nav-on-light .nav-links > a::after{background:var(--brass);}
}

/* ================================================================
   Hero — cinematic, icon-derived architectural background
   ================================================================ */
.hero{
  min-height:86vh;display:flex;align-items:center;
  padding:120px 0 90px;position:relative;overflow:hidden;
}
.hero-mark{
  position:absolute;top:-18vh;right:-14vw;width:min(64vw,900px);height:min(64vw,900px);
  opacity:0.06;pointer-events:none;
  background-image:url('assets/icon-frame-only.png');background-repeat:no-repeat;background-size:contain;
  animation:hero-drift 70s ease-in-out infinite;
}
.hero-mark-2{
  position:absolute;bottom:-24vh;left:-16vw;width:min(40vw,520px);height:min(40vw,520px);
  opacity:0.045;pointer-events:none;
  background-image:url('assets/icon-frame-only.png');background-repeat:no-repeat;background-size:contain;
  animation:hero-drift 90s ease-in-out infinite reverse;
}
/* Light hero — the same mark, in ink, at a slightly lower opacity so it
   reads as embossed/watermarked rather than graphic against paper. */
.hero.on-paper .hero-mark,
.hero.on-paper .hero-mark-2{
  background-image:url('assets/icon-frame-only-black.png');
}
.hero.on-paper .hero-mark{opacity:0.05;}
.hero.on-paper .hero-mark-2{opacity:0.035;}
@keyframes hero-drift{
  0%,100%{transform:translate(0,0) rotate(0deg);}
  50%{transform:translate(-1.2%,1.4%) rotate(0.6deg);}
}
@media (prefers-reduced-motion: reduce){
  .hero-mark,.hero-mark-2{animation:none;}
}
.hero-inner{position:relative;z-index:1;}
.hero-cta-row{display:flex;gap:16px;margin-top:38px;flex-wrap:wrap;}
@media (max-width:720px){
  .hero{min-height:auto;padding:56px 0 52px;}
  .hero-mark{width:120vw;height:120vw;top:-30vh;right:-40vw;opacity:0.045;}
  .hero-mark-2{display:none;}
}
.hero-break{display:inline;}
@media (max-width:560px){.hero-break{display:none;}}

/* ================================================================
   Frame motif — the icon's corners as recurring visual grammar
   Used sparingly: pull-quotes, portrait, key statements.
   ================================================================ */
.frame-corners{position:relative;}
.frame-corners::before,
.frame-corners::after{
  content:"";position:absolute;width:22px;height:22px;
  border-color:var(--brass);border-style:solid;border-width:0;opacity:0.85;
}
.frame-corners::before{
  top:-11px;left:-11px;border-top-width:1.5px;border-left-width:1.5px;border-top-left-radius:5px;
}
.frame-corners::after{
  bottom:-11px;right:-11px;border-bottom-width:1.5px;border-right-width:1.5px;border-bottom-right-radius:5px;
}
.on-paper .frame-corners::before,.on-paper .frame-corners::after{border-color:var(--brass-dim);}

/* ---------- Buttons / CTA hierarchy ---------- */
/* Solid brass — genuinely decisive primary actions only. */
.btn{
  display:inline-block;text-decoration:none;font-size:14px;letter-spacing:0.03em;
  padding:15px 28px;border-radius:var(--radius);transition:all .2s var(--ease);font-weight:500;
}
.btn-primary{background:var(--brass);color:var(--ink);}
.btn-primary:hover{background:#DDB43A;}
/* Outline — institutional, exploratory. Used for the homepage hero CTA
   specifically, where a solid fill would read as transactional. */
.btn-outline{
  display:inline-block;text-decoration:none;font-size:14px;letter-spacing:0.03em;
  padding:15px 28px;border-radius:var(--radius);transition:all .2s var(--ease);font-weight:500;
  background:transparent;border:1px solid var(--brass-dim);color:var(--ink-on-paper);
}
.btn-outline:hover,.btn-outline:focus-visible{background:var(--brass);border-color:var(--brass);color:var(--ink);}
/* Outline — secondary actions. */
.btn-ghost{border:1px solid var(--line);color:var(--ivory);background:transparent;}
.btn-ghost:hover{border-color:var(--brass);color:var(--brass);}
.on-paper .btn-ghost{border-color:var(--line-on-paper);color:var(--ink-on-paper);}
.on-paper .btn-ghost:hover{border-color:var(--brass-dim);color:var(--brass-dim);}
.btn-block{display:block;text-align:center;}

/* Text + arrow — tertiary / inline "continue reading" actions. */
.text-link{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--brass);text-decoration:none;font-size:14.5px;letter-spacing:0.02em;
  border-bottom:1px solid transparent;padding-bottom:3px;transition:gap .2s var(--ease), border-color .2s var(--ease);
}
.text-link:hover{gap:12px;border-color:var(--brass);}
.text-link .arrow{transition:transform .2s var(--ease);}
.text-link:hover .arrow{transform:translateX(2px);}
.on-paper .text-link{color:var(--brass-dim);}
.on-paper .text-link:hover{border-color:var(--brass-dim);}

/* ---------- Callout / quote ---------- */
.pull{
  font-family:'Fraunces', serif;font-style:italic;font-weight:400;
  font-size:27px;line-height:1.42;color:var(--ivory);
  padding-left:30px;margin:22px 0;position:relative;
}
.pull::before,.pull::after{
  content:"";position:absolute;width:16px;height:16px;border-color:var(--brass);border-style:solid;
}
.pull::before{top:-4px;left:0;border-width:1.5px 0 0 1.5px;}
.pull::after{bottom:-4px;left:0;border-width:0 0 1.5px 1.5px;}
@media (max-width:720px){.pull{font-size:22px;}}
.on-paper .pull{color:var(--ink-on-paper);}
.on-paper .pull::before,.on-paper .pull::after{border-color:var(--brass-dim);}

.notice{
  border:1px solid var(--line);background:var(--ink-2);
  padding:24px 28px;font-size:15px;color:var(--slate);
}
.notice strong{color:var(--ivory);}
.on-paper .notice{border-color:var(--line-on-paper);background:var(--paper-2);color:var(--slate-on-paper);}
.on-paper .notice strong{color:var(--ink-on-paper);}

/* ---------- Lists ---------- */
ul.plain{list-style:none;margin:0;padding:0;}
ul.plain li{
  padding:16px 0;border-top:1px solid var(--line);
  display:flex;gap:14px;font-size:16px;color:var(--ivory-dim);
}
.on-paper ul.plain li{border-color:var(--line-on-paper);color:var(--ink-on-paper);}
ul.plain li:last-child{border-bottom:1px solid var(--line);}
.on-paper ul.plain li:last-child{border-color:var(--line-on-paper);}
ul.plain li .mark{color:var(--brass);flex-shrink:0;font-family:'IBM Plex Mono',monospace;font-size:13px;padding-top:3px;min-width:78px;}
.on-paper ul.plain li .mark{color:var(--brass-dim);}

ol.steps{list-style:none;margin:0;padding:0;counter-reset:step;}
ol.steps li{counter-increment:step;padding:22px 0 22px 54px;position:relative;border-top:1px solid var(--line);}
.on-paper ol.steps li{border-color:var(--line-on-paper);}
ol.steps li::before{
  content:counter(step);position:absolute;left:0;top:20px;
  width:34px;height:34px;border:1px solid var(--brass);color:var(--brass);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-family:'IBM Plex Mono',monospace;font-size:13px;
}
.on-paper ol.steps li::before{border-color:var(--brass-dim);color:var(--brass-dim);}

/* two-column compare table (is / is not) */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);margin:20px 0;}
@media (max-width:720px){.compare{grid-template-columns:1fr;}}
.compare > div{background:var(--ink);padding:34px;}
.compare h3{margin-bottom:18px;font-size:15px;letter-spacing:0.06em;text-transform:uppercase;color:var(--brass);font-family:'IBM Plex Mono',monospace;font-weight:500;}
.on-paper .compare{background:var(--line-on-paper);}
.on-paper .compare > div{background:var(--paper);}
.on-paper .compare h3{color:var(--brass-dim);}

/* ================================================================
   Audience journeys — editorial index, not SaaS feature cards
   ================================================================ */
.journeys{margin-top:8px;}
.journey-row{
  display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:32px;
  padding:44px 0;border-top:1px solid var(--line);
  transition:border-color .3s var(--ease), background-color .3s var(--ease);
  position:relative;
}
.journeys .journey-row:last-child{border-bottom:1px solid var(--line);}
.journey-row:hover,.journey-row:focus-within{
  border-top-color:var(--brass);
  background-color:rgba(201,162,39,0.025);
}
.journey-row:last-child:hover,.journey-row:last-child:focus-within{border-bottom-color:var(--brass);}
/* Frame motif, echoed quietly: corner brackets appear only on engagement. */
.journey-row::before,.journey-row::after{
  content:"";position:absolute;width:16px;height:16px;
  border-color:var(--brass);border-style:solid;border-width:0;
  opacity:0;transition:opacity .3s var(--ease);pointer-events:none;
}
.journey-row::before{top:12px;left:-6px;border-width:1.5px 0 0 1.5px;}
.journey-row::after{bottom:12px;right:-6px;border-width:0 1.5px 1.5px 0;}
.journey-row:hover::before,.journey-row:hover::after,
.journey-row:focus-within::before,.journey-row:focus-within::after{opacity:0.75;}
.on-paper .journey-row::before,.on-paper .journey-row::after{border-color:var(--brass-dim);}
.journey-num{font-family:'IBM Plex Mono',monospace;font-size:14px;color:var(--brass);letter-spacing:0.05em;align-self:start;padding-top:8px;}
.journey-body h3{font-size:26px;margin-bottom:10px;}
.journey-body p{color:var(--slate);max-width:520px;margin:0;font-size:16px;}
.journey-cta{justify-self:end;white-space:nowrap;}
@media (max-width:820px){
  .journey-row{grid-template-columns:1fr;gap:14px;padding:34px 0;}
  .journey-num{padding-top:0;}
  .journey-cta{justify-self:start;}
}
.on-paper .journey-row{border-color:var(--line-on-paper);}
.on-paper .journeys .journey-row:last-child{border-color:var(--line-on-paper);}
.on-paper .journey-num{color:var(--brass-dim);}
.on-paper .journey-body p{color:var(--slate-on-paper);}
.on-paper .journey-row:hover,.on-paper .journey-row:focus-within{
  border-top-color:var(--brass-dim);
  background-color:rgba(138,109,26,0.04);
}
.on-paper .journey-row:last-child:hover,.on-paper .journey-row:last-child:focus-within{border-bottom-color:var(--brass-dim);}

/* ---------- Founder layout ---------- */
.founder-grid{display:grid;grid-template-columns:280px 1fr;gap:64px;align-items:start;}
@media (max-width:720px){
  .founder-grid{grid-template-columns:1fr;gap:40px;}
  .founder-grid .portrait-photo{max-width:260px;margin:0 auto;}
}
.portrait-photo{
  aspect-ratio:4/5;width:100%;object-fit:cover;object-position:center 20%;
  filter:grayscale(0.15) contrast(1.03);
}

/* ---------- Scroll reveal ---------- */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal.in{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
}

/* ---------- Contact layout ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;}
@media (max-width:720px){
  .contact-grid{grid-template-columns:1fr;gap:36px;}
}
form.contact-form{display:grid;gap:18px;max-width:560px;}
.field{display:flex;flex-direction:column;gap:8px;}
.field label{font-size:13px;color:var(--slate);letter-spacing:0.03em;}
.field input,.field select,.field textarea{
  background:var(--ink-2);border:1px solid var(--line);color:var(--ivory);
  padding:13px 14px;font-family:inherit;font-size:15px;border-radius:var(--radius);
  transition:border-color .2s var(--ease);
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brass);}
.field textarea{min-height:130px;resize:vertical;}
.form-status{
  font-size:14px;margin:16px 0 0;min-height:1.4em;color:var(--slate);
}
.form-status[data-state="ok"]{color:var(--ivory);}
.on-paper .form-status[data-state="ok"]{color:var(--ink-on-paper);}
.on-paper .form-status{color:var(--slate-on-paper);}

/* ================================================================
   Footer — deliberate institutional hierarchy, not appended fine print
   ================================================================ */
footer.site-footer{
  border-top:1px solid var(--line);background:var(--ink-2);padding:80px 0 40px;
  position:relative;overflow:hidden;
}
footer.site-footer::before{
  content:"";position:absolute;bottom:-10vh;right:-6vw;width:min(24vw,340px);height:min(24vw,340px);
  opacity:0.04;pointer-events:none;
  background-image:url('assets/icon-frame-only.png');background-repeat:no-repeat;background-size:contain;
}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:56px;}
@media (max-width:820px){.footer-grid{grid-template-columns:1fr 1fr;row-gap:36px;}}
.footer-col h4{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--slate-2);margin-bottom:18px;font-weight:500;}
.footer-col a{display:block;color:var(--ivory-dim);text-decoration:none;font-size:14px;margin-bottom:11px;transition:color .18s;}
.footer-col a:hover{color:var(--brass);}
.footer-notice{
  border-top:1px solid var(--line);padding-top:32px;margin-bottom:28px;
}
.footer-notice .eyebrow{margin-bottom:14px;}
.footer-notice p{
  font-family:'Fraunces',serif;font-style:italic;font-weight:400;
  font-size:16.5px;line-height:1.55;color:var(--ivory-dim);max-width:620px;margin:0;
}
.footer-bottom{border-top:1px solid var(--line);padding-top:24px;font-size:12px;color:var(--slate-2);line-height:1.7;}
.footer-bottom p{margin:0 0 8px;}
.footer-legal-links{display:flex;gap:20px;margin-bottom:16px;}
.footer-legal-links a{color:var(--slate);text-decoration:none;font-size:12.5px;transition:color .18s;}
.footer-legal-links a:hover{color:var(--brass);}

/* ---------- misc ---------- */
.center{text-align:center;}
.mt-lg{margin-top:56px;}
.icon-mark{width:40px;opacity:0.9;}
