.ob-welcome { margin: clamp(22px,4vw,58px) auto 30px; display:grid; grid-template-columns: 48% 52%; min-height:clamp(430px,60vh,660px); overflow:hidden; border:1px solid #ddcfc3; border-radius:18px; background:#f2e5da; }
.ob-welcome-copy { padding:clamp(32px,5vw,82px); align-self:center; }
.ob-welcome h1 { color:var(--wine,#713744); font-size:clamp(54px,5.9vw,91px); font-weight:400; line-height:.99; letter-spacing:-.048em; margin:0 0 24px; }
.ob-welcome h1 em { font-weight:400; }
.ob-welcome-copy > p { color:#62534e; max-width:34ch; line-height:1.65; font-size:clamp(15px,1.25vw,18px); }
.ob-welcome-copy > small { font-size:12px; line-height:1.5; color:#6b5954; display:block; margin-top:20px; }
.ob-welcome-actions { margin-top:28px; display:flex; align-items:flex-start; flex-direction:column; gap:11px; }
.ob-welcome-actions .primary { min-height:48px; padding:13px 18px; }
.ob-welcome-image { position:relative; min-height:100%; }
.ob-welcome-image img { position:absolute; width:100%; height:100%; inset:0; object-fit:cover; object-position:54% center; }
.ob-shell { max-width:720px; margin:clamp(26px,4vw,66px) auto 34px; padding:clamp(22px,4.2vw,52px); border:1px solid var(--line,#dcd8ce); border-radius:16px; background:var(--panel,#fffdf9); }
.ob-shell h1 { font:400 clamp(37px,4.2vw,57px)/1.02 var(--serif,Georgia,serif); letter-spacing:-.038em; margin:13px 0; color:var(--wine,#713744); overflow-wrap:break-word; }
[data-ob-heading]:focus { outline:0; }
.ob-intro,.ob-help,.ob-budget p { font-size:15px; line-height:1.6; color:#625f56; }
.ob-intro { margin-bottom:23px; }
.ob-meta { display:flex; align-items:center; gap:9px; color:#73594f; font:650 11px/1.35 var(--sans,Arial,sans-serif); letter-spacing:1px; text-transform:uppercase; }
.ob-bars { display:flex; gap:3px; width:min(130px,32%); margin-left:auto; }
.ob-bars i { flex:1; height:4px; border-radius:8px; background:#e5ddd5; }
.ob-bars i.passed { background:var(--wine,#713744); }
.ob-legal-card { border:1px solid var(--line,#dedbd4); border-radius:10px; padding:16px; margin:10px 0; }
.ob-legal-card > div { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:13px; }
.ob-legal-card h2 { font-size:23px; letter-spacing:-.025em; }
.ob-legal-card > label,.ob-stage-option,.ob-chips label { cursor:pointer; }
.ob-legal-card > label { display:flex; gap:8px; align-items:flex-start; font-size:14px; line-height:1.5; }
.ob-nav { display:flex; justify-content:space-between; align-items:center; gap:15px; border-top:1px solid var(--line,#dedbd4); margin-top:26px; padding-top:19px; }
.ob-nav .primary { min-height:44px; }
.ob-fields,.ob-field { display:grid; min-width:0; }
.ob-fields { gap:19px; }
.ob-grid,.ob-stages { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.ob-field { gap:6px; font-size:13px; font-weight:600; line-height:1.4; }
.ob-field input,.ob-field select { width:100%; min-width:0; font-weight:400; font-size:15px; }
.ob-group { min-width:0; border:0; padding:0; margin:0; }
.ob-group legend { font:650 13px/1.45 var(--sans,Arial,sans-serif); margin:0 0 9px; padding:0; }
.ob-stage-option,.ob-chips label { position:relative; display:flex; }
.ob-stage-option input,.ob-chips input { opacity:0; position:absolute; width:1px; height:1px; margin:0; }
.ob-stage-option span,.ob-chips label span { display:flex; gap:8px; align-items:center; border:1px solid #d7cfc5; border-radius:8px; background:#fffdf9; color:#4f4742; font-size:13.5px; line-height:1.4; }
.ob-stage-option span { padding:12px; width:100%; min-height:46px; }
.ob-stage-option:last-child { grid-column:1/-1; }
.ob-stage-option input:checked + span,.ob-chips input:checked + span { background:#f4e6df; color:#63333e; border-color:#956471; box-shadow:inset 0 0 0 .5px #956471; }
.ob-stage-option input:focus-visible + span,.ob-chips input:focus-visible + span { outline:3px solid #9c5e70; outline-offset:3px; }
.ob-budget { background:#f0f0e8; border-radius:10px; padding:14px 16px; }
.ob-budget input { max-width:16rem; }
.ob-budget p,.ob-help { font-size:12.5px; margin-top:7px; }
.ob-chips { display:flex; flex-wrap:wrap; gap:7px; }
.ob-chips label span { border-radius:18px; min-height:36px; padding:7px 12px; }
.ob-chips label input:checked + span::before { content:'✓'; font-weight:700; }
.ob-recap { margin:0; }
.ob-recap > div { display:grid; grid-template-columns:1fr 1.3fr; gap:16px; margin:0; padding:11px 0; border-bottom:1px solid var(--line,#dedbd4); font-size:14px; }
.ob-recap dt { color:#70665c; }
.ob-recap dd { margin:0; text-align:right; overflow-wrap:anywhere; }
.ob-next { padding:16px; border-radius:10px; background:#eef0e7; }
.ob-next > span { display:flex; gap:8px; align-items:center; color:#46543b; font-size:13px; font-weight:650; }
.ob-next p { font-size:14px; line-height:1.55; margin-top:7px; }
.ob-error { color:#8c3436; font-size:13px; margin-top:15px; }
@media(max-width:760px) {
  .ob-welcome { grid-template-columns:1fr 1fr; }
  .ob-welcome-copy { padding:25px; }
  .ob-welcome h1 { font-size:clamp(44px,7vw,65px); }
}
@media(max-width:600px) {
  .ob-welcome { display:flex; flex-direction:column-reverse; min-height:0; margin-top:19px; border-radius:12px; }
  .ob-welcome-image { min-height:0; height:clamp(155px,29vh,235px); }
  .ob-welcome-image img { object-position:50% 55%; }
  .ob-welcome-copy { align-self:stretch; padding:26px 23px; }
  .ob-welcome h1 { font-size:clamp(44px,10.5vw,60px); margin-bottom:14px; }
  .ob-welcome h1 br { display:none; } .ob-welcome h1 em::before { content:' '; }
  .ob-welcome-copy > p { max-width:42ch; font-size:14px; }
  .ob-welcome-actions { margin-top:18px; }
  .ob-welcome-copy > small { margin-top:12px; font-size:11.5px; }
  .ob-shell { padding:22px 16px; margin-top:18px; border-radius:11px; }
  .ob-shell h1 { font-size:39px; }
  .ob-grid { grid-template-columns:1fr; }
  .ob-stages { gap:8px; }
  .ob-stage-option span { padding:9px; font-size:12.5px; }
  .ob-legal-card { padding:13px; }
}
