/* One tall, playful footer composition on desktop and mobile. */
.footer.wrap{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;min-height:clamp(620px,80svh,820px);max-height:none;padding:32px;overflow:hidden}
.footer .brand{width:clamp(250px,23vw,380px);max-width:100%;align-self:flex-start;flex:none;margin:0}
.footer .footer-links{align-self:auto;justify-content:center;align-items:center;gap:14px 26px;width:100%;margin:0;padding-top:20px;border-top:1px solid color-mix(in srgb,var(--footer-ink) 18%,transparent);font-size:13px;flex:none}
.footer .footer-crew{width:min(480px,100%);height:48px;margin:16px auto 0;flex:none}
.footer .footer-crew img{max-width:36px;height:42px}
.footer small{margin-top:12px;text-align:center;font-size:10px;letter-spacing:.04em;flex:none}
.footer-sketch{flex:1;min-height:230px;display:flex;flex-direction:column;margin:22px 0;color:var(--footer-ink)}
.sketch-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px}
.sketch-heading h2{font-size:17px;line-height:1.4;letter-spacing:-.025em}
.sketch-heading p{font-size:10px;line-height:1.5;color:var(--footer-muted);text-align:right}
.sketch-surface{position:relative;flex:1;min-height:135px;margin-top:10px}
#team-sketch{display:block;width:100%;height:100%;min-height:135px;position:absolute;inset:0;touch-action:none;cursor:crosshair;border:0;outline-offset:2px;border-radius:8px}
.sketch-hint{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-size:13px;color:var(--footer-muted);pointer-events:none;opacity:.65}
.sketch-surface.has-drawing .sketch-hint{display:none}
.sketch-toolbar{display:flex;align-items:center;gap:14px;min-height:44px;margin-top:10px;flex:none}
.sketch-palette{display:flex;gap:10px;align-items:center}
.sketch-colour{width:32px;height:32px;padding:7px;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--footer-ink);display:grid;place-items:center;transition:none}
.sketch-colour::after{content:'';width:16px;height:16px;border-radius:50%;background:var(--footer-ink)}
.sketch-colour[data-sketch-colour=violet]::after{background:#6945ed}.sketch-colour[data-sketch-colour=orange]::after{background:#f06522}
.sketch-colour[aria-pressed=true]{border-color:var(--footer-ink)}
.sketch-tools{display:flex;gap:16px;margin-left:6px}
.sketch-tool{font-size:11px;background:transparent;color:var(--footer-ink);padding:10px 0;transition:none}
.sketch-tool:disabled{opacity:.35;cursor:default}
.footer-sketch .sketch-done{margin-left:auto;min-height:44px;background:var(--footer-ink);color:var(--footer-bg);font-size:12px;padding:6px 6px 6px 20px;gap:18px}
.footer-sketch .sketch-done .arrow{width:32px;height:32px}
.sketch-status{font-size:10px;line-height:1.5;min-height:15px;margin:8px 0 0;color:var(--footer-muted)}
.team-form{height:100%;min-height:0;width:100%;display:flex;flex-direction:column;gap:0;overflow:hidden}
.team-progress{grid-template-columns:repeat(2,minmax(0,1fr));flex:none}
.team-form .brief-top{flex:none}
.team-step{border:0;padding:0;margin:0;min-width:0}
.team-step:focus{outline:none}
.contact-panel .team-step legend{color:var(--ink);font-size:30px;letter-spacing:-.045em;line-height:1.2;margin-bottom:12px}
.team-fields{display:grid;gap:22px}
.team-fields label{display:grid;gap:10px;font-size:12px}
.team-optional{display:inline;color:var(--muted);font-size:10px}
.team-form select{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink);font:inherit;font-size:15px;outline:none}
.team-form select:focus{border-color:var(--amber)}
.team-drawing-box{display:grid;grid-template-columns:140px minmax(0,1fr);gap:20px;align-items:center;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.team-drawing-preview{display:block;width:100%;height:100px;object-fit:contain;border:1px solid var(--line);border-radius:12px}
.team-edit-drawing{display:block;padding:8px 0;margin-top:8px;font-size:11px;background:transparent;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.contact-panel .team-check{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.65;color:var(--ink)}
.contact-panel .team-check input[type=checkbox]{appearance:auto;position:static;opacity:1;width:16px;height:16px;margin:3px 0 0;flex:none;accent-color:var(--amber)}
.team-review-drawing{height:140px;margin-top:18px}
.team-consent{margin-top:22px}
.team-delivery-note{font-size:11px;line-height:1.7;margin-top:16px}
.team-controls{display:flex;align-items:center;gap:12px;padding-top:18px;min-height:62px;flex:none}
.team-controls #team-back{font-size:12px;min-height:44px;padding:12px 20px;margin-right:auto}
.team-controls #team-next{margin-left:auto;font-size:12px;padding-left:18px;gap:16px}
.team-controls .arrow{width:34px;height:34px}
.team-controls #team-download{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);padding:10px}
.team-controls #team-download svg{width:21px;height:21px;fill:currentColor}
.team-result{font-size:13px;line-height:1.6;margin-top:18px;color:var(--ink)}
.team-controls button:disabled{cursor:wait;opacity:.6}
.team-panel .brief-form .form-note{order:initial}
@media(max-width:809px){.footer.wrap{width:calc(100% - 40px);min-height:clamp(520px,80svh,760px);padding:28px}.footer .brand{width:250px}.footer .footer-links{font-size:13px;gap:10px 22px}.footer .footer-crew{height:42px}.footer small{font-size:10px}.footer-sketch{margin:18px 0;min-height:210px}.sketch-heading{display:block}.sketch-heading h2{font-size:16px}.sketch-heading p{font-size:10px;text-align:left;margin-top:5px}.sketch-surface,#team-sketch{min-height:115px}.sketch-toolbar{gap:10px}.sketch-palette{gap:4px}.sketch-tools{gap:12px;margin-left:0}.sketch-tool{font-size:10px}.footer-sketch .sketch-done{padding-left:15px;gap:12px}.sketch-status{font-size:9px}.team-drawing-box{grid-template-columns:100px minmax(0,1fr);gap:14px}}
@media(max-width:600px){.contact-panel .team-step legend{font-size:26px}.team-form select{font-size:16px}.team-controls{gap:8px}.team-controls #team-back{padding:12px 16px}.team-controls #team-next{font-size:11px;gap:10px;padding-left:14px}.team-drawing-box{grid-template-columns:1fr}.team-drawing-preview{height:110px}}
/* Short screens use normal document flow so no part of the interactive footer is trapped. */
@media(max-height:720px){.has-reveal-footer body{padding-bottom:0}.has-reveal-footer .footer.wrap{position:relative;left:auto;bottom:auto;transform:none;margin:20px auto;max-height:none;min-height:600px}}
@media(max-width:809px){.sketch-colour{width:28px;height:28px;padding:5px}.sketch-palette{gap:2px}.sketch-toolbar{gap:8px}.sketch-tools{gap:10px}}

/* Keep the invitation quiet; reveal editing and application actions only after drawing. */
.sketch-heading{display:block;text-align:center}
.sketch-heading h2{font-size:13px;font-weight:400;letter-spacing:-.015em;color:var(--footer-muted)}
.sketch-heading p{font-size:10px;text-align:center;margin-top:6px}
.sketch-toolbar{margin-top:0}
.sketch-toolbar[hidden],.sketch-done[hidden],#sketch-privacy[hidden]{display:none!important}
.sketch-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.sketch-tools{margin-left:0}
@media(max-width:809px){.sketch-heading h2{font-size:12px}.sketch-heading p{text-align:center;font-size:9px}}

/* A quiet invitation centered on the canvas, replaced by the drawing. */
.sketch-surface{margin-top:0}
.sketch-surface .sketch-heading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:20px;pointer-events:none}
.sketch-surface .sketch-heading p{margin:0;max-width:340px;line-height:1.6}
.sketch-surface.has-drawing .sketch-heading{visibility:hidden}
#team-sketch:focus,#team-sketch:focus-visible{outline:none;box-shadow:none}
.sketch-toolbar[hidden]{display:flex!important;visibility:hidden;pointer-events:none}
.footer-sketch .sketch-done{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;gap:0;border-radius:50%;background:var(--footer-ink)}
.footer-sketch .sketch-done .arrow{width:44px;height:44px;background:transparent;color:var(--footer-bg)}
