/* ─────────────────────────────────────────────────────────────────────────
 * design-systems/lutera/tokens.css
 *
 * Token bindings for Lutera Technologies, a company that imports
 * equipment and installs computer labs and IT infrastructure for
 * schools, government agencies and private companies. The brand reads
 * as an international-grade technology firm: reliable, established,
 * modern, techy, simple. Source of truth: the Lutera Brand Decisions
 * Brief (19 Oct 2026) and the approved master logo (same date).
 *
 * Paste the whole file (both blocks) into the first <style> of every
 * artifact, then reference every value through its token name.
 *
 * Brand-specific schema decisions:
 *   1. --accent is the SIGNAL colour, and it follows the logo: Lutera
 *      blue (#2E5BFF) on light grounds, signal cyan (#2BC4E8) on dark
 *      grounds. The short bars of the symbol use exactly this pairing,
 *      so the UI accent and the logo always agree.
 *   2. --bg is Paper (#F3F2EE), not white. Cards (--surface) lift to
 *      white on top of it. --surface-warm is a real third tier: a pale
 *      blue wash for feature bands, so it is bound independently.
 *   3. --fg is Ink (#111318) for reading text. Headings and the logo
 *      use Navy (#161A3D) through the --lt-navy extension. The ramp is
 *      four stops (Ink, slate, muted, meta), each checked at 4.5:1 or
 *      better on Paper, white and the blue wash.
 *   4. Sora is the brand typeface (SIL OFL, free for print, signage and
 *      web). Playfair Display Italic (SIL OFL) is a rare accent: one to
 *      three words inside a headline, or a short pull quote, at most
 *      once per screen (--lt-font-accent). JetBrains Mono (SIL OFL) is
 *      used only for asset numbers, serial numbers, code and figures.
 *   5. --radius-pill is the brand's bar shape: buttons, tags and status
 *      pills are fully rounded like the bars of the symbol.
 *   6. --tracking-display is -0.03em: Sora is wide; the wordmark itself
 *      runs at -0.05em, headings slightly looser.
 *   7. Motion uses the strong ease-out cubic-bezier(0.23, 1, 0.32, 1).
 *      The one signature animation is the blinking cursor.
 *
 * Brand extensions use the --lt- prefix (Lutera) and are documented in
 * DESIGN.md §2. Shared components must not depend on them; brand
 * artifacts may.
 * ─────────────────────────────────────────────────────────────────── */

:root {
  /* Surface (3 levels): Paper canvas, white cards, blue-wash bands */
  --bg: #F3F2EE;
  --surface: #FFFFFF;
  --surface-warm: #EEF2FF;

  /* Foreground ramp (4 levels) */
  --fg: #111318;
  --fg-2: #3A3F5C;
  --muted: #5D6280;
  --meta: #656A88;

  /* Border (2 levels) */
  --border: #D3D4DC;
  --border-soft: #E3E3E8;

  /* Accent = signal colour (Lutera blue on light) */
  --accent: #2E5BFF;
  --accent-on: #FFFFFF;
  --accent-hover: #224AE0;
  --accent-active: #1B3CB8;

  /* Semantic (lab status: commissioned / pending / fault) */
  --success: #157A4F;
  --warn: #A15C00;
  --danger: #C42F2F;

  /* Typography */
  --font-display: "Sora", "Helvetica Neue", Arial, sans-serif;
  --font-body: "Sora", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 18px;
  --text-xl: 24px;
  --text-2xl: 32px;
  --text-3xl: 44px;
  --text-4xl: 64px;

  --leading-body: 1.6;
  --leading-tight: 1.12;
  --tracking-display: -0.03em;

  /* Spacing (4px base) */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;

  /* Section rhythm */
  --section-y-desktop: 96px;
  --section-y-tablet: 72px;
  --section-y-phone: 48px;

  /* Radius: pill echoes the rounded bars of the symbol */
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-pill: 9999px;

  /* Elevation: navy-tinted, used sparingly */
  --elev-flat: none;
  --elev-ring: 0 0 0 1px var(--border);
  --elev-raised: 0 8px 24px rgba(22, 26, 61, 0.08);

  /* Focus */
  --focus-ring: 0 0 0 3px color-mix(in oklab, var(--accent), transparent 60%);

  /* Motion */
  --motion-fast: 150ms;
  --motion-base: 200ms;
  --ease-standard: cubic-bezier(0.23, 1, 0.32, 1);

  /* Layout */
  --container-max: 1200px;
  --container-gutter-desktop: 32px;
  --container-gutter-tablet: 24px;
  --container-gutter-phone: 16px;

  /* Brand extensions (Lutera palette, fixed in every theme) */
  --lt-navy: #161A3D;
  --lt-blue: #2E5BFF;
  --lt-cyan: #2BC4E8;
  --lt-paper: #F3F2EE;
  --lt-ink: #111318;
  --lt-white: #FFFFFF;
  /* Theme-aware brand roles */
  --lt-heading: #161A3D;
  --lt-logo-main: #161A3D;
  --lt-logo-signal: #2E5BFF;
  --lt-tracking-wordmark: -0.05em;
  --lt-tracking-label: 0.14em;
  --lt-tracking-descriptor: 0.32em;
  /* Accent serif: always italic, rare (see DESIGN.md §4) */
  --lt-font-accent: "Playfair Display", Georgia, "Times New Roman", serif;
  --lt-accent-scale: 1.04em; /* matches Sora x-height (534 vs 514) */
}

[data-theme="dark"] {
  /* Dark ground = Navy. Accent switches to signal cyan, as in the logo. */
  --bg: #161A3D;
  --surface: #1F2452;
  --surface-warm: #0F1230;

  --fg: #F3F2EE;
  --fg-2: #D4D7E8;
  --muted: #A4A9C6;
  --meta: #8C92B4;

  --border: #343A6E;
  --border-soft: #282D5C;

  --accent: #2BC4E8;
  --accent-on: #161A3D;
  --accent-hover: #4FD1EE;
  --accent-active: #1FA9CB;

  --success: #3DD68C;
  --warn: #F2B84B;
  --danger: #FF7A7A;

  --elev-raised: 0 8px 24px rgba(0, 0, 0, 0.32);

  --lt-heading: #FFFFFF;
  --lt-logo-main: #FFFFFF;
  --lt-logo-signal: #2BC4E8;

  color-scheme: dark;
}

/* Public website foundations. Brand tokens above are supplied without changes. */
@font-face{font-family:Sora;src:url('fonts/Sora-400.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Sora;src:url('fonts/Sora-500.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Sora;src:url('fonts/Sora-600.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:'Playfair Display';src:url('fonts/PlayfairDisplay-Italic-500.woff2') format('woff2');font-style:italic;font-weight:500;font-display:swap}
*{box-sizing:border-box}html{scroll-padding-top:88px;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--text-base);font-weight:400;line-height:var(--leading-body);-webkit-font-smoothing:antialiased}body.drawer-open{overflow:hidden}
[hidden]{display:none!important}img,svg{max-width:100%}img{display:block;height:auto}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}button:disabled{cursor:default;opacity:.4}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:4px}main:focus{outline:0}p{margin:0 0 var(--space-5);color:var(--fg-2)}p:last-child{margin-bottom:0}h1,h2,h3{margin:0 0 var(--space-5);color:var(--lt-heading);font-family:var(--font-display);font-weight:600;overflow-wrap:normal}h1{font-size:var(--text-3xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-display)}h2{font-size:var(--text-2xl);line-height:1.2;letter-spacing:-.02em}h3{font-size:var(--text-xl);line-height:1.3;letter-spacing:-.01em}ul{padding-left:24px}small{font-size:var(--text-sm)}.wrap{width:100%;max-width:var(--container-max);padding:0 var(--container-gutter-desktop);margin:0 auto}section{padding:var(--section-y-desktop) 0}.pale{background:var(--surface-warm)}.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center}.split>*{min-width:0}.section-head{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--space-12);align-items:end;margin-bottom:var(--space-12)}.section-head h2,.section-head>div h2{margin-bottom:0}.section-head>p{max-width:52ch;margin-bottom:0}.section-head>.text-link{justify-self:end}.lt-accent{font-family:var(--lt-font-accent);font-size:var(--lt-accent-scale);font-style:italic;font-weight:500;letter-spacing:0}.eyebrow,.mini-label{display:block;font-size:var(--text-xs);font-weight:500;letter-spacing:var(--lt-tracking-label);line-height:1.4;text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-4)}.icon{display:inline-flex;flex:none;width:24px;height:24px;color:var(--accent)}.icon svg{width:24px;height:24px}.text-link{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-sm);font-weight:500;line-height:1.5;min-height:44px}.text-link svg{flex:none}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-6);margin-top:var(--space-8)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:var(--space-3);min-height:44px;max-width:100%;padding:12px 22px;border:1.5px solid var(--accent);border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-on);font-size:var(--text-sm);font-weight:500;line-height:1.4;text-align:center;transition:background var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast)}.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover);text-decoration:none}.btn:active{background:var(--accent-active)}.btn svg{width:18px;flex-shrink:0}.btn.light{background:transparent;border-color:var(--lt-heading);color:var(--lt-heading)}.btn.light:hover{background:var(--surface-warm)}.skip{position:fixed;left:16px;top:-100px;z-index:100;padding:12px 20px;background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius-sm)}.skip:focus{top:12px}
/* Compact, opaque navigation. No visual effects obscure the text. */
header{position:sticky;top:0;z-index:30;background:var(--bg);border-bottom:1px solid var(--border-soft);transition:box-shadow var(--motion-fast)}header.is-scrolled{box-shadow:var(--elev-raised)}.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;flex-shrink:0;min-height:48px;min-width:112px}.brand img{height:32px;width:auto}.links{display:flex;align-items:center;gap:24px}.links>a:not(.btn){font-size:var(--text-sm);font-weight:500;color:var(--fg-2);min-height:44px;display:inline-flex;align-items:center}.links>a[aria-current]{color:var(--accent)}.links>a:not(.btn):hover{color:var(--accent)}.links .btn{white-space:nowrap}.enquiry-nav{display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--radius-pill);min-height:44px;padding:8px 12px;background:transparent;color:var(--fg-2);font-size:var(--text-sm)}.enquiry-nav:hover{background:var(--surface-warm)}[data-enquiry-count]{display:inline-grid;place-items:center;min-width:24px;height:24px;background:var(--surface-warm);border-radius:var(--radius-pill);font-size:var(--text-xs);color:var(--lt-navy)}[data-enquiry-count].has-items{background:var(--accent);color:var(--accent-on)}.menu{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--border);border-radius:var(--radius-pill);background:transparent;color:var(--lt-heading)}
/* Home: all eight services share the same visual weight. */
.hero{padding:96px 0;background:var(--bg)}.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center}.hero-copy h1{font-size:clamp(40px,4.4vw,64px);margin-bottom:28px}.hero-copy>p{max-width:56ch;font-size:var(--text-lg);line-height:1.7}.hero-panel{padding:40px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.rows-pattern{display:block;width:100%;height:auto;color:var(--border-soft)}.rows-pattern .row-signal{fill:var(--lt-blue)}.hero-panel-copy{padding-top:40px}.hero-panel h2{font-size:var(--text-xl);margin-bottom:12px}.hero-panel p{font-size:var(--text-sm);line-height:1.7}.home-services{background:var(--surface)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.service-card>img{width:100%;height:192px;object-fit:cover}.service-card-copy{display:flex;flex-direction:column;align-items:start;flex:1;padding:24px}.service-card .icon{margin-bottom:20px}.service-card :is(h2,h3){font-size:24px;margin-bottom:16px}.service-card p{font-size:16px;line-height:1.7;margin-bottom:24px}.service-card .text-link{margin-top:auto;font-size:14px;align-items:center;justify-content:space-between;width:100%}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:32px}.two-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
/* Interior pages and equipment detail. */
.page-hero{padding:64px 0 72px;border-bottom:1px solid var(--border-soft)}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:32px;font-size:14px;color:var(--fg-2)}.breadcrumb a{color:var(--muted);display:inline-flex;align-items:center;min-height:32px}.breadcrumb>span[aria-hidden]{color:var(--meta)}.page-hero h1{max-width:900px}.page-hero> .wrap>p{font-size:18px;line-height:1.7;max-width:72ch;margin-top:24px}.service-figure{margin:0}.service-figure>img{width:100%;aspect-ratio:1.3;object-fit:cover;border-radius:var(--radius-md)}figcaption,.form-footnote,.photo-note{font-size:14px;line-height:1.65;color:var(--muted);margin-top:16px}.ticks{list-style:none;margin:24px 0 32px;padding:0}.ticks li{position:relative;padding-left:28px;margin:12px 0;color:var(--fg-2)}.ticks li:before{content:'';position:absolute;left:2px;top:7px;width:7px;height:12px;border-right:1.75px solid var(--accent);border-bottom:1.75px solid var(--accent);transform:rotate(45deg)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:40px}.step{border-top:1px solid var(--border);padding-top:24px}.step>span{display:block;color:var(--accent);font-size:14px;font-weight:500;margin-bottom:20px}.step h3{font-size:24px}.commitments{background:var(--surface)}.commitment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-bottom:24px}.commitment-grid article{border-top:1px solid var(--border);padding-top:24px}.commitment-grid h3{font-size:24px}.commitment-grid p{font-size:16px}.company-profile{display:grid;grid-template-columns:1fr 1fr;gap:64px}.company-facts{margin:32px 0 16px}.company-facts>div{padding:16px 0;border-bottom:1px solid var(--border-soft)}.company-facts dt{font-size:14px;color:var(--muted);margin-bottom:8px}.company-facts dd{margin:0;overflow-wrap:anywhere}.company-address{font-style:normal;line-height:1.7;color:inherit}.company-scope{padding:32px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.related-services{display:flex;flex-wrap:wrap;gap:16px 32px;margin-top:24px}.cta-section{padding-top:48px}.cta{display:flex;align-items:center;justify-content:space-between;gap:48px;padding:48px;background:var(--lt-blue);border-radius:var(--radius-md);color:var(--lt-white)}.cta h2{color:var(--lt-white);max-width:22ch}.cta p{color:var(--lt-white);max-width:55ch}.cta .btn{flex-shrink:0;background:var(--lt-white);border-color:var(--lt-white);color:var(--lt-navy)}.cta .btn:hover{background:var(--lt-paper);border-color:var(--lt-paper)}
/* Native forms remain fully usable before JavaScript loads. */
.form-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px;align-items:start}.form-box{padding:32px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.form-box h2{font-size:32px}.form-box>p{font-size:14px;margin-bottom:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{display:flex;flex-direction:column;min-width:0;gap:8px}.field.full{grid-column:1/-1}.field label{display:block;font-size:14px;font-weight:500;color:var(--fg-2)}.field label small{font-weight:400;color:var(--muted);white-space:normal}.field input,.field select,.field textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--fg);min-height:48px;padding:12px;font-size:16px;line-height:1.5}.field select{padding-right:32px}.field textarea{min-height:144px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.field input[type=date]{min-width:0;max-width:100%}.field label.check,.check{display:flex;gap:12px;align-items:start;min-height:44px;padding:8px 0;cursor:pointer}.field .check input{flex:none;width:20px;min-height:20px;height:20px;margin:2px 0 0;accent-color:var(--accent)}.check span{font-size:14px;line-height:1.6}.check a{text-decoration:underline}.notice{padding:16px 20px;background:var(--surface-warm);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;color:var(--fg-2)}.notice:empty{display:none}.notice.error{border-color:var(--danger);color:var(--danger)}.notice.success{border-color:var(--success);color:var(--success)}.honey{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.sidebar{padding:32px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.sidebar h2{font-size:24px}.sidebar-box{padding-top:24px;margin-top:24px;border-top:1px solid var(--border-soft)}.sidebar-box h3{font-size:14px;font-weight:500;color:var(--muted);margin-bottom:12px}.sidebar-box>a{display:block;overflow-wrap:anywhere;min-height:32px}.sidebar-box .text-link{display:flex;min-height:44px}.faq{max-width:850px}.faq details{border-bottom:1px solid var(--border);padding:16px 0}.faq summary{font-weight:500;cursor:pointer;min-height:44px;display:list-item;align-content:center}.faq details p{padding:12px 0}.legal{max-width:800px}.legal h2{font-size:24px;margin:40px 0 16px}.legal h2:first-child{margin-top:0}.legal p{line-height:1.8}.legal a{overflow-wrap:anywhere;text-decoration:underline}.legal .btn{margin-top:24px}
/* Footer is the single dark chapter. */
footer{padding:64px 0 0;background:var(--bg);color:var(--fg)}.footer-grid{display:grid;grid-template-columns:1.15fr .65fr 1.3fr 1.1fr;gap:32px}.footer-grid h2{font-size:14px;color:var(--lt-heading);margin:8px 0 20px;font-weight:500;letter-spacing:0}.footer-grid p{font-size:14px;color:var(--fg-2);margin-top:24px;max-width:28ch}.footer-grid .footer-company{color:var(--muted);margin-top:24px}.footer-grid a:not(.brand){display:flex;align-items:center;min-height:44px;font-size:14px;color:var(--fg-2);line-height:1.6;overflow-wrap:anywhere}.footer-grid a:not(.brand):hover{color:var(--accent)}.footer-grid address{font-size:14px;color:var(--fg-2);margin-top:16px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid var(--border);margin-top:48px;padding:24px 0;color:var(--muted);font-size:14px}.footer-bottom>div{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.footer-bottom a{display:inline-flex;align-items:center;min-height:44px;color:var(--fg-2)}
@media(max-width:1023px){.wrap{padding-left:var(--container-gutter-tablet);padding-right:var(--container-gutter-tablet)}section{padding:var(--section-y-tablet) 0}.menu{display:inline-flex}.links{display:none;position:absolute;left:0;right:0;top:72px;max-height:calc(100dvh - 72px);overflow:auto;padding:24px;background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--elev-raised)}.links.open{display:grid;grid-template-columns:1fr;gap:8px}.links>a:not(.btn){padding:8px 16px;min-height:48px;font-size:16px}.links .enquiry-nav{justify-content:start;padding-left:16px;min-height:48px;font-size:16px}.links .btn{margin-top:8px}.hero{padding:72px 0}.hero-grid{grid-template-columns:1fr;gap:40px}.hero-copy h1{font-size:64px}.hero-copy>p{max-width:60ch}.hero-panel{display:grid;grid-template-columns:1.15fr 1fr;gap:32px;align-items:center;padding:32px}.hero-panel-copy{padding:0}.hero-panel h2{font-size:24px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-head{gap:32px}.split{gap:32px}.form-layout{grid-template-columns:1.3fr 1fr;gap:24px}.company-profile{gap:32px}.commitment-grid{gap:24px}.commitment-grid h3{font-size:24px}.footer-grid{grid-template-columns:1.2fr 1fr;gap:40px}.cta{padding:32px;gap:32px}.cta h2{font-size:32px}.steps{gap:24px}}
@media(max-width:639px){.wrap{padding-left:var(--container-gutter-phone);padding-right:var(--container-gutter-phone)}section{padding:var(--section-y-phone) 0}.hero{padding:48px 0}.hero-copy h1{font-size:40px;line-height:1.12;margin-bottom:24px}.hero-copy>p{font-size:16px;line-height:1.7}.hero-grid{gap:32px}.hero-panel{display:block;padding:24px}.rows-pattern{max-height:200px}.hero-panel-copy{padding-top:24px}.hero-panel-copy p br{display:none}.hero-panel h2{font-size:24px}.actions{gap:16px;margin-top:24px}.hero .actions{align-items:flex-start;flex-direction:column;gap:8px}h1{font-size:32px}h2{font-size:26px}h3{font-size:24px}.section-head{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.section-head>.text-link{justify-self:start}.service-grid,.split,.two-cards,.values,.steps,.company-profile,.commitment-grid,.form-layout{grid-template-columns:1fr}.service-card>img{height:auto;aspect-ratio:1.65}.service-card :is(h2,h3){font-size:24px}.service-card-copy{padding:24px}.page-hero{padding:32px 0 48px}.page-hero h1 br{display:none}.page-hero .wrap>p{font-size:16px}.breadcrumb{margin-bottom:24px;font-size:14px;gap:8px}.split{gap:32px}.step{padding-top:24px}.steps{gap:32px}.company-scope{padding:24px}.company-profile{gap:32px}.form-box,.sidebar{padding:24px}.form-box h2{font-size:26px}.form-grid{grid-template-columns:1fr;gap:24px}.cta-section{padding-top:24px}.cta{align-items:flex-start;flex-direction:column;padding:32px 24px;gap:24px}.cta h2{font-size:26px}.cta .btn{align-self:start}.commitment-grid{gap:24px}.commitment-grid h3{font-size:24px}.footer-grid{grid-template-columns:1fr;gap:32px}.footer-grid>div:first-child p{max-width:40ch}.footer-grid .footer-services{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.footer-services h2{grid-column:1/-1}.footer-bottom{align-items:start;flex-direction:column;gap:12px}.footer-bottom>div{gap:16px}.service-figure>img{aspect-ratio:1.45}.legal h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Photographic home hero: text stays stable while the background moves. */
.hero--photographic{position:relative;isolation:isolate;overflow:hidden;padding:56px 0 24px;background:var(--lt-navy);color:var(--lt-white)}
.hero-media,.hero-shade{position:absolute;inset:0;z-index:-2;pointer-events:none}.hero-media{overflow:hidden;background:var(--lt-navy)}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;opacity:0;transform:scale(1.025);transition:opacity 1400ms ease-in-out;animation:hero-photo-pan 18s ease-in-out infinite alternate;animation-play-state:paused}
.hero-slide.is-active{opacity:1}.hero--photographic[data-motion=running] .hero-slide.is-active{animation-play-state:running}
.hero-shade{z-index:-1;background:rgba(12,17,42,.72)}
.hero--photographic .hero-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);min-height:420px;gap:64px;position:relative}
.hero--photographic h1,.hero--photographic h2,.hero--photographic p,.hero--photographic .text-link{color:var(--lt-white)}
.hero--photographic .hero-copy>p{max-width:58ch}.hero--photographic .hero-copy h1{font-size:clamp(40px,4.5vw,64px)}
.hero--photographic .actions .btn{background:var(--lt-white);border-color:var(--lt-white);color:var(--lt-navy)}
.hero--photographic .actions .btn:hover{background:var(--lt-paper);border-color:var(--lt-paper)}
.hero--photographic .text-link{text-decoration:underline;text-underline-offset:5px}
.hero--photographic .hero-panel{display:block;align-self:end;margin-bottom:32px;padding:24px 0 0;background:transparent;border:0;border-top:1px solid rgba(255,255,255,.45);border-radius:0}
.hero--photographic .hero-panel-copy{padding:0}.hero--photographic .hero-panel h2{font-size:clamp(24px,2.2vw,32px);line-height:1.3;margin-bottom:16px}.hero--photographic .hero-panel p{font-size:16px;line-height:1.7}
.hero-footer{min-height:44px;display:flex;justify-content:space-between;align-items:center;gap:24px;position:relative;margin-top:40px;padding-right:112px}
.hero--photographic .hero-photo-note{font-size:14px;margin:0;max-width:44ch}
.motion-settings{font:inherit;color:var(--fg-2);background:none;border:0;padding:0;min-height:44px;text-decoration:underline;text-underline-offset:3px}.motion-settings:hover{color:var(--lt-white)}
.hero--photographic :is(a,button):focus-visible{outline-color:var(--lt-white)}
@keyframes hero-photo-pan{from{transform:scale(1.025) translate3d(-.5%,0,0)}to{transform:scale(1.085) translate3d(.5%,-.5%,0)}}
@media(max-width:1023px){.hero--photographic{padding-top:64px}.hero--photographic .hero-grid{grid-template-columns:1.3fr 1fr;gap:40px;min-height:440px}.hero--photographic .hero-copy h1{font-size:48px}.hero--photographic .hero-panel{margin-bottom:24px}.hero-footer{padding-right:104px}}
@media(max-width:767px){.hero--photographic{padding-top:48px}.hero--photographic .hero-grid{grid-template-columns:1fr;gap:32px;min-height:0}.hero--photographic .hero-panel{margin:0;max-width:440px}.hero--photographic .hero-copy h1{font-size:40px}.hero--photographic .hero-copy>p{font-size:16px}.hero--photographic .actions{gap:16px}.hero--photographic .hero-footer{flex-direction:column;align-items:start;padding-right:88px;gap:16px;margin-top:32px}.hero--photographic .hero-photo-note{font-size:14px}.hero--photographic .hero-panel h2{font-size:24px}.hero--photographic .hero-panel p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.hero-slide{animation:none!important;transition:none!important;transform:none}}

/* Functional equipment, enquiry and quote components, using the shared tokens. */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.need-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.need-card{display:flex;flex-direction:column;align-items:start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:24px;color:var(--fg);transition:border-color var(--motion-fast)}.need-card:hover{border-color:var(--accent);text-decoration:none}.need-card .icon{margin-bottom:24px}.need-card h3{font-size:24px}.need-card p{font-size:16px;margin-bottom:24px}.need-card>.text-link{margin-top:auto}.explorer-section{background:var(--surface)}.explorer-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.7fr);gap:32px;align-items:start}.equipment-tabs{display:grid;gap:12px}.equipment-tabs>button{display:flex;text-align:left;align-items:center;gap:16px;padding:20px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--fg-2);min-height:96px;transition:border-color var(--motion-fast),background var(--motion-fast)}.equipment-tabs>button[aria-selected=true]{border-color:var(--accent);background:var(--surface-warm)}.equipment-tabs>button>span:nth-child(2){flex:1;min-width:0}.equipment-tabs b{display:block;font-size:16px;font-weight:500;line-height:1.5}.equipment-tabs small{display:block;font-size:14px;line-height:1.5;color:var(--muted);margin-top:4px}.equipment-tabs .icon{flex-shrink:0}.equipment-panel{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;padding:32px}.equipment-panel h3{font-size:24px}.equipment-panel .mini-label{color:var(--muted)}.equipment-panel .ticks{margin:16px 0 24px}.equipment-panel .actions{gap:12px;margin-top:24px}.explorer-visual{margin-top:32px}.explorer-visual img{width:100%;aspect-ratio:1.9;object-fit:cover;border-radius:var(--radius-sm)}.equipment-grid,.service-solutions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.equipment-card{display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.equipment-card>img{height:200px;width:100%;object-fit:cover}.equipment-card>div{display:flex;flex:1;flex-direction:column;align-items:start;padding:24px}.equipment-card h3{font-size:24px;margin-bottom:16px}.equipment-card p{font-size:16px;line-height:1.7;margin-bottom:24px}.equipment-card .add-equipment{margin-top:auto}.equipment-card .service-detail-link{margin-top:8px}.photo-note a{color:var(--accent);text-decoration:underline}.photo-note{margin-top:24px;max-width:90ch}.solutions-jump{padding:16px 0;border-bottom:1px solid var(--border)}.solutions-jump nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.solutions-jump a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:500}.digital-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.digital-grid .equipment-card>img{height:240px}.solution-photo-note{padding:24px 0}.compare-picker{display:flex;flex-wrap:wrap;gap:12px 24px;border:0;padding:0;margin:0 0 32px}.compare-picker legend{float:left;width:100%;font-size:14px;font-weight:500;color:var(--fg-2);margin-bottom:12px}.compare-picker label{display:flex;align-items:center;gap:12px;font-size:14px;min-height:44px;cursor:pointer}.compare-picker input{width:20px;height:20px;margin:0;accent-color:var(--accent)}.compare-table{max-width:100%;overflow:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}table{border-collapse:collapse;width:100%;min-width:700px;text-align:left;font-size:14px;line-height:1.7}th,td{padding:20px 24px;border-bottom:1px solid var(--border-soft);vertical-align:top}thead th{font-weight:500;color:var(--lt-heading);background:var(--surface-warm)}tbody th{font-weight:500;color:var(--fg-2);width:24%}td{color:var(--fg-2);width:25%}tr:last-child>th,tr:last-child>td{border-bottom:0}table .btn{font-size:14px;padding:10px 16px}.compare-feedback{margin-top:16px;font-size:14px;color:var(--fg-2)}.compare-feedback:empty{margin:0}.timeline-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:32px}.timeline-tabs button{border:0;border-top:2px solid var(--border);background:transparent;padding:20px 0;text-align:left;color:var(--fg-2);font-size:14px;line-height:1.6;min-height:88px}.timeline-tabs button span{display:block;font-weight:500;margin-bottom:8px}.timeline-tabs button[aria-selected=true]{border-top-color:var(--accent);color:var(--accent)}.stage-panel{display:grid;grid-template-columns:1fr 1fr;gap:48px;border:1px solid var(--border);border-radius:var(--radius-md);padding:32px;background:var(--surface)}.stage-panel h3{font-size:24px}.prepare-card{padding-left:32px;border-left:1px solid var(--border-soft)}.prepare-card .ticks{margin:16px 0}.procurement-timeline .mini-label{font-size:12px}.guided-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:48px;align-items:start}.wizard-progress{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);padding:0;margin:0 0 24px;gap:16px}.wizard-progress li{padding-top:16px;border-top:2px solid var(--border);font-size:14px;color:var(--muted);line-height:1.5}.wizard-progress span{display:block;font-weight:500;margin-bottom:8px}.wizard-progress li[aria-current]{border-color:var(--accent);color:var(--accent)}.quote-step{padding:0;border:0;margin:0 0 32px;min-width:0}.quote-step legend{font-size:24px;font-weight:600;color:var(--lt-heading);letter-spacing:-.01em;padding:0;margin-bottom:16px}.step-description{font-size:16px;margin-bottom:24px}.wizard-actions{display:flex;flex-wrap:wrap;gap:12px;padding-top:24px;border-top:1px solid var(--border-soft)}#wizard-status:not(:empty){margin-bottom:24px}.list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.list-heading h3{font-size:16px;font-weight:500;margin:0}.text-button{border:0;background:transparent;color:var(--accent);text-decoration:underline;text-underline-offset:4px;padding:8px 0;min-height:44px;font-size:14px}.quote-list-slot{padding:20px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}[data-quote-list] p{font-size:14px;margin-top:12px}[data-quote-list] ul{list-style:none;padding:0;margin:12px 0 0}[data-quote-list] li{display:flex;gap:16px;justify-content:space-between;padding:12px 0;border-top:1px solid var(--border-soft);font-size:14px}[data-quote-list] b{white-space:nowrap}.quote-review{padding:20px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.quote-review summary{font-size:16px;font-weight:500;cursor:pointer;min-height:44px}.quote-review pre{font:inherit;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;margin:16px 0 0;color:var(--fg-2)}.quote-aside-card{padding:32px;background:var(--surface-warm);border-radius:var(--radius-md)}.quote-aside-card h3{font-size:24px}.quote-aside-card .ticks{margin-bottom:0}.quote-aside-contact{padding:32px 0}.quote-aside-contact>a{display:flex;align-items:center;min-height:44px;overflow-wrap:anywhere}.quote-aside-contact>p{font-size:24px;font-weight:600;color:var(--lt-heading)}.enquiry-dialog{position:fixed;inset:0 0 0 auto;margin:0;max-height:100dvh;height:100dvh;width:min(560px,100vw);max-width:100vw;padding:32px;border:0;border-left:1px solid var(--border);background:var(--surface);color:var(--fg);overflow:auto}.enquiry-dialog::backdrop{background:rgba(22,26,61,.45)}.drawer-head{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:24px}.drawer-head h2{font-size:32px;margin:0}.drawer-intro{font-size:16px}.icon-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--lt-heading);font-size:24px}.drawer-actions{display:flex;align-items:center;gap:24px;margin:16px 0}.enquiry-dialog>.btn{display:flex;width:100%;margin-bottom:16px}.enquiry-lines{list-style:none;padding:0;margin:32px 0}.enquiry-lines li{display:flex;align-items:start;justify-content:space-between;gap:16px;padding:20px 0;border-bottom:1px solid var(--border-soft)}.enquiry-lines li>div{display:flex;flex-direction:column;align-items:start}.enquiry-lines b{font-weight:500}.enquiry-lines label{display:flex;flex-direction:column;gap:8px;max-width:100px;font-size:14px}.enquiry-lines input{width:100%;min-height:44px;padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:16px}.empty-enquiry{padding:32px 0}.empty-enquiry>span{font-size:32px;color:var(--accent)}.empty-enquiry h3{font-size:24px}.enquiry-dialog textarea{width:100%;min-height:120px;font:inherit}.enquiry-toast{position:fixed;left:24px;bottom:24px;z-index:45;max-width:min(520px,calc(100vw - 112px));padding:16px 20px;background:var(--lt-navy);color:var(--lt-white);border:1px solid var(--lt-navy);border-radius:var(--radius-md);box-shadow:var(--elev-raised);font-size:14px}.enquiry-toast button{margin-left:12px;background:none;border:0;color:var(--lt-cyan);font-size:14px;min-height:44px;text-decoration:underline;text-underline-offset:4px}.floating-contact{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:40}.floating-contact-toggle{display:grid;place-items:center;width:56px;height:56px;border-radius:var(--radius-pill);background:var(--lt-blue);color:var(--lt-white);border:1px solid var(--lt-blue);box-shadow:var(--elev-raised);cursor:pointer;list-style:none}.floating-contact-toggle::-webkit-details-marker{display:none}.floating-contact-toggle::marker{content:''}.floating-contact-toggle svg{width:24px;height:24px}.contact-close-icon{display:none}.floating-contact[open] .contact-chat-icon{display:none}.floating-contact[open] .contact-close-icon{display:block}.floating-contact-options{position:absolute;bottom:72px;right:0;display:grid;gap:8px;min-width:260px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--elev-raised)}.floating-contact:not([open]) .floating-contact-options{display:none}.floating-contact-options a{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px;border-radius:var(--radius-sm);font-size:14px;color:var(--lt-heading)}.floating-contact-options a:hover{background:var(--surface-warm);text-decoration:none}.floating-contact-options a>svg{width:24px;height:24px;flex-shrink:0;color:var(--accent)}.floating-contact-options a>span:last-child{margin-left:auto}.floating-contact-options [data-enquiry-count]{background:var(--surface-warm);color:var(--lt-navy)}
@media(max-width:1023px){.need-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.explorer-layout{grid-template-columns:1fr;gap:24px}.equipment-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.equipment-tabs>button{padding:16px;gap:12px;align-items:start;min-height:120px}.equipment-tabs>button>svg,.equipment-tabs>button>span:last-child{display:none}.equipment-tabs .icon{margin-top:4px}.equipment-panel{display:grid;grid-template-columns:1.2fr 1fr;gap:32px}.explorer-visual{margin:0;align-self:stretch}.explorer-visual img{height:100%;aspect-ratio:auto;min-height:300px}.equipment-grid,.service-solutions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guided-layout{gap:24px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.quote-aside-card{padding:24px}.stage-panel{gap:32px}.prepare-card{padding-left:24px}.equipment-card>img,.digital-grid .equipment-card>img{height:200px}.timeline-tabs{gap:16px}}
@media(max-width:639px){.need-grid,.equipment-grid,.service-solutions-grid,.digital-grid,.guided-layout,.stage-panel{grid-template-columns:1fr}.equipment-tabs{grid-template-columns:1fr;gap:12px}.equipment-tabs>button{min-height:80px;align-items:center;padding:16px}.equipment-tabs .icon{margin:0}.equipment-tabs>button>span:last-child{display:inline}.equipment-panel{display:block;padding:24px}.equipment-panel h3{font-size:24px}.explorer-visual{margin-top:24px}.explorer-visual img{height:auto;aspect-ratio:1.6;min-height:0}.equipment-card>img,.digital-grid .equipment-card>img{height:auto;aspect-ratio:1.65}.solutions-jump nav{gap:8px 20px}.solutions-jump a{font-size:14px}.timeline-tabs{grid-template-columns:1fr 1fr;gap:16px}.timeline-tabs button{min-height:88px;padding:16px 0}.stage-panel{padding:24px;gap:24px}.prepare-card{border-left:0;border-top:1px solid var(--border);padding:24px 0 0}.wizard-progress{gap:12px}.wizard-progress li{font-size:14px}.guided-form{padding:24px}.quote-aside{padding-top:24px}.quote-step legend{font-size:24px}.list-heading{align-items:start}.list-heading h3{font-size:16px}.quote-list-slot,.quote-review{padding:16px}.wizard-actions .btn{padding-left:16px;padding-right:16px}.enquiry-dialog{padding:24px 20px}.drawer-head h2{font-size:26px}.drawer-head .mini-label{font-size:12px}.enquiry-toast{left:12px;bottom:20px;padding:12px 16px}.floating-contact{right:16px;bottom:20px}.floating-contact-options{min-width:256px;max-width:calc(100vw - 32px)}.compare-table table{min-width:680px}.quote-aside-card h3{font-size:24px}}

.quote-step legend h2{font:inherit;line-height:inherit;letter-spacing:inherit;margin:0}

/* Compact cards on tablet and phone layouts. */
@media (max-width:1023px){
 .need-grid,.equipment-grid,.service-solutions-grid,.digital-grid{gap:20px}
 .need-card,.equipment-card>div{padding:20px}
 .need-card .icon{margin-bottom:16px}
 .need-card h3,.equipment-card h3{font-size:22px;line-height:1.3;margin-bottom:12px}
 .need-card p,.equipment-card p{font-size:15px;line-height:1.6;margin-bottom:16px}
 .equipment-card>img,.digital-grid .equipment-card>img{height:180px}
}
@media (max-width:639px){
 .need-grid,.equipment-grid,.service-solutions-grid,.digital-grid{gap:16px}
 .need-card{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:12px;row-gap:8px;padding:16px}
 .need-card .icon{grid-column:1;grid-row:1;width:20px;height:20px;margin:3px 0 0}
 .need-card .icon svg{width:20px;height:20px}
 .need-card h3,.need-card p,.need-card>.text-link{grid-column:2;margin-bottom:0}
 .need-card h3,.equipment-card h3{font-size:clamp(18px,4.2vw,22px);line-height:1.3}
 .need-card p,.equipment-card p{font-size:14px;line-height:1.55}
 .need-card>.text-link{margin-top:4px;min-height:32px;font-size:14px}
 .equipment-card>div{padding:16px}
 .equipment-card h3{margin-bottom:8px}
 .equipment-card p{margin-bottom:12px}
 .equipment-card>img,.digital-grid .equipment-card>img{height:auto;aspect-ratio:2.2}
 .equipment-card .btn{min-height:44px;padding:10px 16px;font-size:14px}
}
/* Hover is reserved for devices that support it; keyboard focus stays visible. */
@media (hover:hover) and (pointer:fine){
 .need-card,.equipment-card,.service-card{transition:transform 180ms var(--ease-standard),box-shadow 180ms var(--ease-standard),border-color 180ms var(--ease-standard)}
 .need-card:hover,.equipment-card:hover,.service-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:var(--elev-raised)}
}
.need-card:focus-visible,.equipment-card:focus-within,.service-card:focus-within{border-color:var(--accent);box-shadow:var(--elev-raised)}
@media (prefers-reduced-motion:reduce){.need-card:hover,.equipment-card:hover,.service-card:hover{transform:none}}

/* Services use the same compact rhythm on home and service overview pages. */
@media (max-width:1023px){
 .service-grid{gap:20px}
 .service-card>img{height:164px}
 .service-card-copy{padding:20px}
 .service-card .icon{margin-bottom:12px}
 .service-card :is(h2,h3){font-size:22px;line-height:1.3;margin-bottom:12px}
 .service-card p{font-size:15px;line-height:1.6;margin-bottom:16px}
}
@media (max-width:639px){
 .service-grid{gap:16px}
 .service-card>img{height:auto;aspect-ratio:2.2}
 .service-card-copy{padding:16px}
 .service-card .icon,.service-card .icon svg{width:20px;height:20px}
 .service-card .icon{margin-bottom:10px}
 .service-card :is(h2,h3){font-size:clamp(18px,4.2vw,22px);margin-bottom:8px}
 .service-card p{font-size:14px;line-height:1.55;margin-bottom:12px}
 .service-card .text-link{font-size:14px;min-height:44px}
}

/* Visit-only, non-modal privacy choices. Both choices have equal prominence. */
.cookie-consent{position:fixed;z-index:50;left:calc(24px + env(safe-area-inset-left,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));width:min(440px,calc(100vw - 48px));max-height:calc(100dvh - 48px);overflow:auto;padding:24px;background:var(--lt-white);color:var(--lt-ink);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px #161a3d18;font-size:14px;line-height:1.65}
.cookie-consent[hidden],.cookie-current[hidden],.cookie-settings[hidden]{display:none!important}
.cookie-heading{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.cookie-consent h2{font-size:19px;line-height:1.3;letter-spacing:-.4px;margin:0}
.cookie-symbol{display:grid;place-items:center;flex-shrink:0;color:var(--lt-blue)}
.cookie-consent p{font-size:14px;line-height:1.65;color:var(--muted);margin:0 0 16px}
.cookie-consent .cookie-current{padding:10px 12px;background:var(--lt-paper);border-radius:8px;font-size:14px}
.cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 14px}
.cookie-actions button{min-height:48px;padding:10px 12px;background:var(--lt-blue);color:var(--lt-white);border:1px solid var(--lt-blue);border-radius:999px;font:inherit;font-weight:500;cursor:pointer}
.cookie-actions button:hover{background:var(--lt-navy);border-color:var(--lt-navy)}
.cookie-actions button:focus-visible,.cookie-policy:focus-visible,.cookie-settings:focus-visible{outline:3px solid var(--lt-blue);outline-offset:4px}
.cookie-consent .cookie-policy{font-size:14px;color:var(--lt-blue);text-decoration:underline;text-underline-offset:3px}
.footer-bottom>div{flex-wrap:wrap;align-items:center}
.cookie-settings{font:inherit;color:inherit;background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:44px}
.cookie-settings:hover{color:var(--lt-white)}
.cookie-feedback{position:fixed;z-index:51;left:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));max-width:min(440px,calc(100vw - 112px));padding:14px 18px;background:var(--lt-navy);border:1px solid var(--lt-navy);border-radius:12px;color:var(--lt-white);font-size:14px;line-height:1.6;box-shadow:0 8px 24px #161a3d18;pointer-events:none}
.cookie-feedback:empty{display:none}
@media(max-width:600px){.cookie-consent{left:calc(12px + env(safe-area-inset-left,0px));bottom:calc(92px + env(safe-area-inset-bottom,0px));width:calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));max-height:calc(100dvh - 116px - env(safe-area-inset-bottom,0px));padding:20px}.cookie-feedback{left:12px}}
@media(max-height:450px){.cookie-consent{bottom:12px;max-height:calc(100dvh - 24px);width:min(440px,calc(100vw - 112px))}}
