/* ==========================================================================
   GAV Group of Companies OY — frontend stylesheet
   Brand system derived from the GAV navy, gold, grey and white logo.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Design tokens
   -------------------------------------------------------------------------- */
:root{
  /* Ink ramp */
  --ink:#061c42;
  --ink-2:#0b2b5b;
  --ink-3:#19385f;
  --ink-4:#52647c;
  --muted:#6e7784;
  --muted-2:#8c949e;

  /* Surfaces */
  --white:#fff;
  --paper:#f8fafc;
  --paper-2:#f0f3f7;
  --paper-3:#e5e9ef;
  --line:#dce2e9;
  --line-2:#e9edf2;
  --line-3:#f5f7fa;

  /* Accent */
  --copper:#b98224;
  --copper-2:#966617;
  --copper-3:#d0a148;
  --copper-soft:#fbf4e6;
  --gold:#e1b65e;

  /* Type */
  --font-display:"Fraunces",Georgia,"Times New Roman",serif;
  --font-body:system-ui,-apple-system,"Segoe UI",sans-serif;

  --fs-xs:.735rem;
  --fs-sm:.845rem;
  --fs-base:1rem;
  --fs-md:1.075rem;
  --fs-lg:clamp(1.12rem,.4vw + 1rem,1.28rem);
  --fs-h4:clamp(1.08rem,.5vw + .95rem,1.22rem);
  --fs-h3:clamp(1.28rem,1.3vw + .95rem,1.68rem);
  --fs-h2:clamp(1.95rem,3.1vw + .7rem,3.05rem);
  --fs-h1:clamp(2.45rem,4.6vw + .9rem,4.25rem);

  --tracking-label:.2em;

  /* Space */
  --sp-1:4px;  --sp-2:8px;  --sp-3:12px; --sp-4:16px;
  --sp-5:24px; --sp-6:32px; --sp-7:44px; --sp-8:60px;
  --sp-9:80px; --sp-10:104px;
  --sec-y:clamp(64px,7vw,108px);

  /* Structure */
  --wrap:1260px;
  --gutter:clamp(20px,4vw,32px);
  --r:4px;
  --r-lg:8px;

  /* Elevation */
  --sh-1:0 1px 2px rgba(12,18,25,.04),0 2px 8px -4px rgba(12,18,25,.06);
  --sh-2:0 4px 12px -6px rgba(12,18,25,.12),0 12px 32px -18px rgba(12,18,25,.18);
  --sh-3:0 18px 44px -22px rgba(12,18,25,.3),0 4px 12px -6px rgba(12,18,25,.08);
  --sh-4:0 32px 72px -36px rgba(12,18,25,.45);

  /* Motion */
  --t:.3s cubic-bezier(.32,.72,0,1);
  --t-fast:.18s cubic-bezier(.32,.72,0,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}

/* --------------------------------------------------------------------------
   2. Base
   -------------------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:120px;
}

body{
  margin:0;
  font-family:var(--font-body);
  font-size:16.5px;
  line-height:1.72;
  color:var(--ink-3);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-feature-settings:"kern" 1,"liga" 1;
  overflow-x:hidden;
}

img,svg{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;color:inherit}
ul{margin:0;padding:0;list-style:none}
p{margin:0}

h1,h2,h3,h4{
  font-family:var(--font-display);
  color:var(--ink);
  font-weight:400;
  letter-spacing:-.018em;
  line-height:1.12;
  margin:0;
  text-wrap:balance;
}

::selection{background:var(--copper);color:#fff}

:focus-visible{
  outline:2px solid var(--copper);
  outline-offset:3px;
  border-radius:2px;
}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}

.skip-link{position:absolute;left:-9999px}
.skip-link:focus{
  left:12px;top:12px;z-index:999;background:var(--ink);color:#fff;
  padding:12px 20px;border-radius:var(--r);
}

.ico{width:20px;height:20px;flex:none}
.ico--xs{width:14px;height:14px}
.ico--sm{width:17px;height:17px}
.ico--lg{width:26px;height:26px}

/* --------------------------------------------------------------------------
   3. Typography helpers
   -------------------------------------------------------------------------- */
.h1{font-size:var(--fs-h1)}
.h2{font-size:var(--fs-h2)}
.h3{font-size:var(--fs-h3)}
.h4{font-size:var(--fs-h4)}

.lead{
  font-size:var(--fs-lg);line-height:1.66;color:var(--ink-4);
  max-width:60ch;margin:0;text-wrap:pretty;
}
.lead--light{color:rgba(255,255,255,.7)}

.eyebrow{
  display:flex;align-items:center;gap:var(--sp-3);
  font-size:var(--fs-xs);letter-spacing:var(--tracking-label);
  text-transform:uppercase;font-weight:600;
  color:var(--copper);margin:0 0 var(--sp-5);
}
.eyebrow::before{content:"";width:24px;height:1px;background:currentColor;flex:none}
.eyebrow[data-num]::before{
  content:attr(data-num);width:auto;height:auto;background:none;
  font-variant-numeric:tabular-nums;opacity:.55;letter-spacing:.08em;
}
.eyebrow--light{color:var(--gold)}
.eyebrow--center{justify-content:center}

.rule{width:100%;height:1px;background:var(--line);border:0;margin:0}

/* --------------------------------------------------------------------------
   4. Buttons & links
   -------------------------------------------------------------------------- */
.btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 30px;border-radius:var(--r);
  font-size:var(--fs-sm);font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid transparent;transition:var(--t);white-space:nowrap;
  isolation:isolate;overflow:hidden;
}
.btn::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:currentColor;opacity:0;transition:opacity var(--t);
}
.btn--sm{padding:11px 20px;font-size:var(--fs-xs)}
.btn--lg{padding:19px 38px}

.btn--solid{background:var(--ink);color:#fff;box-shadow:var(--sh-1)}
.btn--solid:hover{background:var(--copper);box-shadow:var(--sh-2);transform:translateY(-1px)}

.btn--gold{background:var(--copper);color:#fff;box-shadow:var(--sh-1)}
.btn--gold:hover{background:var(--copper-2);box-shadow:var(--sh-2);transform:translateY(-1px)}

.btn--ghost{border-color:var(--line);color:var(--ink);background:var(--white)}
.btn--ghost:hover{border-color:var(--ink);background:var(--ink);color:#fff;transform:translateY(-1px)}

.btn--ghost-light{border-color:rgba(255,255,255,.28);color:#fff;backdrop-filter:blur(6px)}
.btn--ghost-light:hover{background:#fff;color:var(--ink);border-color:#fff;transform:translateY(-1px)}

.btn:active{transform:translateY(0)}

.link-arrow{
  display:inline-flex;align-items:center;gap:9px;
  font-size:var(--fs-xs);font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--copper);transition:color var(--t);
}
.link-arrow .ico{transition:transform var(--t)}
.link-arrow:hover{color:var(--copper-2)}
.link-arrow:hover .ico{transform:translateX(5px)}

/* --------------------------------------------------------------------------
   5. Scroll progress
   -------------------------------------------------------------------------- */
.progress{
  position:fixed;top:0;left:0;right:0;height:2px;z-index:100;
  transform-origin:0 50%;transform:scaleX(0);
  background:linear-gradient(90deg,var(--copper),var(--gold));
  pointer-events:none;
}
@supports ((animation-timeline:scroll()) and (animation-range:0% 100%)){
  @media (prefers-reduced-motion:no-preference){
    @keyframes progress-grow{to{transform:scaleX(1)}}
    .progress{
      animation:progress-grow auto linear both;
      animation-timeline:scroll(block root);
    }
  }
}

/* --------------------------------------------------------------------------
   6. Topbar
   -------------------------------------------------------------------------- */
.topbar{
  background:var(--ink);color:rgba(255,255,255,.6);
  font-size:var(--fs-xs);letter-spacing:.01em;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.topbar__inner{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-5);height:44px}
.topbar__contact{display:flex;gap:var(--sp-6);align-items:center;flex-wrap:wrap}
.topbar__contact a,.topbar__loc{display:inline-flex;align-items:center;gap:7px;transition:color var(--t)}
.topbar__contact a:hover{color:#fff}
.topbar__contact .ico,.topbar__loc .ico{color:var(--copper-3)}
.topbar__badge{
  display:inline-flex;align-items:center;gap:8px;color:var(--gold);
  letter-spacing:.08em;font-weight:500;
}

/* --------------------------------------------------------------------------
   7. Masthead
   -------------------------------------------------------------------------- */
.masthead{
  position:sticky;top:0;z-index:60;
  /* Keep the glass subtle: heavy saturation smears the hero's copper glow
     into a visible patch behind the wordmark. */
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line-2);
  transition:box-shadow var(--t),border-color var(--t);
}
@supports not (backdrop-filter:blur(4px)){ .masthead{background:#fff} }
.masthead.is-stuck{box-shadow:0 1px 0 var(--line-2),0 12px 30px -24px rgba(12,18,25,.5)}

.masthead__inner{
  display:flex;align-items:center;gap:var(--sp-5);
  height:86px;transition:height var(--t);
}
.masthead.is-stuck .masthead__inner{height:70px}

.brand{display:flex;align-items:center;gap:13px;flex:none}
.brand__img{object-fit:contain;transition:width var(--t),height var(--t)}
.masthead .brand__img{width:236px;height:46px;object-position:left center;background:transparent;border-radius:0}
.masthead.is-stuck .brand__img{width:210px;height:40px}
.brand__mark{
  width:46px;height:46px;flex:none;display:grid;place-items:center;
  background:var(--ink);color:#fff;border-radius:var(--r);
  font-family:var(--font-display);font-size:.9rem;letter-spacing:.04em;
  transition:width var(--t),height var(--t),background var(--t);
}
.brand:hover .brand__mark{background:var(--copper)}
.masthead.is-stuck .brand__mark{width:40px;height:40px}
.brand__text{display:flex;flex-direction:column;line-height:1.16}
.brand__text strong{
  font-family:var(--font-display);font-size:1.22rem;color:var(--ink);
  font-weight:500;letter-spacing:-.015em;
}
.brand__text em{
  font-style:normal;font-size:.63rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--muted-2);
}

.nav{margin-left:auto}
.nav__list{display:flex;align-items:center;gap:2px}
.nav__item{position:relative}
.nav__link{
  position:relative;display:flex;align-items:center;gap:7px;
  padding:11px 15px;background:none;border:0;border-radius:var(--r);
  font-size:var(--fs-sm);font-weight:500;letter-spacing:.005em;
  color:var(--ink-3);transition:color var(--t-fast);
}
.nav__link::after{
  content:"";position:absolute;left:15px;right:15px;bottom:4px;height:1.5px;
  background:var(--copper);transform:scaleX(0);transform-origin:0 50%;
  transition:transform var(--t);
}
.nav__link:hover{color:var(--copper)}
.nav__link:hover::after,.nav__link.is-active::after{transform:scaleX(1)}
.nav__link.is-active{color:var(--copper)}

.caret{
  width:6px;height:6px;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  rotate:45deg;translate:0 -2px;transition:rotate var(--t);opacity:.6;
}
.nav__item.is-open .caret{rotate:-135deg;translate:0 1px}

.megamenu{
  position:absolute;top:calc(100% + 12px);left:50%;
  translate:-50% 8px;
  width:min(560px,90vw);
  background:var(--white);border:1px solid var(--line-2);border-radius:var(--r-lg);
  box-shadow:var(--sh-4);padding:var(--sp-5);
  opacity:0;visibility:hidden;
  transition:opacity var(--t),translate var(--t),visibility var(--t);
}
.megamenu--wide{width:min(820px,94vw)}
.nav__item.is-open .megamenu{opacity:1;visibility:visible;translate:-50% 0}

.megamenu__grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.megamenu__grid--3{grid-template-columns:repeat(3,1fr)}
.megamenu__grid a{
  position:relative;display:flex;flex-direction:column;gap:3px;
  padding:14px 15px;border-radius:var(--r);transition:background var(--t);
}
.megamenu__grid a::before{
  content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;
  background:var(--copper);border-radius:2px;
  transform:scaleY(0);transform-origin:50% 0;transition:transform var(--t);
}
.megamenu__grid a:hover{background:var(--paper-2)}
.megamenu__grid a:hover::before{transform:scaleY(1)}
.megamenu__grid strong{font-size:.93rem;color:var(--ink);font-weight:600}
.megamenu__grid span{font-size:var(--fs-xs);color:var(--muted);line-height:1.5}
.megamenu__ico{color:var(--copper);margin-bottom:5px}
.megamenu__foot{
  display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);
  margin-top:var(--sp-4);padding-top:var(--sp-4);
  border-top:1px solid var(--line-2);font-size:var(--fs-xs);color:var(--muted);
}

.masthead__actions{display:flex;align-items:center;gap:var(--sp-3);flex:none}
.burger{
  position:relative;z-index:3;display:none;flex-direction:column;gap:5px;background:none;border:0;padding:9px;
  border-radius:var(--r);
}
.burger span{
  width:22px;height:1.6px;background:var(--ink);border-radius:2px;
  transition:transform var(--t),opacity var(--t-fast);
}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.6px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}

/* --------------------------------------------------------------------------
   8. Hero
   -------------------------------------------------------------------------- */
.hero{position:relative;background:var(--ink);color:#fff;overflow:hidden;isolation:isolate}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background-image:
    linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:76px 76px;
  mask-image:radial-gradient(120% 100% at 20% 0%,#000 25%,transparent 78%);
}
.hero::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(58% 62% at 86% 8%,rgba(169,116,53,.42),transparent 62%),
    radial-gradient(46% 52% at 4% 96%,rgba(43,64,86,.5),transparent 66%);
}
.hero__inner{
  display:grid;grid-template-columns:1.12fr .88fr;
  gap:clamp(36px,5vw,72px);align-items:center;
  padding:clamp(72px,8vw,112px) 0 clamp(64px,7vw,96px);
}
.hero__title{font-size:var(--fs-h1);color:#fff;margin:0 0 var(--sp-5);letter-spacing:-.028em}
.hero__title em{font-style:italic;color:var(--gold);margin-right:.14em}
.hero__sub{
  font-size:var(--fs-lg);color:rgba(255,255,255,.68);
  max-width:54ch;margin:0 0 var(--sp-7);text-wrap:pretty;
}
.hero__actions{display:flex;gap:var(--sp-3);flex-wrap:wrap}

/* Capability panel — shows what the group actually does */
.hero__panel{
  border:1px solid rgba(255,255,255,.13);border-radius:var(--r-lg);
  background:rgba(255,255,255,.04);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:var(--sh-4);overflow:hidden;
}
.hero__panel-head{
  display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);
  padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1);
  font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.5);font-weight:600;
}
.hero__panel-head .ico{color:var(--copper-3)}

.hero__caps{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.09)}
.hero__cap{
  position:relative;display:flex;align-items:center;gap:12px;
  padding:15px 18px;background:rgba(12,18,25,.55);
  transition:background var(--t);isolation:isolate;
}
.hero__cap::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(120deg,rgba(169,116,53,.4),transparent 70%);
  opacity:0;transition:opacity var(--t);
}
.hero__cap:hover{background:rgba(12,18,25,.2)}
.hero__cap:hover::before{opacity:1}
.hero__cap .ico{color:var(--copper-3);transition:transform var(--t)}
.hero__cap:hover .ico{transform:translateY(-2px)}
.hero__cap b{
  display:block;font-size:.87rem;color:#fff;font-weight:600;
  letter-spacing:-.008em;line-height:1.3;
}
.hero__cap em{
  display:block;font-style:normal;font-size:.66rem;letter-spacing:.13em;
  text-transform:uppercase;color:rgba(255,255,255,.42);margin-top:2px;
}
.hero__panel-foot{
  display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);
  padding:14px 20px;border-top:1px solid rgba(255,255,255,.1);
  font-size:var(--fs-xs);color:rgba(255,255,255,.44);
}
.hero__panel-foot .link-arrow{color:var(--copper-3)}
.hero__panel-foot .link-arrow:hover{color:#fff}

/* Three pillars — who we are, in plain terms */
.hero__pillars{
  position:relative;display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(20px,3vw,44px);
  padding:var(--sp-6) 0 var(--sp-7);
  border-top:1px solid rgba(255,255,255,.1);
}
.hero__pillar{display:flex;gap:14px;align-items:flex-start}
.hero__pillar .ico{color:var(--copper-3);margin-top:3px;flex:none}
.hero__pillar b{
  display:block;color:#fff;font-size:.95rem;font-weight:600;
  letter-spacing:-.008em;margin-bottom:3px;
}
.hero__pillar span{
  display:block;font-size:var(--fs-sm);color:rgba(255,255,255,.55);
  line-height:1.6;text-wrap:pretty;
}

/* Division ticker ---------------------------------------------------------- */
.ticker{
  background:var(--ink-2);border-top:1px solid rgba(255,255,255,.07);
  padding:var(--sp-5) 0;overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.ticker__track{display:flex;gap:var(--sp-8);width:max-content}
.ticker__item{
  display:inline-flex;align-items:center;gap:11px;
  font-size:var(--fs-sm);letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.42);white-space:nowrap;
}
.ticker__item .ico{color:var(--copper-3)}
@media (prefers-reduced-motion:no-preference){
  @keyframes ticker-run{to{transform:translateX(-50%)}}
  .ticker__track{animation:ticker-run 42s linear infinite}
  .ticker:hover .ticker__track{animation-play-state:paused}
}

/* --------------------------------------------------------------------------
   9. Page hero
   -------------------------------------------------------------------------- */
.phero{
  position:relative;background:var(--ink);color:#fff;overflow:hidden;isolation:isolate;
  padding:clamp(56px,6vw,86px) 0 clamp(52px,5.5vw,78px);
}
.phero::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background-image:
    linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(110% 100% at 15% 0%,#000 20%,transparent 75%);
}
.phero::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(60% 110% at 96% 0%,rgba(169,116,53,.34),transparent 62%);
}
.phero__inner{max-width:900px}
.phero h1{color:#fff;font-size:clamp(2.1rem,3.6vw + .6rem,3.5rem);margin:0 0 var(--sp-4);letter-spacing:-.026em}
.phero p{color:rgba(255,255,255,.68);font-size:var(--fs-lg);max-width:62ch;margin:0;text-wrap:pretty}

.crumbs{
  display:flex;gap:9px;flex-wrap:wrap;align-items:center;
  font-size:var(--fs-xs);letter-spacing:.11em;text-transform:uppercase;
  color:rgba(255,255,255,.4);margin-bottom:var(--sp-5);
}
.crumbs a{transition:color var(--t)}
.crumbs a:hover{color:var(--gold)}
.crumbs span::before{content:"/";margin-right:9px;opacity:.4}

/* --------------------------------------------------------------------------
   10. Sections
   -------------------------------------------------------------------------- */
.sec{padding:var(--sec-y) 0}
.sec--tight{padding:clamp(48px,5vw,72px) 0}
.sec--paper{background:var(--paper)}
.sec--ink{background:var(--ink);color:rgba(255,255,255,.68)}
.sec--ink h2,.sec--ink h3{color:#fff}

.sec__head{max-width:740px;margin-bottom:var(--sp-8)}
.sec__head--center{margin-inline:auto;text-align:center}
.sec__head--center .eyebrow{justify-content:center}
.sec__head--center .lead{margin-inline:auto}
.sec__head .h2{margin-bottom:var(--sp-4)}
.sec__head--split{
  display:flex;justify-content:space-between;align-items:flex-end;
  gap:var(--sp-7);max-width:none;
}

/* --------------------------------------------------------------------------
   11. Division cards
   -------------------------------------------------------------------------- */
.dgrid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;
}
.dcard{
  position:relative;background:var(--white);
  padding:clamp(24px,2.4vw,32px);
  display:flex;flex-direction:column;min-height:288px;
  transition:background var(--t),transform var(--t);isolation:isolate;
}
.dcard::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(165deg,var(--copper-soft),transparent 62%);
  opacity:0;transition:opacity var(--t);
}
.dcard::after{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--copper),var(--gold));
  transform:scaleX(0);transform-origin:0 50%;transition:transform var(--t);
}
.dcard:hover::before,.dcard:hover::after{opacity:1;transform:scaleX(1)}
.dcard:hover{background:var(--white)}

.dcard__ico{
  display:grid;place-items:center;width:52px;height:52px;
  border:1px solid var(--line);border-radius:var(--r);
  color:var(--copper);background:var(--paper);
  margin-bottom:var(--sp-5);
  transition:background var(--t),border-color var(--t),color var(--t),transform var(--t);
}
.dcard:hover .dcard__ico{
  background:var(--copper);border-color:var(--copper);color:#fff;
  transform:translateY(-2px);
}

.dcard h3{font-size:var(--fs-h4);margin-bottom:var(--sp-2);letter-spacing:-.012em}
.dcard p{font-size:var(--fs-sm);color:var(--muted);margin:0 0 var(--sp-5);line-height:1.65}

.dcard__foot{
  margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;
  gap:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--line-2);
}
.dcard__stat{
  font-family:var(--font-display);font-size:1.2rem;color:var(--ink);
  font-variant-numeric:tabular-nums;line-height:1.1;
}
.dcard__stat small{
  display:block;font-family:var(--font-body);font-size:var(--fs-xs);
  letter-spacing:.11em;text-transform:uppercase;color:var(--muted);
  margin-top:4px;font-variant-numeric:normal;
}
.dcard__foot .ico{color:var(--copper);transition:transform var(--t);margin-bottom:4px}
.dcard:hover .dcard__foot .ico{transform:translateX(5px)}

/* --------------------------------------------------------------------------
   12. Group structure
   -------------------------------------------------------------------------- */
.structure{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);
  border-radius:var(--r-lg);overflow:hidden;margin-top:var(--sp-7);
}
.structure__node{
  background:var(--white);padding:var(--sp-5) clamp(18px,2vw,24px);
  display:flex;align-items:center;gap:13px;transition:background var(--t);
  position:relative;
}
.structure__node::after{
  content:"";position:absolute;left:0;top:0;bottom:0;width:2px;
  background:var(--copper);transform:scaleY(0);transform-origin:50% 0;
  transition:transform var(--t);
}
.structure__node:hover{background:var(--copper-soft)}
.structure__node:hover::after{transform:scaleY(1)}

.structure__node--parent{
  grid-column:1/-1;background:var(--ink);color:#fff;
  padding:clamp(24px,2.6vw,34px) clamp(20px,2.4vw,28px);
  position:relative;overflow:hidden;
}
.structure__node--parent::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(60% 160% at 88% 50%,rgba(169,116,53,.34),transparent 62%);
}
.structure__node--parent:hover{background:var(--ink)}
.structure__node--parent:hover::after{transform:scaleY(0)}
.structure__node--parent > *{position:relative}
.structure__node--parent strong{
  font-family:var(--font-display);font-size:clamp(1.3rem,2vw,1.6rem);
  font-weight:400;letter-spacing:-.02em;
}
.structure__node--parent span{
  display:block;margin-top:4px;color:rgba(255,255,255,.48);
  font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;
}
.structure__node .ico{color:var(--copper);flex:none}
.structure__node b{display:block;font-size:.94rem;color:var(--ink);font-weight:600}
.structure__node em{
  font-style:normal;font-size:var(--fs-xs);letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);
}

/* --------------------------------------------------------------------------
   13. Split feature
   -------------------------------------------------------------------------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,72px);align-items:center}
.split--rev .split__media{order:2}
.split__media{position:relative}
.split__media img{
  width:100%;aspect-ratio:4/3;object-fit:cover;
  border-radius:var(--r-lg);box-shadow:var(--sh-3);
}
.split__badge{
  position:absolute;right:-16px;bottom:-16px;
  background:var(--copper);color:#fff;padding:var(--sp-5) var(--sp-6);
  border-radius:var(--r-lg);max-width:250px;box-shadow:var(--sh-3);
}
.split__badge b{display:block;font-family:var(--font-display);font-size:1.28rem;margin-bottom:4px;font-weight:400}
.split__badge span{font-size:var(--fs-sm);opacity:.88;line-height:1.55}

/* Prose -------------------------------------------------------------------- */
.prose p{margin:0 0 var(--sp-4);text-wrap:pretty}
.prose p:last-child{margin-bottom:0}
.prose h3{
  margin:var(--sp-7) 0 var(--sp-3);font-size:var(--fs-xs);
  letter-spacing:var(--tracking-label);text-transform:uppercase;
  font-family:var(--font-body);font-weight:600;color:var(--copper);
}
.prose h3:first-child{margin-top:0}
.prose ul{margin:0 0 var(--sp-4)}
.prose li{position:relative;padding-left:26px;margin-bottom:9px}
.prose li::before{content:"";position:absolute;left:0;top:13px;width:13px;height:1px;background:var(--copper)}

/* Checklist ---------------------------------------------------------------- */
.checks{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3) var(--sp-6);margin:var(--sp-6) 0 var(--sp-7)}
.checks li{display:flex;gap:11px;align-items:flex-start;font-size:.94rem}
.checks .ico{
  color:var(--copper);margin-top:3px;width:16px;height:16px;flex:none;
  padding:0;
}

/* --------------------------------------------------------------------------
   14. Stats band
   -------------------------------------------------------------------------- */
.stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);
  border-radius:var(--r-lg);overflow:hidden;
}
.stats__item{
  background:var(--ink);padding:clamp(28px,3.4vw,44px) var(--sp-5);
  text-align:center;transition:background var(--t);
}
.stats__item:hover{background:var(--ink-2)}
.stats__item b{
  display:block;font-family:var(--font-display);
  font-size:clamp(2rem,3.4vw,2.95rem);color:#fff;font-weight:400;line-height:1;
  font-variant-numeric:tabular-nums;letter-spacing:-.024em;
}
.stats__item span{
  display:block;margin-top:var(--sp-3);font-size:var(--fs-xs);
  letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.45);
}

/* --------------------------------------------------------------------------
   15. Quote block
   -------------------------------------------------------------------------- */
.quote{
  position:relative;max-width:900px;margin-inline:auto;text-align:center;
  padding:0 clamp(0px,3vw,40px);
}
.quote .ico{
  width:34px;height:34px;color:var(--copper);opacity:.45;
  margin:0 auto var(--sp-5);
}
.quote blockquote{
  margin:0;font-family:var(--font-display);font-weight:400;
  font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.34;
  color:var(--ink);letter-spacing:-.018em;text-wrap:balance;
}
.sec--ink .quote blockquote{color:#fff}
.quote figcaption{
  margin-top:var(--sp-5);font-size:var(--fs-xs);
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
}
.sec--ink .quote figcaption{color:rgba(255,255,255,.45)}

/* --------------------------------------------------------------------------
   16. Presence
   -------------------------------------------------------------------------- */
.presence{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,64px);align-items:start}
.locs{
  display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:var(--line);border:1px solid var(--line);
  border-radius:var(--r-lg);overflow:hidden;
}
.loc{
  background:var(--white);padding:var(--sp-5);
  display:flex;gap:13px;align-items:flex-start;transition:background var(--t);
}
.loc:hover{background:var(--paper)}
.loc__code{
  width:42px;height:42px;flex:none;display:grid;place-items:center;
  border:1px solid var(--line);border-radius:var(--r);
  font-size:var(--fs-xs);font-weight:700;letter-spacing:.07em;
  color:var(--copper);background:var(--paper);transition:var(--t);
}
.loc:hover .loc__code{background:var(--copper);border-color:var(--copper);color:#fff}
.loc b{display:block;color:var(--ink);font-size:.95rem}
.loc span{font-size:var(--fs-sm);color:var(--muted);line-height:1.5}
.loc__hq{
  display:inline-block;margin-top:6px;font-size:.62rem;letter-spacing:.14em;
  text-transform:uppercase;color:#fff;background:var(--copper);
  /* extra right padding compensates for the trailing letter-space */
  padding:4px 9px 4px 11px;border-radius:20px;font-weight:600;line-height:1.5;
}

/* --------------------------------------------------------------------------
   17. News cards
   -------------------------------------------------------------------------- */
.ngrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.6vw,32px)}
.ncard{
  display:flex;flex-direction:column;background:var(--white);
  border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
  transition:transform var(--t),box-shadow var(--t),border-color var(--t);
}
.ncard:hover{transform:translateY(-4px);box-shadow:var(--sh-3);border-color:var(--line-2)}
.ncard__media{
  aspect-ratio:16/10;overflow:hidden;position:relative;display:grid;place-items:center;
  background:linear-gradient(150deg,var(--ink),var(--ink-2));
}
.ncard__media::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(70% 80% at 76% 20%,rgba(169,116,53,.34),transparent 64%);
}
.ncard__media:has(img)::after{display:none}
.ncard__media img{width:100%;height:100%;object-fit:cover;transition:scale var(--t)}
.ncard:hover .ncard__media img{scale:1.05}
.ncard__body{padding:clamp(20px,2.2vw,28px);display:flex;flex-direction:column;flex:1}
.ncard__meta{
  display:flex;gap:13px;align-items:center;font-size:var(--fs-xs);
  letter-spacing:.11em;text-transform:uppercase;color:var(--muted);
  margin-bottom:var(--sp-3);
}
.ncard__meta b{color:var(--copper);font-weight:600}
.ncard h3{font-size:var(--fs-h4);margin-bottom:var(--sp-3);line-height:1.3;letter-spacing:-.012em}
.ncard p{font-size:var(--fs-sm);color:var(--muted);margin:0 0 var(--sp-5);line-height:1.62}
.ncard .link-arrow{margin-top:auto}

/* --------------------------------------------------------------------------
   18. Team
   -------------------------------------------------------------------------- */
.team{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);
  border-radius:var(--r-lg);overflow:hidden;
}
.member{background:var(--white);padding:clamp(24px,2.6vw,34px);transition:background var(--t)}
.member:hover{background:var(--paper)}
.member__avatar{
  width:100%;height:auto;aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;
  background:var(--ink);color:var(--gold);display:grid;place-items:center;
  font-family:var(--font-display);font-size:1.18rem;
  margin-bottom:var(--sp-5);transition:background var(--t);
}
.member:hover .member__avatar{background:var(--copper);color:#fff}
.member__avatar img{width:100%;height:100%;object-fit:cover}
.member h3{font-size:var(--fs-h4);margin-bottom:4px}
.member__role{
  font-size:var(--fs-xs);letter-spacing:.13em;text-transform:uppercase;
  color:var(--copper);margin:0 0 var(--sp-3);font-weight:600;
}
.member p{font-size:var(--fs-sm);color:var(--muted);margin:0;line-height:1.62}

/* --------------------------------------------------------------------------
   19. Forms
   -------------------------------------------------------------------------- */
.formcard{
  background:var(--white);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:clamp(24px,3vw,42px);box-shadow:var(--sh-1);
}
.contact-layout{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:56px;align-items:start}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5)}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:var(--sp-5)}
.field--full{grid-column:1/-1}
.field label{
  font-size:var(--fs-xs);letter-spacing:.11em;text-transform:uppercase;
  font-weight:600;color:var(--ink-3);
}
.field input,.field select,.field textarea{
  width:100%;padding:14px 16px;
  border:1px solid var(--line);border-radius:var(--r);
  font:inherit;font-size:.95rem;color:var(--ink);
  background:var(--paper);transition:var(--t);
}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--line)}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:0;border-color:var(--copper);background:var(--white);
  box-shadow:0 0 0 3px rgba(169,116,53,.12);
}
.field textarea{min-height:150px;resize:vertical;line-height:1.65}
.field small{font-size:var(--fs-xs);color:var(--muted)}
.field:has(input:required) label::after,
.field:has(textarea:required) label::after{content:" *";color:var(--copper)}

.alert{
  padding:15px 18px;border-radius:var(--r);margin-bottom:var(--sp-5);
  font-size:.93rem;border:1px solid;
}
.alert--ok{background:#eef6f0;border-color:#c4dfcd;color:#1d6b46}
.alert--bad{background:#fdeeec;border-color:#f2ccc7;color:#a5342c}

.infocard{
  border:1px solid var(--line);border-radius:var(--r-lg);
  padding:var(--sp-6);background:var(--paper);margin-bottom:var(--sp-4);
  transition:border-color var(--t),box-shadow var(--t);
}
.infocard:hover{border-color:var(--line-2);box-shadow:var(--sh-1)}
.infocard h3{font-size:var(--fs-h4);margin-bottom:var(--sp-4)}
.infocard ul li{display:flex;gap:12px;align-items:flex-start;margin-bottom:11px;font-size:.92rem}
.infocard ul li:last-child{margin-bottom:0}
.infocard .ico{color:var(--copper);margin-top:4px}
.infocard a{border-bottom:1px solid transparent;transition:border-color var(--t)}
.infocard a:hover{border-bottom-color:var(--copper)}

/* --------------------------------------------------------------------------
   20. CTA band
   -------------------------------------------------------------------------- */
.cta{
  position:relative;background:var(--ink-2);color:#fff;
  padding:clamp(38px,4vw,54px) 0;overflow:hidden;isolation:isolate;
}
.cta::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(90% 100% at 90% 50%,#000,transparent 72%);
}
.cta::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(64% 130% at 8% 100%,rgba(185,130,36,.34),transparent 62%);
}
.cta__inner{
  display:flex;justify-content:space-between;align-items:center;
  gap:clamp(22px,4vw,56px);flex-wrap:wrap;
}
.cta__text{max-width:700px}
.cta__text .eyebrow{margin-bottom:10px}
.cta__text .h2{color:#fff;margin-bottom:8px;font-size:clamp(1.65rem,2.5vw,2.35rem)}
.cta__text .lead{font-size:1rem;line-height:1.55}
.cta__actions{display:flex;gap:var(--sp-3);flex-wrap:wrap}

/* --------------------------------------------------------------------------
   21. Footer
   -------------------------------------------------------------------------- */
.foot{background:var(--ink);color:rgba(255,255,255,.58);font-size:.86rem}
.foot__mast{
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;
  gap:var(--sp-7);padding:30px 0 26px;
}
.foot__identity{display:flex;align-items:center;gap:20px;min-width:0}
.brand--foot .brand__mark{background:var(--copper)}
.brand--foot .brand__img{width:78px;height:78px;border-radius:6px;background:#fff}
.brand--foot .brand__text strong{color:#fff}
.brand--foot .brand__text em{color:rgba(255,255,255,.42)}
.foot__identity-copy{min-width:0}
.foot__tagline{font-family:var(--font-display);font-size:1.18rem;color:#fff;line-height:1.3}
.foot__badges{
  font-size:.67rem;color:rgba(255,255,255,.38);
  letter-spacing:.09em;text-transform:uppercase;margin-top:7px;
}
.foot__direct{
  display:grid;grid-template-columns:auto auto;gap:5px 20px;
  padding-left:30px;border-left:1px solid rgba(255,255,255,.12);
}
.foot__direct > span{
  grid-row:1/3;align-self:center;color:var(--gold);font-size:.67rem;
  letter-spacing:.16em;text-transform:uppercase;font-weight:600;
}
.foot__direct a{display:flex;align-items:center;gap:8px;color:#fff;line-height:1.4;transition:color var(--t)}
.foot__direct a:hover{color:var(--gold)}
.foot__direct .ico{color:var(--copper-3)}

.foot__nav{
  display:flex;align-items:center;justify-content:space-between;gap:10px 24px;
  padding:15px 0;border-block:1px solid rgba(255,255,255,.09);
  color:rgba(255,255,255,.82);font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;
}
.foot__nav a,.foot__divisions a{transition:color var(--t)}
.foot__nav a:hover,.foot__divisions a:hover{color:var(--gold)}

.foot__detail{
  display:grid;grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr);
  gap:clamp(28px,4vw,56px);align-items:center;padding:22px 0;
}
.foot__divisions{display:flex;align-items:flex-start;gap:20px}
.foot__divisions > span{
  color:var(--gold);font-size:.67rem;letter-spacing:.15em;text-transform:uppercase;
  font-weight:600;white-space:nowrap;padding-top:2px;
}
.foot__divisions > div{display:flex;flex-wrap:wrap;gap:5px 18px}
.foot__divisions a{color:rgba(255,255,255,.64);white-space:nowrap}
.foot__offices{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.foot__offices address{display:flex;gap:9px;font-style:normal;font-size:.74rem;line-height:1.45}
.foot__offices .ico{color:var(--copper-3);margin-top:3px}
.foot__offices strong{display:block;color:#fff;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px}

.foot__bottom{
  display:flex;justify-content:space-between;align-items:center;
  gap:var(--sp-5);flex-wrap:wrap;padding:14px 0 16px;
  border-top:1px solid rgba(255,255,255,.08);
  font-size:.72rem;color:rgba(255,255,255,.36);
}
.foot__bottom ul{display:flex;gap:20px}
.foot__bottom a:hover{color:var(--gold)}

/* --------------------------------------------------------------------------
   22. Article
   -------------------------------------------------------------------------- */
.article{max-width:768px;margin-inline:auto}
.article__meta{
  display:flex;gap:var(--sp-4);align-items:center;font-size:var(--fs-xs);
  letter-spacing:.12em;text-transform:uppercase;color:var(--muted);
  margin-bottom:var(--sp-6);
}
.article__body{font-size:var(--fs-md);line-height:1.78}
.article__body p{margin:0 0 var(--sp-5)}
.article__body > p:first-of-type{font-size:var(--fs-lg);color:var(--ink-3);line-height:1.66}

/* Editorial imagery for informational pages ------------------------------- */
.page-content{
  display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(36px,5vw,72px);align-items:start;
}
.page-content .article__body{max-width:760px}
.page-visual,.page-banner{margin:0;overflow:hidden;border-radius:var(--r-lg);background:var(--paper-2)}
.page-visual{position:sticky;top:132px}
.page-visual img,.page-banner img{display:block;width:100%;object-fit:cover}
.page-visual img{aspect-ratio:4/3}
.page-banner{margin-bottom:var(--sp-8)}
.page-banner img{aspect-ratio:2.55/1}
.page-visual--contact{position:static;margin-bottom:var(--sp-5)}
.page-visual--contact img{aspect-ratio:4/3}

/* --------------------------------------------------------------------------
   23. 404
   -------------------------------------------------------------------------- */
.nf{text-align:center;padding:clamp(80px,10vw,140px) 0}
.nf b{
  display:block;font-family:var(--font-display);
  font-size:clamp(5rem,16vw,10rem);color:var(--paper-2);line-height:1;letter-spacing:-.04em;
}
.nf h1{margin:-24px 0 var(--sp-4)}
.nf .lead{margin-inline:auto}

/* --------------------------------------------------------------------------
   24. Scroll reveal
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion:no-preference){
  [data-reveal]{
    opacity:1;translate:0 20px;
    transition:translate .75s var(--ease-out);
  }
  [data-reveal].is-in{opacity:1;translate:0 0}
}

.checks--three{grid-template-columns:repeat(3,minmax(0,1fr))}

/* --------------------------------------------------------------------------
   25. Responsive
   -------------------------------------------------------------------------- */
@media(max-width:1180px){
  .dgrid,.structure{grid-template-columns:repeat(2,1fr)}
  .foot__detail{grid-template-columns:1fr}
}
@media(max-width:1080px){
  .masthead__actions .btn{display:none}
}
@media(max-width:1024px){
  .hero__inner{grid-template-columns:1fr;gap:var(--sp-7)}
  .hero__pillars{gap:var(--sp-5)}
  .split,.presence{grid-template-columns:1fr;gap:var(--sp-7)}
  .split--rev .split__media{order:0}
  .contact-layout{grid-template-columns:1fr;gap:var(--sp-7)}
  .ngrid,.team{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .split__badge{position:static;margin-top:var(--sp-4);max-width:none}
  .page-content{grid-template-columns:1fr}
  .page-visual{position:static}
}
@media(max-width:900px){
  .topbar__contact a:nth-child(2),.topbar__loc{display:none}
  /* The sticky masthead creates a stacking context, so the drawer inside it
     cannot out-paint the backdrop on its own — lift the whole header instead. */
  .masthead{z-index:70}
  .nav{
    position:fixed;inset:0 0 0 auto;width:min(360px,86vw);
    background:var(--white);padding:100px var(--sp-5) var(--sp-7);
    translate:100% 0;transition:translate var(--t);
    overflow-y:auto;box-shadow:var(--sh-4);z-index:2;
  }
  .nav.is-open{translate:0 0}
  .nav__list{flex-direction:column;align-items:stretch;gap:0}
  .nav__link{width:100%;justify-content:space-between;padding:16px 4px;border-bottom:1px solid var(--line-2);border-radius:0}
  .nav__link::after{display:none}
  .megamenu{
    position:static;width:auto;translate:none;opacity:1;visibility:visible;
    box-shadow:none;border:0;border-bottom:1px solid var(--line-2);
    border-radius:0;padding:6px 0 var(--sp-4);display:none;
  }
  .nav__item.is-open .megamenu{display:block;translate:none}
  .megamenu__grid,.megamenu__grid--3{grid-template-columns:1fr}
  .megamenu__foot{display:none}
  .burger{display:flex}
  .masthead__actions .btn{display:none}
  .backdrop{
    position:fixed;inset:0;background:rgba(12,18,25,.5);z-index:65;
    opacity:0;visibility:hidden;transition:var(--t);
    backdrop-filter:blur(2px);
  }
  .backdrop.is-on{opacity:1;visibility:visible}
  .foot__mast{grid-template-columns:1fr;gap:20px}
  .foot__direct{padding:18px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.09);justify-content:start}
  .foot__nav{justify-content:flex-start;flex-wrap:wrap}
}
@media(max-width:720px){
  /* Topbar: keep the phone only, everything else collides at this width */
  .topbar__badge{display:none}
  .topbar__inner{justify-content:center}
  .topbar__contact{gap:0}
  .dgrid,.structure,.ngrid,.team,.locs,.fgrid,.checks,.checks--three,.stats,.hero__pillars{grid-template-columns:1fr}
  .sec__head--split{flex-direction:column;align-items:flex-start;gap:var(--sp-5)}
  .foot__identity{align-items:flex-start}
  .brand--foot .brand__img{width:68px;height:68px}
  .foot__detail{padding:20px 0}
  .foot__divisions{display:none}
  .foot__offices{grid-template-columns:1fr;gap:14px}
  .foot__bottom{flex-direction:column;align-items:flex-start}
  .cta__actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .cta__actions .btn{width:100%;padding:14px 12px;font-size:.68rem}
  .btn{width:100%}
  .hero__actions .btn{width:auto;flex:1 1 auto}
  .page-banner{margin-bottom:var(--sp-6)}
  .page-banner img{aspect-ratio:4/3}
}
@media(max-width:420px){
  .hero__actions{flex-direction:column;align-items:stretch}
  .hero__actions .btn{width:100%}
  .foot__identity{gap:14px}
  .foot__tagline{font-size:1.03rem}
  .foot__direct{grid-template-columns:1fr;gap:8px}
  .foot__direct > span{grid-row:auto;margin-bottom:2px}
  .foot__nav{gap:9px 18px}
}

/* --------------------------------------------------------------------------
   26. Print
   -------------------------------------------------------------------------- */
@media print{
  .topbar,.masthead,.cta,.foot,.progress,.ticker{display:none}
  body{color:#000;font-size:11pt}
  [data-reveal]{opacity:1!important;translate:none!important}
}
