/* Public intake: mobile layouts from the three approved mockups. */
body.signup-body{margin:0;padding:32px 16px;background:#f6f4eb;font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;color:#293a31;color-scheme:light}
#school-signup{--signup-paper:#fffdf8;--signup-ink:#293a31;--signup-muted:#657066;--signup-line:#dddfd4;--signup-soft:#eef1e7;--signup-accent:#3f624d;--signup-button:#f2b99b;--brand-sage:#73815b;--brand-ink:#2c3b30;--brand-clay-deep:#9f563e;--brand-ochre:#b68a36;--brand-clay:#b87157;max-width:580px;margin:0 auto;color:var(--signup-ink)}
#school-signup *{box-sizing:border-box}
#school-signup [hidden]{display:none!important}
#school-signup .signup-nojs-label{display:none}
#school-signup button,#school-signup input,#school-signup textarea,#school-signup select{font:inherit}
#school-signup button{cursor:pointer;touch-action:manipulation}
#school-signup .window{background:var(--signup-paper);border:1px solid var(--signup-line);border-radius:22px;overflow:hidden;box-shadow:0 8px 30px #37412e08}
#school-signup .brandbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 26px}
#school-signup .brand{display:flex;align-items:center;gap:12px}
#school-signup .brand-logo{display:block;flex:none;width:58px;height:58px}
#school-signup .brand-name{font:400 18px/1.15 Georgia,'Times New Roman',serif;letter-spacing:-.3px;color:#2c3b30}
#school-signup .stamp{font-size:12px;color:var(--signup-muted)}
#school-signup .intro{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:8px;margin:0 16px;padding:22px;background:var(--signup-soft);border-radius:18px}
#school-signup .intro-copy{min-width:0}
#school-signup .eyebrow{display:block;font-size:11px;letter-spacing:1.1px;text-transform:uppercase;color:var(--signup-accent)}
#school-signup h2{font-size:29px;line-height:1.13;font-weight:500;letter-spacing:-.8px;margin:7px 0 10px}
#school-signup .intro p{font-size:13px;line-height:1.5;margin:0;color:var(--signup-muted)}
#school-signup .intro-art{width:160px;max-width:112%;height:130px;object-fit:contain;justify-self:center}
#school-signup .intro .inviter-note{grid-column:1/-1;margin-top:10px;font-size:12px}
#school-signup .main{padding:24px 28px}
#school-signup .progress-heading{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--signup-muted)}
#school-signup .steps{display:flex;gap:6px;margin:0 0 12px}
#school-signup .step{position:relative;flex:1;min-width:0;min-height:44px;border:0;background:transparent;color:var(--signup-accent)}
#school-signup .step:after{content:'';display:block;height:4px;border-radius:4px;background:var(--signup-line)}
#school-signup .step[aria-current=step]:after,#school-signup .step.complete:after{background:var(--signup-accent)}
#school-signup .step span{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
#school-signup h3{font-size:22px;line-height:1.25;font-weight:500;letter-spacing:-.5px;margin:0 0 22px}
#school-signup .section{margin-bottom:22px}
#school-signup .grid{display:grid;grid-template-columns:minmax(0,1fr);gap:17px}
#school-signup .field{display:flex;flex-direction:column;gap:7px;min-width:0}
#school-signup .label,#school-signup legend{font-size:13px;font-weight:500}
#school-signup .optional{font-size:12px;font-weight:400;color:var(--signup-muted)}
#school-signup input:not([type=checkbox]):not([type=hidden]),#school-signup select,#school-signup textarea{width:100%;min-width:0;max-width:100%;min-height:48px;border:1px solid var(--signup-line);background:#fff;color:var(--signup-ink);border-radius:11px;padding:12px;font-size:16px;line-height:1.3}
#school-signup input[readonly]{background:var(--signup-soft);color:var(--signup-ink);opacity:1;cursor:not-allowed}
#school-signup input::placeholder,#school-signup textarea::placeholder{color:#7d827b;opacity:1;font-size:14px}
#school-signup textarea{min-height:82px;resize:vertical}
#school-signup input:focus-visible,#school-signup select:focus-visible,#school-signup textarea:focus-visible,#school-signup button:focus-visible,#school-signup summary:focus-visible,#school-signup a:focus-visible{outline:2px solid var(--signup-accent);outline-offset:3px}
#school-signup .contact-list{display:grid;gap:9px}
#school-signup .contact-row{display:grid;grid-template-columns:130px minmax(0,1fr) 44px;align-items:center;gap:7px}
#school-signup .contact-row:has(.contact-remove[hidden]){grid-template-columns:130px minmax(0,1fr)}
#school-signup .contact-row select{font-size:14px;padding-left:9px;padding-right:5px}
#school-signup .contact-remove{border:0;background:transparent;color:var(--signup-muted);min-height:44px;min-width:44px;padding:5px;font-size:23px}
#school-signup .contact-add{align-self:flex-start;min-height:44px;background:transparent;border:0;padding:10px 0;color:var(--signup-accent);font-size:13px}
#school-signup fieldset{min-width:0;border:0;padding:0;margin:0}
#school-signup legend{padding:0;margin-bottom:10px}
#school-signup .choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
#school-signup .choice{display:flex;align-items:center;gap:8px;min-height:46px;border:1px solid var(--signup-line);border-radius:10px;background:#fff;padding:10px;font-size:13px;cursor:pointer;overflow-wrap:anywhere}
#school-signup .choice:has(input:checked){background:var(--signup-soft);border-color:var(--signup-accent)}
#school-signup input[type=checkbox]{width:18px;height:18px;flex:none;accent-color:var(--signup-accent);margin:0}
#school-signup details{border-top:1px solid var(--signup-line);margin-top:8px}
#school-signup summary{min-height:44px;padding:12px 0;cursor:pointer;color:var(--signup-accent);font-size:13px}
#school-signup details p{font-size:12px;color:var(--signup-muted)}
#school-signup .optional-details{margin:0}
#school-signup .optional-details[open]{padding-bottom:12px}
#school-signup .consent{display:flex;align-items:flex-start;gap:10px;min-height:44px;margin-top:22px;font-size:12px;line-height:1.5;cursor:pointer}
#school-signup .consent input{margin-top:3px}
#school-signup .footer{display:flex;flex-direction:column;align-items:stretch;gap:7px;margin-top:22px}
#school-signup .primary{display:block;position:relative;width:100%;min-height:52px;padding:13px 42px 13px 16px;border:0;border-radius:12px;background:var(--signup-button);color:#342d26;text-align:left;font-size:16px;font-weight:500}
#school-signup .primary:after{content:'→';position:absolute;right:17px}
#school-signup .primary:disabled{opacity:.65;cursor:wait}
#school-signup .back{align-self:flex-start;border:0;background:transparent;color:var(--signup-muted);min-height:44px;padding:10px 0;font-size:13px}
#school-signup .footnote{display:block;text-align:center;font-size:11px;color:var(--signup-muted);margin-top:3px}
#school-signup .error,#school-signup .errorlist{color:#a13025;font-size:13px}
#school-signup .errorlist{margin:4px 0;padding-left:18px}
#school-signup .result{text-align:center;padding:12px 0 26px}
#school-signup .result-art{display:block;width:240px;max-width:100%;height:150px;margin:0 auto 25px;object-fit:contain}
#school-signup .result p{color:var(--signup-muted)}
#school-signup .result a{display:inline-block;min-height:44px;margin-top:16px;color:var(--signup-accent)}
#school-signup[data-design=album]{--signup-soft:#eeedf5;--signup-accent:#675d8a;--signup-button:#d8d0ed;--signup-line:#e0dce8;--signup-paper:#fffefa;--signup-ink:#383348;--signup-muted:#736d7d}
#school-signup[data-design=album] .intro{border-radius:5px 22px 22px 22px;background:linear-gradient(135deg,#f4efe3,#eeedf5)}
#school-signup[data-design=album] .step:after{height:8px}
#school-signup[data-design=album] .step:nth-child(2):not([aria-current]):not(.complete):after{background:#d5ddc7}
#school-signup[data-design=album] .step:nth-child(3):not([aria-current]):not(.complete):after{background:#efd0b7}
#school-signup[data-design=album] .primary{border-radius:8px 18px 18px 18px}
#school-signup[data-design=gallery]{--signup-soft:#edf1e7;--signup-accent:#4f6755;--signup-button:#dbe5d2;--signup-paper:#fafbf6;--signup-line:#dbe0d3}
#school-signup[data-design=gallery] .intro{margin:0;border-radius:0;padding:22px 28px;border-top:1px solid var(--signup-line);border-bottom:1px solid var(--signup-line)}
#school-signup[data-design=gallery] .window{border-radius:14px}
#school-signup.promo-error-page{max-width:980px;--peach:#f3d5bf;--arch:#e9bea0;--sun:#e4cf8e;--sage:#a4b18c;--leaf:#8f9f73;--clay:#c98e71;--terracotta:#b8795c;--cream:#fff9ec;--wood:#b89a6e;--ochre:#b98c43}
#school-signup.promo-error-page .stamp{display:none}
#school-signup.promo-error-page .brandbar{padding:22px 30px 8px}
#school-signup .promo-error-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.14fr);align-items:center;padding:8px 22px 30px 32px}
#school-signup .promo-error-message{min-width:0;padding:16px 0}
#school-signup .promo-error-message h2{max-width:350px;margin:0 0 22px;font:400 34px/1.15 Georgia,'Times New Roman',serif;letter-spacing:-1px;text-wrap:balance}
#school-signup .promo-error-continue{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:8px 0;color:var(--signup-accent);font-size:14px;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
#school-signup .promo-error-art{display:block;width:100%;height:auto}
#school-signup.promo-landing-page{max-width:980px}
#school-signup.promo-landing-page .stamp{display:none}
#school-signup.promo-landing-page .brandbar{padding:22px 30px 8px}
#school-signup .promo-landing-content{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:center;padding:8px 22px 30px 32px}
#school-signup .promo-landing-message{min-width:0;padding:16px 0}
#school-signup .promo-landing-message h2{max-width:360px;margin:8px 0 16px;font:400 34px/1.15 Georgia,'Times New Roman',serif;letter-spacing:-1px;text-wrap:balance}
#school-signup .promo-landing-message p{max-width:390px;margin:0;color:var(--signup-muted);font-size:14px}
#school-signup .promo-landing-message strong{color:var(--signup-ink);font-weight:600}
#school-signup .promo-landing-action{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-width:240px;min-height:52px;margin-top:24px;padding:13px 16px;border-radius:12px;background:var(--signup-button);color:#342d26;text-decoration:none;font-size:16px;font-weight:500}
#school-signup .promo-landing-art{display:block;width:100%;height:auto}
#school-signup .studio-contacts{border-top:1px solid var(--signup-line);text-align:left}
#school-signup.promo-error-page .studio-contacts{margin:0 32px;padding:24px 0 28px}
#school-signup.promo-landing-page .studio-contacts{margin:0 32px;padding:24px 0 28px}
#school-signup.thanks-page .studio-contacts{padding:22px 0 2px}
#school-signup .studio-contacts h2{margin:0 0 12px;font-size:18px;font-weight:500;letter-spacing:0}
#school-signup .studio-contacts a{color:var(--signup-accent);text-underline-offset:4px}
#school-signup .studio-contact-phone{display:inline-flex;align-items:center;min-height:44px;font-size:18px}
#school-signup .studio-contact-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
#school-signup .studio-contact-links a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 12px;border:1px solid var(--signup-line);border-radius:10px;background:var(--signup-soft);font-size:13px;text-decoration:none}
#school-signup .studio-contact-links a:hover{border-color:var(--signup-accent)}
#school-signup .studio-contact-links img{display:block;width:24px;height:24px;object-fit:contain;flex:none}
#school-signup .studio-contacts a:focus-visible{outline:2px solid var(--signup-accent);outline-offset:4px}
@media(max-width:560px){
 #school-signup.promo-landing-page .brandbar,
 #school-signup.promo-error-page .brandbar{padding:20px 22px 0}
 #school-signup .promo-landing-content,
 #school-signup .promo-error-content{grid-template-columns:minmax(0,1fr);padding:4px 22px 24px}
 #school-signup .promo-landing-art,
 #school-signup .promo-error-art{grid-row:1;max-width:390px;justify-self:center}
 #school-signup .promo-landing-message,
 #school-signup .promo-error-message{text-align:center;padding:6px 0 0}
 #school-signup .promo-landing-message h2,
 #school-signup .promo-error-message h2{font-size:29px;margin:0 auto 12px;max-width:330px}
 #school-signup .promo-landing-message .eyebrow{margin-bottom:8px}
 #school-signup .promo-landing-message p{margin:0 auto}
 #school-signup .promo-landing-action{width:100%;min-width:0;text-align:left}
 #school-signup.promo-landing-page .studio-contacts,
 #school-signup.promo-error-page .studio-contacts{margin:0 22px;padding:22px 0}
}
@media(max-width:540px){
 body.signup-body{padding:10px 8px}
 #school-signup .brandbar{padding:16px 20px}
 #school-signup .brand-logo{width:54px;height:54px}
 #school-signup .stamp{display:none}
 #school-signup .intro{grid-template-columns:minmax(0,1fr) 104px;gap:0;margin:0 14px;padding:18px 15px}
 #school-signup h2{font-size:25px}
 #school-signup .intro p{font-size:12px}
 #school-signup .intro-art{width:130px;max-width:130%;height:115px}
 #school-signup .main{padding:22px}
 #school-signup .contact-row,#school-signup .contact-row:has(.contact-remove[hidden]){grid-template-columns:112px minmax(0,1fr)}
 #school-signup .contact-row:has(.contact-remove:not([hidden])){grid-template-columns:minmax(0,1fr) 44px}
 #school-signup .contact-row:has(.contact-remove:not([hidden])) select,#school-signup .contact-row:has(.contact-remove:not([hidden])) input{grid-column:1}
 #school-signup .contact-row .contact-remove{grid-column:2;grid-row:1/3}
 #school-signup[data-design=gallery] .intro{padding:20px 22px;grid-template-columns:minmax(0,1fr) 100px}
 #school-signup[data-design=gallery] h2{font-size:24px}
 #school-signup[data-design=gallery] .intro-art{width:140px;max-width:140%;height:126px}
}
@media(max-width:350px){
 #school-signup .main{padding:20px 16px}
 #school-signup .brandbar{padding:16px}
 #school-signup .intro{grid-template-columns:minmax(0,1fr) 86px}
 #school-signup h2{font-size:23px}
 #school-signup .intro-art{width:108px;height:108px}
 #school-signup .contact-row,#school-signup .contact-row:has(.contact-remove[hidden]){grid-template-columns:103px minmax(0,1fr)}
 #school-signup .contact-row:has(.contact-remove:not([hidden])){grid-template-columns:minmax(0,1fr) 44px}
}
