
  :root {
    --yale:#1B4965; --deep:#0F2B3E; --fresh:#5FA8D3; --pacific:#62B6CB;
    --frozen:#BEE9E8; --pale:#CAE9FF; --canvas:#F3F6FA; --muted:#6B8194; --hair:#E4EBF2;
  }
  * { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior:smooth; }
  body {
    font-family:'Inter',system-ui,sans-serif; color:var(--deep);
    background:var(--canvas); -webkit-font-smoothing:antialiased; overflow-x:hidden;
  }
  .font-display { font-family:'Poppins',system-ui,sans-serif; letter-spacing:-0.02em; }
  .font-it { font-family:'Inter',sans-serif; font-style:italic; font-weight:500; letter-spacing:-0.01em; }
  .wrap { max-width:1120px; margin:0 auto; padding:0 28px; }
  a { color:inherit; text-decoration:none; }

  /* ---------- buttons ---------- */
  .btn {
    display:inline-flex; align-items:center; gap:.55rem; font-weight:500; font-size:15px;
    padding:.85rem 1.5rem; border-radius:999px; cursor:pointer; transition:transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s, background .4s;
  }
  .btn-primary {
    background:linear-gradient(135deg,#5FA8D3 0%,#1B4965 100%); color:#fff;
    box-shadow:0 14px 34px -12px rgba(95,168,211,.6), 0 0 0 1px rgba(95,168,211,.25) inset;
  }
  .btn-primary:hover { transform:translateY(-3px); box-shadow:0 22px 46px -14px rgba(95,168,211,.75), 0 0 0 1px rgba(95,168,211,.35) inset; }
  .btn-ghost { color:#fff; border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.04); backdrop-filter:blur(8px); }
  .btn-ghost:hover { background:rgba(255,255,255,.1); }

  /* ---------- nav ---------- */
  nav {
    position:sticky; top:0; z-index:50; backdrop-filter:blur(14px);
    background:rgba(243,246,250,.72); border-bottom:1px solid var(--hair);
  }
  .nav-in { display:flex; align-items:center; justify-content:space-between; height:70px; }
  .logo { display:flex; align-items:center; gap:.7rem; }
  .logo-mark { display:flex; gap:3px; align-items:flex-end; height:22px; }
  .logo-mark i { display:block; width:5px; background:var(--deep); border-radius:1px; }
  .logo-mark i:nth-child(1){ height:22px; } .logo-mark i:nth-child(2){ height:11px; } .logo-mark i:nth-child(3){ height:15px; }
  .logo-word { font-family:'Poppins',sans-serif; font-weight:700; font-size:20px; letter-spacing:.14em; color:var(--deep); }
  .logo-img { height:46px; width:auto; display:block; }
  .nav-cta { font-size:14px; padding:.6rem 1.15rem; }

  /* ---------- aurora ---------- */
  .aurora-section { position:relative; overflow:hidden; color:#fff; }
  .aurora { position:absolute; inset:0; overflow:hidden; z-index:0; pointer-events:none;
    background:radial-gradient(120% 80% at 50% 0%, #163247 0%, #0F2B3E 55%, #08192A 100%); }
  .aurora::before, .aurora::after { content:""; position:absolute; border-radius:999px; filter:blur(90px); opacity:.7; mix-blend-mode:screen; }
  .aurora::before { width:60vw; height:60vw; left:-10vw; top:-20vw;
    background:radial-gradient(circle,#5FA8D3 0%,rgba(95,168,211,0) 60%); animation:drift1 22s ease-in-out infinite alternate; }
  .aurora::after { width:55vw; height:55vw; right:-15vw; bottom:-25vw;
    background:radial-gradient(circle,#BEE9E8 0%,rgba(190,233,232,0) 65%); animation:drift2 28s ease-in-out infinite alternate; }
  @keyframes drift1 { from{transform:translate(0,0) scale(1);} to{transform:translate(6vw,4vw) scale(1.12);} }
  @keyframes drift2 { from{transform:translate(0,0) scale(1);} to{transform:translate(-5vw,-3vw) scale(1.08);} }
  .grid-overlay { position:absolute; inset:0; z-index:0; pointer-events:none;
    background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
    background-size:64px 64px; -webkit-mask-image:radial-gradient(ellipse at 50% 40%,black 40%,transparent 75%); mask-image:radial-gradient(ellipse at 50% 40%,black 40%,transparent 75%); }
  .aurora-section .wrap { position:relative; z-index:1; }

  .grad-text { background:linear-gradient(100deg,#BEE9E8 0%,#CAE9FF 40%,#5FA8D3 100%);
    -webkit-background-clip:text; background-clip:text; color:transparent; }

  /* ---------- hero ---------- */
  .hero { padding:96px 0 108px; }
  .pill { display:inline-flex; align-items:center; gap:.5rem; padding:.45rem .95rem; border-radius:999px;
    background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); color:#CAE9FF;
    backdrop-filter:blur(10px); font-size:11px; letter-spacing:.18em; text-transform:uppercase; }
  .hero h1 { font-size:clamp(2.4rem,5.4vw,4.1rem); font-weight:600; line-height:1.05; margin:1.6rem 0 0; max-width:15ch; }
  .hero .sub { font-size:clamp(1.05rem,1.7vw,1.3rem); color:#B5D4F4; margin-top:1.4rem; max-width:44ch; line-height:1.5; }
  .hero .cta-row { display:flex; gap:1rem; align-items:center; margin-top:2.6rem; flex-wrap:wrap; }

  /* ---------- section base ---------- */
  section.block { padding:96px 0; }
  .eyebrow { font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--fresh); font-weight:500; }
  .block h2 { font-family:'Poppins',sans-serif; font-weight:600; font-size:clamp(1.9rem,3.4vw,2.7rem); line-height:1.1; letter-spacing:-.02em; margin-top:1rem; }

  .context p { font-size:clamp(1.15rem,1.9vw,1.5rem); line-height:1.55; color:var(--yale); max-width:24ch; margin-top:1.4rem; font-weight:500; }
  .context .lead { max-width:none; }
  .context-grid { display:grid; grid-template-columns:1fr 1.15fr; gap:56px; align-items:center; }
  .context-lead { font-size:clamp(1.3rem,2.3vw,1.85rem); line-height:1.4; color:var(--deep); font-weight:500; }
  .context-lead .font-it { color:var(--fresh); }
  .context-body { color:var(--muted); font-size:1.05rem; line-height:1.7; }

  /* ---------- offer cards ---------- */
  .cards { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:56px; }
  .card { position:relative; border-radius:24px; padding:30px 28px 32px;
    background:linear-gradient(180deg,#ffffff 0%,#EEF5FB 100%); border:1px solid var(--hair);
    box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 26px 54px -30px rgba(15,43,62,.24),0 10px 24px -14px rgba(15,43,62,.1);
    transition:transform .6s cubic-bezier(.2,.7,.2,1), box-shadow .6s; overflow:hidden; }
  .card::after { content:""; position:absolute; inset:-1px; border-radius:inherit; pointer-events:none;
    background:radial-gradient(300px circle at var(--mx,50%) var(--my,0%),rgba(95,168,211,.09),transparent 48%); opacity:0; transition:opacity .5s; }
  .card:hover { transform:translateY(-8px); box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 40px 70px -30px rgba(15,43,62,.34),0 16px 32px -16px rgba(15,43,62,.16); }
  .card:hover::after { opacity:1; }
  .card .kicker { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--fresh); font-weight:500; }
  .card h3 { font-family:'Poppins',sans-serif; font-weight:600; font-size:1.4rem; margin:.7rem 0 .5rem; letter-spacing:-.01em; }
  .card p { color:var(--muted); font-size:.98rem; line-height:1.6; }
  .card .meta { margin-top:1.4rem; padding-top:1.2rem; border-top:1px solid var(--hair); display:flex; flex-direction:column; gap:.5rem; }
  .card .meta div { display:flex; align-items:center; gap:.55rem; font-size:.85rem; color:var(--yale); }
  .card .meta .dot { width:5px; height:5px; border-radius:999px; background:var(--fresh); flex:none; }

  /* ---------- proof ---------- */
  .proof { background:#fff; border-top:1px solid var(--hair); border-bottom:1px solid var(--hair); }
  .stats { display:flex; gap:64px; flex-wrap:wrap; }
  .stat .n { font-family:'Poppins',sans-serif; font-weight:600; font-size:clamp(2rem,4vw,3rem); line-height:1;
    background:linear-gradient(100deg,#1B4965 0%,#5FA8D3 60%,#62B6CB 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
  .stat .l { color:var(--muted); font-size:.95rem; margin-top:.5rem; }
  .quote { margin-top:52px; max-width:60ch; }
  .quote .qglyph { font-family:'Inter',sans-serif; font-style:italic; font-size:4rem; line-height:0; color:var(--frozen); }
  .quote p { font-family:'Inter',sans-serif; font-style:italic; font-size:1.5rem; line-height:1.4; color:var(--yale); margin-top:1rem; }
  .quote .attr { font-family:'Inter',sans-serif; font-style:normal; font-size:.9rem; color:var(--muted); margin-top:1rem; letter-spacing:.02em; }
  .proof-lead { max-width:66ch; font-size:1.1rem; line-height:1.75; color:var(--yale); margin-top:2.8rem; }
  .proof-lead .font-it { color:var(--fresh); font-weight:500; }
  .proof-sign { margin-top:1.5rem; font-family:'Poppins',sans-serif; font-weight:500; font-size:1rem; color:var(--deep); }
  .proof-sign::before { content:""; display:inline-block; width:26px; height:1px; background:var(--fresh); vertical-align:middle; margin-right:.7rem; }
  .proof-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:44px; align-items:start; margin-top:2.8rem; }
  .proof-photo { margin:0; }
  .proof-photo img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:18px; display:block;
    box-shadow:0 1px 0 rgba(255,255,255,.9) inset, 0 30px 60px -30px rgba(15,43,62,.42); }
  .proof-grid .proof-lead { margin-top:0; }
  .proof-grid .proof-sign { margin-top:1.1rem; }
  @media (max-width:860px){ .proof-grid { grid-template-columns:1fr; gap:24px; } }
  .partners { margin-top:2.6rem; display:flex; flex-direction:column; gap:1.15rem; max-width:66ch; }
  .partner-feat { display:flex; align-items:center; gap:.5rem 1.1rem; flex-wrap:wrap; padding:1.15rem 1.4rem; border-radius:16px;
    background:linear-gradient(180deg,#ffffff 0%,#EAF3FB 100%); border:1px solid var(--fresh);
    box-shadow:0 1px 0 rgba(255,255,255,.9) inset, 0 20px 44px -26px rgba(95,168,211,.55); }
  .partner-feat .tag { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--fresh); font-weight:500; }
  .partner-feat strong { font-weight:500; color:var(--deep); font-size:1.05rem; }
  .partner-feat a { color:var(--yale); font-weight:500; white-space:nowrap; border-bottom:1px solid var(--fresh); padding-bottom:1px; }
  .partner-feat a:hover { color:var(--fresh); }
  .partner-more { color:var(--muted); font-size:.98rem; line-height:1.65; padding-left:.2rem; }
  .partner-more b { color:var(--yale); font-weight:500; }

  /* ---------- final cta ---------- */
  .cta-band { padding:120px 0; text-align:center; }
  .cta-band h2 { font-family:'Poppins',sans-serif; font-weight:600; font-size:clamp(2.1rem,4.2vw,3.4rem); line-height:1.08; letter-spacing:-.02em; max-width:18ch; margin:0 auto; }
  .cta-band .sub { color:#B5D4F4; font-size:1.1rem; margin-top:1.3rem; }
  .cta-band .cta-row { margin-top:2.6rem; display:flex; justify-content:center; gap:1rem; flex-wrap:wrap; }
  .cta-band .mail { color:#CAE9FF; font-size:.95rem; margin-top:1.6rem; }
  .cta-band .mail a { border-bottom:1px solid rgba(202,233,255,.4); padding-bottom:1px; }

  /* ---------- footer ---------- */
  footer { padding:40px 0; }
  .foot-in { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }
  .foot-in .fl { display:flex; align-items:center; gap:.7rem; }
  footer .meta { color:var(--muted); font-size:.85rem; line-height:1.6; }

  /* ---------- reveal ---------- */
  .reveal { opacity:0; transform:translateY(30px); transition:opacity 1s cubic-bezier(.2,.7,.2,1), transform 1s cubic-bezier(.2,.7,.2,1); }
  .reveal.in { opacity:1; transform:none; }
  .d1{transition-delay:.08s;} .d2{transition-delay:.16s;} .d3{transition-delay:.24s;} .d4{transition-delay:.32s;}

  /* ---------- cursor ---------- */
  @media (pointer:fine) {
    .cursor-dot { position:fixed; top:0; left:0; width:26px; height:26px; border-radius:999px;
      background:radial-gradient(circle,#5FA8D3 0%,rgba(95,168,211,0) 70%); pointer-events:none; z-index:100;
      mix-blend-mode:screen; transform:translate(-50%,-50%); transition:width .3s,height .3s,opacity .3s; opacity:0; }
  }

  @media (max-width:860px) {
    .context-grid { grid-template-columns:1fr; gap:32px; }
    .cards { grid-template-columns:1fr; }
    .stats { gap:36px; }
    .hero { padding:72px 0 84px; }
    section.block { padding:72px 0; }
    .nav-cta span.hide { display:none; }
  }
  @media (prefers-reduced-motion:reduce) {
    *, *::before, *::after { animation:none !important; transition:none !important; }
    .reveal { opacity:1; transform:none; }
  }
  :focus-visible { outline:2px solid var(--fresh); outline-offset:3px; border-radius:4px; }

  /* ---------- language toggle ---------- */
  .lang-en { display:none; }
  body.en .lang-nl { display:none; }
  body.en .lang-en { display:inline; }
  .nav-right { display:flex; align-items:center; gap:.6rem; }
  .lang-switch { display:inline-flex; align-items:center; gap:2px; padding:2px; border-radius:999px; background:rgba(27,73,101,.06); }
  .lang-switch button { font-family:'Inter',sans-serif; font-size:12px; font-weight:500; letter-spacing:.04em; padding:.32rem .62rem; border:0; border-radius:999px; background:transparent; color:var(--muted); cursor:pointer; transition:all .3s; }
  .lang-switch button.active { background:var(--deep); color:#fff; }
  .cta-band .mail a { border-bottom:1px solid rgba(202,233,255,.4); padding-bottom:1px; white-space:nowrap; }
  footer .meta a.tellink { border-bottom:1px solid var(--hair); white-space:nowrap; }
  .offer-link { display:inline-flex; margin-top:1.25rem; color:var(--yale); font-size:.9rem; font-weight:700; border-bottom:1px solid var(--fresh); padding-bottom:2px; position:relative; z-index:2; }
  .price { margin-top:1.15rem; padding-top:1.15rem; border-top:1px solid var(--hair); }
  .price-label { display:block; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--fresh); font-weight:500; margin-bottom:.55rem; }
  .price-row { display:flex; justify-content:space-between; align-items:baseline; gap:.9rem; font-size:.86rem; color:var(--yale); padding:.16rem 0; }
  .price-row b { font-family:'Poppins',sans-serif; font-weight:600; color:var(--deep); white-space:nowrap; }
  .price-single { font-family:'Poppins',sans-serif; font-weight:600; color:var(--deep); font-size:1rem; }
  .formats { list-style:none; margin-top:1.1rem; display:flex; flex-direction:column; gap:.75rem; }
  .formats li { padding-left:.85rem; border-left:2px solid var(--frozen); }
  .formats strong { display:block; font-family:'Poppins',sans-serif; font-weight:600; font-size:.95rem; color:var(--deep); }
  .formats li > span { display:block; color:var(--muted); font-size:.88rem; line-height:1.55; margin-top:.15rem; }
  .book-note { color:var(--yale) !important; font-size:.86rem !important; line-height:1.5 !important; }
  /* wide stacked offer cards */
  #aanbod .cards { grid-template-columns:1fr; gap:28px; }
  .card.wide { display:grid; grid-template-columns:1fr 1.1fr; gap:44px; padding:34px; align-items:start; }
  .card.wide:hover { transform:translateY(-4px); }
  .card.wide:nth-child(even) .card-media { order:2; }
  .card.wide .gallery { margin:0; }
.card.wide > * { min-width:0; }
  .card.wide .card-media { display:flex; flex-direction:column; gap:18px; }
  .card.wide .card-body > p { font-size:1.02rem; }
  .card.wide .meta { flex-direction:row; flex-wrap:wrap; gap:.5rem 1.5rem; }
  .card.wide .links { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem 1.6rem; }
  .offer-link.subtle { font-weight:500; color:var(--muted); border-bottom-color:var(--hair); }
  .stats { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px 40px !important; margin-top:1.4rem; }
  .stat .n { font-size:clamp(1.9rem,3.4vw,2.6rem) !important; }
  .partner-more a.plink { white-space:nowrap; color:var(--yale); font-weight:500; border-bottom:1px solid var(--fresh); padding-bottom:1px; }
  .partner-more a.plink:hover { color:var(--fresh); }
  @media (max-width:860px){
    .card.wide { grid-template-columns:1fr; gap:22px; padding:24px 22px 28px; }
    .card.wide:nth-child(even) .card-media { order:0; }
    .stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 24px !important; }
  }
  .wg-logo { display:block; height:30px; width:auto; margin-bottom:1rem; }
  .wg-logo-sm { height:22px; width:auto; display:block; flex:none; }
  /* golden circle */
  .context .context-lead { max-width:24ch; margin-top:1rem; font-size:clamp(1.5rem,2.7vw,2.15rem); line-height:1.3; color:var(--deep); }
  .gc { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:48px; }
  .gc-item { background:#fff; border:1px solid var(--hair); border-radius:20px; padding:28px 26px 26px; box-shadow:0 18px 40px -30px rgba(15,43,62,.35); }
  .gc-ico { width:42px; height:42px; display:block; }
  .gc-label { display:block; margin-top:1rem; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--fresh); font-weight:500; }
  .gc-item h3 { font-family:'Poppins',sans-serif; font-weight:600; font-size:1.18rem; line-height:1.3; color:var(--deep); margin:.45rem 0 .5rem; letter-spacing:-.01em; }
  .context .gc-item p { font-size:.96rem; line-height:1.6; color:var(--muted); font-weight:400; max-width:none; margin-top:0; }
  .gc-chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
  .gc-chips > span { font-size:.76rem; line-height:1.25; padding:.36rem .66rem; border-radius:10px; background:#EEF5FB; color:var(--yale); }
  .context .gc-agency { max-width:none; margin-top:22px; font-size:.95rem; line-height:1.6; font-weight:400; color:var(--muted); padding:16px 20px; border-radius:14px; border:1px dashed #CFE0EC; }
  .gc-agency strong { color:var(--deep); font-weight:600; }
  .gc-agency a { color:var(--yale); font-weight:600; border-bottom:1px solid var(--fresh); white-space:nowrap; }
  /* stats note */
  .stats-note { margin-top:.9rem; color:var(--muted); font-size:.92rem; }
  /* partnerships */
  .partners { max-width:none !important; }
  .partner-grid { display:grid; grid-template-columns:1fr 1.35fr; gap:22px; margin-top:1rem; align-items:start; }
  .partner-card { border:1px solid var(--hair); border-radius:18px; padding:24px 26px; background:linear-gradient(180deg,#fff, #F6FAFD); display:flex; flex-direction:column; align-items:flex-start; }
  .partner-card .pc-logo { height:28px; width:auto; display:block; margin-bottom:1rem; }
  .partner-card .pc-logo.wf { height:92px; }
  .partner-card .tag { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--fresh); font-weight:500; }
  .partner-card strong { font-family:'Poppins',sans-serif; font-weight:600; color:var(--deep); font-size:1.08rem; margin-top:.35rem; }
  .partner-card p { color:var(--muted); font-size:.95rem; line-height:1.6; margin-top:.4rem; }
  .partner-card .pc-link { margin-top:1.2rem; color:var(--yale); font-weight:500; }
  .partner-card .pc-link:hover { color:var(--fresh); }
  .partner-logos { list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:1rem; width:100%; }
  .partner-logos a { display:flex; flex-direction:column; align-items:center; gap:.5rem; padding:14px 8px 10px; border-radius:12px; border:1px solid var(--hair); background:#fff; height:100%; transition:border-color .3s, transform .3s; }
  .partner-logos a:hover { border-color:var(--fresh); transform:translateY(-2px); }
  .partner-logos img { height:30px; width:auto; max-width:100%; object-fit:contain; filter:grayscale(1); opacity:.75; transition:filter .3s, opacity .3s; }
  .partner-logos a:hover img, .partner-logos a:focus-visible img { filter:none; opacity:1; }
  .partner-logos span { font-size:.74rem; color:var(--muted); text-align:center; line-height:1.3; }
  /* contact */
  .cta-band .cta-note { color:#B5D4F4; font-size:.9rem; line-height:1.6; max-width:56ch; margin:1.4rem auto 0; }
  .cta-band .cta-note a { color:#CAE9FF; border-bottom:1px solid rgba(202,233,255,.4); }
  .btn.lang-en, body.en .btn.lang-nl { display:none; }
  body.en .btn.lang-en, .btn.lang-nl { display:inline-flex; }
  body.en .btn.lang-nl { display:none; }
  @media (max-width:980px){
    .gc { grid-template-columns:1fr; gap:14px; margin-top:32px; }
    .partner-grid { grid-template-columns:1fr; }
    .partner-logos { grid-template-columns:repeat(2,minmax(0,1fr)); }
  }
  @media (max-width:860px){
    .stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  }
  /* count-up stats */
  .stat .n { font-variant-numeric:tabular-nums; white-space:nowrap; }
  .stat .n .plus { display:inline-block; margin-left:.04em; color:var(--fresh); -webkit-text-fill-color:var(--fresh); transition:opacity .45s ease, transform .55s cubic-bezier(.2,.9,.3,1.4); }
  .stat .bar { display:block; height:3px; width:44px; border-radius:3px; margin-top:.75rem; background:linear-gradient(90deg,var(--fresh),var(--frozen)); transform-origin:left; transition:transform 1.4s cubic-bezier(.2,.7,.2,1); }
  .stats.counting .stat:not(.done) .plus { opacity:0; transform:translateY(.25em) scale(.6); }
  .stats.counting .stat:not(.done) .bar { transform:scaleX(0); }
  .stats.counting .stat.run .bar { transform:scaleX(1); }
  /* concept links + footer links */
  .concept-links { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem 1.2rem; margin-top:1.1rem; }
  .concept-links .cl-label { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--fresh); font-weight:500; }
  .concept-links a { display:inline-flex; align-items:center; gap:.35rem; color:var(--yale); font-weight:600; font-size:.92rem; border-bottom:1px solid var(--fresh); padding-bottom:1px; position:relative; z-index:2; }
  .concept-links a:hover { color:var(--fresh); }
  .concept-links svg { width:15px; height:15px; }
  .foot-links { font-size:.84rem; color:var(--muted); padding-bottom:18px; margin-bottom:18px; border-bottom:1px solid var(--hair); line-height:1.9; }
  .foot-links a { color:var(--yale); border-bottom:1px solid var(--hair); }
  .foot-links a:hover { color:var(--fresh); }
  .offer-note { margin-top:1.8rem; color:var(--muted); font-size:.85rem; text-align:center; }

  /* ---------- gallery / carousel ---------- */
  .gallery { margin:0 0 22px; }
  .carousel { position:relative; border-radius:16px; overflow:hidden; background:#0F2B3E; }
  .carousel .track { display:flex; transition:transform .55s cubic-bezier(.2,.7,.2,1); }
  .carousel .slide { flex:0 0 100%; aspect-ratio:16/9; }
  .carousel .slide img { width:100%; height:100%; object-fit:cover; display:block; }
  .carousel .nav { position:absolute; top:50%; transform:translateY(-50%); width:36px; height:36px; border-radius:999px; border:0; display:grid; place-items:center; cursor:pointer; color:#fff; background:rgba(15,43,62,.5); backdrop-filter:blur(6px); transition:background .3s,transform .3s,opacity .3s; z-index:2; opacity:0; }
  .carousel:hover .nav, .carousel:focus-within .nav { opacity:1; }
  .carousel .nav:hover { background:rgba(15,43,62,.82); }
  .carousel .nav:active { transform:translateY(-50%) scale(.94); }
  .carousel .nav.prev { left:10px; } .carousel .nav.next { right:10px; }
  .carousel .nav svg { width:17px; height:17px; }
  .carousel .count { position:absolute; right:10px; bottom:10px; z-index:2; font-size:11px; font-weight:500; color:#fff; background:rgba(15,43,62,.55); backdrop-filter:blur(6px); padding:.26rem .58rem; border-radius:999px; }
  .dots { display:flex; justify-content:center; gap:6px; margin-top:12px; }
  .dots .dot { width:6px; height:6px; border-radius:999px; border:0; padding:0; background:var(--hair); cursor:pointer; transition:all .3s; }
  .dots .dot.active { background:var(--fresh); width:20px; }
  @media (max-width:860px){ .carousel .nav { opacity:1; } }

  /* ---------- video embed ---------- */
  .video { position:relative; border-radius:16px; overflow:hidden; margin:2px 0 4px; aspect-ratio:16/9;
    background:radial-gradient(120% 120% at 30% 20%, #1E4F6E 0%, #0F2B3E 72%); box-shadow:0 20px 44px -26px rgba(15,43,62,.5); }
  .video .video-play { position:absolute; inset:0; width:100%; height:100%; border:0; cursor:pointer; background:transparent;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.85rem; color:#fff; }
  .video .vp-btn { width:58px; height:58px; border-radius:999px; display:grid; place-items:center;
    background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.35); backdrop-filter:blur(6px); transition:transform .3s, background .3s; }
  .video .video-play:hover .vp-btn { transform:scale(1.08); background:rgba(255,255,255,.24); }
  .video .vp-btn svg { width:24px; height:24px; margin-left:3px; }
  .video .vp-label { font-family:'Poppins',sans-serif; font-weight:500; font-size:.95rem; letter-spacing:.01em; }
  .video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }

  /* ---------- lightbox ---------- */
  .carousel .slide img { cursor:zoom-in; }
  .lightbox { position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center; padding:24px;
    background:rgba(8,25,42,.93); backdrop-filter:blur(8px); opacity:0; visibility:hidden; transition:opacity .3s, visibility .3s; }
  .lightbox.open { opacity:1; visibility:visible; }
  .lightbox img.lb-img { max-width:92vw; max-height:86vh; border-radius:12px; box-shadow:0 30px 90px -20px rgba(0,0,0,.75); }
  .lightbox .lb-close, .lightbox .lb-nav { position:absolute; border:0; cursor:pointer; color:#fff; display:grid; place-items:center;
    background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.28); backdrop-filter:blur(6px); transition:background .3s, transform .3s; }
  .lightbox .lb-close:hover, .lightbox .lb-nav:hover { background:rgba(255,255,255,.24); }
  .lightbox .lb-close { top:18px; right:20px; width:44px; height:44px; border-radius:999px; }
  .lightbox .lb-nav { top:50%; transform:translateY(-50%); width:46px; height:46px; border-radius:999px; }
  .lightbox .lb-nav:active { transform:translateY(-50%) scale(.94); }
  .lightbox .lb-prev { left:20px; } .lightbox .lb-next { right:20px; }
  .lightbox .lb-close svg, .lightbox .lb-nav svg { width:20px; height:20px; }
  .lightbox .lb-count { position:absolute; bottom:22px; left:50%; transform:translateX(-50%); color:#CAE9FF; font-size:13px;
    background:rgba(8,25,42,.5); border:1px solid rgba(255,255,255,.14); padding:.3rem .7rem; border-radius:999px; }
  @media (max-width:860px){ .lightbox .lb-nav { width:40px; height:40px; } .lightbox .lb-prev{ left:10px; } .lightbox .lb-next{ right:10px; } }
  .cookie-banner { position:fixed; z-index:200; left:20px; bottom:20px; width:calc(100% - 40px); max-width:460px; padding:16px 18px; border-radius:14px; background:#fff; border:1px solid var(--hair); box-shadow:0 18px 48px -20px rgba(15,43,62,.38); display:none; }
  .cookie-banner.show { display:block; }
  .cookie-banner p { color:var(--muted); font-size:.85rem; line-height:1.45; }
  .cookie-banner strong { display:block; color:var(--deep); font-family:'Poppins',sans-serif; margin-bottom:.2rem; }
  .cookie-actions { display:flex; gap:.55rem; flex-wrap:wrap; margin-top:.75rem; }
  .cookie-actions .btn { padding:.58rem 1rem; font-size:.84rem; }
  .cookie-actions button { border:0; font:inherit; }
  .cookie-actions .cookie-reject { background:#EEF3F7; color:var(--deep); box-shadow:none; }
  .cookie-settings { border:0; background:none; color:var(--muted); font:inherit; font-size:.82rem; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
  @media (max-width:860px){ .nav-right { gap:.4rem; } .lang-switch button { padding:.3rem .5rem; } }


  /* ================= concept subpages ================= */
  .sub-hero { padding:72px 0 88px; }
  .sub-hero h1 { max-width:18ch; }
  .sub-hero .sub { max-width:58ch; }
  .crumbs { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; font-size:.82rem; color:#9FC3DE; margin-bottom:1.6rem; }
  .crumbs a { color:#CAE9FF; border-bottom:1px solid rgba(202,233,255,.3); }
  .crumbs a:hover { color:#fff; }
  .facts { list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin-top:1.6rem; }
  .facts li { font-size:.86rem; color:#E4F2FC; padding:.42rem .85rem; border-radius:999px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); backdrop-filter:blur(6px); }

  .intro-grid { display:grid; grid-template-columns:1fr 1.05fr; gap:56px; align-items:start; }
  .intro-grid > *, .social-grid > *, .why-grid > * { min-width:0; }
  .intro-text p { color:var(--yale); font-size:1.04rem; line-height:1.7; margin-top:1.1rem; max-width:58ch; }
  .intro-text p.credit { color:var(--muted); font-size:.95rem; }
  .intro-text a.plink, .credit a.plink { color:var(--yale); font-weight:500; border-bottom:1px solid var(--fresh); white-space:nowrap; }
  .intro-media { display:flex; flex-direction:column; gap:18px; }
  .intro-media .gallery { margin:0; }
  .concept-logo { display:block; height:96px; width:auto; margin-bottom:1.4rem; }

  .stats-sec { padding:56px 0 !important; }
  .sub-stats { margin-top:0 !important; }
  .sub-stats .stat .n { background:linear-gradient(100deg,#1B4965 0%,#5FA8D3 70%); -webkit-background-clip:text; background-clip:text; color:transparent; }

  .steps { list-style:none; display:grid; gap:18px; margin-top:2.4rem; counter-reset:s; }
  .steps.cols-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .steps.cols-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .step { position:relative; background:#fff; border:1px solid var(--hair); border-radius:20px; padding:26px 24px 24px; box-shadow:0 18px 40px -30px rgba(15,43,62,.35); }
  .step-n { display:grid; place-items:center; width:40px; height:40px; border-radius:999px; font-weight:600; font-size:1.05rem; color:#fff; background:linear-gradient(135deg,var(--fresh),var(--yale)); }
  .step-dur { position:absolute; top:30px; right:22px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--fresh); font-weight:500; }
  .step h3 { font-family:'Poppins',sans-serif; font-weight:600; font-size:1.1rem; line-height:1.3; color:var(--deep); margin-top:1rem; }
  .step p { color:var(--muted); font-size:.94rem; line-height:1.6; margin-top:.45rem; }
  .steps-note { margin-top:1.4rem; color:var(--yale); font-size:.98rem; }

  .social-sec { background:linear-gradient(180deg, var(--canvas), #eef5fa); border-top:1px solid var(--hair); }
  .social-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:center; }
  .social-lead { color:var(--muted); line-height:1.7; margin:1rem 0 1.4rem; max-width:34rem; }
  .social-sec .opt { background:#fff; }
  @media (max-width: 900px) { .social-grid { grid-template-columns:1fr; gap:28px; } }
  @media (max-width: 560px) { .social-sec .opt-grid { grid-template-columns:1fr; } }
  .why-sec { background:#fff; border-top:1px solid var(--hair); border-bottom:1px solid var(--hair); }
  .why-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:start; }
  .why-grid.single { grid-template-columns:1fr; }
  .ticks { list-style:none; margin-top:1.6rem; display:flex; flex-direction:column; gap:.85rem; }
  .ticks li { display:flex; gap:.75rem; align-items:flex-start; color:var(--yale); font-size:1rem; line-height:1.55; }
  .ticks svg, .pp-list svg { width:18px; height:18px; flex:none; margin-top:.2rem; color:var(--fresh); }
  .opt-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:1.1rem; }
  .opt-grid.blocks { grid-template-columns:repeat(5,minmax(0,1fr)); margin-top:2.6rem; }
  .opt { background:var(--canvas); border:1px solid var(--hair); border-radius:16px; padding:18px 18px 16px; }
  .opt strong { display:block; font-family:'Poppins',sans-serif; font-weight:600; font-size:.98rem; color:var(--deep); }
  .opt p { color:var(--muted); font-size:.9rem; line-height:1.55; margin-top:.35rem; }
  .opt-note { margin-top:.9rem; color:var(--muted); font-size:.84rem; }
  .blocks .opt { background:#fff; }

  .pr-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:2.2rem; }
  .pr-item { background:#fff; border:1px solid var(--hair); border-radius:16px; padding:18px 20px; display:flex; flex-direction:column; gap:.35rem; }
  .pr-label { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--fresh); font-weight:500; }
  .pr-val { color:var(--deep); font-size:.96rem; line-height:1.5; }

  .price-sec { padding-top:24px !important; }
  .price-panel { display:grid; grid-template-columns:1.1fr 1fr; gap:40px; padding:36px; border-radius:24px; background:#fff; border:1px solid rgba(95,168,211,.4);
    box-shadow:0 40px 70px -40px rgba(15,43,62,.4); }
  .price-panel.single { grid-template-columns:1fr; max-width:720px; }
  .pp-rows { border-top:0 !important; margin-top:1.2rem !important; padding-top:0 !important; }
  .pp-rows .price-row { font-size:1rem; padding:.5rem 0; border-bottom:1px solid var(--hair); }
  .pp-rows .price-row b { font-size:1.1rem; }
  .pp-note { color:var(--muted); font-size:.9rem; margin-top:1rem; line-height:1.55; }
  .pp-btns { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.6rem; }
  .btn-soft { color:var(--yale); background:#EEF5FB; border:1px solid var(--hair); }
  .btn-soft:hover { background:#E3EEF8; }
  .pp-lists { display:flex; flex-direction:column; gap:1.6rem; padding-left:36px; border-left:1px solid var(--hair); }
  .pp-h { display:block; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--fresh); font-weight:500; }
  .pp-list { list-style:none; margin-top:.8rem; display:flex; flex-direction:column; gap:.6rem; }
  .pp-list li { display:flex; gap:.6rem; color:var(--yale); font-size:.94rem; line-height:1.5; }
  .pp-list.exc svg { color:#9AB0C2; }

  .oc-sec { padding-top:40px !important; }
  .oc-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-top:2rem; }
  .oc-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--hair); border-radius:18px; overflow:hidden; transition:transform .3s, box-shadow .3s, border-color .3s; }
  .oc-card:hover { transform:translateY(-4px); border-color:rgba(95,168,211,.5); box-shadow:0 30px 50px -34px rgba(15,43,62,.45); }
  .oc-img { aspect-ratio:16/9; overflow:hidden; background:#0F2B3E; display:block; }
  .oc-img img { width:100%; height:100%; object-fit:cover; display:block; }
  .oc-body { padding:16px 18px 18px; display:flex; flex-direction:column; gap:.3rem; flex:1; }
  .oc-kick { font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--fresh); font-weight:500; }
  .oc-body strong { font-family:'Poppins',sans-serif; font-weight:600; font-size:1.05rem; color:var(--deep); }
  .oc-line { color:var(--muted); font-size:.88rem; line-height:1.5; }
  .oc-more { margin-top:auto; padding-top:.6rem; display:inline-flex; align-items:center; gap:.4rem; color:var(--yale); font-weight:600; font-size:.88rem; }
  .oc-more svg { width:16px; height:16px; }
  .oc-back { margin-top:1.6rem; }
  .oc-back a { display:inline-flex; align-items:center; gap:.45rem; color:var(--yale); font-weight:600; border-bottom:1px solid var(--fresh); padding-bottom:2px; }
  .oc-back a svg { width:16px; height:16px; }

  .case-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:2.2rem; }
  .case { background:#fff; border:1px solid var(--hair); border-radius:18px; padding:22px 22px 20px; }
  .case-tag { font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--fresh); font-weight:500; line-height:1.5; }
  .case h3 { font-family:'Poppins',sans-serif; font-weight:600; font-size:1.12rem; color:var(--deep); margin-top:.45rem; }
  .case p { color:var(--muted); font-size:.93rem; line-height:1.6; margin-top:.4rem; }

  .ag-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:56px; align-items:start; }
  .ag-lead { color:var(--yale); font-size:1.02rem; line-height:1.7; margin-top:1.1rem; max-width:52ch; }
  .ag-list { list-style:none; display:flex; flex-wrap:wrap; gap:10px; }
  .ag-list li { font-family:'Poppins',sans-serif; font-weight:500; font-size:.95rem; color:var(--deep); padding:.62rem 1rem; border-radius:12px; background:var(--canvas); border:1px solid var(--hair); }

  .foot-links { font-size:.84rem; color:var(--muted); padding-bottom:18px; margin-bottom:18px; border-bottom:1px solid var(--hair); line-height:1.9; }
  .foot-links a { color:var(--yale); border-bottom:1px solid var(--hair); }
  .foot-links a:hover { color:var(--fresh); }

  @media (max-width:1060px){
    .opt-grid.blocks { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .oc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .steps.cols-4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  }
  @media (max-width:860px){
    .sub-hero { padding:48px 0 64px; }
    .intro-grid, .why-grid, .ag-grid { grid-template-columns:1fr; gap:32px; }
    .steps.cols-3, .steps.cols-4 { grid-template-columns:1fr; }
    .pr-grid, .case-grid { grid-template-columns:1fr 1fr; }
    .opt-grid.blocks { grid-template-columns:1fr 1fr; }
    .price-panel { grid-template-columns:1fr; padding:26px 22px; gap:26px; }
    .pp-lists { padding-left:0; border-left:0; padding-top:22px; border-top:1px solid var(--hair); }
  }
  @media (max-width:560px){
    .pr-grid, .case-grid, .opt-grid, .opt-grid.blocks, .oc-grid { grid-template-columns:1fr; }
    .pp-btns .btn { width:100%; justify-content:center; }
  }

  /* six concepts: five "other" cards */
  .oc-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
  @media (max-width:1060px){ .oc-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
  @media (max-width:860px){ .oc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
  @media (max-width:560px){ .oc-grid { grid-template-columns:1fr; } }

  /* clickable case cards */
  .cases-hint { margin-top:.8rem; color:var(--muted); font-size:.92rem; }
  button.case { font:inherit; text-align:left; cursor:pointer; display:flex; flex-direction:column; align-items:flex-start; width:100%;
    transition:transform .3s, box-shadow .3s, border-color .3s; }
  button.case:hover, button.case:focus-visible { transform:translateY(-3px); border-color:rgba(95,168,211,.55); box-shadow:0 26px 46px -32px rgba(15,43,62,.45); }
  .case-fig { margin-top:.9rem; font-family:'Poppins',sans-serif; font-weight:600; font-size:.95rem; color:var(--yale); }
  .case-more { margin-top:auto; padding-top:.8rem; display:inline-flex; align-items:center; gap:.45rem; color:var(--fresh); font-weight:600; font-size:.86rem; }
  .case-more b { display:grid; place-items:center; width:20px; height:20px; border-radius:999px; background:#EEF5FB; color:var(--yale); font-size:.9rem; line-height:1; }
  .case-dialog { border:0; padding:0; border-radius:22px; width:min(640px, calc(100% - 32px)); max-height:calc(100vh - 48px); margin:auto;
    box-shadow:0 50px 90px -30px rgba(15,43,62,.6); color:var(--deep); background:#fff; }
  .case-dialog::backdrop { background:rgba(15,43,62,.55); backdrop-filter:blur(4px); }
  .cd-inner { position:relative; padding:34px 32px 30px; }
  .cd-close { position:absolute; top:14px; right:14px; width:38px; height:38px; border-radius:999px; border:0; background:#EEF5FB; color:var(--yale); display:grid; place-items:center; cursor:pointer; }
  .cd-close svg { width:18px; height:18px; }
  .cd-body h3 { font-family:'Poppins',sans-serif; font-weight:600; font-size:1.5rem; margin-top:.5rem; padding-right:40px; }
  .cd-body p { color:var(--yale); font-size:1rem; line-height:1.6; margin-top:.5rem; }
  .case-table { width:100%; border-collapse:collapse; margin-top:1.2rem; font-size:.94rem; }
  .case-table th, .case-table td { text-align:left; vertical-align:top; padding:.6rem 0; border-top:1px solid var(--hair); }
  .case-table th { width:38%; padding-right:1rem; color:var(--muted); font-weight:500; }
  .case-table td { color:var(--deep); }
  .case-table tr.grp th { width:auto; padding-top:1rem; color:var(--fresh); font-size:11px; letter-spacing:.16em; text-transform:uppercase; }
  .cd-cta { margin-top:1.6rem; }
  @media (max-width:560px){ .cd-inner { padding:30px 20px 24px; } .case-table th { width:42%; } }

  .case .case-title { display:block; font-family:'Poppins',sans-serif; font-weight:600; font-size:1.12rem; color:var(--deep); margin-top:.45rem; }
  .case .case-line { display:block; color:var(--muted); font-size:.93rem; line-height:1.6; margin-top:.4rem; }
