/* KHOMYK — теплий темний стиль: пшеничний акцент, заокруглені картки, Unbounded + Onest */
:root{
  --bg:#10120e;--bg2:#171a14;--bg3:#1e221a;
  --fg:#f1ede2;--muted:#a3a395;--dim:#6f7166;
  --line:#2c3027;--accent:#d4b35c;--accent-2:#e8d39a;--ink:#17140a;
  --r:22px;--head:'Unbounded',Onest,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--bg);color:var(--fg);font-family:Onest,Arial,sans-serif;font-size:15px}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,a,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.mono-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0}
p{line-height:1.7}
h1,h2{font-family:var(--head);font-weight:700;text-transform:uppercase}
h3{font-weight:600}
.outline{color:transparent;-webkit-text-stroke:1.5px var(--accent)}
.muted{color:var(--dim)}

/* ---------- плаваюча шапка */
header{position:sticky;top:14px;z-index:10;margin:14px 3% 0;height:72px;padding:0 10px 0 26px;display:flex;align-items:center;gap:22px;border:1px solid var(--line);border-radius:999px;background:#10120ed9;backdrop-filter:blur(14px)}
.brand{font-family:var(--head);font-size:18px;letter-spacing:4px;white-space:nowrap}
.brand span{display:block;font-family:Onest,Arial,sans-serif;font-size:7px;letter-spacing:2.4px;margin-top:5px;color:var(--accent)}
nav{display:flex;gap:6px;font-size:13px;margin-left:auto}
nav a{padding:9px 14px;border-radius:999px;transition:background .2s}
nav a:hover{background:var(--bg3)}
.header-phone{font-size:13px;font-weight:600;white-space:nowrap;color:var(--accent-2)}
.nav-cta{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:600;background:var(--accent);color:var(--ink);padding:14px 20px;border-radius:999px;white-space:nowrap;transition:.2s}
.nav-cta:hover{background:var(--accent-2)}
#menu{display:none}
.lang{display:flex;gap:2px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--bg2);flex-shrink:0}
.lang a{min-width:36px;padding:9px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.6px;text-align:center;color:var(--muted);transition:color .2s,background .2s}
.lang a:hover{color:var(--fg)}
.lang a[aria-current]{background:var(--fg);color:var(--ink)}

/* ---------- hero */
.grid-bg{background-image:radial-gradient(#ffffff14 1px,transparent 1.5px);background-size:28px 28px}
.hero{padding:40px 5% 0;overflow:hidden}
.hero-top,.hero-bottom{display:flex;justify-content:space-between;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;letter-spacing:1.6px;border:1px solid var(--line);border-radius:999px;padding:9px 16px;background:var(--bg2)}
.eyebrow i{width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 12px var(--accent)}
.micro{font-size:10px;letter-spacing:1.6px;color:var(--dim)}
.hero-body{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;min-height:640px;padding:40px 0 50px}
h1{font-size:clamp(38px,5.4vw,84px);letter-spacing:-.02em;line-height:1.04;margin:0 0 30px}
h2{font-size:clamp(26px,3.1vw,48px);line-height:1.15;letter-spacing:-.02em;margin:18px 0 30px}
.lead{font-size:21px;line-height:1.5;margin:0 0 15px}
.hero-desc{max-width:430px;font-size:14px;color:var(--muted);margin-bottom:30px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;padding:18px 18px 18px 26px;border:1px solid var(--accent);border-radius:999px;font-size:13px;font-weight:600;transition:.2s}
.button span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--accent);font-size:15px}
.light{color:var(--ink);background:var(--accent)}
.button:hover{background:var(--accent-2);border-color:var(--accent-2);color:var(--ink);transform:translateY(-2px)}
.ghost{color:var(--fg);background:transparent;border-color:var(--line)}
.ghost span{background:var(--bg3);color:var(--fg)}
.hero-bottom{padding:22px 0;border-top:1px solid var(--line);font-size:10px;letter-spacing:1.4px;color:var(--muted)}
.hero-bottom a{color:var(--accent-2)}
.art{position:relative;height:480px;perspective:900px}
.orb{position:absolute;width:350px;height:350px;left:50%;top:46%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 50% 55%,#d4b35c33,#d4b35c08 45%,transparent 70%);transition:transform .3s}
.orbit{position:absolute;inset:0;border:1px dashed #d4b35c55;border-radius:50%}
.o1{inset:0}.o2{inset:28px}.o3{inset:56px;border-style:solid;border-color:#d4b35c33}
.o4{inset:84px}.o5{inset:112px;border-style:solid;border-color:#d4b35c44}.o6{display:none}
.star{position:absolute;font-size:120px;left:50%;top:50%;transform:translate(-50%,-55%);line-height:1;color:var(--accent);filter:drop-shadow(0 0 24px #d4b35c55);animation:sway 6s ease-in-out infinite}
.star .mono-icon{display:block}
.coord{position:absolute;color:var(--fg);background:var(--bg2);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:10px;letter-spacing:1.2px}
.c1{top:30px;left:12%}.c2{right:0;top:48%}.c3{left:2%;bottom:80px}
.art-note{position:absolute;bottom:0;right:6%;font-size:11px;letter-spacing:2px;line-height:1.7;color:var(--muted)}
.art-note span{font-size:40px;position:absolute;right:-50px;top:-6px;color:var(--accent)}

/* ---------- стрічка */
.ticker{position:relative;background:var(--accent);color:var(--ink);overflow:hidden;padding:18px 0;white-space:nowrap;margin:0 3%;border-radius:var(--r)}
.ticker-track{display:flex;width:max-content;animation:service-marquee 34s linear infinite;will-change:transform}
.ticker-group{display:flex;flex:0 0 auto;width:max-content;min-width:100vw;align-items:center;justify-content:space-around;gap:30px;padding-right:30px;font-family:var(--head);font-size:19px;font-weight:700}
.ticker b{font-size:12px;opacity:.6}
.ticker.is-paused .ticker-track{animation-play-state:paused}
.ticker-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:1px solid #17140a55;border-radius:50%;background:var(--accent);color:var(--ink);font-size:12px;opacity:.8}
.ticker-toggle:hover,.ticker-toggle:focus-visible{opacity:1}

/* ---------- секції */
.section{padding:100px 5%}
.section-label{display:inline-block;font-size:10px;letter-spacing:1.6px;color:var(--accent);border:1px solid #d4b35c55;border-radius:999px;padding:7px 13px}
.intro{display:grid;grid-template-columns:1fr 3fr;gap:35px}
.intro h2{margin-top:0}
.intro>.section-label{align-self:start;justify-self:start}
.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px;font-size:15px;color:var(--muted)}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
.principles>div{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.principles span{font-family:var(--head);font-size:28px;color:var(--accent)}
.principles h3{font-size:17px;margin:14px 0 6px}
.principles p{font-size:13px;color:var(--muted);margin:0}
.heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px;gap:35px}
.heading p{font-size:13px;color:var(--muted);padding-bottom:30px;text-align:right}

/* послуги — картки */
#service-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.services details{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);transition:border-color .2s}
.services details:hover,.services details[open]{border-color:#d4b35c66}
summary{list-style:none;cursor:pointer}
summary::-webkit-details-marker{display:none}
.services summary{display:grid;grid-template-columns:52px 1fr 40px;grid-template-areas:"num title plus" "num sub plus";align-items:center;column-gap:16px;row-gap:4px;padding:24px 22px}
.services summary em{grid-area:num;font-style:normal;font-family:var(--head);font-size:20px;color:var(--accent)}
.services summary strong{grid-area:title;font-size:19px;font-weight:600}
.services summary small{grid-area:sub;color:var(--muted);font-size:12px}
.services summary b{grid-area:plus;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);font-size:20px;font-weight:400;transition:transform .2s,background .2s}
.services details[open] summary b{transform:rotate(45deg);background:var(--accent);color:var(--ink);border-color:var(--accent)}
.service-body{padding:0 22px 26px 90px;font-size:13px;color:var(--muted)}
.service-body p{margin-top:0}
.service-body ul{line-height:2;padding-left:17px;margin:12px 0 18px}
.service-body li::marker{color:var(--accent)}
.service-body a{display:inline-block;color:var(--accent-2);border-bottom:1px solid #d4b35c88;padding-bottom:5px}

/* для кого — перемикачі зверху */
.industry{background:var(--bg2);margin:0 3%;border-radius:calc(var(--r) * 1.5);padding:90px 4%}
.industry-layout{display:grid;grid-template-columns:1fr;gap:22px}
.tabs{display:flex;flex-wrap:wrap;gap:10px}
.tabs button{display:inline-flex;align-items:center;gap:12px;background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:13px 20px;font-size:15px;transition:.2s}
.tabs button:hover{color:var(--fg);border-color:#555}
.tabs button span{font-size:12px}
.tabs button[aria-selected=true]{background:var(--accent);color:var(--ink);border-color:var(--accent);font-weight:600}
.industry-result{background:var(--bg3);border:1px solid var(--line);border-radius:var(--r);padding:40px}
.industry-result small{font-size:10px;letter-spacing:1.6px;color:var(--accent)}
.industry-result h3{font-family:var(--head);font-size:clamp(22px,2.4vw,34px);font-weight:700;line-height:1.25;margin:16px 0}
.industry-result p{font-size:15px;color:var(--muted);max-width:720px}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.tags span{border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:12px}
.industry-result a{font-size:13px;color:var(--accent-2);border-bottom:1px solid;padding-bottom:5px}

/* лабораторія */
.concepts{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.concept{min-width:0}
.visual-bottom{max-width:calc(100% - 64px);white-space:normal}
.concept-visual{height:470px;padding:32px;overflow:hidden;position:relative;border-radius:var(--r)}
.concept-visual small{font-size:9px;letter-spacing:2px;position:relative;z-index:1}
.field-art{background:linear-gradient(160deg,#e3cf93,#c9a956);color:var(--ink)}
.field-art h3{font-family:var(--head);font-size:56px;font-weight:700;line-height:1.05;margin:50px 0;position:relative}
.field-lines{position:absolute;width:800px;height:600px;left:70px;top:70px;border-radius:50%;background:repeating-radial-gradient(ellipse at 70% 70%,transparent 0 20px,#17140a66 21px 22px,transparent 23px 35px);transform:rotate(-25deg)}
.visual-bottom{position:absolute;bottom:28px;font-size:9px;letter-spacing:2px;background:#17140a;color:var(--accent-2);padding:10px 14px;border-radius:999px}
.poster{background:var(--bg2);border:1px solid var(--line);background-image:radial-gradient(#ffffff14 1px,transparent 1.5px);background-size:24px 24px}
.poster h3{font-family:var(--head);font-size:52px;font-weight:700;line-height:1.05;margin:38px 0 24px}
.poster h3 span{color:transparent;-webkit-text-stroke:1.5px var(--accent)}
.poster-end{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:15px;font-size:9px;letter-spacing:1.5px}
.poster-end b{font-size:54px;font-weight:400;display:flex;color:var(--accent)}
.caption{padding:4px 6px}
.caption h3{font-size:18px;margin:18px 0 4px}
.caption p{font-size:12px;color:var(--muted);margin:0 0 10px}
.caption button,.caption a{background:none;border:0;border-bottom:1px solid #d4b35c88;padding:8px 0;color:var(--accent-2);font-size:12px;display:inline-block}

/* процес */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.steps article{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:26px;display:flex;flex-direction:column}
.steps span{align-self:flex-start;font-size:10px;letter-spacing:1.2px;color:var(--ink);background:var(--accent);border-radius:999px;padding:6px 12px}
.steps h3{font-size:19px;margin:22px 0 8px}
.steps p{font-size:13px;color:var(--muted);flex:1;margin:0 0 18px}
.steps small{font-size:12px;color:var(--accent-2);border-top:1px solid var(--line);padding-top:14px}

/* ---------- бриф */
.brief{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin:0 3%;border-radius:calc(var(--r) * 1.5);background-color:var(--bg2);padding:90px 4%}
.brief h2{font-size:clamp(34px,4vw,60px)}
.brief p{max-width:380px;color:var(--muted);font-size:14px}
.brief-note{margin-top:46px;font-size:12px;color:var(--accent-2)}
#brief-form{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);padding:32px}
form label,form .label{display:block;font-size:13px;font-weight:600;margin:0 0 12px}
select,textarea{width:100%;background:var(--bg3);color:var(--fg);border:1px solid var(--line);padding:15px 16px;border-radius:14px;margin-bottom:24px;font-size:14px}
textarea{resize:vertical}
.choices{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.choices button{border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);padding:11px 16px;font-size:12px}
.choices button:hover{border-color:#666;color:var(--fg)}
.choices .selected,.choices .selected:hover{background:var(--accent);color:var(--ink);border-color:var(--accent)}
form>.button{width:100%}
.form-note{display:block;color:var(--dim);font-size:11px;line-height:1.5;margin-top:13px}
#brief-result{border:1px solid #d4b35c66;border-radius:16px;margin-top:22px;padding:22px;font-size:13px;background:var(--bg2)}
#brief-result small{font-size:9px;letter-spacing:1.6px;color:var(--accent)}
#brief-result h3{font-size:17px}
.result-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.result-actions button,.result-actions a{padding:10px 16px;border-radius:999px;background:var(--accent);color:var(--ink);border:1px solid var(--accent);font-size:12px}
.result-actions a{background:transparent;color:var(--fg);border-color:var(--line)}

/* ---------- контакти */
.contacts-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}
.contacts h2{font-size:clamp(34px,4vw,60px)}
.contacts p{max-width:400px;color:var(--muted);font-size:14px}
.contact-card{background:var(--bg2);border:1px solid #d4b35c55;border-radius:var(--r);padding:34px}
.contact-card small{font-size:10px;letter-spacing:1.6px;color:var(--accent)}
.contact-phone{display:block;font-family:var(--head);font-size:clamp(24px,2.6vw,38px);font-weight:700;margin:12px 0 26px}
.contact-phone:hover{color:var(--accent-2)}
.contact-buttons{display:flex;flex-wrap:wrap;gap:10px}
.contact-buttons .button{flex:1 1 170px}
.contact-email{border-top:1px solid var(--line);margin-top:26px;padding-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.contact-email small{flex-basis:100%}
.contact-mail{flex:1 1 220px;font-size:clamp(16px,1.6vw,20px);font-weight:600;overflow-wrap:anywhere}
.contact-mail:hover{color:var(--accent-2)}

/* ---------- питання, футер, діалог */
.faq{max-width:960px;margin:auto}
.faq h2{margin-bottom:34px}
.faq details{background:var(--bg2);border:1px solid var(--line);border-radius:16px;padding:20px 24px;margin-bottom:10px}
.faq details[open]{border-color:#d4b35c66}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:16px;font-weight:500}
.faq summary span{flex-shrink:0;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);font-size:18px;transition:transform .2s}
.faq details[open] summary span{transform:rotate(45deg);background:var(--accent);color:var(--ink);border-color:var(--accent)}
.faq p{color:var(--muted);font-size:14px;max-width:760px;margin-bottom:4px}
footer{margin:40px 3% 14px;padding:44px 4% 26px;background:var(--bg2);border:1px solid var(--line);border-radius:calc(var(--r) * 1.5)}
.footer-top{display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:11px;letter-spacing:1.4px;color:var(--muted)}
.footer-top a{font-family:var(--head);font-size:24px;font-weight:700;color:var(--accent)}
footer img{display:block;width:100%;height:auto;max-height:260px;object-fit:contain;filter:invert(1);mix-blend-mode:lighten;opacity:.9;margin:26px 0}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:22px;font-size:10px;letter-spacing:1px;color:var(--muted)}
.footer-bottom a:hover{color:var(--accent-2)}
dialog{color:var(--fg);background:var(--bg2);border:1px solid #d4b35c66;border-radius:var(--r);max-width:680px;width:90%;padding:50px}
dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}
dialog h2{font-size:clamp(24px,3vw,36px)}
dialog p,dialog li{color:var(--muted);font-size:14px;line-height:1.8}
dialog li::marker{color:var(--accent)}
.close{position:absolute;right:16px;top:12px;width:40px;height:40px;border-radius:50%;background:var(--bg3);border:1px solid var(--line);color:var(--fg);font-size:22px}

@keyframes sway{0%,100%{transform:translate(-50%,-55%) rotate(-4deg)}50%{transform:translate(-50%,-55%) rotate(4deg)}}
@keyframes service-marquee{to{transform:translateX(-50%)}}

/* ---------- адаптив */
@media(min-width:1600px){main{max-width:1800px;margin:auto}}
@media(max-width:1180px){.header-phone{display:none}nav a{padding:9px 10px}}
@media(max-width:1000px){
  nav{font-size:12px;gap:0}
  .hero-body{min-height:580px}
  .orb{width:290px;height:290px}
  .star{font-size:100px}
  .intro{grid-template-columns:1fr}
  #service-list{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .brief,.contacts-layout{gap:40px}
  .concept-visual{height:430px}
  .poster h3,.field-art h3{font-size:44px}
  .section{padding:80px 5%}
}
@media(max-width:760px){
  header{top:10px;margin:10px 3% 0;height:64px;padding:0 6px 0 18px;gap:0}
  .brand{font-size:15px;letter-spacing:3px}
  .brand span{font-size:6px}
  .nav-cta{display:none}
  .lang{margin-left:auto;margin-right:8px}
  .lang a{min-width:32px;padding:8px 6px}
  #menu{display:block;background:var(--bg3);border:1px solid var(--line);border-radius:50%;color:var(--fg);font-size:18px;width:44px;height:44px}
  nav{display:none;position:absolute;top:72px;left:0;right:0;padding:14px;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;font-size:15px;margin:0}
  nav.open{display:flex}
  .hero{padding-top:30px}
  .hero-top .micro{display:none}
  .hero-body{grid-template-columns:1fr;padding-top:36px}
  h1{font-size:clamp(30px,9vw,60px)}
  .lead{font-size:18px}
  .art{height:340px;margin-top:20px}
  .orb{width:260px;height:260px}
  .art-note{bottom:0;right:22%}
  .hero-bottom{font-size:8px;gap:20px}
  .hero-bottom>span:last-child{display:none}
  .ticker-group{font-size:15px;gap:22px;padding-right:22px}
  .section{padding:64px 5%}
  .intro-columns,.concepts,.brief,.contacts-layout{grid-template-columns:1fr}
  .intro-columns{gap:0}
  .principles{grid-template-columns:1fr;gap:10px}
  .heading{display:block}
  .heading p{padding:0;text-align:left}
  .services summary{grid-template-columns:36px 1fr 38px;padding:20px 16px;column-gap:10px}
  .services summary em{font-size:15px}
  .services summary strong{font-size:16px}
  .service-body{padding:0 18px 22px 62px}
  .industry,.brief{margin:0 2%;padding:64px 5%}
  .tabs button{font-size:13px;padding:11px 15px}
  .industry-result{padding:26px 22px}
  .concept-visual{height:440px}
  .poster h3,.field-art h3{font-size:42px}
  .steps{grid-template-columns:1fr}
  #brief-form{padding:22px 18px}
  .contact-card{padding:26px 20px}
  .footer-top{flex-direction:column;align-items:flex-start}
  .footer-top a{font-size:18px}
  .footer-bottom{flex-wrap:wrap}
  .footer-motto{display:none}
  footer{margin:30px 2% 10px}
  dialog{padding:56px 22px 30px}
  .faq details{padding:16px 18px}
  .faq summary{font-size:14px}
}
@media(max-width:360px){.brand{font-size:13px;letter-spacing:2px}.lang a{min-width:28px;padding:7px 4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.ticker-toggle{display:none}}
