/* proteinspreads.eu — "Dark Athletic": dark arena, light product plates, lime as the one signal colour */
@font-face{font-family:"Oswald";font-weight:500;font-display:swap;src:url(../fonts/oswald-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Oswald";font-weight:600;font-display:swap;src:url(../fonts/oswald-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Oswald";font-weight:700;font-display:swap;src:url(../fonts/oswald-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-weight:400;font-display:swap;src:url(../fonts/manrope-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-weight:500;font-display:swap;src:url(../fonts/manrope-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-weight:600;font-display:swap;src:url(../fonts/manrope-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-weight:700;font-display:swap;src:url(../fonts/manrope-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-weight:800;font-display:swap;src:url(../fonts/manrope-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Noto Kufi Arabic";font-weight:700;font-display:swap;src:url(../fonts/noto-kufi-arabic-arabic-700-normal.woff2) format("woff2")}
@font-face{font-family:"Noto Sans Arabic";font-weight:400;font-display:swap;src:url(../fonts/noto-sans-arabic-arabic-400-normal.woff2) format("woff2")}
@font-face{font-family:"Noto Sans Arabic";font-weight:600;font-display:swap;src:url(../fonts/noto-sans-arabic-arabic-600-normal.woff2) format("woff2")}

:root{
  --bg:#0E0F11; --surface:#16181B; --surface-2:#1D2024; --line:#2A2E33;
  --fg:#F2F2EE; --muted:#A2A7AD; --soft:#C9CCD0;
  --accent:#C6F04A; --accent-ink:#11140A; --accent-text:#2B3210;
  --plate:#E7E2E7; --plate-ink:#15171A; --plate-muted:#5A5E66;
  --label:#FAF8F4; --label-line:#DEDAD3; --logo-bg:#FFFFFF; --err:#FF7A6B;
  --peanut:#C98A45; --almond:#D9A86C; --pistachio:#A9B640; --cocoa:#8A4A2C; --raspberry:#E04A69; --blueberry:#8A57BF;
  --f-display:"Oswald","Arial Narrow","Roboto Condensed",sans-serif;
  --f-body:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --f-label:var(--f-display);
  --ls-caps:.08em;
  --maxw:1240px; --r:14px;
  color-scheme:dark;
}
html[lang="ar"]{--f-display:"Noto Kufi Arabic","Noto Sans Arabic",Tahoma,sans-serif;--f-body:"Noto Sans Arabic",Tahoma,"Segoe UI",sans-serif;--f-mono:var(--f-body);--f-label:"Noto Kufi Arabic",Tahoma,sans-serif;--ls-caps:0}
html[lang="ko"]{--f-display:"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR","Nanum Gothic",system-ui,sans-serif;--f-body:"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR","Nanum Gothic",system-ui,sans-serif;--f-mono:var(--f-body);--f-label:var(--f-display);--ls-caps:0}
html[lang="ar"] *{letter-spacing:0!important}
html[lang="ko"] h1,html[lang="ko"] h2,html[lang="ko"] h3{word-break:keep-all;font-weight:800}
html[lang="ko"] body,html[lang="ko"] p{word-break:keep-all}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:16.5px;line-height:1.6;margin:0}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:600;text-transform:uppercase;letter-spacing:.01em;line-height:1.05;margin:0;text-wrap:balance;overflow-wrap:break-word;hyphens:auto}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3{line-height:1.4;font-weight:700}
html[lang="ko"] h1,html[lang="ko"] h2,html[lang="ko"] h3{line-height:1.25}
p{margin:0}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
@media (min-width:760px){.wrap{padding-left:max(32px,env(safe-area-inset-left,0px));padding-right:max(32px,env(safe-area-inset-right,0px))}}
.skip{position:absolute;inset-inline-start:-999px;top:8px;background:var(--accent);color:var(--accent-ink);padding:8px 14px;border-radius:8px;z-index:100;font-weight:700}
.skip:focus{inset-inline-start:8px}
bdi{unicode-bidi:isolate}

/* top bar + header */
.top{font-family:var(--f-mono);font-size:11.5px;letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;gap:6px 22px;flex-wrap:wrap;padding-block:8px}
.top span::before{content:"";display:inline-block;width:6px;height:6px;background:var(--accent);margin-inline-end:8px;transform:skewX(-14deg);vertical-align:1px}
header.site{position:sticky;top:0;z-index:50;background:rgba(14,15,17,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;gap:16px;min-height:68px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;margin-inline-end:auto;flex:none}
.logo i{width:22px;height:30px;background:var(--accent);transform:skewX(-14deg);display:block}
.logo span{font-family:"Oswald","Arial Narrow",sans-serif;font-weight:700;font-size:21px;letter-spacing:.04em;line-height:.9;text-transform:uppercase;color:var(--fg)}
.logo span em{font-style:normal;color:var(--accent)}
.logo small{font-family:"IBM Plex Mono",monospace;font-size:10.5px;color:var(--muted);align-self:flex-end;margin-bottom:2px}
nav.main{display:flex;gap:2px;align-items:center}
nav.main a{text-decoration:none;font-weight:600;font-size:14.5px;padding:8px 10px;color:var(--muted);white-space:nowrap}
nav.main a:hover{color:var(--fg)}
nav.main a[aria-current="page"]{color:var(--fg);box-shadow:inset 0 -2px 0 var(--accent)}
.lang{position:relative}
.lang summary{list-style:none;cursor:pointer;font:600 13px var(--f-mono);color:var(--fg);border:1px solid var(--line);border-radius:8px;padding:8px 10px;display:flex;align-items:center;gap:6px;white-space:nowrap}
.lang summary::-webkit-details-marker{display:none}
.lang summary svg{width:16px;height:16px}
.lang ul{position:absolute;inset-inline-end:0;top:calc(100% + 8px);list-style:none;margin:0;padding:6px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;min-width:180px;z-index:60}
.lang li a{display:flex;justify-content:space-between;gap:12px;padding:8px 10px;font-size:14.5px;border-radius:6px;color:var(--soft);text-decoration:none}
.lang li a:hover{background:var(--surface);color:var(--fg)}
.lang li a[aria-current="true"]{color:var(--accent)}
.lang li a b{font:500 12px "IBM Plex Mono",monospace;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 15px var(--f-body);text-decoration:none;border-radius:10px;padding:13px 20px;border:1px solid transparent;cursor:pointer;line-height:1.15;min-height:46px;text-align:center}
.btn-acc{background:var(--accent);color:var(--accent-ink)}
.btn-acc:hover{filter:brightness(1.07)}
.btn-ghost{border-color:var(--line);color:var(--fg);background:transparent}
.btn-ghost:hover{border-color:var(--muted)}
.btn-dark{background:var(--accent-ink);color:var(--accent)}
.btn-dark:hover{background:#000}
.arr::after{content:"→"}
[dir="rtl"] .arr::after{content:"←"}
.hdr-cta{padding:10px 16px;font-size:14px;min-height:40px;white-space:nowrap}
.menu-btn{display:none;background:transparent;border:1px solid var(--line);color:var(--fg);border-radius:8px;padding:8px 10px;cursor:pointer}
.menu-btn svg{width:20px;height:20px;display:block}
@media (max-width:1240px){
  nav.main{display:none;position:absolute;inset-inline:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:8px max(16px,env(safe-area-inset-left,0px)) 16px}
  nav.main.open{display:flex}
  nav.main a{padding:13px 4px;font-size:16.5px;border-bottom:1px solid var(--line)}
  nav.main a[aria-current="page"]{box-shadow:none;color:var(--accent)}
  .menu-btn{display:block}
}
@media (max-width:560px){.hdr-cta{display:none}.logo small{display:none}}

/* shared sections */
section{padding-block:clamp(56px,8vw,104px)}
.sec-head{display:grid;gap:14px;max-width:780px;margin-bottom:clamp(28px,4vw,48px)}
.eyebrow{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
h2{font-size:clamp(32px,4.6vw,56px)}
h3{font-size:clamp(21px,2vw,25px)}
.lead{font-size:clamp(17px,1.5vw,19.5px);color:var(--muted);max-width:62ch}
.muted{color:var(--muted)}
.band{background:var(--surface);border-block:1px solid var(--line)}
.plate{background:var(--plate);border-radius:var(--r);overflow:hidden;position:relative}
.plate img{width:100%;height:100%;object-fit:cover}
.slant{display:inline-block;font:600 12.5px var(--f-mono);letter-spacing:var(--ls-caps);text-transform:uppercase;background:var(--accent);color:var(--accent-ink);padding:5px 12px;transform:skewX(-12deg)}
.slant>span{display:inline-block;transform:skewX(12deg)}
.more{display:inline-flex;gap:8px;margin-top:30px;font-weight:700;text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:2px}

/* label overlay on the blank jar labels (image positions are physical, so left/width are physical too) */
.label-over{position:absolute;display:grid;place-content:center;text-align:center;container-type:inline-size;pointer-events:none}
.label-over b{font-family:var(--f-label);font-weight:700;text-transform:uppercase;line-height:.98;font-size:15px;font-size:15cqw;letter-spacing:.02em}
.label-over small{font-family:var(--f-mono);font-size:5.4cqw;color:var(--plate-muted);margin-top:4cqw;letter-spacing:var(--ls-caps);text-transform:uppercase}
html[lang="ar"] .label-over b,html[lang="ko"] .label-over b{line-height:1.3;font-size:12cqw}
.hero .label-over{left:29.6%;width:40.8%;top:31.7%;height:45.6%}
.jar34 .label-over{left:9.2%;width:81.6%;top:31.7%;height:45.6%}
.jar34 .label-over b{font-size:17cqw}
html[lang="ar"] .jar34 .label-over b,html[lang="ko"] .jar34 .label-over b{font-size:13cqw}

/* hero */
.hero{padding-block:clamp(40px,6vw,84px)}
.hero .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);align-items:center}
.hero .wrap>div{min-width:0}
.hero h1{font-size:clamp(46px,7vw,96px);font-weight:700;line-height:.92;margin-block:18px 22px}
html[lang="ar"] .hero h1,html[lang="ko"] .hero h1{font-size:clamp(38px,5.4vw,72px);line-height:1.2}
.hero h1 em{font-style:normal;color:var(--accent);display:block}
.hero .lead{color:var(--soft)}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.ticks{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:26px;font-family:var(--f-mono);font-size:12.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.ticks span::before{content:"✓";color:var(--accent);margin-inline-end:6px}
.hero .plate{aspect-ratio:3/2}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}}

/* scoreboard */
.score{border-block:1px solid var(--line);background:var(--surface)}
.score ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.score li{padding:26px 20px;border-inline-start:1px solid var(--line);display:grid;gap:6px;align-content:start}
.score li:first-child{border-inline-start:0;padding-inline-start:0}
.score b{font-family:var(--f-display);font-weight:700;font-size:clamp(30px,3.4vw,46px);line-height:1.05;font-variant-numeric:tabular-nums}
.score b sup{font-size:.45em;color:var(--accent);vertical-align:.9em;margin-inline-start:2px}
.score span{font-size:14px;color:var(--muted);line-height:1.4}
@media (max-width:900px){
  .score ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .score li{border-inline-start:0;border-top:1px solid var(--line);padding-inline-start:0}
  .score li:nth-child(-n+2){border-top:0}
  .score li:nth-child(even){padding-inline-start:20px;border-inline-start:1px solid var(--line)}
  .score li:last-child{grid-column:1/-1}
}

/* short ingredient list */
.clean{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.clean>div{min-width:0;display:grid;gap:18px;align-content:start}
.clean h2{font-size:clamp(38px,5.4vw,72px);font-weight:700;line-height:.95}
html[lang="ar"] .clean h2,html[lang="ko"] .clean h2{font-size:clamp(32px,4.4vw,58px);line-height:1.25}
.clean h2 em{font-style:normal;color:var(--accent);display:block}
.inside{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.inside li{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 15px;font-weight:600;font-size:15px}
.clean>.clean-vis{display:block;position:relative}
.clean-vis .plate{aspect-ratio:4/5}
.clean-vis .plate img{object-position:50% 40%}
.freefrom{position:absolute;inset-inline-end:20px;bottom:20px;width:min(290px,64%);background:var(--label);color:var(--plate-ink);border-radius:10px;padding:16px 20px 8px;box-shadow:0 20px 44px rgba(0,0,0,.4)}
.freefrom h3{font-size:42px;font-weight:700;color:var(--plate-ink);line-height:1.05;padding-bottom:8px;border-bottom:7px solid var(--plate-ink)}
.freefrom ul{list-style:none;margin:0;padding:0}
.freefrom li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--label-line);font-weight:700;font-size:14.5px;line-height:1.3}
.freefrom li:last-child{border-bottom:0}
.freefrom li span{font-size:13px;color:var(--plate-muted)}
@media (max-width:860px){.clean{grid-template-columns:1fr}}
@media (max-width:560px){.freefrom{position:relative;inset-inline-end:auto;bottom:auto;width:auto;margin:-56px 14px 0}}

/* flavour roster */
.roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.flv{display:grid;gap:14px;align-content:start;min-width:0}
.flv .plate{aspect-ratio:3/2}
.flv h3{display:flex;align-items:center;gap:10px}
.sw{width:14px;height:14px;border-radius:50%;flex:none;box-shadow:0 0 0 3px var(--bg),0 0 0 4px var(--line);display:inline-block}
.band .sw{box-shadow:0 0 0 3px var(--surface),0 0 0 4px var(--line)}
.flv p{color:var(--muted);font-size:15.5px}
.roster-more{margin-top:30px;display:flex;flex-wrap:wrap;gap:10px 14px;align-items:baseline}
.roster-more .more{margin-top:0}
@media (max-width:900px){.roster{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.roster{grid-template-columns:1fr}}

/* B2B + why */
.b2b{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.b2b article{border:1px solid var(--line);background:var(--surface);border-radius:var(--r);padding:clamp(24px,3vw,34px);display:grid;gap:14px;align-content:start;min-width:0}
.b2b i{width:16px;height:22px;background:var(--accent);transform:skewX(-14deg);display:block}
.b2b h3{font-size:clamp(24px,2.6vw,34px);font-weight:700}
.b2b p{color:var(--muted)}
@media (max-width:860px){.b2b{grid-template-columns:1fr}}
.why{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 40px}
.why div{display:grid;gap:10px;align-content:start;min-width:0}
.why h3::before{content:"/";color:var(--accent);margin-inline-end:8px}
.why p{color:var(--muted);font-size:15.5px}
@media (max-width:900px){.why{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.why{grid-template-columns:1fr}}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:s;list-style:none;margin:0;padding:0}
.steps li{border-top:2px solid var(--line);padding-top:18px;display:grid;gap:8px;align-content:start;counter-increment:s;min-width:0}
.steps li::before{content:counter(s,decimal-leading-zero);font-family:"Oswald","Arial Narrow",sans-serif;font-weight:700;font-size:54px;line-height:1;color:transparent;-webkit-text-stroke:1.2px var(--accent)}
.steps li:first-child{border-top-color:var(--accent)}
.steps p{color:var(--muted);font-size:15.5px}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}

/* jar bench + lineup */
.bench{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.bench figure{margin:0;aspect-ratio:3/4}
@media (max-width:900px){.bench{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:480px){.bench{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lineup{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}
.lineup>figure{margin:0;display:grid;gap:10px;align-content:start;min-width:0}
.jar34{margin:0}
.lineup .plate{aspect-ratio:3/4}
.lineup figcaption{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;line-height:1.25}
.ph-jar{aspect-ratio:3/4;border:1.5px dashed var(--line);border-radius:var(--r);display:grid;place-content:center;justify-items:center;text-align:center;gap:6px;color:var(--muted)}
.ph-jar b{font-family:"Oswald",sans-serif;font-weight:600;font-size:52px;color:var(--accent);line-height:1}
.ph-jar span{font-size:13.5px;padding:0 10px}
@media (max-width:1000px){.lineup{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:520px){.lineup{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* split rows */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.split>*{min-width:0}
.split .plate{aspect-ratio:3/2}
.split .txt{display:grid;gap:16px;align-content:start}
@media (max-width:860px){.split{grid-template-columns:1fr}}

/* trust band + award */
.logo-tiles{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.lt{background:var(--logo-bg);border-radius:10px;padding:10px 12px;display:grid;place-items:center;gap:4px}
.lt img{height:44px;width:auto}
.lt small{font:600 11px "IBM Plex Mono",monospace;color:var(--plate-ink);letter-spacing:.06em;line-height:1}
.badge-img{width:84px;height:auto}
.logo-tiles.big{align-items:center}
.logo-tiles.big .lt{padding:14px 18px}
.logo-tiles.big .lt img{height:72px}
.logo-tiles.big .lt small{font-size:13px}
.logo-tiles.big .badge-img{width:100px;margin-inline-start:8px}
.trust{display:flex;flex-wrap:wrap;gap:24px 64px;align-items:flex-end;padding-block:30px}
.tg{display:grid;gap:12px;align-content:start}
.cert-note{color:var(--muted);font-size:15px;line-height:1.6;padding-bottom:4px}
.cert-note strong{color:var(--fg)}
.award-sec{grid-template-columns:.8fr 1.2fr}
.award-photo{margin:0}
.award-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r)}
.award-sec .badge-img{width:110px;margin-top:8px}
@media (max-width:860px){.award-sec{grid-template-columns:1fr}.award-photo{max-width:480px}}

/* CTA band */
.cta{background:var(--accent);color:var(--accent-ink)}
.cta .wrap{display:grid;grid-template-columns:1.4fr auto;gap:28px;align-items:end}
.cta h2{font-size:clamp(34px,5vw,64px);font-weight:700;line-height:.95}
html[lang="ar"] .cta h2,html[lang="ko"] .cta h2{line-height:1.3;font-size:clamp(30px,4vw,52px)}
.cta p{margin-top:16px;font-size:17.5px;max-width:58ch;color:var(--accent-text);font-weight:500}
@media (max-width:760px){.cta .wrap{grid-template-columns:1fr}}

/* page heads */
.phead{padding-block:clamp(44px,6vw,80px) clamp(24px,3vw,36px)}
.phead h1{font-size:clamp(40px,6vw,84px);font-weight:700;line-height:.95;margin-block:14px 18px}
html[lang="ar"] .phead h1,html[lang="ko"] .phead h1{line-height:1.3;font-size:clamp(34px,5vw,64px)}
.crumbs{font-family:var(--f-mono);font-size:12px;color:var(--muted);letter-spacing:.06em}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--fg)}
.phead.with-img .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,56px);align-items:end}
.phead.with-img .wrap>*{min-width:0}
.phead.with-img .plate{aspect-ratio:3/2}
@media (max-width:860px){.phead.with-img .wrap{grid-template-columns:1fr}}
.page-sec{padding-block:clamp(40px,6vw,72px)}
.page-sec + .page-sec{border-top:1px solid var(--line)}

/* spec sheet */
.spec{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface)}
.spec dl{margin:0;display:grid;grid-template-columns:minmax(150px,.42fr) 1fr}
.spec dt,.spec dd{margin:0;padding:15px 20px;border-top:1px solid var(--line)}
.spec dt{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding-top:18px}
.spec dd{font-weight:500;min-width:0;overflow-wrap:anywhere}
.spec dt:first-of-type,.spec dt:first-of-type + dd{border-top:0}
.spec-title{padding:16px 20px;font-family:var(--f-display);font-size:20px;text-transform:uppercase;letter-spacing:.02em;border-bottom:1px solid var(--line);background:var(--surface-2)}
@media (max-width:560px){.spec dl{grid-template-columns:1fr}.spec dd{border-top:0;padding-top:2px}.spec dt{padding-bottom:0}}

.cols2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px)}
.cols2>div,.cols2>ol{min-width:0}
.cols2>div{display:grid;gap:16px;align-content:start}
@media (max-width:860px){.cols2{grid-template-columns:1fr}}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.checks li{padding-inline-start:28px;position:relative}
.checks li::before{content:"";position:absolute;inset-inline-start:0;top:.5em;width:14px;height:8px;border-left:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);transform:rotate(-45deg)}
.grid-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}
.grid-list li{padding:11px 0;border-bottom:1px solid var(--line);font-weight:500}
@media (max-width:760px){.grid-list{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.grid-list{grid-template-columns:1fr}}
.note{border-inline-start:3px solid var(--accent);padding-block:4px;padding-inline-start:16px;color:var(--muted)}
.sister{display:inline-flex;gap:8px;align-items:center;font-weight:600;text-decoration:none;border-bottom:1px solid var(--line)}
.sister:hover{border-bottom-color:var(--accent)}

/* timeline, tables, tiles */
.tl{list-style:none;margin:0;padding:0;display:grid;counter-reset:t}
.tl li{display:grid;grid-template-columns:72px 1fr;gap:20px;padding:22px 0;border-top:1px solid var(--line);counter-increment:t}
.tl li::before{content:counter(t,decimal-leading-zero);font-family:"Oswald",sans-serif;font-weight:700;font-size:38px;line-height:1;color:var(--accent)}
.tl h3{margin-bottom:6px}
.tl p{color:var(--muted)}
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
th,td{text-align:start;padding:14px 18px;border-top:1px solid var(--line);vertical-align:top}
thead th{border-top:0;font-family:var(--f-mono);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--surface-2)}
tbody th{font-weight:700}
td.num,th.num{text-align:end}
td.num{font-family:"Oswald",sans-serif;font-size:20px;font-weight:600}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tiles div{border:1px solid var(--line);border-radius:var(--r);padding:20px;display:grid;gap:8px;align-content:start;background:var(--surface);min-width:0}
.tiles p{color:var(--muted);font-size:15px}
@media (max-width:520px){.tiles{grid-template-columns:1fr}}
.dl{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.dl a{display:inline-flex;align-items:center;gap:8px}
.dl svg{width:18px;height:18px}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}
.duo figure{margin:0;display:grid;gap:8px;align-content:start;min-width:0}
.duo img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r)}
.duo figcaption{font-size:13.5px;color:var(--muted);line-height:1.4}
@media (max-width:420px){.duo{grid-template-columns:1fr}}

/* faq */
.faq{display:grid;max-width:880px}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding-block:20px;padding-inline-end:44px;font-weight:700;font-size:17.5px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;inset-inline-end:4px;top:12px;font-family:"Oswald",sans-serif;font-size:32px;color:var(--accent);line-height:1.2}
.faq details[open] summary::after{content:"–"}
.faq details p{padding-bottom:22px;color:var(--muted);max-width:70ch}

/* inquiry form */
.form-wrap{display:grid;grid-template-columns:1.6fr .9fr;gap:clamp(24px,4vw,56px);align-items:start}
.form-wrap>*{min-width:0}
@media (max-width:900px){.form-wrap{grid-template-columns:1fr}}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:grid;gap:7px;min-width:0;margin:0;border:0;padding:0}
.field.full{grid-column:1/-1}
.field label,.field legend{font-weight:600;font-size:14.5px;padding:0;margin-bottom:7px}
.field input[type=text],.field input[type=email],.field input[type=tel],.field select,.field textarea{font:500 16px var(--f-body);color:var(--fg);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none}
.field textarea{min-height:130px;resize:vertical}
.field ::placeholder{color:#6F757C}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{position:relative}
.opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.opt span{display:inline-block;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:14.5px;font-weight:500}
.opt input:checked + span{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700}
.opt input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.hint{font-size:13.5px;color:var(--muted);margin-top:4px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;font-weight:400!important}
.check input{width:18px;height:18px;margin-top:3px;flex:none;accent-color:var(--accent)}
.check a{color:var(--accent)}
.req{color:var(--accent)}
.hp{position:absolute;inset-inline-start:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{font-size:13.5px;color:var(--muted);margin-top:10px}
.form-status{border-radius:var(--r);padding:20px 24px;margin-bottom:20px;display:grid;gap:6px}
.form-status.ok{border:1px solid var(--accent)}
.form-status.err{border:1px solid var(--err);color:var(--fg)}
@media (max-width:620px){.fgrid{grid-template-columns:1fr}}
.side{border:1px solid var(--line);border-radius:var(--r);padding:24px;background:var(--surface);display:grid;gap:14px}
.side .row{display:grid;gap:2px}
.side .row span:first-child{font-family:var(--f-mono);font-size:11.5px;letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--muted)}
.side .row b{font-weight:600;overflow-wrap:anywhere}
.side a{text-decoration:none}

/* legal */
.legal{max-width:860px;display:grid;gap:26px}
.legal h2{font-size:20px}
.legal p{color:var(--muted);margin-top:8px}

/* footer */
footer.site{border-top:1px solid var(--line);background:#0A0B0C;padding-block:56px 32px;font-size:15px}
footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px}
footer .cols>div{display:grid;gap:10px;align-content:start;min-width:0}
footer h4{font-family:var(--f-mono);font-weight:500;font-size:12px;letter-spacing:.12em;color:var(--muted)}
footer p,footer li{color:var(--soft)}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
footer .sister{justify-self:start}
footer a{text-decoration:none}
.legalrow{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between;border-top:1px solid var(--line);margin-top:40px;padding-top:22px;color:var(--muted);font-size:13.5px}
.legalrow nav{display:flex;flex-wrap:wrap;gap:8px 18px}
.legalrow a:hover,.linklike:hover{color:var(--fg)}
.linklike{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer}
@media (max-width:900px){footer .cols{grid-template-columns:1fr 1fr}}
@media (max-width:520px){footer .cols{grid-template-columns:1fr}}

/* cookie banner */
.cookie{position:fixed;inset-inline:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:80;max-width:560px;margin-inline:auto;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 16px 48px rgba(0,0,0,.5);padding:20px;font-size:15px}
.cookie[hidden]{display:none}
.cookie p{margin-bottom:14px;color:var(--soft)}
.cookie p a{color:var(--accent)}
.cookie .row{display:flex;gap:10px;flex-wrap:wrap}
.cookie .row .btn{flex:1 1 140px;min-height:42px;padding:10px 16px}

/* 404 */
.nf{min-height:70vh;display:grid;place-items:center;text-align:center}
.nf .wrap{display:grid;gap:18px;justify-items:center}
.nf h1{font-size:clamp(40px,6vw,72px);font-weight:700}
