.appointment-funnel{--bg:#f4f6f8;--bg-2:#e9edf2;--ink:#031d42;--ink-2:#5d6b7e;--ink-3:#8a93a3;--accent:#0b4f8a;--accent-2:#5ba4d6;--accent-3:#031d42;--accent-bg:#e7f3fd;--line:#d9e1ea;--line-2:#e5ebf1;--white:#fff;--green:#1e8a54;--green-bg:#e3f3ea;--ease-out:cubic-bezier(0.16,1,0.3,1);position:relative;min-height:calc(100vh - 36px - var(--header-h, 96px));display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:var(--bg);color:var(--ink);font-family:Satoshi,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}.appointment-funnel *,.appointment-funnel :after,.appointment-funnel :before{box-sizing:border-box}.appointment-funnel a{color:inherit;text-decoration:none}.appointment-funnel button{font:inherit;border:0;cursor:pointer;background:none;color:inherit}.appointment-funnel input{font-family:Satoshi,sans-serif}.appointment-funnel .accent{color:var(--accent)}.appointment-funnel .it{font-style:italic}.appointment-funnel .af-glow{position:absolute;inset:-12% -8% auto auto;width:55%;height:60%;background:radial-gradient(ellipse 60% 70% at 70% 30%,rgba(11,79,138,.14) 0,rgba(11,79,138,0) 62%);pointer-events:none;z-index:0}.appointment-funnel .af-topbar{position:absolute;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:22px 32px 0}.appointment-funnel .af-topbar .af-logo img{height:34px;width:auto;display:block}.appointment-funnel .af-topbar .af-exit{font-size:13px;font-weight:500;color:var(--ink-3);display:inline-flex;align-items:center;gap:7px}.appointment-funnel .af-topbar .af-exit:hover{color:var(--accent)}.appointment-funnel .af-prog{position:absolute;top:0;left:0;right:0;height:3px;background:var(--line-2);z-index:70}.appointment-funnel .af-prog .af-prog-fill{height:100%;width:0;background:linear-gradient(90deg,var(--accent-2),var(--accent));box-shadow:0 0 12px rgba(11,79,138,.4);transition:width .5s var(--ease-out)}.appointment-funnel .af-stage{position:relative;height:100%;z-index:1}.appointment-funnel .af-screen{position:absolute;inset:0;display:grid;padding:44px 24px 40px;opacity:0;transform:translateX(48px);transition:opacity .35s var(--ease-out),transform .35s var(--ease-out);pointer-events:none;overflow-y:auto}.appointment-funnel .af-screen.active{opacity:1;transform:translateX(0);pointer-events:auto;position:relative;inset:auto}.appointment-funnel .af-screen.past{opacity:0;transform:translateX(-48px)}.appointment-funnel .af-screen.ahead{opacity:0;transform:translateX(48px)}.appointment-funnel .af-inner{width:100%;max-width:1040px;margin:auto;justify-self:center;text-align:center}.appointment-funnel .af-inner.narrow{max-width:480px}.appointment-funnel .af-kicker{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:10px}.appointment-funnel h1.af-h1{font-family:Cabinet Grotesk,serif;font-weight:600;font-size:32px;line-height:1.12;letter-spacing:-.02em;margin:0 0 8px;color:var(--ink)}.appointment-funnel .af-sub{font-size:14.5px;color:var(--ink-2);line-height:1.48;margin:0 auto 18px;max-width:560px}.appointment-funnel .af-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1040px;margin:0 auto}.appointment-funnel .af-tile{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:var(--white);border:1.5px solid var(--line-2);border-radius:20px;padding:28px 24px 24px;position:relative;overflow:hidden;min-height:190px;box-shadow:0 10px 26px -20px rgba(3,29,66,.16);transition:transform .25s var(--ease-out),border-color .25s,box-shadow .25s,opacity .25s,background .25s}.appointment-funnel .af-tile:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 22px 40px -22px rgba(11,79,138,.4)}.appointment-funnel .af-tile.sel{border-color:var(--accent);background:var(--accent-bg);box-shadow:0 16px 34px -18px rgba(11,79,138,.45)}.appointment-funnel .af-tile.dim{opacity:.32;transform:scale(.97)}.appointment-funnel .af-tile-ico{width:52px;height:52px;border-radius:14px;background:var(--accent-bg);border:1px solid rgba(11,79,138,.16);color:var(--accent);display:grid;place-items:center;margin-bottom:18px;transition:transform .25s var(--ease-out),background .25s,color .25s}.appointment-funnel .af-tile-ico svg{width:26px;height:26px}.appointment-funnel .af-tile:hover .af-tile-ico{transform:rotate(-6deg) scale(1.05)}.appointment-funnel .af-tile.sel .af-tile-ico{background:var(--accent);border-color:var(--accent);color:#fff;transform:none}.appointment-funnel .af-tile-title{font-family:Cabinet Grotesk,serif;font-weight:600;font-size:18px;line-height:1.2;color:var(--ink);margin-bottom:6px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.appointment-funnel .af-tile-badge{font-size:13px;font-weight:800;letter-spacing:.03em;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:5px 12px;line-height:1.3}@media(max-width:560px){.appointment-funnel .af-tile-badge{font-size:13.5px;padding:6px 13px}}.appointment-funnel .af-tile-sub{font-size:13px;color:var(--ink-2);line-height:1.45}.appointment-funnel .af-tile-arr{position:absolute;bottom:20px;right:20px;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line);color:var(--ink-3);display:grid;place-items:center;transition:all .25s var(--ease-out)}.appointment-funnel .af-tile.sel .af-tile-arr,.appointment-funnel .af-tile:hover .af-tile-arr{background:var(--accent);border-color:var(--accent);color:#fff;transform:rotate(-45deg)}.appointment-funnel .af-form-card{max-width:480px;margin:0 auto;text-align:left;background:var(--white);border:1px solid var(--line-2);border-radius:20px;padding:20px 22px 18px;box-shadow:0 30px 60px -34px rgba(3,29,66,.28)}.appointment-funnel .af-field{margin-bottom:10px}.appointment-funnel .af-field label{font-size:11px;font-weight:700;color:var(--ink-3);display:block;margin-bottom:6px;text-transform:uppercase;letter-spacing:.14em}.appointment-funnel .af-field input{width:100%;padding:10px 14px;border:1.5px solid var(--line);border-radius:11px;font-size:15px;color:var(--ink);background:var(--bg);outline:none;transition:border-color .2s,box-shadow .2s}.appointment-funnel .af-field input:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(11,79,138,.12)}.appointment-funnel .af-field .error{margin:6px 0 0;font-size:12px;font-weight:600;color:#d92d20}.appointment-funnel .af-consent{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;margin:2px 0 12px}.appointment-funnel .af-consent .error{flex-basis:100%;margin:4px 0 0 29px;font-size:12px;font-weight:600;color:#d92d20}.appointment-funnel .af-consent input{width:19px;height:19px;flex-shrink:0;margin-top:2px;accent-color:var(--accent)}.appointment-funnel .af-consent label{font-size:13px;color:var(--ink-2);line-height:1.5}.appointment-funnel .af-consent a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.appointment-funnel .af-submit-btn{width:100%;padding:13px 24px;background:var(--accent);color:#fff;border-radius:14px;font-size:16px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 12px 30px -8px rgba(11,79,138,.55);transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out)}.appointment-funnel .af-submit-btn:disabled{opacity:.5;cursor:not-allowed}.appointment-funnel .af-submit-btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 18px 40px -8px rgba(11,79,138,.65)}.appointment-funnel .af-back-link{display:block;text-align:center;margin-top:8px;font-size:13.5px;color:var(--ink-3);font-weight:600}.appointment-funnel .af-back-link:hover{color:var(--accent)}.appointment-funnel .af-form-note{text-align:center;font-size:12px;color:var(--ink-3);margin-top:8px;max-width:480px;margin-left:auto;margin-right:auto}.appointment-funnel .af-mascot{position:absolute;pointer-events:none;z-index:3;height:210px;width:auto;right:3%;bottom:4%;filter:drop-shadow(0 18px 30px rgba(3,29,66,.18));animation:af-float 4.2s ease-in-out infinite}@keyframes af-float{0%,to{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-16px) rotate(1.5deg)}}@media(max-width:1200px){.appointment-funnel .af-mascot{height:130px;right:3%;bottom:auto;top:90px;opacity:.9}}@media(max-width:700px){.appointment-funnel .af-mascot{height:84px;top:74px;right:3%}}.appointment-funnel .af-oos-badge{width:78px;height:78px;border-radius:50%;background:var(--bg-2);color:var(--ink-3);display:grid;place-items:center;margin:0 auto 26px}.appointment-funnel .af-done-links,.appointment-funnel .af-oos-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:30px}.appointment-funnel .af-done-links a,.appointment-funnel .af-oos-actions a{padding:13px 24px;border-radius:12px;font-size:14.5px;font-weight:600;border:1.5px solid var(--line);transition:all .2s}.appointment-funnel .af-done-links a:hover,.appointment-funnel .af-oos-actions a:hover{border-color:var(--accent);transform:translateY(-2px)}.appointment-funnel .af-done-links a.primary,.appointment-funnel .af-oos-actions a.primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 12px 28px -10px rgba(11,79,138,.5)}.appointment-funnel .af-done-badge{width:82px;height:82px;border-radius:50%;background:var(--green-bg);color:var(--green);display:grid;place-items:center;margin:0 auto 26px;animation:af-pop .5s var(--ease-out)}@keyframes af-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.appointment-funnel .af-back-btn{position:absolute;left:32px;bottom:28px;z-index:60;display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid var(--line-2);backdrop-filter:blur(8px);font-size:13.5px;font-weight:600;color:var(--ink-2);opacity:0;transform:translateY(8px);pointer-events:none;transition:all .3s var(--ease-out)}.appointment-funnel .af-back-btn.show{opacity:1;transform:none;pointer-events:auto}.appointment-funnel .af-back-btn:hover{color:var(--accent);border-color:var(--accent);transform:translateX(-3px)}@media(max-height:780px){.appointment-funnel .af-screen{padding-top:36px;padding-bottom:34px}.appointment-funnel h1.af-h1{font-size:28px}.appointment-funnel .af-sub{margin-bottom:14px}.appointment-funnel .af-form-card{padding:18px 22px 16px}.appointment-funnel .af-field{margin-bottom:8px}.appointment-funnel .af-consent{margin:2px 0 12px}}@media(max-width:900px){.appointment-funnel .af-tiles{grid-template-columns:repeat(2,1fr)}.appointment-funnel h1.af-h1{font-size:32px}}@media(max-width:560px){.appointment-funnel .af-tiles{grid-template-columns:1fr}.appointment-funnel .af-screen{padding:44px 18px 64px}.appointment-funnel h1.af-h1{font-size:26px}.appointment-funnel .af-kicker{margin-bottom:6px}.appointment-funnel .af-sub{font-size:13.5px;margin-bottom:14px}.appointment-funnel .af-form-card{padding:16px 14px 14px}.appointment-funnel .af-field{margin-bottom:8px}.appointment-funnel .af-field label{margin-bottom:4px}.appointment-funnel .af-field input{padding:9px 12px}.appointment-funnel .af-consent{margin:2px 0 10px}.appointment-funnel .af-consent label{font-size:12px;line-height:1.4}.appointment-funnel .af-submit-btn{padding:12px 20px;font-size:15px}.appointment-funnel .af-back-link{margin-top:6px}.appointment-funnel .af-form-note{margin-top:4px;font-size:11px}.appointment-funnel .af-back-btn{left:16px;bottom:16px;padding:9px 14px;font-size:12.5px}}