.flow-shell{width:min(980px,calc(100% - 40px));margin:auto;padding:64px 0 110px}.flow-head{max-width:720px;margin-bottom:38px}.flow-head h1,.portal-v3 h1{font:500 clamp(52px,7vw,92px)/.9 Fraunces,serif;letter-spacing:-.07em;margin:0}.flow-head h1 em,.portal-v3 h1 em{color:var(--clay)}.flow-head>p:last-child{max-width:590px;color:var(--muted);font-size:17px}.progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 18px}.progress span{padding:11px 4px;border-bottom:2px solid var(--line);color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.progress span.active{border-color:var(--clay);color:var(--ink)}.flow-step{display:none;background:#fff;border:1px solid var(--line);padding:30px}.flow-step.active{display:block}.flow-step h2{font:500 34px/1.05 Fraunces,serif;margin:0 0 8px}.flow-step>p{color:var(--muted);margin:0 0 24px}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.choice{position:relative;display:flex;min-height:126px;padding:18px;border:1px solid var(--line);cursor:pointer;flex-direction:column;justify-content:flex-end}.choice input{position:absolute;opacity:0}.choice:has(input:checked){border-color:var(--clay);background:#f8eee9;box-shadow:inset 0 0 0 1px var(--clay)}.choice b{font:500 24px/1 Fraunces,serif}.choice small{color:var(--muted);margin-top:7px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{font-size:12px;font-weight:700;color:var(--muted)}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{display:block;width:100%;min-height:51px;margin-top:7px;padding:12px 42px 12px 13px;border:1px solid var(--line);background:#fff;color:var(--ink);font:14px DM Sans,sans-serif}.field textarea{padding-right:13px;resize:vertical}.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 18px) 22px,calc(100% - 12px) 22px;background-size:6px 6px;background-repeat:no-repeat}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #c66d4d2e;border-color:var(--clay)}.flow-nav{display:flex;justify-content:space-between;gap:10px;margin-top:26px}.flow-nav button{margin:0}.flow-nav .quiet{background:transparent;color:var(--ink)}.confirmation{background:#edf3ea;border:1px solid #aec0a8;padding:28px}.confirmation h2{font:500 34px Fraunces,serif;margin:0 0 8px}.confirmation a{font-weight:700;border-bottom:1px solid currentColor}.portal-v3{padding:68px 0 110px}.portal-top{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:22px}.portal-top a{font-weight:600;border-bottom:1px solid currentColor;padding-bottom:4px}.portal-v3 .intro{max-width:600px;margin:28px 0 42px}.portal-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.portal-card{background:#fff;padding:28px;border:1px solid var(--line)}.portal-card.wide{grid-column:1/-1}.portal-card h2{font:500 31px/1.05 Fraunces,serif;margin:8px 0 18px}.portal-card p{color:var(--muted)}.portal-card small{color:var(--clay);font-weight:700;text-transform:uppercase;letter-spacing:.12em}.fact-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}.fact{background:var(--paper);padding:13px}.fact span{display:block;color:var(--muted);font-size:11px}.fact b{display:block;margin-top:3px}.favorite-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.favorite{border-top:1px solid var(--line);padding-top:12px}.empty{padding:24px;border:1px dashed var(--line);color:var(--muted)}.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px}.timeline span{padding:12px;border-top:2px solid var(--line);color:var(--muted);font-size:12px}.timeline span:first-child{border-color:var(--clay);color:var(--ink);font-weight:700}.portal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.portal-actions a,.portal-actions button{display:inline-flex;margin:0;padding:12px 15px;border:1px solid var(--ink);font-weight:700}.portal-actions button{background:transparent;color:var(--ink)}@media(max-width:700px){.flow-shell{width:calc(100% - 28px);padding:44px 0 76px}.progress{gap:3px}.progress span{font-size:9px}.flow-step{padding:20px}.choice-grid,.field-grid,.portal-grid,.favorite-list,.timeline{grid-template-columns:1fr}.field.full,.portal-card.wide{grid-column:auto}.portal-v3{padding:44px 0 76px}.portal-top{display:block}.portal-top a:last-child{display:none}.fact-list{grid-template-columns:1fr 1fr}}
