/* ============================================================
   LEYEFEMI, shared chrome (extracted 2026-07-26)
   Rules here were byte-identical across all 32 pages and were
   REMOVED from the inline <style> of every page. site.css is
   linked BEFORE each page's inline <style>, so any remaining
   inline rule still wins the cascade. Page-specific overrides
   stay inline by design.
   NEW WORK: use the type-scale + spacing tokens below instead
   of ad-hoc px/rem values. Old code migrates on touch.
   ============================================================ */
:root{
  /* type scale, 9 steps (new work only; 93 ad-hoc sizes remain inline) */
  --fs-1:.62rem; --fs-2:.7rem; --fs-3:.8rem; --fs-4:.92rem; --fs-5:1.05rem;
  --fs-6:1.35rem; --fs-7:clamp(1.6rem,2.6vw,2.3rem); --fs-8:clamp(2.2rem,4.5vw,3.6rem); --fs-9:clamp(2.6rem,6vw,5.4rem);
  /* spacing scale (new work only) */
  --sp-1:8px; --sp-2:12px; --sp-3:18px; --sp-4:26px; --sp-5:40px; --sp-6:56px; --sp-7:88px; --sp-8:140px;
}
/* interactive-state baseline (WCAG 2.4.7; contact button enters disabled while sending) */
/* button canon, census-winner shape (the 11-page guide variant). Pages that
   define .btn inline still win the cascade; NEW pages get this for free. */
.btn{display:inline-flex;align-items:center;gap:11px;font-family:var(--sans,'Archivo',sans-serif);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;padding:16px 30px;text-decoration:none;cursor:pointer;transition:background .45s cubic-bezier(.19,1,.22,1),color .45s cubic-bezier(.19,1,.22,1),border-color .45s cubic-bezier(.19,1,.22,1)}
.btn-ink{background:var(--ink,#0a0a0a);color:#fff;border:1px solid var(--ink,#0a0a0a)}
.btn-ink:hover{background:transparent;color:var(--ink,#0a0a0a)}
.btn-line{background:transparent;border:1px solid var(--ink,#0a0a0a);color:var(--ink,#0a0a0a)}
.btn-line:hover{background:var(--ink,#0a0a0a);color:#fff}
.btn .arr{transition:transform .4s cubic-bezier(.19,1,.22,1)}
.btn:hover .arr{transform:translateX(6px)}
.btn:disabled{opacity:.55;cursor:default;pointer-events:none}
:focus-visible{outline:2px solid #8a8a8a;outline-offset:3px}
*{margin:0;padding:0;box-sizing:border-box}
.fc-body{display:flex;flex-direction:column;gap:9px}
.fc-ico svg{width:100%;height:100%}
.fc-item{display:flex;gap:16px;align-items:flex-start}
.fc-item a:hover{color:var(--white)}
.fc-list-why{font-size:.74rem;line-height:1.5;color:rgba(255,255,255,.55);margin:2px 0 12px;max-width:240px}
.fc-listform input::placeholder{color:rgba(255,255,255,.4)}
.fc-listform input:focus{outline:none}
.foot-badges .badge{display:inline-flex;align-items:center;gap:9px;font-size:.52rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.7);font-weight:600}
.foot-brandname b{font-weight:300}
.foot-lic{display:flex;flex-direction:column;gap:13px}
.foot-lic-label{font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--accent-lt);font-weight:600}
.foot-lic-line{font-family:var(--sans);font-size:.84rem;line-height:1.65;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.9)}
.nav-drop:hover .nav-drop-menu,.nav-drop:focus-within .nav-drop-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.navlinks .nav-drop-menu a::after{display:none}
.navlinks a{font-size:.8rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(251,251,251,.95);font-weight:500;position:relative;transition:color .3s}
.navmenu-brand{position:absolute;bottom:44px;right:clamp(40px,5vw,72px);z-index:2;font-family:'Jost',sans-serif;font-weight:400;font-size:1.05rem;letter-spacing:.34em;color:rgba(255,255,255,.55);padding-left:.34em;pointer-events:none}
.navmenu-brand b{font-weight:300}
.navmenu-close{position:absolute;top:34px;right:40px;z-index:3;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;transition:transform .35s cubic-bezier(.19,1,.22,1)}
.navmenu-close span{position:absolute;top:50%;left:0;width:100%;height:2px;background:var(--white)}
.navmenu-close span:first-child{transform:rotate(45deg)}
.navmenu-close span:last-child{transform:rotate(-45deg)}
.navmenu-close:hover{transform:rotate(90deg)}
.navmenu-contact{position:static;display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:28px 34px;margin-top:clamp(30px,4.4vh,52px);padding-top:clamp(24px,3.4vh,34px);border-top:1px solid rgba(255,255,255,.18);width:100%;max-width:520px}
.navmenu-contact>a{font-family:var(--sans);font-size:.72rem;letter-spacing:.08em;color:rgba(255,255,255,.72);transition:color .3s var(--ease)}
.navmenu-contact>a:hover{color:var(--white)}
.navmenu-inner{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:3px}
.navmenu-inner a:hover{color:var(--accent-lt)}
.navmenu-scrim.open{opacity:1;visibility:visible}
.navmenu.open{opacity:1;visibility:visible}
.navmenu::after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(10,10,10,.42) 0%,rgba(10,10,10,.72) 55%,rgba(10,10,10,.93) 100%)}
.navmenu::before{content:"";position:absolute;inset:0;z-index:0;background:url('https://images.unsplash.com/photo-1512917774080-9991f1c4c750?auto=format&fit=crop&w=2200&q=80') center/cover;opacity:.32;filter:grayscale(1)}
.navmenu>*{position:relative;z-index:1}
.nm-cat-label::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .35s var(--ease);margin:0 0 3px 2px}
.nm-cat:hover .nm-cat-label{color:var(--accent-lt)}
.nm-cat:hover .nm-cat-label::after{transform:rotate(-135deg)}
.nm-cat:hover .nm-sub{max-height:240px}
.nmc-social{display:flex;align-items:center;gap:20px}
.nmc-social a{display:inline-flex;color:rgba(255,255,255,.68);transition:color .3s var(--ease)}
.nmc-social a:hover{color:var(--accent-lt)}
.nmc-social svg{width:16px;height:16px;fill:currentColor}
.skip-link:focus{left:12px;top:12px}
body.menu-open{overflow:hidden}

/* ── site search bar (reusable; first used at the foot of the buy.html hero) ──
   Solid paper band so it stays legible over any hero photograph. Fields mirror
   the homepage bar and post the same params featured-properties.html reads. */
.ssearch{position:absolute;left:0;right:0;bottom:0;z-index:3;background:var(--paper);box-shadow:0 -24px 50px -32px rgba(10,10,10,.5)}
.ssearch-in{max-width:1680px;margin:0 auto;padding:0 56px}
.ssearch-bar{display:grid;grid-template-columns:2.6fr 1fr 1fr 1.05fr auto;align-items:stretch;border-bottom:1px solid rgba(10,10,10,.22);transition:border-color .5s cubic-bezier(.19,1,.22,1)}
.ssearch-bar:focus-within{border-bottom-color:var(--ink,#0a0a0a)}
.ssearch-seg{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(16px,2.2vh,24px) clamp(14px,1.8vw,28px);border-right:1px solid rgba(10,10,10,.14);transition:background .35s cubic-bezier(.19,1,.22,1)}
.ssearch-seg:first-child{padding-left:0}
.ssearch-seg:hover{background:#faf9f7}
.ssearch-seg label{font-family:var(--sans,'Archivo',sans-serif);font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;color:#6f6f6f;font-weight:600;margin-bottom:7px}
.ssearch-seg input,.ssearch-seg select{width:100%;border:none;background:none;padding:0;font-family:var(--serif,'Fraunces',Georgia,serif);font-weight:300;font-size:1.16rem;color:var(--ink,#0a0a0a);outline:none;border-radius:0}
.ssearch-seg select{font-family:var(--sans,'Archivo',sans-serif);font-weight:400;font-size:1.02rem;appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%236f6f6f' stroke-width='1.4'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center;background-size:11px}
.ssearch-seg input::placeholder{color:rgba(10,10,10,.34);font-style:italic}
.ssearch-seg input:focus-visible,.ssearch-seg select:focus-visible{outline:2px solid #8a8a8a;outline-offset:3px}
.ssearch-go{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:11px;background:transparent;color:var(--ink,#0a0a0a);border:none;cursor:pointer;padding:0 clamp(20px,2.2vw,36px);font-family:var(--sans,'Archivo',sans-serif);font-size:.75rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;overflow:hidden;isolation:isolate;transition:color .5s cubic-bezier(.19,1,.22,1)}
.ssearch-go::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ink,#0a0a0a);transform:translateX(-101%);transition:transform .8s cubic-bezier(.19,1,.22,1)}
.ssearch-go:hover{color:#fff}
.ssearch-go:hover::before{transform:translateX(0)}
.ssearch-go svg{width:18px;height:18px;transition:transform .4s cubic-bezier(.19,1,.22,1)}
.ssearch-go:hover svg{transform:translateX(5px)}
@media(max-width:900px){
  .ssearch{position:relative;box-shadow:none;border-top:1px solid rgba(10,10,10,.14)}
  .ssearch-in{padding:0 24px}
  .ssearch-bar{grid-template-columns:1fr 1fr}
  .ssearch-seg{border-right:none;border-bottom:1px solid rgba(10,10,10,.1);padding-left:0}
  .ssearch-seg:first-child{grid-column:1/-1}
  .ssearch-go{grid-column:1/-1;padding:18px 0;justify-content:flex-start}
}

/* ═══════════ TIER 1 UI KIT (shared; site-ui.js drives the behaviour) ═══════════ */

/* focus: one visible, high-contrast indicator everywhere (WCAG 2.4.7) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:2px solid #0a0a0a;outline-offset:3px;border-radius:1px}
.on-dark a:focus-visible,.on-dark button:focus-visible{outline-color:#fff}

/* interactive states */
button[disabled],.btn[aria-disabled="true"],[data-busy="true"]{opacity:.5;pointer-events:none;cursor:default}
[data-busy="true"]{position:relative}
.is-loading::after{content:"";display:inline-block;width:12px;height:12px;margin-left:10px;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:uiSpin .7s linear infinite;vertical-align:-1px}
@keyframes uiSpin{to{transform:rotate(360deg)}}

/* form validation */
.field-err{display:block;margin-top:6px;font-family:var(--sans,'Archivo',sans-serif);font-size:.72rem;letter-spacing:.02em;color:#b3261e}
[aria-invalid="true"]{border-color:#b3261e !important}
.err-summary{margin:0 0 20px;padding:14px 16px;border-left:2px solid #b3261e;background:rgba(179,38,30,.06)}
.err-summary h3{font-family:var(--sans,'Archivo',sans-serif);font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#b3261e;margin:0 0 8px}
.err-summary ul{margin:0;padding-left:18px}
.err-summary a{color:#b3261e;font-size:.86rem;text-decoration:underline;text-underline-offset:2px}
.form-progress{height:2px;background:rgba(10,10,10,.12);margin-bottom:18px;overflow:hidden}
.form-progress i{display:block;height:100%;width:0;background:var(--ink,#0a0a0a);transition:width .5s cubic-bezier(.19,1,.22,1)}

/* back to top */

/* copy-to-clipboard */
.copy-btn{display:inline-flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;font-family:var(--sans,'Archivo',sans-serif);font-size:.62rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#6f6f6f;padding:4px 0;transition:color .35s}
.copy-btn:hover{color:var(--ink,#0a0a0a)}
.copy-btn svg{width:13px;height:13px}
.copy-btn.done{color:var(--ink,#0a0a0a)}

/* tooltips */
.tip{border-bottom:1px dotted rgba(10,10,10,.4);cursor:help;position:relative}
.tip:hover::after,.tip:focus-visible::after{content:attr(data-tip);position:absolute;left:0;bottom:calc(100% + 8px);z-index:20;width:max-content;max-width:280px;background:var(--ink,#0a0a0a);color:#fff;font-family:var(--sans,'Archivo',sans-serif);font-size:.72rem;font-weight:300;letter-spacing:.01em;line-height:1.5;text-transform:none;padding:9px 12px;pointer-events:none}

/* mobile concierge bar */
.concierge{position:fixed;top:auto;left:0;right:0;bottom:0;z-index:880;display:none;background:var(--ink,#0a0a0a);padding-bottom:env(safe-area-inset-bottom)}
.concierge ul{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0;padding:0}
.concierge a,.concierge button{display:flex;flex-direction:column;align-items:center;gap:5px;width:100%;padding:11px 4px;background:none;border:none;color:rgba(255,255,255,.86);font-family:var(--sans,'Archivo',sans-serif);font-size:.52rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;text-decoration:none}
.concierge svg{width:17px;height:17px}
.concierge a:active,.concierge button:active{color:#fff}
@media(max-width:820px){.concierge{display:block}body{padding-bottom:62px}}

/* storage controls */
.storage-ctl{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid rgba(10,10,10,.12)}
.storage-ctl p{font-family:var(--sans,'Archivo',sans-serif);font-size:.78rem;color:rgba(10,10,10,.6);margin:0}
.storage-ctl button{font-family:var(--sans,'Archivo',sans-serif);font-size:.62rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;background:none;border:1px solid rgba(10,10,10,.3);padding:9px 16px;cursor:pointer;transition:all .35s}
.storage-ctl button:hover{background:var(--ink,#0a0a0a);color:#fff;border-color:var(--ink,#0a0a0a)}

@media(prefers-reduced-motion:reduce){.form-progress i,.is-loading::after{transition:none;animation:none}}

/* ═══════════ PRINT ═══════════ */
@media print{
  nav,.navmenu,.navmenu-scrim,footer,.concierge,.ssearch,.cmodal,.filters,.copy-btn,video,.bg-media,.grain,.progress{display:none !important}
  *{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}
  body{font-size:11pt;line-height:1.45}
  .wrap,.pj,.mk-stage,.rl-stage,.ax{max-width:none !important;padding:0 !important}
  h1{font-size:20pt}h2{font-size:15pt}h3{font-size:12pt}
  h1,h2,h3,figure,table,.co-rows,.np-out{break-inside:avoid;page-break-inside:avoid}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;color:#444 !important}
  a[href^="#"]::after,a[href^="mailto"]::after,a[href^="tel"]::after{content:""}
  img{max-width:100% !important}
  .rv,.reveal,.fx-rv{opacity:1 !important;transform:none !important}
}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ── overlay menu: contact reads as ACTIONS, list keeps one left edge ── */
.navmenu-contact>a{font-family:var(--sans,'Archivo',sans-serif);font-size:.94rem;font-weight:400;letter-spacing:.06em;color:#fff;text-decoration:none;position:relative;padding-bottom:3px;transition:color .3s cubic-bezier(.19,1,.22,1)}
.navmenu-contact>a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:rgba(255,255,255,.5);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.19,1,.22,1)}
.navmenu-contact>a:hover::after,.navmenu-contact>a:focus-visible::after{transform:scaleX(1)}
.navmenu-contact .nmc-social{display:flex;align-items:center;gap:20px}
.navmenu-contact .nmc-social a{color:rgba(255,255,255,.7)}
.navmenu-contact .nmc-social a:hover{color:#fff}
.navmenu-inner{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:3px;width:100%;max-width:520px}
@media(max-width:900px){.navmenu-brand{bottom:34px;right:24px;font-size:.95rem}.navmenu-close{top:22px;right:18px}.navmenu-contact{gap:20px 26px}}

/* ── outrank .navmenu>* {position:relative}, which lands later in the cascade ── */
.navmenu>.navmenu-close{position:absolute;top:34px;right:40px;left:auto;bottom:auto;z-index:3}
.navmenu>.navmenu-brand{position:absolute;bottom:44px;right:clamp(40px,5vw,72px);left:auto;top:auto;z-index:2}
@media(max-width:900px){
.navmenu>.navmenu-close{top:22px;right:18px;left:auto;bottom:auto}
.navmenu>.navmenu-brand{bottom:34px;right:24px;left:auto;top:auto}
}
@media(max-width:560px){
.navmenu>.navmenu-brand{bottom:28px;right:20px;left:auto;top:auto;font-size:.88rem}
}

/* ── pathways: contextual routes into the tool suite, placed above the footer.
      The list lifts off the band so the strip is not scrolled past. ── */
.pathways{position:relative;z-index:2;border-top:1px solid rgba(140,140,140,.3);padding:clamp(56px,7vw,86px) max(var(--pad),calc((100% - var(--page-max))/2 + var(--pad))) clamp(62px,8vw,96px);background:var(--paper-2,#f2f2f2)}
.pathways::before{content:"";position:absolute;top:-1px;left:max(var(--pad),calc((100% - var(--page-max))/2 + var(--pad)));width:74px;height:3px;background:var(--ink,#0a0a0a)}
.pathways-label{font-family:'Tenor Sans',sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(1.9rem,3.2vw,2.8rem);line-height:1.1;letter-spacing:-.025em;color:var(--ink,#0a0a0a);margin:0 0 14px;max-width:none}
.pathways-sub{font-family:var(--sans);font-weight:300;font-size:.95rem;line-height:1.6;letter-spacing:.02em;color:var(--stone,#6f6f6f);margin:0 0 clamp(26px,3.2vw,38px);max-width:44ch}
.pathways-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(244px,1fr));gap:1px;background:rgba(140,140,140,.26);border:0;border-top:1px solid rgba(140,140,140,.3);border-bottom:1px solid rgba(140,140,140,.3)}
.pathways-list li{background:var(--paper,#fff)}
.pathways-list a{position:relative;display:block;padding:22px 24px 24px;text-decoration:none;color:var(--ink,#0a0a0a);overflow:hidden;transition:color .45s var(--ease)}
.pathways-list a::before{content:"";position:absolute;inset:0;background:var(--ink,#0a0a0a);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease);z-index:0}
.pathways-list a>*{position:relative;z-index:1}
.pathways-list a b{display:block;font-family:var(--sans);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;line-height:1.3}
.pathways-list a .pw-note{display:block;margin-top:7px;font-style:normal;font-family:var(--sans);font-weight:300;font-size:.775rem;line-height:1.5;color:var(--stone,#6f6f6f);transition:color .45s var(--ease)}
.pathways-list a span{display:block;margin-top:14px;font-family:var(--sans);font-size:.7rem;color:var(--stone,#6f6f6f);transition:color .45s var(--ease),transform .45s var(--ease)}
.pathways-list a:hover,.pathways-list a:focus-visible{color:#fff}
.pathways-list a:hover::before,.pathways-list a:focus-visible::before{transform:scaleY(1)}
.pathways-list a:hover .pw-note,.pathways-list a:focus-visible .pw-note{color:rgba(255,255,255,.74)}
.pathways-list a:hover span,.pathways-list a:focus-visible span{color:#fff;transform:translateX(7px)}
.pathways-list a:focus-visible{outline:2px solid var(--ink,#0a0a0a);outline-offset:-3px}
@media(prefers-reduced-motion:reduce){.pathways-list a::before,.pathways-list a span,.pathways-list a .pw-note{transition:none}}
@media(max-width:640px){.pathways-list{grid-template-columns:1fr}}

/* ──

/* ── sticky nav: white bar, black content.
      Scoped to nav#nav so it outranks the per-page nav.scrolled rules, which
      live in later stylesheets. Only the stuck state is affected; over the hero
      the bar stays transparent with white content as before. ── */
nav#nav.scrolled{background:#ffffff;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 1px 0 rgba(10,10,10,.12)}
nav#nav.scrolled .logo,
nav#nav.scrolled .logo b,
nav#nav.scrolled .navlinks a,
nav#nav.scrolled .navlinks a:hover,
nav#nav.scrolled .nav-phone{color:var(--ink,#0a0a0a)}
nav#nav.scrolled .burger span{background:var(--ink,#0a0a0a)}
nav#nav.scrolled .navlinks a::after{background:var(--ink,#0a0a0a)}

/* the Properties dropdown inverts with it, otherwise a dark panel hangs off a white bar */
nav#nav.scrolled .nav-drop-menu-in{background:rgba(255,255,255,.97);border-color:rgba(10,10,10,.12)}
nav#nav.scrolled .navlinks .nav-drop-menu a{color:rgba(10,10,10,.72)}
nav#nav.scrolled .navlinks .nav-drop-menu a:hover{color:#0a0a0a;background:rgba(10,10,10,.05)}

/* keep the burger hidden while the overlay menu is open, as before */
body.menu-open nav#nav.scrolled .burger{opacity:0;pointer-events:none}

/* ── hero scale: two steps, named from the two values already dominant across
      the site. --hero-lg carries landing pages, --hero-sm the utility and guide
      pages. about.html keeps its own smaller hero on purpose. ── */
:root{
  --hero-lg:clamp(2.6rem,7vw,6.5rem);
  --hero-sm:clamp(2.2rem,5vw,3.6rem);
}

/* ── brand hue: one number governs the blue everywhere, the suite heroes
      included. The 38 original pages take it only on interaction: the underline
      that wipes in, the CTA hover edge, and focus rings. Nothing static is
      coloured, so the pages stay the neutral grey they were. ── */
:root{
  --brand-h:207;
  --line-blue:hsl(var(--brand-h) 38% 46%);   /* 4.58:1 on white, 4.33:1 on ink */
  --line-blue-soft:hsl(var(--brand-h) 38% 46% / .38);
}

/* underline reveals. nav#nav and footer#contact carry ids, so these outrank
   the per-page rules in stylesheets loaded after this one. */
nav#nav .navlinks a::after,
nav#nav .navlinks>a::after,
nav#nav .nav-drop>a::after,
footer#contact .fc-item a::after,
footer#contact .foot-affil-link::after,
footer#contact .foot-bl a::after,
footer#contact .foot-bottom .cc a::after,
html body .cn-link::after{background:var(--line-blue)}

/* .nav-account is an icon, not text -- no underline reveal (see
   public/site-chrome.css's comment on .nav-account). Higher specificity
   than nav#nav .navlinks a::after above so it wins regardless of source
   order. */
nav#nav .navlinks a.nav-account::after{content:none}

/* CTA hover edge */
html body .btn-line:hover,
html body .btn-ink:hover,
html body .cta-back:hover{border-color:var(--line-blue)}

/* focus rings: an accessibility gain as much as an accent */
html body a:focus-visible,
html body button:focus-visible,
html body [role="button"]:focus-visible,
html body .crit-cta:focus-visible{outline:2px solid var(--line-blue);outline-offset:3px}

/* field focus */
html body input:focus,
html body textarea:focus,
html body select:focus{border-bottom-color:var(--line-blue)}
