.form-page { min-height: calc(100vh - 28px); }
.form-layout, .status-layout { display:grid; grid-template-columns:minmax(260px,.55fr) minmax(0,1.45fr); gap:34px; align-items:start; }
.form-intro { position:sticky; top:28px; padding:34px 10px 20px 0; }
.form-intro h1 { font-size:clamp(48px,6vw,86px); }
.form-intro p:last-child { color:var(--muted); line-height:1.7; max-width:430px; }
.form-card { border:1px solid var(--line); border-radius:var(--radius-lg); background:rgba(255,255,255,.72); padding:clamp(18px,3vw,34px); }
fieldset { border:0; padding:0; margin:0 0 34px; }
legend { width:100%; display:flex; align-items:center; gap:12px; padding-bottom:14px; margin-bottom:18px; border-bottom:1px solid var(--line); font-weight:800; }
legend span { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:var(--navy); color:#fff; font-size:11px; }
.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.field { display:grid; gap:8px; color:var(--navy); font-size:13px; font-weight:700; }
.field--wide { grid-column:1/-1; }
.field small { color:var(--muted); font-weight:500; }
input, select { width:100%; min-height:50px; padding:12px 14px; border:1px solid var(--line); border-radius:13px; background:#fffdf9; color:var(--navy); font:inherit; outline:none; }
input:focus, select:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(183,95,60,.1); }
select:disabled { opacity:.62; cursor:not-allowed; }
.submit-button, .primary-button { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:54px; padding:14px 22px; border:0; border-radius:999px; background:var(--accent); color:#fff; font:inherit; font-weight:800; cursor:pointer; }
.submit-button { width:100%; }
.submit-button:hover, .primary-button:hover { background:var(--accent-dark); }
.notice { margin-bottom:22px; padding:18px 20px; border-radius:16px; line-height:1.55; }
.notice p { margin:8px 0; }
.notice ul { margin:10px 0 0; padding-left:20px; }
.notice--error { background:#fff1ef; border:1px solid #e8b4aa; color:#7e2d20; }
.notice--success { background:#eef8ef; border:1px solid #b7d9bb; color:#215b2a; }
.status-form { display:grid; grid-template-columns:1fr auto; gap:14px; align-items:end; margin-bottom:24px; }
.status-form .submit-button { width:auto; }
.result-card { padding:24px; border-radius:20px; background:var(--navy); color:#fff; }
.result-card h2 { margin:16px 0 22px; font-family:"Playfair Display",Georgia,serif; font-size:34px; }
.status-badge { display:inline-flex; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.14); font-size:12px; font-weight:800; }
dl { margin:0; display:grid; gap:12px; }
dl div { display:grid; grid-template-columns:150px 1fr; gap:16px; padding-top:12px; border-top:1px solid rgba(255,255,255,.16); }
dt { color:rgba(255,255,255,.65); font-size:12px; } dd { margin:0; font-weight:700; }
@media(max-width:900px){.form-layout,.status-layout{grid-template-columns:1fr}.form-intro{position:static;padding:10px 0}.form-intro h1{font-size:54px}}
@media(max-width:620px){.field-grid{grid-template-columns:1fr}.field--wide{grid-column:auto}.status-form{grid-template-columns:1fr}.status-form .submit-button{width:100%}dl div{grid-template-columns:1fr;gap:4px}}
