/* =============================================================================
   EMU Solutions — shared design system
   "Engineered Precision": industrial navy + family blues, Montserrat/Inter/DM Mono.
   Hand-authored, no framework. Family palette sampled from Eco Solutions / Norpump.
   ========================================================================== */

:root{
  /* --- Family blues (sampled exact from the sibling logos) --- */
  --navy:#00103F;          /* family deep navy — wordmark, deepest accents */
  --navy-rich:#0A1F5C;     /* lifted navy for headings on light */
  --royal:#003C8C;         /* family royal — links, mid accents */
  --royal-cta:#0B4AA8;     /* CTA fill (lifted for vibrancy + AA contrast) */
  --royal-hover:#06367E;
  --sky:#0099E8;           /* family sky — accent, hairlines, stat numbers */
  --sky-bright:#33B4F2;
  --sky-soft:rgba(0,153,232,.12);

  /* --- Dark surfaces (lifted navy — clearly blue, never near-black) --- */
  --surface-deep:#0C1A3C;
  --surface-dark:#16284F;
  --surface-mid:#203864;
  --surface-card-dark:#264074;
  --hairline-dark:rgba(255,255,255,.12);
  --hairline-dark-strong:rgba(255,255,255,.2);

  /* --- Light surfaces --- */
  --bg:#FFFFFF;
  --bg-alt:#F2F5FB;        /* cool off-white */
  --bg-pale:#E8EEF8;       /* pale steel-blue */
  --surface-card:#FFFFFF;
  --border:#DEE4F2;
  --border-strong:#C4CFE6;

  /* --- Ink --- */
  --ink:#0A1838;
  --ink-body:#2B3A5E;
  --ink-muted:#55627F;
  --ink-subtle:#616C8B;
  --on-dark:#F1F5FF;
  --on-dark-muted:#C2CBE2;
  --on-dark-subtle:#9EAAC8;

  /* --- Hi-vis accent (single, restrained — used only on key CTA/status) --- */
  --amber:#F2A31E;
  --amber-deep:#D98A00;

  /* --- Type --- */
  --font-display:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-body:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:"DM Mono",ui-monospace,"Cascadia Mono","Consolas",monospace;
  --fs-display:clamp(2.7rem,1.25rem + 5.5vw,5.9rem);
  --fs-h1:clamp(2.1rem,1.3rem + 3.2vw,3.9rem);
  --fs-h2:clamp(1.85rem,1.2rem + 2.6vw,3.1rem);
  --fs-h3:clamp(1.3rem,1.05rem + 1.1vw,1.85rem);
  --fs-h4:clamp(1.1rem,1rem + .5vw,1.3rem);
  --fs-lead:clamp(1.06rem,1rem + .5vw,1.3rem);
  --fs-body:1.0625rem;
  --fs-small:.9375rem;
  --fs-mono:.76rem;
  --fs-stat:clamp(2.6rem,1.6rem + 3.6vw,4.6rem);

  /* --- Shape & space --- */
  --container:1200px;
  --container-wide:1320px;
  --gutter:clamp(20px,5vw,40px);
  --section-pad:clamp(80px,9vw,138px);
  --radius:16px;
  --radius-sm:10px;
  --radius-xs:7px;
  --pill:100px;

  /* --- Motion --- */
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-power:cubic-bezier(.16,1,.3,1);
  --t-fast:.25s;
  --t:.4s;
  --t-slow:.7s;

  /* --- Elevation --- */
  --shadow-sm:0 1px 2px rgba(10,24,56,.05),0 0 0 1px rgba(10,24,56,.04);
  --shadow:0 4px 16px rgba(10,24,56,.07),0 0 0 1px rgba(10,24,56,.05);
  --shadow-lg:0 24px 60px -16px rgba(10,24,56,.22),0 0 0 1px rgba(10,24,56,.05);
}

/* --------------------------------------------------------------------------
   Reset
   -------------------------------------------------------------------------- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:auto}
html.js{scroll-behavior:auto}
body{
  font-family:var(--font-body);font-size:var(--fs-body);line-height:1.7;
  color:var(--ink-body);background:var(--bg);
  font-feature-settings:"liga" 1,"kern" 1,"calt" 1;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5{font-family:var(--font-display);color:var(--ink);line-height:1.07;font-weight:600;letter-spacing:-.018em}
h1{font-weight:700;letter-spacing:-.026em}
h2{letter-spacing:-.022em}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:none}
input,textarea,select{font:inherit;color:inherit}
ul,ol{list-style:none}
::selection{background:var(--sky);color:#fff}
:focus-visible{outline:3px solid var(--royal-cta);outline-offset:3px;border-radius:4px}
.section--dark :focus-visible,.section--deep :focus-visible{outline-color:var(--sky-bright)}

.skip-link{position:absolute;left:-999px;top:0;z-index:1000;background:var(--royal-cta);color:#fff;
  padding:12px 20px;border-radius:0 0 var(--radius-xs) 0;font-family:var(--font-mono);font-size:13px}
.skip-link:focus{left:0}

/* --------------------------------------------------------------------------
   Layout helpers
   -------------------------------------------------------------------------- */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.container--wide{max-width:var(--container-wide)}
.section{padding-block:var(--section-pad);position:relative}
.section--alt{background:var(--bg-alt)}
.section--pale{background:var(--bg-pale)}
.section--dark{background:var(--surface-dark);color:var(--on-dark)}
.section--deep{background:var(--surface-deep);color:var(--on-dark)}
.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4,
.section--deep h1,.section--deep h2,.section--deep h3,.section--deep h4{color:#fff}
.section--dark .lead,.section--deep .lead{color:var(--on-dark-muted)}

/* mono section label / eyebrow */
.eyebrow{
  font-family:var(--font-mono);font-size:var(--fs-mono);font-weight:500;letter-spacing:.22em;
  text-transform:uppercase;color:var(--royal);display:inline-flex;align-items:center;gap:13px;
}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--sky);flex:none}
.section--dark .eyebrow,.section--deep .eyebrow{color:var(--sky-bright)}

.section-head{max-width:760px;margin-bottom:clamp(40px,5vw,70px)}
.section-head.center{margin-inline:auto;text-align:center}
.section-head.center .eyebrow{justify-content:center}
.section-head h2{font-size:var(--fs-h2);margin-top:20px}
.section-head .lead{margin-top:20px;max-width:60ch}
.lead{font-size:var(--fs-lead);color:var(--ink-muted);line-height:1.6;font-weight:400}
.center .lead{margin-inline:auto}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--font-mono);font-weight:500;font-size:13px;letter-spacing:.04em;
  padding:15px 28px;border-radius:var(--pill);border:1.5px solid transparent;line-height:1;
  text-align:center;white-space:nowrap;
  transition:background-color var(--t) var(--ease),color var(--t) var(--ease),
    border-color var(--t) var(--ease),box-shadow var(--t) var(--ease),transform var(--t) var(--ease);
}
.btn svg{width:15px;height:15px;flex:none}
.btn--primary{background:var(--royal-cta);color:#fff;box-shadow:0 8px 22px -8px rgba(11,74,168,.6)}
.btn--primary:hover{background:var(--royal-hover);box-shadow:0 12px 30px -8px rgba(11,74,168,.7)}
.btn--ghost{border-color:var(--border-strong);color:var(--ink)}
.btn--ghost:hover{border-color:var(--royal);color:var(--royal);background:var(--sky-soft)}
.btn--on-dark{background:#fff;color:var(--navy)}
.btn--on-dark:hover{background:var(--sky-bright);color:var(--navy)}
.btn--ghost-dark{border-color:var(--hairline-dark-strong);color:#fff}
.btn--ghost-dark:hover{border-color:var(--sky-bright);color:var(--sky-bright)}
.btn--lg{padding:18px 34px;font-size:13.5px}
.btn--block{display:flex;width:100%}

.link-arrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:13px;
  letter-spacing:.04em;color:var(--royal);font-weight:500;transition:gap var(--t) var(--ease),color var(--t)}
.link-arrow svg{width:16px;height:16px;transition:transform var(--t) var(--ease)}
.link-arrow:hover{color:var(--navy)}.link-arrow:hover svg{transform:translateX(5px)}
.section--dark .link-arrow,.section--deep .link-arrow{color:var(--sky-bright)}
.section--dark .link-arrow:hover{color:#fff}

/* --------------------------------------------------------------------------
   Navbar
   -------------------------------------------------------------------------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;transition:transform .5s var(--ease)}
.nav-inner{
  display:flex;align-items:center;gap:22px;
  max-width:var(--container-wide);margin-inline:auto;padding:15px var(--gutter);
}
/* constant nav height; a glass background + hairline fade in on scroll (no layout animation) */
.nav::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.82);
  backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);
  border-bottom:1px solid transparent;opacity:0;transition:opacity var(--t) var(--ease),border-color var(--t)}
.nav.scrolled::before{opacity:1;border-bottom-color:var(--border);box-shadow:0 6px 24px -18px rgba(10,24,56,.5)}

.nav-logo{display:inline-flex;align-items:center;gap:11px;flex:none;position:relative}
.nav-logo .mark{width:34px;height:auto;flex:none}
/* real Emu Solutions logo (transparent color); whitened on dark nav themes */
.nav-logo__img{height:32px;width:auto;display:block;transition:filter .25s var(--ease)}
.nav--dark .nav-logo__img{filter:brightness(0) invert(1)}
.nav-logo .word{font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:-.01em;color:var(--navy);line-height:1}
.nav-logo .word b{font-weight:700}
.nav-logo .word span{font-weight:500;color:var(--royal)}

.nav-links{display:flex;align-items:center;gap:3px;margin-left:auto}
.nav-links>a,.nav-trigger{
  position:relative;font-size:14.5px;font-weight:500;color:var(--ink-body);
  padding:9px 14px;border-radius:var(--radius-xs);display:inline-flex;align-items:center;gap:6px;
  transition:color var(--t) var(--ease),background var(--t);
}
.nav-links>a:hover,.nav-trigger:hover{color:var(--navy)}
.nav-links>a[aria-current="page"]{color:var(--navy)}
.nav-links>a[aria-current="page"]::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;background:var(--sky);border-radius:2px}
.nav-trigger[data-nav-active]{color:var(--navy)}
.nav-trigger[data-nav-active]::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;background:var(--sky);border-radius:2px}
.nav-trigger .chev{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform var(--t)}
.nav-trigger[aria-expanded="true"] .chev{transform:rotate(-135deg) translateY(-1px)}

/* position:relative so the lang toggle + CTA paint ABOVE the scrolled glass
   pseudo-element (like the logo + links do), instead of being covered by it */
.nav-right{display:flex;align-items:center;gap:16px;flex:none;position:relative;z-index:1}

/* language toggle */
.lang-toggle{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:12.5px;font-weight:500}
.lang-toggle button{color:var(--ink-subtle);letter-spacing:.06em;transition:color var(--t);min-height:44px;min-width:26px;display:inline-flex;align-items:center;justify-content:center}
.lang-toggle button.active{color:var(--royal);font-weight:600}
.lang-toggle .divider{width:1px;height:13px;background:var(--border-strong)}

/* dark navbar variant (over dark hero/sections) */
.nav--dark .nav-logo .word{color:#fff}
.nav--dark .nav-logo .word span{color:var(--sky-bright)}
.nav--dark .nav-links>a,.nav--dark .nav-trigger{color:var(--on-dark-muted)}
.nav--dark .nav-links>a:hover,.nav--dark .nav-trigger:hover,
.nav--dark .nav-links>a[aria-current="page"]{color:#fff}
.nav--dark .lang-toggle button{color:var(--on-dark-subtle)}
.nav--dark .lang-toggle button.active{color:var(--sky-bright)}
.nav--dark .lang-toggle .divider{background:var(--hairline-dark-strong)}
.nav--dark.scrolled::before{background:rgba(7,12,26,.78);border-bottom-color:var(--hairline-dark)}
.nav--dark .nav-cta.btn--primary{background:#fff;color:var(--navy)}
.nav--dark .nav-cta.btn--primary:hover{background:var(--sky-bright)}
.nav--dark .nav-toggle span{background:#fff}

/* hamburger */
.nav-toggle{display:none;width:44px;height:44px;border-radius:var(--radius-xs);flex-direction:column;
  align-items:center;justify-content:center;gap:5px}
.nav-toggle span{width:21px;height:2px;background:var(--navy);border-radius:2px;transition:transform var(--t) var(--ease),opacity var(--t)}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* --------------------------------------------------------------------------
   Mega menu (Utleie / Tjenester)
   -------------------------------------------------------------------------- */
.mega{position:fixed;left:0;right:0;top:0;z-index:190;padding-top:74px;
  opacity:0;visibility:hidden;transform:translateY(-10px);
  transition:opacity var(--t) var(--ease),transform var(--t) var(--ease),visibility var(--t)}
.mega.open{opacity:1;visibility:visible;transform:none}
.mega-inner{background:rgba(255,255,255,.97);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);box-shadow:var(--shadow-lg)}
.mega-grid{max-width:var(--container-wide);margin-inline:auto;padding:38px var(--gutter) 44px;
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px 30px}
.mega-col-h{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-subtle);margin-bottom:6px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.mega-link{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:var(--radius-xs);
  transition:background var(--t),transform var(--t) var(--ease)}
.mega-link:hover{background:var(--bg-alt);transform:translateX(3px)}
.mega-link .mi{width:34px;height:34px;flex:none;border-radius:8px;background:var(--bg-alt);
  display:grid;place-items:center;color:var(--royal)}
.mega-link .mi svg{width:22px;height:22px}
.mega-link .nm{font-size:14.5px;font-weight:600;color:var(--ink);line-height:1.2}
.mega-link .ds{display:block;font-size:12px;color:var(--ink-muted);font-weight:400;margin-top:1px}

/* mobile nav */
.nav-mobile{position:fixed;inset:0;z-index:210;background:var(--surface-deep);color:#fff;
  padding:88px var(--gutter) 40px;overflow-y:auto;
  opacity:0;visibility:hidden;transform:translateY(-8px);
  transition:opacity var(--t) var(--ease),transform var(--t) var(--ease),visibility var(--t)}
.nav-mobile.open{opacity:1;visibility:visible;transform:none}
.nav-mobile a{display:block;padding:13px 4px;font-family:var(--font-display);font-size:21px;font-weight:600;
  color:#fff;border-bottom:1px solid var(--hairline-dark)}
.nav-mobile .m-acc-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;
  padding:13px 4px;font-family:var(--font-display);font-size:21px;font-weight:600;color:#fff;border-bottom:1px solid var(--hairline-dark)}
.nav-mobile .m-acc-trigger .chev{width:9px;height:9px;border-right:2px solid var(--on-dark-subtle);border-bottom:2px solid var(--on-dark-subtle);transform:rotate(45deg);transition:transform var(--t)}
.nav-mobile .m-acc-trigger[aria-expanded="true"] .chev{transform:rotate(-135deg)}
/* jank-free height animation via grid-template-rows (no layout-property transition) */
.nav-mobile .m-acc-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.nav-mobile .m-acc-panel.open{grid-template-rows:1fr}
.nav-mobile .m-acc-panel>.m-acc-inner{overflow:hidden;min-height:0}
.nav-mobile .m-acc-panel a{font-size:16px;font-weight:500;color:var(--on-dark-muted);padding-left:14px;border-bottom-color:rgba(255,255,255,.06)}
.nav-mobile .m-foot{margin-top:28px;display:flex;flex-direction:column;gap:16px}

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;
  background:var(--surface-deep);color:#fff;overflow:hidden;isolation:isolate}
.hero__media{position:absolute;inset:0;z-index:-2}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:62% 36%;
  filter:saturate(.62) contrast(1.14) brightness(.74)}
.hero__scrim{position:absolute;inset:0;z-index:-1;
  background:
    /* navy duotone wash — unifies the photo into one cinematic graded plate */
    linear-gradient(180deg,rgba(0,16,63,.42),rgba(0,16,63,.30) 45%,rgba(4,9,24,.58) 100%),
    /* vertical depth: clean dark top under the nav + deep anchored base */
    linear-gradient(180deg,rgba(7,12,26,.74) 0%,rgba(7,12,26,.26) 30%,rgba(7,12,26,.50) 58%,rgba(6,10,24,.90) 82%,rgba(5,9,22,.99) 100%),
    /* directional light: clean, near-solid dark behind the text column on the left */
    linear-gradient(96deg,rgba(5,10,26,.90) 0%,rgba(5,10,26,.62) 30%,rgba(0,16,63,.12) 58%,rgba(0,16,63,0) 80%),
    /* soft key-light glow upper-right where the machine sits */
    radial-gradient(120% 86% at 76% 14%,rgba(0,72,150,.34),transparent 56%),
    /* vignette */
    radial-gradient(140% 120% at 50% 42%,transparent 56%,rgba(3,7,18,.55) 100%)}
.hero__contours{position:absolute;inset:0;z-index:-1;opacity:.4;pointer-events:none;mix-blend-mode:screen}
.hero__inner{max-width:var(--container-wide);margin-inline:auto;width:100%;padding:0 var(--gutter) clamp(60px,8vh,110px)}
.hero__content{max-width:920px}
.hero h1{font-size:var(--fs-display);color:#fff;line-height:.98;font-weight:700;letter-spacing:-.032em}
.hero h1 .ln{display:block;overflow:hidden}
.hero h1 .ln>span{display:block}
.hero h1 em{font-style:normal;color:var(--sky-bright)}
.hero__lead{font-size:var(--fs-lead);color:var(--on-dark-muted);max-width:54ch;margin-top:26px;font-weight:400}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:38px}
.hero__phone{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:14px;color:#fff;min-height:44px}
.hero__phone svg{width:17px;height:17px;color:var(--sky-bright)}
.hero__phone b{font-weight:500;letter-spacing:.02em}
.hero__eyebrow{margin-bottom:24px}
.hero__scroll{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:8px;font-family:var(--font-mono);
  font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--on-dark-subtle);transition:opacity var(--t)}
.hero__scroll .line{width:1px;height:42px;background:linear-gradient(var(--sky-bright),transparent);position:relative;overflow:hidden}
.hero__scroll .line::after{content:"";position:absolute;top:-50%;left:0;width:100%;height:50%;background:var(--sky-bright);animation:scrollPulse 2.2s var(--ease) infinite}
@keyframes scrollPulse{0%{transform:translateY(0)}100%{transform:translateY(300%)}}

/* hero quick-stats bar */
.hero__stats{display:flex;flex-wrap:wrap;gap:clamp(28px,5vw,64px);margin-top:46px;padding-top:30px;border-top:1px solid var(--hairline-dark)}
.hero__stat .v{font-family:var(--font-display);font-weight:700;font-size:clamp(1.8rem,1.2rem+1.6vw,2.5rem);color:#fff;line-height:1;letter-spacing:-.02em}
.hero__stat .v em{font-style:normal;color:var(--sky-bright)}
.hero__stat .l{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-subtle);margin-top:9px}

/* --------------------------------------------------------------------------
   Trust strip (clients + certs)
   -------------------------------------------------------------------------- */
.trust{padding-block:clamp(40px,5vw,64px)}
.trust__label{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-subtle);text-align:center;margin-bottom:26px}
.trust__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(26px,4vw,58px)}
.trust__row img{height:30px;width:auto;opacity:.66;filter:grayscale(1);transition:opacity var(--t),filter var(--t)}
.trust__row img:hover{opacity:1;filter:grayscale(0)}
.section--dark .trust__row img,.section--deep .trust__row img{filter:grayscale(1) brightness(0) invert(1);opacity:.5}
.section--dark .trust__row img:hover{opacity:.95}

/* --------------------------------------------------------------------------
   Cards (services / categories)
   -------------------------------------------------------------------------- */
.grid{display:grid;gap:clamp(16px,1.6vw,24px)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}

.card{position:relative;background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);
  overflow:hidden;transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease),border-color var(--t);
  display:flex;flex-direction:column}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--border-strong)}
.card::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--amber);
  transform:scaleX(0);transform-origin:left;transition:transform var(--t-slow) var(--ease)}
.card:hover::before{transform:scaleX(1)}
.card__media{aspect-ratio:4/3;overflow:hidden;background:var(--bg-pale);position:relative}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.card:hover .card__media img{transform:scale(1.06)}
.card__body{padding:clamp(20px,2vw,28px);display:flex;flex-direction:column;gap:10px;flex:1}
.card__icon{width:46px;height:46px;border-radius:11px;background:var(--bg-alt);color:var(--royal);
  display:grid;place-items:center;margin-bottom:6px}
.card__icon svg{width:28px;height:28px}
.card h3{font-size:var(--fs-h4);color:var(--ink)}
.card p{font-size:var(--fs-small);color:var(--ink-muted);line-height:1.6}
.card .link-arrow{margin-top:auto;padding-top:8px}

/* dark cards */
.section--dark .card,.section--deep .card{background:var(--surface-card-dark);border-color:var(--hairline-dark)}
.section--dark .card:hover{border-color:var(--hairline-dark-strong)}
.section--dark .card h3{color:#fff}
.section--dark .card p{color:var(--on-dark-muted)}
.section--dark .card__icon{background:rgba(255,255,255,.06);color:var(--sky-bright)}

/* feature row (image + text alternating) */
.feature{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.feature--rev .feature__media{order:2}
.feature__media{border-radius:var(--radius);overflow:hidden;position:relative;aspect-ratio:5/4;box-shadow:var(--shadow-lg)}
.feature__media img{width:100%;height:100%;object-fit:cover}
.feature__body h2{font-size:var(--fs-h2)}
.feature__body .lead{margin-top:18px}
.feature__list{margin-top:26px;display:flex;flex-direction:column;gap:14px}
.feature__list li{display:flex;gap:13px;align-items:flex-start;font-size:var(--fs-body)}
.feature__list .tick{width:24px;height:24px;flex:none;border-radius:50%;background:var(--sky-soft);color:var(--royal);display:grid;place-items:center;margin-top:2px}
.feature__list .tick svg{width:14px;height:14px}
.section--dark .feature__list .tick{background:rgba(0,153,232,.18);color:var(--sky-bright)}

/* --------------------------------------------------------------------------
   Machine / spec list
   -------------------------------------------------------------------------- */
.specrow{display:flex;justify-content:space-between;align-items:baseline;gap:20px;
  padding:18px 0;border-bottom:1px solid var(--border)}
.specrow:first-child{border-top:1px solid var(--border)}
.specrow__name{font-family:var(--font-display);font-weight:600;font-size:var(--fs-h4);color:var(--ink)}
.specrow__meta{font-family:var(--font-mono);font-size:13px;color:var(--ink-muted);text-align:right}
.section--dark .specrow{border-color:var(--hairline-dark)}
.section--dark .specrow__name{color:#fff}
.section--dark .specrow__meta{color:var(--on-dark-muted)}

/* Machine image-card grid (Eurocomach lineup): white product plates on framed cards */
.modelgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:clamp(12px,1.3vw,16px)}
.model{display:flex;flex-direction:column;gap:13px;padding:15px;background:var(--surface-card);
  border:1px solid var(--border);border-radius:var(--radius-sm);
  transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease),border-color var(--t)}
.model:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--border-strong)}
.model__img{aspect-ratio:4/3;background:#fff;border-radius:var(--radius-xs);display:grid;place-items:center;
  overflow:hidden;padding:12px 14px;box-shadow:inset 0 0 0 1px rgba(10,24,56,.06)}
.model__img img{width:100%;height:100%;object-fit:contain}
.model__name{font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--ink);
  display:flex;align-items:baseline;gap:8px;letter-spacing:-.01em}
.model__name .t{font-family:var(--font-mono);font-weight:400;font-size:12px;color:var(--royal);letter-spacing:0}
.model__spec{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-muted);letter-spacing:.02em;line-height:1.5}
.section--dark .model,.section--deep .model{background:var(--surface-card-dark);border-color:var(--hairline-dark)}
.section--dark .model:hover,.section--deep .model:hover{border-color:rgba(51,180,242,.4)}
.section--dark .model__name,.section--deep .model__name{color:#fff}
.section--dark .model__name .t,.section--deep .model__name .t{color:var(--sky-bright)}
.section--dark .model__spec,.section--deep .model__spec{color:var(--on-dark-muted)}
@media (max-width:560px){.modelgrid{grid-template-columns:repeat(2,1fr)}}

.chip{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:12px;
  letter-spacing:.03em;color:var(--royal);background:var(--sky-soft);padding:7px 13px;border-radius:var(--pill)}
.section--dark .chip{color:var(--sky-bright);background:rgba(0,153,232,.14)}

/* --------------------------------------------------------------------------
   Category icon-cards (bespoke machine-icon catalogue)
   -------------------------------------------------------------------------- */
.catcard{position:relative;display:flex;flex-direction:column;min-height:174px;padding:24px;
  background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;
  transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease),border-color var(--t)}
.catcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--border-strong)}
.catcard::before{content:"";position:absolute;left:0;top:0;right:0;height:2px;background:var(--amber);
  transform:scaleX(0);transform-origin:left;transition:transform var(--t-slow) var(--ease)}
.catcard:hover::before{transform:scaleX(1)}
.catcard__ic{width:52px;height:52px;border-radius:13px;background:var(--bg-alt);color:var(--royal);
  display:grid;place-items:center;transition:background var(--t),color var(--t)}
.catcard__ic svg{width:34px;height:34px}
.catcard:hover .catcard__ic{background:var(--royal-cta);color:#fff}
.catcard__nm{font-family:var(--font-display);font-weight:600;font-size:16px;color:var(--ink);
  line-height:1.25;margin-top:auto;padding-top:18px}
.catcard__ds{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.04em;color:var(--ink-muted);margin-top:5px}
.catcard__go{position:absolute;top:24px;right:22px;color:var(--ink-subtle);opacity:0;transform:translateX(-6px);
  transition:opacity var(--t),transform var(--t),color var(--t)}
.catcard__go svg{width:20px;height:20px}
.catcard:hover .catcard__go{opacity:1;transform:none;color:var(--royal)}

/* --------------------------------------------------------------------------
   Faux map panel (location, contour + pulsing pin — premium, no 3rd-party iframe)
   -------------------------------------------------------------------------- */
.map-panel{position:relative;aspect-ratio:5/4;border-radius:var(--radius);overflow:hidden;
  background:radial-gradient(120% 120% at 30% 18%,var(--surface-mid),var(--surface-deep));
  border:1px solid var(--hairline-dark);display:grid;place-items:center;box-shadow:var(--shadow-lg)}
.map-panel canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.5}
.map-pin{position:relative;display:grid;place-items:center;color:var(--sky-bright);z-index:1}
.map-pin svg{width:54px;height:54px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45))}
.map-pin::after{content:"";position:absolute;bottom:7px;width:24px;height:24px;border-radius:50%;
  background:var(--sky);opacity:.3;animation:mapPulse 2.8s var(--ease) infinite}
@keyframes mapPulse{0%{transform:scale(.5);opacity:.45}70%{transform:scale(2.6);opacity:0}100%{opacity:0}}
.map-label{position:absolute;bottom:20px;left:0;right:0;text-align:center;font-family:var(--font-mono);
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-muted);z-index:1}

/* --------------------------------------------------------------------------
   Inner-page hero + breadcrumb + steps + prose
   -------------------------------------------------------------------------- */
.pagehero{position:relative;background:var(--surface-deep);color:#fff;overflow:hidden;isolation:isolate;
  padding-top:clamp(116px,15vh,168px);padding-bottom:clamp(56px,8vw,96px)}
.pagehero>canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.16}
.pagehero__inner{position:relative;max-width:var(--container-wide);margin-inline:auto;padding-inline:var(--gutter);
  display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,5vw,64px);align-items:center}
.pagehero--narrow .pagehero__inner{grid-template-columns:1fr;max-width:var(--container)}
.pagehero h1{font-size:var(--fs-h1);color:#fff;margin-top:18px}
.pagehero .lead{margin-top:20px;color:var(--on-dark-muted);max-width:56ch}
.pagehero__cta{margin-top:32px;display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.pagehero__phone{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:14px;color:#fff}
.pagehero__phone svg{width:16px;height:16px;color:var(--sky-bright)}
.pagehero__visual{position:relative}
.pagehero__iconwrap{aspect-ratio:4/3;border-radius:var(--radius);border:1px solid var(--hairline-dark);
  background:radial-gradient(120% 120% at 30% 20%,var(--surface-mid),var(--surface-deep));display:grid;place-items:center;overflow:hidden}
.pagehero__iconwrap svg{width:clamp(90px,12vw,140px);height:auto;color:var(--sky-bright);position:relative;z-index:1;
  filter:drop-shadow(0 8px 24px rgba(0,0,0,.4))}
.pagehero__photo{aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);position:relative}
.pagehero__photo img{width:100%;height:100%;object-fit:cover}
.pagehero__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(0,16,63,.28),transparent 52%)}

.breadcrumb{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--on-dark-subtle);
  display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.breadcrumb a{color:var(--on-dark-muted)}
.breadcrumb a:hover{color:#fff}
.breadcrumb .sep{opacity:.45}
.breadcrumb [aria-current]{color:var(--sky-bright)}

.steps{counter-reset:step;display:grid;gap:clamp(20px,2.4vw,30px)}
.step{display:flex;gap:20px;align-items:flex-start}
.step__n{flex:none;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;
  font-family:var(--font-mono);font-weight:500;font-size:15px;background:rgba(242,163,30,.14);color:var(--amber-deep);counter-increment:step}
.step__n::before{content:counter(step,decimal-leading-zero)}
.section--dark .step__n,.section--deep .step__n{background:rgba(242,163,30,.2);color:var(--amber)}
.step h3{font-size:var(--fs-h4);margin-bottom:6px}
.step p{font-size:var(--fs-small);color:var(--ink-muted)}
.section--dark .step p{color:var(--on-dark-muted)}

.prose{max-width:72ch}
.prose h2{font-size:var(--fs-h3);margin-top:clamp(36px,4vw,52px);margin-bottom:14px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:var(--fs-h4);margin-top:28px;margin-bottom:10px}
.prose p{margin-bottom:16px;color:var(--ink-body)}
.prose ul{margin:0 0 18px;padding-left:0;display:grid;gap:10px}
.prose ul li{display:flex;gap:12px;align-items:flex-start;color:var(--ink-body)}
.prose ul li::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--sky);margin-top:10px}
.prose a{color:var(--royal);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose a:hover{color:var(--navy)}
.prose table{width:100%;border-collapse:collapse;margin:8px 0 20px;font-size:var(--fs-small)}
.prose th,.prose td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--border)}
.prose thead th{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-weight:500}
.prose tbody td:last-child{font-family:var(--font-mono);color:var(--ink)}

.toc{position:sticky;top:96px;align-self:start;display:flex;flex-direction:column;gap:4px}
.toc a{font-size:14px;color:var(--ink-muted);padding:7px 0;border-left:2px solid var(--border);padding-left:16px;transition:color var(--t),border-color var(--t)}
.toc a:hover{color:var(--royal);border-color:var(--royal)}
.layout-aside{display:grid;grid-template-columns:240px 1fr;gap:clamp(32px,5vw,72px);align-items:start}
@media (max-width:880px){.layout-aside{grid-template-columns:1fr}.toc{display:none}.pagehero__inner{grid-template-columns:1fr}.pagehero__visual{display:none}}

/* --------------------------------------------------------------------------
   Stats / count-up
   -------------------------------------------------------------------------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,40px)}
.stat__v{font-family:var(--font-display);font-weight:700;font-size:var(--fs-stat);color:var(--navy);line-height:1;letter-spacing:-.03em;display:flex;align-items:baseline;gap:2px}
.stat__v .suf,.stat__v .pre{color:var(--sky)}
.stat__l{font-family:var(--font-mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);margin-top:14px;max-width:22ch}
.section--dark .stat__v,.section--deep .stat__v{color:#fff}
.section--dark .stat__v .suf,.section--deep .stat__v .suf,
.section--dark .stat__v .pre,.section--deep .stat__v .pre{color:var(--sky-bright)}
.section--dark .stat__l{color:var(--on-dark-subtle)}

/* --------------------------------------------------------------------------
   CTA band
   -------------------------------------------------------------------------- */
.ctaband{position:relative;overflow:hidden;background:var(--surface-deep);color:#fff;isolation:isolate}
.ctaband__contours{position:absolute;inset:0;z-index:-1;opacity:.5;mix-blend-mode:screen}
.ctaband__inner{max-width:var(--container);margin-inline:auto;padding:clamp(64px,8vw,110px) var(--gutter);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:36px}
.ctaband h2{font-size:var(--fs-h2);max-width:18ch;color:#fff}
.ctaband .lead{margin-top:16px;max-width:46ch;color:var(--on-dark-muted)}
.ctaband__actions{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.ctaband__phone{font-family:var(--font-mono);font-size:14px;color:var(--on-dark-muted)}
.ctaband__phone a{color:var(--sky-bright)}

/* --------------------------------------------------------------------------
   Forms (quote request)
   -------------------------------------------------------------------------- */
.form{display:grid;gap:18px}
.field{display:flex;flex-direction:column;gap:8px}
.field label{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}
.field input,.field textarea,.field select{
  width:100%;min-height:50px;padding:13px 16px;border:1.5px solid var(--border-strong);
  border-radius:var(--radius-sm);background:#fff;color:var(--ink);font-size:15.5px;
  transition:border-color var(--t),box-shadow var(--t)}
.field textarea{min-height:130px;resize:vertical;line-height:1.6}
.field input::placeholder,.field textarea::placeholder{color:var(--ink-muted)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--royal-cta);box-shadow:0 0 0 4px var(--sky-soft)}
.field--row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form__note{font-size:12.5px;color:var(--ink-subtle)}
.form__status{font-size:14px;padding:12px 16px;border-radius:var(--radius-sm);display:none}
.form__status.ok{display:block;background:rgba(0,153,232,.1);color:var(--royal)}
.form__status.err{display:block;background:#fdecec;color:#c0392b}
.section--dark .field input,.section--dark .field textarea,.section--dark .field select{
  background:rgba(255,255,255,.04);border-color:var(--hairline-dark-strong);color:#fff}
.section--dark .field label{color:var(--on-dark-muted)}
.section--dark .field input::placeholder,.section--dark .field textarea::placeholder{color:var(--on-dark-subtle)}

/* contact info list */
.contactinfo{display:flex;flex-direction:column;gap:22px}
.contactinfo__item{display:flex;gap:16px;align-items:flex-start}
.contactinfo__item .ci-ic{width:44px;height:44px;flex:none;border-radius:11px;background:rgba(255,255,255,.06);color:var(--sky-bright);display:grid;place-items:center}
.contactinfo__item .ci-ic svg{width:22px;height:22px}
.contactinfo__item .k{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--on-dark-subtle)}
.contactinfo__item .v{font-size:17px;color:#fff;margin-top:3px}
.contactinfo__item .v a:hover{color:var(--sky-bright)}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
.footer{background:var(--surface-deep);color:var(--on-dark-muted);padding-top:clamp(60px,7vw,92px)}
.footer__top{max-width:var(--container-wide);margin-inline:auto;padding-inline:var(--gutter);
  display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px 30px}
.footer__brand .nav-logo .word{color:#fff}
.footer__brand .nav-logo .word span{color:var(--sky-bright)}
.footer__brand .nav-logo__img{height:42px;width:auto;filter:brightness(0) invert(1)}
.footer__brand p{margin-top:18px;font-size:14.5px;max-width:34ch;line-height:1.7}
.footer__brand .fcontact{margin-top:18px;font-size:14px;line-height:1.9}
.footer__brand .fcontact a:hover{color:var(--sky-bright)}
.footer__col h3{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-subtle);margin-bottom:18px;font-weight:500}
.footer__col a{display:block;padding:6px 0;font-size:14.5px;color:var(--on-dark-muted);transition:color var(--t)}
.footer__col a:hover{color:#fff}
.footer__bottom{max-width:var(--container-wide);margin:clamp(48px,6vw,72px) auto 0;padding:26px var(--gutter);
  border-top:1px solid var(--hairline-dark);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center}
.footer__legal{font-size:12.5px;color:var(--on-dark-subtle);line-height:1.7}
.footer__credit{font-size:12.5px;color:var(--on-dark-subtle)}
.footer__credit a{color:var(--on-dark-muted);transition:color var(--t);text-decoration:underline;text-underline-offset:2px}
.footer__credit a:hover{color:var(--sky-bright)}

/* --------------------------------------------------------------------------
   Loader
   -------------------------------------------------------------------------- */
.loader{position:fixed;inset:0;z-index:9999;background:var(--surface-deep);display:flex;
  flex-direction:column;align-items:center;justify-content:center;gap:22px;
  transition:opacity .7s var(--ease),visibility .7s var(--ease)}
.loader.done{opacity:0;visibility:hidden}
.loader__mark{width:58px;height:auto;opacity:0;transform:translateY(8px) scale(.96);animation:loaderMark .8s var(--ease) .1s forwards}
.loader__logo{height:52px;width:auto;filter:brightness(0) invert(1);opacity:0;transform:translateY(8px) scale(.97);animation:loaderMark .8s var(--ease) .1s forwards}
.loader__word{font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:.04em;color:#fff;opacity:0;animation:loaderWord .7s var(--ease) .3s forwards}
.loader__word span{color:var(--sky-bright);font-weight:500}
.loader__line{width:120px;height:2px;background:var(--hairline-dark);position:relative;overflow:hidden;border-radius:2px}
.loader__line::after{content:"";position:absolute;inset:0 100% 0 0;background:var(--sky-bright);animation:loaderFill 1.3s var(--ease) .35s forwards}
@keyframes loaderMark{to{opacity:1;transform:none}}
@keyframes loaderWord{to{opacity:1}}
@keyframes loaderFill{to{inset:0 0 0 0}}

/* --------------------------------------------------------------------------
   Reveal animations (driven by .in class via JS / ScrollTrigger)
   -------------------------------------------------------------------------- */
.reveal{opacity:1;transform:none}
html.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
html.js .reveal.in{opacity:1;transform:none}
.reveal-d1{transition-delay:.08s}.reveal-d2{transition-delay:.16s}.reveal-d3{transition-delay:.24s}.reveal-d4{transition-delay:.32s}
.clip-reveal{clip-path:inset(0 0 0 0)}
html.js .clip-reveal{clip-path:inset(0 100% 0 0);transition:clip-path 1.1s var(--ease-power)}
html.js .clip-reveal.in{clip-path:inset(0 0 0 0)}
.reveal-mask{overflow:hidden}
html.js .reveal-mask>*{transform:translateY(102%);transition:transform .9s var(--ease-power)}
html.js .reveal-mask.in>*{transform:none}

/* decorative contour canvas wrapper */
.contour-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}

/* utilities */
.mono{font-family:var(--font-mono)}
.center{text-align:center}
.mt-s{margin-top:14px}.mt{margin-top:26px}.mt-l{margin-top:44px}
.maxw-prose{max-width:68ch}
.divider-line{height:1px;background:var(--border);border:0;margin-block:clamp(48px,6vw,80px)}
.section--dark .divider-line{background:var(--hairline-dark)}
.status-dot{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12.5px;color:var(--ink-muted)}
.status-dot::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 4px rgba(242,163,30,.18)}
.section--dark .status-dot{color:var(--on-dark-muted)}

/* --------------------------------------------------------------------------
   Engineered-precision detail layer (corner ticks, dark catcards, spec accent,
   amber, hero grain) — the repeated visual language that makes it ownable
   -------------------------------------------------------------------------- */
.sidx{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.18em;color:var(--ink-subtle);white-space:nowrap}
.section--dark .sidx,.section--deep .sidx{color:var(--on-dark-subtle)}
.eyebrow .sidx{margin-left:6px;color:inherit;opacity:.6}

/* engineering corner tick on cards */
.card{--tick:rgba(0,16,63,.18)}
.section--dark .card,.section--deep .card{--tick:rgba(255,255,255,.26)}
.card::after{content:"";position:absolute;top:13px;right:13px;width:9px;height:9px;
  border-top:1.5px solid var(--tick);border-right:1.5px solid var(--tick);opacity:0;transition:opacity var(--t)}
.card:hover::after{opacity:1}

/* dark catcards (used by the dark maskinparken section) */
.section--dark .catcard,.section--deep .catcard{background:var(--surface-card-dark);border-color:var(--hairline-dark)}
.section--dark .catcard:hover,.section--deep .catcard:hover{border-color:var(--hairline-dark-strong)}
.section--dark .catcard__ic,.section--deep .catcard__ic{background:rgba(255,255,255,.06);color:var(--sky-bright)}
.section--dark .catcard:hover .catcard__ic,.section--deep .catcard:hover .catcard__ic{background:var(--sky);color:var(--navy)}
.section--dark .catcard__nm,.section--deep .catcard__nm{color:#fff}
.section--dark .catcard__ds,.section--deep .catcard__ds{color:var(--on-dark-muted)}
.section--dark .catcard__go,.section--deep .catcard__go{color:var(--on-dark-subtle)}
.section--dark .catcard:hover .catcard__go,.section--deep .catcard:hover .catcard__go{color:var(--sky-bright)}

/* nav-active on dark navbar */
.nav--dark .nav-trigger[data-nav-active]{color:#fff}

/* hi-vis amber on page-header eyebrows (the construction accent, statically visible) */
.hero .eyebrow::before,.pagehero .eyebrow::before{background:var(--amber)}

/* hero stat band: a defined "instrument panel" with a glowing accent + dividers */
.hero__stats{position:relative;margin-top:clamp(34px,4vh,48px);padding:22px clamp(18px,2vw,34px);gap:0;
  border:1px solid rgba(125,170,255,.16);border-radius:16px;
  background:linear-gradient(180deg,rgba(8,16,34,.40),rgba(6,12,28,.64));
  backdrop-filter:blur(9px) saturate(1.2);-webkit-backdrop-filter:blur(9px) saturate(1.2);
  box-shadow:0 30px 70px -34px rgba(0,0,0,.82)}
.hero__stats::before{content:"";position:absolute;left:clamp(18px,2vw,34px);right:clamp(18px,2vw,34px);top:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--sky-bright),transparent);opacity:.55}
.hero__stat{flex:1 1 auto;min-width:108px;padding:0 clamp(14px,1.8vw,28px)}
.hero__stat + .hero__stat{border-left:1px solid var(--hairline-dark)}
@media (max-width:620px){.hero__stats{flex-wrap:wrap;padding:8px 12px}.hero__stat{flex:1 1 44%;padding:14px 12px}.hero__stat:nth-child(odd){border-left:none}}

/* lift dark category cards off the dark section + amber hover edge */
.section--dark .catcard,.section--deep .catcard{background:linear-gradient(165deg,#1b2d60,#142251);border-color:rgba(125,170,255,.14)}
.section--dark .catcard:hover,.section--deep .catcard:hover{border-color:rgba(242,163,30,.55)}

/* brighter, intentional contours */
.hero__contours{opacity:.55}
.ctaband__contours{opacity:.85}

/* faint brand watermark fills the CTA band's lower-right space */
.ctaband::after{content:"";position:absolute;right:max(-26px,-3vw);bottom:-72px;width:min(360px,42vw);aspect-ratio:120/150;
  background:url("/assets/logo/emu-mark.svg") no-repeat center/contain;opacity:.06;pointer-events:none;z-index:0}
.ctaband__inner{position:relative;z-index:1;padding-block:clamp(58px,7vw,96px)}

/* ===== improvement round: cinematic motion, richer catalogue, bolder heroes ===== */

/* hero slow push-in (Ken-Burns) — reduced-motion safe */
@keyframes heroZoom{from{transform:scale(1.001)}to{transform:scale(1.1)}}
.hero__media img{animation:heroZoom 26s var(--ease-power) forwards;transform-origin:62% 42%}
@media (prefers-reduced-motion:reduce){.hero__media img{animation:none}}

/* maskinparken dark cards: larger glowing icons + more presence */
.section--dark .catcard,.section--deep .catcard{min-height:190px;padding:26px}
.section--dark .catcard__ic,.section--deep .catcard__ic{width:60px;height:60px;border-radius:15px;
  background:radial-gradient(120% 120% at 32% 28%,rgba(0,153,232,.30),rgba(0,153,232,.05));box-shadow:inset 0 0 0 1px rgba(125,170,255,.16)}
.section--dark .catcard__ic svg,.section--deep .catcard__ic svg{width:38px;height:38px}
.section--dark .catcard:hover .catcard__ic,.section--deep .catcard:hover .catcard__ic{background:radial-gradient(120% 120% at 32% 28%,var(--sky),#0a6fb8);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.section--dark .catcard__nm,.section--deep .catcard__nm{font-size:16.5px}

/* page-hero: bolder, more cinematic machine visual + engineering registration tick */
.pagehero__inner{grid-template-columns:1.02fr .98fr}
.pagehero__photo img{transform:scale(1.05);transition:transform 1.2s var(--ease)}
.pagehero__photo::before{content:"";position:absolute;right:14px;bottom:14px;width:26px;height:26px;
  border-right:2px solid var(--amber);border-bottom:2px solid var(--amber);opacity:.85;z-index:3}

/* spec sheet: manufacturer groupings */
.specgroup{margin-bottom:6px}
.specgroup__h{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--royal);margin:30px 0 2px;display:flex;align-items:center;gap:11px}
.specgroup__h::before{content:"";width:18px;height:2px;background:var(--amber);flex:none}
.specgroup:first-child .specgroup__h{margin-top:0}
.section--dark .specgroup__h,.section--deep .specgroup__h{color:var(--sky-bright)}

/* utleie-overview CTA tile (the 14th card balances the grid + nudges contact) */
.catcard--cta{background:linear-gradient(160deg,var(--royal-cta),var(--royal));border-color:transparent}
.catcard--cta::before{display:none}
.catcard--cta::after{border-color:rgba(255,255,255,.4)}
.catcard--cta .catcard__ic{background:rgba(255,255,255,.16);color:#fff}
.catcard--cta:hover .catcard__ic{background:var(--amber);color:var(--navy)}
.catcard--cta .catcard__nm{color:#fff}
.catcard--cta .catcard__ds{color:rgba(255,255,255,.82)}
.catcard--cta .catcard__go{color:#fff;opacity:1;transform:none}

/* heading word-reveal mask (cinematic entrance) */
.word{display:inline-block;overflow:hidden;vertical-align:top;line-height:inherit;padding-bottom:.12em;margin-bottom:-.12em}
.word>span{display:inline-block}

/* branded page-transition curtain */
.page-trans{position:fixed;inset:0;z-index:9998;background:var(--surface-deep);transform:translateY(100%);visibility:hidden;
  display:flex;align-items:center;justify-content:center;pointer-events:none;transition:transform .4s cubic-bezier(.5,0,.2,1)}
.page-trans__mark{width:62px;height:auto;filter:brightness(0) invert(1);animation:ptPulse 1.5s var(--ease) infinite}
@keyframes ptPulse{0%,100%{opacity:.82;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}
html.pt-cover .page-trans{transform:translateY(0);visibility:visible;transition:none}
@media (prefers-reduced-motion:reduce){.page-trans{display:none!important}}

/* spec-row reads like a spec sheet: amber left-accent + tint on hover */
.specrow{position:relative;padding-left:18px;transition:background var(--t-fast)}
.specrow__name{transition:transform var(--t-fast) var(--ease)}
.specrow:hover .specrow__name{transform:translateX(5px)}
.specrow::before{content:"";position:absolute;left:0;top:13px;bottom:13px;width:2px;background:var(--amber);
  transform:scaleY(0);transform-origin:top;transition:transform var(--t) var(--ease)}
.specrow:hover{background:var(--bg-alt)}
.specrow:hover::before{transform:scaleY(1)}
.section--dark .specrow:hover,.section--deep .specrow:hover{background:rgba(255,255,255,.03)}

/* hero film grain — kills the flat-stock look */
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* --------------------------------------------------------------------------
   Section seams — an animated wave line (Etnir-style) that draws itself in as
   you scroll across the boundary between two sections. The seam's background is
   a vertical gradient that bridges the colour of the section above into the
   section below, so the page flows as one cinematic field instead of hard cuts.
   The line is drawn left-to-right via stroke-dash, scrubbed to scroll in main.js;
   EMU palette = sky-blue swept into a single hi-vis amber tip.
   -------------------------------------------------------------------------- */
.seam{position:relative;width:100%;overflow:hidden;line-height:0;z-index:0;
  height:clamp(120px,14vw,188px)}
.seam svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.seam__path{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;
  filter:drop-shadow(0 0 8px rgba(0,153,232,.5))}
/* colour bridges: top stop = section above, bottom stop = section below */
.seam--ld{background:linear-gradient(180deg,#fff 0%,#fff 6%,var(--surface-dark) 100%)}            /* white  -> dark  */
.seam--dl{background:linear-gradient(180deg,var(--surface-deep) 0%,#fff 96%,#fff 100%)}            /* deep   -> white */
.seam--ad{background:linear-gradient(180deg,var(--bg-alt) 0%,var(--bg-alt) 6%,var(--surface-dark) 100%)} /* alt -> dark */
.seam--dd{background:linear-gradient(180deg,var(--surface-dark) 0%,var(--surface-deep) 100%)}      /* dark   -> deep  */
@media (prefers-reduced-motion:reduce){.seam{height:clamp(70px,9vw,120px)}}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width:1080px){
  .nav-links,.nav-trigger,.nav-cta{display:none}
  .nav-toggle{display:flex}
  .mega{display:none}
  .footer__top{grid-template-columns:1fr 1fr}
  .footer__brand{grid-column:1/-1}
}
@media (max-width:900px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .feature{grid-template-columns:1fr;gap:30px}
  .feature--rev .feature__media{order:0}
  .ctaband__inner{flex-direction:column;align-items:flex-start}
  .mega-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr;gap:28px 20px}
  .field--row{grid-template-columns:1fr}
  .footer__top{grid-template-columns:1fr}
  .hero__stats{gap:24px}
  .nav-logo .word{font-size:18px}
  .nav-logo__img{height:28px}
  .btn{padding:14px 22px}
}
@media (max-width:380px){
  .stats{grid-template-columns:1fr}
}

/* --------------------------------------------------------------------------
   Reduced motion — everything static, nothing broken
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .reveal,html.js .reveal{opacity:1;transform:none}
  .clip-reveal,html.js .clip-reveal{clip-path:inset(0 0 0 0)}
  .reveal-mask>*,html.js .reveal-mask>*{transform:none}
  html.js .ed-kicker .rule--short{transform:scaleX(1)!important}
  .loader{display:none}
  .hero__scroll .line::after{display:none}
}

/* ==========================================================================
   EDITORIAL SPEC-SHEET — complete home redesign
   Oversized type, registration labels, directory lists, cinematic photo
   plates with an engineered HUD. Scoped to the home page via body.home where
   it overrides shared rules; component classes (.ed-*, .dir, .plate) are
   home-only in markup. Everything reduced-motion safe.
   ========================================================================== */

/* ---- editorial type scale (home only) ---- */
.home{--fs-ed-display:clamp(2.4rem,1rem + 4vw,4.7rem);
  --fs-ed-h2:clamp(1.9rem,1.15rem + 2.4vw,3.35rem)}
.home .section{padding-block:clamp(92px,11vw,168px)}

/* ---- registration label: mono index + rule + caption (the spec-sheet voice) ---- */
.ed-kicker{display:flex;align-items:center;gap:16px;font-family:var(--font-mono);font-size:var(--fs-mono);
  letter-spacing:.2em;text-transform:uppercase;color:var(--ink-subtle);margin-bottom:clamp(26px,3vw,40px)}
.ed-kicker b{font-weight:500;color:var(--royal)}
.ed-kicker .ix{font-weight:500;color:var(--ink);font-size:.96em}
.ed-kicker .rule{flex:1;height:1px;background:var(--border);min-width:30px}
.ed-kicker .rule--short{flex:none;width:clamp(34px,5vw,70px)}
/* the short kicker rule draws itself in when its row scrolls into view */
html.js .ed-kicker .rule--short{transform:scaleX(0);transform-origin:left center;transition:transform .85s var(--ease-power) .06s}
html.js .ed-kicker.in .rule--short{transform:scaleX(1)}
.section--dark .ed-kicker,.section--deep .ed-kicker{color:var(--on-dark-subtle)}
.section--dark .ed-kicker b,.section--deep .ed-kicker b{color:var(--sky-bright)}
.section--dark .ed-kicker .ix,.section--deep .ed-kicker .ix{color:#fff}
.section--dark .ed-kicker .rule,.section--deep .ed-kicker .rule{background:var(--hairline-dark)}

/* ---- editorial section header ---- */
/* section heading: generous measure (so titles never cram into many narrow
   lines), balanced wrapping, relaxed line-height. Lead stacks BELOW, not beside. */
.ed-head h2{font-size:var(--fs-ed-h2);line-height:1.1;letter-spacing:-.022em;
  text-wrap:balance;max-width:17em}
.ed-head--wide h2{max-width:19em}
.ed-top{margin-bottom:clamp(46px,5.5vw,76px)}
.ed-top .lead{margin-top:clamp(20px,2.4vw,30px);max-width:58ch}

/* ==========================================================================
   HERO — editorial split with engineered photo-plate HUD
   ========================================================================== */
.hero{align-items:center;min-height:100svh;padding:clamp(120px,18vh,176px) 0 clamp(48px,7vh,90px);
  background:radial-gradient(125% 100% at 78% 8%,#1b3566 0%,var(--surface-dark) 42%,var(--surface-deep) 100%)}
.hero__contours{opacity:.6}
.hero__inner{display:flex;flex-direction:column;gap:clamp(40px,5vh,64px);
  max-width:var(--container-wide);margin-inline:auto;width:100%;padding:0 var(--gutter)}
.hero .status-dot{color:var(--on-dark-muted)}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(36px,5vw,76px);align-items:center;width:100%}
.hero__grid>*{min-width:0}
@media (max-width:860px){.hero__grid{grid-template-columns:1fr;gap:clamp(30px,5vw,44px)}
  .hero__plate{max-width:520px}}
.hero__eyebrow{margin-bottom:clamp(22px,2.6vw,34px)}
.hero h1{font-size:var(--fs-ed-display);line-height:1.0;letter-spacing:-.028em}
.hero__lead{margin-top:clamp(22px,2.6vw,32px);max-width:46ch}
.hero__cta{margin-top:clamp(30px,3.4vw,42px)}

/* hero spec line — clean hairline-divided figures (replaces the glass panel) */
.hero__stats,.specline{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;
  border:0;border-top:1px solid var(--hairline-dark);border-radius:0;background:none;
  backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;padding:0;margin:0}
.hero__stats::before{display:none}
.hero__stat,.specline__cell{padding:clamp(22px,2.6vw,30px) clamp(20px,2.4vw,34px) 0 0;position:relative}
.hero__stat + .hero__stat,.specline__cell + .specline__cell{border-left:1px solid var(--hairline-dark);padding-left:clamp(20px,2.4vw,34px)}
.hero__stat .v,.specline__cell .v{font-family:var(--font-display);font-weight:700;font-size:clamp(1.9rem,1.2rem + 1.9vw,2.9rem);color:#fff;line-height:1;letter-spacing:-.03em}
.hero__stat .v em,.specline__cell .v em{font-style:normal;color:var(--sky-bright)}
.hero__stat .l,.specline__cell .l{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-subtle);margin-top:12px;line-height:1.4}
@media (max-width:680px){.hero__stats,.specline{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:1fr 1fr}
  .hero__stat,.specline__cell{padding:18px 16px 0 0}
  .hero__stat + .hero__stat,.specline__cell + .specline__cell{border-left:0;padding-left:0}
  .hero__stat:nth-child(n+2),.specline__cell:nth-child(n+2){border-top:1px solid var(--hairline-dark);margin-top:18px;padding-top:18px}
  .hero__stat:nth-child(2),.specline__cell:nth-child(2){border-left:1px solid var(--hairline-dark);padding-left:16px}}

/* ---- the cinematic photo plate + engineered HUD ---- */
.plate{position:relative;isolation:isolate}
.plate__frame{position:relative;overflow:hidden;border-radius:14px;border:1px solid var(--hairline-dark-strong);
  aspect-ratio:4/5;background:var(--surface-mid)}
.hero .plate__frame{box-shadow:0 50px 90px -40px rgba(0,0,0,.85)}
.plate__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:saturate(.86) contrast(1.05) brightness(1)}
.plate__grade{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(4,10,28,0) 48%,rgba(4,10,28,.62) 100%),
    linear-gradient(110deg,rgba(0,16,63,.3),transparent 60%)}
/* corner brackets (the HUD) — drawn in on load by JS via .plate__hud.in */
.plate__hud{position:absolute;inset:13px;z-index:3;pointer-events:none}
.plate__hud .c{position:absolute;width:22px;height:22px;opacity:0;transition:opacity .5s var(--ease)}
.plate.in .plate__hud .c{opacity:.92}
.plate__hud .c::before,.plate__hud .c::after{content:"";position:absolute;background:var(--sky-bright)}
.plate__hud .c::before{width:100%;height:2px}.plate__hud .c::after{width:2px;height:100%}
.plate__hud .tl{top:0;left:0}.plate__hud .tr{top:0;right:0}.plate__hud .tr::before{right:0}.plate__hud .tr::after{right:0}
.plate__hud .bl{bottom:0;left:0}.plate__hud .bl::before{bottom:0}.plate__hud .bl::after{bottom:0}
.plate__hud .br{bottom:0;right:0}.plate__hud .br::before{bottom:0;right:0}.plate__hud .br::after{bottom:0;right:0}
/* scan line sweeping the plate */
.plate__scan{position:absolute;left:0;right:0;top:0;height:2px;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(51,180,242,.85),transparent);
  box-shadow:0 0 14px 2px rgba(0,153,232,.4);opacity:0}
.plate.in .plate__scan{animation:plateScan 4.4s var(--ease) 1.1s infinite}
@keyframes plateScan{0%{top:0;opacity:0}8%{opacity:1}50%{top:100%;opacity:1}58%{opacity:0}100%{top:0;opacity:0}}
/* live mono caption */
.plate__cap{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;align-items:center;gap:10px;
  padding:14px 16px;font-family:var(--font-mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--on-dark);opacity:0;transform:translateY(8px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.plate.in .plate__cap{opacity:1;transform:none}
.plate__cap .fig{color:var(--sky-bright)}
.plate__cap .dot{width:7px;height:7px;border-radius:50%;background:var(--amber);flex:none;margin-left:auto;
  animation:capPulse 2.4s var(--ease) infinite}
@keyframes capPulse{0%,100%{box-shadow:0 0 0 3px rgba(242,163,30,.22)}50%{box-shadow:0 0 0 6px rgba(242,163,30,.05)}}
/* clip-reveal wipe for the frame (gated by .in) */
html.js .plate__frame{clip-path:inset(0 0 100% 0)}
html.js .plate.in .plate__frame{clip-path:inset(0 0 0 0);transition:clip-path 1.1s var(--ease-power)}

/* hero plate: engineering crane-reach BLUEPRINT that draws in, then the photo
   wipes over it and the blueprint fades (the "from blueprint to reality" intro).
   The frame shows immediately for this variant; JS clips the photo instead. */
html.js .plate--bp .plate__frame{clip-path:none}
.plate__bp{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none;opacity:0}
.plate__bp .bp-grid{stroke:rgba(255,255,255,.06);stroke-width:1;vector-effect:non-scaling-stroke}
.plate__bp .bp-line{fill:none;stroke:var(--sky-bright);stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-linecap:round}
.plate__bp .bp-thin{fill:none;stroke:rgba(51,180,242,.42);stroke-width:1.1;vector-effect:non-scaling-stroke;stroke-linecap:round}
.plate__bp .bp-dot{fill:var(--sky-bright)}
.plate__bp .bp-label{fill:var(--sky-bright);font-family:var(--font-mono);font-size:15px;letter-spacing:.16em}
@media (prefers-reduced-motion:reduce){.plate__bp{display:none}}

@media (prefers-reduced-motion:reduce){
  html.js .plate__frame,html.js .plate.in .plate__frame{clip-path:inset(0 0 0 0)!important}
  .plate__hud .c{opacity:.92}
  .plate.in .plate__scan{animation:none;opacity:0}
  .plate__cap{opacity:1;transform:none}
}

/* ==========================================================================
   DIRECTORY LIST — numbered, ruled spec-sheet rows (replaces icon-card grids)
   ========================================================================== */
.dir{border-top:1px solid var(--border)}
.section--dark .dir,.section--deep .dir{border-top-color:var(--hairline-dark)}
.dir__row{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;
  gap:clamp(18px,3vw,44px);padding:clamp(22px,2.6vw,34px) clamp(6px,1vw,14px);
  border-bottom:1px solid var(--border);transition:background var(--t) var(--ease)}
.section--dark .dir__row,.section--deep .dir__row{border-bottom-color:var(--hairline-dark)}
.dir__row::before{content:"";position:absolute;left:0;top:-1px;height:calc(100% + 2px);width:2px;background:var(--amber);
  transform:scaleY(0);transform-origin:top;transition:transform var(--t) var(--ease)}
a.dir__row:hover{background:var(--bg-alt)}
.section--dark a.dir__row:hover,.section--deep a.dir__row:hover{background:rgba(255,255,255,.035)}
a.dir__row:hover::before{transform:scaleY(1)}
.dir__ix{font-family:var(--font-mono);font-size:13px;color:var(--ink-subtle);font-weight:500;letter-spacing:.04em}
.section--dark .dir__ix,.section--deep .dir__ix{color:var(--sky-bright)}
.dir__main{display:flex;flex-direction:column;gap:6px;min-width:0}
.dir__name{font-family:var(--font-display);font-weight:600;font-size:clamp(1.25rem,1rem + 1.3vw,2.05rem);
  color:var(--ink);line-height:1.05;letter-spacing:-.02em;transition:transform var(--t) var(--ease)}
.section--dark .dir__name,.section--deep .dir__name{color:#fff}
a.dir__row:hover .dir__name{transform:translateX(8px)}
.dir__desc{font-size:var(--fs-small);color:var(--ink-muted);max-width:60ch}
.section--dark .dir__desc,.section--deep .dir__desc{color:var(--on-dark-muted)}
.dir__end{display:flex;align-items:center;gap:clamp(14px,2vw,30px);flex:none}
.dir__tag{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.06em;color:var(--ink-subtle);
  white-space:nowrap;text-align:right}
.section--dark .dir__tag,.section--deep .dir__tag{color:var(--on-dark-subtle)}
.dir__go{width:42px;height:42px;border-radius:50%;border:1px solid var(--border-strong);flex:none;
  display:grid;place-items:center;color:var(--royal);transition:background var(--t),border-color var(--t),color var(--t),transform var(--t) var(--ease)}
.dir__go svg{width:18px;height:18px;transition:transform var(--t) var(--ease)}
.section--dark .dir__go,.section--deep .dir__go{border-color:var(--hairline-dark-strong);color:var(--sky-bright)}
a.dir__row:hover .dir__go{background:var(--royal-cta);border-color:var(--royal-cta);color:#fff;transform:scale(1.06)}
.section--dark a.dir__row:hover .dir__go,.section--deep a.dir__row:hover .dir__go{background:var(--sky);border-color:var(--sky);color:var(--navy)}
a.dir__row:hover .dir__go svg{transform:translateX(3px)}
@media (max-width:680px){.dir__row{grid-template-columns:auto 1fr;gap:14px 18px}.dir__tag{display:none}
  .dir__name{font-size:1.25rem}}

/* directory reveal (rows rise in, staggered, via .in) */
html.js .dir__row{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
html.js .dir__row.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html.js .dir__row,html.js .dir__row.in{opacity:1;transform:none}}

/* ==========================================================================
   EDITORIAL FEATURE (big photo plate + copy) — refined framing
   ========================================================================== */
.edfeat{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);align-items:center}
.edfeat--rev .edfeat__media{order:2}
.edfeat__media{position:relative}
.edfeat__media .plate__frame{aspect-ratio:4/3}
.edfeat__body .ed-kicker{margin-bottom:22px}
.edfeat__body h2{font-size:var(--fs-ed-h2);line-height:1.1;letter-spacing:-.022em;text-wrap:balance;max-width:15em}
.edfeat__body .lead{margin-top:22px;max-width:50ch}
@media (max-width:860px){.edfeat{grid-template-columns:1fr;gap:32px}.edfeat--rev .edfeat__media{order:0}}

/* editorial capability list (numbered, in features) */
.caps{margin-top:clamp(30px,3.4vw,42px);border-top:1px solid var(--border)}
.section--dark .caps,.section--deep .caps{border-top-color:var(--hairline-dark)}
.caps li{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--border);align-items:start}
.section--dark .caps li,.section--deep .caps li{border-bottom-color:var(--hairline-dark)}
.caps .ci{font-family:var(--font-mono);font-size:12px;color:var(--royal);font-weight:500;padding-top:3px}
.section--dark .caps .ci,.section--deep .caps .ci{color:var(--sky-bright)}
.caps b{display:block;font-family:var(--font-display);font-size:var(--fs-h4);color:var(--ink);margin-bottom:5px;font-weight:600}
.section--dark .caps b,.section--deep .caps b{color:#fff}
.caps p{font-size:var(--fs-small);color:var(--ink-muted);line-height:1.6}
.section--dark .caps p,.section--deep .caps p{color:var(--on-dark-muted)}

/* light-section specline variant (the why-stats band) */
.specline--light{border-top-color:var(--border)}
.specline--light .specline__cell{border-left-color:var(--border)}
.specline--light .specline__cell .v{color:var(--navy)}
.specline--light .specline__cell .v em{color:var(--sky)}
.specline--light .specline__cell .l{color:var(--ink-muted)}
@media (max-width:680px){.specline--light .specline__cell:nth-child(n+2){border-top-color:var(--border)}
  .specline--light .specline__cell:nth-child(2){border-left-color:var(--border)}}

/* assurance: cert ruled list + logos */
.assure{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,84px);align-items:start}
@media (max-width:860px){.assure{grid-template-columns:1fr;gap:40px}}
.certlist{border-top:1px solid var(--hairline-dark)}
.certlist li{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:22px 4px;border-bottom:1px solid var(--hairline-dark);align-items:start}
.certlist .ci{width:42px;height:42px;border-radius:11px;flex:none;display:grid;place-items:center;
  background:rgba(0,153,232,.14);color:var(--sky-bright)}
.certlist .ci svg{width:22px;height:22px}
.certlist b{display:block;font-family:var(--font-display);font-size:var(--fs-h4);color:#fff;font-weight:600;margin-bottom:4px}
.certlist p{font-size:var(--fs-small);color:var(--on-dark-muted)}
.certlogos{display:flex;flex-wrap:wrap;align-items:center;gap:34px;margin-top:30px;padding-top:26px;border-top:1px solid var(--hairline-dark)}
.certlogos img{height:42px;width:auto;opacity:.85;filter:grayscale(1) brightness(0) invert(1)}

/* assurance note: fills the cert column with a real trust statement + link */
.assure-note{display:flex;gap:16px;align-items:flex-start;margin-top:30px;padding:22px 24px;
  border:1px solid var(--hairline-dark);border-radius:14px;
  background:linear-gradient(180deg,rgba(0,153,232,.08),rgba(0,153,232,.02))}
.assure-note__ic{width:42px;height:42px;border-radius:11px;flex:none;display:grid;place-items:center;
  background:rgba(0,153,232,.16);color:var(--sky-bright)}
.assure-note__ic svg{width:22px;height:22px}
.assure-note b{display:block;font-family:var(--font-display);font-size:var(--fs-h4);color:#fff;font-weight:600;margin-bottom:5px}
.assure-note p{font-size:var(--fs-small);color:var(--on-dark-muted);line-height:1.6;margin-bottom:12px}
.assure-note .link-arrow{font-size:12px}

/* coverage card (map + contact spec) */
.coverage{position:relative;border:1px solid var(--hairline-dark);border-radius:16px;overflow:hidden;
  background:radial-gradient(120% 120% at 30% 16%,var(--surface-mid),var(--surface-deep))}
.coverage__map{position:relative;aspect-ratio:16/10;overflow:hidden}
.coverage__map canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.55}
.coverage__pin{position:absolute;inset:0;display:grid;place-items:center;color:var(--sky-bright)}
.coverage__pin svg{width:48px;height:48px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.5))}
.coverage__pin::after{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:var(--sky);
  opacity:.3;animation:mapPulse 2.8s var(--ease) infinite}
.coverage__spec{padding:clamp(22px,2.6vw,32px);display:grid;gap:18px;border-top:1px solid var(--hairline-dark)}
.coverage__row{display:flex;gap:14px;align-items:flex-start}
.coverage__row .ci{width:38px;height:38px;flex:none;border-radius:10px;background:rgba(255,255,255,.06);color:var(--sky-bright);display:grid;place-items:center}
.coverage__row .ci svg{width:19px;height:19px}
.coverage__row .k{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-subtle)}
.coverage__row .v{font-size:16px;color:#fff;margin-top:3px}
.coverage__row .v a:hover{color:var(--sky-bright)}
/* the map is a real link to Google Maps for the exact address */
a.coverage__map{display:block;cursor:pointer;text-decoration:none}
.coverage__maplink{position:absolute;right:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;gap:7px;
  padding:8px 13px;border-radius:999px;background:rgba(7,14,36,.82);border:1px solid rgba(120,180,240,.34);
  color:#EAF4FF;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .25s var(--ease),border-color .25s var(--ease)}
.coverage__maplink svg{width:14px;height:14px}
a.coverage__map:hover .coverage__maplink{background:var(--royal);border-color:var(--sky-bright)}
a.coverage__map:focus-visible{outline:2px solid var(--sky-bright);outline-offset:3px}

/* ============================================================
   Feedback round: section life, lighter navy (tokens above),
   structural cleanups. No em dashes anywhere.
   ============================================================ */

/* editorial feature whose heading sits full-width above: align the caps column
   to the top of the plate (not vertically centred) so it reads cleanly */
.edfeat--top{align-items:start}
.edfeat--top .edfeat__body{padding-top:clamp(2px,1vw,12px)}

/* WHY: the top and bottom edges of the photo align exactly with the first
   and last divider rule of the caps column. The plate stretches to the caps
   height (the image cover-crops to fit) so the rules sit flush with it. */
#why .edfeat{align-items:stretch}
@media (min-width:861px){
  #why .edfeat__media{display:flex;flex-direction:column}
  #why .edfeat__media .plate{flex:1;min-height:0}
  #why .edfeat__media .plate__frame{aspect-ratio:auto;height:100%}
  #why .edfeat__body{padding-top:0}
  #why .caps{margin-top:0}
}

/* ============================================================
   TRANSPORT — fleet showcase: one large featured vehicle card
   (dark photo + caption) beside the rest of the fleet as photo
   mini-cards. Distinct from the editorial caps treatment.
   ============================================================ */
.fleet{display:grid;grid-template-columns:1.12fr .88fr;gap:18px;margin-top:clamp(34px,4vw,52px)}
@media (max-width:860px){.fleet{grid-template-columns:1fr}}

.fleet__feature{position:relative;border-radius:16px;overflow:hidden;min-height:430px;
  display:flex;align-items:flex-end;border:1px solid var(--border);isolation:isolate}
.fleet__feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform 1.1s var(--ease)}
.fleet__feature:hover img{transform:scale(1.045)}
.fleet__grad{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(to top,rgba(0,12,30,.93),rgba(0,12,30,.42) 44%,rgba(0,12,30,.05) 74%)}
.fleet__cap{position:relative;z-index:2;padding:clamp(22px,2.4vw,30px)}
.fleet__tag{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.82);margin-bottom:14px}
.fleet__tag .fig{color:var(--sky-bright)}
.fleet__cap h3{font-family:var(--font-display);font-size:var(--fs-h3);color:#fff;font-weight:600;margin-bottom:8px;letter-spacing:-.01em}
.fleet__cap p{color:rgba(255,255,255,.86);max-width:40ch;font-size:var(--fs-small);line-height:1.6}

.fleet__list{display:grid;grid-template-rows:repeat(3,1fr);gap:18px}
.fleet__item{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;
  padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface-card);
  transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease),transform var(--t) var(--ease)}
.fleet__item:hover{border-color:var(--sky);transform:translateY(-2px);box-shadow:0 18px 36px -28px rgba(10,24,56,.5)}
.fleet__thumb{width:146px;height:96px;border-radius:10px;overflow:hidden;flex:none;background:var(--bg-pale)}
.fleet__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.fleet__item:hover .fleet__thumb img{transform:scale(1.06)}
.fleet__item h4{font-family:var(--font-display);font-size:var(--fs-h4);color:var(--ink);font-weight:600;margin-bottom:3px}
.fleet__item p{font-size:var(--fs-small);color:var(--ink-muted);line-height:1.5}
@media (max-width:560px){.fleet__thumb{width:96px;height:78px}.fleet__item{padding:13px;gap:14px}}

.fleet__foot{margin-top:clamp(26px,3vw,38px)}

/* OM OSS — rebrand callout (old Entrep logo + name-change note) */
.rebrand{display:grid;grid-template-columns:auto 1fr;gap:clamp(28px,4vw,56px);align-items:center;
  padding:clamp(24px,3vw,40px);border:1px solid var(--border);border-radius:18px;background:var(--bg-alt)}
@media (max-width:680px){.rebrand{grid-template-columns:1fr;gap:22px}}
.rebrand__logo{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px;
  display:grid;place-items:center;width:clamp(210px,26vw,290px)}
@media (max-width:680px){.rebrand__logo{width:min(280px,100%);justify-self:start}}
.rebrand__logo img{width:100%;height:auto;display:block}
.rebrand__body .eyebrow{margin-bottom:14px}
.rebrand__body h2{font-size:var(--fs-h3);letter-spacing:-.01em}
.rebrand__body p{color:var(--ink-muted);max-width:56ch;margin-top:12px;line-height:1.65}

/* PARK home grid reuses the shared .catcard component (see /utleie/ pages) */

/* directory index numbers carry brand colour (more life than muted grey) */
.dir__ix{color:var(--royal);font-weight:600}
.section--dark .dir__ix,.section--deep .dir__ix{color:var(--sky-bright)}

/* OFFERING ("Alt du trenger ..."): lift it off flat white, give it colour +
   a faint animated contour so it has life without going dark */
#offer{background:linear-gradient(180deg,#FFFFFF 0%,#EEF3FC 100%);position:relative;isolation:isolate}
#offer .offer-contour{position:absolute;inset:0;width:100%;height:100%;opacity:.07;pointer-events:none;z-index:0}
#offer .container{position:relative;z-index:1}
/* a hairline accent + soft hover wash make each directory row feel alive */
#offer .dir__row:hover{background:linear-gradient(90deg,rgba(0,153,232,.06),rgba(0,153,232,0))}
#offer .dir__name{transition:color var(--t) var(--ease),transform var(--t) var(--ease)}
#offer a.dir__row:hover .dir__name{color:var(--royal)}

/* ============================================================
   CINEMATIC HOME (brand-film): full-bleed hero, parallax image
   bands, cinematic CTA. Reuses .hero/.hero__* JS hooks. RM-safe.
   ============================================================ */

/* ---- full-bleed hero ---- */
.cine-hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;padding:0;
  background:var(--surface-deep);isolation:isolate}
.cine-hero .hero__bg{position:absolute;inset:0;z-index:-2;overflow:hidden}
.cine-hero .hero__bg img{width:100%;height:100%;object-fit:cover;object-position:58% 60%;transform:scale(1.04)}
/* slow but clearly-visible scene drift behind the headline */
html.js .cine-hero .hero__bg img{will-change:transform;animation:cineHeroDrift 24s ease-in-out infinite alternate}
@keyframes cineHeroDrift{from{transform:scale(1.04) translate3d(0,0,0)}to{transform:scale(1.12) translate3d(-5%,-2.6%,0)}}
/* drifting cloud / light layer over the sky — the visible "clouds moving" effect */
.cine-hero .hero__atmos{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.cine-hero .hero__atmos span{position:absolute;left:-50%;top:-10%;width:200%;height:64%;will-change:transform;
  -webkit-mask:linear-gradient(180deg,#000 0,#000 36%,transparent 82%);mask:linear-gradient(180deg,#000 0,#000 36%,transparent 82%)}
.cine-hero .hero__atmos .c1{filter:blur(7px);background:
  radial-gradient(38% 56% at 22% 42%,rgba(255,255,255,.22),transparent 64%),
  radial-gradient(30% 46% at 60% 30%,rgba(255,255,255,.16),transparent 66%),
  radial-gradient(44% 50% at 88% 52%,rgba(255,255,255,.18),transparent 66%)}
.cine-hero .hero__atmos .c2{opacity:.72;filter:blur(11px);background:
  radial-gradient(34% 48% at 12% 30%,rgba(255,255,255,.14),transparent 66%),
  radial-gradient(40% 50% at 48% 56%,rgba(255,255,255,.12),transparent 66%),
  radial-gradient(30% 42% at 80% 26%,rgba(255,255,255,.15),transparent 66%)}
html.js .cine-hero .hero__atmos .c1{animation:cloudDriftA 46s ease-in-out infinite alternate}
html.js .cine-hero .hero__atmos .c2{animation:cloudDriftB 70s ease-in-out infinite alternate}
@keyframes cloudDriftA{from{transform:translate3d(-7%,0,0)}to{transform:translate3d(19%,0,0)}}
@keyframes cloudDriftB{from{transform:translate3d(11%,0,0)}to{transform:translate3d(-15%,0,0)}}
.cine-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  linear-gradient(180deg,rgba(8,16,40,.5) 0%,rgba(8,16,40,.16) 20%,rgba(8,16,40,.5) 54%,rgba(8,16,40,.97) 100%),
  linear-gradient(100deg,rgba(8,16,40,.86) 0%,rgba(8,16,40,.44) 44%,rgba(8,16,40,0) 82%)}
.cine-hero .hero__inner{position:relative;width:100%;max-width:var(--container-wide);margin-inline:auto;gap:0;
  padding:clamp(64px,7.4vh,88px) var(--gutter) clamp(24px,3vh,40px)}
.cine-hero .hero__eyebrow{display:inline-flex;align-self:flex-start;align-items:center;gap:11px;color:#EAF4FF;
  background:rgba(7,14,36,.66);border:1px solid rgba(120,180,240,.32);padding:8px 17px 8px 14px;border-radius:999px;
  font-family:var(--font-mono);font-size:12px;letter-spacing:.15em;text-transform:uppercase;margin:0 0 clamp(16px,1.8vw,22px);
  text-shadow:none}
.cine-hero .hero__eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sky-bright);
  box-shadow:0 0 10px rgba(51,180,242,.85);flex:none}
.cine-hero h1{color:#fff;font-weight:700;font-size:clamp(2.35rem,1rem + 4.1vw,4.5rem);line-height:1.0;
  letter-spacing:-.03em;text-wrap:balance;max-width:15ch;text-shadow:0 4px 34px rgba(4,10,28,.66)}
.cine-hero h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}
.cine-hero h1 .ln>span{display:block}
.cine-hero .hero__lead{color:#fff;font-size:clamp(1.02rem,1rem + .35vw,1.2rem);line-height:1.55;max-width:46ch;
  margin-top:clamp(12px,1.4vw,18px);text-shadow:0 2px 22px rgba(4,10,28,.7)}
.cine-hero .hero__cta{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(12px,1.4vw,18px);margin-top:clamp(16px,1.9vw,22px)}
.cine-hero .hero__phone{display:inline-flex;align-items:center;gap:10px;color:#fff;font-family:var(--font-mono);
  font-size:15px;font-weight:500;margin-left:4px;min-height:44px}
.cine-hero .hero__phone svg{width:18px;height:18px;color:var(--sky-bright)}
/* glassy stats bar over the image */
.cine-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(18px,2.2vw,28px);max-width:900px;
  border:1px solid rgba(120,170,235,.28);border-radius:var(--radius-sm);overflow:hidden;
  background:rgba(6,12,30,.9);box-shadow:0 18px 50px -22px rgba(0,0,0,.7)}
.cine-stats__cell{padding:clamp(13px,1.3vw,18px) clamp(14px,1.6vw,24px);border-right:1px solid rgba(255,255,255,.14)}
.cine-stats__cell:last-child{border-right:0}
.cine-stats .v{font-family:var(--font-mono);font-weight:500;color:#fff;letter-spacing:-.02em;
  font-size:clamp(1.45rem,1rem + 1.4vw,2.2rem);line-height:1;text-shadow:0 1px 12px rgba(4,10,28,.55)}
.cine-stats .l{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  color:#E4ECFB;margin-top:7px;line-height:1.3}
/* scroll cue */
.cine-hero__scroll{position:absolute;right:calc(var(--gutter) + 4px);bottom:clamp(36px,6vh,78px);z-index:2;
  display:inline-flex;flex-direction:column;align-items:center;gap:12px;color:var(--on-dark-muted);
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;writing-mode:vertical-rl}
.cine-hero__scroll .line{width:1px;height:46px;background:linear-gradient(var(--sky-bright),transparent)}
html.js .cine-hero__scroll .line{animation:scrollPulse 2.2s ease-in-out infinite}
@keyframes scrollPulse{0%,100%{transform:scaleY(.4);transform-origin:top;opacity:.5}50%{transform:scaleY(1);opacity:1}}
@media (max-width:760px){
  .cine-hero{min-height:100svh}
  .cine-hero .hero__inner{padding-top:clamp(60px,7.5vh,82px);padding-bottom:clamp(18px,2.6vh,28px)}
  .cine-stats{grid-template-columns:repeat(2,1fr);margin-top:clamp(16px,2.2vw,22px)}
  .cine-stats__cell{padding:11px 14px}
  .cine-stats__cell:nth-child(2){border-right:0}
  .cine-stats__cell:nth-child(1),.cine-stats__cell:nth-child(2){border-bottom:1px solid rgba(255,255,255,.14)}
  .cine-stats .v{font-size:1.4rem}
  .cine-hero__scroll{display:none}
}

/* ---- full-bleed parallax image bands ---- */
.band{position:relative;display:flex;align-items:center;min-height:clamp(470px,58vw,690px);
  overflow:hidden;isolation:isolate;background:var(--surface-deep)}
.band__bg{position:absolute;inset:-14% 0;z-index:-2;will-change:transform}
.band__bg img{width:100%;height:100%;object-fit:cover}
.band::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(7,13,32,.93) 0%,rgba(7,13,32,.64) 42%,rgba(7,13,32,.12) 100%)}
.band__inner{position:relative;width:100%;max-width:var(--container-wide);margin-inline:auto;
  padding:clamp(54px,7vw,96px) var(--gutter);display:flex}
.band__col{max-width:548px}
.band__eyebrow{display:inline-flex;align-items:center;gap:12px;color:var(--sky-bright);font-family:var(--font-mono);
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px}
.band__eyebrow::before{content:"";width:30px;height:2px;background:var(--sky-bright);flex:none}
.band h2{color:#fff;font-size:clamp(1.85rem,1rem + 3.1vw,3.6rem);line-height:1.06;letter-spacing:-.026em;
  text-wrap:balance;max-width:18ch;text-shadow:0 4px 40px rgba(4,10,28,.5)}
.band__lead{color:var(--on-dark);font-size:clamp(1.02rem,1rem + .3vw,1.16rem);line-height:1.6;max-width:46ch;
  margin-top:clamp(16px,1.8vw,22px);text-shadow:0 2px 18px rgba(4,10,28,.55)}
.band__points{list-style:none;margin:clamp(20px,2.4vw,28px) 0 0;display:grid;gap:12px}
.band__points li{display:flex;align-items:center;gap:11px;color:#EAF1FF;font-size:.99rem;font-weight:500}
.band__points svg{width:20px;height:20px;color:var(--sky-bright);flex:none}
.band__cta{margin-top:clamp(22px,2.6vw,30px)}
.band .link-arrow{color:var(--sky-bright)}
.band--right::after{background:linear-gradient(270deg,rgba(7,13,32,.93) 0%,rgba(7,13,32,.64) 42%,rgba(7,13,32,.12) 100%)}
.band--right .band__inner{justify-content:flex-end}

/* ---- cinematic CTA over image ---- */
.cine-cta{position:relative;overflow:hidden;isolation:isolate;background:var(--surface-deep);padding-block:clamp(90px,12vw,168px)}
.cine-cta .cine-cta__bg{position:absolute;inset:0;z-index:-2}
.cine-cta .cine-cta__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.cine-cta::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(95% 75% at 50% 40%,rgba(6,11,26,.4),rgba(6,11,26,0) 76%),
    linear-gradient(180deg,rgba(6,11,26,.88) 0%,rgba(6,11,26,.74) 42%,rgba(6,11,26,.9) 100%)}
.cine-cta__inner{position:relative;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);text-align:center}
.cine-cta__inner h2{color:#fff;font-size:clamp(2.1rem,1rem + 4vw,4.2rem);line-height:1.03;letter-spacing:-.028em;text-wrap:balance;max-width:18ch;margin-inline:auto;text-shadow:0 2px 34px rgba(3,7,18,.92),0 1px 6px rgba(3,7,18,.7)}
.cine-cta__inner .lead{color:#EAF1FF;max-width:56ch;margin:clamp(18px,2vw,26px) auto clamp(30px,3.4vw,42px);text-shadow:0 2px 20px rgba(3,7,18,.85)}
.cine-cta__actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:center}
.cine-cta__phone{color:var(--on-dark-muted);font-family:var(--font-mono);font-size:14px}
.cine-cta__phone a{color:#fff;border-bottom:1px solid rgba(255,255,255,.3)}

@media (prefers-reduced-motion:reduce){
  html.js .cine-hero .hero__bg img{animation:none;transform:scale(1.04)}
  html.js .cine-hero .hero__atmos span{animation:none}
  .band__bg{inset:0}
  html.js .cine-hero__scroll .line{animation:none}
}
