/* Scoped launch UI, using the approved type, colour and spacing system. */
.design-prototype .lead-form { max-width:640px; margin-block:24px 0; }
.design-prototype .lead-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:16px 24px; }
.design-prototype .lead-wide { grid-column:1/-1; }
.design-prototype .lead-field label { display:block; margin-bottom:8px; font-weight:600; }
.design-prototype .lead-field label span { font-weight:400; color:var(--secondary); }
.design-prototype .lead-field input,.design-prototype .lead-field textarea { width:100%; min-height:48px; font:inherit; border:1px solid var(--secondary); border-radius:0; padding:12px; color:var(--graphite); background:var(--paper,#f5f4ef); }
.design-prototype .lead-field textarea { resize:vertical; }
.design-prototype .lead-consent { display:flex; align-items:flex-start; gap:12px; padding-block:12px; }
.design-prototype .lead-consent input { flex:none; width:24px; height:24px; margin-top:2px; accent-color:var(--graphite); }
.design-prototype .field-error { color:#8c251d; font-size:.875rem; min-height:1.5em; margin:4px 0 0; }
.design-prototype .lead-status { margin:16px 0 0; overflow-wrap:anywhere; }
.design-prototype .lead-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.design-prototype .lead-form [aria-invalid="true"] { border-color:#8c251d; }
.design-prototype .legal-links { display:flex; flex-wrap:wrap; gap:8px 24px; }
.design-prototype .legal-links a { display:inline-flex; align-items:center; min-height:44px; }
/* Floating notice; native document layout, scrolling and history stay unchanged. */
.design-prototype .cookie-panel { position:fixed; z-index:100; right:max(16px,env(safe-area-inset-right,0px)); bottom:calc(var(--notice-viewport-bottom,0px) + max(16px,env(safe-area-inset-bottom,0px))); width:calc(100% - 32px); max-width:420px; max-height:calc(var(--notice-viewport-height,100dvh) * .45); display:flex; flex-direction:column; gap:8px; overflow:auto; padding:16px; background:var(--warm); color:var(--graphite); border:1px solid var(--line); box-shadow:0 8px 24px #0002; }
.design-prototype .cookie-panel[hidden] { display:none; }
.design-prototype .cookie-panel h2 { flex:none; font-size:1rem; line-height:1.3; letter-spacing:-.025em; margin:0; }
.design-prototype .cookie-information { min-height:0; overflow:auto; }
.design-prototype .cookie-panel p { font-size:.875rem; line-height:1.45; margin:0; max-width:65ch; }
.design-prototype .cookie-panel .cookie-details { margin-top:6px; }
.design-prototype .cookie-details a { display:inline-flex; align-items:center; min-height:24px; color:var(--graphite); text-underline-offset:.2em; }
.design-prototype .cookie-details a:hover { text-underline-offset:.2em; text-decoration-thickness:2px; }
.design-prototype .cookie-actions { flex:none; display:grid; grid-template-columns:minmax(0,1fr); margin:0; }
.design-prototype .cookie-actions button { white-space:normal; min-width:0; min-height:42px; padding:8px 12px; font-size:.875rem; line-height:1.4; cursor:pointer; transform:none; }
.design-prototype .lead-submit,.design-prototype .cookie-actions [data-cookie-acknowledge] { background:color-mix(in srgb,var(--brand-accent) 80%,var(--graphite)); border-color:transparent; color:var(--white); }
.design-prototype .lead-submit:is(:hover,:active),.design-prototype .cookie-actions [data-cookie-acknowledge]:is(:hover,:active) { background:color-mix(in srgb,var(--brand-accent) 65%,var(--graphite)); border-color:transparent; color:var(--white); }
@media (prefers-reduced-motion:reduce) { .design-prototype .cookie-actions button { transition:none; } }
.design-prototype .legal-page { max-width:800px; padding-block:32px 80px; overflow-wrap:anywhere; }
.design-prototype .legal-page h1 { font-size:clamp(2rem,5vw,3.5rem); }
.design-prototype .legal-page h2 { font-size:1.5rem; margin-top:40px; }
.design-prototype .legal-page p,.design-prototype .legal-page li { max-width:75ch; }
.design-prototype .lead-result { margin-inline:auto; padding:clamp(24px,5vw,64px); }
.design-prototype .lead-result a { display:inline-flex; align-items:center; min-height:44px; color:var(--graphite); }
.design-prototype .lead-result :focus-visible { outline:3px solid var(--graphite); outline-offset:4px; }
.design-prototype .lead-form :focus-visible,.design-prototype .cookie-panel :focus-visible,.design-prototype .legal-links :focus-visible { outline:3px solid var(--graphite); outline-offset:4px; }
@media(max-width:640px) { .design-prototype .lead-grid { grid-template-columns:minmax(0,1fr); } .design-prototype .cookie-panel { left:max(12px,env(safe-area-inset-left,0px)); right:max(12px,env(safe-area-inset-right,0px)); width:auto; max-width:none; bottom:calc(var(--notice-viewport-bottom,0px) + max(12px,env(safe-area-inset-bottom,0px))); } }
/* Low landscape/keyboard viewports scroll the whole card rather than crush its copy. */
.design-prototype .cookie-panel.cookie-short-viewport { display:block; }
.cookie-short-viewport .cookie-information { overflow:visible; margin-block:8px; }

.design-prototype .lead-status:empty { display:none; }
.design-prototype .lead-submit { margin-top:16px; min-height:52px; max-width:100%; white-space:normal; transform:none; transition:background-color .15s; }
.design-prototype .lead-submit:disabled { opacity:.65; cursor:wait; }
.design-prototype .lead-consent + .field-error:empty { display:none; }
@media (prefers-reduced-motion:reduce) { .design-prototype .lead-submit { transition:none; } }

/* Home-only composition; contacts and shared field geometry stay unchanged. */
.design-prototype [data-home-form] { max-width:1040px; margin-inline:auto; grid-template-columns:minmax(0,1fr); gap:var(--space-4); align-items:start; }
.design-prototype [data-home-form] > div { min-width:0; }
.design-prototype [data-home-form] h2 { margin-bottom:var(--space-2); }
.design-prototype [data-home-form] #lead-help { margin:0; font-size:1rem; }
.design-prototype [data-home-form] .lead-form { min-width:0; max-width:none; margin:0; }
@media (min-width:64rem) {
  .design-prototype [data-home-form] { grid-template-columns:minmax(0,7fr) minmax(0,13fr); }
}
@media (max-width:40rem) { .design-prototype [data-home-form] h2 { font-size:1.5rem; } }

.design-prototype .cookie-actions [data-cookie-acknowledge]:focus-visible { outline:3px solid var(--graphite); outline-offset:4px; }
@media (forced-colors:active) { .design-prototype .cookie-actions [data-cookie-acknowledge] { border:1px solid ButtonText; } }
