/* bas.theia24.com — дизайн-система THEIA «Ніч» (макет 27.10.2026) */
@font-face{font-family:"Fixel Display";src:url(fonts/FixelDisplay-Bold.a18ca32a6d.woff2) format("woff2");font-weight:600 700;font-display:swap}
@font-face{font-family:"Fixel Display";src:url(fonts/FixelDisplay-Light.e55bdb5812.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:"Fixel Text";src:url(fonts/FixelText-Regular.9c865b6250.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Fixel Text";src:url(fonts/FixelText-SemiBold.156ab56197.woff2) format("woff2");font-weight:500 700;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(fonts/jetbrains-mono-cyrillic-wght-normal.d274604c40.woff2) format("woff2");font-weight:100 800;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"JetBrains Mono";src:url(fonts/jetbrains-mono-latin-wght-normal.18be452724.woff2) format("woff2");font-weight:100 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}

:root{--surface:#061417;--raised:#101F22;--ink:#F6F1E7;--muted:#A9B5B4;--line:#E6E9EE1F;--line-strong:#E6E9EE80;
  --gold:#F2B233;--on-gold:#061417;--aqua:#19B3C2;--dawn:#FF6A3D;--field:#3DBE92;
  --display:"Fixel Display",system-ui,-apple-system,"Segoe UI",sans-serif;--text:"Fixel Text",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--surface);color:var(--ink);font:400 16px/24px var(--text);-webkit-text-size-adjust:100%}
a{color:var(--aqua)}a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--aqua);outline-offset:2px}
h1,h2,h3,p{margin:0}
.wrap{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:10;background:var(--raised);padding:8px 12px;border-radius:12px}

.btn{height:44px;padding:0 20px;border-radius:12px;border:1px solid transparent;font:600 15px/1 var(--text);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.btn:hover{filter:brightness(1.08)}
.btn--primary{background:var(--gold);color:var(--on-gold)}.btn--primary:hover{color:var(--on-gold)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}.btn--ghost:hover{color:var(--ink)}
.btn[disabled]{opacity:.45;cursor:not-allowed}

.card{background:var(--raised);border:1px solid var(--line);border-radius:16px;padding:24px;color:var(--ink)}
.lbl{font:600 13px/18px var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.mono{font:500 13px/18px var(--mono)}
.muted{color:var(--muted)}
.gold{color:var(--gold)}.ok{color:var(--field)}

/* шапка */
.top{border-bottom:1px solid var(--line)}
.top .wrap{padding-top:16px;padding-bottom:16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand .sun{width:36px;height:36px;flex:none}
.brand .mono{margin-left:4px}
/* лого THEIA як на theia24.com: сонце brand.py + Fixel Display Light з розрядкою .22em */
.wm{font-family:var(--display);font-weight:300;font-size:26px;line-height:32px;letter-spacing:.22em;color:var(--ink);white-space:nowrap}
.sun{overflow:visible}
.sun .tray{animation:tsun-ray var(--d,3s) ease-in-out infinite alternate}
.sun .tcore{transform-box:fill-box;transform-origin:center;animation:tsun-core 5s ease-in-out infinite}
.sun .d0{--d:2.4s}.sun .d1{--d:2.75s}.sun .d2{--d:3.1s}.sun .d3{--d:3.45s}.sun .d4{--d:3.8s}
@keyframes tsun-ray{from{opacity:.7}to{opacity:1}}@keyframes tsun-core{50%{transform:scale(1.1)}}
@media (prefers-reduced-motion:reduce){.sun .tray,.sun .tcore{animation:none}}
.top nav{display:flex;flex-wrap:wrap;align-items:center;gap:24px;font:400 15px/22px var(--text)}
.top nav a:not(.btn){color:var(--ink);text-decoration:none}
.top nav a:not(.btn):hover{color:var(--gold)}

/* hero */
.hero{padding-top:72px;padding-bottom:64px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:48px;align-items:center}
.hero__text{display:flex;flex-direction:column;gap:24px}
h1{font:700 52px/60px var(--display);letter-spacing:-.01em}
.lead{font:400 19px/30px var(--text);color:var(--muted);max-width:560px}
.actions{display:flex;flex-wrap:wrap;gap:12px}
.hero__side{display:flex;flex-direction:column;gap:16px;position:relative}
.steps{display:flex;flex-direction:column;gap:4px;position:relative;z-index:1}
.steps .lbl{margin-bottom:12px}
.step{display:grid;grid-template-columns:88px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--line)}

/* 3D / SVG знак */
.core{width:320px;height:320px;max-width:100%;margin:0 auto;position:relative}
.core svg,.core canvas{width:100%;height:100%;display:block}
.core canvas{position:absolute;inset:0;opacity:0;transition:opacity .6s ease}
.core.is-3d canvas{opacity:1}.core.is-3d svg{visibility:hidden}
.hero--behind .hero__side{padding-top:150px}
.hero--behind .core{position:absolute;right:-40px;top:0;z-index:0;margin:0}
@media (max-width:1023px){.core{width:180px;height:180px}
  .hero--behind .hero__side{padding-top:0}.hero--behind .core{position:relative;right:auto;margin:0 auto}}

/* секції */
.sec{padding-top:48px;padding-bottom:48px;display:flex;flex-direction:column;gap:32px}
.sec__head{display:flex;flex-direction:column;gap:12px;max-width:760px}
h2{font:700 36px/44px var(--display)}
.intro{color:var(--muted);font:400 17px/26px var(--text)}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.grid--cat{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));align-items:start}
.grid > .card{display:flex;flex-direction:column;gap:10px}
.grid--cat > .card{gap:12px}
h3{font:600 20px/26px var(--display)}
.grid--cat h3{font-size:22px;line-height:28px}
.case-title{font:600 18px/26px var(--text)}
.case-text{color:var(--muted);font:400 15px/22px var(--text)}
.items{list-style:none;margin:0;padding:0}
.items li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;border-top:1px solid var(--line);font:400 15px/22px var(--text)}
.items li span:last-child{font:500 13px/18px var(--mono);color:var(--muted);white-space:nowrap}

.data{border:1px solid var(--line);border-radius:16px;padding:32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:32px;align-items:center}
.data h2{font-size:30px;line-height:38px}
.data .lbl{color:var(--aqua)}

/* питання */
.faq{gap:16px}.faq h2{margin-bottom:8px}
details{border-top:1px solid var(--line);padding:16px 0}
summary{cursor:pointer;font:600 17px/24px var(--text);color:var(--ink)}
details p{margin-top:10px;color:var(--muted);font:400 15px/22px var(--text);max-width:760px}

/* заявка */
.order{padding-top:48px;padding-bottom:72px}
.order .card{padding:32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:40px}
.contacts{display:flex;flex-direction:column;gap:16px}
.contacts dl{margin:0;padding-top:8px;display:flex;flex-direction:column;gap:10px}
.contacts dl div{display:flex;gap:12px;align-items:baseline}
.contacts dt{width:88px;color:var(--muted)}.contacts dd{margin:0}
form{display:flex;flex-direction:column;gap:16px}
.row2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px}
.field{display:flex;flex-direction:column;gap:6px;font:400 13px/18px var(--text);color:var(--muted)}
.field input,.field select,.field textarea{height:44px;border:1px solid var(--line-strong);border-radius:12px;background:var(--raised);color:var(--ink);font:400 16px/24px var(--text);padding:0 14px;width:100%}
.field textarea{height:132px;padding:10px 14px;resize:vertical}
.field [aria-invalid="true"]{border-color:var(--dawn)}
.consent{display:flex;gap:10px;align-items:flex-start;font:400 13px/18px var(--text);color:var(--muted)}
.consent input{width:18px;height:18px;margin:0;flex:none;accent-color:var(--gold)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-msg{min-height:18px;font:400 14px/20px var(--text)}
.form-msg.err{color:var(--dawn)}
.thanks{display:flex;flex-direction:column;gap:12px;justify-content:center}
.thanks h3{font-size:26px;line-height:32px}

/* підвал */
.foot{border-top:1px solid var(--line)}
.foot .wrap{padding-top:24px;padding-bottom:24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;color:var(--muted);font:400 13px/18px var(--text)}
.foot-brand .sun{width:20px;height:20px;vertical-align:-5px;margin-right:6px}
.foot .wm{font-size:15px;line-height:18px}

/* сторінка політики */
.doc{max-width:760px;padding-top:48px;padding-bottom:72px;display:flex;flex-direction:column;gap:16px}
.doc h2{font-size:24px;line-height:32px;margin-top:16px}
.doc p,.doc li{color:var(--muted)}

@media (max-width:640px){
  .hero{padding-top:40px;padding-bottom:40px;gap:32px}
  h1{font-size:34px;line-height:42px}
  h2{font-size:28px;line-height:36px}
  .lead{font-size:17px;line-height:27px}
  .top nav{gap:16px}
  .order .card,.data{padding:20px}
  .card{padding:20px}
  .step{grid-template-columns:76px 1fr;gap:12px}
  .items li{flex-wrap:wrap;gap:4px 16px}
}
