/* Keystone Capital Advisors: site styles
   Design system from UI UX Pro Max: Editorial Grid / Magazine style, Trust & Authority + Conversion pattern,
   Classic Elegant pairing (Playfair Display headings, Inter body). Palette from the logo: navy + keystone gold.
   Two backgrounds only: warm paper and navy. Photos in natural color, never tinted. */
@font-face{font-family:"Playfair Display";src:url(/assets/fonts/playfair-display-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(/assets/fonts/playfair-display-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Playfair Display";src:url(/assets/fonts/playfair-display-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Inter";src:url(/assets/fonts/inter-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}

:root{
  --paper:#f8f6f1;      /* light background */
  --navy:#1b2a4a;       /* logo navy: dark background */
  --navy-2:#24365c;     /* hover on navy */
  --gold:#b08d3c;       /* logo gold: rules, buttons on navy */
  --gold-ink:#7d6224;   /* gold text on paper (5.3:1) */
  --gold-soft:#cfae63;  /* gold text on navy (6.7:1) */
  --ink:#14203a;
  --ink-2:#4b5567;
  --rule:#ddd6c8;
  --on-navy:#ffffff;
  --on-navy-2:#b3bdcf;
  --navy-rule:#34466b;
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --gutter:clamp(20px,4.5vw,72px);
  --wrap:1240px;
  --ease:cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{margin:0;font-family:var(--serif);font-weight:400;line-height:1.12;letter-spacing:-.01em;text-wrap:balance}
h3{font-family:var(--sans);font-weight:600;letter-spacing:-.005em;line-height:1.3}
p{margin:0 0 1em;text-wrap:pretty}
:focus-visible{outline:2px solid var(--gold-ink);outline-offset:3px}
.navy :focus-visible,.hero-box :focus-visible{outline-color:var(--gold-soft)}
.skip{position:absolute;left:-999px;top:8px;background:var(--navy);color:#fff;padding:10px 16px;z-index:100}
.skip:focus{left:8px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.wide{padding:0 var(--gutter)}
.navy{background:var(--navy);color:var(--on-navy)}
.muted{color:var(--ink-2)}
.navy .muted{color:var(--on-navy-2)}

/* Type scale */
.h-xl{font-size:clamp(40px,4.6vw,68px);line-height:1.06}
.h-l{font-size:clamp(32px,3.6vw,52px)}
.h-m{font-size:clamp(26px,2.4vw,34px)}
.lede{font-size:clamp(18px,1.4vw,20px);line-height:1.6}
em.gold{font-style:italic;color:var(--gold-ink)}
.navy em.gold,.hero-box em.gold{color:var(--gold-soft)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 16px/1 var(--sans);text-decoration:none;padding:16px 26px;border:1.5px solid transparent;cursor:pointer;transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease),transform .12s var(--ease)}
.btn:active{transform:scale(.98)}
.btn svg{width:18px;height:18px;transition:transform .2s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-2)}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:var(--gold-soft)}
.btn-ghost{border-color:rgba(255,255,255,.5);color:#fff}
.btn-ghost:hover{border-color:#fff}
.btn-outline{border-color:var(--navy);color:var(--navy)}
.btn-outline:hover{background:var(--navy);color:#fff}
.link{font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:6px;text-decoration-color:var(--gold);transition:text-decoration-color .2s var(--ease)}
.link:hover{text-decoration-color:currentColor}

/* Masthead: email and CTA either side of a centered logo, navigation row beneath */
.masthead{background:var(--paper);border-bottom:1px solid var(--rule)}
.mast-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:96px}
.mast-top .mail{font-size:15px;color:var(--ink-2);text-decoration:none}
.mast-top .mail:hover{color:var(--ink);text-decoration:underline}
.mast-top .right{justify-self:end}
.mast-top .btn{padding:13px 20px;font-size:15px}
.brand img{height:50px;width:auto}
.mast-nav{border-top:1px solid var(--rule)}
.mast-nav ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:44px;height:52px;align-items:center}
.mast-nav a{font-size:16px;font-weight:500;text-decoration:none;padding:6px 0;border-bottom:1.5px solid transparent;transition:border-color .2s var(--ease),color .2s var(--ease)}
.mast-nav a:hover{border-bottom-color:var(--gold)}
.mast-nav a[aria-current="page"]{border-bottom-color:var(--gold);color:var(--ink)}
.menu-btn{display:none;align-items:center;gap:8px;background:none;border:0;color:var(--ink);font:600 16px var(--sans);padding:10px 2px 10px 12px;cursor:pointer}
.menu-btn svg{width:24px;height:24px}

/* Compact bar that slides in once the masthead has scrolled away (desktop) */
.stick{position:fixed;inset:0 0 auto;z-index:50;background:var(--paper);border-bottom:1px solid var(--rule);transform:translateY(-101%);transition:transform .2s var(--ease)}
.stick.show{transform:none;transition-duration:.35s}
.stick .row{display:flex;align-items:center;justify-content:space-between;gap:28px;height:68px}
.stick .brand img{height:34px}
.stick nav{display:flex;align-items:center;gap:32px}
.stick nav a{font-size:15px;font-weight:500;text-decoration:none}
.stick nav a:not(.btn):hover{color:var(--gold-ink)}
.stick .btn{padding:11px 18px;font-size:15px}
@media (prefers-reduced-motion:reduce){.stick,.stick.show{transition:none}}

@media (max-width:980px){
  .masthead{position:sticky;top:0;z-index:50}
  .mast-top{grid-template-columns:auto 1fr;height:68px}
  .mast-top .mail,.mast-top .right .btn{display:none}
  .mast-top .brand{grid-column:1;grid-row:1}
  .mast-top .right{grid-column:2}
  .brand img{height:36px}
  .menu-btn{display:inline-flex}
  .mast-nav,.stick{display:none}
}

/* Mobile menu */
.menu{position:fixed;inset:0;z-index:60;background:var(--paper);display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .18s var(--ease),visibility .18s}
.menu.open{opacity:1;visibility:visible;transition-duration:.25s}
.menu .bar{display:flex;align-items:center;justify-content:space-between;height:68px;border-bottom:1px solid var(--rule)}
.menu .bar .brand img{height:36px}
.menu-body{padding-block:20px 40px;display:grid;gap:26px;overflow:auto}
.menu-links{list-style:none;margin:0;padding:0}
.menu-links a{display:block;font-family:var(--serif);font-size:30px;text-decoration:none;padding:12px 0;border-bottom:1px solid var(--rule)}
.menu-side{display:grid;gap:12px}
.menu-side p{margin:6px 0 0;color:var(--ink-2)}
@media (prefers-reduced-motion:reduce){.menu,.menu.open{transition:none}}

/* Hero: full-width photo with a navy title box overlapping its lower edge */
.hero{position:relative;margin-bottom:clamp(140px,12vw,180px)}
.hero-photo{position:relative;height:min(calc(100svh - 148px),720px);min-height:460px;overflow:hidden;background:#3a3a3a}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero.page .hero-photo{height:min(calc(70svh - 148px),520px);min-height:360px}
.hero-box{position:absolute;left:var(--gutter);bottom:0;transform:translateY(clamp(110px,10vw,150px));width:min(760px,calc(100% - 2 * var(--gutter)));background:var(--navy);color:#fff;padding:clamp(36px,4vw,56px) clamp(32px,4vw,60px);border-top:4px solid var(--gold)}
.hero-box .lede{color:var(--on-navy-2);margin:20px 0 32px;max-width:52ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
@media (prefers-reduced-motion:no-preference){
  .hero-photo img{animation:settle 1.6s var(--ease) both}
  .hero-box{animation:boxin .8s .1s var(--ease) both}
}
@keyframes settle{from{transform:scale(1.06)}to{transform:none}}
@keyframes boxin{from{opacity:0;transform:translateY(calc(clamp(110px,10vw,150px) + 24px))}to{opacity:1;transform:translateY(clamp(110px,10vw,150px))}}
@media (max-width:760px){
  .hero{margin-bottom:0}
  .hero-photo,.hero.page .hero-photo{height:52vh;min-height:300px}
  .hero-box{position:relative;left:auto;bottom:auto;transform:none;width:auto;margin:-56px 16px 0;padding:32px 24px}
  @keyframes boxin{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
}

/* Sections */
.section{padding:clamp(80px,9vw,128px) 0}
.hero + .section{padding-top:clamp(40px,4vw,64px)}
@media (max-width:760px){.hero + .section{padding-top:72px}}
.head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end;margin-bottom:clamp(40px,5vw,64px)}
.head h2{grid-column:1/span 6}
.head p{grid-column:8/span 5;margin:0}
@media (max-width:860px){.head{grid-template-columns:1fr;gap:14px}.head h2,.head p{grid-column:auto}}

/* Editorial intro with drop cap and a side column of commitments */
.intro{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.intro h2{grid-column:1/span 6;align-self:start}
.intro .body{grid-column:8/span 5}
.intro .body > p:first-child::first-letter{font-family:var(--serif);float:left;font-size:4.1em;line-height:.82;padding:8px 12px 0 0;color:var(--navy)}
.intro .body p{color:var(--ink-2)}
.intro .body > p:first-child{color:var(--ink);font-size:20px}
.pledges{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:clamp(48px,6vw,80px);border-top:2px solid var(--navy)}
.pledges div{padding:28px 32px 0 0}
.pledges div + div{padding-left:32px;border-left:1px solid var(--rule)}
.pledges .n{display:block;font-family:var(--serif);font-style:italic;font-size:28px;color:var(--gold-ink);line-height:1;margin-bottom:14px}
.pledges h3{font-size:19px;margin-bottom:8px}
.pledges p{margin:0;color:var(--ink-2);font-size:16.5px}
@media (max-width:860px){.intro{grid-template-columns:1fr}.intro h2,.intro .body{grid-column:auto}.pledges{grid-template-columns:1fr}.pledges div,.pledges div + div{padding:24px 0;border-left:0;border-bottom:1px solid var(--rule)}}

/* Two practice columns (home) */
.practices{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--rule)}
.practice{padding:44px 48px 8px 0}
.practice + .practice{padding:44px 0 8px 48px;border-left:1px solid var(--rule)}
.practice h3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.4vw,36px);letter-spacing:-.01em;margin-bottom:14px}
.practice > p{color:var(--ink-2);max-width:48ch}
.practice ul{list-style:none;margin:26px 0 28px;padding:0;border-top:1px solid var(--rule)}
.practice li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--rule);font-size:17px}
.practice li span{color:var(--ink-2);font-size:15.5px;text-align:right}
@media (max-width:860px){.practices{grid-template-columns:1fr}.practice,.practice + .practice{padding:36px 0 8px;border-left:0}.practice + .practice{border-top:1px solid var(--rule)}.practice li{flex-direction:column;gap:2px}.practice li span{text-align:left}}

/* Industries: expanding photo panels (interactive) */
.panels{display:flex;gap:8px;height:clamp(480px,46vw,600px);contain:layout}
.panel{position:relative;flex:1 1 0;min-width:0;overflow:hidden;background:var(--navy-2);transition:flex-grow .5s var(--ease)}
.panel.on{flex-grow:6}
.panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.panel-btn{all:unset;box-sizing:border-box;position:absolute;inset:0;cursor:pointer;z-index:2}
.panel-btn:focus-visible{outline:3px solid var(--gold-soft);outline-offset:-3px}
.panel .tag{position:absolute;left:0;bottom:0;z-index:1;background:var(--navy);color:#fff;font-weight:600;font-size:15px;padding:12px 14px;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;border-left:3px solid var(--gold);transition:opacity .15s var(--ease)}
.panel.on .tag{opacity:0}
.panel-body{position:absolute;left:0;bottom:0;z-index:3;width:min(460px,100%);background:var(--navy);padding:26px 28px 24px;border-top:3px solid var(--gold);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .15s var(--ease),transform .15s var(--ease),visibility .15s}
.panel.on .panel-body{opacity:1;visibility:visible;transform:none;transition:opacity .35s .25s var(--ease),transform .35s .25s var(--ease),visibility 0s .25s}
.panel-body h3{font-family:var(--serif);font-weight:400;font-size:28px;margin-bottom:8px}
.panel-body p{color:var(--on-navy-2);font-size:16px;margin:0 0 14px}
.panel-body ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px}
.panel-body li{font-size:14.5px;color:var(--gold-soft)}
.panels-note{margin:22px 0 0;color:var(--on-navy-2);font-size:15.5px}
@media (prefers-reduced-motion:reduce){.panel,.panel-body,.panel.on .panel-body,.panel .tag{transition:none}}
@media (max-width:900px){
  .panels{flex-direction:column;height:auto;gap:8px}
  .panel{flex:none;height:76px;transition:none}
  .panel.on{height:auto}
  .panel.on img{position:relative;height:240px}
  .panel .tag{writing-mode:horizontal-tb;transform:none;left:0;top:auto;bottom:0;border-left:0;border-top:0;border-right:3px solid var(--gold);padding:12px 16px;font-size:16px}
  .panel-body{position:relative;width:100%;transform:none;display:none}
  .panel.on .panel-body{display:block;transition:none}
  .panel.on .panel-btn{bottom:auto;height:240px}
}

/* Process: roman-numeral timeline */
.course{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;border-top:2px solid var(--navy)}
.course li{padding:28px 28px 0 0}
.course li + li{padding-left:28px;border-left:1px solid var(--rule)}
.course .n{display:block;font-family:var(--serif);font-size:44px;line-height:1;color:var(--gold-ink);margin-bottom:18px}
.course h3{font-size:19px;margin-bottom:8px}
.course p{margin:0;color:var(--ink-2);font-size:16.5px}
.course.six{grid-template-columns:repeat(6,minmax(0,1fr))}
@media (max-width:1100px){.course.six{grid-template-columns:repeat(3,minmax(0,1fr))}.course.six li:nth-child(4){padding-left:0;border-left:0}.course.six li:nth-child(n+4){margin-top:32px}}
@media (max-width:960px){.course{grid-template-columns:1fr 1fr}.course li:nth-child(odd){padding-left:0;border-left:0}.course li:nth-child(n+3){margin-top:32px}.course.six li:nth-child(4){padding-left:28px;border-left:1px solid var(--rule)}}
@media (max-width:560px){.course,.course.six{grid-template-columns:1fr}.course li:nth-child(n),.course.six li:nth-child(n){padding:24px 0;border-left:0;margin-top:0;border-bottom:1px solid var(--rule)}}

/* Numbered service list (inner pages) */
.svc{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;grid-template-columns:1fr 1fr;column-gap:56px;border-top:1px solid var(--rule)}
.svc li{counter-increment:s;display:grid;grid-template-columns:56px 1fr;padding:28px 0;border-bottom:1px solid var(--rule)}
.svc li::before{content:counter(s,decimal-leading-zero);font-family:var(--serif);font-style:italic;font-size:22px;color:var(--gold-ink);line-height:1.2}
.svc h3{font-size:20px;margin-bottom:6px}
.svc p{margin:0;color:var(--ink-2);font-size:16.5px}
@media (max-width:860px){.svc{grid-template-columns:1fr}}

/* Capital stack (interactive, capital markets page) */
.stack-wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(36px,6vw,96px);align-items:start}
.stack{display:grid;gap:6px}
.layer{all:unset;box-sizing:border-box;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 22px;border:1px solid var(--navy-rule);color:#fff;font-weight:600;font-size:17px;transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}
.layer span{font-weight:400;font-size:14.5px;color:var(--on-navy-2);transition:color .2s var(--ease)}
.layer:hover{background:var(--navy-2)}
.layer[aria-selected="true"]{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.layer[aria-selected="true"] span{color:var(--navy)}
.layer:focus-visible{outline:2px solid var(--gold-soft);outline-offset:3px}
.layer.l1{height:64px;margin-inline:18%}
.layer.l2{height:72px;margin-inline:12%}
.layer.l3{height:84px;margin-inline:6%}
.layer.l4{height:116px}
.stack-cap{text-align:center;color:var(--on-navy-2);font-size:14.5px;margin:12px 0}
.stack-panel[hidden]{display:none}
.stack-panel h3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.6vw,38px);margin-bottom:14px}
.stack-panel > p{color:var(--on-navy-2);max-width:52ch}
.meters{margin:26px 0 0;display:grid;gap:16px;max-width:460px}
.meter{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:16px;font-size:15.5px}
.meter dt{color:var(--on-navy-2)}
.meter dd{margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.meter i{display:block;height:8px;background:var(--navy-rule)}
.meter i.f{background:var(--gold)}
.stack-panel .use{margin-top:24px;padding-top:20px;border-top:1px solid var(--navy-rule);color:#fff;font-size:16.5px}
@media (prefers-reduced-motion:no-preference){.stack-panel:not([hidden]){animation:rise .35s var(--ease) both}}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (max-width:860px){.stack-wrap{grid-template-columns:1fr}.meter{grid-template-columns:156px 1fr;gap:12px}}

/* FAQ */
.faq-wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.faq-wrap h2{grid-column:1/span 4;align-self:start}
.faq{grid-column:6/span 7;border-top:2px solid var(--navy)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-weight:500;font-size:clamp(18px,1.4vw,19px);line-height:1.4;transition:color .2s var(--ease)}
.faq summary:hover{color:var(--gold-ink)}
.faq summary::-webkit-details-marker{display:none}
.faq .pm{flex:none;width:14px;height:14px;position:relative}
.faq .pm::before,.faq .pm::after{content:"";position:absolute;left:0;top:50%;width:14px;height:1.5px;margin-top:-1px;background:var(--navy);transition:transform .2s var(--ease)}
.faq .pm::after{transform:rotate(90deg)}
.faq details[open] .pm::after{transform:rotate(0)}
.faq .a{padding:0 40px 24px 0;color:var(--ink-2)}
.faq .a p{margin:0}
@media (max-width:860px){.faq-wrap{grid-template-columns:1fr}.faq-wrap h2,.faq{grid-column:auto}.faq .a{padding-right:0}}

/* Booking band */
.book{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
.book .panel-l{padding:clamp(64px,7vw,112px) clamp(32px,5vw,80px) clamp(64px,7vw,112px) var(--gutter)}
.book .panel-l > p{color:var(--on-navy-2);max-width:54ch;margin:18px 0 34px}
.book figure{margin:0;position:relative;min-height:360px;overflow:hidden;background:var(--navy-2)}
.book figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.choices{display:grid;gap:0;border-top:1px solid var(--navy-rule);max-width:640px}
.choice{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;align-items:center;padding:24px 0;border-bottom:1px solid var(--navy-rule)}
.choice h3{font-size:19px}
.choice p{margin:0;color:var(--on-navy-2);font-size:16px}
.choice .btn{grid-column:2;grid-row:1/span 2}
.book .mail{margin:26px 0 0;color:var(--on-navy-2)}
.book .mail .link{color:#fff}
@media (max-width:960px){.book{grid-template-columns:1fr}.book figure{height:300px;min-height:0;order:-1}}
@media (max-width:560px){.choice{grid-template-columns:1fr}.choice .btn{grid-column:1;grid-row:auto;justify-self:start;margin-top:12px}}

/* Footer: light, four columns */
.site-footer{background:var(--paper);border-top:3px solid var(--navy);padding:clamp(64px,7vw,96px) 0 28px;color:var(--ink-2)}
.foot-top{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2.4fr));gap:40px;padding-bottom:48px}
.foot-brand img{height:52px;width:auto;margin-bottom:20px}
.foot-brand p{max-width:32ch;margin:0}
.foot-col h2{font-family:var(--sans);font-size:16px;font-weight:600;letter-spacing:0;color:var(--ink);margin-bottom:14px}
.foot-col ul{list-style:none;margin:0;padding:0}
.foot-col li{margin-bottom:10px}
.foot-col a{text-decoration:none;font-size:16px}
.foot-col a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold)}
.disclaimer{padding:26px 0;border-block:1px solid var(--rule);font-size:14.5px;line-height:1.7}
.disclaimer p{margin:0;max-width:120ch}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:22px;font-size:14.5px}
.foot-bottom nav{display:flex;flex-wrap:wrap;gap:6px 24px}
.foot-bottom a{text-decoration:none}
.foot-bottom a:hover{color:var(--ink);text-decoration:underline}
@media (max-width:960px){.foot-top{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}
@media (max-width:520px){.foot-top{grid-template-columns:1fr}}

/* Legal */
.legal-head{padding:clamp(56px,7vw,96px) 0 40px;border-bottom:1px solid var(--rule)}
.legal-head p{color:var(--ink-2);margin:14px 0 0}
.legal{padding:56px 0 112px}
.legal .doc{max-width:740px}
.legal h2{font-size:28px;margin:44px 0 12px}
.legal h2:first-child{margin-top:0}
.legal p,.legal li{color:#333d50}
.legal ul{padding-left:22px;margin:0 0 1em}
.legal li{margin-bottom:8px}
.legal a{color:var(--ink);text-decoration-color:var(--gold)}

/* 404 */
.notfound{min-height:60vh;display:grid;place-items:center;text-align:center;padding:80px var(--gutter)}
.notfound p{color:var(--ink-2);margin:14px 0 28px}
