/* =============================================================
   ENS Immigration Advice — main.css
   Foundation + global chrome (design tokens, base resets,
   buttons, header/nav/mega-menu, trust bar, footer, back-to-top).
   Loaded on EVERY page.

   Extracted verbatim from the original per-page design system so
   migrated pages keep their exact appearance. Interior content
   components live in components.css; media queries in responsive.css.
   ============================================================= */

/* ---------- DESIGN TOKENS ---------- */
:root{
  --ink:#173F35;
  --ink-soft:#1E4F42;
  --ink-softer:#2A5145;
  --ink-deep:#0E2D26;
  --paper:#F7F8F5;
  --paper-dim:#EAF0EB;
  --brass:#D26750;
  --brass-dark:#B6533F;
  --brass-light:#E29581;
  --sage:#557C70;
  --slate:#252B28;
  --slate-light:#68736E;
  --line:#DCE3DF;
  --line-on-ink:rgba(247,248,245,0.2);
  --teal:#557C70;
  --cream:#FFFFFF;
  --radius:2px;
  --maxw:1180px;
}

/* ---------- BASE ---------- */
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--slate);
  font-family:'Bai Jamjuree',sans-serif;
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:'Bai Jamjuree',sans-serif;
  color:var(--ink);
  margin:0;
  font-weight:600;
  letter-spacing:-0.01em;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}

/* ---------- SKIP LINK (accessibility / WCAG AA) ---------- */
.skip-link{
  position:absolute;
  left:-9999px;
  top:0;
  z-index:200;
  background:var(--ink);
  color:var(--paper);
  padding:12px 20px;
  font-family:'IBM Plex Mono',monospace;
  font-size:13px;
  border-radius:0 0 4px 0;
}
.skip-link:focus{left:0;}

/* ---------- EYEBROW ---------- */
.eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:12px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--brass);
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}
.eyebrow::before{
  content:"";
  width:22px;height:1px;
  background:var(--brass);
  display:inline-block;
}
.eyebrow.on-ink{color:var(--brass-light);}

/* ---------- BUTTONS ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:'IBM Plex Mono',monospace;
  font-size:13px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  padding:14px 24px;
  border-radius:var(--radius);
  border:1px solid transparent;
  cursor:pointer;
  transition:all .18s ease;
}
.btn-primary{background:var(--brass);color:var(--cream);border-color:var(--brass);}
.btn-primary:hover{background:var(--ink);border-color:var(--ink);color:var(--cream);}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink);}
.btn-ghost:hover{background:var(--ink);color:var(--cream);}
.btn-ghost-on-ink{background:transparent;color:var(--paper);border-color:var(--line-on-ink);}
.btn-ghost-on-ink:hover{border-color:var(--paper);}
.btn-primary-on-ink{background:var(--brass-light);color:var(--ink);border-color:var(--brass-light);}
.btn-primary-on-ink:hover{background:var(--paper);border-color:var(--paper);}

/* ---------- STAMP SIGNATURE ELEMENT ---------- */
.stamp{
  position:relative;
  width:172px;height:172px;
  border-radius:50%;
  border:2px solid var(--brass);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  transform:rotate(-9deg);
  mix-blend-mode:multiply;
  flex-shrink:0;
}
.stamp::before{
  content:"";
  position:absolute;
  inset:8px;
  border:1px dashed var(--brass);
  border-radius:50%;
}
.stamp .stamp-text{
  font-family:'IBM Plex Mono',monospace;
  font-size:10.5px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--brass);
  line-height:1.6;
}
.stamp.on-dark{
  mix-blend-mode:normal;
  border-color:var(--brass-light);
}
.stamp.on-dark::before{border-color:var(--brass-light);}
.stamp.on-dark .stamp-text{color:var(--brass-light);}
.stamp.on-dark .stamp-text strong{color:var(--paper);}
.stamp .stamp-text strong{
  display:block;
  font-size:13px;
  color:var(--ink);
  letter-spacing:0.08em;
  margin:2px 0;
}

/* ---------- PERFORATED TICKET-STUB DIVIDER ---------- */
.perf{
  display:flex;
  align-items:center;
  gap:6px;
  height:1px;
  margin:0;
}
.perf span{
  width:5px;height:5px;
  border-radius:50%;
  background:var(--paper);
  border:1px solid var(--line);
  flex-shrink:0;
}
.perf-row{
  display:flex;
  justify-content:space-between;
  padding:0 32px;
  max-width:var(--maxw);
  margin:0 auto;
}
.perf-row .perf{flex:1;justify-content:space-between;}

/* ---------- HEADER ---------- */
header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:transparent;
  border-bottom:1px solid transparent;
  transition:background-color .3s ease, border-color .3s ease;
}
.nav-menu-group{
  position:relative;
  display:flex;
  align-items:center;
  gap:34px;
}
header.scrolled{
  background:rgba(247,248,245,0.94);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
/* Interior pages that have no full-bleed hero start in the scrolled state. */
header.solid{
  position:sticky;
  background:rgba(247,248,245,0.94);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 32px;
  max-width:var(--maxw);
  margin:0 auto;
  position:relative;
}
.logo{
  display:flex;align-items:center;gap:12px;
  font-family:'Bai Jamjuree',sans-serif;
  font-weight:600;
  font-size:19px;
  color:var(--paper);
  transition:color .3s ease;
}
header.scrolled .logo,
header.solid .logo{color:var(--ink);}
.logo-mark{
  width:26px;height:26px;
  flex-shrink:0;
}
nav.primary-nav{display:flex;align-items:center;gap:34px;}
/* Top-level nav items (direct children + the Visas trigger) take the header
   colour. Scoped to > a so it does NOT cascade into the mega-menu links,
   which keep their own dark-on-cream colour. */
.nav-links > a:not(.btn){font-size:14px;}
.nav-links > a:not(.btn),
.nav-trigger{
  color:var(--paper);
  position:relative;
  padding:7px 11px;border-radius:7px;
  background-color:transparent;
  transition:color .3s ease, background-color .24s ease;
}
.nav-links > a:not(.btn):hover{color:var(--brass-light);}
/* Forest-green transparent hover pill on the main nav items; fades back to
   fully transparent when the cursor leaves. */
.nav-links > a:not(.btn):hover,
.nav-trigger:hover,
.nav-item.has-mega:hover .nav-trigger,
.nav-item.has-mega:focus-within .nav-trigger,
.nav-item.mega-open .nav-trigger{
  background-color:rgba(85,124,112,0.22);
}
header.scrolled .nav-links > a:not(.btn),
header.solid .nav-links > a:not(.btn),
header.scrolled .nav-trigger,
header.solid .nav-trigger{color:var(--slate);}
header.scrolled .nav-links > a:not(.btn):hover,
header.solid .nav-links > a:not(.btn):hover{color:var(--ink);}
.nav-links{display:flex;gap:12px;align-items:center;}

/* ---------- MEGA MENU ---------- */
.nav-item{position:relative;}
.nav-trigger{
  display:flex;align-items:center;gap:5px;
  cursor:pointer;background-color:transparent;border:none;
  font-family:'Bai Jamjuree',sans-serif;font-size:14px;
}
.nav-trigger .caret{font-size:9px;color:var(--brass-light);transition:transform .2s ease, color .3s ease;}
header.scrolled .nav-trigger .caret,
header.solid .nav-trigger .caret{color:var(--brass);}
.nav-item.has-mega:hover .nav-trigger,
.nav-item.has-mega:focus-within .nav-trigger,
.nav-item.mega-open .nav-trigger{color:var(--brass-light);}
header.scrolled .nav-item.has-mega:hover .nav-trigger,
header.scrolled .nav-item.has-mega:focus-within .nav-trigger,
header.scrolled .nav-item.mega-open .nav-trigger,
header.solid .nav-item.has-mega:hover .nav-trigger,
header.solid .nav-item.has-mega:focus-within .nav-trigger,
header.solid .nav-item.mega-open .nav-trigger{color:var(--brass-light);}
.nav-item.has-mega:hover .caret,
.nav-item.has-mega:focus-within .caret{transform:rotate(180deg);}
.mega-menu{
  position:absolute;
  top:calc(100% + 12px);
  left:50%;
  transform:translateX(-50%);
  width:max-content;
  max-width:min(760px,94vw);
  max-height:calc(100vh - 96px);
  overflow-y:auto;
  background:var(--ink);
  border:1px solid var(--ink-softer);
  border-radius:6px;
  box-shadow:0 34px 64px -26px rgba(14,45,38,0.55);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease, visibility .18s ease;
  z-index:101;
}
.nav-item.has-mega{position:static;}
/* Opened via JS (.mega-open) on desktop — a small close delay lets you move
   the pointer to a link without it vanishing. Focus-within keeps keyboard users open. */
.nav-item.mega-open .mega-menu,
.nav-item.has-mega:focus-within .mega-menu{
  opacity:1;visibility:visible;pointer-events:auto;
}
.mega-head{
  font-family:'IBM Plex Mono',monospace;
  font-size:11px;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--brass-light);
  padding:18px 26px 13px;
  border-bottom:1px solid var(--line-on-ink);
}
/* ---------- Mega menu: vertical rail + single-column panel (desktop, dark) ---------- */
.mega-layout{display:flex;align-items:stretch;}
.mega-rail{
  flex-shrink:0;
  border-right:1px solid var(--line-on-ink);
  padding:14px 12px;margin:0;list-style:none;
  display:flex;flex-direction:column;gap:2px;
}
.mega-tab{
  display:flex;align-items:center;gap:11px;
  width:100%;text-align:left;white-space:nowrap;
  padding:9px 12px;border:none;border-left:2px solid transparent;border-radius:0 4px 4px 0;
  background:none;cursor:pointer;
  font-family:'Bai Jamjuree',sans-serif;font-size:13.5px;font-weight:500;
  color:rgba(247,248,245,0.72);
  transition:all .14s ease;
}
.mega-tab:hover{background:rgba(247,248,245,0.05);color:var(--paper);}
.mega-tab[aria-selected="true"]{background:var(--ink-soft);color:var(--paper);border-left-color:var(--brass);font-weight:600;}
.mega-tab:focus-visible{outline:2px solid var(--brass);outline-offset:-2px;}
.mega-ico{width:19px;height:19px;flex-shrink:0;color:rgba(247,248,245,0.5);transition:color .15s ease;}
.mega-tab:hover .mega-ico,.mega-tab[aria-selected="true"] .mega-ico{color:var(--brass-light);}
.mega-tab-label{flex:1;line-height:1.2;}
.mega-tab-label small{display:block;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.06em;text-transform:uppercase;color:var(--brass-light);margin-top:3px;font-weight:400;}
.mega-chevron{display:block;margin-left:14px;color:rgba(247,248,245,0.3);font-size:15px;line-height:1;}
.mega-tab[aria-selected="true"] .mega-chevron{color:var(--brass-light);}
/* ECAA specialist prominence — persistent brass accent */
.mega-tab--ecaa{border-left-color:var(--brass);background:rgba(210,103,80,0.08);font-weight:600;}
.mega-tab--ecaa[aria-selected="true"]{background:var(--ink-soft);}
.mega-tab--ecaa .mega-ico{color:var(--brass-light);}

.mega-panelwrap{padding:16px 26px 18px;min-width:236px;}
.mega-panel{outline:none;}
.mega-panel[hidden]{display:none;}
.mega-panel-cols{display:block;}
/* Stacked sub-groups within a single panel (e.g. Family & Partner Visas) */
.mega-panel-cols--stack{display:flex;flex-direction:column;gap:6px;}
.mega-panel-cols--stack .mega-group h5{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.09em;text-transform:uppercase;color:var(--brass-light);font-weight:500;margin:0 0 6px;}
/* Click-to-expand sub-groups (native <details>) inside a stacked panel */
.mega-acc{border-bottom:1px solid var(--line-on-ink);padding-bottom:6px;}
.mega-acc:last-child{border-bottom:none;}
.mega-acc>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:7px 0 5px;}
.mega-acc>summary::-webkit-details-marker{display:none;}
.mega-acc>summary h5{margin:0;flex:1;}
.mega-acc>summary::after{content:'›';font-size:15px;line-height:1;color:rgba(247,248,245,0.4);transition:transform .16s ease;}
.mega-acc[open]>summary::after{transform:rotate(90deg);color:var(--brass-light);}
.mega-acc>summary:hover h5{color:var(--paper);}
.mega-acc>summary:focus-visible{outline:2px solid var(--brass);outline-offset:2px;border-radius:3px;}
.mega-acc>ul{padding:2px 0 6px;}
/* Author .mega-group ul{display:block} beats the UA closed-details rule, so hide explicitly */
.mega-acc:not([open])>ul{display:none;}
.mega-group{min-width:0;}
.mega-group h5{
  font-family:'Bai Jamjuree',sans-serif;
  font-size:15px;letter-spacing:0;text-transform:none;font-weight:600;
  color:var(--paper);margin:0 0 12px;
  display:flex;align-items:center;flex-wrap:wrap;gap:9px;
}
.mega-group ul{list-style:none;margin:0;padding:0 0 0 12px;display:block;}
.mega-group a{font-size:13.5px;color:rgba(247,248,245,0.82);line-height:1.3;display:block;padding:3.5px 0;white-space:nowrap;}
.mega-group a:hover{color:var(--paper);}
.mega-group a.mega-viewall{color:var(--brass-light);font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.04em;margin-top:7px;}
.mega-group--feature{background:none;border:none;border-radius:0;padding:0;}
.mega-flag{
  font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--ink);background:var(--brass-light);border-radius:999px;padding:3px 9px;font-weight:500;
}
.mega-back{display:none;}

/* Flat (rail-less) mega — single-column dropdown (Tools: no tabs).
   Positioned relative to its OWN trigger so the box centres under "Tools"
   (the wide Visas mega stays static/nav-centred). */
.nav-item.has-mega:has(> .mega-menu--flat){position:relative;}
.mega-menu--flat{max-width:min(340px,94vw);}
.mega-flat{padding:16px 26px 18px;min-width:230px;}

/* Bottom CTA (dark) */
.mega-cta{
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding:15px 26px;
  border-top:1px solid var(--line-on-ink);
}
.mega-cta-text{font-family:'Bai Jamjuree',sans-serif;font-weight:500;font-size:14px;color:rgba(247,248,245,0.9);}
.mega-cta-btns{display:flex;gap:10px;flex-wrap:wrap;}
.mega-cta .btn{padding:9px 16px;font-size:12px;}
.mega-cta .btn-contact{background:var(--brass-light);color:var(--ink);border-color:var(--brass-light);}
.mega-cta .btn-contact:hover{background:var(--paper);border-color:var(--paper);}
.mega-cta .btn-wa{background:transparent;color:var(--paper);border:1px solid #3ec87a;display:inline-flex;align-items:center;gap:8px;}
.mega-cta .btn-wa svg{width:15px;height:15px;color:#3ec87a;}
.mega-cta .btn-wa:hover{background:rgba(62,200,122,0.12);}
.link-inline{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--slate-light) !important;}
.link-inline:hover{color:var(--ink) !important;}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:4px;}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--paper);margin:5px 0;transition:background-color .3s ease;}
header.scrolled .menu-toggle span,
header.solid .menu-toggle span{background:var(--ink);}

/* Mobile-panel chrome injected by navigation.js (close bar, contact block,
   backdrop) — hidden on desktop; the <=860px media query re-shows them. */
.nav-close,
.nav-contact,
.nav-backdrop{display:none;}

/* ---------- LANGUAGE SWITCHER ---------- */
.lang-switch{position:relative;margin-right:6px;}
.lang-trigger{
  display:flex;align-items:center;gap:6px;
  background:none;border:none;cursor:pointer;
  font-family:'IBM Plex Mono',monospace;
  font-size:12.5px;letter-spacing:0.05em;
  color:var(--paper);
  padding:6px 2px;
  transition:color .3s ease;
}
header.scrolled .lang-trigger,
header.solid .lang-trigger{color:var(--slate);}
.lang-trigger svg{width:16px;height:16px;flex-shrink:0;}
.lang-trigger .caret{font-size:9px;color:var(--brass-light);transition:transform .2s ease, color .3s ease;}
header.scrolled .lang-trigger .caret,
header.solid .lang-trigger .caret{color:var(--brass);}
.lang-switch:hover .lang-trigger .caret,
.lang-switch:focus-within .lang-trigger .caret{transform:rotate(180deg);}
.lang-menu{
  position:absolute;top:100%;right:0;
  min-width:180px;
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:6px;
  box-shadow:0 24px 48px -22px rgba(14,45,38,0.4);
  padding:8px;
  opacity:0;visibility:hidden;pointer-events:none;
  transform:translateY(6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index:60;
}
.lang-switch:hover .lang-menu,
.lang-switch:focus-within .lang-menu{
  opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);
}
.lang-option{
  display:block;
  padding:8px 11px;
  border-radius:4px;
  font-size:13.5px;
  color:var(--slate) !important;
}
.lang-option:hover{background:var(--paper-dim);color:var(--ink) !important;}
.lang-option.active{color:var(--brass) !important;font-weight:600;}

/* ---------- TRUST BAR ---------- */
.trust-bar{
  border-bottom:1px solid var(--line);
  background:var(--paper-dim);
}
.trust-bar ul{
  list-style:none;
  margin:0;padding:0;
  display:flex;
  max-width:var(--maxw);
  margin:0 auto;
}
.trust-bar li{
  flex:1;
  text-align:center;
  padding:18px 12px;
  font-family:'IBM Plex Mono',monospace;
  font-size:12.5px;
  letter-spacing:0.04em;
  color:var(--ink);
  border-left:1px dashed var(--line);
}
.trust-bar li:first-child{border-left:none;}

/* ---------- SECTION GENERIC ---------- */
section{padding:56px 0;}
.section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:40px;
  margin-bottom:32px;
}
.section-head h2{font-size:clamp(28px,3.4vw,40px);max-width:16ch;}
.section-head p{color:var(--slate-light);max-width:38ch;font-size:15px;}

/* ---------- INFO BOX (note / warning) ---------- */
.info-box{
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding:20px 22px;
  border-radius:6px;
  margin-bottom:40px;
  max-width:860px;
}
.info-box svg{width:22px;height:22px;flex-shrink:0;margin-top:1px;}
.info-box p{margin:0;font-size:13.5px;line-height:1.6;color:var(--slate);}
.info-box-note{background:var(--paper-dim);border:1px solid var(--line);}
.info-box-note svg{color:var(--brass);}
.info-box-warning{background:#FBEAE3;border:1px solid #E7B5A0;}
.info-box-warning svg{color:var(--brass-dark);}

/* ---------- FINAL / SECTION CTA ---------- */
.final-cta{
  background:var(--ink);
  color:var(--paper);
  padding:60px 0;
  text-align:center;
  position:relative;
}
.final-cta h2{color:var(--paper);font-size:clamp(28px,4vw,44px);max-width:20ch;margin:0 auto 16px;}
.final-cta p{color:rgba(247,248,245,0.65);max-width:44ch;margin:0 auto 34px;font-size:15.5px;}
.final-cta .ctas{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
.final-cta .stamp{margin:0 auto 30px;}

/* ---------- FOOTER ---------- */
footer{background:radial-gradient(120% 90% at 50% 0%, var(--ink-soft) 0%, var(--ink) 40%, var(--ink-deep) 85%);color:rgba(247,248,245,0.75);padding:48px 0 0;}
.footer-grid{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;
  gap:40px;
  padding-bottom:56px;
  border-bottom:1px solid rgba(247,248,245,0.12);
}
.footer-grid h2{
  font-family:'IBM Plex Mono',monospace;
  font-size:11.5px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--brass-light);
  margin:0 0 18px;
}
.footer-grid ul{list-style:none;margin:0;padding:0;display:grid;gap:11px;}
.footer-grid a{font-size:14px;color:rgba(247,248,245,0.75);}
.footer-grid a:hover{color:var(--paper);}
.footer-logo{
  display:flex;align-items:center;gap:12px;
  font-family:'Bai Jamjuree',sans-serif;font-weight:600;font-size:19px;color:var(--paper);
  margin-bottom:14px;
}
.footer-about p{font-size:13.5px;color:rgba(247,248,245,0.55);max-width:34ch;margin:0;}
.social-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:16px;
  padding:26px 0;
  border-top:1px solid rgba(247,248,245,0.12);
}
.social-label{
  font-family:'IBM Plex Mono',monospace;
  font-size:11.5px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:rgba(247,248,245,0.5);
}
.social-icons{display:flex;gap:12px;}
.social-icons a{
  width:38px;height:38px;
  border:1px solid rgba(247,248,245,0.18);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:rgba(247,248,245,0.75);
  transition:background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}
.social-icons a svg{width:17px;height:17px;}
.social-icons a:hover{
  background:var(--brass);
  border-color:var(--brass);
  color:var(--ink);
  transform:translateY(-2px);
}
.footer-bottom{
  padding:28px 0 34px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
  font-family:'IBM Plex Mono',monospace;
  font-size:11.5px;
  color:rgba(247,248,245,0.4);
}
.footer-bottom .legal-links{display:flex;gap:20px;flex-wrap:wrap;}
.footer-bottom a{color:rgba(247,248,245,0.4);}
.footer-bottom a:hover{color:var(--paper);}

/* ---------- BACK TO TOP ---------- */
.back-to-top{
  position:fixed;
  right:24px;bottom:24px;
  width:46px;height:46px;
  border-radius:50%;
  background:var(--ink);
  border:1px solid var(--ink-soft);
  color:var(--paper);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  box-shadow:0 14px 30px -12px rgba(14,45,38,0.5);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .25s ease, transform .25s ease, visibility .25s ease, background-color .18s ease;
  z-index:80;
}
.back-to-top svg{width:19px;height:19px;}
.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0);}
.back-to-top:hover{background:var(--brass);border-color:var(--brass);}
