/* ============================================================
   WAVE Corporation® — wavecorporation.ru
   Тёмные: шапка, первый экран, футер. Контент — светлый.
   Бордовый #8A1B2E — только акцент.
   Lora — только h1/h2. Всё остальное — Inter.
   ============================================================ */

:root{
  --ink:#12141A;
  --ink-line:#272B33;
  --paper:#FBFAF8;
  --paper-2:#F4F2ED;
  --text:#191C22;
  --text-2:#565C66;
  --text-3:#8B9099;
  --line:#E2DFD8;
  --accent:#8A1B2E;
  --accent-dk:#7A1728;
  --max:1280px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--text);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 44px}
@media(max-width:600px){.wrap{padding:0 22px}}
a{color:inherit;text-decoration:none}
.narrow{max-width:820px}

h1,h2{font-family:'Lora',Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.012em}
h3,h4{font-weight:500;letter-spacing:-.008em}

/* ---------- шапка ---------- */
header{background:var(--ink);position:sticky;top:0;z-index:60;border-bottom:1px solid var(--ink-line)}
.hdr{display:flex;align-items:center;justify-content:space-between;height:82px;gap:30px}
.brand{display:flex;flex-direction:column;gap:7px;flex-shrink:0}
/* знак ставится на белое поле — инверсной версии в свидетельстве нет */
.mark{background:#fff;display:block;width:auto}
.mark-sm{height:34px;padding:6px 11px}
.mark-lg{height:84px;padding:14px 20px}
.mark-ft{height:30px;padding:6px 10px}
.brand-sub{font-size:10.5px;letter-spacing:.11em;color:#868D96;white-space:nowrap}
nav{display:flex;gap:20px;font-size:13px;color:#A9AFB8;white-space:nowrap}
nav a{padding:4px 0;border-bottom:1px solid transparent;transition:.18s}
nav a:hover,nav a.on{color:#fff;border-bottom-color:var(--accent)}
.burger{display:none;background:none;border:0;cursor:pointer;padding:8px}
.burger span{display:block;width:24px;height:1.5px;background:#fff;margin:5px 0}
@media(max-width:1200px){
  nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--ink);
    flex-direction:column;gap:0;padding:8px 44px 24px;border-bottom:1px solid var(--ink-line)}
  nav.open{display:flex}
  nav a{padding:13px 0;border-bottom:1px solid var(--ink-line);font-size:15px}
  .burger{display:block}
}
@media(max-width:600px){nav{padding:8px 22px 24px}}

/* ---------- первый экран ---------- */
.hero{background:var(--ink);color:#fff;position:relative;overflow:hidden;padding:112px 0 96px}
.hero.compact{padding:86px 0 74px}
.hero.compact .hero-foot{margin-top:44px}
.hero-photo{position:absolute;inset:0;background-size:cover;background-position:center;
  filter:grayscale(18%) brightness(.42) contrast(1.02)}
.hero-veil{position:absolute;inset:0;
  background:linear-gradient(94deg,rgba(18,20,26,.94) 0%,rgba(18,20,26,.86) 42%,rgba(18,20,26,.55) 100%)}
.hero-in{position:relative;z-index:3}
.crumb{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:#7E858F;margin-bottom:22px}
.crumb a:hover{color:#fff}
h1{font-size:clamp(32px,4.7vw,62px);line-height:1.12;max-width:18ch;color:#fff}
.hero.compact h1{font-size:clamp(29px,3.9vw,50px);max-width:20ch}
.hero-sub{font-size:clamp(17px,1.65vw,21px);color:#C6CBD2;font-weight:300;
  max-width:50ch;margin-top:26px;line-height:1.52}
.hero-foot{position:relative;z-index:3;margin-top:62px;padding-top:22px;
  border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:10px 34px;align-items:baseline}
.hero-foot .lede:empty{display:none}
.hero-foot .lede{font-size:14.5px;color:#9DA3AC;max-width:72ch;line-height:1.6;flex:1 1 420px}
.tm-line{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:#666D76;flex-shrink:0}

/* ---------- кнопки ---------- */
.cta-row{display:flex;gap:13px;flex-wrap:wrap;margin-top:40px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;font-size:14.5px;
  font-weight:500;transition:.2s;border:1px solid transparent;cursor:pointer;
  font-family:inherit;line-height:1.2}
.btn-a{background:var(--accent);color:#fff}
.btn-a:hover{background:var(--accent-dk)}
.btn-o{border-color:rgba(255,255,255,.26);color:#fff}
.btn-o:hover{border-color:#fff}
.btn-d{background:var(--ink);color:#fff}
.btn-d:hover{background:var(--accent)}
.btn-l{border-color:var(--line);color:var(--text)}
.btn-l:hover{border-color:var(--accent);color:var(--accent)}
.ar{transition:transform .2s}
.btn:hover .ar{transform:translateX(3px)}

/* ---------- секции ---------- */
section{padding:96px 0}
section.tight{padding:72px 0}
.alt{background:var(--paper-2)}
.sec-lab{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--accent);font-weight:600;margin-bottom:16px}
h2{font-size:clamp(26px,3.2vw,42px);line-height:1.2;max-width:22ch}
.lead{font-size:16.5px;color:var(--text-2);max-width:62ch;margin-top:18px;font-weight:300}
.note{font-size:14.5px;color:var(--text-3);max-width:64ch;margin-top:26px;line-height:1.6}

/* ---------- строки услуг ---------- */
.rows{margin-top:50px;border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:64px 1fr 1.3fr;gap:34px;
  padding:30px 0;border-bottom:1px solid var(--line);align-items:start;transition:border-color .2s}
.row:hover{border-bottom-color:var(--accent)}
@media(max-width:860px){.row{grid-template-columns:44px 1fr;gap:16px}.row p{grid-column:2}}
.row .n{font-size:12px;color:var(--accent);font-weight:600;letter-spacing:.1em;padding-top:6px}
.row h3{font-size:20px;line-height:1.32}
.row p{font-size:15px;color:var(--text-2);line-height:1.62}

/* ---------- карточки ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(288px,1fr));gap:22px;margin-top:48px}
.card{background:var(--paper);border:1px solid var(--line);padding:38px 30px 42px;transition:border-color .2s}
.alt .card{background:#fff}
.card:hover{border-color:#C8C2B6}
.card .bar{width:30px;height:2px;background:var(--accent);margin-bottom:24px}
.card h3{font-size:18.5px;margin-bottom:11px;line-height:1.32}
.card p{font-size:15px;color:var(--text-2)}

/* ---------- список направлений ---------- */
.fields{margin-top:46px;border-top:1px solid var(--line);
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));column-gap:56px}
.fields li{list-style:none;display:flex;gap:16px;align-items:baseline;
  padding:19px 0;border-bottom:1px solid var(--line);font-size:16.5px}
.fields li i{font-style:normal;font-size:11px;color:var(--accent);font-weight:600;letter-spacing:.1em}

/* маркированный список в тексте */
.ul{margin-top:26px;display:grid;gap:0}
.ul li{list-style:none;padding:14px 0 14px 26px;border-bottom:1px solid var(--line);
  font-size:16px;position:relative;color:var(--text)}
.ul li::before{content:'';position:absolute;left:0;top:24px;width:10px;height:1px;background:var(--accent)}

/* ---------- процесс ---------- */
.flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(228px,1fr));gap:0;margin-top:50px}
.fl{padding-right:28px;padding-left:26px;border-left:1px solid var(--line)}
.fl:first-child{border-left:0;padding-left:0}
@media(max-width:920px){.fl{border-left:0;padding-left:0;padding-bottom:28px}}
.fl .n{font-size:10.5px;color:var(--accent);letter-spacing:.16em;font-weight:600;margin-bottom:14px}
.fl h3{font-size:17.5px;margin-bottom:9px}
.fl p{font-size:15px;color:var(--text-2)}

/* ---------- сплит WAVE / Japan Estetic ---------- */
.split{display:grid;grid-template-columns:.85fr 1.15fr;border-top:1px solid var(--line)}
@media(max-width:860px){.split{grid-template-columns:1fr}}
.split-l{background:var(--ink);padding:64px 52px;display:flex;flex-direction:column;
  justify-content:center;align-items:flex-start;gap:22px}

.split-r{background:var(--paper);padding:64px 52px;display:flex;flex-direction:column;justify-content:center}
@media(max-width:600px){.split-l,.split-r{padding:46px 24px}}
.split-r h2{font-size:clamp(23px,2.5vw,31px);margin-bottom:20px;max-width:24ch}
.split-r p{font-size:15.5px;color:var(--text-2);margin-bottom:14px;max-width:52ch}
.split-l .cap{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#7E858F}

/* ---------- формы ---------- */
.form{margin-top:44px;max-width:840px}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:22px 26px}
@media(max-width:720px){.fgrid{grid-template-columns:1fr}}
.f{display:flex;flex-direction:column;gap:8px}
.f.full{grid-column:1/-1}
.f label{font-size:12px;letter-spacing:.06em;color:var(--text-2);font-weight:500}
.f label .req{color:var(--accent)}
.f input[type=text],.f input[type=email],.f input[type=tel],.f input[type=url],.f textarea,.f select{
  font-family:inherit;font-size:15.5px;color:var(--text);background:#fff;
  border:1px solid var(--line);padding:13px 15px;transition:border-color .18s;width:100%}
.f textarea{min-height:130px;resize:vertical;line-height:1.6}
.f input:focus,.f textarea:focus,.f select:focus{outline:0;border-color:var(--accent)}
.f input[type=file]{font-family:inherit;font-size:14px;color:var(--text-2);
  border:1px dashed var(--line);padding:14px;background:#fff;width:100%}
.f .hint{font-size:12.5px;color:var(--text-3)}
.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 24px;margin-top:4px}
.chk{display:flex;align-items:flex-start;gap:10px;font-size:15px;cursor:pointer;color:var(--text)}
.chk input{margin-top:5px;accent-color:var(--accent);width:15px;height:15px;flex-shrink:0}
.consent{margin-top:26px;font-size:13.5px;color:var(--text-2);line-height:1.55;max-width:64ch;
  display:block;position:relative;padding-left:26px;cursor:pointer}
.consent input{position:absolute;left:0;top:4px;accent-color:var(--accent);width:15px;height:15px}
.consent a{border-bottom:1px solid var(--line)}
.consent a:hover{color:var(--accent);border-bottom-color:var(--accent)}
.form-after{margin-top:26px;font-size:14px;color:var(--text-3);max-width:64ch;line-height:1.6}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fmsg{margin-top:20px;padding:15px 18px;font-size:15px;display:none}
.fmsg.ok{display:block;background:#EEF3EE;border-left:2px solid #3E6B48;color:#2C4E34}
.fmsg.err{display:block;background:#F6EDEE;border-left:2px solid var(--accent);color:var(--accent-dk)}

/* ---------- проекты ---------- */
.case{display:grid;grid-template-columns:300px 1fr;gap:58px;align-items:start;margin-top:52px}
@media(max-width:860px){.case{grid-template-columns:1fr;gap:32px}}
.case-seal{border:1px solid var(--line);background:#fff;padding:34px;display:flex;
  align-items:center;justify-content:center;min-height:230px}
.case-seal img{max-width:210px}
.case h3{font-size:26px;font-family:'Lora',Georgia,serif;font-weight:400;letter-spacing:-.01em}
.case .sub{font-size:14px;color:var(--accent);letter-spacing:.05em;margin-top:8px;margin-bottom:22px}
.case p{font-size:16px;color:var(--text-2);margin-bottom:15px;max-width:62ch}
.chain{margin-top:44px;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 4px;font-size:13.5px;color:var(--text-2)}
.chain span{white-space:nowrap}
.chain b{color:var(--accent);font-weight:400;padding:0 8px}
@media(max-width:700px){.chain{flex-direction:column;align-items:flex-start;gap:8px}
  .chain b{padding:0;transform:rotate(90deg);display:inline-block}}
.meta{margin-top:34px;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0 40px}
.meta div{padding:15px 0;border-bottom:1px solid var(--line)}
.meta dt{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-bottom:5px}
.meta dd{font-size:15.5px}
.quiet{background:var(--paper-2);padding:34px 36px;margin-top:52px;max-width:76ch}
.quiet h4{font-size:16px;margin-bottom:10px}
.quiet p{font-size:15px;color:var(--text-2)}

/* ---------- публикации ---------- */
.plist{margin-top:50px;border-top:1px solid var(--line)}
.pitem{display:grid;grid-template-columns:64px 1fr;gap:34px;padding:34px 0;
  border-bottom:1px solid var(--line);transition:border-color .2s}
.pitem:hover{border-bottom-color:var(--accent)}
@media(max-width:720px){.pitem{grid-template-columns:44px 1fr;gap:16px}}
.pitem .n{font-size:12px;color:var(--accent);font-weight:600;letter-spacing:.1em;padding-top:7px}
.pitem h3{font-size:21px;line-height:1.34;max-width:34ch}
.pitem p{font-size:15px;color:var(--text-2);margin-top:10px;max-width:70ch}
.pitem .more{font-size:13.5px;color:var(--accent);margin-top:14px;display:inline-block}

/* ---------- текст статьи ---------- */
.article{max-width:760px}
.article h2{font-size:clamp(23px,2.4vw,30px);margin:52px 0 16px;max-width:26ch}
.article h3{font-size:19px;margin:34px 0 12px}
.article p{font-size:17px;color:#2C3038;margin-bottom:17px;line-height:1.72}
.article ul{margin:6px 0 22px}
.article ul li{list-style:none;padding:8px 0 8px 24px;position:relative;font-size:16.5px;color:#2C3038}
.article ul li::before{content:'';position:absolute;left:0;top:20px;width:9px;height:1px;background:var(--accent)}
.article ol{margin:6px 0 22px;padding-left:22px}
.article ol li{padding:7px 0;font-size:16.5px;color:#2C3038}
.article .q{font-family:'Lora',Georgia,serif;font-size:21px;line-height:1.5;color:var(--text);
  border-left:2px solid var(--accent);padding:4px 0 4px 24px;margin:30px 0}
.endblock{margin-top:64px;padding-top:38px;border-top:1px solid var(--line)}
.endblock h3{font-size:20px;margin-bottom:14px}
.endblock p{font-size:16px;color:var(--text-2);margin-bottom:14px;max-width:64ch}

/* ---------- контакты ---------- */
.ctc{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0 46px;margin-top:48px}
.ctc div{padding:22px 0;border-bottom:1px solid var(--line)}
.ctc dt{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-bottom:7px}
.ctc dd{font-size:18px}
.ctc dd a:hover{color:var(--accent)}

/* ---------- юр. текст ---------- */
.legal{max-width:800px}
.legal h2{font-size:22px;margin:40px 0 14px;max-width:none}
.legal p{font-size:16px;color:#2C3038;margin-bottom:14px;line-height:1.7}
.legal ul{margin:4px 0 20px}
.legal li{list-style:none;padding:7px 0 7px 24px;position:relative;font-size:16px;color:#2C3038}
.legal li::before{content:'';position:absolute;left:0;top:19px;width:9px;height:1px;background:var(--accent)}

/* ---------- футер ---------- */
footer{background:var(--ink);color:#A5ABB4;padding:70px 0 38px;font-size:14px}
.f-top{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;padding-bottom:44px;
  border-bottom:1px solid var(--ink-line)}
@media(max-width:860px){.f-top{grid-template-columns:1fr;gap:32px}}

.f-tag{margin-top:14px;max-width:38ch;line-height:1.6}
.f-nav{display:flex;flex-wrap:wrap;gap:13px 26px;align-content:start}
.f-nav a{border-bottom:1px solid transparent}
.f-nav a:hover{color:#fff;border-bottom-color:var(--accent)}
.f-bot{padding-top:32px;display:grid;grid-template-columns:1.15fr 1fr;gap:56px;font-size:13px;color:#767C85}
@media(max-width:860px){.f-bot{grid-template-columns:1fr;gap:24px}}
.f-bot p{margin-bottom:6px}
.f-links{display:flex;flex-direction:column;gap:9px}
.f-links a:hover{color:#fff}
.ph{background:#242830;color:#989FA8;padding:1px 8px;border-radius:2px;font-size:12px}

/* заглушка знака, пока нет файла */
.slot{display:inline-flex;align-items:center;justify-content:center;text-align:center;
  border:1px dashed #454B55;color:#7E858F;font-size:9px;letter-spacing:.14em;
  text-transform:uppercase;line-height:1.35;padding:6px 10px}
.slot-sm{width:168px;height:38px}
.slot-lg{width:300px;height:104px}
.slot-ft{width:150px;height:34px}
