/* Live form components. S18 tokens; fields and source order stay functional. */
.m3-page{padding-top:2.5rem;padding-bottom:5rem}.m3-intro{margin-bottom:2.5rem;max-width:60rem}.m3-intro h1{font-size:clamp(2.2rem,3.7vw,3.4rem);line-height:1.12;margin:.75rem 0 1.25rem}.m3-intro>p{max-width:48rem}.m3-grid{display:grid;grid-template-columns:minmax(0,780px) minmax(240px,280px);gap:clamp(3rem,5vw,5rem);align-items:start}.m3-grid>div{min-width:0}.m3-aside{border-top:1px solid var(--pm-control-border);padding-top:1.5rem}.m3-aside h2{font-size:1.9rem}.m3-aside p{font-size:1rem}.m3-aside .button{white-space:normal}.m3-notice{padding:1rem 1.25rem;background:var(--pm-notice-bg);border-left:3px solid var(--pm-accent);color:var(--pm-notice-text);font-size:.9375rem;line-height:1.65;margin-bottom:1.75rem}.m3-field{margin:0 0 2.25rem}.m3-field>label,.m3-field legend{font-weight:650;font-size:1.125rem;color:var(--pm-ink);margin-bottom:.75rem;display:block}.m3-field fieldset{border:0;padding:0;margin:0;min-width:0}.m3-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.m3-option{display:flex;align-items:center;gap:.75rem;border:1px solid var(--pm-control-border);padding:1rem;min-height:3.5rem;background:var(--pm-surface);color:var(--pm-body);cursor:pointer;font-size:1rem;line-height:1.5;border-radius:4px}.m3-option:has(input:checked){border:2px solid var(--pm-accent);padding:calc(1rem - 1px);background:var(--pm-accent-soft);color:var(--pm-ink)}.m3-option input{width:1.2rem;height:1.2rem;flex:0 0 1.2rem;accent-color:var(--pm-accent)}.m3-field input:not([type=radio]):not([type=checkbox]),.m3-field textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;border:1px solid var(--pm-control-border);background:var(--pm-surface);color:var(--pm-ink);padding:.85rem 1rem;border-radius:4px;font:inherit;font-size:1rem;line-height:1.6;min-height:3rem}.m3-field textarea{resize:vertical;min-height:7rem}.m3-help{font-size:.9375rem;color:var(--pm-muted);line-height:1.65;margin-top:.65rem}.m3-help:empty{display:none}.m3-actions{display:flex;gap:1.25rem;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:2rem 0}.m3-actions .button,.m3-form .button{white-space:normal;text-align:left;line-height:1.5}.m3-errors{padding:1.25rem;border:2px solid var(--pm-error-text);background:var(--pm-error-bg);margin-bottom:2rem}.m3-errors h2{font-size:1.6rem;margin:0 0 1rem}.m3-errors a,.m3-error{color:var(--pm-error-text)}.m3-field--error input,.m3-field--error textarea,.m3-field--error fieldset{border-color:var(--pm-error-text)}.m3-error{font-size:1rem;font-weight:600}.m3-progress{margin-bottom:2rem}.m3-progress ol{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0;padding:0}.m3-progress li{border-top:2px solid var(--pm-control-border);padding-top:.75rem;color:var(--pm-muted);font-size:.9375rem}.m3-progress span{display:block;font-size:.875rem}.m3-progress [aria-current]{border-color:var(--pm-focus);color:var(--pm-ink);font-weight:700}.m3-summary{user-select:text}.m3-summary dl{margin:0 0 2rem}.m3-summary dl>div{display:grid;grid-template-columns:minmax(150px,35%) 1fr;gap:1.25rem;padding:1rem 0;border-bottom:1px solid var(--pm-line)}.m3-summary dt{color:var(--pm-muted)}.m3-summary dd{margin:0;overflow-wrap:anywhere}.m3-summary .m3-budget{background:var(--pm-surface-subtle);padding:1.25rem}.m3-budget dd{font-size:1.4rem;color:var(--pm-ink)}.m3-signals{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:2rem 0}.m3-signals h2{font-size:1.8rem}.m3-summary>h2{font-size:2rem}.m3-contact-block{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--pm-control-border)}.m3-contact-block>h2{font-size:2.25rem}.m3-contact-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:1.5rem}.m3-contact-grid .m3-field:has(textarea),.m3-contact-grid .m3-field:has(fieldset){grid-column:1/-1}.m3-reference{overflow-wrap:anywhere}.m3-section{padding-bottom:3rem}.m3-reset{margin-top:1.5rem;max-width:48rem}.m3-reset summary{cursor:pointer;min-height:44px;padding:.5rem 0}.m3-page :focus-visible,.m3-section :focus-visible{outline:3px solid var(--pm-focus);outline-offset:4px}.m3-field[hidden]{display:none}
@media(max-width:1100px){.m3-grid{grid-template-columns:minmax(0,780px);gap:2.5rem}.m3-aside{max-width:48rem}.m3-aside .m3-notice{margin-bottom:1rem}}
@media(max-width:560px){.m3-page{padding-top:1.5rem}.m3-intro{margin-bottom:1.75rem}.m3-options,.m3-signals,.m3-contact-grid{grid-template-columns:1fr}.m3-summary dl>div{grid-template-columns:1fr;gap:.35rem}.m3-progress ol{gap:.65rem}.m3-progress li{font-size:.875rem}.m3-actions{align-items:stretch}.m3-actions>*{width:100%}.m3-option{padding:.85rem}.m3-option:has(input:checked){padding:calc(.85rem - 1px)}}
@media(prefers-reduced-motion:reduce){.m3-page *{scroll-behavior:auto;transition:none}}
@media(forced-colors:active){.m3-option:has(input:checked){border-color:Highlight}.m3-errors{border-color:CanvasText}}
.m3-field,.m3-option span,.m3-signals>section{min-width:0;overflow-wrap:anywhere}.m3-field legend{max-width:100%;overflow-wrap:anywhere}.m3-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:560px){.m3-contact-grid{grid-template-columns:minmax(0,1fr)}.m3-summary,.m3-aside{overflow-wrap:anywhere}}
.m3-summary-grid{row-gap:0}.m3-summary-grid>.m3-contact-block{grid-column:1;min-width:0}.m3-form{scroll-margin-top:1rem}
@media(max-width:1100px){.m3-summary-grid{row-gap:2.5rem}.m3-summary-grid>.m3-contact-block{margin-top:0}}
/* G1 service cards and optional platform selector. */
.g1-service-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0 2rem}.g1-service-option{display:flex;align-items:flex-start;gap:.85rem;padding:1.5rem;border:1px solid var(--pm-control-border);border-radius:4px;background:var(--pm-surface);cursor:pointer;line-height:1.65;min-width:0}.g1-service-option:has(input:checked){background:var(--pm-accent-soft);border:2px solid var(--pm-accent);padding:calc(1.5rem - 1px)}.g1-service-option input{width:1.2rem;height:1.2rem;accent-color:var(--pm-accent);flex:0 0 1.2rem;margin-top:.25rem}.g1-service-option strong,.g1-service-option small{display:block}.g1-service-option strong{font-size:1.25rem;color:var(--pm-ink);margin-bottom:.6rem}.g1-service-option small{font-size:1rem;margin-top:.6rem}.m3-field select,.g1-service-switch select{display:block;width:100%;max-width:100%;border:1px solid var(--pm-control-border);background:var(--pm-surface);color:var(--pm-ink);padding:.85rem .75rem;border-radius:4px;font:inherit;min-height:3rem;margin-block:.5rem 1rem}.g1-service-switch{margin-block:1.5rem}.g1-service-switch summary{cursor:pointer;min-height:44px;padding:.5rem 0}.g1-service-switch label{display:block}.g1-service-switch p{margin-block:1rem}.g1-service-switch .button{white-space:normal}.m3-field--error select{border-color:var(--pm-error-text)}
@media(max-width:680px){.g1-service-options{grid-template-columns:minmax(0,1fr)}}
.g1-service-options{border:0;padding:0}.g1-service-options legend{font-size:1.125rem;font-weight:600;margin-bottom:1rem}.g1-service-option>span>span{display:block}.g1-service-option>span>span:last-child{margin-top:.65rem;font-weight:600;color:var(--pm-ink)}

/* Only question steps use the two-panel layout; summaries keep their existing order. */
.an-form-step .m3-page { display:grid; grid-template-columns:minmax(250px,320px) minmax(0,1fr); gap:24px 52px; padding-block:38px 72px; }
.an-form-step .m3-progress { grid-column:1/-1; }
.an-form-step .m3-intro { grid-column:1; grid-row:2; }
.an-form-step .m3-intro h1 { font-size:clamp(2rem,3vw,2.65rem); }
.an-form-step .m3-grid { grid-column:2; grid-row:2; display:block; }
.an-form-step .m3-aside { margin-top:32px; }
.an-form-photo { display:block; width:100%; max-width:340px; height:auto; margin-top:26px; }
.an-form-photo img { display:block; width:100%; height:auto; }
.m3-field input::placeholder,.m3-field textarea::placeholder { color:var(--pm-muted); opacity:1; }
.m3-field input:autofill { color:var(--pm-ink); background:var(--pm-surface-subtle); }
.m3-progress li { border-color:var(--pm-line); }
.m3-progress [aria-current] { border-color:var(--pm-accent); }
.m3-field input,.m3-field textarea,.m3-field select { scroll-margin-block:24px; }
@media(max-width:1150px) { .an-form-step .m3-page { display:block; } }
@media(forced-colors:active) { .an-form-photo { display:none; } .m3-option:has(input:checked) { border-color:Highlight; } }
@media print { .an-form-photo { display:none; } .an-form-step .m3-page { display:block; } }
