:root{--radius: 1.5rem;--background: oklch(.972 .012 75);--foreground: oklch(.22 .03 40);--card: oklch(.985 .008 75);--card-foreground: oklch(.22 .03 40);--primary: oklch(.46 .11 40);--primary-foreground: oklch(.98 .01 75);--secondary: oklch(.93 .025 70);--secondary-foreground: oklch(.3 .04 40);--muted: oklch(.94 .018 70);--muted-foreground: oklch(.48 .03 50);--accent: oklch(.72 .12 55);--accent-foreground: oklch(.98 .01 75);--border: oklch(.88 .02 65);--destructive: oklch(.55 .22 27);--destructive-foreground: oklch(.98 .01 75);--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--radius-sm: calc(var(--radius) - 4px);--radius-md: calc(var(--radius) - 2px);--radius-lg: var(--radius);--radius-xl: calc(var(--radius) + 4px);--radius-pill: 9999px}:root{--bg-page: var(--background);--bg-surface: var(--card);--bg-sunken: var(--secondary);--fg-primary: var(--foreground);--fg-secondary: var(--muted-foreground);--fg-muted: var(--muted-foreground);--fg-inverse: var(--primary-foreground);--brand-primary: var(--primary);--brand-hover: oklch(.4 .11 40);--brand-light: var(--secondary);--brand-accent: var(--accent);--border-default: var(--border);--border-focus: var(--accent);--success-bg: #ecfdf5;--success-fg: #065f46;--warning-bg: #fffbeb;--warning-fg: #92400e;--danger-bg: #fef2f2;--danger-fg: oklch(.55 .22 27);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-display: clamp(2.75rem, 8vw, 4.5rem);--text-hero: clamp(3rem, 10vw, 5.5rem);--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--sp-16: 4rem;--shadow-sm: 0 1px 2px 0 rgba(42, 33, 28, .05);--shadow-md: 0 4px 12px -2px rgba(42, 33, 28, .08);--shadow-lg: 0 12px 24px -4px rgba(42, 33, 28, .1);--shadow-focus: 0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent);--journey-scroll-offset: 6.25rem;--dur-fast: .12s;--dur-base: .2s;--ease-out: cubic-bezier(.16, 1, .3, 1)}@media print{.no-print{display:none!important}body{background:#fff}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}button{cursor:pointer;border:0;background:transparent;padding:0}a{color:inherit;text-decoration:none}html{scroll-behavior:smooth;scroll-padding-top:var(--journey-scroll-offset)}body{font-family:var(--font-sans);background:var(--bg-page);color:var(--fg-primary);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,em{font-family:var(--font-display);letter-spacing:-.02em}em{font-style:italic}.portal-shell{min-height:100dvh;display:flex;flex-direction:column}.portal-shell--loaded{animation:portalReveal .8s var(--ease-out) both}.portal-shell--loading{background:var(--primary);min-height:100dvh}@keyframes portalReveal{0%{opacity:0}to{opacity:1}}.portal-hero{position:relative;min-height:min(92vh,920px);display:flex;flex-direction:column;overflow:hidden;color:var(--primary-foreground)}.portal-hero-bg{position:absolute;inset:0;background:linear-gradient(165deg,#571e08,#250f07 55%,#180804)}.portal-hero-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55;animation:orbFloat 18s ease-in-out infinite}.portal-hero-orb--1{width:55%;height:45%;top:-10%;right:-5%;background:var(--accent);animation-delay:0s}.portal-hero-orb--2{width:40%;height:35%;bottom:5%;left:-8%;background:#a65c20;animation-delay:-6s}.portal-hero-orb--3{width:25%;height:25%;top:40%;left:35%;background:#af8758;opacity:.35;animation-delay:-12s}@keyframes orbFloat{0%,to{transform:translate(0) scale(1)}50%{transform:translate(2%,-3%) scale(1.05)}}.portal-header{position:relative;z-index:2;padding:var(--sp-6);display:flex;align-items:center;gap:var(--sp-3)}.portal-header--hero{background:transparent}.portal-logo{height:36px;object-fit:contain}.portal-wordmark{font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2rem);font-weight:var(--weight-normal);letter-spacing:-.02em;color:var(--fg-primary)}.portal-wordmark--light,.portal-clinic-name--light{color:var(--primary-foreground)}.portal-wordmark-dot{color:var(--brand-accent)}.portal-clinic-name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-normal);color:var(--fg-primary)}.portal-hero-inner{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;justify-content:center;max-width:72rem;width:100%;margin:0 auto;padding:var(--sp-8) var(--sp-6);animation:heroSlideUp 1s var(--ease-out) .15s both}@keyframes heroSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.portal-hero-eyebrow{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.3em;opacity:.85;margin-bottom:var(--sp-6)}.portal-hero-spark{color:var(--accent);font-size:.875rem}.portal-hero-title{font-family:var(--font-display);font-size:var(--text-hero);font-weight:300;line-height:.95;max-width:14ch;text-wrap:balance;margin-bottom:var(--sp-6)}.portal-hero-em{color:var(--accent);font-style:italic}.portal-hero-lead{font-size:clamp(1rem,2.5vw,1.125rem);line-height:1.75;max-width:32rem;opacity:.88;margin-bottom:var(--sp-8)}.portal-hero-actions{display:flex;flex-wrap:wrap;gap:var(--sp-4);margin-bottom:var(--sp-10)}.portal-hero-stats{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-6);padding-top:var(--sp-8);border-top:1px solid color-mix(in srgb,var(--primary-foreground) 18%,transparent)}.portal-stat-value{display:block;font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2rem);font-weight:var(--weight-normal);line-height:1;color:var(--accent)}.portal-stat-label{display:block;margin-top:var(--sp-2);font-size:var(--text-xs);opacity:.75;letter-spacing:.02em}.portal-stat-divider{width:1px;height:2.5rem;background:color-mix(in srgb,var(--primary-foreground) 20%,transparent)}.trust-marquee{overflow:hidden;border-block:1px solid var(--border-default);background:var(--secondary);padding:var(--sp-5) 0}.trust-marquee-track{display:flex;width:max-content;gap:var(--sp-10);animation:marquee 35s linear infinite}.trust-marquee-item{font-family:var(--font-display);font-size:var(--text-xl);font-style:italic;color:color-mix(in srgb,var(--foreground) 55%,transparent);white-space:nowrap}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.portal-journey{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-4) var(--sp-6);background:color-mix(in srgb,var(--background) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-default)}.portal-journey-step{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-pill);font-size:var(--text-sm);color:var(--fg-secondary);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.portal-journey-step:hover{background:var(--secondary);color:var(--fg-primary)}.portal-journey-num{font-family:var(--font-display);font-size:var(--text-xs);color:var(--accent)}.portal-journey-label{font-weight:var(--weight-medium)}.portal-journey-line{width:2rem;height:1px;background:var(--border-default)}@media(max-width:520px){.portal-journey-label{display:none}.portal-journey-line{width:1rem}}#report,#offer,#booking{scroll-margin-top:var(--journey-scroll-offset)}.portal-content{flex:1;max-width:52rem;width:100%;margin:0 auto;padding:var(--sp-12) var(--sp-6) var(--sp-8);display:flex;flex-direction:column;gap:var(--sp-16)}.report-stage{scroll-margin-top:var(--journey-scroll-offset)}.report-stage-header{margin-bottom:var(--sp-10)}.report-stage-step{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.35em;color:var(--fg-secondary);margin-bottom:var(--sp-4)}.report-stage-title{font-family:var(--font-display);font-size:clamp(2.5rem,7vw,3.75rem);font-weight:300;line-height:1.02;color:var(--fg-primary);text-wrap:balance;max-width:16ch}.report-stage-title em{color:var(--primary);font-style:italic}.report-stage-subtitle{margin-top:var(--sp-5);font-size:var(--text-base);color:var(--fg-secondary);line-height:1.65;max-width:32rem}.report-stage-card{position:relative;background:var(--card);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 1px color-mix(in srgb,var(--foreground) 4%,transparent),0 28px 56px -24px #2a211c24}.report-stage-card-accent{height:3px;background:linear-gradient(90deg,var(--primary) 0%,var(--accent) 55%,color-mix(in srgb,var(--accent) 40%,var(--secondary)) 100%)}.report-stage .report-html-wrapper{padding:var(--sp-8) var(--sp-8) var(--sp-10);font-size:var(--text-sm);line-height:1.7}.report-stage .report-html-wrapper .report-fragment{margin:0}.report-stage .report-fragment h1{font-family:var(--font-display)!important;font-size:1.625rem!important;font-weight:400!important;line-height:1.2!important;letter-spacing:-.02em!important;color:var(--foreground)!important;margin:0 0 var(--sp-4)!important;padding-bottom:var(--sp-4);border-bottom:1px solid var(--border)}.report-stage .report-fragment .meta{font-size:var(--text-sm)!important;color:var(--muted-foreground)!important;line-height:1.5!important;margin-bottom:var(--sp-1)!important}.report-stage .report-fragment .summary{margin-top:var(--sp-6)!important;padding:var(--sp-6)!important;padding-left:var(--sp-8)!important;border-radius:var(--radius-md)!important;background:color-mix(in srgb,var(--secondary) 65%,var(--card))!important;border:none!important;border-left:4px solid var(--primary)!important}.report-stage .report-fragment .summary h2{font-family:var(--font-display)!important;font-size:1.125rem!important;font-weight:400!important;margin:0 0 var(--sp-3)!important;color:var(--foreground)!important}.report-stage .report-fragment .summary p{font-size:var(--text-base)!important;line-height:1.65!important;color:var(--foreground)!important}.report-stage .report-fragment h2{font-family:var(--font-display)!important;font-size:1.25rem!important;font-weight:400!important;color:var(--foreground)!important;margin-top:var(--sp-8)!important;margin-bottom:var(--sp-4)!important}.report-stage .report-fragment section{margin-top:var(--sp-6)!important}.report-stage .report-fragment ul{list-style:none!important;padding:0!important;margin:0!important}.report-stage .report-fragment .finding-item{padding:var(--sp-5) 0!important;margin:0!important;border-bottom:1px solid var(--border)!important}.report-stage .report-fragment .finding-item strong{font-weight:var(--weight-semibold);font-size:var(--text-base);color:var(--foreground)}.report-stage .report-fragment .confidence{display:inline-block!important;margin-left:var(--sp-2)!important;padding:.15em .55em!important;border-radius:var(--radius-pill)!important;font-size:.625rem!important;font-weight:var(--weight-semibold)!important;letter-spacing:.1em!important;color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 14%,transparent)!important;vertical-align:middle}.report-stage .report-fragment .finding-item p,.report-stage .report-fragment li{font-size:var(--text-sm)!important;line-height:1.65!important;color:var(--muted-foreground)!important}.report-stage .report-fragment .finding-item br+*,.report-stage .report-fragment .finding-item{line-height:1.65}.report-stage .report-fragment li:not(.finding-item){padding:var(--sp-2) 0;border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);list-style:none}.report-stage .report-fragment li:not(.finding-item) strong{display:block;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--foreground);margin-bottom:var(--sp-1)}.report-stage .report-fragment .disclaimers{margin-top:var(--sp-10)!important;padding-top:var(--sp-6)!important;border-top:1px solid var(--border)!important;font-size:var(--text-xs)!important;color:var(--muted-foreground)!important}.report-stage .report-fragment .disclaimers h2{font-size:var(--text-sm)!important;margin-top:0!important;margin-bottom:var(--sp-3)!important;text-transform:uppercase;letter-spacing:.12em}.report-stage .report-fragment .disclaimers li{font-size:var(--text-xs)!important;border:none;padding:var(--sp-1) 0}.coupon-section{position:relative;margin-inline:calc(-1 * var(--sp-6));padding:var(--sp-12) var(--sp-6);background:var(--accent);color:var(--accent-foreground);overflow:hidden}@media(min-width:640px){.coupon-section{margin-inline:calc(-1*max(var(--sp-6),(100vw - 52rem) / 2 - var(--sp-6)));border-radius:var(--radius-lg)}}.coupon-section-glow{position:absolute;top:-30%;right:-10%;width:50%;height:120%;background:radial-gradient(circle,color-mix(in srgb,white 25%,transparent) 0%,transparent 70%);pointer-events:none}.coupon-section-inner{position:relative;max-width:52rem;margin:0 auto;display:grid;gap:var(--sp-8)}@media(min-width:720px){.coupon-section-inner{grid-template-columns:1fr 1.1fr;align-items:center;gap:var(--sp-10)}}.coupon-headline{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.25rem);font-weight:300;line-height:1.05;margin-top:var(--sp-3)}.coupon-headline em{font-style:italic}.coupon-lead{margin-top:var(--sp-4);font-size:var(--text-base);opacity:.9;line-height:1.7;max-width:22rem}.coupon-ticket{position:relative}.coupon-ticket-body{--ticket-notch-size: 20px;position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:var(--sp-6);background:var(--card);color:var(--fg-primary);border-radius:var(--radius-md);padding:var(--sp-6) var(--sp-8);box-shadow:0 20px 40px -12px #2a211c40;overflow:visible}.coupon-ticket-body:before,.coupon-ticket-body:after{content:"";position:absolute;top:50%;width:var(--ticket-notch-size);height:var(--ticket-notch-size);background:var(--accent);border-radius:50%;z-index:1;pointer-events:none}.coupon-ticket-body:before{left:0;transform:translate(-50%,-50%)}.coupon-ticket-body:after{right:0;transform:translate(50%,-50%)}.coupon-ticket-divider{position:relative;width:0;align-self:stretch;min-height:4.5rem;border-left:2px dashed var(--border-default)}.coupon-ticket-divider:before,.coupon-ticket-divider:after{content:"";position:absolute;left:50%;width:var(--ticket-notch-size);height:var(--ticket-notch-size);background:var(--accent);border-radius:50%;z-index:1;pointer-events:none}.coupon-ticket-divider:before{top:0;transform:translate(-50%,-50%)}.coupon-ticket-divider:after{bottom:0;transform:translate(-50%,50%)}.coupon-discount{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,3.5rem);font-weight:var(--weight-normal);color:var(--brand-primary);line-height:1}.coupon-discount-label{font-size:var(--text-sm);color:var(--fg-secondary);margin-top:var(--sp-2)}.coupon-code-block{justify-self:end;text-align:right;min-width:140px}.coupon-code-label{font-size:var(--text-xs);color:var(--fg-muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:var(--sp-2)}.coupon-code{font-family:Courier New,Courier,monospace;font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--fg-primary);background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:var(--sp-3) var(--sp-5);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.coupon-code:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.coupon-copied{font-size:var(--text-xs);color:var(--success-fg);margin-top:var(--sp-2);font-weight:var(--weight-medium)}.coupon-redeemed-badge{font-size:var(--text-xs);background:var(--success-bg);color:var(--success-fg);border-radius:var(--radius-pill);padding:var(--sp-1) var(--sp-3);font-weight:var(--weight-medium);margin-top:var(--sp-2);display:inline-block}.booking-stage{margin-inline:calc(-1 * var(--sp-6));padding:var(--sp-12) var(--sp-6);background:var(--primary);color:var(--primary-foreground)}@media(min-width:640px){.booking-stage{margin-inline:calc(-1*max(var(--sp-6),(100vw - 52rem) / 2 - var(--sp-6)));border-radius:var(--radius-lg)}}.booking-stage-header{max-width:52rem;margin:0 auto var(--sp-8)}.booking-stage-title{font-family:var(--font-display);font-size:clamp(2.25rem,6vw,3.5rem);font-weight:300;line-height:1.05;margin-top:var(--sp-2)}.booking-stage-title em{color:var(--accent);font-style:italic}.booking-stage-subtitle{margin-top:var(--sp-4);opacity:.85;font-size:var(--text-base)}.booking-stage-panel{max-width:52rem;margin:0 auto;background:var(--card);color:var(--fg-primary);border-radius:var(--radius-lg);padding:var(--sp-8);box-shadow:0 24px 48px -16px #00000059}.booking-stage .booking-for-badge{background:var(--secondary);border-color:var(--border-default)}.booking-stage .cal-time-col{border-color:var(--border-default)}.booking-stage .cal-nav-btn{background:var(--bg-surface)}.confirmation-stage{position:relative;margin-inline:calc(-1 * var(--sp-6));padding:var(--sp-12) var(--sp-6);background:linear-gradient(145deg,var(--accent) 0%,color-mix(in srgb,var(--accent) 70%,var(--primary)) 100%);color:var(--accent-foreground);overflow:hidden}@media(min-width:640px){.confirmation-stage{margin-inline:calc(-1*max(var(--sp-6),(100vw - 52rem) / 2 - var(--sp-6)));border-radius:var(--radius-lg)}}.confirmation-stage-glow{position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,color-mix(in srgb,white 30%,transparent),transparent 55%);pointer-events:none}.confirmation-stage-inner{position:relative;max-width:36rem;margin:0 auto;text-align:center}.confirmation-stage-title{font-family:var(--font-display);font-size:clamp(2.5rem,7vw,4rem);font-weight:300;line-height:1;margin-bottom:var(--sp-6)}.confirmation-stage-title em{font-style:italic}.confirmation-stage .confirmation-icon{background:color-mix(in srgb,var(--card) 90%,transparent);color:var(--success-fg);width:5rem;height:5rem;font-size:2rem}.confirmation-stage .confirmation-slot{color:var(--accent-foreground);font-size:var(--text-2xl)}.confirmation-stage .confirmation-note{color:color-mix(in srgb,var(--accent-foreground) 85%,transparent)}.contact-info-card--light{background:color-mix(in srgb,var(--card) 92%,transparent);text-align:left;color:var(--fg-primary)}.contact-info-card--light .contact-label{color:var(--fg-secondary)}.portal-footer{background:var(--foreground);color:var(--background);padding:var(--sp-12) var(--sp-6) var(--sp-8);margin-top:var(--sp-8)}.portal-footer-inner{max-width:52rem;margin:0 auto;display:grid;gap:var(--sp-10)}@media(min-width:640px){.portal-footer-inner{grid-template-columns:1.2fr 1fr;align-items:start}}.portal-footer-tagline{margin-top:var(--sp-4);font-size:var(--text-sm);opacity:.7;line-height:1.7;max-width:20rem}.portal-footer-eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.3em;opacity:.55;margin-bottom:var(--sp-4)}.portal-footer-contact{font-size:var(--text-sm);line-height:1.8;opacity:.9}.portal-footer-link{color:var(--accent);text-decoration:none}.portal-footer-link:hover{text-decoration:underline}.portal-footer-hours{margin-top:var(--sp-2);opacity:.75}.portal-footer-copy{max-width:52rem;margin:var(--sp-10) auto 0;padding-top:var(--sp-6);border-top:1px solid color-mix(in srgb,var(--background) 12%,transparent);font-size:var(--text-xs);opacity:.5;text-align:center}.card-eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.3em;color:var(--fg-secondary);margin-bottom:var(--sp-2)}.card-eyebrow--light{color:color-mix(in srgb,currentColor 70%,transparent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);border-radius:var(--radius-pill);font-weight:var(--weight-medium);font-size:var(--text-sm);cursor:pointer;border:none;transition:background var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-hero-primary{background:var(--card);color:var(--foreground);padding:var(--sp-4) var(--sp-8);font-size:var(--text-base)}.btn-hero-primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px -8px #00000059}.btn-hero-primary--dark{background:var(--foreground);color:var(--background);margin-top:var(--sp-4)}.btn-hero-ghost{padding:var(--sp-4) var(--sp-8);font-size:var(--text-base);color:var(--primary-foreground);border:1px solid color-mix(in srgb,var(--primary-foreground) 35%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.btn-hero-ghost:hover{background:color-mix(in srgb,var(--primary-foreground) 10%,transparent)}.btn-arrow{font-size:1.1em;line-height:1}.btn-primary{background:var(--brand-primary);color:var(--fg-inverse);padding:var(--sp-4) var(--sp-8)}.btn-primary:hover:not(:disabled){background:var(--brand-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary--full{width:100%;margin-top:var(--sp-4);padding:var(--sp-4) var(--sp-6);font-size:var(--text-base)}.btn-secondary{background:var(--bg-surface);color:var(--fg-primary);padding:var(--sp-3) var(--sp-6);border:1px solid var(--border-default)}.btn-secondary:hover:not(:disabled){background:var(--bg-sunken)}.btn-dismiss{margin-left:var(--sp-3);background:none;border:none;color:inherit;cursor:pointer;padding:0}.alert{border-radius:var(--radius-md);padding:var(--sp-4);font-size:var(--text-sm)}.alert--spaced{margin-bottom:var(--sp-4)}.alert--centered{margin-bottom:var(--sp-6);text-align:center}.alert-error{background:var(--danger-bg);color:var(--danger-fg);border:1px solid color-mix(in srgb,var(--danger-fg) 20%,transparent)}.alert-success{background:var(--success-bg);color:var(--success-fg)}.confirmation-icon{width:4rem;height:4rem;margin:0 auto var(--sp-4);display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--success-bg);color:var(--success-fg);font-size:1.75rem;font-weight:var(--weight-bold)}.confirmation-slot{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-normal);color:var(--brand-primary);text-align:center;margin-bottom:var(--sp-6)}.confirmation-note{margin-bottom:var(--sp-4);font-size:var(--text-sm);color:var(--fg-secondary);font-style:italic;text-align:center}.contact-info-card{background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--sp-4);margin-bottom:var(--sp-6)}.contact-info-title{font-weight:var(--weight-semibold);margin-bottom:var(--sp-3);font-size:var(--text-sm)}.contact-grid{display:grid;gap:var(--sp-2)}.contact-row{display:flex;gap:var(--sp-3);font-size:var(--text-sm)}.contact-label{font-weight:var(--weight-medium);color:var(--fg-secondary);min-width:60px}.contact-link{color:var(--brand-primary);text-decoration:none}.contact-link:hover{text-decoration:underline}.loading-state{text-align:center;padding:var(--sp-12);color:var(--fg-muted)}.loading-state--hero{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--primary-foreground)}.loading-wordmark{font-family:var(--font-display);font-size:var(--text-2xl);margin-bottom:var(--sp-8);opacity:.9}.loading-copy{margin-top:var(--sp-4);opacity:.75;font-size:var(--text-sm);letter-spacing:.05em}.spinner{display:inline-block;width:2rem;height:2rem;border:3px solid var(--border-default);border-top-color:var(--brand-primary);border-radius:50%;animation:spin .7s linear infinite}.loading-state--hero .spinner{border-color:color-mix(in srgb,var(--primary-foreground) 25%,transparent);border-top-color:var(--accent)}.spinner--lg{width:2.75rem;height:2.75rem}@keyframes spin{to{transform:rotate(360deg)}}.error-page{text-align:center;padding:var(--sp-12) var(--sp-6)}.error-page h1{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-normal);margin-bottom:var(--sp-4)}.error-page p{color:var(--fg-secondary)}.toast-container{position:fixed;bottom:var(--sp-6);right:var(--sp-6);z-index:1000;display:flex;flex-direction:column;gap:var(--sp-2)}.toast{background:var(--fg-primary);color:var(--fg-inverse);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-5);font-size:var(--text-sm);box-shadow:var(--shadow-lg);animation:slideIn var(--dur-base) var(--ease-out)}.toast.toast-error{background:var(--brand-primary)}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cal-layout{display:grid;grid-template-columns:1fr;gap:var(--sp-4)}@media(min-width:600px){.cal-layout{grid-template-columns:1fr 1fr;gap:var(--sp-6);align-items:start}}.cal-col{min-width:0}.cal-time-col{min-width:0;border-top:1px solid var(--border-default);padding-top:var(--sp-4)}@media(min-width:600px){.cal-time-col{border-top:none;border-left:1px solid var(--border-default);padding-top:0;padding-left:var(--sp-6)}}.cal-time-col-placeholder{font-size:var(--text-sm);color:var(--fg-secondary);margin-top:var(--sp-8);text-align:center}.cal-time-col-heading{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-normal);margin-bottom:var(--sp-4)}.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-3)}.cal-nav-label{font-family:var(--font-display);font-weight:var(--weight-normal);font-size:var(--text-base)}.cal-nav-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--bg-surface);color:var(--fg-primary);font-size:1.25rem;line-height:1;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.cal-nav-btn:hover:not(:disabled){background:var(--bg-sunken);transform:scale(1.05)}.cal-nav-btn:disabled{opacity:.35;cursor:not-allowed}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-grid--header{margin-bottom:var(--sp-1)}.cal-day-header{text-align:center;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--fg-secondary);padding:var(--sp-1) 0}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);font-size:var(--text-sm);border:none;background:transparent;cursor:default;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.cal-day--empty{pointer-events:none}.cal-day--disabled{color:color-mix(in srgb,var(--fg-secondary) 45%,transparent);pointer-events:none}.cal-day--available{color:var(--brand-primary);font-weight:var(--weight-semibold);cursor:pointer;border:1.5px solid var(--brand-primary)}.cal-day--available:hover{background:color-mix(in srgb,var(--brand-primary) 12%,transparent);transform:scale(1.08)}.cal-day--selected{background:var(--brand-primary);color:var(--fg-inverse);font-weight:var(--weight-semibold);cursor:pointer;border:1.5px solid var(--brand-primary);transform:scale(1.05)}.cal-day--today{box-shadow:inset 0 0 0 1.5px var(--accent)}.cal-tz-note{font-size:var(--text-xs);color:var(--fg-secondary);text-align:right;margin-top:var(--sp-2)}.time-slots-list{display:flex;flex-direction:column;gap:var(--sp-2);max-height:340px;overflow-y:auto;padding-right:var(--sp-1)}.time-btn{width:100%;padding:var(--sp-3) var(--sp-5);border-radius:var(--radius-pill);border:1.5px solid var(--brand-primary);background:transparent;color:var(--brand-primary);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;text-align:left;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.time-btn:hover{background:color-mix(in srgb,var(--brand-primary) 10%,transparent);transform:translate(4px)}.time-btn.selected{background:var(--brand-primary);color:var(--fg-inverse)}.time-empty-note{font-size:var(--text-sm);color:var(--fg-secondary)}.booking-for-badge{display:flex;align-items:center;gap:var(--sp-2);background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-5);font-size:var(--text-sm);flex-wrap:wrap}.booking-for-label{color:var(--fg-secondary);margin-right:var(--sp-1)}.booking-for-email{color:var(--fg-secondary)}.contact-me-section{margin-top:var(--sp-6)}.contact-me-divider{border:none;border-top:1px solid var(--border-default);margin-bottom:var(--sp-4)}.contact-me-prompt{font-size:var(--text-sm);color:var(--fg-secondary);margin-bottom:var(--sp-2)}.contact-me-btn{width:100%}.contact-me-success{font-size:var(--text-sm);color:var(--success-fg);font-weight:var(--weight-medium)}@media print{.portal-hero,.trust-marquee,.portal-journey,.portal-footer,.no-print{display:none!important}.portal-content{padding:0;gap:var(--sp-6)}.report-stage-card,.coupon-ticket-body{box-shadow:none;border:1px solid #ddd}.coupon-section{background:#fff;color:#000;margin:0;padding:var(--sp-4) 0}.coupon-ticket-body:before,.coupon-ticket-body:after,.coupon-ticket-divider:before,.coupon-ticket-divider:after{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.portal-shell--loaded,.portal-hero-inner,.portal-hero-orb,.trust-marquee-track{animation:none}.btn-primary:hover:not(:disabled),.cal-day--available:hover,.time-btn:hover,.coupon-code:hover{transform:none}}
