.contact-page{
  --contact-b:var(--sn-color-brand-700);
  --contact-bg:var(--sn-color-surface-soft);
  --contact-ink:#17243b;
  --contact-muted:#667081;
  --contact-line:var(--sn-color-border);
  color:var(--contact-ink);
}
.contact-hero{
  padding:38px 0 34px;
  border-bottom:1px solid var(--contact-line);
  background:radial-gradient(circle at 88% 8%,rgba(173,45,77,.09),transparent 29%),linear-gradient(135deg,#fbf7f4,#fff 70%);
}
.contact-hero__grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.72fr);gap:46px;align-items:end}
.contact-hero h1{margin:0;font-size:clamp(2.35rem,4.8vw,4rem);line-height:1.08;letter-spacing:-.04em}
.contact-hero p:not(.eyebrow){max-width:62ch;margin:14px 0 0;color:var(--contact-muted);line-height:1.8}
.contact-hero__notice{padding:18px;border:1px solid rgba(122,23,48,.16);border-radius:11px;background:#fff}
.contact-hero__notice>span{display:block;color:var(--contact-b);font-size:.65rem;font-weight:900;letter-spacing:.12em}
.contact-hero__notice strong{display:block;margin-top:7px;font-size:1.05rem}
.contact-hero__notice p{margin:7px 0 0!important;font-size:.84rem;line-height:1.7!important}
.contact-breadcrumb{padding-top:10px}

.contact-main{padding:24px 0 56px}
.contact-layout{display:grid;grid-template-columns:minmax(250px,.36fr) minmax(0,.64fr);gap:46px;align-items:start}
.contact-copy{position:sticky;top:calc(var(--sn-header-height) + 20px)}
.contact-copy h2,.contact-section-head h2,.contact-form-card__head h2{margin:0;font-size:clamp(1.7rem,3vw,2.55rem);line-height:1.25;letter-spacing:-.025em}
.contact-copy>p:not(.eyebrow){color:var(--contact-muted);line-height:1.85}
.contact-copy__points{margin:22px 0 0;padding:0;list-style:none;border-top:1px solid var(--contact-line)}
.contact-copy__points li{position:relative;padding:12px 0 12px 25px;border-bottom:1px solid var(--contact-line);font-size:.86rem;line-height:1.6}
.contact-copy__points li:before{content:'✓';position:absolute;left:0;color:var(--contact-b);font-weight:900}
.contact-copy__topics{display:grid;gap:0;margin-top:22px}
.contact-copy__topics>.eyebrow{margin-bottom:5px}
.contact-copy__topics a{display:grid;gap:3px;padding:10px 0;border-bottom:1px solid var(--contact-line);color:var(--contact-ink);text-decoration:none}
.contact-copy__topics a:hover strong{color:var(--contact-b)}
.contact-copy__topics strong{font-size:.86rem}
.contact-copy__topics span{color:var(--contact-muted);font-size:.76rem;line-height:1.5}
.contact-copy__phone{margin-top:22px;padding:16px;border:1px solid var(--contact-line);border-radius:10px;background:#fff}
.contact-copy__phone strong{display:block;font-size:.92rem}
.contact-copy__phone p:not(.eyebrow){margin:6px 0 13px;color:var(--contact-muted);font-size:.8rem;line-height:1.6}

.contact-form-card{padding:26px;border:1px solid var(--contact-line);border-radius:13px;background:#fff;box-shadow:0 16px 38px rgba(23,36,59,.06)}
.contact-form-card__head{margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid var(--contact-line)}
.contact-form-card__head h2{font-size:1.55rem}
.contact-form-card__head p:last-child{margin:7px 0 0;color:var(--contact-muted);font-size:.84rem;line-height:1.65}
.contact-form-card--complete{grid-column:1/-1;max-width:820px;width:100%;margin:0 auto}

.contact-flow-section{padding:50px 0;background:var(--contact-bg)}
.contact-section-head h2{font-size:clamp(1.7rem,2.8vw,2.45rem)}
.contact-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:24px 0 0;padding:0;list-style:none}
.contact-flow li{padding:18px;border:1px solid var(--contact-line);border-radius:10px;background:#fff}
.contact-flow li>span{display:block;color:var(--contact-b);font-size:.67rem;font-weight:900}
.contact-flow strong{display:block;margin-top:8px;font-size:.94rem}
.contact-flow p{margin:5px 0 0;color:var(--contact-muted);font-size:.8rem;line-height:1.6}

.contact-faq{padding:50px 0}
.contact-faq__grid{display:grid;grid-template-columns:minmax(240px,.34fr) minmax(0,.66fr);gap:50px}
.contact-faq__items{border-top:1px solid var(--contact-line)}
.contact-faq details{border-bottom:1px solid var(--contact-line)}
.contact-faq summary{position:relative;min-height:54px;padding:15px 34px 15px 0;cursor:pointer;font-weight:800;list-style:none}
.contact-faq summary::-webkit-details-marker{display:none}
.contact-faq summary:after{content:'+';position:absolute;right:5px;color:var(--contact-b)}
.contact-faq details[open] summary:after{content:'−'}
.contact-faq details p{margin:0;padding:0 0 16px;color:var(--contact-muted);line-height:1.8}

.contact-alternative{padding:30px 0 48px}
.contact-alternative__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;border-radius:12px;background:#1b1115;color:#fff}
.contact-alternative h2{margin:0;color:#fff;font-size:1.45rem}
.contact-alternative p:not(.eyebrow){margin:7px 0 0;color:rgba(255,255,255,.72);font-size:.84rem}

@media(max-width:960px){
  .contact-hero__grid,.contact-layout,.contact-faq__grid{grid-template-columns:1fr}
  .contact-copy{position:static}
  .contact-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .contact-hero{padding:30px 0 28px}
  .contact-hero h1{font-size:clamp(2rem,11vw,2.7rem)}
  .contact-main{padding:18px 0 40px}
  .contact-form-card{padding:18px}
  .contact-flow-section{padding:38px 0}
  .contact-flow{grid-template-columns:1fr}
  .contact-faq{padding:38px 0}
  .contact-alternative__inner{display:grid;padding:20px}
  .contact-alternative .button{width:100%;justify-content:center}
}
