:root{--blue:#1189e8;--blue-dark:#0b3168;--navy:#071c3a;--green:#31b46f;--soft:#eef8ff;--line:#d9e9f6;--ink:#102238;--muted:#62748a;--white:#fff;--shadow:0 18px 50px rgba(6,52,105,.11);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#f7fbff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#fff 0,#f4faff 52%,#fff 100%);min-height:100vh;-webkit-font-smoothing:antialiased}a{color:inherit}.topbar{height:78px;padding:12px clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,255,255,.95);position:sticky;top:0;z-index:5;backdrop-filter:blur(14px)}.topbar img{height:50px;width:auto;display:block}.topbar span{font-weight:800;color:var(--blue-dark);letter-spacing:.02em}.shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:48px 0 70px}.narrow{width:min(790px,calc(100% - 28px))}.hero{background:linear-gradient(135deg,var(--navy),#0c559a 70%,#087fc5);color:#fff;border-radius:28px;padding:50px;box-shadow:var(--shadow);margin-bottom:20px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-70px;top:-90px;background:rgba(49,180,111,.22);pointer-events:none}.hero h1{font-size:clamp(32px,5vw,58px);line-height:1.02;margin:10px 0 14px;max-width:820px;letter-spacing:-.025em}.hero p{font-size:18px;line-height:1.65;max-width:760px;margin:0;color:#dcecff}.hero.compact{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:38px 42px}.hero.compact h1{font-size:clamp(30px,4vw,48px)}.customer-hero{text-align:center}.customer-hero p{margin-inline:auto}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:12px;font-weight:900;color:#24a2ff}.hero .eyebrow{color:#7fd2ff}.card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.workflow-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0 0 24px;padding:18px 22px}.workflow-strip>div{display:grid;grid-template-columns:38px 1fr;column-gap:11px;align-items:center;padding:4px 20px}.workflow-strip>div+div{border-left:1px solid var(--line)}.workflow-strip span{grid-row:1/3;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--blue);font-weight:900}.workflow-strip strong{color:var(--blue-dark);font-size:14px}.workflow-strip small{color:var(--muted);line-height:1.35}.form-card,.quote-card{padding:32px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.form-grid .wide{grid-column:1/-1}label{font-weight:800;font-size:14px;color:var(--blue-dark);display:grid;gap:8px}input,textarea{width:100%;min-height:48px;border:1px solid #bfd5e7;border-radius:12px;padding:13px 14px;font:inherit;font-size:16px;color:var(--ink);background:#fff;outline:none}input:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(17,137,232,.12)}textarea{resize:vertical;min-height:112px}.muted{font-weight:500;color:var(--muted)}.button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:11px 17px;border:1px solid transparent;text-decoration:none;font-weight:850;font-size:14px;cursor:pointer;white-space:nowrap;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.button:hover{filter:brightness(1.03);transform:translateY(-1px)}.button:active{transform:translateY(0)}.button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(17,137,232,.28);outline-offset:2px}.button.primary{background:linear-gradient(135deg,var(--blue),#0673ca);color:#fff;box-shadow:0 8px 20px rgba(17,137,232,.25)}.button.green{background:var(--green);color:#fff}.button.ghost{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.38);color:inherit}.card .button.ghost{background:#f2f8fc;color:var(--blue-dark);border-color:var(--line)}.button.large{padding:15px 22px;font-size:16px}.button.full{width:100%}.button.small{padding:8px 12px;font-size:12px}.live-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px;padding:15px;background:#f5faff;border:1px solid var(--line);border-radius:16px}.live-summary>div{display:grid;gap:4px;padding:12px;border-radius:11px;background:#fff;border:1px solid #e3eef7}.live-summary span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.live-summary strong{font-size:18px;color:var(--blue-dark)}.live-summary .discount-text{color:#0876c8}.live-summary .due-now{background:#eaf9f1;border-color:#bde7d0}.live-summary .due-now strong{color:#167849}.calculation-note,.protection-note{margin:22px 0;background:var(--soft);border-left:4px solid var(--green);border-radius:12px;padding:16px 18px;color:#31506e;line-height:1.55}.success-panel{padding:22px;margin-bottom:22px;border-color:#a6dfc0}.success-panel>strong{display:block;color:#167849;margin-bottom:12px}.copy-row{display:flex;gap:10px}.copy-row input{font-size:13px}.recent{margin-top:44px}.section-heading h2{font-size:30px;margin:5px 0 18px}.empty{padding:26px;color:var(--muted)}.booking-list{display:grid;gap:13px}.booking-row{display:grid;grid-template-columns:1fr auto auto;gap:20px;align-items:center;padding:20px}.booking-row div:first-child{display:grid;gap:3px;min-width:0}.booking-row div:first-child span{overflow-wrap:anywhere}.booking-row span,.booking-row small{color:var(--muted)}.row-actions{display:flex;gap:8px;align-items:center}.status{display:inline-flex;padding:7px 11px;border-radius:999px;background:#eaf2f8;color:#426078!important;font-weight:850;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.status.deposit_paid,.status.paid{background:#e7f8ef;color:#167849!important}.status.awaiting_deposit{background:#fff5dc;color:#925f00!important}.quote-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.quote-heading h2{font-size:30px;margin:6px 0 20px}.details{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 25px}.details>div{border:1px solid var(--line);border-radius:14px;padding:15px}.details .wide{grid-column:1/-1}.details dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:850;margin-bottom:6px}.details dd{margin:0;font-weight:700;line-height:1.55;overflow-wrap:anywhere}.price-box{background:var(--navy);color:#fff;border-radius:18px;padding:20px}.price-box>div{display:flex;justify-content:space-between;gap:18px;padding:10px 2px;border-bottom:1px solid rgba(255,255,255,.13)}.price-box>div:last-child{border-bottom:0}.price-box strong{text-align:right}.price-box .total{font-size:20px}.price-box .deposit{color:#7ee2aa}.price-box .discount{color:#86d6ff}.approval-form{display:grid;gap:15px;margin-top:24px}.payment-explainer{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.payment-explainer>div{display:grid;gap:5px;background:#f7fbfe;border:1px solid var(--line);border-radius:12px;padding:13px}.payment-explainer span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:850}.payment-explainer strong{font-size:14px;color:var(--blue-dark)}.consent{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:flex-start;background:#f8fbfe;border:1px solid var(--line);border-radius:14px;padding:17px;font-weight:650;line-height:1.55;cursor:pointer}.consent input{width:21px;height:21px;min-height:0;margin-top:2px;accent-color:var(--green)}.consent span{display:grid;gap:3px}.consent span strong{color:var(--blue-dark)}.consent-help{text-align:center;color:var(--muted);font-weight:700}.consent-help.ready{color:#167849}.secure-line{text-align:center;color:var(--muted);line-height:1.5}.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.trust-row span{text-align:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;font-weight:800;color:var(--blue-dark)}.alert{border-radius:14px;padding:16px 18px}.alert.error{background:#fff0f1;color:#9b2030}.alert.success{background:#eaf9f1;color:#176f46;margin-top:22px}.message{text-align:center;padding:50px 34px}.message h1{font-size:36px;margin:10px 0}.message p{font-size:17px;color:var(--muted);line-height:1.6}.check{margin:0 auto 18px;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#e3f8ed;color:var(--green);font-size:36px;font-weight:900}.login-wrap{min-height:calc(100vh - 200px);display:grid;place-items:center;padding:40px 16px}.login-card{width:min(430px,100%);padding:34px}.login-card h1{font-size:34px;line-height:1.08;margin:8px 0}.login-card p{color:var(--muted);line-height:1.55}.stack{display:grid;gap:17px;margin-top:25px}footer{border-top:1px solid var(--line);background:#fff;display:flex;justify-content:center;flex-wrap:wrap;gap:14px 28px;padding:25px max(20px,env(safe-area-inset-right)) max(25px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));color:var(--muted);font-size:13px}footer strong{color:var(--blue-dark)}@media(max-width:760px){.topbar{height:70px;padding:10px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left))}.topbar span{display:none}.topbar img{height:46px}.shell,.narrow{width:calc(100% - 24px);padding:22px 0 48px}.hero,.hero.compact{padding:28px 22px;border-radius:20px;margin-bottom:14px}.hero.compact{display:block}.hero.compact>.button{margin-top:18px;width:100%}.hero h1,.hero.compact h1{font-size:clamp(29px,9vw,38px);line-height:1.06}.hero p{font-size:16px;line-height:1.55}.workflow-strip{grid-template-columns:1fr;padding:8px 16px;margin-bottom:14px}.workflow-strip>div{padding:12px 4px}.workflow-strip>div+div{border-left:0;border-top:1px solid var(--line)}.form-card,.quote-card{padding:18px}.form-grid,.details{grid-template-columns:1fr;gap:16px}.form-grid .wide,.details .wide{grid-column:auto}.live-summary{grid-template-columns:1fr 1fr;margin-top:18px;padding:10px;gap:8px}.live-summary>div{padding:10px}.live-summary strong{font-size:16px}.booking-form>.button{width:100%}.calculation-note,.protection-note{margin:18px 0;padding:14px 15px}.booking-row{grid-template-columns:1fr;gap:14px;padding:17px}.row-actions,.row-actions form{display:grid;width:100%;gap:10px}.row-actions .button{width:100%;min-height:48px}.complete-check{white-space:normal!important;background:#f7fbfe;border:1px solid var(--line);border-radius:12px;padding:12px}.status{justify-self:start}.trust-row{grid-template-columns:1fr;gap:8px}.copy-row{display:grid}.copy-row .button{width:100%}.quote-heading{display:grid;gap:8px}.quote-heading h2{font-size:26px;margin-bottom:2px}.details{margin-bottom:18px}.price-box{padding:16px}.price-box>div{font-size:14px}.price-box .total{font-size:18px}.payment-explainer{grid-template-columns:1fr}.payment-explainer>div{grid-template-columns:1fr auto;align-items:center}.consent{padding:14px;font-size:14px}.approval-form .button{min-height:54px;white-space:normal;text-align:center}.message{padding:36px 20px}.message h1{font-size:30px}.login-wrap{min-height:calc(100vh - 140px);padding:24px 12px}.login-card{padding:26px 20px}.login-card h1{font-size:30px}footer{display:grid;text-align:center;gap:10px;padding-top:22px}}@media(max-width:380px){.shell,.narrow{width:calc(100% - 18px)}.hero,.hero.compact{padding:25px 19px}.form-card,.quote-card{padding:15px}.live-summary{grid-template-columns:1fr}.price-box>div{gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
