/* Self-hosted fonts (SIL OFL 1.1) */
@font-face{font-family:'Commissioner';font-style:normal;font-display:swap;font-weight:100 900;src:url(fonts/commissioner-greek-wght-normal.woff2) format('woff2-variations'),url(fonts/commissioner-greek-wght-normal.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:'Commissioner';font-style:normal;font-display:swap;font-weight:100 900;src:url(fonts/commissioner-latin-wght-normal.woff2) format('woff2-variations'),url(fonts/commissioner-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:500;src:url(fonts/jetbrains-mono-greek-500-normal.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:500;src:url(fonts/jetbrains-mono-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:600;src:url(fonts/jetbrains-mono-greek-600-normal.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-display:swap;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --ink:#0B1410; --ink-2:#16211C; --line-d:#2A3831;
  --ground:#F4F6F1; --white:#FFFFFF; --line:#DDE3DA; --soft:#EEF1EC;
  --text-2:#3F4A44; --muted:#4E5A53; --mute-d:#C9D2CC;
  --green:#0E5C3A; --green-2:#0E7A45; --green-bg:#EAF7EF;
  --accent:#B8F35A;
  --red:#9F1D22; --red-bg:#FDE7E7; --amber:#7A4300; --amber-bg:#FFF1D6; --blue:#23407A; --blue-bg:#E6EDFA;
  --err:#B42318;
  --ease:cubic-bezier(.2,.7,.2,1);
  --mono:'JetBrains Mono', ui-monospace, monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Commissioner',system-ui,sans-serif;color:var(--ink);background:var(--ground);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.locked{overflow:hidden}
a{color:var(--ink)}a:hover{color:var(--green)}
img,svg{display:block}
button{font-family:inherit}
input,select,textarea{font-family:inherit}
:focus-visible{outline:3px solid var(--green);outline-offset:2px;border-radius:6px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.mono{font-family:var(--mono)}
.eyebrow{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--green);letter-spacing:.06em}
.h2{margin:0;font-size:clamp(34px,4vw,52px);line-height:1.06;letter-spacing:-.03em;font-weight:800}
.lead{margin:0;font-size:18px;line-height:1.55;color:var(--text-2)}
.center{display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center}

/* ---------- Preloader ---------- */
#preloader{position:fixed;inset:0;z-index:100;background:var(--ink);display:flex;align-items:center;justify-content:center;transition:opacity .6s var(--ease), visibility .6s, transform .8s var(--ease)}
#preloader .pl{display:flex;flex-direction:column;align-items:center;gap:22px}
#preloader svg{width:180px;height:60px;overflow:visible}
#preloader .pl-line{fill:none;stroke:var(--accent);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:260;stroke-dashoffset:260;animation:draw 1.4s var(--ease) infinite}
#preloader .pl-word{color:#F4F6F1;font-weight:800;font-size:26px;letter-spacing:-.02em;opacity:0;animation:fadeUp .7s .2s var(--ease) forwards}
#preloader .pl-bar{width:180px;height:3px;border-radius:9px;background:var(--line-d);overflow:hidden}
#preloader .pl-bar span{display:block;height:100%;width:0;background:var(--accent);transition:width .3s ease}
body.loaded #preloader{opacity:0;visibility:hidden;transform:translateY(-12px)}
@keyframes draw{0%{stroke-dashoffset:260}55%{stroke-dashoffset:0}100%{stroke-dashoffset:-260}}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- Scroll progress ---------- */
#progress{position:fixed;top:0;left:0;height:3px;width:100%;background:var(--accent);transform-origin:0 50%;transform:scaleX(0);z-index:60}

/* ---------- Reveal ---------- */
.js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease), transform .9s var(--ease);transition-delay:var(--d,0ms)}
.js [data-reveal="left"]{transform:translateX(-36px)}
.js [data-reveal="right"]{transform:translateX(36px)}
.js [data-reveal="scale"]{transform:scale(.94)}
.js [data-reveal].in{opacity:1;transform:none}
.js .words .w{display:inline-block;opacity:0;transform:translateY(.5em) rotate(2deg);transition:opacity .8s var(--ease), transform .8s var(--ease);transition-delay:calc(var(--i) * 70ms + 150ms)}
.js .words.in .w{opacity:1;transform:none}

/* ---------- Header ---------- */
header.site{position:sticky;top:0;z-index:50;background:rgba(244,246,241,.0);border-bottom:1px solid transparent;transition:background .3s, border-color .3s, box-shadow .3s}
header.site.scrolled{background:rgba(244,246,241,.82);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-color:var(--line);box-shadow:0 6px 24px rgba(11,20,16,.05)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 24px;max-width:1200px;margin:0 auto}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.logo-mark{width:36px;height:36px;border-radius:10px;background:var(--accent);display:flex;align-items:center;justify-content:center;transition:transform .4s var(--ease)}
.logo:hover .logo-mark{transform:rotate(-8deg) scale(1.06)}
.logo-mark path{stroke-dasharray:40;stroke-dashoffset:0}
.logo:hover .logo-mark path{animation:redraw 1s var(--ease)}
@keyframes redraw{from{stroke-dashoffset:40}to{stroke-dashoffset:0}}
.logo-word{font-weight:800;font-size:21px;letter-spacing:-.02em}
.navlinks{display:flex;align-items:center;gap:32px;font-size:15px;font-weight:500}
.navlinks a{text-decoration:none;position:relative;padding:6px 0}
.navlinks a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
.navlinks a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-right{display:flex;align-items:center;gap:10px}
.burger{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--white);cursor:pointer;align-items:center;justify-content:center}
.mobile-menu{display:none}
@media (max-width:860px){
  .navlinks{display:none}
  .burger{display:flex}
  .nav .btn-nav{display:none}
  .mobile-menu{display:block;overflow:hidden;max-height:0;transition:max-height .45s var(--ease);background:var(--ground);border-bottom:1px solid transparent}
  .mobile-menu.open{max-height:420px;border-color:var(--line)}
  .mobile-menu nav{display:flex;flex-direction:column;padding:8px 24px 24px;gap:4px}
  .mobile-menu a{padding:14px 0;font-size:18px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--line)}
  .mobile-menu .btn{margin-top:14px;justify-content:center}
}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;border:none;font-size:15px;font-weight:700;text-decoration:none;cursor:pointer;position:relative;overflow:hidden;transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s}
.btn .arr{transition:transform .3s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{color:#fff;box-shadow:0 10px 24px rgba(11,20,16,.22), 0 0 0 4px rgba(184,243,90,.45)}
.btn-acc{background:var(--accent);color:var(--ink)}
.btn-acc:hover{color:var(--ink);box-shadow:0 12px 30px rgba(184,243,90,.35)}
.btn::before{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .7s var(--ease)}
.btn:hover::before{left:130%}
.btn-sq{border-radius:12px}

/* ---------- Hero ---------- */
.hero{display:flex;flex-wrap:wrap;align-items:center;gap:56px;padding-top:64px;padding-bottom:96px}
.hero-l{flex:1 1 500px;min-width:0;display:flex;flex-direction:column;gap:28px}
.pill{display:inline-flex;align-self:flex-start;align-items:center;gap:10px;padding:7px 14px 7px 8px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:14px;font-weight:500}
.pill b{padding:3px 9px;border-radius:999px;background:var(--accent);font-family:var(--mono);font-size:12px;font-weight:600}
.pill .dot{width:8px;height:8px;border-radius:50%;background:#12A150;box-shadow:0 0 0 0 rgba(18,161,80,.5);animation:ping 2s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(18,161,80,.5)}70%{box-shadow:0 0 0 10px rgba(18,161,80,0)}100%{box-shadow:0 0 0 0 rgba(18,161,80,0)}}
h1{margin:0;font-size:clamp(42px,5.4vw,72px);line-height:1.04;letter-spacing:-.035em;font-weight:800}
.mark{position:relative;white-space:nowrap}
.mark::before{content:"";position:absolute;left:-.04em;right:-.04em;bottom:.06em;height:.3em;background:var(--accent);z-index:-1;transform:scaleX(0);transform-origin:left;transition:transform .9s .9s var(--ease)}
.words.in .mark::before, html:not(.js) .mark::before{transform:scaleX(1)}
.mark{z-index:0;display:inline-block}
.urlform{display:flex;flex-wrap:wrap;gap:10px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px rgba(11,20,16,.06);max-width:580px;transition:box-shadow .3s, border-color .3s}
.urlform:focus-within{border-color:var(--ink);box-shadow:0 14px 36px rgba(11,20,16,.12)}
.urlform .field{flex:1 1 240px;display:flex;align-items:center;gap:10px;padding:0 12px}
.urlform input{flex:1;min-width:0;height:48px;border:none;outline:none;font-size:17px;background:transparent;color:var(--ink)}
.urlform input::placeholder{color:#6B756F}
.urlform.dark{background:var(--ink-2);border-color:var(--line-d)}
.urlform.dark input{color:#F4F6F1}
.urlform.dark input::placeholder{color:#93A099}
.urlform.dark:focus-within{border-color:var(--accent)}
.form-hint{font-size:14px;color:var(--err);min-height:20px;margin-top:-18px}
.form-hint.dark{color:#FFB4AE}
.ticks{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px;font-size:15px;color:var(--text-2);font-weight:500}
.ticks li{display:flex;align-items:center;gap:8px}

.hero-r{flex:1 1 420px;min-width:0;position:relative;padding:12px 0 28px;perspective:1200px}
.float{animation:float 7s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.report{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 30px 60px -20px rgba(11,20,16,.18);display:flex;flex-direction:column;gap:24px;transition:transform .25s ease-out;transform-style:preserve-3d}
.rep-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.status{padding:6px 12px;border-radius:999px;background:var(--green-bg);color:var(--green);font-size:13px;font-weight:600;display:flex;align-items:center;gap:6px}
.ring-wrap{position:relative;width:132px;height:132px;flex:0 0 auto}
.ring-val{stroke-dasharray:340;stroke-dashoffset:340;transition:stroke-dashoffset 1.8s .3s var(--ease)}
.in .ring-val{stroke-dashoffset:109}
.ring-num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring-num b{font-size:38px;font-weight:800;letter-spacing:-.03em;line-height:1}
.ring-num span{font-size:12px;color:var(--muted);font-weight:500}
.bars{flex:1 1 180px;display:flex;flex-direction:column;gap:12px}
.bar{display:flex;flex-direction:column;gap:5px}
.bar-top{display:flex;justify-content:space-between;font-size:14px;font-weight:500}
.track{height:8px;border-radius:99px;background:var(--soft);overflow:hidden}
.fill{height:8px;border-radius:99px;width:0;transition:width 1.4s var(--ease)}
.in .fill{width:var(--w)}
.issue{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--soft);font-size:15px;font-weight:500}
.issue:last-child{border-bottom:none;padding-bottom:0}
.tag{flex:0 0 auto;padding:4px 10px;border-radius:8px;font-size:12px;font-weight:700}
.t-red{background:var(--red-bg);color:var(--red)}.t-amb{background:var(--amber-bg);color:var(--amber)}.t-blue{background:var(--blue-bg);color:var(--blue)}.t-green{background:var(--green-bg);color:var(--green)}
.js .issue{opacity:0;transform:translateX(16px);transition:opacity .6s var(--ease), transform .6s var(--ease);transition-delay:calc(var(--i) * 160ms + 900ms)}
.in .issue{opacity:1;transform:none}
.badge{position:absolute;left:-18px;bottom:0;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;background:var(--ink);color:#fff;box-shadow:0 14px 30px rgba(11,20,16,.25);font-size:14px;font-weight:600}
.js .badge{opacity:0;transform:scale(.6) translateY(20px);transition:opacity .6s 1.6s var(--ease), transform .7s 1.6s cubic-bezier(.3,1.6,.5,1)}
.in .badge{opacity:1;transform:none}
.badge i{width:26px;height:26px;border-radius:8px;background:var(--accent);display:flex;align-items:center;justify-content:center}
@media (max-width:560px){.badge{left:8px}}

/* ---------- Marquee ---------- */
.ribbon{background:var(--ink);color:#E6EDE8;overflow:hidden;padding:24px 0}
.marquee{display:flex;width:max-content;animation:marq 40s linear infinite}
.ribbon:hover .marquee{animation-play-state:paused}
.marquee ul{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0 14px;font-family:var(--mono);font-size:15px;font-weight:500;white-space:nowrap}
.marquee li.dot{color:#4E5A53}
.marquee li.hl{color:var(--accent);font-weight:600}
@keyframes marq{to{transform:translateX(-50%)}}

/* ---------- Cards ---------- */
section{position:relative}
.sec{padding-top:112px;padding-bottom:40px}
.row{display:flex;flex-wrap:wrap;gap:20px}
.card{flex:1 1 320px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px;display:flex;flex-direction:column;gap:16px;transition:transform .45s var(--ease), box-shadow .45s var(--ease), border-color .45s}
.card:hover{transform:translateY(-6px);box-shadow:0 22px 44px -12px rgba(11,20,16,.14);border-color:#B9C4BC}
.card h3{margin:0;font-size:23px;letter-spacing:-.02em;font-weight:700}
.card p{margin:0;font-size:16px;line-height:1.6;color:var(--text-2)}
.num{font-family:var(--mono);font-size:14px;font-weight:600;color:var(--green)}
.card .big{font-size:64px;font-weight:800;letter-spacing:-.05em;line-height:1;color:var(--soft);transition:color .45s}
.card:hover .big{color:var(--accent)}
.ico{width:48px;height:48px;border-radius:14px;background:var(--green-bg);display:flex;align-items:center;justify-content:center;transition:transform .5s cubic-bezier(.3,1.6,.5,1), background .4s}
.card:hover .ico{transform:rotate(-10deg) scale(1.12);background:var(--accent)}
.card ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;font-size:15px;color:var(--text-2)}
.card ul li{display:flex;gap:10px;align-items:flex-start}
.card ul li::before{content:"";flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:#9AA79F;margin-top:8px;transition:background .3s}
.card:hover ul li::before{background:var(--green-2)}
.card-top{display:flex;align-items:center;justify-content:space-between}

/* ---------- Steps ---------- */
.white{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:24px;position:relative}
.step{flex:1 1 300px;display:flex;flex-direction:column;gap:18px;padding:32px;border-radius:22px;background:var(--ground);transition:transform .45s var(--ease), background .45s}
.step:hover{transform:translateY(-6px);background:#ECF0E8}
.step h3{margin:0;font-size:24px;letter-spacing:-.02em;font-weight:700}
.step p{margin:0;font-size:16px;line-height:1.6;color:var(--text-2)}
.sn{width:56px;height:56px;border-radius:16px;background:var(--ink);color:var(--accent);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:22px;font-weight:600;transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.step:hover .sn{transform:scale(1.1) rotate(-6deg)}
.sn.acc{background:var(--accent);color:var(--ink)}

/* ---------- Dark report ---------- */
.dark{background:var(--ink);color:#F4F6F1}
.dark .eyebrow{color:var(--accent)}
.dk{display:flex;flex-wrap:wrap;align-items:center;gap:64px;padding-top:112px;padding-bottom:112px}
.dk-l{flex:1 1 400px;min-width:0;display:flex;flex-direction:column;gap:28px}
.dk-l ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:16px;font-size:17px;line-height:1.5;color:var(--mute-d)}
.dk-l li{display:flex;gap:14px}
.panel{flex:1 1 500px;min-width:0;background:var(--ink-2);border:1px solid var(--line-d);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:20px}
.tabs{display:flex;flex-wrap:wrap;gap:6px;padding:6px;border-radius:14px;background:var(--ink);position:relative}
.tab{flex:1 1 auto;min-height:44px;padding:0 16px;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;background:transparent;color:var(--mute-d);position:relative;z-index:1;transition:color .3s}
.tab[aria-selected="true"]{color:var(--ink)}
.tab-ind{position:absolute;top:6px;bottom:6px;left:6px;border-radius:10px;background:#F4F6F1;transition:transform .45s var(--ease), width .45s var(--ease);z-index:0}
.tabpanel{display:none}
.tabpanel.active{display:flex;flex-direction:column;gap:12px;animation:panelIn .5s var(--ease)}
@keyframes panelIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.fix{background:#F4F6F1;color:var(--ink);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:10px;transition:transform .35s var(--ease)}
.fix:hover{transform:translateX(4px)}
.fix-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:17px;font-weight:700}
.fix p{margin:0;font-size:15px;line-height:1.55;color:var(--text-2)}
.chk{background:#F4F6F1;color:var(--ink);border-radius:16px;padding:8px 20px}
.chk div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;font-weight:500}
.chk div:last-child{border-bottom:none}
.ok{font-size:13px;font-weight:700;color:var(--green)}.no{font-size:13px;font-weight:700;color:var(--red)}.wa{font-size:13px;font-weight:700;color:var(--amber)}

/* ---------- Pricing ---------- */
.price{width:100%;max-width:980px;display:flex;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(11,20,16,.2);margin:0 auto}
.price-l{flex:1 1 420px;padding:44px;display:flex;flex-direction:column;gap:28px}
.price-r{flex:1 1 340px;padding:44px;background:var(--ink);color:#F4F6F1;display:flex;flex-direction:column;justify-content:space-between;gap:32px}
.euro{font-size:88px;font-weight:800;letter-spacing:-.05em;line-height:1}
.inc{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px;font-size:16px}
.inc li{display:flex;gap:12px;align-items:flex-start}
.stepper{display:flex;align-items:center;gap:12px}
.sbtn{width:52px;height:52px;border-radius:14px;border:1px solid var(--line-d);background:var(--ink-2);color:#F4F6F1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .25s, transform .2s, border-color .25s}
.sbtn:hover{background:#22302A;border-color:var(--accent)}
.sbtn:active{transform:scale(.92)}
.sbtn:disabled{opacity:.4;cursor:not-allowed}
.sval{min-width:72px;text-align:center;font-family:var(--mono);font-size:34px;font-weight:600}
.total{font-size:44px;font-weight:800;letter-spacing:-.03em;display:inline-block}
.bump{animation:bump .35s var(--ease)}
@keyframes bump{40%{transform:scale(1.12)}}

/* ---------- FAQ ---------- */
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:none;border:none;padding:20px 0;text-align:left;font-size:19px;font-weight:600;color:var(--ink);cursor:pointer;transition:color .25s}
.faq-q:hover{color:var(--green)}
.faq-q .plus{flex:0 0 auto;width:36px;height:36px;border-radius:50%;background:var(--soft);display:flex;align-items:center;justify-content:center;transition:transform .4s var(--ease), background .3s}
.faq-q:hover .plus{background:var(--accent)}
.faq-q[aria-expanded="true"] .plus{transform:rotate(135deg);background:var(--accent)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.faq-a > div{overflow:hidden}
.faq-a p{margin:0;padding:0 48px 24px 0;font-size:16px;line-height:1.65;color:var(--text-2)}
.faq-q[aria-expanded="true"] + .faq-a{grid-template-rows:1fr}

/* ---------- Final CTA ---------- */
.cta{background:var(--ink);color:#F4F6F1;border-radius:32px;padding:88px 40px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:28px;position:relative;overflow:hidden}
.cta .pulse{width:64px;height:64px;border-radius:18px;background:var(--accent);display:flex;align-items:center;justify-content:center;animation:beat 1.6s ease-in-out infinite}
@keyframes beat{0%,100%{transform:scale(1)}15%{transform:scale(1.1)}30%{transform:scale(1)}45%{transform:scale(1.06)}}
.cta-line{position:absolute;left:0;right:0;bottom:36px;height:60px;opacity:.14;pointer-events:none}
.cta-line path{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:1600;stroke-dashoffset:1600;transition:stroke-dashoffset 3s var(--ease)}
.cta.in .cta-line path{stroke-dashoffset:0}

footer{background:#fff;border-top:1px solid var(--line)}
.foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;font-size:14px;color:var(--muted);padding-top:36px;padding-bottom:36px}
.foot nav{display:flex;flex-wrap:wrap;gap:20px}

/* ---------- Modal ---------- */
.modal{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px;visibility:hidden;pointer-events:none}
.modal.open{visibility:visible;pointer-events:auto}
.overlay{position:absolute;inset:0;background:rgba(11,20,16,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .35s}
.modal.open .overlay{opacity:1}
.sheet{position:relative;width:100%;max-width:620px;max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:26px;box-shadow:0 40px 90px rgba(11,20,16,.35);opacity:0;transform:translateY(30px) scale(.97);transition:opacity .4s var(--ease), transform .5s var(--ease)}
.modal.open .sheet{opacity:1;transform:none}
.sh-head{position:sticky;top:0;background:#fff;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 28px 18px;border-bottom:1px solid var(--soft)}
.dots{display:flex;align-items:center;gap:8px}
.dots span{height:6px;width:22px;border-radius:9px;background:var(--soft);transition:background .3s, width .4s var(--ease)}
.dots span.on{background:var(--ink);width:36px}
.dots span.done{background:#12A150}
.x{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .3s var(--ease), background .25s}
.x:hover{background:var(--soft);transform:rotate(90deg)}
.sh-body{padding:26px 28px 28px}
.pane{display:none;flex-direction:column;gap:20px}
.pane.active{display:flex;animation:paneIn .45s var(--ease)}
.pane.back{animation:paneBack .45s var(--ease)}
@keyframes paneIn{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes paneBack{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
.pane h2{margin:0;font-size:28px;letter-spacing:-.025em;font-weight:800}
.pane .sub{margin:-12px 0 0;font-size:15px;color:var(--muted);line-height:1.5}
.f{display:flex;flex-direction:column;gap:7px}
.f label, .lbl{font-size:14px;font-weight:600}
.f label .opt{font-weight:500;color:var(--muted)}
.inp{height:50px;border:1.5px solid var(--line);border-radius:12px;padding:0 14px;font-size:16px;color:var(--ink);background:#fff;transition:border-color .2s, box-shadow .2s;width:100%}
textarea.inp{height:auto;min-height:88px;padding:12px 14px;resize:vertical}
select.inp{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230B1410' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}
.inp:hover{border-color:#B9C4BC}
.inp:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 4px rgba(184,243,90,.5)}
.inp[aria-invalid="true"]{border-color:var(--err);box-shadow:0 0 0 4px rgba(180,35,24,.1)}
.err{font-size:13px;color:var(--err);font-weight:500;min-height:0}
.shake{animation:shake .4s}
@keyframes shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width:560px){.grid2{grid-template-columns:1fr}.sh-body,.sh-head{padding-left:20px;padding-right:20px}}
.urlrow{display:flex;align-items:center;gap:10px}
.urlrow .idx{flex:0 0 auto;width:30px;height:30px;border-radius:9px;background:var(--soft);font-family:var(--mono);font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center}
.urllist{display:flex;flex-direction:column;gap:12px}
.urlitem{animation:paneIn .35s var(--ease)}
.cnt{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:var(--ground);border-radius:16px;flex-wrap:wrap}
.cnt .stepper .sbtn{width:44px;height:44px;border-radius:12px;background:#fff;color:var(--ink);border-color:var(--line)}
.cnt .stepper .sbtn:hover{border-color:var(--ink)}
.cnt .sval{font-size:24px;min-width:44px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.45;cursor:pointer}
.check input{width:22px;height:22px;margin:0;flex:0 0 auto;accent-color:var(--ink);cursor:pointer}
.reveal-box{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
.reveal-box > div{overflow:hidden}
.reveal-box.open{grid-template-rows:1fr}
.reveal-box:not(.open){margin-top:-20px}
.reveal-box .grid2{padding-top:4px}
.summary{background:var(--ground);border-radius:16px;padding:18px 20px;display:flex;flex-direction:column;gap:10px;font-size:15px}
.summary .ln{display:flex;justify-content:space-between;gap:12px}
.summary .ln span:first-child{color:var(--muted)}
.summary .ln span:last-child{font-weight:600;text-align:right;word-break:break-all}
.summary hr{border:none;border-top:1px solid var(--line);margin:4px 0;width:100%}
.summary .tot{font-size:20px;font-weight:800}
.actions{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:4px}
.btn-ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--ink);color:var(--ink)}
.btn-ghost::before{display:none}
.spin{width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;animation:sp .7s linear infinite;display:none}
.busy .spin{display:block}
.busy .lock{display:none}
.busy .lbl-txt{opacity:.75}
@keyframes sp{to{transform:rotate(360deg)}}
.note{font-size:14px;line-height:1.5;padding:12px 14px;border-radius:12px;background:var(--amber-bg);color:var(--amber)}
.note.errn{background:var(--red-bg);color:var(--red)}
.done-ic{width:84px;height:84px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;margin:6px auto 0;animation:popIn .6s cubic-bezier(.3,1.6,.5,1)}
.done-ic path{stroke-dasharray:40;stroke-dashoffset:40;animation:drawOk .6s .35s var(--ease) forwards}
@keyframes popIn{from{transform:scale(.3);opacity:0}to{transform:none;opacity:1}}
@keyframes drawOk{to{stroke-dashoffset:0}}
.oid{font-family:var(--mono);font-weight:600;background:var(--ground);padding:4px 10px;border-radius:8px}
.hp{position:absolute;left:-9999px}
#doneTitle:focus{outline:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}
  .marquee{animation:none}
}
