@font-face{font-family:'Bebas Neue';src:url(fonts/BebasNeue-Regular.woff) format('woff');font-display:swap}
@font-face{font-family:'Barlow Condensed';font-weight:500;src:url(fonts/BarlowCondensed-Medium.woff) format('woff');font-display:swap}
@font-face{font-family:'Barlow Condensed';font-weight:600;src:url(fonts/BarlowCondensed-SemiBold.woff) format('woff');font-display:swap}
@font-face{font-family:'Barlow Condensed';font-weight:700;src:url(fonts/BarlowCondensed-Bold.woff) format('woff');font-display:swap}
:root{--bg:#141417;--bg2:#0c0c0e;--panel:#1b1b20;--line:#2e2e35;--red:#e10600;--org:#E57B20;--steel:#c9ccd1;--grn:#39c45a;--txt:#e9e9ec;--mut:#9a9ea6}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:radial-gradient(1200px 600px at 80% -10%,rgba(225,6,0,.18),transparent 60%),linear-gradient(180deg,#18181c,#0c0c0e 70%);background-color:var(--bg2);color:var(--txt);font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-weight:500;font-size:19px;line-height:1.35;min-height:100vh}
a{color:inherit}
img{max-width:100%;display:block}
.h,h1,h2,h3{font-family:'Bebas Neue','Barlow Condensed',Impact,sans-serif;font-weight:400;letter-spacing:2px;line-height:.95}
.wrap{max-width:1200px;margin:0 auto;padding:0 18px}
/* top bar */
.topbar{position:sticky;top:0;z-index:20;background:rgba(10,10,12,.94);backdrop-filter:blur(6px);border-bottom:3px solid var(--red)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;height:64px}
.topbar .brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.topbar .brand img{height:46px;width:auto}
.topbar nav{display:flex;gap:8px}
.topbar nav a{font-family:'Bebas Neue';font-size:22px;letter-spacing:2px;text-decoration:none;padding:10px 14px 7px;border:1px solid var(--line);background:#141417;min-height:44px;display:flex;align-items:center}
.topbar nav a:hover,.topbar nav a:focus-visible{border-color:var(--org);color:var(--org)}
/* stripes */
.stripes{height:14px;background:repeating-linear-gradient(135deg,var(--red) 0 16px,#0b0b0d 16px 32px);background-size:45px 45px;animation:slide 1.1s linear infinite}
.stripes.org{background:repeating-linear-gradient(135deg,var(--org) 0 16px,#0b0b0d 16px 32px);background-size:45px 45px}
@keyframes slide{to{background-position:45px 0}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.stripes,.blink{animation:none!important}}
/* hero */
.hero{padding:34px 0 30px;text-align:center}
.hero .logo{width:min(640px,86%);max-height:42vh;object-fit:contain;margin:0 auto}
.hero h1{font-size:clamp(46px,9vw,96px);margin-top:14px}
.hero h1 span{color:var(--org)}
.hero p{font-size:clamp(19px,2.6vw,24px);color:var(--steel);max-width:760px;margin:10px auto 0}
.hero .cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.btn{font-family:'Bebas Neue';font-size:26px;letter-spacing:2.5px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:12px 26px 8px;background:var(--red);color:#fff;border:0;cursor:pointer}
.btn.alt{background:#24242a;border:1px solid #3a3a42}
.btn.org{background:var(--org);color:#111}
.btn:hover,.btn:focus-visible{filter:brightness(1.15)}
/* section heads */
.sec{padding:26px 0 8px}
.sec>h2{font-size:clamp(36px,6vw,54px);display:flex;align-items:center;gap:14px;margin-bottom:16px}
.sec>h2:before{content:"";width:10px;height:.9em;background:var(--red);display:inline-block}
.sec>h2 span{color:var(--org)}
/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:18px}
.card{display:flex;flex-direction:column;background:linear-gradient(180deg,#1d1d22,#121215);border:1px solid var(--line);border-top:5px solid var(--red);text-decoration:none;overflow:hidden;transition:transform .15s,border-color .15s}
.card:nth-child(even){border-top-color:var(--org)}
.card:hover,.card:focus-visible{transform:translateY(-3px);border-color:var(--org)}
.card .pic{aspect-ratio:16/9;overflow:hidden;background:#0b0b0d;border-bottom:1px solid var(--line)}
.card .pic img{width:100%;height:100%;object-fit:cover;object-position:top left}
.card .pic.doc img{object-fit:contain;object-position:center;padding:10px 0}
.card .body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.card .tag{font-family:'Bebas Neue';font-size:17px;letter-spacing:2px;color:var(--org)}
.card h3{font-size:38px}
.card p{color:var(--mut);font-size:18px;flex:1}
.card .go{margin-top:10px;font-family:'Bebas Neue';font-size:25px;letter-spacing:2.5px;background:var(--red);color:#fff;text-align:center;padding:13px 10px 9px;min-height:56px}
.card:nth-child(even) .go{background:var(--org);color:#111}
/* heritage */
.heritage{display:grid;grid-template-columns:1.4fr 1fr;gap:0;background:#121215;border:1px solid var(--line);border-left:6px solid var(--org);margin-top:8px}
.heritage img{width:100%;height:100%;object-fit:cover}
.heritage .cap{padding:22px}
.heritage .cap .tag{font-family:'Bebas Neue';font-size:22px;letter-spacing:3px;color:var(--org)}
.heritage .cap h3{font-size:clamp(34px,5vw,50px);margin:6px 0 10px}
.heritage .cap h3 b{font-weight:400;color:var(--org)}
.heritage .cap p{color:var(--steel)}
@media (max-width:760px){.heritage{grid-template-columns:1fr}}
/* footer */
footer{margin-top:40px;background:#08080a;border-top:3px solid var(--red);padding:24px 0 30px;text-align:center;color:var(--mut)}
footer img{height:70px;width:auto;margin:0 auto 10px}
footer .co{font-family:'Bebas Neue';font-size:24px;letter-spacing:2px;color:var(--txt)}
footer small{display:block;margin-top:8px;font-size:16px}
/* tool page (drag pack) */
.tool-head{display:flex;align-items:center;gap:18px;padding:22px 0 14px;border-bottom:1px solid var(--line)}
.tool-head img{height:70px;width:auto}
.tool-head h1{font-size:clamp(40px,7vw,62px)}
.tool-head h1 span{color:var(--org)}
.tool-head .sub{color:var(--mut);font-size:18px;margin-top:4px}
.note{font-size:17px;color:var(--org);margin:12px 0}
.note i{color:var(--mut)}
.panel{background:#16161a;border:1px solid var(--line);border-top:4px solid var(--red);padding:14px 16px 16px;margin-top:16px}
.panel:nth-of-type(even){border-top-color:var(--org)}
.panel>h2{font-size:30px;margin-bottom:12px}
.panel>h2 span{color:var(--org)}
.fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.fld{display:block;background:#0f0f12;border:1px solid #2e2e35;border-bottom:3px solid var(--org);padding:8px 10px 6px}
.fld span{display:block;font-family:'Bebas Neue';font-size:19px;letter-spacing:1.6px;color:var(--steel)}
.fld input,.fld select{width:100%;background:transparent;border:0;color:#fff;font-family:'Bebas Neue';font-size:36px;letter-spacing:1px;outline:none;padding:2px 0}
.fld input[type=text]{font-size:26px}
.fld select{font-size:24px}
.fld select option{background:#141417}
.fld:focus-within{border-color:var(--org)}
.warn{margin-top:10px;padding:9px 12px;border-left:5px solid var(--org);background:#21160b;color:#ffd7b0;font-size:17px}
.best{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.best div{background:#0f0f12;border:1px solid #2e2e35;border-top:3px solid var(--grn);padding:10px 12px;font-family:'Bebas Neue';font-size:18px;letter-spacing:1.5px;color:var(--mut)}
.best div b{display:block;font-weight:400;font-size:34px;color:#fff;letter-spacing:1px;line-height:1.05;margin-top:2px}
.verdict{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.verdict .w{font-family:'Bebas Neue';font-size:44px;letter-spacing:2px;color:var(--grn)}
.verdict.bad .w{color:#ff3b30}
.verdict.bad{background:repeating-linear-gradient(135deg,rgba(225,6,0,.25) 0 16px,rgba(11,11,13,.6) 16px 32px);background-size:45px 45px;animation:slide 1.1s linear infinite;padding:10px 14px;border:2px solid var(--red)}
@media (prefers-reduced-motion:reduce){.verdict.bad{animation:none}}
.tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.res{width:100%;border-collapse:collapse;font-size:18px;min-width:640px}
table.res th{font-family:'Bebas Neue';font-weight:400;letter-spacing:1.6px;font-size:19px;text-align:left;color:var(--steel);background:#1d1e23;padding:8px 8px 5px;position:sticky;top:0}
table.res td{padding:8px;border-bottom:1px solid #24252a}
table.res td.n{text-align:right;font-variant-numeric:tabular-nums}
.pill{font-family:'Bebas Neue';font-size:17px;letter-spacing:1.4px;padding:3px 8px 1px;border:1px solid;display:inline-block;white-space:nowrap}
.pill.ok{color:var(--grn);border-color:#2f7a37;background:#0d1f10}
.pill.no{color:#ff6b5e;border-color:#7a1a12;background:#200b09}
.seg{display:inline-flex;border:1px solid #3a3a42}
.seg button{font-family:'Bebas Neue';font-size:20px;letter-spacing:1.5px;background:#141417;color:var(--steel);border:0;padding:10px 14px 7px;min-height:44px;cursor:pointer}
.seg button.on{background:var(--org);color:#111}
.how li{margin:6px 0 6px 22px;color:var(--steel)}
.how li b{color:#fff}
details.panel>summary{font-family:'Bebas Neue';font-size:30px;letter-spacing:2px;cursor:pointer;list-style:none;min-height:44px}
details.panel>summary::-webkit-details-marker{display:none}
details.panel>summary:after{content:" +";color:var(--org)}
details.panel[open]>summary:after{content:" −"}
.est{font-family:'Bebas Neue';font-size:14px;letter-spacing:1px;background:var(--org);color:#111;padding:1px 5px 0;vertical-align:middle}
@media (max-width:600px){.fields{grid-template-columns:1fr 1fr;gap:8px}.fld input{font-size:30px}.fld span{font-size:16px}.topbar .brand img{height:38px}.topbar nav a{font-size:19px;padding:9px 10px 6px}.tool-head{flex-direction:column;align-items:flex-start;gap:8px}.tool-head img{height:54px}body{font-size:18px}.grid{grid-template-columns:1fr}}
@media print{.topbar,.stripes,footer{display:none}body{background:#fff;color:#000}}
/* tools v2 (sag + ripple pages) */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:12px 0}
.tile{background:#0f0f12;border:1px solid #2e2e35;border-top:4px solid var(--org);padding:10px 12px}
.tile .l{font-family:'Bebas Neue';font-size:18px;letter-spacing:1.5px;color:var(--steel)}
.tile .v{font-family:'Bebas Neue';font-size:40px;letter-spacing:1px;color:#fff;line-height:1.05}
.tile .d{font-size:16px;color:var(--mut)}
.tile.good{border-top-color:var(--grn)}.tile.red{border-top-color:var(--org)}.tile.bad{border-top-color:#ff3b30}
.answer{background:linear-gradient(180deg,#1f1a12,#121215);border:2px solid var(--org);padding:14px 16px;margin-top:16px}
.answer .q{font-family:'Bebas Neue';font-size:22px;letter-spacing:2px;color:var(--org)}
.answer .a{font-family:'Bebas Neue';font-size:clamp(38px,6vw,60px);letter-spacing:1.5px;line-height:1;color:#fff;margin:4px 0 6px}
.answer .a span{color:var(--org)}
.answer.bad{border-color:#ff3b30}.answer.bad .q{color:#ff6b5e}
.chart{background:#0f0f12;border:1px solid #2e2e35;padding:6px;margin:8px 0}.chart svg{width:100%;height:auto;display:block}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:16px;color:var(--steel)}.legend i{display:inline-block;width:14px;height:14px;margin-right:6px;vertical-align:-2px}
.zbar{position:relative;height:16px;min-width:120px;background:linear-gradient(90deg,#16351c 0 81.8%,#3d2a10 81.8% 90.9%,#3a1210 90.9%);border:1px solid #2e2e35}
.zbar b{position:absolute;left:0;top:0;bottom:0;background:var(--grn)}.zbar b.red{background:var(--org)}.zbar b.bad{background:#ff3b30}
.zbar:after{content:"";position:absolute;left:90.9%;top:-3px;bottom:-3px;border-left:2px solid #fff}
.pill.red{color:var(--org);border-color:#7a4a12;background:#24180a}
tr.pick td{background:#1d2a1f}
.presets{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.presets button{font-family:'Bebas Neue';font-size:19px;letter-spacing:1.5px;background:#24242a;color:var(--steel);border:1px solid #3a3a42;padding:9px 12px 6px;min-height:44px;cursor:pointer}
.presets button:hover{border-color:var(--org);color:var(--org)}
.src{font-size:15px;color:var(--mut)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:800px){.two{grid-template-columns:1fr}}
.figure{background:#0f0f12;border:1px solid #2e2e35;padding:6px}.figure img{width:100%;height:auto}.figure figcaption{font-size:15px;color:var(--mut);padding:6px 4px 2px}
@media (max-width:560px){.topbar nav{gap:4px}.topbar nav a{font-size:16px;padding:8px 7px 5px;letter-spacing:1px}.topbar .brand img{height:32px}}
.fld span.est,.fld span .est{display:inline-block;font-size:13px;letter-spacing:1px;color:#111;margin-left:4px;vertical-align:2px}
th .est{font-size:12px}
