:root{--ink-900:#0a1a3a;--ink-800:#0f2042;--ink-700:#1a2c55;--ink-600:#2b3d6b;--ink-500:#4a5a85;--ink-400:#7b86a6;--ink-300:#b7bdd0;--ink-200:#dfe2ec;--ink-100:#ecedf3;--blue-600:#3a55a8;--blue-500:#5872c2;--blue-400:#8898d4;--blue-200:#c6cfeb;--blue-50:#eef1f9;--bone:#f4efe6;--bone-2:#ebe5d8;--cream:#faf6ed;--paper:#fff;--linen:#f7f3ec;--sage:#8a9e85;--terra:#b25c3e;--gold:#b8945a;--signal:#c97442;--radius:14px;--radius-sm:8px;--radius-lg:22px;--serif:"Instrument Serif", "EB Garamond", Georgia, serif;--sans:"Geist", "Söhne", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--ease-smooth:cubic-bezier(.22, 1, .36, 1);--ease-quick:cubic-bezier(.4, 0, .2, 1);--gutter:clamp(20px, 4vw, 64px);--max:1440px}*{box-sizing:border-box}html,body{background:var(--bone);color:var(--ink-900);margin:0;padding:0}body{font-family:var(--sans);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:15px;line-height:1.55;overflow-x:hidden}.serif{font-family:var(--serif);font-weight:400}.italic{font-style:italic}.eyebrow{font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-500);font-size:11px;font-weight:500}.eyebrow .dot{background:var(--blue-500);vertical-align:middle;border-radius:50%;width:4px;height:4px;margin:0 10px 2px 0;display:inline-block}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:400}.display{font-family:var(--serif);letter-spacing:-.025em;font-size:clamp(56px,9vw,148px);font-weight:400;line-height:.95}.display em{color:var(--blue-500);font-style:italic;font-weight:400}.h2{font-family:var(--serif);letter-spacing:-.02em;font-size:clamp(40px,5.5vw,84px);line-height:1}.h2 em{color:var(--blue-500);font-style:italic}.h3{font-family:var(--serif);letter-spacing:-.015em;font-size:clamp(28px,3vw,44px);line-height:1.05}.lede{font-family:var(--sans);color:var(--ink-600);max-width:52ch;font-size:clamp(15px,1.1vw,17px);line-height:1.6}.fine{letter-spacing:.04em;color:var(--ink-500);font-size:12px}.btn{font-family:var(--sans);letter-spacing:.04em;cursor:pointer;transition:all .2s var(--ease-smooth);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:10px;padding:14px 22px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background:var(--ink-900);color:var(--cream)}.btn-primary:hover{background:var(--ink-700);transform:translateY(-1px)}.btn-ghost{color:var(--ink-900);border-color:var(--ink-300);background:0 0}.btn-ghost:hover{border-color:var(--ink-900)}.btn-light{background:var(--cream);color:var(--ink-900)}.btn-light:hover{background:var(--paper)}.btn .arrow{transition:transform .25s var(--ease-smooth)}.btn:hover .arrow{transform:translate(4px)}.rule{background:var(--ink-200);border:0;width:100%;height:1px}.section{padding:clamp(80px, 10vw, 160px) var(--gutter);position:relative}.container{max-width:var(--max);margin:0 auto;position:relative}.chip{border:1px solid var(--ink-200);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-700);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff80;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:11px;display:inline-flex}.chip .dot{background:var(--sage);width:6px;height:6px;animation:pulse 2.4s var(--ease-smooth) infinite;border-radius:50%;box-shadow:0 0 0 3px #8a9e852e}@keyframes pulse{0%,to{box-shadow:0 0 0 3px #8a9e852e}50%{box-shadow:0 0 0 7px #8a9e8500}}.index-no{font-family:var(--serif);color:var(--ink-400);letter-spacing:.04em;font-size:14px;font-style:italic}input,textarea,select{font-family:var(--sans);color:var(--ink-900);background:0 0;border:none;outline:none;font-size:14px}.field{flex-direction:column;gap:6px;display:flex}.field-label{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500);font-size:11px;font-weight:500}.field-input{border-bottom:1px solid var(--ink-300);transition:border-color .2s var(--ease-quick);padding:10px 0;font-size:16px}.field-input:focus-within,.field-input:focus{border-color:var(--ink-900)}::selection{background:var(--ink-900);color:var(--cream)}.glow{color:#cfd7f0;text-shadow:0 0 18px #cfd7f08c,0 0 36px #5872c259;animation:glow-breathe 5.5s var(--ease-smooth) infinite;position:relative}@keyframes glow-breathe{0%,to{text-shadow:0 0 14px #cfd7f073,0 0 28px #5872c240}50%{text-shadow:0 0 24px #cfd7f0bf,0 0 48px #5872c280,0 0 80px #5872c22e}}.glow-dark{color:var(--blue-600);isolation:isolate;position:relative}.glow-dark:after{content:"";z-index:-1;filter:blur(10px);pointer-events:none;animation:glow-breathe-dark 5.5s var(--ease-smooth) infinite;background:radial-gradient(#5872c238 0%,#0000 70%);position:absolute;inset:-12% -8%}@keyframes glow-breathe-dark{0%,to{opacity:.55}50%{opacity:1}}@keyframes shine-sweep{0%{transform:translate(-150%)skew(-12deg)}to{transform:translate(220%)skew(-12deg)}}.shine-on-view{isolation:isolate;position:relative;overflow:hidden}.shine-on-view:before{content:"";pointer-events:none;z-index:3;mix-blend-mode:screen;background:linear-gradient(90deg,#0000,#cfd7f000 10%,#cfd7f080 50%,#cfd7f000 90%,#0000);width:28%;height:200%;position:absolute;top:-50%;left:0;transform:translate(-150%)skew(-12deg)}.shine-on-view.shine-go:before{animation:shine-sweep 1.8s var(--ease-smooth) forwards}.shimmer-btn{isolation:isolate;position:relative;overflow:hidden}.shimmer-btn:after{content:"";width:60%;height:100%;transition:left .8s var(--ease-smooth);pointer-events:none;background:linear-gradient(90deg,#0000,#cfd7f08c,#0000);position:absolute;top:0;left:-150%;transform:skew(-22deg)}.shimmer-btn:hover:after{left:220%}.sparkle-field{pointer-events:none;z-index:90;mix-blend-mode:screen;width:100%;max-width:100vw;height:100%;max-height:100vh;position:fixed;inset:0}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{scrollbar-width:none}.stamp{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-500);font-size:10px}@media (hover:hover){.crosshair{cursor:crosshair}}.reveal{opacity:0;transition:opacity .8s var(--ease-smooth), transform .8s var(--ease-smooth);transform:translateY(16px)}.reveal.in{opacity:1;transform:none}.dot-nav{z-index:40;mix-blend-mode:difference;flex-direction:column;gap:18px;display:flex;position:fixed;top:50%;right:24px;transform:translateY(-50%)}.dot-nav button{appearance:none;cursor:pointer;color:#ffffffb3;font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;background:0 0;border:none;align-items:center;gap:12px;padding:0;font-size:10px;transition:color .2s;display:flex}.dot-nav button .pellet{width:6px;height:6px;transition:all .2s var(--ease-smooth);background:#ffffff80;border-radius:50%}.dot-nav button.active .pellet{background:#fff;transform:scale(1.6)}.dot-nav button.active{color:#fff}.dot-nav .label{opacity:0;transition:all .2s var(--ease-smooth);transform:translate(-4px)}.dot-nav button:hover .label,.dot-nav button.active .label{opacity:1;transform:none}@media (max-width:760px){.dot-nav{display:none}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg,#0000,#ffffff80,#0000) 0 0/200% 100%;animation:1.6s infinite shimmer}.hero .hero-still{transform:translate3d(0, calc(var(--parallax,0) * 12%), 0) scale(calc(1 + var(--parallax,0) * .08));will-change:transform;transition:transform 80ms linear}.hero .hero-grain{transform:translate3d(0, calc(var(--parallax,0) * 6%), 0);will-change:transform}.hero .hero-content{transform:translate3d(0, calc(var(--parallax,0) * -2.5%), 0);opacity:calc(1 - var(--parallax,0) * .55);will-change:transform, opacity}.btn-primary,.btn-ghost,.chat-fab,.cta-magnetic{transform:translate3d(var(--mx,0px), var(--my,0px), 0);transition:transform .36s cubic-bezier(.16, 1, .3, 1), box-shadow .2s var(--ease-smooth), background-color .2s var(--ease-smooth);will-change:transform}.btn-primary:hover,.btn-ghost:hover,.chat-fab:hover,.cta-magnetic:hover{transition-duration:60ms}.btn-primary:hover{box-shadow:0 18px 40px -18px #0a1a3a73}.btn-ghost:hover{box-shadow:0 12px 30px -16px #0a1a3a2e}.marquee{-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-track{will-change:transform}.reveal{will-change:transform, opacity}.booking-progress{background:#0a1a3a14;border-radius:999px;height:3px;margin-bottom:28px;position:relative;overflow:hidden}.booking-progress .bar{background:linear-gradient(90deg, var(--blue-600), var(--ink-900));border-radius:999px;transition:width .48s cubic-bezier(.22,1,.36,1);position:absolute;top:0;bottom:0;left:0;box-shadow:0 0 12px #3a55a866}.btn-spinner{border:1.5px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:12px;height:12px;margin-left:8px;animation:.7s linear infinite spin;display:inline-block}.btn-ghost .btn-spinner{border-color:#0a1a3a40;border-top-color:var(--ink-900)}@keyframes spin{to{transform:rotate(360deg)}}.scan-line{filter:drop-shadow(0 0 6px #3a55a899);will-change:transform;pointer-events:none;background:linear-gradient(90deg,#0000,#3a55a8d9,#0000);height:2px;animation:1.6s cubic-bezier(.65,0,.35,1) infinite scan-sweep;position:absolute;top:0;left:0;right:0}@keyframes scan-sweep{0%{opacity:0;transform:translateY(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(100%)}}.scan-corners{pointer-events:none;-webkit-mask-image:linear-gradient(#000, #000) top left / 22px 22px no-repeat, linear-gradient(#000, #000) top right / 22px 22px no-repeat, linear-gradient(#000, #000) bottom left / 22px 22px no-repeat, linear-gradient(#000, #000) bottom right / 22px 22px no-repeat;mask-image:linear-gradient(#000, #000) top left / 22px 22px no-repeat, linear-gradient(#000, #000) top right / 22px 22px no-repeat, linear-gradient(#000, #000) bottom left / 22px 22px no-repeat, linear-gradient(#000, #000) bottom right / 22px 22px no-repeat;border:1.5px solid #ffffffd9;position:absolute;inset:12px}.scan-grid{pointer-events:none;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:24px 24px;animation:3.5s ease-in-out infinite grid-pulse;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 30%,#0000 80%);mask-image:radial-gradient(circle,#000 30%,#0000 80%)}@keyframes grid-pulse{0%,to{opacity:.4}50%{opacity:.85}}.subscription.subscription-solo{grid-template-columns:1fr;max-width:720px;margin:0 auto}.particles-canvas{will-change:transform}.shine-on-view{will-change:background-position}.glow,.glow-dark{will-change:opacity}.showreel-video{will-change:opacity, transform}html{scroll-behavior:smooth}:focus-visible{outline:2px solid var(--blue-500);outline-offset:3px;border-radius:4px}.btn:focus-visible{outline-offset:4px}.cutaway:has(.scene-photoreal){aspect-ratio:3/2;background:var(--ink-900)}.scene-photoreal{transform-style:preserve-3d;position:absolute;inset:0}.cutaway-img{object-fit:cover;filter:saturate(1.06)contrast(1.03);will-change:transform;width:100%;height:100%;display:block;position:absolute;inset:0}.cutaway-vignette{pointer-events:none;background:radial-gradient(#0000 55%,#0a1a3a66 100%),linear-gradient(#0a1a3a00 75%,#0a1a3a8c 100%);position:absolute;inset:0}.cutaway-spotlight{pointer-events:none;background:radial-gradient(circle 140px at var(--sx,50%) var(--sy,50%), #7896dc8c 0%, #7896dc38 28%, transparent 65%);mix-blend-mode:screen;will-change:background;transition:background .7s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.cutaway:has(.scene-photoreal) .hotspot{background:#ffffffeb;border:1.5px solid #ffffff80;width:22px;height:22px;margin:-11px 0 0 -11px;box-shadow:0 4px 14px #0a1a3a59,0 0 0 1px #0a1a3a66}.cutaway:has(.scene-photoreal) .hotspot:before{border-color:#ffffff8c}:is(.cutaway:has(.scene-photoreal) .hotspot:hover,.cutaway:has(.scene-photoreal) .hotspot.active){background:var(--cream);border-color:var(--cream);transform:scale(1.18);box-shadow:0 6px 20px #0a1a3a8c,0 0 0 2px #22c55e99}.cutaway:has(.scene-photoreal) .hotspot.active:after{background:var(--ink-900)}.cutaway:has(.scene-photoreal) .cutaway-readout{-webkit-backdrop-filter:blur(14px)saturate(1.1);background:#0a1a3ac7}.dot-online{background:#22c55e;border-radius:50%;width:8px;height:8px;display:inline-block;position:relative;box-shadow:0 0 0 3px #22c55e38}.dot-online:after{content:"";border:1.5px solid #22c55e80;border-radius:50%;animation:2.2s cubic-bezier(.22,1,.36,1) infinite online-ping;position:absolute;inset:-3px}@keyframes online-ping{0%{opacity:.9;transform:scale(.6)}80%{opacity:0;transform:scale(2.4)}to{opacity:0;transform:scale(2.4)}}.founder-quote em.glow-dark,.founder-quote em.glow{padding-right:.1em}.included-banner{background:var(--linen);border:1px solid var(--ink-100);color:var(--ink-700);border-left:3px solid #22c55e;border-radius:8px;align-items:center;gap:8px;margin:0 0 14px;padding:10px 14px;font-size:13px;line-height:1.5;display:flex}.included-banner-dark{color:#ffffffe6;background:#22c55e1f;border-color:#22c55e4d;margin-bottom:18px}.calendar-feed{background:var(--linen);border:1px solid var(--ink-100);border-radius:12px;margin-top:32px;padding:20px 22px}.calendar-feed .t{font-family:var(--serif);color:var(--ink-900);font-size:18px;font-style:italic}.calendar-feed .sub{color:var(--ink-600);margin-top:4px;font-size:13px;line-height:1.5}.calendar-feed-url{gap:8px;margin-top:14px;display:flex}.calendar-feed-url input{font-family:var(--mono);border:1px solid var(--ink-200);background:var(--paper);color:var(--ink-700);text-overflow:ellipsis;border-radius:6px;flex:1;padding:8px 12px;font-size:11px;overflow:hidden}.auth-page{background:radial-gradient(circle at 30% 0%, #5872c20f, transparent 50%), radial-gradient(circle at 80% 100%, #3a55a80d, transparent 60%), var(--bone);place-items:center;min-height:100vh;padding:32px 20px;display:grid}.auth-card{background:var(--paper);width:100%;max-width:440px;box-shadow:0 30px 80px -30px #0a1a3a2e, 0 0 0 1px var(--ink-100);border-radius:16px;padding:40px 36px}.auth-brand{font-family:var(--serif);color:var(--ink-900);margin-bottom:28px;font-size:22px;font-style:italic;text-decoration:none;display:block}.auth-h1{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink-900);margin:0;font-size:clamp(28px,5vw,38px);line-height:1.05}.auth-h1 em{color:var(--blue-600);font-style:italic}.auth-sub{color:var(--ink-500);margin:10px 0 28px;font-size:14px;line-height:1.5}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-form .field{flex-direction:column;gap:6px;display:flex}.auth-submit{justify-content:center;width:100%;margin-top:8px}.auth-foot{border-top:1px solid var(--ink-100);color:var(--ink-500);margin-top:24px;padding-top:20px;font-size:13px}.auth-foot a{color:var(--ink-900);text-underline-offset:3px;text-decoration:underline}.auth-error{color:var(--terra);background:#b25c3e14;border:1px solid #b25c3e40;border-radius:8px;margin-bottom:18px;padding:10px 14px;font-size:13px}.dashboard{background:radial-gradient(circle at 0% 0%, #5872c20d, transparent 40%), var(--bone);min-height:100vh;padding:32px clamp(20px,4vw,60px) 80px}.dashboard-nav{border-bottom:1px solid var(--ink-100);justify-content:space-between;align-items:center;margin-bottom:48px;padding-bottom:32px;display:flex}.dashboard-hero{max-width:720px;margin-bottom:56px}.dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.dash-card{background:var(--paper);border:1px solid var(--ink-100);transition:transform .2s var(--ease-smooth), box-shadow .2s var(--ease-smooth);border-radius:14px;padding:24px}.dash-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px -22px #0a1a3a2e}.dash-card .t{font-family:var(--serif);color:var(--ink-900);font-size:22px;font-style:italic}.dash-card .sub{color:var(--ink-500);margin-top:4px;font-size:13px;line-height:1.5}.dash-card .status{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-400);border-top:1px dashed var(--ink-100);margin-top:20px;padding-top:16px;font-size:10px}a.dash-card-link{color:inherit;cursor:pointer;text-decoration:none}a.dash-card-link .status{color:var(--blue-600)}.dash-breadcrumb{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-400);align-items:center;gap:10px;margin-bottom:32px;font-size:11px;display:flex}.dash-breadcrumb a{color:var(--ink-500);text-decoration:none}.dash-breadcrumb a:hover{color:var(--ink-900)}.auth-success{color:#166534;background:#22c55e14;border:1px solid #22c55e40;border-radius:8px;margin-bottom:18px;padding:10px 14px;font-size:13px}.auth-promo{background:var(--linen);border:1px solid var(--ink-100);color:var(--ink-700);border-radius:10px;align-items:center;gap:10px;margin-bottom:18px;padding:10px 14px;font-size:13px;display:flex}.auth-promo-tag{font-family:var(--mono);letter-spacing:.12em;background:var(--ink-900);color:var(--cream);border-radius:4px;padding:4px 8px;font-size:11px;font-weight:600}.house-form{flex-direction:column;gap:32px;max-width:920px;display:flex}.house-form fieldset{border:1px solid var(--ink-100);background:var(--paper);border-radius:14px;padding:24px 28px}.house-form legend{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500);padding:0 10px;font-size:11px}.house-form .grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:12px;display:grid}@media (max-width:720px){.house-form .grid-2{grid-template-columns:1fr}}.field-textarea{resize:vertical;min-height:80px;padding:10px 12px;font-family:inherit;line-height:1.5}.rooms-section{border-top:1px solid var(--ink-100);max-width:920px;margin-top:56px;padding-top:32px}.rooms-section h2{margin:0 0 4px}.room-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin:0 0 24px;padding:0;list-style:none;display:grid}.room-card{background:var(--paper);border:1px solid var(--ink-100);border-radius:12px;align-items:flex-start;gap:6px;padding:16px;display:flex}.room-form{flex-direction:column;flex:1;gap:10px;display:flex}.room-name{font-family:var(--serif);font-size:18px;font-style:italic}.room-actions{gap:8px;display:flex}.btn-sm{padding:6px 12px;font-size:12px}.room-delete{margin-left:auto}.btn-icon{border:1px solid var(--ink-200);background:var(--paper);width:28px;height:28px;color:var(--ink-500);cursor:pointer;border-radius:50%;place-items:center;font-size:18px;line-height:1;display:grid}.btn-icon:hover{background:var(--ink-900);color:var(--cream);border-color:var(--ink-900)}.room-add{background:var(--linen);border-radius:12px;grid-template-columns:1fr 1.4fr auto;gap:10px;padding:14px;display:grid}@media (max-width:720px){.room-add{grid-template-columns:1fr}}.profile-phone-zip-row{grid-template-columns:2fr 1fr;gap:16px;display:grid}@media (max-width:560px){.profile-phone-zip-row{grid-template-columns:1fr}}@media (max-width:720px){.house-form .grid-2{gap:14px;grid-template-columns:1fr!important}.house-form fieldset{padding:18px 20px}.room-list,.room-add{grid-template-columns:1fr}.showreel-music{gap:8px;padding:8px 12px 8px 10px;font-size:9px;top:16px;right:16px}.showreel-music .lbl{display:none}.hero-stats{gap:18px}.hero-stat .n{font-size:28px}}@media (max-width:500px){.auth-card{border-radius:14px;padding:32px 24px}.auth-h1{font-size:26px}}.overview-ai-row{grid-template-columns:1fr;gap:14px;margin-bottom:32px;display:grid}@media (min-width:820px){.overview-ai-row{grid-template-columns:1.4fr 1fr;gap:16px}}.cadence-card{background:linear-gradient(180deg, var(--paper) 0%, var(--linen) 100%);border:1px solid var(--ink-100);border-left:3px solid var(--blue-500);border-radius:12px;padding:20px 24px;position:relative}.cadence-card.loading:after{content:"";background:linear-gradient(90deg,#0000,#3a55a899,#0000);height:2px;animation:1.8s ease-in-out infinite sop-scan;position:absolute;bottom:0;left:0;right:0}.cad-eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500);font-size:10px}.cadence-card.loading .cad-eyebrow{color:var(--blue-600)}.cad-headline{align-items:baseline;gap:8px;margin-top:10px;display:flex}.cad-tier{font-family:var(--serif);color:var(--ink-900);font-size:24px;font-style:italic}.cad-dot{color:var(--ink-400)}.cad-cadence{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-700);background:var(--paper);border:1px solid var(--ink-200);border-radius:999px;padding:4px 10px;font-size:11px}.cad-reason{color:var(--ink-600);margin-top:10px;font-size:13px;font-style:italic;line-height:1.55}.cad-actions{align-items:center;gap:10px;margin-top:14px;display:flex}.cad-regen{border:1px solid var(--ink-200);color:var(--ink-600);font-size:11px;font-family:var(--mono);letter-spacing:.1em;cursor:pointer;background:0 0;border-radius:999px;padding:6px 12px}.cad-regen:hover{border-color:var(--ink-900);color:var(--ink-900)}.cad-error{color:var(--terra);margin-top:6px;font-size:12px}.cad-body{color:var(--ink-700);margin-top:8px;font-size:14px;line-height:1.5}.aqi-card{background:var(--paper);border:1px solid var(--ink-100);border-radius:12px;padding:20px 22px}.aqi-eyebrow{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500);font-size:10px}.aqi-main{align-items:baseline;gap:18px;margin-top:12px;display:flex}.aqi-number{font-family:var(--serif);font-size:56px;font-style:italic;line-height:1}.aqi-side{flex-direction:column;gap:4px;display:flex}.aqi-level{font-family:var(--serif);font-size:16px;font-style:italic}.aqi-pollutant{font-family:var(--mono);letter-spacing:.12em;color:var(--ink-500);font-size:10px}.aqi-insight{color:var(--ink-600);border-top:1px dashed var(--ink-100);margin-top:14px;padding-top:14px;font-size:12px;line-height:1.5}.services-grid{grid-template-columns:1fr;gap:18px;max-width:920px;display:grid}@media (min-width:720px) and (max-width:1023px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.services-grid{grid-template-columns:repeat(3,1fr)}}.service-card{background:var(--paper);border:1px solid var(--ink-100);transition:transform .2s var(--ease-smooth), box-shadow .2s;border-radius:16px;flex-direction:column;gap:20px;padding:28px 30px;display:flex}.service-card:hover{transform:translateY(-2px);box-shadow:0 24px 60px -30px #0a1a3a2e}.service-card.tier-deep{background:linear-gradient(180deg, var(--ink-900) 0%, #0a1a3a 100%);color:var(--cream);border-color:#ffffff1a}.service-card.tier-deep .service-name,.service-card.tier-deep .service-num{color:var(--cream)}.service-card.tier-deep .service-cadence,.service-card.tier-deep .service-price .unit,.service-card.tier-deep .service-ops li,.service-card.tier-deep .op-num{color:#ffffffb3}.service-card.tier-deep .service-price .amount{color:var(--cream)}.service-head{border-bottom:1px solid var(--ink-100);grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding-bottom:18px;display:grid}.service-card.tier-deep .service-head{border-bottom-color:#ffffff1a}.service-num{font-family:var(--mono);letter-spacing:.14em;color:var(--ink-400);font-size:11px}.service-name{font-family:var(--serif);color:var(--ink-900);font-size:26px;font-style:italic}.service-cadence{color:var(--ink-500);margin-top:2px;font-size:12px}.service-price{text-align:right}.service-price .dollar{color:var(--ink-500);vertical-align:top;font-size:14px}.service-price .amount{font-family:var(--serif);color:var(--ink-900);font-size:28px;font-style:italic}.service-price .unit{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-500);font-size:10px;display:block}.service-ops{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.service-ops li{color:var(--ink-700);grid-template-columns:26px 1fr;gap:8px;font-size:13px;line-height:1.5;display:grid}.op-num{font-family:var(--mono);color:var(--blue-600);letter-spacing:.08em;padding-top:3px;font-size:10px}.service-foot{margin-top:auto;padding-top:12px}.dash-book-cta{text-align:center;background:var(--ink-900);color:var(--cream);font-family:var(--serif);transition:transform .18s var(--ease-smooth), background .18s;border-radius:10px;margin-bottom:8px;padding:12px 14px;font-size:15px;font-style:italic;text-decoration:none;display:block}.dash-book-cta:hover{background:var(--blue-600);transform:translateY(-1px)}@media (max-width:880px){.dash-book-cta{margin-bottom:0;padding:8px 14px;font-size:13px}}.next-clean-card{background:linear-gradient(135deg, var(--ink-900) 0%, #1a2c55 100%);color:var(--cream);border-radius:16px;margin-bottom:36px;padding:28px 32px;position:relative;overflow:hidden}.next-clean-card:after{content:"";pointer-events:none;background:radial-gradient(circle,#7896dc2e 0%,#0000 60%);width:320px;height:320px;position:absolute;top:-50%;right:-10%}.nc-eyebrow{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#ffffffa6;align-items:center;gap:8px;font-size:10px;display:inline-flex}.nc-when{font-family:var(--serif);margin-top:10px;font-size:28px;font-style:italic;line-height:1.1}.nc-tier{color:#ffffffb3;margin-top:4px;font-size:13px}.nc-count{flex-wrap:wrap;gap:28px;margin-top:20px;display:flex}@media (max-width:560px){.next-clean-card{padding:22px}.nc-when{font-size:22px}.nc-count{gap:18px}.nc-count .n{font-size:34px}}.nc-count>div{flex-direction:column;align-items:flex-start;display:flex}.nc-count .n{font-family:var(--serif);color:var(--cream);font-size:46px;font-style:italic;line-height:1}.nc-count .l{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#ffffff80;margin-top:6px;font-size:10px}.next-clean-card.live .nc-when{color:#4ade80}.bookings-section{max-width:920px}.booking-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.booking-card{background:var(--paper);border:1px solid var(--ink-100);border-radius:12px;grid-template-columns:62px 1fr auto auto;align-items:center;gap:18px;padding:16px 18px;display:grid}.booking-card.status-complete{background:linear-gradient(180deg, var(--paper) 0%, var(--linen) 100%)}.booking-card.status-cancelled{opacity:.55}.booking-date{background:var(--ink-900);color:var(--cream);text-align:center;border-radius:10px;width:56px;padding:8px 0}.booking-date .day{font-family:var(--serif);font-size:26px;font-style:italic;line-height:1}.booking-date .mon{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#ffffffb3;margin-top:4px;font-size:9px}.booking-body{min-width:0}.booking-row-top{align-items:center;gap:10px;margin-bottom:4px;display:flex}.booking-tier{font-family:var(--serif);color:var(--ink-900);font-size:19px;font-style:italic}.booking-status{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;background:var(--linen);color:var(--ink-700);border-radius:4px;padding:3px 8px;font-size:9px}.booking-status.status-scheduled{color:#3730a3;background:#e0e7ff}.booking-status.status-confirmed{color:#166534;background:#dcfce7}.booking-status.status-en_route{color:#92400e;background:#fef3c7}.booking-status.status-in_progress{color:#78350f;background:#fde68a}.booking-status.status-complete{color:#065f46;background:#d1fae5}.booking-status.status-cancelled{color:#991b1b;background:#fee2e2}.booking-when{color:var(--ink-600);font-size:13px}.booking-addons{color:var(--blue-600);font-size:11px;font-family:var(--mono);margin-top:4px}.booking-notes{color:var(--ink-500);margin-top:6px;font-size:12px;font-style:italic}.booking-price{text-align:right}.booking-price .amount{font-family:var(--serif);color:var(--ink-900);font-size:22px;font-style:italic}.booking-price .sub{color:var(--ink-500);letter-spacing:.1em;text-transform:uppercase;margin-top:2px;font-size:10px}@media (max-width:720px){.booking-card{grid-template-columns:52px 1fr;row-gap:12px;padding:14px 16px}.booking-price{text-align:left;grid-column:2}.booking-price .amount{font-size:18px}.booking-card form,.booking-card a{grid-column:1/-1;justify-self:flex-end}.booking-tier{font-size:17px}}.book-form{flex-direction:column;gap:28px;display:flex}.book-form fieldset{border:1px solid var(--ink-100);background:var(--paper);border-radius:12px;padding:18px 22px}.book-form legend{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500);padding:0 8px;font-size:11px}.book-tier input{opacity:0;pointer-events:none;position:absolute}.book-tier-card{border:1px solid var(--ink-200);cursor:pointer;border-radius:10px;padding:14px 16px;transition:border-color .18s,background .18s}.book-tier-card .t{font-family:var(--serif);color:var(--ink-900);font-size:18px;font-style:italic}.book-tier-card .sub{color:var(--ink-500);margin-top:4px;font-size:11px}.book-tier input:checked+.book-tier-card{border-color:var(--ink-900);background:var(--linen)}.book-days{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}@media (max-width:720px){.book-days{grid-template-columns:repeat(4,1fr);gap:6px}.book-day-card{padding:10px 4px}.book-day-card .num{font-size:18px}}@media (max-width:400px){.book-days{grid-template-columns:repeat(3,1fr)}}.book-day input{opacity:0;pointer-events:none;position:absolute}.book-day-card{border:1px solid var(--ink-200);text-align:center;cursor:pointer;border-radius:8px;padding:8px 4px;transition:all .18s}.book-day.weekend .book-day-card{opacity:.55}.book-day-card .dow{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-500);font-size:9px}.book-day-card .num{font-family:var(--serif);font-size:20px;font-style:italic;line-height:1.2}.book-day-card .mon{color:var(--ink-500);font-size:9px}.book-day input:checked+.book-day-card{background:var(--ink-900);color:var(--cream);border-color:var(--ink-900)}.book-day input:checked+.book-day-card .dow,.book-day input:checked+.book-day-card .mon{color:#ffffffb3}.book-slots{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}@media (max-width:480px){.book-slots{grid-template-columns:1fr}}.book-slot input{opacity:0;pointer-events:none;position:absolute}.book-slot span{border:1px solid var(--ink-200);text-align:center;cursor:pointer;border-radius:8px;padding:10px 14px;font-size:13px;display:block}.book-slot input:checked+span{background:var(--ink-900);color:var(--cream);border-color:var(--ink-900)}.book-addons{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}@media (max-width:560px){.book-addons{grid-template-columns:1fr}}.book-tiers{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}@media (max-width:560px){.book-tiers{grid-template-columns:1fr}}.book-addon{border:1px solid var(--ink-200);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.book-addon input{width:16px;height:16px}.book-addon .t{color:var(--ink-700);flex:1}.book-addon .price{color:var(--ink-500);font-family:var(--mono);font-size:11px}.book-addon:has(input:checked){background:var(--linen);border-color:var(--ink-900)}.review-form{flex-direction:column;gap:20px;display:flex}.review-form fieldset{border:1px solid var(--ink-100);background:var(--paper);border-radius:12px;padding:16px 22px}.review-form legend{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500);padding:0 8px;font-size:11px}.star-row{gap:4px;display:flex}.star-pick input{display:none}.star-pick span{cursor:pointer;color:var(--ink-200);font-size:36px;transition:color .15s,transform .15s}.star-pick:hover span{transform:scale(1.1)}.star-pick input:checked+span,.star-row:hover .star-pick span{color:#fbbf24}.star-pick:has(~.star-pick input:checked) span{color:#fbbf24}.star-row{flex-direction:row-reverse;justify-content:flex-end}.star-pick input:checked~span,.star-pick:hover~.star-pick span,.star-pick input:checked+span{color:#fbbf24}.recommend-row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.recommend-row legend{width:100%}.recommend-row label{color:var(--ink-700);cursor:pointer;align-items:center;gap:6px;font-size:14px;display:flex}.stream-list{flex-direction:column;gap:12px;margin:24px 0 0;padding:0;list-style:none;display:flex}.stream-item{background:var(--paper);border:1px solid var(--ink-100);border-radius:12px;grid-template-columns:100px 1fr auto;align-items:start;gap:14px;padding:12px;display:grid;position:relative;overflow:hidden}.stream-item:before{content:"";background:var(--ink-200);width:3px;transition:background .22s;position:absolute;top:0;bottom:0;left:0}.stream-item.status-uploading:before{background:linear-gradient(#b6c0e0,#5872c2)}.stream-item.status-analyzing:before{background:linear-gradient(#4ade80,#22c55e);animation:1.4s ease-in-out infinite stream-pulse}.stream-item.status-done:before{background:#22c55e}.stream-item.status-error:before{background:var(--terra)}@keyframes stream-pulse{0%,to{opacity:.55}50%{opacity:1}}.stream-thumb{background:var(--ink-100);border-radius:8px;width:100px;height:75px;position:relative;overflow:hidden}.stream-thumb img{object-fit:cover;width:100%;height:100%;display:block}.stream-tag{color:var(--cream);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;text-align:center;background:#0a1a3abf;padding:3px 0;font-size:8px;position:absolute;bottom:0;left:0;right:0}.stream-body{min-width:0;padding-top:2px}.stream-meta{align-items:center;gap:8px;margin-bottom:6px;display:flex}.stream-pulse{background:#22c55e;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite stream-pulse-dot;box-shadow:0 0 0 3px #22c55e40}@keyframes stream-pulse-dot{0%,to{transform:scale(1)}50%{transform:scale(1.4);box-shadow:0 0 0 5px #22c55e2e}}.stream-filename{font-family:var(--mono);color:var(--ink-500);font-size:11px}.stream-text{color:var(--ink-700);font-family:inherit;font-size:13px;line-height:1.5}.stream-caret{color:var(--blue-600);margin-left:2px;animation:.9s step-end infinite caret-blink;display:inline-block}@keyframes caret-blink{0%,50%{opacity:1}51%,to{opacity:0}}.stream-dismiss{width:22px;height:22px;color:var(--ink-400);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;font-size:18px;display:grid}.stream-dismiss:hover{background:var(--ink-100);color:var(--ink-900)}.room-sop{background:linear-gradient(180deg, var(--ink-900) 0%, #0a1a3a 100%);color:var(--cream);border-radius:10px;margin-top:14px;padding:12px 16px;position:relative;overflow:hidden}.room-sop.is-streaming:after{content:"";background:linear-gradient(90deg,#0000,#4ade8099,#0000);height:2px;animation:1.8s ease-in-out infinite sop-scan;position:absolute;bottom:0;left:0;right:0}@keyframes sop-scan{0%,to{transform:translate(-100%)}50%{transform:translate(100%)}}.room-sop-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.room-sop-tag{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#ffffff8c;font-size:9px}.room-sop.is-streaming .room-sop-tag{color:#4ade80}.room-sop-regen{color:#ffffffb3;letter-spacing:.1em;cursor:pointer;font-size:10px;font-family:var(--mono);background:0 0;border:1px solid #fff3;border-radius:999px;padding:4px 10px}.room-sop-regen:hover{color:var(--cream);border-color:#ffffff80}.room-sop-body{color:#ffffffdb;white-space:pre-wrap;font-size:12.5px;line-height:1.55}.room-sop-error{color:var(--terra);margin-bottom:6px;font-size:11px}.showreel-music{z-index:5;-webkit-backdrop-filter:blur(10px);color:var(--cream);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background .2s, border-color .2s, transform .2s var(--ease-smooth);background:#0a1a3a73;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:10px;padding:10px 16px 10px 12px;font-size:10px;display:inline-flex;position:absolute;top:24px;right:24px}.showreel-music:hover{background:#0a1a3aa6;border-color:#ffffff73;transform:translateY(-1px)}.showreel-music .bars{align-items:flex-end;gap:2px;height:14px;display:inline-flex}.showreel-music .bars span{background:var(--cream);border-radius:1.5px;width:2.5px;height:4px;transition:height .2s,background .2s}.showreel-music.on{background:#22c55e2e;border-color:#22c55e73}.showreel-music.on .bars span{background:#4ade80;animation:.9s ease-in-out infinite music-bar}.showreel-music.on .bars span:first-child{animation-delay:0s}.showreel-music.on .bars span:nth-child(2){animation-delay:.18s}.showreel-music.on .bars span:nth-child(3){animation-delay:.36s}.showreel-music.on .bars span:nth-child(4){animation-delay:.12s}@keyframes music-bar{0%,to{height:4px}50%{height:13px}}@media (prefers-reduced-motion:reduce){.showreel-music.on .bars span{height:9px;animation:none}}.dash-shell{background:var(--bone);grid-template-columns:240px 1fr;min-height:100vh;display:grid}.dash-sidebar{background:var(--paper);border-right:1px solid var(--ink-100);flex-direction:column;align-self:start;gap:28px;height:100vh;padding:28px 22px;display:flex;position:sticky;top:0}.dash-brand{font-family:var(--serif);color:var(--ink-900);font-size:22px;font-style:italic;line-height:1;text-decoration:none}.dash-nav{flex-direction:column;flex:1;gap:4px;display:flex}.dash-nav a{color:var(--ink-600);transition:background .15s var(--ease-smooth), color .15s;border-radius:9px;padding:10px 14px;font-size:14px;text-decoration:none}.dash-nav a:hover{background:var(--linen);color:var(--ink-900)}.dash-nav a[aria-current=page]{background:var(--ink-900);color:var(--cream);font-weight:500}.dash-nav-admin{border-top:1px dashed var(--ink-200);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;margin-top:12px;padding-top:12px;font-size:10px}.dash-nav a.dash-nav-admin{color:var(--blue-600)}.dash-foot{border-top:1px solid var(--ink-100);flex-direction:column;gap:14px;padding-top:18px;display:flex}.dash-who{align-items:center;gap:10px;display:flex}.dash-who .av{background:var(--ink-900);width:32px;height:32px;color:var(--cream);font-family:var(--serif);border-radius:50%;place-items:center;font-size:14px;font-style:italic;display:grid}.dash-who .name{color:var(--ink-900);font-size:13px;font-weight:500}.dash-who .sub{color:var(--ink-400);font-size:11px}.dash-signout{border:1px solid var(--ink-200);color:var(--ink-600);cursor:pointer;text-align:left;background:0 0;border-radius:8px;width:100%;padding:7px 12px;font-size:12px}.dash-signout:hover{border-color:var(--ink-900);color:var(--ink-900)}.dash-main{width:100%;max-width:1200px;padding:48px clamp(20px,4vw,56px)}@media (max-width:900px){.dash-shell{grid-template-columns:1fr}.dash-sidebar{z-index:50;border-right:none;border-bottom:1px solid var(--ink-100);flex-direction:row;align-items:center;gap:10px;height:auto;padding:10px 14px;position:sticky;top:0}.dash-brand{flex-shrink:0;font-size:18px}.dash-nav{scrollbar-width:none;-ms-overflow-style:none;flex-direction:row;flex:1;gap:2px;overflow-x:auto}.dash-nav::-webkit-scrollbar{display:none}.dash-nav a{white-space:nowrap;padding:7px 10px;font-size:12px}.dash-nav-admin{display:none}.dash-book-cta{flex-shrink:0;margin-bottom:0;padding:7px 12px;font-size:13px}.dash-foot{border-top:none;flex-direction:row;gap:8px;padding-top:0}.dash-who{display:none}.dash-signout{width:auto;padding:6px 10px}.dash-main{max-width:100%;padding:20px 14px 60px}}.overview-hero{margin-bottom:36px}.overview-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:36px;display:grid}@media (max-width:500px){.overview-stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:16px 18px}.stat-card .v{font-size:26px}}.stat-card{background:var(--paper);border:1px solid var(--ink-100);color:var(--ink-900);transition:transform .18s var(--ease-smooth), border-color .18s;border-radius:12px;padding:20px 22px;text-decoration:none;display:block}.stat-card:hover{border-color:var(--ink-300);transform:translateY(-2px)}.stat-card .v{font-family:var(--serif);font-size:32px;font-style:italic;line-height:1}.stat-card .l{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500);margin-top:10px;font-size:11px}.stat-card.accent-good .v{color:var(--ink-900)}.stat-card.accent-warn .v{color:var(--terra)}.stat-card.accent-alert .v{color:#c92a2a}.stat-card.accent-alert{background:#fff5f5;border-color:#ffd1d1}.overview-prompt{background:var(--ink-900);color:var(--cream);border-radius:14px;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:40px;padding:28px 32px;display:flex}.overview-prompt .t{font-family:var(--serif);font-size:26px;font-style:italic}.overview-prompt .sub{color:#ffffffb3;max-width:50ch;font-size:14px;line-height:1.5}.overview-h2{font-family:var(--serif);color:var(--ink-900);margin:0 0 16px;font-size:clamp(22px,3vw,26px);font-style:italic}.overview-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;display:grid}@media (max-width:500px){.overview-cards{grid-template-columns:1fr;gap:10px}}.quick-card{background:var(--paper);border:1px solid var(--ink-100);color:inherit;border-radius:12px;padding:20px;text-decoration:none;transition:transform .18s,border-color .18s}.quick-card:hover{border-color:var(--ink-300);transform:translateY(-2px)}.quick-card .t{font-family:var(--serif);color:var(--ink-900);font-size:20px;font-style:italic}.quick-card .sub{color:var(--ink-500);margin-top:6px;font-size:13px;line-height:1.45}.photo-list{flex-direction:column;gap:20px;margin:0;padding:0;list-style:none;display:flex}.photo-row{background:var(--paper);border:1px solid var(--ink-100);border-radius:14px;grid-template-columns:280px 1fr auto;align-items:start;gap:20px;padding:16px;display:grid}.photo-row-img{aspect-ratio:4/3;background:var(--ink-900);border-radius:10px;position:relative;overflow:hidden}.photo-row-img img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.photo-row-tag{color:var(--cream);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;background:#0a1a3abf;border-radius:4px;padding:4px 8px;font-size:9px;position:absolute;top:10px;left:10px}.photo-row-body{flex-direction:column;gap:14px;min-width:0;display:flex}.photo-ai{background:var(--linen);border-left:2px solid var(--blue-500);border-radius:6px;padding:10px 14px}.photo-ai-tag{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500);margin-bottom:4px;font-size:9px}.photo-ai-text{color:var(--ink-700);font-size:13px;line-height:1.5}.photo-ai-pending .photo-ai-text{color:var(--ink-400);font-style:italic}.photo-edit-form{flex-direction:column;gap:8px;display:flex}.photo-edit-form .field-label{margin-bottom:0}.photo-row-actions{align-items:center;gap:8px;display:flex}.photo-row-delete .btn-icon{background:0 0}@media (max-width:820px){.photo-row{grid-template-columns:1fr;position:relative}.photo-row-delete{position:absolute;top:12px;right:12px}.photo-row-img{aspect-ratio:16/10}}.chat-thread{background:var(--paper);border:1px solid var(--ink-100);border-radius:16px;flex-direction:column;height:clamp(520px,70vh,720px);display:flex;overflow:hidden}@media (max-width:720px){.chat-thread{border-radius:12px;height:clamp(420px,65vh,600px)}.chat-thread-head{padding:12px 14px}.chat-thread-body{padding:14px 12px}}.chat-thread-head{border-bottom:1px solid var(--ink-100);background:var(--paper);align-items:center;gap:12px;padding:14px 18px;display:flex}.chat-thread-head .av{background:var(--ink-900);width:36px;height:36px;color:var(--cream);font-family:var(--serif);border-radius:50%;place-items:center;font-size:18px;font-style:italic;display:grid}.chat-thread-head .name{font-family:var(--serif);color:var(--ink-900);font-size:18px;font-style:italic}.chat-thread-head .role{color:var(--ink-500);align-items:center;gap:6px;margin-top:2px;font-size:11px;display:flex}.chat-thread-body{background:linear-gradient(180deg, var(--linen) 0%, var(--paper) 100%);flex-direction:column;flex:1;gap:10px;padding:20px 18px;display:flex;overflow-y:auto}.chat-thread-body .chat-empty{color:var(--ink-500);text-align:center;max-width:28ch;margin:auto;font-size:14px;line-height:1.5}.chat-thread-body .msg{width:100%;display:block}.chat-thread-body .msg.user{text-align:right}.chat-thread-body .msg .bubble{text-align:left;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;border-radius:14px;max-width:75%;padding:10px 14px;font-size:14px;line-height:1.45;display:inline-block}.chat-thread-body .msg.bot .bubble{background:var(--paper);border:1px solid var(--ink-100);color:var(--ink-900);border-bottom-left-radius:4px}.chat-thread-body .msg.user .bubble{background:var(--ink-900);color:var(--cream);border-bottom-right-radius:4px}.chat-thread .chat-input{border-top:1px solid var(--ink-100);background:var(--paper);gap:8px;padding:12px 14px;display:flex}.chat-thread .chat-input input{border:1px solid var(--ink-200);background:var(--bone);border-radius:10px;flex:1;padding:10px 14px;font-family:inherit;font-size:14px}.chat-thread .chat-input input:focus{border-color:var(--ink-900);outline:none}.admin-section{margin-top:32px}.admin-h2{font-family:var(--serif);color:var(--ink-900);margin:0 0 16px;font-size:clamp(22px,3vw,28px);font-style:italic}.admin-member-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.admin-member-row{background:var(--paper);border:1px solid var(--ink-100);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;transition:border-color .18s,box-shadow .18s;display:flex}@media (max-width:640px){.admin-member-row{flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px}.admin-member-row .member-actions{justify-content:space-between;width:100%}.admin-member-row .member-last-msg{white-space:normal;max-height:3em;overflow:hidden}}.admin-member-row:hover{border-color:var(--ink-300);box-shadow:0 10px 30px -20px #0a1a3a2e}.admin-member-row .member-info{min-width:0;color:inherit;flex:1;text-decoration:none}.admin-member-row .member-name{font-family:var(--serif);color:var(--ink-900);font-size:20px;font-style:italic}.admin-member-row .member-meta{color:var(--ink-500);margin-top:2px;font-size:12px}.admin-member-row .member-last-msg{color:var(--ink-700);text-overflow:ellipsis;white-space:nowrap;max-width:60ch;margin-top:8px;font-size:13px;font-style:italic;overflow:hidden}.admin-member-row .member-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.unread-pill{background:var(--terra);color:var(--cream);font-family:var(--mono);text-align:center;border-radius:999px;min-width:22px;padding:3px 8px;font-size:11px;font-weight:600}.admin-grid{grid-template-columns:1.2fr 1fr;gap:24px;display:grid}@media (max-width:880px){.admin-grid{grid-template-columns:1fr}}.admin-card{background:var(--paper);border:1px solid var(--ink-100);border-radius:14px;padding:24px 28px}.admin-dl{grid-template-columns:max-content 1fr;gap:10px 20px;margin:0;font-size:13px;display:grid}.admin-dl dt{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-500);padding-top:3px;font-size:10px}.admin-dl dd{color:var(--ink-900);margin:0;line-height:1.45}.admin-booking-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.admin-booking-row{background:var(--paper);border:1px solid var(--ink-100);border-radius:10px;grid-template-columns:52px 1fr auto auto;align-items:center;gap:16px;padding:12px 16px;display:grid}.admin-booking-row.status-cancelled{opacity:.55}.ab-date{background:var(--ink-900);color:var(--cream);text-align:center;border-radius:8px;width:48px;padding:6px 0}.ab-date .day{font-family:var(--serif);font-size:22px;font-style:italic;line-height:1}.ab-date .mon{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#ffffffb3;margin-top:2px;font-size:9px}.ab-body{min-width:0}.ab-row-top{align-items:center;gap:10px;display:flex}.ab-tier{font-family:var(--serif);color:var(--ink-900);font-size:16px;font-style:italic}.ab-when{color:var(--ink-600);margin-top:2px;font-size:12px}.ab-when a{color:var(--blue-600);text-decoration:none}.ab-when a:hover{text-decoration:underline}.ab-notes{color:var(--ink-500);margin-top:4px;font-size:11px;font-style:italic}.ab-price{text-align:right}.ab-price .amount{font-family:var(--serif);color:var(--ink-900);font-size:18px;font-style:italic}.ab-price .sub{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-500);margin-top:2px;font-size:9px}@media (max-width:640px){.admin-booking-row{grid-template-columns:48px 1fr auto;gap:12px;padding:10px 12px}.admin-booking-row .btn{grid-column:1/-1;justify-self:flex-end}}.admin-room-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.admin-room-list li{border-left:2px solid var(--blue-500);padding-left:12px}.admin-room-list .t{font-family:var(--serif);color:var(--ink-900);font-size:18px;font-style:italic}.admin-room-list .sub{color:var(--ink-600);margin-top:2px;font-size:13px}.photo-dropzone{border:1.5px dashed var(--ink-200);text-align:center;cursor:pointer;background:var(--paper);border-radius:14px;padding:38px 24px;transition:background .18s,border-color .18s;position:relative}.photo-dropzone:hover,.photo-dropzone.over{background:var(--linen);border-color:var(--ink-900)}.photo-dropzone.uploading{opacity:.6;cursor:progress}.dz-icon{background:var(--ink-900);width:44px;height:44px;color:var(--cream);border-radius:50%;place-items:center;margin:0 auto 12px;font-size:22px;display:grid}.dz-t{font-family:var(--serif);color:var(--ink-900);font-size:20px;font-style:italic}.dz-sub{color:var(--ink-500);margin-top:6px;font-size:12px}.dz-error{color:var(--terra);margin-top:10px;font-size:12px}.dz-progress{color:var(--blue-600);font-size:12px;font-family:var(--mono);margin-top:10px}.photo-upload-compact{flex-direction:column;gap:4px;display:inline-flex}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.photo-card{background:var(--ink-900);aspect-ratio:4/3;border-radius:12px;position:relative;overflow:hidden}.photo-card img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.photo-card .photo-meta{color:var(--cream);background:linear-gradient(#0000,#0a1a3abf);justify-content:space-between;align-items:center;padding:10px 12px;display:flex;position:absolute;bottom:0;left:0;right:0}.photo-card .photo-kind{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;font-size:10px}.photo-card .btn-icon{color:var(--cream);background:#ffffff2e;border-color:#ffffff40;width:26px;height:26px}.photo-card .btn-icon:hover{background:var(--terra);border-color:var(--terra)}.photo-broken{color:#ffffff80;place-items:center;height:100%;font-size:12px;display:grid}.empty-state{text-align:center;color:var(--ink-500);padding:60px 20px}.empty-icon{margin-bottom:12px;font-size:36px}.empty-t{font-family:var(--serif);color:var(--ink-700);font-size:22px;font-style:italic}.empty-sub{margin-top:6px;font-size:13px}.room-photos{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.room-photo-thumb{background:var(--ink-100);border-radius:8px;width:54px;height:54px;position:relative;overflow:hidden}.room-photo-thumb img{object-fit:cover;width:100%;height:100%;display:block}.mcta-backdrop{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#0a1a3a8c;place-items:center;padding:20px;animation:.22s ease-out mcta-fade;display:grid;position:fixed;inset:0}.mcta-card{background:var(--paper);border-radius:18px;width:100%;max-width:520px;padding:40px 36px 32px;animation:.28s cubic-bezier(.22,1,.36,1) mcta-rise;position:relative;box-shadow:0 60px 120px -40px #0a1a3a99,0 0 0 1px #0a1a3a0a}.mcta-close{width:32px;height:32px;color:var(--ink-400);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;font-size:22px;line-height:1;display:grid;position:absolute;top:12px;right:14px}.mcta-close:hover{background:var(--ink-100);color:var(--ink-900)}.mcta-eyebrow{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-500);align-items:center;gap:8px;margin-bottom:18px;font-size:10px;display:inline-flex}.mcta-h{font-family:var(--serif);color:var(--ink-900);margin:0 0 12px;font-size:clamp(26px,4.5vw,34px);line-height:1.1}.mcta-h em{color:var(--blue-600);font-style:italic}.mcta-pct{background:linear-gradient(#22c55e,#16a34a);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:italic}.mcta-sub{color:var(--ink-600);margin:0 0 20px;font-size:14px;line-height:1.55}.mcta-perks{flex-direction:column;gap:10px;margin:0 0 24px;padding:0;list-style:none;display:flex}.mcta-perks li{color:var(--ink-700);padding-left:22px;font-size:13px;line-height:1.45;position:relative}.mcta-perks li:before{content:"";background:radial-gradient(circle at 30% 30%,#4ade80,#16a34a);border-radius:50%;width:12px;height:12px;position:absolute;top:5px;left:0;box-shadow:0 0 0 3px #22c55e1f}.mcta-actions{align-items:center;gap:14px;margin-bottom:16px;display:flex}.mcta-cta{flex:1;justify-content:center;font-size:14px}.mcta-skip{color:var(--ink-500);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;font-size:13px;text-decoration:underline}.mcta-skip:hover{color:var(--ink-900)}.mcta-fine{color:var(--ink-400);font-size:11px;line-height:1.5}@keyframes mcta-fade{0%{opacity:0}to{opacity:1}}@keyframes mcta-rise{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.mcta-backdrop,.mcta-card{animation:none}}.welcome-backdrop{-webkit-backdrop-filter:blur(10px);z-index:1100;background:#0a1a3a99;place-items:center;padding:20px;animation:.22s ease-out mcta-fade;display:grid;position:fixed;inset:0;overflow-y:auto}.welcome-card{background:var(--paper);border-radius:22px;width:100%;max-width:560px;max-height:calc(100vh - 40px);padding:44px 38px 30px;animation:.32s cubic-bezier(.22,1,.36,1) mcta-rise;position:relative;overflow-y:auto;box-shadow:0 80px 140px -40px #0a1a3aa6,0 0 0 1px #0a1a3a0a}.welcome-close{width:34px;height:34px;color:var(--ink-400);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;font-size:24px;line-height:1;transition:background .16s,color .16s;display:grid;position:absolute;top:14px;right:16px}.welcome-close:hover{background:var(--ink-100);color:var(--ink-900)}.welcome-eyebrow{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-500);align-items:center;gap:8px;margin-bottom:16px;font-size:10px;display:inline-flex}.welcome-h{font-family:var(--serif);color:var(--ink-900);margin:0 0 12px;font-size:clamp(28px,5vw,38px);line-height:1.05}.welcome-h em{color:var(--blue-600);font-style:italic}.welcome-sub{color:var(--ink-600);margin:0 0 22px;font-size:14px;line-height:1.6}.welcome-perks{flex-direction:column;gap:12px;margin:0 0 26px;padding:0;list-style:none;display:flex}.welcome-perks li{color:var(--ink-700);padding-left:26px;font-size:13.5px;line-height:1.55;position:relative}.welcome-perks li strong{color:var(--ink-900);font-weight:600}.welcome-perks li:before{content:"";background:radial-gradient(circle at 30% 30%,#4ade80,#16a34a);border-radius:50%;width:14px;height:14px;position:absolute;top:6px;left:0;box-shadow:0 0 0 3px #22c55e24}.welcome-step{background:var(--ink-50,#0a1a3a0a);border:1px solid #0a1a3a14;border-radius:14px;margin-bottom:14px;padding:18px}.welcome-step-eyebrow{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--blue-600);margin-bottom:6px;font-size:10px}.welcome-step-title{font-family:var(--serif);color:var(--ink-900);margin-bottom:6px;font-size:20px;font-style:italic}.welcome-step-sub{color:var(--ink-600);margin-bottom:14px;font-size:13px;line-height:1.5}.welcome-cta{justify-content:center;width:100%;font-size:14px}.welcome-skip{color:var(--ink-500);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;margin:0 auto;padding:8px 4px;font-size:13px;text-decoration:underline;display:block}.welcome-skip:hover{color:var(--ink-900)}@media (max-width:540px){.welcome-card{border-radius:18px;padding:36px 24px 24px}.welcome-perks li{font-size:13px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.hero .hero-still,.hero .hero-video,.hero .hero-copy{opacity:1!important;transform:none!important}.btn-primary,.btn-ghost,.chat-fab,.cta-magnetic{transform:none!important}.marquee-track,.scan-line,.scan-grid,.shimmer{animation:none!important}}.pollen-bar{background:var(--ink-900);color:var(--cream);font-family:var(--sans);letter-spacing:.04em;padding:10px var(--gutter);z-index:50;border-bottom:1px solid #ffffff14;align-items:center;gap:18px;font-size:12px;display:flex;position:relative;overflow:hidden}.pollen-bar .pulse{background:var(--signal);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:1.8s infinite bpulse;box-shadow:0 0 #c97442b3}@keyframes bpulse{0%{box-shadow:0 0 #c97442b3}70%{box-shadow:0 0 0 8px #c9744200}to{box-shadow:0 0 #c9744200}}.pollen-bar .reading{align-items:center;gap:14px;display:inline-flex}.pollen-bar .reading .k{color:#ffffff80;text-transform:uppercase;letter-spacing:.18em;font-size:10px}.pollen-bar .reading .v{font-family:var(--mono);color:var(--cream);font-size:11px;font-weight:500}.pollen-bar .reading .v.warn{color:#f0b07a}.pollen-bar .reading{flex-shrink:0}.pollen-bar .msg{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.pollen-bar .msg em{color:#f0b07a;font-style:italic;font-family:var(--serif)}.pollen-bar .meta{white-space:nowrap;letter-spacing:.18em;text-transform:uppercase;color:#fff6;flex-shrink:0;font-size:10px}@media (max-width:1100px){.pollen-bar .meta{display:none}}@media (max-width:720px){.pollen-bar{gap:12px;font-size:11px}.pollen-bar .reading .k,.pollen-bar .msg{display:none}}.nav{z-index:45;padding:max(14px, env(safe-area-inset-top)) calc(var(--gutter) + env(safe-area-inset-right)) 14px calc(var(--gutter) + env(safe-area-inset-left));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:background .2s, padding .25s var(--ease-smooth);background:#f4efe6c7;border-bottom:1px solid #0f20420f;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.nav.over-dark{color:var(--cream);background:#0a1a3a4d;border-bottom-color:#ffffff14}.nav.over-dark .nav-link{color:#ffffffd9}.nav.over-dark .nav-link:hover{color:#fff}.nav.over-dark .brand-mark .practice{color:#ffffff8c}.nav.over-dark .brand-mark .city{color:var(--cream)}.nav.over-dark .brand img{filter:drop-shadow(0 4px 16px #0006)}.nav.over-dark .nav-cta{background:var(--cream);color:var(--ink-900)}.brand{font-family:var(--serif);letter-spacing:-.01em;color:var(--ink-900);flex-shrink:0;align-items:center;gap:14px;font-size:18px;text-decoration:none;display:flex}.brand img{object-fit:contain;width:72px;height:72px;transition:transform .6s var(--ease-smooth)}.brand:hover img{transform:rotate(-4deg)scale(1.04)}.brand-mark{flex-direction:column;gap:2px;font-style:normal;line-height:1;display:flex}.brand-mark .practice{font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-500);font-size:9px;font-weight:500}.brand-mark .city{font-family:var(--serif);color:var(--ink-900);margin-top:4px;font-size:18px;font-style:italic}@media (max-width:720px){.brand img{width:56px;height:56px}.brand-mark{display:none}}.nav-links{align-items:center;gap:32px;display:flex}.nav-link{font-family:var(--sans);color:var(--ink-700);letter-spacing:.02em;cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;font-size:13px;text-decoration:none;transition:color .18s;display:inline-flex}.nav-link:hover{color:var(--ink-900)}.nav-link .idx{font-family:var(--serif);color:var(--ink-400);font-size:11px;font-style:italic}.nav-cta{background:var(--ink-900);color:var(--cream);letter-spacing:.06em;cursor:pointer;white-space:nowrap;border:none;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:11px 18px;font-size:12px;font-weight:500;text-decoration:none;transition:background .2s;display:inline-flex}.nav-cta:hover{background:var(--ink-700)}@media (max-width:1180px){.nav-links{gap:24px}.nav-link .idx{display:none}}@media (max-width:980px){.nav-links .nav-link:nth-child(n+3){display:none}}@media (max-width:720px){.nav-links{display:none}}.nav-auth-standalone{font-family:var(--sans);color:var(--ink-700);white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;text-decoration:none;transition:background .18s,border-color .18s,color .18s;display:inline-flex}.nav-auth-standalone:hover{color:var(--ink-900);border-color:var(--ink-200)}.nav.over-dark .nav-auth-standalone{color:#ffffffe6}.nav.over-dark .nav-auth-standalone:hover{background:#ffffff14;border-color:#ffffff40}@media (max-width:480px){.nav-auth-standalone{padding:6px 10px;font-size:12px}.nav-auth-standalone .idx{display:none}}.hero{background:var(--ink-900);width:100%;height:78vh;min-height:620px;max-height:900px;color:var(--cream);position:relative;overflow:hidden}.hero-still{object-fit:cover;z-index:0;width:100%;height:100%;transition:transform 1.2s var(--ease-smooth);position:absolute;inset:0;transform:scale(1.04)}.hero.loaded .hero-still{transform:scale(1)}.hero-overlay{z-index:1;background:radial-gradient(at 70% 30%,#0a1a3a00 0%,#0a1a3a8c 70%),linear-gradient(#0a1a3a8c 0%,#0a1a3a26 28%,#0a1a3aeb 100%);position:absolute;inset:0}.hero-grain{z-index:2;pointer-events:none;opacity:.5;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9'/%3E%3CfeColorMatrix values='0 0 0 0 1, 0 0 0 0 1, 0 0 0 0 1, 0 0 0 0.12 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.hero-content{z-index:5;height:100%;padding:0 var(--gutter);max-width:var(--max);flex-direction:column;justify-content:space-between;margin:0 auto;display:flex;position:relative}.hero-top{justify-content:space-between;align-items:flex-start;gap:32px;padding-top:clamp(40px,6vw,80px);display:flex}.hero-coords{font-family:var(--mono);letter-spacing:.1em;color:#ffffff8c;text-align:right;font-size:11px;line-height:1.8}.hero-coords span{color:#ffffffd9}.hero-heading{z-index:5;padding-bottom:clamp(60px,8vw,120px);position:relative}.hero-heading .display{color:var(--cream);max-width:14ch}.hero-heading .display em{color:#cfd7f0;font-weight:400}.hero-bottom{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;padding-bottom:clamp(40px,5vw,64px);display:flex}.hero-stats{gap:56px;display:flex}.hero-stat{flex-direction:column;gap:6px;display:flex}.hero-stat .n{font-family:var(--serif);color:var(--cream);font-size:36px;font-weight:400;line-height:1}.hero-stat .l{letter-spacing:.2em;text-transform:uppercase;color:#ffffff8c;max-width:16ch;font-size:10px}.hero-cta-row{align-items:center;gap:14px;display:flex}.particles{z-index:3;pointer-events:none;position:absolute;inset:0}.showreel{width:100%;height:78vh;min-height:620px;max-height:900px;color:var(--cream);background:#050d1f;border-top:1px solid #ffffff0f;border-bottom:1px solid #ffffff0f;position:relative;overflow:hidden}.showreel-video{object-fit:cover;z-index:0;width:100%;height:100%;transition:opacity .9s var(--ease-smooth);opacity:0;position:absolute;inset:0}.showreel-overlay{z-index:1;pointer-events:none;background:radial-gradient(#0a1a3a1a 0%,#050d1f8c 80%),linear-gradient(#050d1f8c 0%,#050d1f1a 35%,#050d1f99 100%);position:absolute;inset:0}.showreel-content{z-index:2;width:100%;height:100%;padding:32px var(--gutter);grid-template-rows:auto 1fr auto;display:grid;position:relative}.showreel-corner{display:flex}.showreel-corner.tl,.showreel-corner.tr{grid-row:1}.showreel-corner.bl,.showreel-corner.br{grid-row:3}.showreel-corner.tr,.showreel-corner.br{justify-self:end}.showreel-center{text-align:center;grid-row:2;place-self:center;max-width:880px}.showreel-display{color:var(--cream);font-size:clamp(48px,7vw,108px);line-height:.95}.showreel-display em{color:#cfd7f0;font-weight:400}.kv{flex-direction:column;gap:4px;line-height:1.1;display:flex}.kv.right{text-align:right;align-items:flex-end}.kv .k{letter-spacing:.22em;text-transform:uppercase;color:#ffffff73;font-size:10px}.kv .v{font-family:var(--mono);color:#ffffffe6;letter-spacing:.06em;font-size:11px}@media (max-width:640px){.showreel-corner.tr,.showreel-corner.br{display:none}}.marquee{background:var(--cream);border-top:1px solid var(--ink-200);border-bottom:1px solid var(--ink-200);white-space:nowrap;padding:18px 0;overflow:hidden}.marquee-track{align-items:center;gap:56px;animation:60s linear infinite marq;display:inline-flex}@keyframes marq{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee-item{font-family:var(--serif);color:var(--ink-800);letter-spacing:-.01em;align-items:center;gap:14px;font-size:22px;font-style:italic;display:inline-flex}.marquee-item .sep{background:var(--blue-500);border-radius:50%;width:6px;height:6px}.hidden-ops{background:var(--bone);position:relative}.cutaway-wrap{grid-template-columns:1.05fr 1fr;align-items:start;gap:60px;margin-top:48px;display:grid;position:relative}@media (max-width:980px){.cutaway-wrap{grid-template-columns:1fr}}.cutaway{aspect-ratio:4/3;border-radius:var(--radius);border:1px solid var(--ink-200);perspective:1200px;transform-style:preserve-3d;cursor:crosshair;background:linear-gradient(#eee9dd 0%,#e0d9c5 100%);position:relative;overflow:hidden}.cutaway svg{width:100%;height:100%;position:absolute;inset:0}.cutaway .scene{transition:transform .2s var(--ease-quick);transform-style:preserve-3d;position:absolute;inset:0}.hotspot{cursor:pointer;width:28px;height:28px;transition:all .18s var(--ease-smooth);z-index:4;background:#ffffffd9;border:1px solid #0f204299;border-radius:50%;justify-content:center;align-items:center;margin:-14px 0 0 -14px;display:flex;position:absolute}.hotspot:before{content:"";border:1px solid #0f204240;border-radius:50%;animation:2.4s ease-out infinite pulse-ring;position:absolute;inset:-8px}.hotspot:after{content:"";background:var(--ink-900);border-radius:50%;width:6px;height:6px}@keyframes pulse-ring{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.8)}}.hotspot:hover,.hotspot.active{background:var(--ink-900);border-color:var(--ink-900);transform:scale(1.1)}.hotspot:hover:after,.hotspot.active:after{background:var(--cream)}.cutaway-readout{color:var(--cream);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#0a1a3aeb;border:1px solid #ffffff14;border-radius:10px;align-items:flex-start;gap:18px;padding:18px 20px;display:flex;position:absolute;bottom:18px;left:18px;right:18px}.cutaway-readout .ix{font-family:var(--mono);color:#ffffff80;letter-spacing:.12em;flex-shrink:0;padding-top:3px;font-size:10px}.cutaway-readout .title{font-family:var(--serif);font-size:22px;font-style:italic;line-height:1.1}.cutaway-readout .body{color:#ffffffb3;max-width:56ch;margin-top:4px;font-size:12px;line-height:1.5}.ops-list{border-top:1px solid var(--ink-200);flex-direction:column;display:flex}.ops-row{border-bottom:1px solid var(--ink-200);cursor:pointer;grid-template-columns:40px 1fr 24px;align-items:center;gap:16px;padding:22px 0;transition:padding .2s;display:grid}.ops-row:hover{padding-left:12px}.ops-row .num{font-family:var(--serif);color:var(--ink-400);font-size:14px;font-style:italic}.ops-row .label{flex-direction:column;gap:4px;display:flex}.ops-row .label .t{font-family:var(--serif);color:var(--ink-900);font-size:22px;line-height:1.1}.ops-row .label .sub{color:var(--ink-500);font-size:12px}.ops-row.active .num{color:var(--blue-500)}.ops-row.active .label .t{color:var(--blue-600);font-style:italic}.ops-row .arr{opacity:.4;width:20px;transition:all .2s}.ops-row:hover .arr,.ops-row.active .arr{opacity:1;transform:translate(4px)}.protocol{background:var(--ink-900);color:var(--cream);position:relative;overflow:hidden}.protocol .h2 em{color:#b9c4e8}.protocol .eyebrow{color:#ffffff73}.protocol .lede{color:#ffffffb3}.protocol-grid{grid-template-columns:1fr 1fr;gap:32px;margin-top:64px;display:grid}@media (max-width:880px){.protocol-grid{grid-template-columns:1fr}}.opt-card{border-radius:var(--radius);transition:all .25s var(--ease-smooth);background:linear-gradient(#ffffff08,#fff0);border:1px solid #ffffff1f;padding:36px;position:relative}.opt-card:hover{border-color:#ffffff47;transform:translateY(-4px)}.opt-card .seal{width:64px;height:64px;font-family:var(--serif);color:var(--cream);border:1px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;margin-bottom:28px;font-size:22px;font-style:italic;display:flex;position:relative}.opt-card .seal:after{content:"";border:1px dashed #ffffff2e;border-radius:50%;position:absolute;inset:-6px}.opt-card h3{font-family:var(--serif);margin-bottom:12px;font-size:38px;font-weight:400;line-height:1}.opt-card h3 em{color:#b9c4e8}.opt-card p{color:#ffffffb3;max-width:44ch;font-size:14px;line-height:1.6}.opt-card .ulist{flex-direction:column;gap:14px;margin:24px 0 0;padding:0;list-style:none;display:flex}.opt-card .ulist li{color:#fffc;border-top:1px solid #ffffff14;gap:14px;padding-top:14px;font-size:13px;line-height:1.5;display:flex}.opt-card .ulist li .b{font-family:var(--mono);color:#fff6;letter-spacing:.1em;flex-shrink:0;padding-top:1px;font-size:10px}.microfiber-strip{flex-wrap:wrap;gap:6px;margin-top:18px;display:flex}.microfiber-strip .swatch{border:1px solid #ffffff26;border-radius:3px;width:24px;height:32px;position:relative}.pricing{background:var(--bone);position:relative}.rate-cards{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px;display:grid}@media (max-width:1100px){.rate-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.rate-cards{grid-template-columns:1fr}}.rate-card{background:var(--cream);border:1px solid var(--ink-200);border-radius:var(--radius);transition:all .22s var(--ease-smooth);cursor:pointer;padding:28px;position:relative}.rate-card:hover{border-color:var(--ink-900);transform:translateY(-4px);box-shadow:0 24px 60px -30px #0a1a3a40}.rate-card .pname{font-family:var(--serif);margin-bottom:6px;font-size:26px;font-weight:400;line-height:1.05}.rate-card .pname em{color:var(--blue-500)}.rate-card .pkind{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-500);margin-bottom:32px;font-size:11px}.rate-card .rate{align-items:baseline;gap:4px;margin-bottom:4px;display:flex}.rate-card .rate .dollar{font-family:var(--serif);color:var(--ink-500);align-self:flex-start;margin-top:8px;font-size:14px}.rate-card .rate .amount{font-family:var(--serif);color:var(--ink-900);font-size:56px;font-weight:400;line-height:1}.rate-card .rate .unit{font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-500);margin-left:6px;font-size:11px}.rate-card .desc{color:var(--ink-600);border-top:1px solid var(--ink-200);margin-top:18px;padding-top:18px;font-size:13px;line-height:1.5}.calculator{background:var(--cream);border:1px solid var(--ink-200);border-radius:var(--radius-lg);grid-template-columns:1.1fr 1fr;gap:48px;margin-top:80px;padding:clamp(28px,4vw,56px);display:grid}@media (max-width:880px){.calculator{grid-template-columns:1fr}}.calc-left h3{font-family:var(--serif);margin-bottom:16px;font-size:clamp(32px,3.6vw,48px);line-height:1}.calc-left h3 em{color:var(--blue-500)}.calc-left p{color:var(--ink-600);max-width:44ch;font-size:14px;line-height:1.6}.slider-wrap{flex-direction:column;gap:12px;margin-top:36px;display:flex}.slider-display{align-items:baseline;gap:8px;display:flex}.slider-display .v{font-family:var(--serif);color:var(--ink-900);font-variant-numeric:tabular-nums;font-size:64px;line-height:1}.slider-display .u{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-500);font-size:12px}.slider{appearance:none;background:var(--ink-300);outline:none;width:100%;height:2px}.slider::-webkit-slider-thumb{appearance:none;background:var(--ink-900);cursor:pointer;border:3px solid var(--cream);width:18px;height:18px;box-shadow:0 0 0 1px var(--ink-900);border-radius:50%;transition:transform .2s}.slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.slider::-moz-range-thumb{background:var(--ink-900);cursor:pointer;border:3px solid var(--cream);width:18px;height:18px;box-shadow:0 0 0 1px var(--ink-900);border-radius:50%}.service-toggle{flex-wrap:wrap;gap:6px;margin-top:32px;display:flex}.service-toggle button{font-family:var(--sans);letter-spacing:.04em;border:1px solid var(--ink-200);color:var(--ink-700);cursor:pointer;transition:all .18s var(--ease-smooth);background:0 0;border-radius:999px;padding:10px 14px;font-size:12px}.service-toggle button:hover{border-color:var(--ink-900)}.service-toggle button.on{background:var(--ink-900);color:var(--cream);border-color:var(--ink-900)}.calc-right{background:var(--ink-900);color:var(--cream);border-radius:var(--radius);flex-direction:column;justify-content:space-between;min-height:360px;padding:36px;display:flex;position:relative;overflow:hidden}.calc-right:before{content:"";pointer-events:none;background:radial-gradient(circle,#5872c266 0%,#0000 70%);width:50%;height:70%;position:absolute;top:-30%;right:-20%}.calc-summary{flex-direction:column;gap:12px;display:flex}.summary-row{color:#ffffffb3;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:baseline;padding-bottom:10px;font-size:13px;display:flex}.summary-row .v{font-family:var(--mono);color:var(--cream);font-variant-numeric:tabular-nums;font-size:13px}.calc-total{margin-top:28px}.calc-total .label{letter-spacing:.2em;text-transform:uppercase;color:#ffffff80;margin-bottom:6px;font-size:11px}.calc-total .amount{font-family:var(--serif);color:var(--cream);font-variant-numeric:tabular-nums;font-size:72px;font-style:italic;line-height:1}.calc-total .amount .small{vertical-align:super;font-size:32px;font-style:normal}.calc-total .range{color:#ffffff80;margin-top:8px;font-size:12px}.addons{flex-direction:column;gap:10px;margin-top:24px;display:flex}.addon-row{cursor:pointer;border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:10px 0;display:flex}.addon-row .name{font-size:13px}.addon-row .price{font-family:var(--mono);color:#fff9;font-size:12px}.addon-row .name em{color:#ffffff8c;margin-left:6px;font-size:11px;font-style:italic}.addon-check{background:0 0;border:1px solid #fff6;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:all .18s;display:flex}.addon-row.on .addon-check{background:var(--cream);border-color:var(--cream)}.addon-row.on .addon-check:after{content:"";border-left:2px solid var(--ink-900);border-bottom:2px solid var(--ink-900);width:8px;height:4px;transform:rotate(-45deg)translate(1px,-1px)}.subscription{grid-template-columns:1fr 1.1fr;align-items:stretch;gap:32px;margin-top:64px;display:grid}@media (max-width:880px){.subscription{grid-template-columns:1fr}}.sub-card{background:var(--cream);border:1px solid var(--ink-200);border-radius:var(--radius-lg);padding:36px}.sub-card h3{font-family:var(--serif);margin-bottom:8px;font-size:32px;font-weight:400}.sub-card h3 em{color:var(--blue-500)}.sub-card p{color:var(--ink-600);font-size:14px;line-height:1.6}.sub-tiers{flex-direction:column;gap:14px;margin-top:28px;display:flex}.sub-tier{border-top:1px solid var(--ink-200);justify-content:space-between;align-items:center;padding:18px 0;display:flex}.sub-tier .left{flex-direction:column;gap:4px;display:flex}.sub-tier .cad{font-family:var(--serif);font-size:22px}.sub-tier .sub{color:var(--ink-500);text-transform:uppercase;letter-spacing:.12em;font-size:11px}.sub-tier .disc{font-family:var(--serif);color:var(--blue-600);font-size:32px;font-style:italic}.iaq-panel{background:var(--ink-900);color:var(--cream);border-radius:var(--radius-lg);padding:36px;position:relative;overflow:hidden}.iaq-panel h3{font-family:var(--serif);font-size:28px;font-weight:400}.iaq-panel h3 em{color:#b9c4e8}.iaq-panel .lede{color:#ffffffb3;max-width:38ch;margin-top:8px;font-size:13px}.iaq-chart{height:220px;margin-top:32px;position:relative}.iaq-legend{letter-spacing:.08em;text-transform:uppercase;color:#fff9;gap:24px;margin-top:18px;font-size:11px;display:flex}.iaq-legend .swatch{vertical-align:middle;width:18px;height:2px;margin-right:8px;display:inline-block}.iaq-controls{flex-wrap:wrap;gap:4px;margin-top:20px;display:flex}.iaq-controls button{font-family:var(--sans);letter-spacing:.08em;color:#ffffffb3;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:999px;padding:8px 12px;font-size:11px;transition:all .18s}.iaq-controls button.on{background:var(--cream);color:var(--ink-900);border-color:var(--cream)}.booking{background:var(--cream);position:relative}.booking-stage{background:var(--paper);border:1px solid var(--ink-200);border-radius:var(--radius-lg);grid-template-columns:320px 1fr;min-height:640px;margin-top:56px;display:grid;overflow:hidden}@media (max-width:980px){.booking-stage{grid-template-columns:1fr}}.booking-rail{background:var(--ink-900);color:var(--cream);flex-direction:column;gap:32px;padding:36px 28px;display:flex;position:relative}.booking-rail:before{content:"";pointer-events:none;background:radial-gradient(at 100% 0,#5872c240,#0000 50%);position:absolute;inset:0}.rail-step{z-index:2;border-bottom:1px solid #ffffff14;align-items:flex-start;gap:14px;padding-bottom:16px;display:flex;position:relative}.rail-step .ix{font-family:var(--serif);color:#fff6;flex-shrink:0;width:24px;font-size:14px;font-style:italic}.rail-step.active .ix{color:var(--cream)}.rail-step.done .ix:after{content:" ✓";color:var(--sage)}.rail-step .t{font-family:var(--serif);color:#ffffff80;font-size:22px;font-weight:400;line-height:1.1}.rail-step.active .t{color:var(--cream)}.rail-step .sub{text-transform:uppercase;letter-spacing:.12em;color:#fff6;margin-top:2px;font-size:11px}.booking-stage-body{flex-direction:column;gap:24px;min-height:600px;padding:clamp(28px,4vw,56px);display:flex}.step-head{align-items:baseline;gap:16px;margin-bottom:18px;display:flex}.step-head .h{font-family:var(--serif);font-size:clamp(32px,3.6vw,44px);line-height:1}.step-head .h em{color:var(--blue-500)}.choice-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (max-width:640px){.choice-grid{grid-template-columns:1fr}}.choice-card{border:1px solid var(--ink-200);border-radius:var(--radius);cursor:pointer;transition:all .18s var(--ease-smooth);background:var(--paper);flex-direction:column;gap:8px;padding:24px;display:flex;position:relative}.choice-card:hover{border-color:var(--ink-900)}.choice-card.on{border-color:var(--ink-900);background:var(--ink-900);color:var(--cream)}.choice-card .t{font-family:var(--serif);font-size:22px;line-height:1.1}.choice-card .sub{color:var(--ink-500);font-size:12px}.choice-card.on .sub{color:#ffffffa6}.choice-card .price{font-family:var(--mono);color:var(--ink-500);margin-top:12px;font-size:11px}.choice-card.on .price{color:#fffc}.booking-foot{border-top:1px solid var(--ink-200);justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding-top:24px;display:flex}.foot-summary{flex-direction:column;display:flex}.foot-summary .l{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-500);font-size:10px}.foot-summary .v{font-family:var(--serif);color:var(--ink-900);font-size:28px;font-style:italic}.vision-zone{border:1.5px dashed var(--ink-300);border-radius:var(--radius);text-align:center;background:linear-gradient(180deg, var(--paper), var(--linen));flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:320px;padding:clamp(28px,4vw,48px);transition:all .2s;display:flex;position:relative}.vision-zone.over{border-color:var(--ink-900);background:var(--blue-50)}.vision-zone .icon-circle{border:1px solid var(--ink-300);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:8px;display:flex}.vision-zone .t{font-family:var(--serif);font-size:26px;line-height:1.05}.vision-zone .t em{color:var(--blue-500)}.vision-zone .sub{color:var(--ink-500);font-size:13px}.vision-zone input[type=file]{display:none}.vision-zone .browse{font-family:var(--sans);letter-spacing:.04em;border:1px solid var(--ink-900);cursor:pointer;background:0 0;border-radius:999px;margin-top:6px;padding:10px 18px;font-size:12px}.vision-analyzing{width:100%;max-width:560px;margin:0 auto;position:relative}.vision-analyzing img{border-radius:var(--radius);filter:saturate(1.1)contrast(1.05);width:100%;display:block}.scan-overlay{border-radius:var(--radius);pointer-events:none;position:absolute;inset:0;overflow:hidden}.scan-line{height:1px;animation:scan 1.6s var(--ease-smooth) infinite;background:linear-gradient(90deg,#0000,#5872c2f2 50%,#0000);position:absolute;left:0;right:0;box-shadow:0 0 24px #5872c2cc,0 0 8px #5872c2}.scan-grid{mix-blend-mode:screen;opacity:.8;background-image:linear-gradient(#5872c22e 1px,#0000 1px),linear-gradient(90deg,#5872c22e 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0}.scan-corners:before,.scan-corners:after,.scan-corners>span:before,.scan-corners>span:after{content:"";border-style:solid;border-color:#5872c2e6;width:22px;height:22px;position:absolute}.scan-corners:before{border-width:1px 0 0 1px;top:12px;left:12px}.scan-corners:after{border-width:1px 1px 0 0;top:12px;right:12px}.scan-corners>span:before{border-width:0 0 1px 1px;bottom:12px;left:12px}.scan-corners>span:after{border-width:0 1px 1px 0;bottom:12px;right:12px}@keyframes scan{0%{top:0}to{top:100%}}.scan-readout{font-family:var(--mono);color:#fffffff2;letter-spacing:.06em;text-shadow:0 0 8px #0a1a3a99;flex-direction:column;gap:4px;font-size:10px;display:flex;position:absolute;top:12px;left:12px}.scan-readout .row{gap:8px;display:flex}.scan-readout .k{color:#ffffff8c;width:88px}.vision-result{text-align:left;grid-template-columns:1fr 1fr;gap:20px;width:100%;display:grid}@media (max-width:720px){.vision-result{grid-template-columns:1fr}}.vision-result .panel{border:1px solid var(--ink-200);background:var(--paper);border-radius:var(--radius);padding:24px}.vision-result .panel h4{font-family:var(--serif);margin-bottom:4px;font-size:22px;font-weight:400}.vision-result .panel .l{text-transform:uppercase;letter-spacing:.16em;color:var(--ink-500);font-size:11px}.vision-result .panel ul{flex-direction:column;gap:10px;margin-top:14px;padding:0;list-style:none;display:flex}.vision-result .panel li{border-top:1px solid var(--ink-200);color:var(--ink-700);justify-content:space-between;gap:16px;padding-top:10px;font-size:13px;display:flex}.vision-result .panel li .v{font-family:var(--mono);color:var(--ink-900);font-variant-numeric:tabular-nums}.severity-meter{background:var(--ink-100);border-radius:3px;height:6px;margin-top:12px;position:relative;overflow:hidden}.severity-meter .fill{height:100%;transition:width .8s var(--ease-smooth);border-radius:3px}.founder{background:var(--bone);position:relative}.founder-grid{grid-template-columns:.9fr 1.1fr;align-items:center;gap:64px;margin-top:48px;display:grid}@media (max-width:880px){.founder-grid{grid-template-columns:1fr;gap:40px}}.founder-photo{border-radius:var(--radius);aspect-ratio:4/5;background:var(--ink-700);position:relative;overflow:hidden}.founder-photo img{object-fit:cover;filter:grayscale(.1)contrast(1.05);width:100%;height:100%;display:block}.founder-photo:after{content:"";pointer-events:none;background:linear-gradient(#0000 60%,#0a1a3a66 100%);position:absolute;inset:0}.founder-photo .seal{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-900);background:#f4efe6f2;border-radius:999px;padding:8px 16px;font-size:10px;font-weight:500;position:absolute;bottom:18px;left:18px}.founder-quote{font-family:var(--serif);color:var(--ink-900);letter-spacing:-.015em;font-size:clamp(32px,3.4vw,48px);font-style:italic;line-height:1.1}.founder-quote em{color:var(--blue-500)}.founder-sig{font-family:var(--serif);color:var(--ink-900);margin-top:32px;font-size:28px;font-style:italic}.founder-sub{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-500);margin-top:4px;font-size:11px}.founder-bio{color:var(--ink-600);border-top:1px solid var(--ink-200);max-width:52ch;margin-top:32px;padding-top:24px;font-size:14px;line-height:1.7}.testimonials{background:var(--cream)}.testimonial-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;display:grid}@media (max-width:880px){.testimonial-grid{grid-template-columns:1fr}}.testimonial{border:1px solid var(--ink-200);border-radius:var(--radius);background:var(--paper);flex-direction:column;gap:16px;padding:32px;display:flex}.testimonial .quote{font-family:var(--serif);color:var(--ink-800);font-size:22px;font-style:italic;line-height:1.25}.testimonial .who{border-top:1px solid var(--ink-200);color:var(--ink-500);justify-content:space-between;align-items:baseline;padding-top:16px;font-size:12px;display:flex}.testimonial .who .name{color:var(--ink-900);letter-spacing:.04em;font-weight:500}.footer{background:var(--ink-900);color:var(--cream);padding:clamp(80px, 8vw, 120px) var(--gutter) 32px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;margin-bottom:80px;display:grid}@media (max-width:880px){.footer-grid{grid-template-columns:1fr 1fr}}.footer-col h4{letter-spacing:.2em;text-transform:uppercase;color:#ffffff80;margin-bottom:18px;font-size:11px;font-weight:500}.footer-col ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.footer-col a{color:#fffc;font-size:14px;text-decoration:none;transition:color .18s}.footer-col a:hover{color:#fff}.footer-mark{font-family:var(--serif);color:var(--cream);margin-bottom:18px;font-size:64px;font-style:italic;line-height:.95}.footer-mark em{color:var(--blue-400)}.footer-bottom{letter-spacing:.1em;color:#fff6;text-transform:uppercase;border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:16px;padding-top:28px;font-size:11px;display:flex}.chat-fab{background:var(--ink-900);color:var(--cream);cursor:pointer;z-index:55;font-family:var(--sans);letter-spacing:.02em;transition:all .2s var(--ease-smooth);border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:12px;padding:14px 22px 14px 14px;font-size:13px;display:inline-flex;position:fixed;bottom:28px;right:28px;box-shadow:0 24px 48px -16px #0a1a3a80}.chat-fab:hover{transform:translateY(-3px);box-shadow:0 28px 56px -16px #0a1a3a99}.chat-fab .av{background:var(--blue-500);width:32px;height:32px;font-family:var(--serif);color:var(--cream);border-radius:50%;justify-content:center;align-items:center;font-style:italic;font-weight:400;display:flex}.chat-fab .label .t{font-family:var(--serif);font-size:16px;font-style:italic}.chat-fab .label .s{letter-spacing:.14em;text-transform:uppercase;color:#ffffff6b;margin-top:1px;font-size:8px}.chat-overlay{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .24s var(--ease-smooth);background:#0a1a3a8c;justify-content:flex-end;align-items:flex-end;padding:20px;display:flex;position:fixed;inset:0}.chat-overlay.open{opacity:1;pointer-events:auto}.chat-window{background:var(--cream);border-radius:var(--radius-lg);width:min(440px,100%);height:min(640px,100vh - 40px);transition:transform .28s var(--ease-smooth);border:1px solid #fff3;flex-direction:column;display:flex;overflow:hidden;transform:translateY(20px);box-shadow:0 30px 80px -20px #0a1a3a99}.chat-overlay.open .chat-window{transform:none}.chat-header{background:var(--ink-900);color:var(--cream);align-items:center;gap:14px;padding:22px 24px;display:flex;position:relative}.chat-header .av{background:var(--blue-500);width:40px;height:40px;font-family:var(--serif);border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-style:italic;display:flex}.chat-header .who{flex:1}.chat-header .name{font-family:var(--serif);font-size:18px;font-style:italic}.chat-header .role{letter-spacing:.18em;text-transform:uppercase;color:#ffffff8c;align-items:center;gap:6px;font-size:10px;display:flex}.chat-header .role .dot{background:var(--sage);border-radius:50%;width:5px;height:5px}.chat-close{width:32px;height:32px;color:var(--cream);cursor:pointer;background:#ffffff14;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex}.chat-close:hover{background:#ffffff29}.chat-body{background:var(--cream);flex-direction:column;flex:1;gap:18px;padding:24px;display:flex;overflow-y:auto}.msg{flex-direction:column;gap:4px;max-width:88%;display:flex}.msg.bot{align-self:flex-start}.msg.user{align-self:flex-end}.msg .bubble{white-space:pre-wrap;border-radius:18px;padding:12px 16px;font-size:14px;line-height:1.5}.msg.bot .bubble{background:var(--paper);border:1px solid var(--ink-200);color:var(--ink-900);border-bottom-left-radius:4px}.msg.user .bubble{background:var(--ink-900);color:var(--cream);border-bottom-right-radius:4px}.msg .meta{color:var(--ink-400);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.chat-typing{background:var(--paper);border:1px solid var(--ink-200);border-radius:18px 18px 18px 4px;align-self:flex-start;gap:4px;padding:14px 18px;display:inline-flex}.chat-typing span{background:var(--ink-400);border-radius:50%;width:6px;height:6px;animation:1.2s infinite dot}.chat-typing span:nth-child(2){animation-delay:.15s}.chat-typing span:nth-child(3){animation-delay:.3s}@keyframes dot{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.chat-suggestions{gap:8px;padding:12px 24px 0;display:flex;overflow-x:auto}.chat-suggestions button{font-family:var(--sans);border:1px solid var(--ink-200);background:var(--paper);color:var(--ink-700);cursor:pointer;white-space:nowrap;border-radius:999px;padding:8px 12px;font-size:11px;transition:all .18s}.chat-suggestions button:hover{border-color:var(--ink-900)}.chat-input{border-top:1px solid var(--ink-200);background:var(--cream);align-items:center;gap:8px;padding:16px 24px 20px;display:flex}.chat-input input{border:1px solid var(--ink-200);background:var(--paper);border-radius:999px;flex:1;padding:12px 16px;font-size:14px}.chat-input input:focus{border-color:var(--ink-900)}.chat-input button{background:var(--ink-900);width:40px;height:40px;color:var(--cream);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-input button:disabled{opacity:.4;cursor:not-allowed}.bloom-overlay{z-index:200;pointer-events:none;position:fixed;inset:0;overflow:hidden}.bloom-petal{font-size:28px;animation:6s linear forwards drift;position:absolute}@keyframes drift{0%{opacity:0;transform:translateY(-20px)rotate(0)}10%{opacity:1}to{opacity:.8;transform:translateY(110vh)rotate(720deg)}}
