.sch-shell{max-width:1200px;margin:auto;padding:132px 40px 60px;color:#f7f8fa}.sch-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;padding-bottom:26px;margin-bottom:26px;border-bottom:1px solid #282b31}.sch-heading h1{font-size:clamp(36px,4.2vw,56px);letter-spacing:-2px;font-weight:600;line-height:1.08;margin:0 0 16px}.sch-heading p{font-size:14px;color:#a2a8b3;margin:0}.sch-context{font-size:12px;color:#8b9aa7;text-align:right;line-height:1.7}.sch-shell button,.sch-shell input,.sch-shell select,.sch-shell textarea{font:inherit}.sch-shell small{font-size:11px;color:#99a8b5;display:block;font-weight:400;margin-top:5px;line-height:1.6}.sch-label{font-size:14px;margin:0 0 12px}.sch-label small{display:inline;margin-left:8px}.sch-types{display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr;gap:10px;margin-bottom:24px}.sch-type{display:flex;align-items:center;gap:12px;cursor:pointer;border:1px solid #333d47;background:#11161c;border-radius:6px;color:#e0e7ed;padding:15px;text-align:left;font-size:14px!important;min-height:70px}.sch-type svg{height:24px;width:24px;flex:none;stroke:#9aafbe;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.sch-type[aria-pressed=true]{background:#102d38;border-color:#36c0da;color:#d1f6ff}.sch-type[aria-pressed=true] svg,.sch-type[aria-pressed=true] small{color:#71cadd;stroke:#71cadd}.sch-type:focus-visible,.sch-shell :is(input,select,textarea,button,a):focus-visible{outline:2px solid #72d9ee;outline-offset:4px}.sch-extra{border:1px solid #3c6172;background:#0d202b;padding:14px;margin:-10px 0 24px;border-radius:5px}.sch-row{display:grid;gap:18px;margin-bottom:22px}.sch-three{grid-template-columns:repeat(3,1fr)}.sch-two{grid-template-columns:1fr 1.6fr}.sch-times{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);align-items:start;gap:20px}.sch-shell label{display:block;font-size:13px;color:#e0e6eb}.sch-shell label>small{margin:4px 0 8px}.sch-shell :is(input,select,textarea){background:#111115;color:#e0e4ea;border:1px solid #373b43;border-radius:5px;width:100%;min-width:0;padding:13px;min-height:47px;font-size:14px;box-sizing:border-box;color-scheme:dark}.sch-shell input:user-invalid{border-color:#f49388}.sch-shell textarea{height:128px;resize:vertical;line-height:1.7}.sch-extra input{margin-top:8px}.sch-payment{border-top:1px solid #282e36;margin-top:28px;padding-top:24px}.sch-payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.sch-drop{border:1px dashed #337789;border-radius:7px;background:#0b1a22;min-height:175px;display:flex;align-items:center;justify-content:center;text-align:center;gap:16px;padding:20px}.sch-drop.is-over{background:#133b48;border-color:#78e1f1}.sch-drop b{font-size:15px;font-weight:500;display:block}.sch-upload{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid #2b5363;flex:none;color:#38bfd9;font-size:28px}.sch-choose{background:#142b35;color:#a8e6f2;border:1px solid #3b6574;border-radius:4px;padding:9px 13px;cursor:pointer;font-size:12px!important;margin-top:12px}.sch-file{display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:12px;color:#b6dce5;margin-top:9px;overflow-wrap:anywhere}.sch-file button{flex:none;color:#92deed;border:0;background:none;text-decoration:underline;cursor:pointer}.sch-hint{font-size:11px;color:#9caebb;line-height:1.7;margin:12px 0}.sch-submit{margin-top:27px;padding-top:25px;border-top:1px solid #282b32;display:flex;justify-content:space-between;align-items:center;gap:26px}.sch-quote{font-size:14px;color:#bdc9d3}.sch-quote a{display:inline-flex;gap:8px;align-items:center;color:#82deef;font-size:16px;font-weight:600;border-bottom:1px solid #3c8190;padding-bottom:5px;margin-left:12px}.sch-send{background:#f33b2f;color:white;display:flex;align-items:center;justify-content:space-between;gap:42px;border:0;padding:19px 23px;text-transform:uppercase;font-size:12px!important;font-weight:700!important;letter-spacing:.8px;cursor:pointer;min-width:240px}.sch-send:disabled{opacity:.6;cursor:wait}.sch-send-block{text-align:right}.sch-send-block>small{font-size:10px}.sch-shell .site-arrow{width:19px;height:19px}.sch-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.sch-status{margin-top:22px;line-height:1.7;font-size:14px;color:#b6e8ed}.sch-status.error{color:#ffb2a6}.sch-pending{border:1px solid #3b6474;background:#0d202b;border-radius:8px;padding:22px;margin:24px 0;line-height:1.7}.sch-pending h2{font-size:24px;margin:0 0 8px}.sch-pending p{color:#b4c5d1;font-size:14px;margin:0 0 12px}.sch-pending button{margin-right:14px}.sch-foot{margin-top:28px;display:flex;justify-content:space-between;gap:14px;font-size:11px;color:#82909c}.sch-confirm{background:linear-gradient(140deg,#132532,#0a141e);border:1px solid #3b5a6d;border-radius:18px;box-shadow:0 30px 120px #0009;max-width:660px;width:calc(100% - 36px);padding:48px 38px;text-align:center;color:#fff}.sch-confirm::backdrop{background:#02070ddc;backdrop-filter:blur(5px)}.sch-confirm .brand{display:inline-flex;justify-content:center;margin:0 auto 32px}.sch-confirm .brand-mark{object-fit:contain}.sch-smile{width:76px;height:76px;display:block;margin:0 auto 28px;stroke:#83dfed;fill:none;stroke-width:1.5}.sch-confirm h2{font-size:46px;letter-spacing:-1.5px;line-height:1.12;margin:0 0 20px}.sch-confirm h2 span{color:#91e0e9}.sch-confirm p{font-size:23px;margin:0 0 18px}.sch-confirm .sch-summary{font-size:13px;color:#b1c5d3;line-height:1.7}.sch-got{background:#b8edf5;color:#0c232e;border:0;border-radius:6px;padding:13px 38px;font:600 14px inherit;cursor:pointer;margin-top:22px}.sch-close{position:absolute;right:20px;top:14px;background:none;border:0;color:#a9bac8;font-size:28px;cursor:pointer}.sch-shell [hidden],.sch-confirm [hidden]{display:none!important}
@media(max-width:800px){.sch-shell{padding:115px 24px 45px}.sch-heading{align-items:start}.sch-context{display:none}.sch-three{grid-template-columns:1fr}.sch-two{grid-template-columns:1fr}.sch-types{grid-template-columns:1fr 1fr}.sch-times{grid-template-columns:minmax(0,1fr)}.sch-payment-grid{grid-template-columns:1fr}.sch-submit{flex-direction:column;align-items:stretch}.sch-send{width:100%}.sch-quote a{margin-left:0}.sch-quote>span{display:block;margin-bottom:8px}.sch-send-block{text-align:left}.sch-shell :is(input,select,textarea){font-size:16px}.sch-heading h1{font-size:42px}.sch-type{padding:13px;gap:9px}.sch-type small{font-size:10px}.sch-confirm{padding:40px 22px}.sch-confirm h2{font-size:36px}.sch-confirm p{font-size:21px}.sch-foot{flex-direction:column}}
@media(prefers-reduced-motion:no-preference){.sch-confirm[open]{animation:sch-enter .2s ease-out}@keyframes sch-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}
.sch-row>label{min-width:0}
@media(max-width:360px){.sch-type{padding:10px;gap:6px;font-size:12px!important}.sch-type svg{width:20px;height:20px}}

/* Keep native iOS date/time controls inside their grid tracks. */
.sch-times>label{min-width:0}
.sch-times input{display:block;width:100%;min-width:0;max-width:100%;height:50px;appearance:none;-webkit-appearance:none;text-align:left}
.sch-times input::-webkit-date-and-time-value{min-height:1.2em;text-align:left}
.sch-times input::-webkit-datetime-edit{padding:0}
.sch-time-note{grid-column:1/-1;font-size:11px;color:#99a8b5;line-height:1.5;margin:0}
@media(max-width:800px){.sch-times>label{grid-column:1/-1}.sch-types{grid-template-columns:repeat(2,minmax(0,1fr))}}

.sch-hours{background:#10171e;border:1px solid #354a58;border-radius:8px;min-width:0;padding:18px}
.sch-hours-heading{font-size:16px;font-weight:500;line-height:1.4;margin:0 0 18px}
.sch-hours-heading small{font-size:11px;margin-top:4px;color:#99a8b5}
.sch-hours-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.sch-hours-range>label{min-width:0;grid-column:auto;font-size:12px;color:#9cacb9}
.sch-hours-range>label+label{border-left:1px solid #33444f;padding-left:17px}
.sch-times .sch-hours-range input{height:40px;min-height:40px;padding:8px 0 0;border:0;border-radius:0;background:transparent;font-size:21px;font-weight:500;color:#f1f6fa}
.sch-times .sch-hours-range input::-webkit-calendar-picker-indicator{width:16px;padding:0;margin:0 0 0 2px}
.sch-hours-total{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:1px solid #2d424e;padding-top:15px;margin-top:16px;font-size:12px;color:#a9becb}
.sch-hours-total>span{display:flex;align-items:center;gap:7px}
.sch-hours-total svg{width:16px;height:16px;stroke:#69c9dc;fill:none;stroke-width:1.5;flex:none}
.sch-hours-total output{font-size:14px;font-weight:600;color:#a6eaf4;background:#16343e;padding:5px 11px;border-radius:5px;white-space:nowrap;margin-left:auto}
.sch-time-note{grid-column:2;margin-top:-9px}
.sch-hours-error{font-size:12px;line-height:1.5;color:#ffb2a6;margin:12px 0 0}
@media(max-width:800px){.sch-time-note{grid-column:1}}
@media(max-width:360px){.sch-hours{padding:15px}.sch-times .sch-hours-range input{font-size:16px}.sch-hours-range{gap:12px}.sch-hours-range>label+label{padding-left:13px}.sch-hours-total{font-size:11px}}

/* Approved payment-help dialogs; the existing form stays unchanged. */
.sch-payment-dialog{position:fixed;box-sizing:border-box;width:calc(100% - 36px);max-width:460px;max-height:calc(100vh - 36px);max-height:calc(100dvh - 36px);overflow-y:auto;overscroll-behavior:contain;margin:auto;background:linear-gradient(145deg,#142633,#0b151f);border:1px solid #3b5a6d;border-radius:18px;padding:32px 23px 26px;box-shadow:0 25px 90px #0008;color:#f4f7fa;text-align:center}
.sch-payment-dialog::backdrop{background:rgba(2,7,13,.78);backdrop-filter:blur(4px)}
html:has(.sch-payment-dialog[open]){overflow:hidden}
.sch-payment-dialog .brand{display:inline-flex;justify-content:center;margin:0 auto 20px;gap:9px}.sch-payment-dialog .brand-mark{width:17px;height:30px;object-fit:contain}.sch-payment-dialog .brand-name{font-size:23px}
.sch-payment-close{position:absolute;right:4px;top:4px;display:grid;place-items:center;width:44px;height:44px;color:#9eafbd;background:none;border:0;padding:12px;cursor:pointer}.sch-payment-close svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.5}
.sch-payment-face{display:block;width:54px;height:54px;margin:0 auto 18px;stroke:#8bdae8;fill:none;stroke-width:1.4;stroke-linecap:round}
.sch-payment-dialog h2{font-size:33px;letter-spacing:-1px;line-height:1.1;margin:0 0 13px;font-weight:600}.sch-payment-dialog h2:focus{outline:none}
.sch-payment-lead{font-size:18px;font-weight:500;color:#e0edf3;line-height:1.45;margin:0 auto 14px;max-width:280px}.sch-payment-copy{font-size:14px;line-height:1.6;color:#aebfcd;margin:0 auto 24px;max-width:290px}
.sch-payment-action{font-family:inherit;font-size:14px;font-weight:600;border:1px solid #83cddc;background:#b8edf5;color:#0c232e;border-radius:6px;padding:14px 20px;min-height:46px;width:100%;cursor:pointer}
.sch-payment-link{display:flex;align-items:center;justify-content:center;gap:9px;border:0;background:none;color:#91dfed;font-family:inherit;font-size:14px;font-weight:500;padding:14px 4px 0;min-height:44px;box-sizing:border-box;cursor:pointer;width:100%;text-decoration:none}
.sch-payment-link svg,.sch-copy-value svg{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.sch-payment-dialog>small{display:block;font-size:11px;color:#90a6b6;max-width:250px;margin:14px auto 0;line-height:1.6}
.sch-payment-methods{padding:29px 22px 24px}.sch-payment-methods .brand{margin-bottom:22px}.sch-payment-methods h2{font-size:30px;letter-spacing:-.8px;margin-bottom:12px}
.sch-method-intro{font-size:13px;line-height:1.6;color:#adbfcc;margin:0 0 20px}.sch-pay-method{text-align:left;background:#0b1923;border:1px solid #304b5d;border-radius:9px;padding:15px;margin:0 0 14px}
.sch-method-heading{display:flex;gap:10px;align-items:center;margin-bottom:13px}.sch-method-heading h3{font-size:16px;font-weight:600;margin:0}.sch-method-icon{width:27px;height:27px;border-radius:6px;display:grid;place-items:center;background:#22394c;color:#b9dfe8;font-weight:600;font-size:17px}
.sch-pay-data>span{display:block;font-size:10px;color:#90a8b8;margin-bottom:5px}.sch-pay-data>b{display:block;font-size:13px;color:#edf5f9;margin-bottom:13px;font-weight:500;overflow-wrap:anywhere}
.sch-copy-value{display:flex;align-items:center;gap:5px;justify-content:space-between;background:#132735;border-radius:5px;padding:0 0 0 9px}.sch-copy-value b{min-width:0;overflow-wrap:anywhere;user-select:text;font-size:12px;font-weight:500;color:#b0dfe9}.sch-copy-value button{display:grid;place-items:center;flex:none;min-width:44px;min-height:44px;padding:10px;border:0;color:#91dfed;background:none;cursor:pointer}
.sch-pay-method p{color:#92a9b9;font-size:11px;line-height:1.6;margin:12px 0 0}.sch-pay-method .sch-copy-status{color:#a6eaf4}.sch-bank-icon{width:26px;height:26px;stroke:#8bbed1;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.sch-pay-bank .sch-method-heading{margin-bottom:9px}.sch-pay-bank p{font-size:12px;margin:0}.sch-pay-bank .sch-payment-link{font-size:12px;justify-content:flex-start;padding-top:12px}.sch-payment-methods>.sch-payment-action{margin-top:5px}
.sch-payment-dialog [hidden]{display:none!important}.sch-payment-dialog :is(button,a):focus-visible{outline:2px solid #72d9ee;outline-offset:2px}
@media(prefers-reduced-motion:no-preference){.sch-payment-dialog[open]{animation:sch-enter .18s ease-out}}
@media(max-width:360px){.sch-payment-dialog{padding-left:17px;padding-right:17px}.sch-pay-method{padding:12px}}

/* Approved bank-details contact proposal: guidance before opening an email draft. */
.sch-bank-contact{max-width:620px;width:calc(100% - 32px);padding:30px 36px 26px;border-color:#30414d;border-radius:22px;background:radial-gradient(ellipse 350px 230px at 50% 20%,#142b37 0%,transparent 82%),#101821;font-family:Arial,Helvetica,sans-serif}
.sch-bank-contact .brand{margin:0 auto;gap:10px}.sch-bank-contact .brand-mark{width:21px;height:37px}.sch-bank-contact .brand-name{font:750 23px Arial,Helvetica,sans-serif;letter-spacing:-.9px}
.sch-bank-illustration{display:block;width:180px;height:146px;margin:18px auto 4px;fill:none;stroke:#49c5dc;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;background:radial-gradient(ellipse,#36bcd617,transparent 70%)}
.sch-bank-orbit{stroke:#367083;opacity:.4;stroke-width:1}.sch-bank-accent{stroke:#ff6449}
.sch-bank-eyebrow{font-size:10px;color:#80a6b6;letter-spacing:.17em;text-transform:uppercase;margin:0 0 14px}
.sch-bank-contact h2{font-family:Arial,Helvetica,sans-serif;font-size:37px;line-height:1.09;letter-spacing:-1.3px;margin:0 0 20px;font-weight:650}
.sch-bank-intro{font-size:16px;line-height:1.6;margin:0 auto;color:#becbd4;max-width:390px}.sch-bank-intro strong{color:#e9f1f6;font-weight:600}
.sch-bank-personal{display:flex;align-items:center;gap:13px;text-align:left;padding:16px 17px;margin:25px 0 24px;border:1px solid #2b424f;border-radius:12px;background:#0d202b}
.sch-bank-personal>svg{width:29px;height:29px;flex:none;color:#71cfe1;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sch-bank-personal strong{display:block;font-size:14px;margin-bottom:6px;font-weight:550}.sch-bank-personal span{display:block;color:#9cb1bf;font-size:13px;line-height:1.5}
.sch-bank-email{display:flex;justify-content:center;align-items:center;gap:13px;min-height:51px;padding:13px 18px;border:0;border-radius:8px;background:#fa4b35;color:#fff;font-size:14px;font-weight:600;letter-spacing:.01em;text-decoration:none}
.sch-bank-email svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sch-bank-return{display:block;width:100%;min-height:44px;margin:9px auto 0;padding:10px;background:none;border:0;color:#c7d6df;font:14px Arial,Helvetica,sans-serif;cursor:pointer}
.sch-bank-contact>small{font-size:11px;color:#7e95a5;line-height:1.6;margin:10px auto 0;max-width:340px}
.sch-bank-contact{color-scheme:dark;scrollbar-color:#385160 #101821;scrollbar-width:thin}
@media(max-width:450px){.sch-bank-contact{padding:27px 23px 23px}.sch-bank-contact h2{font-size:32px}.sch-bank-intro{font-size:15px}.sch-bank-contact .brand-name{font-size:21px}}
