/* ClothesAI — стиль D3 «День»: фон слоновой кости, чёрный текст, один акцент — жёлтый сантиметровой ленты,
   заливки вместо линий, фирменный мотив — деления ленты. */
:root{
  --bg:#ece7dc; --glow:#faf8f3; --ink:#141416; --mut:#6f6b62; --tape:#f4c531;
  --ivory:#fbfaf7; --card:#efebe2; --dark:#141416; --line:#dcd7ca; --bad:#b3401f;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--ink);background:radial-gradient(1200px 900px at 50% 12%,var(--glow) 0,var(--bg) 70%) no-repeat,var(--bg);line-height:1.45;-webkit-font-smoothing:antialiased}
main{max-width:1120px;margin:0 auto;padding:0 20px}
img{display:block;max-width:100%}
h1{font-size:clamp(44px,8vw,84px);line-height:1.02;letter-spacing:-.04em;font-weight:700}
h2{font-size:clamp(30px,5vw,48px);line-height:1.08;letter-spacing:-.035em;font-weight:700}
h3{font-size:22px;letter-spacing:-.02em;font-weight:700}
.lead{font-size:clamp(18px,2.4vw,22px);color:var(--mut);font-weight:500;margin-top:14px;max-width:34em}
.note{font-size:14px;color:var(--mut);margin-top:12px}
.hint{font-size:15px;color:var(--mut);max-width:46em}

.top{max-width:1120px;margin:0 auto;padding:18px 20px;display:flex;justify-content:space-between;align-items:center}
.logo{display:flex;align-items:center;gap:10px;font-weight:600;font-size:20px;color:var(--ink);text-decoration:none;letter-spacing:-.01em}
.logo img{width:34px;height:34px}
.logo .ai{color:var(--tape)}
.top-nav{display:flex;gap:8px}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.hero-text .hero-cta .btn{margin-top:0}
.start-card{background:var(--ivory);border-radius:28px;padding:30px;display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:center}
.start-actions{display:flex;flex-direction:column;gap:10px}
.start-actions .btn{text-align:center}
.start-actions .btn.big{margin-top:0}
.formwrap.start{padding:60px 0 0}
.check a,footer a{color:inherit;text-decoration:underline;text-underline-offset:3px}

.btn{display:inline-block;border:0;border-radius:999px;font:700 18px/1 var(--font);padding:18px 30px;cursor:pointer;text-decoration:none;letter-spacing:-.01em}
.btn.tape{background:var(--tape);color:#17171a}
.btn.dark{background:var(--ink);color:var(--ivory)}
.btn.ghost{background:var(--card);color:var(--ink)}
.btn.small{font-size:15px;padding:12px 20px}
.btn.big{width:100%;font-size:20px;padding:22px;margin-top:22px}
.btn:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--ink);outline-offset:2px}

/* первый экран */
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center;padding:36px 0 20px}
.hero-text .btn{margin-top:28px}
.hero-phone{position:relative;justify-self:center;width:330px;height:560px}
.phone{position:absolute;left:0;top:0;width:620px;height:1280px;transform:scale(.532);transform-origin:0 0;border-radius:94px;background:linear-gradient(145deg,#4a4a4e,#1c1c1f 40%,#3a3a3e);padding:13px;box-shadow:0 50px 110px rgba(60,50,30,.35)}
.hero-phone{overflow:hidden;border-radius:0 0 8px 8px}
.scr{position:relative;width:100%;height:100%;border-radius:82px;background:var(--ivory);overflow:hidden}
.isl{position:absolute;left:50%;top:20px;width:170px;height:48px;margin-left:-85px;border-radius:24px;background:#000}
.st{position:absolute;left:52px;top:30px;font-size:25px;font-weight:600}
.nav{position:absolute;left:36px;right:36px;top:98px;display:flex;justify-content:space-between;align-items:center;font-size:30px;font-weight:700}
.nav span{width:58px;height:58px;border-radius:50%;background:var(--card);display:flex;align-items:center;justify-content:center;font-weight:500}
.view{position:absolute;left:24px;right:24px;top:176px;height:560px;border-radius:40px;background:var(--dark);overflow:hidden}
.view img{position:absolute;left:0;top:-190px;width:546px;max-width:none}
.chip{position:absolute;font-style:normal;padding:9px 20px;border-radius:999px;font-size:22px;font-weight:700}
.chip.l{left:20px;top:20px;background:rgba(255,255,255,.14);color:#fff}
.chip.r{right:20px;bottom:20px;background:var(--tape);color:#17171a}
.prod{position:absolute;left:36px;right:36px;top:760px;display:flex;gap:18px;align-items:center}
.prod .thumb{width:84px;height:84px;border-radius:20px;overflow:hidden;background:#1b1b1d;flex:none}
.prod .thumb img{width:100px;max-width:none;margin:-12px 0 0 -8px}
.prod b{display:block;font-size:28px}.prod small{font-size:22px;color:var(--mut)}
.seg{position:absolute;left:36px;right:36px;top:868px;display:flex;background:var(--card);border-radius:22px;padding:6px;font-size:28px;font-weight:700}
.seg div{flex:1;text-align:center;padding:16px 0;border-radius:17px;color:var(--mut)}
.seg .on{background:var(--ink);color:var(--ivory)}
.fit{position:absolute;left:36px;right:36px;top:972px;display:flex;align-items:center;gap:16px;font-size:24px;font-weight:600}
.fit + .fit{top:1020px}
.fit b{width:120px}.fit u{flex:1;height:10px;border-radius:5px;background:var(--line);position:relative}
.fit s{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:var(--ink)}
.fit em{font-style:normal;color:var(--mut);width:150px;text-align:right}
.call{position:absolute;background:var(--ivory);padding:10px 14px;border-radius:14px;font-size:14px;font-weight:500;box-shadow:0 12px 30px rgba(60,50,30,.22)}
.call b{display:block;font-size:16px}
.call:before{content:"";position:absolute;top:-5px;left:14px;width:10px;height:10px;border-radius:50%;background:var(--tape)}
.c1{left:-64px;top:250px}.c2{right:-70px;top:340px}
.hero-phone{overflow:visible}
.hero-phone .phone{clip-path:inset(0 0 17% 0 round 94px)}

/* шаги */
.steps{padding:70px 0 20px}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px}
.card{background:var(--ivory);border-radius:28px;padding:26px}
.card.wide{grid-column:1/-1}
.card .n{display:inline-flex;width:34px;height:34px;border-radius:50%;background:var(--tape);align-items:center;justify-content:center;font-weight:700;margin-bottom:14px}
.card p{color:var(--mut);margin-top:6px;font-size:16px}
.sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;max-width:560px}
.sizes figure{background:var(--dark);border-radius:20px;overflow:hidden;position:relative;aspect-ratio:3/4}
.sizes img{position:absolute;width:240%;max-width:none;left:-70%;top:-125%}
.sizes figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 8px 10px;text-align:center;color:#fff;font-size:13px;background:linear-gradient(transparent,rgba(0,0,0,.8))}
.sizes b{display:block;font-size:22px}

/* форма */
.formwrap{padding:80px 0 60px}
.rules{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:26px 0 30px}
.rules div{background:var(--card);border-radius:18px;padding:14px 16px;font-size:15px;color:var(--mut)}
.rules b{color:var(--ink)}
.progress{position:sticky;top:0;z-index:5;background:var(--bg);padding:14px 0 12px;margin-bottom:10px;display:flex;align-items:center;gap:14px}
.progress .ticks{position:absolute;left:0;right:90px;top:14px;height:16px;background:repeating-linear-gradient(90deg,rgba(20,20,22,.7) 0 2px,transparent 2px 6.666%),repeating-linear-gradient(90deg,rgba(20,20,22,.25) 0 1px,transparent 1px 1.3333%)}
.progress .fill{position:absolute;left:0;top:33px;height:5px;width:0;max-width:calc(100% - 90px);background:var(--tape);border-radius:3px;transition:width .2s}
.progress span{margin-left:auto;font-weight:700;font-size:15px;padding-top:2px;font-variant-numeric:tabular-nums;height:28px}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.m{background:var(--ivory);border-radius:22px;padding:16px;display:flex;flex-direction:column;gap:8px}
.m .head{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px}
.m .num{flex:none;width:28px;height:28px;border-radius:50%;background:var(--card);display:inline-flex;align-items:center;justify-content:center;font-size:13px}
.m.ok .num{background:var(--tape)}
.m .field{display:flex;align-items:center;gap:8px;background:var(--card);border-radius:14px;padding:0 14px}
.m input{flex:1;min-width:0;border:0;background:transparent;font:700 26px/1 var(--font);padding:12px 0;color:var(--ink);font-variant-numeric:tabular-nums}
.m input:focus{outline:none}
.m .field:focus-within{outline:3px solid var(--ink)}
.m .unit{color:var(--mut);font-weight:600}
.m p{font-size:14px;color:var(--mut);line-height:1.4}
.m.bad .field{outline:3px solid var(--bad)}
.m .warn{color:var(--bad);font-weight:600}
.sub{margin:44px 0 8px;font-size:28px;letter-spacing:-.03em}
.photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.ph{background:var(--ivory);border-radius:22px;padding:14px;text-align:center;cursor:pointer;display:block}
.ph .box{aspect-ratio:3/4;border-radius:14px;background:var(--card) center/cover no-repeat;display:flex;align-items:center;justify-content:center;font-size:40px;color:var(--mut);font-weight:300}
.ph b{display:block;margin-top:10px}.ph small{color:var(--mut);font-size:13px}
.ph input{position:absolute;opacity:0;width:1px;height:1px}
.ph:focus-within{outline:3px solid var(--ink)}
.about{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.about label{font-size:14px;font-weight:600;color:var(--mut);display:flex;flex-direction:column;gap:6px}
.about input,.about select{border:0;background:var(--ivory);border-radius:14px;padding:14px;font:600 18px/1.2 var(--font);color:var(--ink);width:100%}
.about.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.queue{margin-top:24px}
.formwrap.second{padding-top:20px}
.check{display:flex;gap:12px;align-items:flex-start;margin-top:16px;font-size:16px;cursor:pointer}
.check input{width:22px;height:22px;accent-color:var(--ink);flex:none;margin-top:1px}
.error{margin-top:18px;background:#f6ddd3;color:var(--bad);border-radius:14px;padding:14px 16px;font-weight:600}
.result{margin-top:30px;background:var(--ivory);border-radius:28px;padding:26px}
.result p{color:var(--mut);margin:8px 0 14px}
.result pre{background:var(--card);border-radius:16px;padding:16px;font:13px/1.5 ui-monospace,Menlo,monospace;overflow:auto;max-height:340px}
.row{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}

footer{padding:30px 20px 40px;text-align:center;color:var(--mut);font-size:14px}
.tape-line{height:18px;margin-bottom:16px;background:repeating-linear-gradient(90deg,rgba(20,20,22,.7) 0 2px,transparent 2px 100px),repeating-linear-gradient(90deg,rgba(20,20,22,.25) 0 1px,transparent 1px 10px)}

@media (max-width:860px){
  .hero{grid-template-columns:1fr;padding-top:16px}
  .hero-phone{margin-top:10px}
  .c1{left:-18px}.c2{right:-18px}
  .cards,.rules,.grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about.two{grid-template-columns:minmax(0,1fr)}
  .start-card{grid-template-columns:1fr}
}
@media (max-width:520px){
  .cards,.rules,.grid{grid-template-columns:minmax(0,1fr)}
  .photos{gap:8px}.ph{padding:8px}
  .btn.small{padding:10px 14px}
  .top-nav .btn.ghost{display:none}
  .logo{font-size:18px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.progress .fill{transition:none}}
