.contact-v8{background:#fff}
.contact-v8 .site-header{background:rgba(255,255,255,.95)}
.ct-hero{padding:18px 0 30px;background:radial-gradient(circle at 84% 10%,#f3d4d7 0,transparent 30%),linear-gradient(180deg,#fff 0%,#fff8f7 100%);overflow:hidden}
.ct-shell{display:grid;grid-template-columns:1.02fr .98fr;gap:64px;align-items:center}
.ct-copy{padding:10px 0 10px}
.ct-copy h1{font-size:clamp(2.9rem,4.35vw,4.55rem);line-height:.87;letter-spacing:-.07em;margin:15px 0 18px;max-width:760px}
.ct-copy h1 span{color:var(--rose2)}
.ct-lead{font-size:.98rem;line-height:1.55;color:#596174;max-width:670px;margin:0}
.ct-lead strong{color:var(--navy)}
.ct-points{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.ct-points span{padding:9px 13px;border:1px solid #e6dfe2;background:#fff;border-radius:999px;font-size:.78rem;font-weight:820;color:#565e70}
.ct-visual{min-height:390px;position:relative}
.ct-photo{position:absolute;inset:0 0 0 48px;border-radius:38px;overflow:hidden;background:#d6a7aa;box-shadow:var(--shadow)}
.ct-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.ct-float{position:absolute;left:0;bottom:22px;width:240px;padding:16px 18px;border-radius:22px;background:var(--navy);color:#fff;box-shadow:var(--shadow2)}
.ct-float small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;font-weight:900;color:#f0acb5;margin-bottom:7px}
.ct-float strong{display:block;font-size:1.08rem;line-height:1.25}
.ct-float a{display:inline-block;margin-top:11px;color:#fff;font-size:.82rem;text-decoration:underline;text-underline-offset:3px}

.ct-main{padding:100px 0 110px}
.ct-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:58px;align-items:start}
.ct-aside{position:sticky;top:118px}
.ct-aside h2{font-size:clamp(2.8rem,4.8vw,5rem);line-height:.91;letter-spacing:-.06em;margin:12px 0 20px}
.ct-aside p{color:var(--muted);max-width:440px}
.ct-info-list{display:grid;gap:10px;margin-top:30px}
.ct-info-card{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:17px 0;border-top:1px solid var(--line)}
.ct-info-card:last-child{border-bottom:1px solid var(--line)}
.ct-info-icon{width:40px;height:40px;border-radius:13px;background:#fff1f0;display:grid;place-items:center;color:var(--rose2);font-weight:900}
.ct-info-card strong{display:block;margin:1px 0 4px}
.ct-info-card span,.ct-info-card a{font-size:.86rem;color:var(--muted)}
.ct-info-card a{text-decoration:underline;text-underline-offset:3px}
.ct-aside-note{margin-top:26px;padding:18px 19px;border-radius:18px;background:#f7f7f9;color:#5a6273;font-size:.82rem}
.ct-aside-note strong{color:var(--navy)}

.ct-form-card{border:1px solid var(--line);border-radius:34px;background:#fff;padding:38px;box-shadow:0 22px 60px rgba(16,22,41,.08)}
.ct-form-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.ct-form-head h2{font-size:2.3rem;line-height:1;letter-spacing:-.045em;margin:0 0 8px}
.ct-form-head p{margin:0;color:var(--muted);font-size:.9rem;max-width:470px}
.ct-form-badge{flex:0 0 auto;background:#dff1ed;color:#29645c;border-radius:999px;padding:8px 12px;font-size:.7rem;font-weight:900}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ct-field{display:grid;gap:7px;margin-bottom:15px}
.ct-field label{font-size:.76rem;font-weight:850;color:#4c5568}
.ct-field input,.ct-field textarea,.ct-field select{width:100%;border:1px solid #d9dce4;border-radius:13px;background:#fbfbfc;padding:13px 14px;color:var(--text);outline:none;transition:.18s}
.ct-field input:focus,.ct-field textarea:focus,.ct-field select:focus{border-color:#bd727d;background:#fff;box-shadow:0 0 0 3px rgba(200,124,134,.11)}
.ct-field textarea{min-height:150px;resize:vertical}
.ct-form-privacy{font-size:.73rem;color:#657084;line-height:1.5;margin:4px 0 11px}
.ct-form-privacy a{text-decoration:underline;font-weight:760}
.ct-check{display:flex;align-items:flex-start;gap:9px;font-size:.72rem;color:#5a6375;margin:12px 0 20px}
.ct-check input{margin-top:3px}
.ct-submit{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.ct-submit small{color:#7a8291;font-size:.7rem;max-width:330px}
.ct-submit .btn{min-width:180px}

.ct-alt{padding:0 0 105px}
.ct-alt-box{display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center;border-radius:34px;background:var(--navy);color:#fff;padding:46px 50px;position:relative;overflow:hidden}
.ct-alt-box:after{content:"";position:absolute;width:310px;height:310px;border:1px solid rgba(255,255,255,.13);border-radius:50%;right:-110px;top:-160px}
.ct-alt-box h2{font-size:clamp(2.3rem,4vw,4rem);line-height:.93;letter-spacing:-.055em;margin:0 0 10px}
.ct-alt-box p{margin:0;color:#b8c1d2;max-width:650px}
.ct-alt-box .btn{background:#fff;color:var(--navy);box-shadow:none;position:relative;z-index:2}
.ct-alt-box .btn:hover{background:#fff6f5}

@media(max-width:980px){
  .ct-shell,.ct-grid{grid-template-columns:1fr}
  .ct-visual{min-height:420px}
  .ct-photo{left:42px}
  .ct-aside{position:static}
  .ct-alt-box{grid-template-columns:1fr}
}
@media(max-width:680px){
  .ct-hero{padding:18px 0 40px}
  .ct-copy{padding-top:26px}
  .ct-copy h1{font-size:clamp(2.95rem,13.8vw,4.35rem)}
  .ct-visual{min-height:340px}
  .ct-photo{left:20px;border-radius:28px}
  .ct-float{width:220px;padding:16px 18px;border-radius:18px;bottom:18px}
  .ct-main{padding:72px 0 80px}
  .ct-grid{gap:34px}
  .ct-form-card{padding:24px;border-radius:26px}
  .ct-form-head{display:block}.ct-form-badge{display:inline-block;margin-top:14px}
  .ct-row{grid-template-columns:1fr;gap:0}
  .ct-submit{align-items:stretch}.ct-submit .btn{width:100%}.ct-submit small{order:2}
  .ct-alt{padding-bottom:76px}.ct-alt-box{padding:34px 27px;border-radius:28px}
}

@media (min-width:981px) and (max-height:900px){.ct-hero{padding:12px 0 22px}.ct-shell{gap:48px}.ct-copy h1{font-size:clamp(2.75rem,4vw,4.15rem);margin:11px 0 14px}.ct-lead{font-size:.92rem;line-height:1.5}.ct-points{margin-top:15px}.ct-visual{min-height:355px}.ct-float{bottom:18px}}
\n/* V4 compact desktop hero */
@media (min-width:981px){
  .ct-hero{padding:10px 0 20px}
  .ct-shell{gap:40px}
  .ct-copy h1{font-size:clamp(2.55rem,3.25vw,3.45rem);margin:10px 0 13px;line-height:.91}
  .ct-lead{font-size:.88rem;line-height:1.48}
  .ct-points{margin-top:14px}
  .ct-points span{padding:7px 10px;font-size:.68rem}
  .ct-visual{min-height:330px}
  .ct-photo{left:38px;border-radius:30px}
  .ct-float{bottom:16px;width:220px;padding:13px 15px;border-radius:18px}
}
