.s2-request-page{min-height:100vh}
.s2-request-page [hidden]{display:none!important}
.s2-recommendation-hero{padding:68px max(32px,calc((100vw - var(--s2-max))/2)) 74px;background:var(--s2-navy);color:#fff;border-bottom:5px solid var(--s2-orange)}
.s2-recommendation-hero .s2-breadcrumb{margin-bottom:28px}
.s2-recommendation-hero h1{max-width:850px;margin:16px 0 20px;font-size:clamp(44px,5vw,68px);line-height:1.04;letter-spacing:-.045em}
.s2-recommendation-hero>p{max-width:760px;margin:0;color:#c5d2da;font-size:18px;line-height:1.7}
.s2-recommendation-layout{display:grid;grid-template-columns:minmax(250px,.55fr) minmax(0,1.45fr);gap:64px;padding:80px max(32px,calc((100vw - var(--s2-max))/2)) 104px;background:var(--s2-surface)}
.s2-recommendation-aside{align-self:start;position:sticky;top:140px;padding:30px;border-top:3px solid var(--s2-orange);background:#fff}
.s2-recommendation-aside>span{color:var(--s2-orange-dark);font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.s2-recommendation-aside h2{margin:12px 0 14px;font-size:27px;line-height:1.15}
.s2-recommendation-aside>p{margin:0;color:var(--s2-muted);font-size:14px}
.s2-recommendation-aside ol{margin:26px 0 0;padding:0;list-style:none;border-top:1px solid var(--s2-line)}
.s2-recommendation-aside li{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:13px 0;border-bottom:1px solid var(--s2-line);font-size:13px;font-weight:650}
.s2-recommendation-aside li span{color:var(--s2-orange-text)}
.s2-recommendation-form{min-width:0;padding:36px;background:#fff;border:1px solid var(--s2-line)}
.s2-form-progress{display:grid;grid-template-columns:repeat(4,1fr);margin:0 0 42px;padding:0;list-style:none;border-top:1px solid var(--s2-line)}
.s2-form-progress li{position:relative;display:flex;align-items:center;gap:9px;padding:13px 8px 0 0;color:#586874;font-size:11px}
.s2-form-progress li:before{content:"";position:absolute;left:0;right:0;top:-2px;height:3px;background:transparent}
.s2-form-progress li.is-current:before,.s2-form-progress li.is-complete:before{background:var(--s2-orange)}
.s2-form-progress li span{width:25px;height:25px;display:grid;place-items:center;border:1px solid #aebbc3;font-size:10px;font-weight:800}
.s2-form-progress li.is-current,.s2-form-progress li.is-complete{color:var(--s2-navy)}
.s2-form-progress li.is-current span,.s2-form-progress li.is-complete span{border-color:var(--s2-orange-text);background:var(--s2-orange-text);color:#fff}
.s2-form-heading{max-width:700px;margin-bottom:30px}
.s2-form-heading>span{color:var(--s2-orange-dark);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.s2-form-heading h2{margin:10px 0 12px;font-size:34px;line-height:1.12;letter-spacing:-.03em}
.s2-form-heading p{margin:0;color:var(--s2-muted)}
.s2-project-selector{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;border:0}
.s2-project-selector label{position:relative;display:block;min-height:150px;border:1px solid var(--s2-line);cursor:pointer}
.s2-project-selector label:hover,.s2-project-selector label.is-selected{border-color:var(--s2-orange);box-shadow:inset 4px 0 var(--s2-orange)}
.s2-project-selector input{position:absolute;top:18px;right:18px;width:20px;height:20px;accent-color:var(--s2-orange)}
.s2-project-selector label>span{height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:26px 50px 24px 24px}
.s2-project-selector b{font-size:19px;color:var(--s2-navy)}
.s2-project-selector small{display:block;margin-top:8px;color:var(--s2-muted);font-size:13px;line-height:1.5}
.s2-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.s2-form-field{display:flex;flex-direction:column;min-width:0;font-size:13px;font-weight:700;color:#263946}
.s2-form-field.is-wide{grid-column:1/-1}
.s2-form-field>span em{color:var(--s2-orange-dark);font-style:normal}
.s2-form-field input,.s2-form-field select,.s2-form-field textarea{width:100%;min-height:50px;margin-top:7px;padding:12px 13px;border:1px solid #aeb9c0;border-radius:0;background:#fff;color:var(--s2-dark)}
.s2-form-field textarea{min-height:115px;resize:vertical}
.s2-form-field input[type="file"]{padding:10px;background:var(--s2-surface)}
.s2-form-field input:focus,.s2-form-field select:focus,.s2-form-field textarea:focus{outline:3px solid rgba(229,106,26,.25);border-color:var(--s2-orange)}
.s2-form-field small{margin-top:6px;color:var(--s2-muted);font-size:11px;font-weight:400}
.s2-choice-group{grid-column:1/-1;margin:0;padding:0;border:0}
.s2-choice-group legend{margin-bottom:7px;color:#263946;font-size:13px;font-weight:700}
.s2-choice-group>div{display:flex;flex-wrap:wrap;gap:8px}
.s2-choice-group label{position:relative;display:flex;align-items:center;min-height:48px;padding:0 14px;border:1px solid #aeb9c0;background:#fff;cursor:pointer}
.s2-choice-group label:has(input:checked){border-color:var(--s2-orange);background:#fff7f2}
.s2-choice-group input{width:18px;height:18px;margin:0 9px 0 0;accent-color:var(--s2-orange)}
.s2-choice-group span{font-size:13px;font-weight:650}
.s2-form-consent{display:flex;align-items:flex-start;gap:10px;margin-top:26px;color:var(--s2-muted);font-size:12px}
.s2-form-consent input{flex:0 0 auto;width:18px;height:18px;margin:1px 0 0;accent-color:var(--s2-orange)}
.s2-form-consent a{text-decoration:underline;color:var(--s2-navy)}
.s2-review-box{margin-top:26px;padding:24px;border-top:3px solid var(--s2-orange);background:var(--s2-navy);color:#fff}
.s2-review-box>span{color:#ff9a5e;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.s2-review-box ul{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:15px 0 0;padding:0;list-style:none}
.s2-review-box li{padding:8px 0;border-bottom:1px solid #3f596c;color:#d0dae0;font-size:13px}
.s2-review-box li:before{content:"—";margin-right:8px;color:var(--s2-orange)}
.s2-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:34px;padding-top:24px;border-top:1px solid var(--s2-line)}
.s2-btn-secondary-dark{border-color:#80919d;background:#fff;color:var(--s2-navy)}
.s2-btn:disabled{cursor:not-allowed;opacity:.5}
.s2-form-error{margin:14px 0 0;color:#9d2626;font-weight:700}
.s2-form-result{padding:52px;border-top:4px solid var(--s2-orange);background:#fff}
.s2-form-result>span{color:var(--s2-orange-dark);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.s2-form-result h2{max-width:720px;margin:12px 0 16px;font-size:38px;line-height:1.12}
.s2-form-result p{max-width:720px;color:var(--s2-muted);font-size:16px}
.s2-form-result .s2-btn{margin-top:18px}
.s2-request-page .hp{position:absolute;left:-9999px}

@media(max-width:1024px){
  .s2-recommendation-layout{grid-template-columns:1fr;gap:28px}
  .s2-recommendation-aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .s2-recommendation-aside ol{grid-column:2;grid-row:1/4;margin:0}
}

.s2-form-completion{padding:26px;border:1px solid var(--s2-line);border-left:4px solid #16734b;background:#f7faf8}
.s2-form-completion p{margin:0 0 20px;color:var(--s2-muted)}

@media(max-width:640px){
  .s2-recommendation-hero{padding:48px 20px 52px}
  .s2-recommendation-hero h1{font-size:38px}
  .s2-recommendation-hero>p{font-size:16px}
  .s2-recommendation-layout{padding:34px 16px 78px}
  .s2-recommendation-aside{display:block;padding:24px}
  .s2-recommendation-aside ol{margin-top:22px}
  .s2-recommendation-form{padding:22px 18px}
  .s2-form-progress{margin-bottom:30px}
  .s2-form-progress li{justify-content:center;padding-right:0}
  .s2-form-progress li b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .s2-form-heading h2{font-size:29px}
  .s2-project-selector,.s2-form-grid{grid-template-columns:1fr}
  .s2-project-selector label{min-height:124px}
  .s2-form-field.is-wide,.s2-choice-group{grid-column:auto}
  .s2-choice-group>div{display:grid;grid-template-columns:1fr}
  .s2-choice-group label{min-height:50px}
  .s2-review-box ul{grid-template-columns:1fr}
  .s2-form-actions{position:sticky;bottom:0;z-index:4;margin-left:-18px;margin-right:-18px;margin-bottom:-22px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -10px 25px rgba(7,26,42,.08)}
  .s2-form-actions .s2-btn{flex:1}
  .s2-form-result{padding:34px 24px}
  .s2-form-result h2{font-size:31px}
}
