
:root{color-scheme:dark;--navy:#081827;--navy2:#0E2236;--navy3:#132B43;--blue:#2D98E8;--text:#F7FAFC;--muted:#A7B3BE;--line:rgba(255,255,255,.12);--surface:rgba(255,255,255,.055);--danger:#FFB3B8;--success:#8DE0B5}*{box-sizing:border-box}html{min-width:320px;background:#06131F}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:radial-gradient(circle at 80% -10%,rgba(45,152,232,.17),transparent 32%),linear-gradient(180deg,#0B1D2F,#06131F);min-height:100vh}.portal-shell{width:min(100%,980px);margin:0 auto;padding:22px 16px 60px}.portal-brand{display:flex;align-items:center;justify-content:space-between;padding:9px 2px 25px}.portal-logo{display:block;width:220px;max-width:58vw;filter:brightness(0) invert(1)}.portal-home{font-size:12px;color:#C7D0D8;text-decoration:none;border:1px solid var(--line);padding:9px 12px;border-radius:10px;background:rgba(255,255,255,.035)}.portal-card{border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.035));box-shadow:0 28px 70px rgba(0,0,0,.28);overflow:hidden}.portal-hero{padding:30px 24px 25px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,rgba(45,152,232,.11),rgba(255,255,255,.015))}.portal-eyebrow{margin:0 0 9px;font-size:10px;font-weight:850;letter-spacing:.18em;color:#69B9F4}.portal-hero h1{font-size:clamp(30px,5vw,48px);line-height:1.02;letter-spacing:-.04em;margin:0 0 13px}.portal-hero p{max-width:720px;margin:0;color:#C8D1D9;font-size:15px;line-height:1.65}.portal-form{padding:24px}.section-title{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#7FC2F4;font-weight:850;margin:5px 0 15px}.fields{display:grid;grid-template-columns:1fr;gap:14px}.field{display:grid;gap:7px}.field label,.field legend{font-size:12px;font-weight:760;color:#F2F5F7}.req{color:#7FC2F4}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:12px;background:#0B2033;color:#fff;padding:12px 13px;font:inherit;font-size:14px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.field textarea{min-height:112px;resize:vertical;line-height:1.5}.field input:focus,.field textarea:focus,.field select:focus{border-color:#58B3F5;box-shadow:0 0 0 3px rgba(45,152,232,.16)}.field-hint{font-size:11px;color:#8999A8;line-height:1.45}.help-grid{display:grid;grid-template-columns:1fr;gap:8px}.choice{position:relative;display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.03);padding:11px 12px;cursor:pointer}.choice:hover{border-color:rgba(97,185,248,.42);background:rgba(255,255,255,.055)}.choice input{width:17px;height:17px;margin:1px 0 0;accent-color:var(--blue)}.choice span{font-size:13px;line-height:1.35}.upload-box{border:1px dashed rgba(130,196,244,.48);border-radius:15px;padding:17px;background:rgba(45,152,232,.045)}.upload-box input{background:transparent;border:0;padding:4px 0;box-shadow:none}.form-divider{height:1px;background:var(--line);margin:24px 0}.portal-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:23px}.submit-btn{min-height:52px;border:1px solid rgba(255,255,255,.16);border-radius:13px;background:#167FD3;color:#fff;padding:0 20px;font:inherit;font-weight:820;font-size:14px;cursor:pointer;box-shadow:0 10px 28px rgba(10,112,198,.22);transition:.15s ease}.submit-btn:hover{background:#2191E4;transform:translateY(-1px)}.privacy-note{max-width:500px;font-size:10px;line-height:1.45;color:#8797A7}.alert{border-radius:13px;padding:13px 15px;margin:0 0 18px;font-size:13px;line-height:1.5}.alert.error{border:1px solid rgba(255,127,136,.35);background:rgba(120,30,38,.24);color:#FFD5D8}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.success-wrap{padding:44px 28px;text-align:center}.success-icon{width:64px;height:64px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(141,224,181,.45);background:rgba(72,183,126,.12);color:var(--success);font-size:29px}.success-wrap h1{font-size:34px;letter-spacing:-.035em;margin:0 0 12px}.success-wrap p{color:#B8C3CC;line-height:1.6;max-width:620px;margin:0 auto 20px}.reference{display:inline-block;border:1px solid var(--line);border-radius:12px;background:#091D2F;padding:11px 15px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:800;letter-spacing:.08em;color:#fff}.success-links{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin-top:24px}.success-links a{border:1px solid var(--line);border-radius:11px;padding:11px 14px;color:#fff;text-decoration:none;font-size:12px;font-weight:730;background:rgba(255,255,255,.04)}.portal-footer{text-align:center;padding:20px 0 0;color:#758695;font-size:10px}.portal-footer a{color:#69B9F4;text-decoration:none}@media(min-width:720px){.portal-shell{padding:38px 22px 70px}.portal-hero{padding:42px 42px 34px}.portal-form{padding:34px 42px 40px}.fields.two{grid-template-columns:1fr 1fr}.help-grid{grid-template-columns:1fr 1fr}.portal-card{border-radius:26px}}@media(max-width:420px){.portal-logo{width:180px}.portal-home{font-size:10px;padding:8px 9px}.portal-hero{padding:25px 18px 22px}.portal-form{padding:20px 17px}.portal-hero p{font-size:13px}.portal-actions{align-items:stretch}.submit-btn{width:100%}}:focus-visible{outline:3px solid #6CC0FA;outline-offset:3px}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.calendar-booking{padding:28px 24px 30px;border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(45,152,232,.055),rgba(255,255,255,.015))}.calendar-copy{max-width:720px;margin:0 0 18px}.calendar-copy h2{margin:0 0 8px;font-size:clamp(24px,4vw,34px);letter-spacing:-.03em}.calendar-copy p:not(.portal-eyebrow){margin:0;color:#B7C3CD;font-size:13px;line-height:1.55}.calendar-frame{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff;min-height:600px}.calendar-frame iframe{display:block;width:100%;min-height:600px;border:0;background:#fff}.calendar-fallback{display:inline-flex;margin-top:12px;color:#75C3FB;text-decoration:none;font-size:11px;font-weight:760}.calendar-fallback:hover{text-decoration:underline}@media(min-width:720px){.calendar-booking{padding:34px 42px 42px}}@media(max-width:560px){.calendar-frame{border-radius:13px;min-height:650px}.calendar-frame iframe{min-height:650px;height:650px}}
