:root{
    --bg:#091321; --bg2:#0c1624; --panel:#111b29;
    --ink:#f3f3f3; --muted:rgba(243,243,243,0.70); --dim:rgba(243,243,243,0.46);
    --line:rgba(243,243,243,0.16); --line2:rgba(243,243,243,0.30);
    --accent:#4f7fae; --accent-light:#c4d8ee; --accent-soft:rgba(79,127,174,0.20); --accent-dim:rgba(111,154,197,0.72);
  }
  /* ---------- CONTINUOUS PAGE GRADIENT ----------
     Namesto ploskega dvobarvnega ozadja stran teče skozi eno dolgo,
     počasno tranzicijo: temno modra → živa SOLID modra → nazaj v temno.
     Vsaka sekcija ima svoj odsek gradienta, ki se stika s sosednjo. */
  .z-0{background:linear-gradient(180deg,#091321 0%,#142b49 100%);}
  .z-1{background:linear-gradient(180deg,#142b49 0%,#1a3a60 100%);}
  .z-2{background:linear-gradient(180deg,#162f50 0%,#203f65 100%);}
  .z-3{background:linear-gradient(180deg,#193554 0%,#1c3858 100%);}
  .z-4{background:linear-gradient(180deg,#142b46 0%,#18314e 100%);}
  .z-5{background:linear-gradient(180deg,#12263e 0%,#0f2137 100%);}
  .z-6{background:linear-gradient(180deg,#0d1d30 0%,#091522 100%);}
  .z-7{background:linear-gradient(180deg,#0a1726 0%,#08131f 100%);}
  .z-8{background:linear-gradient(180deg,#08131f 0%,#060d17 100%);}
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:#091321; color:var(--ink);
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif; line-height:1.45;
    -webkit-font-smoothing:antialiased; overflow-x:hidden;
  }
  ::selection{background:var(--accent); color:#fff;}
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  .wrap{max-width:1220px; margin:0 auto; padding:0 32px;}
  @media(max-width:640px){ .wrap{padding:0 20px;} }
  .mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;}
  .eyebrow{font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:11px; letter-spacing:0.2em;
      text-transform:uppercase; color:var(--accent-light); display:flex; align-items:center; gap:10px; font-weight:500;}
  .eyebrow::before{content:""; width:22px; height:1px; background:var(--accent);}

  /* ---------- NAV ---------- */
  header{position:fixed; top:0; left:0; right:0; z-index:60;
    border-bottom:1px solid var(--line); background:rgba(9,19,33,0.74);
    backdrop-filter:blur(14px);}
  .nav{display:flex; align-items:center; justify-content:space-between; height:62px;}
  .brand{display:flex; align-items:center; gap:11px;}
  .mark-badge{width:38px; height:38px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; border-radius:11px;
    background:#060a16; border:1px solid rgba(255,255,255,0.18);
    box-shadow:0 0 0 4px rgba(79,127,174,0.16), 0 6px 16px rgba(0,0,0,0.35);}
  .brand .mark{width:26px; height:26px; display:block;}
  .mark path:first-child{fill:var(--accent);}
  .brand span{font-weight:800; font-size:16px; letter-spacing:0.02em;}
  .nav-links{display:flex; gap:30px;}
  .nav-links a{font-size:13px; font-weight:700; color:var(--muted); transition:color .15s;}
  .nav-links a:hover{color:var(--ink);}
  .nav-cta{font-size:13px; font-weight:700; background:var(--accent); color:#fff;
    padding:10px 18px; transition:.15s; border-radius:10px;}
  .nav-cta:hover{background:#638fba;}
  @media(max-width:900px){ .nav-links{display:none;} }

  /* ---------- BUTTONS ---------- */
  .btn{display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600;
    padding:12px 19px; transition:.16s; cursor:pointer; border:1px solid transparent; border-radius:10px;}
  .btn .ar{transition:transform .16s;}
  .btn:hover .ar{transform:translateX(4px);}
  .btn-primary{background:var(--accent); color:#fff;}
  .btn-primary:hover{background:#638fba;}
  .btn-ghost{border-color:var(--line2); color:var(--ink);}
  .btn-ghost:hover{background:var(--ink); color:var(--bg); border-color:var(--ink);}

  /* ---------- HERO ---------- */
  .hero{position:relative; min-height:61vh; display:flex; flex-direction:column;
    padding:82px 0 0; overflow:hidden;}
  .hero-bg{position:absolute; inset:0; z-index:0;}
  .hero-photo{position:absolute; inset:0; z-index:0;}
  .hero-photo img{width:100%; height:100%; object-fit:cover; object-position:center; opacity:.78;}
  .hero-photo::after{content:""; position:absolute; inset:0;
    background:linear-gradient(90deg,rgba(6,11,28,.98) 0%,rgba(6,11,28,.86) 35%,rgba(6,11,28,.28) 67%,rgba(6,11,28,.5) 100%),
      linear-gradient(180deg,rgba(6,11,28,.4),transparent 48%,rgba(6,11,28,.86));}
  .hero-glow{position:absolute; top:-18%; left:50%; transform:translateX(-50%);
    width:1100px; height:900px; z-index:0; border-radius:50%;
    background:radial-gradient(circle, rgba(79,127,174,0.31), rgba(79,127,174,0.07) 45%, transparent 68%);
    filter:blur(10px); animation:pulse 9s ease-in-out infinite;}
  @keyframes pulse{0%,100%{opacity:0.75; transform:translateX(-50%) scale(1);} 50%{opacity:1; transform:translateX(-50%) scale(1.06);}}
  .hero-grid{position:absolute; inset:0; z-index:0; opacity:0.35;
    background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
    background-size:60px 60px;
    mask-image:radial-gradient(60% 60% at 50% 20%, #000 20%, transparent 75%);}
  .hero-inner{position:relative; z-index:2; text-align:left; flex:1;
    display:flex; flex-direction:column; justify-content:center; min-height:0;}
  .hero .eyebrow{justify-content:flex-start;}
  .hero h1{font-size:clamp(38px,6.2vw,82px); line-height:0.96; font-weight:800;
    letter-spacing:-0.03em; margin:14px 0 0;}
  .hero h1 .h1-sub{font-size:0.44em; font-weight:600; letter-spacing:-0.01em; color:var(--muted);
    display:inline-block; margin-top:0.2em;}
  .hero p{max-width:500px; margin:16px 0 0; color:var(--muted); font-size:15px;}
  .hero-cta{display:flex; gap:12px; justify-content:flex-start; flex-wrap:wrap; margin-top:26px;}
  .hero-stats{position:relative; z-index:2; margin-top:24px; border-top:1px solid var(--line);}
  .hero-stats .wrap{display:grid; grid-template-columns:repeat(3,1fr);}
  .hstat{padding:18px 30px; border-right:1px solid var(--line);}
  .hstat:first-child{padding-left:0;}
  .hstat:last-child{padding-right:0; border-right:0;}
  .hstat .k{font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:11px; letter-spacing:0.14em;
    text-transform:uppercase; color:var(--dim);}
  .hstat .v{font-size:16px; font-weight:700; margin-top:5px;}
  @media(max-width:760px){ .hero-stats .wrap{grid-template-columns:1fr;} .hstat{border-right:0; border-bottom:1px solid var(--line); text-align:center; padding:22px 0;} .hstat:first-child{padding-left:0;} .hstat:last-child{border-bottom:0; padding-right:0;} }
  @media(max-width:760px){
    .hero-photo img{object-position:68% center; opacity:.55;}
    .hero-photo::after{background:linear-gradient(90deg,rgba(6,11,28,.97),rgba(6,11,28,.58)),linear-gradient(180deg,rgba(6,11,28,.3),transparent 42%,rgba(6,11,28,.9));}
  }
  @media(max-width:760px){
    .hero{min-height:560px; padding-top:72px;}
    .hero-inner{align-items:flex-start; text-align:left; justify-content:center;}
    .hero h1{font-size:clamp(36px,11vw,58px);}
    .hero p{max-width:34rem;}
  }
  @media(min-width:1400px) and (max-height:760px){
    .hero{min-height:640px;}
    .hero-photo img{object-position:center 44%;}
  }

  /* ---------- SECTION SHELL ---------- */
  section{position:relative; border-top:0;}
  section:not(.hero)::before{content:""; position:absolute; z-index:0; top:0; left:0; right:0; height:92px;
    pointer-events:none; background:linear-gradient(180deg,rgba(196,216,238,.075),rgba(196,216,238,.025) 30%,transparent 100%);}
  section:not(.hero) .sec,section:not(.hero) .cta{position:relative; z-index:1;}
  .sec{padding:44px 0;}
  .lead{font-size:clamp(23px,3vw,36px); line-height:1.16; font-weight:700; letter-spacing:-0.01em;
    max-width:760px; margin-top:15px;}

  /* ---------- PRODUKTIVNOST (numbered cards) ---------- */
  #produktivnost{padding:28px 0; overflow:hidden;}
  #produktivnost .sec{position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.92fr);
    grid-template-areas:"eyebrow visual" "lead visual" "cards visual"; column-gap:44px; row-gap:0;
    isolation:isolate; border-radius:26px; padding:38px; background:rgba(7,15,27,.24);
    box-shadow:0 24px 70px rgba(0,0,0,.22);}
  #produktivnost .eyebrow,#produktivnost .lead,#produktivnost .cards{position:relative; z-index:2;}
  #produktivnost .eyebrow{grid-area:eyebrow;}
  #produktivnost .lead{grid-area:lead;}
  #produktivnost .cards{grid-area:cards;}
  #produktivnost .lead{max-width:700px;}
  .cards{margin-top:22px; display:grid; grid-template-columns:1fr; gap:0;}
  .card{position:relative; background:transparent; border:0; border-bottom:1px solid var(--line);
    box-shadow:none; padding:14px 0 14px 26px; border-radius:0;}
  .card:first-child{border-top:1px solid var(--line);}
  .card::before{content:""; position:absolute; left:2px; top:23px; width:8px; height:8px; border-radius:50%; background:var(--accent-light); box-shadow:0 0 0 5px var(--accent-soft);}
  .card .n{display:none;}
  .card h3{font-size:17px; font-weight:700; margin:6px 0 5px; letter-spacing:-0.01em; color:var(--ink);}
  .card p{color:var(--muted); font-size:13.5px;}
  .dotring{display:none;}
  @media(max-width:900px){
    #produktivnost .sec{grid-template-columns:1fr; grid-template-areas:"eyebrow" "lead" "cards" "visual"; gap:0; padding:28px 22px;}
  }
  .wide-visual{grid-area:visual; position:relative; z-index:1; margin:0; min-height:390px; overflow:hidden;
    border:1px solid var(--line2); border-radius:9px 24px 24px 24px; background:rgba(4,8,18,.58); box-shadow:0 18px 46px rgba(0,0,0,.24);}
  .wide-visual img{width:100%; height:100%; object-fit:cover; object-position:center 48%;}
  .wide-visual::after{content:""; position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(180deg,transparent 62%,rgba(5,15,19,.28));}
  .wide-visual figcaption{display:none;}
  @media(max-width:900px){.wide-visual{min-height:0; height:auto; aspect-ratio:16/10; margin-top:24px;}}

  /* ---------- STACK / ZAKAJ SOLID (list) ---------- */
  .stack{margin-top:54px; border-top:1px solid var(--line);}
  .srow{display:grid; grid-template-columns:118px 1fr; gap:20px; padding:18px 0; border-bottom:1px solid var(--line);}
  .srow .tag{font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:11px; letter-spacing:0.16em;
    text-transform:uppercase; color:var(--accent-light); padding:5px 9px; border-radius:999px; background:rgba(79,127,174,.14); align-self:start; justify-self:start;}
  .srow h3{font-size:19px; font-weight:700; margin-bottom:6px; letter-spacing:-0.01em;}
  .srow p{color:var(--muted); font-size:13.5px; max-width:640px;}
  @media(max-width:700px){ .srow{grid-template-columns:1fr; gap:10px;} }
  .solid-story{display:grid; grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr); gap:36px; align-items:center; margin-top:34px;}
  .solid-story .stack{margin-top:0;}
  .story-visual{overflow:hidden; border:1px solid var(--line2); border-radius:24px 24px 24px 7px; box-shadow:0 24px 60px rgba(0,0,0,.3); transform:translateY(10px);}
  .story-visual img{width:100%; height:330px; object-fit:cover; object-position:center;}
  @media(max-width:900px){.solid-story{grid-template-columns:1fr; gap:24px;} .story-visual{order:-1;} .story-visual img{height:auto; min-height:0; aspect-ratio:16/10;}}

  /* ---------- CTA BAND ---------- */
  .cta{padding:52px 0; text-align:center; position:relative; overflow:hidden;}
  .cta-photo{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:.58;}
  .cta::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,16,29,.86),rgba(8,16,29,.50)),linear-gradient(180deg,rgba(28,59,94,.42),rgba(8,16,29,.93));}
  .cta .glow{position:absolute; inset:0; background:radial-gradient(55% 110% at 50% 0%, rgba(255,255,255,0.10), transparent 62%);}
  .cta .wrap{position:relative; z-index:2;}
  .cta h2{position:relative; font-size:clamp(27px,4vw,46px); font-weight:800; letter-spacing:-0.02em; line-height:1.06;
    max-width:820px; margin:0 auto;}
  .cta p{position:relative; color:var(--muted); margin:14px auto 22px; max-width:460px; font-size:14px;}
  .cta .hero-cta{position:relative; justify-content:center;}

  /* ---------- PRILOŽNOST (icon grid) ---------- */
  .opp{margin-top:54px; display:grid; grid-template-columns:repeat(2,1fr); gap:44px 40px;}
  .opp-item{display:flex; gap:20px;}
  .opp-ic{flex:0 0 auto; width:46px; height:46px; border:1px solid var(--line2); background:rgba(255,255,255,0.055);
    display:flex; align-items:center; justify-content:center; color:var(--accent-light);}
  .opp-item h3{font-size:17.5px; font-weight:700; margin-bottom:8px; letter-spacing:-0.005em;}
  .opp-item p{color:var(--muted); font-size:14.5px;}
  @media(max-width:760px){ .opp{grid-template-columns:1fr;} }

  /* ---------- PAKETI ---------- */
  .paks{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:28px; border:0;}
  .pak{padding:21px 19px; border:1px solid var(--line); position:relative; background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(4,8,18,.35)); border-radius:18px;}
  .pak:last-child{border-right:1px solid var(--line);}
  .pak.feat{background:linear-gradient(155deg,var(--accent-soft),rgba(255,255,255,0.055) 72%); transform:translateY(-8px); box-shadow:0 18px 45px rgba(0,0,0,.24);}
  .pak .pk{font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--accent);}
  .pak h3{font-size:21px; font-weight:800; margin:10px 0 5px; letter-spacing:-0.01em;}
  .pak .d{color:var(--muted); font-size:12.5px; min-height:36px;}
  .pak ul{list-style:none; margin:16px 0 20px; border-top:1px solid var(--line);}
  .pak li{padding:8px 0; border-bottom:1px solid var(--line); color:var(--ink); font-size:13px; display:flex; gap:9px;}
  .pak li::before{content:"+"; color:var(--accent); font-family:ui-monospace,SFMono-Regular,Consolas,monospace;}
  .pak .btn{width:100%; justify-content:center;}
  @media(max-width:860px){ .paks{grid-template-columns:1fr;} .pak{border-right:1px solid var(--line);border-bottom:1px solid var(--line);} .pak.feat{transform:none;} }
  .note{margin-top:22px; color:var(--dim); font-size:13px;}

  /* ---------- PROCES ---------- */
  .steps{margin-top:54px; border-top:1px solid var(--line);}
  .step{display:grid; grid-template-columns:74px 1fr; gap:18px; padding:19px 0; border-bottom:1px solid var(--line);}
  .step .n{font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:27px; font-weight:500; color:var(--accent-dim); line-height:1;}
  .step h3{font-size:17px; font-weight:700; margin-bottom:5px;}
  .step p{color:var(--muted); font-size:13.5px; max-width:600px;}
  @media(max-width:620px){ .step{grid-template-columns:1fr; gap:8px;} .step .n{font-size:24px;} }
  .process-layout{display:grid; grid-template-columns:minmax(340px,.92fr) minmax(0,1fr); gap:38px; align-items:start; margin-top:28px;}
  .process-layout .steps{margin-top:0;}
  .process-visual{position:sticky; top:90px; order:-1; display:grid; grid-template-columns:1fr; overflow:hidden; border:1px solid var(--line2); border-radius:24px 7px 24px 24px; background:rgba(4,8,18,.58); box-shadow:0 24px 60px rgba(0,0,0,.3);}
  .process-visual img{width:100%; height:310px; object-fit:cover; object-position:center;}
  .process-visual img:first-child{display:none;}
  .process-visual .process-secondary{grid-column:1/-1; border-left:0; object-position:center;}
  .process-visual figcaption{grid-column:1/-1; padding:11px 14px; border-top:1px solid var(--line); font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:var(--dim);}
  @media(max-width:900px){.process-layout{grid-template-columns:1fr; gap:24px;} .process-visual{position:relative; top:auto; order:-1;} .process-visual img{height:210px;}}

  /* ---------- FAQ ---------- */
  .faq{margin-top:28px; border-top:1px solid var(--line);}
  .faq details{border-bottom:1px solid var(--line); padding:17px 0;}
  .faq summary{display:flex; align-items:baseline; gap:18px; cursor:pointer; list-style:none; font-size:15px; font-weight:600;}
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary .n{font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:13px; color:var(--accent); flex:0 0 auto;}
  .faq summary .plus{margin-left:auto; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; color:var(--dim); font-size:20px; transition:transform .2s;}
  .faq details[open] summary .plus{transform:rotate(45deg); color:var(--accent);}
  .faq .a{padding:12px 0 0 48px; color:var(--muted); font-size:13.5px; max-width:680px;}

  /* ---------- KONTAKTNI OBRAZEC ---------- */
  .contact-section{padding:76px 0; border-top:1px solid var(--line); background:linear-gradient(180deg,rgba(14,118,255,.08),rgba(4,8,18,.18));}
  .contact-layout{display:grid; grid-template-columns:minmax(0,.78fr) minmax(420px,1.22fr); gap:58px; align-items:start;}
  .contact-copy h2{font-size:clamp(34px,5vw,64px); line-height:.98; letter-spacing:-.04em; margin:16px 0 22px; max-width:620px;}
  .contact-copy>p{color:var(--muted); font-size:16px; max-width:540px;}
  .contact-direct{margin-top:30px; padding-top:20px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:5px; color:var(--dim); font-size:13px;}
  .contact-direct a{color:var(--accent-light); font-size:18px; font-weight:700;}
  .contact-form{padding:28px; border:1px solid var(--line2); border-radius:24px 8px 24px 24px; background:rgba(7,17,31,.78); box-shadow:0 25px 70px rgba(0,0,0,.25);}
  .form-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  .contact-form label{display:flex; flex-direction:column; gap:8px; margin-bottom:16px; color:var(--ink); font-size:13px; font-weight:650;}
  .contact-form input,.contact-form select,.contact-form textarea{width:100%; border:1px solid var(--line2); border-radius:10px; background:rgba(255,255,255,.055); color:var(--ink); padding:13px 14px; font:inherit; font-weight:400; outline:none;}
  .contact-form select option{color:#07111f; background:#fff;}
  .contact-form textarea{resize:vertical; min-height:140px;}
  .contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--accent); box-shadow:0 0 0 3px rgba(14,118,255,.16);}
  .contact-form .consent-row{display:grid; grid-template-columns:20px 1fr; align-items:start; gap:11px; color:var(--muted); font-weight:400; line-height:1.45;}
  .contact-form .consent-row input{width:18px; height:18px; margin-top:2px; accent-color:var(--accent);}
  .contact-form .consent-row a{color:var(--accent-light); text-decoration:underline; text-underline-offset:2px;}
  .submit-btn{border:0; cursor:pointer;}
  .form-note{margin-top:13px; color:var(--dim); font-size:11.5px;}
  .form-status{display:none; margin-bottom:18px; padding:12px 14px; border:1px solid var(--line2); border-radius:10px; font-size:13px;}
  .form-status.show{display:block;}
  .form-status.success{color:#b8f3cf; background:rgba(38,132,81,.18); border-color:rgba(77,190,120,.45);}
  .form-status.error{color:#ffd0ca; background:rgba(179,48,38,.17); border-color:rgba(235,91,76,.42);}
  .hp-field{position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important;}
  @media(max-width:900px){.contact-layout{grid-template-columns:1fr; gap:34px;}.contact-form{padding:22px;}}
  @media(max-width:620px){.form-grid{grid-template-columns:1fr; gap:0;}.contact-section{padding:56px 0;}}

  /* ---------- FOOTER ---------- */
  footer{border-top:0; padding:44px 0 24px; position:relative;}
  footer::before{content:""; position:absolute; top:0; left:0; right:0; height:78px; pointer-events:none;
    background:linear-gradient(180deg,rgba(196,216,238,.065),transparent);}
  footer>.wrap{position:relative; z-index:1;}
  .foot-top{display:grid; grid-template-columns:2fr 1fr 1fr; gap:32px; padding-bottom:30px; border-bottom:1px solid var(--line);}
  .foot-brand{display:flex; align-items:center; gap:11px; margin-bottom:16px;}
  .foot-brand .mark{width:24px; height:24px;}
  .foot-brand span{font-weight:800; font-size:17px;}
  .foot-p{color:var(--muted); font-size:14px; max-width:300px;}
  .foot-col h4{font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--dim); margin-bottom:18px;}
  .foot-col a{display:block; color:var(--muted); font-size:14px; padding:6px 0; transition:.15s;}
  .foot-col a:hover{color:var(--ink);}
  .foot-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; padding-top:26px;
    font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--dim);}
  @media(max-width:760px){ .foot-top{grid-template-columns:1fr;gap:30px;} }

  /* ---------- PRAVNA OKNA ---------- */
  .legal-dialog{width:min(860px,calc(100% - 28px)); max-height:min(88vh,900px); padding:0;
    color:var(--ink); background:linear-gradient(155deg,#172b47,#0b1727 78%); border:1px solid var(--line2);
    border-radius:22px; box-shadow:0 36px 120px rgba(0,0,0,.68); overflow:hidden;}
  .legal-dialog::backdrop{background:rgba(3,8,15,.78); backdrop-filter:blur(7px);}
  .legal-head{position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between;
    gap:18px; padding:18px 22px; background:rgba(10,23,39,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(12px);}
  .legal-head h2{font-size:19px; margin:0;}
  .legal-close{width:38px; height:38px; border:1px solid var(--line2); border-radius:50%; background:rgba(255,255,255,.06);
    color:var(--ink); font-size:23px; line-height:1; cursor:pointer;}
  .legal-close:hover{background:var(--accent);}
  .legal-body{padding:24px clamp(20px,5vw,48px) 42px; overflow:auto; max-height:calc(min(88vh,900px) - 75px);}
  .legal-body .updated{font-size:12px; color:var(--dim); margin-bottom:20px;}
  .legal-body .legal-notice{padding:14px 16px; margin:0 0 24px; border-left:3px solid var(--accent);
    border-radius:0 10px 10px 0; background:var(--accent-soft); color:var(--muted); font-size:13px;}
  .legal-body h3{font-size:16px; color:var(--accent-light); margin:25px 0 7px;}
  .legal-body p,.legal-body li{font-size:14px; line-height:1.62; color:var(--muted);}
  .legal-body p{margin:0 0 11px;}.legal-body ul{padding-left:20px; margin:8px 0 14px;}
  .legal-body a{color:var(--accent-light); text-decoration:underline; text-underline-offset:3px;}
  body.legal-open{overflow:hidden;}
  @media(max-width:560px){.legal-dialog{width:100%; max-width:none; max-height:94vh; margin:auto 0 0; border-radius:20px 20px 0 0;}.legal-body{max-height:calc(94vh - 70px);}.legal-head{padding:15px 18px;}}

  .reveal{opacity:0; transform:translateY(16px); transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1; transform:none;}
  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1; transform:none; transition:none;}
    .hero-glow{animation:none;}
  }
