@charset "UTF-8";:root{--bg-base: #f5f7fa;--bg-card: #ffffff;--bg-overlay: rgba(255, 255, 255, .051);--text-primary: #000000;--text-secondary: rgba(0, 0, 0, .65);--text-muted: rgba(0, 0, 0, .45);--border-default: rgba(0, 0, 0, .1);--border-strong: rgba(0, 0, 0, .15);--border-focus: rgba(26, 115, 231, .5);--shadow-card: 0 4px 12px rgba(0, 0, 0, .08);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .1);--glass-bg: rgba(255, 255, 255, .6);--glass-border: rgba(255, 255, 255, .4);--glass-blur: blur(20px);--metal-bg: linear-gradient( 135deg, rgba(220, 225, 230, .95) 0%, rgba(200, 208, 215, .9) 25%, rgba(230, 235, 240, .95) 50%, rgba(195, 205, 212, .9) 75%, rgba(215, 222, 228, .95) 100% );--metal-border: rgba(180, 190, 200, .6);--metal-shadow: 0 2px 8px rgba(0, 0, 0, .08), inset 0 1px 0 rgba(255, 255, 255, .9), inset 0 -1px 0 rgba(0, 0, 0, .05);--font-display: "benton-modern-display", serif;--font-main: "aktiv-grotesk", "Helvetica Neue", sans-serif;--font-label: "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-body: .95rem;--font-size-md: 1rem;--font-size-title: 1.25rem;--font-size-xl: 1.5rem;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 40px;--radius-sm: 12px;--radius: 18px;--radius-lg: 24px;--radius-full: 999px;--transition: .18s ease;--transition-slow: .3s ease}@media(max-width:768px){.app-content{margin-left:0}#availability{margin-left:0;width:100%;padding-left:0}}@media(max-width:768px){.sidenav{transform:translate(-100%);opacity:0;visibility:hidden;pointer-events:none;transition:transform .4s cubic-bezier(.25,.46,.45,.94),opacity .4s ease,width .4s cubic-bezier(.25,.46,.45,.94)}.sidenav.is-open{transform:translate(0);opacity:1;visibility:visible;pointer-events:auto;width:200px}.sidenav.is-open .sidenav-label{opacity:1;transform:translate(0)}.sidenav.is-open .sidenav-item{opacity:0;transform:translateY(16px);animation:navItemIn .3s ease forwards}.sidenav.is-open li:nth-child(1) .sidenav-item{animation-delay:.05s}.sidenav.is-open li:nth-child(2) .sidenav-item{animation-delay:.1s}.sidenav.is-open li:nth-child(3) .sidenav-item{animation-delay:.15s}.sidenav.is-open li:nth-child(4) .sidenav-item{animation-delay:.2s}.sidenav.is-open li:nth-child(5) .sidenav-item{animation-delay:.25s}.sidenav.is-open li:nth-child(6) .sidenav-item{animation-delay:.3s}.sidenav.is-open li:nth-child(7) .sidenav-item{animation-delay:.35s}.sidenav.is-open li:nth-child(8) .sidenav-item{animation-delay:.4s}@keyframes navItemIn{to{opacity:1;transform:translateY(0)}}}.hamburger-btn{display:none;position:fixed;top:max(20px,env(safe-area-inset-top,20px));left:16px;width:44px;height:44px;border-radius:50%;z-index:600;align-items:center;justify-content:center;cursor:pointer;background:linear-gradient(135deg,#e1e6ebf7,#cdd5dcf2);border:1px solid rgba(180,190,200,.6);box-shadow:0 4px 16px #0000001a,inset 0 1px #ffffffe6;transition:transform .2s ease,box-shadow .2s ease}.hamburger-btn:hover{transform:scale(1.05);box-shadow:0 6px 20px #00000021,inset 0 1px #ffffffe6}@media(max-width:768px){.hamburger-btn{display:flex}}.hamburger-icon{width:18px;height:13px;position:relative;display:flex;flex-direction:column;justify-content:space-between}.hamburger-line{width:100%;height:1.5px;background:linear-gradient(90deg,#5a7a9a,#2c3e50);border-radius:2px;transition:transform .3s ease,opacity .3s ease}.hamburger-line:nth-child(2){width:70%;margin-left:auto}.hamburger-btn.is-active .hamburger-line:nth-child(1){transform:translateY(5.75px) rotate(45deg)}.hamburger-btn.is-active .hamburger-line:nth-child(2){opacity:0;transform:translate(8px)}.hamburger-btn.is-active .hamburger-line:nth-child(3){transform:translateY(-5.75px) rotate(-45deg)}.nav-overlay{display:none}@media(max-width:768px){.nav-overlay{display:block;position:fixed;inset:0;background:#0003;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:499;opacity:0;pointer-events:none;transition:opacity .3s ease}.nav-overlay.is-visible{opacity:1;pointer-events:auto}}@media(max-width:768px){.hero{margin-left:0;width:100%;padding:var(--space-lg);align-items:flex-start;padding-top:100px}.hero-glass-card{position:static;margin-top:var(--space-2xl);align-self:flex-start}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .hero-btn{text-align:center}}@media(max-width:480px){.hero-headline{font-size:clamp(2.4rem,11vw,3.5rem)}.hero-tagline{font-size:1.1rem}}@media(max-width:768px){.cal-wrapper{padding:var(--space-md);justify-content:center}.cal-container{width:100%;max-width:420px;margin:0 auto}}@media(max-width:480px){.cal-cell{font-size:.7rem;border-radius:6px}}@media(max-width:480px){.chat-panel{width:calc(100vw - 48px)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:url(/assets/dolce-1-3Y4Cth4O.png) center 25%/100% auto no-repeat fixed;font-family:var(--font-main);font-size:var(--font-size-body);font-weight:300;line-height:1.5;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(max-width:768px){html{background:#f5f7fa}body{background:transparent}}#root{min-height:100%;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}img{max-width:100%;display:block}.app-shell{display:flex;min-height:100vh}.page-bg{display:none}.app-content{margin-left:60px;flex:1;position:relative}#availability{position:relative;z-index:10;background:#f5f7faeb;margin-left:-60px;width:calc(100% + 60px);padding-left:60px;padding-bottom:120px}#availability:after{content:"";position:absolute;bottom:-500px;left:0;right:0;height:500px;background:linear-gradient(to bottom,rgba(245,247,250,.92),transparent);pointer-events:none}.booking-bridge{display:none}@media(max-width:768px){.page-bg{display:block;position:fixed;inset:0;z-index:-1;background:url(/assets/dolce-1-3Y4Cth4O.png) center center / cover no-repeat}.app-content{margin-left:0}#availability{margin-left:0;width:100%;padding-left:0}.booking-bridge{display:flex;justify-content:center;padding:32px 24px;background:#f5f7faeb}.booking-bridge-card{display:inline-block;text-align:center;padding:16px 32px;border-radius:var(--radius);background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:0 8px 24px #00000014,inset 0 1px #ffffffe6}.booking-bridge-label{font-family:var(--font-label);font-size:var(--font-size-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.booking-bridge-value{font-family:var(--font-display);font-weight:400;font-size:var(--font-size-title);color:#2c3e50;letter-spacing:.01em}}.sidenav{position:fixed;top:0;left:0;height:100vh;width:60px;z-index:500;display:flex;flex-direction:column;align-items:flex-start;padding:1rem 0;overflow:hidden;border-radius:0 0 100%/0 0 60%;background:linear-gradient(170deg,#e4e8ecfa,#d0d8dff5 35%,#ebeff2fa 65%,#cad4dcf5);border-right:1px solid rgba(180,190,200,.55);box-shadow:4px 0 12px #0000000f,inset -1px 0 #ffffffbf,inset 1px 0 #00000008;transition:width .4s cubic-bezier(.25,.46,.45,.94)}.sidenav:hover{width:180px}.sidenav-grain{pointer-events:none;position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0px,rgba(255,255,255,.04) 1px,transparent 2px,transparent 4px),radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.45) 0%,transparent 55%)}.sidenav-glow{position:absolute;right:-1px;top:0;width:2px;height:40%;background:linear-gradient(180deg,transparent 0%,rgba(180,200,220,.7) 50%,rgba(160,185,210,.5) 100%);animation:sideGlow 4s ease-in-out infinite;transition:opacity .3s ease;pointer-events:none}.sidenav:hover .sidenav-glow{opacity:0}@keyframes sideGlow{0%,to{opacity:.3}50%{opacity:1}}.sidenav-brand{position:relative;z-index:1;width:100%;margin-bottom:2rem;padding-left:18px;display:flex;align-items:center}.sidenav-brand-short{font-family:var(--font-display);font-weight:400;font-size:.95rem;letter-spacing:.06em;white-space:nowrap;background:linear-gradient(180deg,#2c3e50,#7a94aa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:1;transform:scale(1);transition:opacity .2s ease,transform .2s ease}.sidenav-brand-full{display:inline-block;font-family:var(--font-display);font-weight:400;font-size:1.2rem;letter-spacing:.04em;white-space:nowrap;background:linear-gradient(180deg,#2c3e50,#7a94aa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:absolute;opacity:0;transform:translate(-4px);transition:opacity .25s ease .1s,transform .3s ease .1s}.sidenav:hover .sidenav-brand-short{opacity:0;transform:scale(.85)}.sidenav:hover .sidenav-brand-full{opacity:1;transform:translate(0)}.sidenav-list{list-style:none;width:100%;display:flex;flex-direction:column;gap:2px;position:relative;z-index:1;padding-left:8px;padding-bottom:120px}.sidenav-item{position:relative;width:calc(100% - 12px);margin:0 6px;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;cursor:pointer;overflow:hidden;transition:background .3s ease,color .3s ease}.sidenav-item:hover{background:#ffffff73}.sidenav-item--active{background:#ffffff8c;box-shadow:inset 0 1px #ffffffd9}.sidenav-item--disabled{opacity:.4;cursor:default;pointer-events:none}.sidenav-item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:2.5px;height:0;background:linear-gradient(180deg,#7a94aa,#4a6a8a);border-radius:2px;transition:height .3s ease}.sidenav-item:hover:before,.sidenav-item--active:before{height:65%}.sidenav-icon{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:#7891a573;border:1px solid rgba(180,195,210,.7);box-shadow:inset .5px .5px 1px #ffffffb3;transition:background .3s ease,box-shadow .3s ease,transform .3s ease}.sidenav-item:hover .sidenav-icon{background:#5a7a9aa6;box-shadow:inset .5px .5px 1px #ffffff80,0 0 6px #5a7a9a59;transform:scale(1.15)}.sidenav-item--active .sidenav-icon{background:#46698cbf;box-shadow:inset .5px .5px 1px #ffffff80,0 0 8px #46698c66}.sidenav-label{font-family:var(--font-main);font-size:.7rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:#324150a6;white-space:nowrap;opacity:0;transform:translate(-8px);transition:opacity .3s ease .08s,transform .3s ease .08s,color .2s ease}.sidenav:hover .sidenav-label{opacity:1;transform:translate(0)}.sidenav-item:hover .sidenav-label,.sidenav-item--active .sidenav-label{color:#1e3041eb}.chat-widget{position:fixed;bottom:32px;right:32px;z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.chat-panel{width:340px;height:460px;border-radius:var(--radius-lg);background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:0 16px 48px #0000001f,inset 0 1px #ffffffe6;display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(12px) scale(.97);pointer-events:none;transition:opacity .22s ease,transform .22s ease}.chat-panel--open{opacity:1;transform:translateY(0) scale(1);pointer-events:all}.chat-teaser{display:flex;align-items:center;gap:10px;padding:11px 16px;border-radius:20px;background:linear-gradient(135deg,#dce1e6f2,#c8d0d7e6,#e6ebf0f2,#c3cdd4e6,#d7dee4f2);border:1px solid rgba(180,190,200,.6);box-shadow:0 8px 24px #0000001a,inset 0 1px #ffffffe6,inset 0 -1px #0000000d;cursor:pointer;text-align:left;animation:teaser-in .4s .8s cubic-bezier(.25,.46,.45,.94) both;transition:box-shadow .2s,transform .2s;max-width:220px}.chat-teaser:hover{transform:translateY(-2px);box-shadow:0 12px 32px #00000024,inset 0 1px #ffffffe6}@keyframes teaser-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-teaser-text{font-family:var(--font-main);font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.4}.chat-teaser-dismiss{font-size:10px;color:var(--text-muted);line-height:1;padding:2px;flex-shrink:0;transition:color .2s}.chat-teaser-dismiss:hover{color:var(--text-primary)}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border-default)}.chat-header-identity{display:flex;flex-direction:column;gap:1px}.chat-vita-name{font-family:var(--font-display);font-weight:400;font-size:1rem;letter-spacing:.02em;color:var(--text-primary)}.chat-vita-role{font-family:var(--font-label);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}.chat-close{font-size:13px;color:var(--text-muted);line-height:1;transition:color var(--transition)}.chat-close:hover{color:var(--text-primary)}.chat-messages{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.15) transparent}.chat-bubble{max-width:80%;padding:10px 14px;border-radius:var(--radius);font-size:var(--font-size-sm);line-height:1.5}.chat-bubble--user{align-self:flex-end;background:#fff;box-shadow:var(--shadow-sm);border-bottom-right-radius:4px;color:var(--text-primary)}.chat-bubble--bot{align-self:flex-start;background:linear-gradient(135deg,#dce1e6e6,#d2dae0d9);border:1px solid rgba(180,190,200,.5);box-shadow:var(--shadow-sm),inset 0 1px #fffc;border-bottom-left-radius:4px;color:var(--text-primary)}.chat-dots{display:flex;gap:4px;align-items:center;height:16px}.chat-dots span{width:6px;height:6px;border-radius:50%;background:#3c465080;animation:dot-bounce 1.2s ease-in-out infinite}.chat-dots span:nth-child(2){animation-delay:.2s}.chat-dots span:nth-child(3){animation-delay:.4s}@keyframes dot-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-5px);opacity:1}}.chat-input-row{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border-default)}.chat-input{flex:1;padding:9px 14px;border-radius:var(--radius-full);border:1px solid var(--border-default);background:#fff;font-family:var(--font-main);font-size:var(--font-size-sm);color:var(--text-primary);outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.chat-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #1a73e714}.chat-input::placeholder{color:var(--text-muted)}.chat-send{width:36px;height:36px;border-radius:var(--radius-full);background:var(--metal-bg);border:1px solid var(--metal-border);box-shadow:var(--metal-shadow);font-size:16px;color:#3c4650cc;display:flex;align-items:center;justify-content:center;transition:transform var(--transition),box-shadow var(--transition);flex-shrink:0}.chat-send:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0000001f,inset 0 1px #ffffffe6}.chat-send:disabled{opacity:.4;cursor:default}@media(max-width:768px){.chat-panel{position:fixed;left:16px;right:16px;top:50%;width:auto;height:auto;max-height:80vh;transform:translateY(calc(-50% + 12px)) scale(.97)}.chat-panel--open{transform:translateY(-50%) scale(1)}}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:visible;padding:var(--space-2xl);margin-left:-60px;width:calc(100% + 60px)}.hero-bg{position:absolute;inset:0;z-index:0}.hero-bg-veil{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 40%,rgba(255,235,200,.5) 0%,transparent 55%),radial-gradient(ellipse at 80% 20%,rgba(210,230,255,.38) 0%,transparent 50%),radial-gradient(ellipse at 60% 90%,rgba(220,240,220,.35) 0%,transparent 45%),linear-gradient(160deg,#f0f4f8ad,#faf7f2a1 10%,#f5f0ebcb 40%)}.hero-bg:after{content:"";position:absolute;bottom:0;left:0;right:0;height:35%;background:linear-gradient(to bottom,transparent,#f5f7faa6);pointer-events:none}.hero-content{position:relative;z-index:1;max-width:680px;text-align:center}.hero-eyebrow{font-family:var(--font-label);font-size:var(--font-size-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-lg)}.hero-headline{font-family:var(--font-display);font-weight:400;font-style:normal;font-size:clamp(3.5rem,8vw,7rem);line-height:1.05;letter-spacing:-.02em;color:#1a2230;margin-bottom:var(--space-lg)}.hero-tagline{font-family:var(--font-main);font-weight:300;font-size:clamp(1rem,2vw,1.3rem);letter-spacing:.06em;color:var(--text-secondary);margin-bottom:var(--space-2xl)}.hero-tagline em{font-style:italic;display:inline-block;padding:0 .05em;margin:0 -.05em;background:linear-gradient(135deg,#8a9bb0,#4a6080 60%,#2c3e50);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-sub{font-family:var(--font-main);font-size:var(--font-size-md);font-weight:300;line-height:1.7;color:var(--text-secondary);max-width:480px;margin:0 auto var(--space-2xl)}.hero-actions{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap}.hero-btn{padding:13px 32px;border-radius:var(--radius-full);font-family:var(--font-main);font-size:var(--font-size-sm);letter-spacing:.04em;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition)}.hero-btn--primary{background:var(--metal-bg);border:1px solid var(--metal-border);box-shadow:var(--metal-shadow);color:#28323cd9}.hero-btn--primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001f,inset 0 1px #fffffff2}.hero-btn--ghost{background:transparent;border:1px solid var(--border-default);color:var(--text-secondary)}.hero-btn--ghost:hover{background:#ffffff80;transform:translateY(-1px)}.hero-tongue{position:absolute;bottom:-130px;left:0;width:100%;height:130px;z-index:-.5;pointer-events:none}.hero-tongue svg{display:block;width:100%;height:450%}@media(max-width:768px){.hero{margin-left:0;width:100%;padding:100px 24px 24px;flex-direction:column;align-items:center;justify-content:center;gap:24px}.hero-content{text-align:center}.hero-headline{font-size:clamp(2.8rem,10vw,4rem)}}.cal-wrapper{display:flex;justify-content:center;padding:var(--space-xl)}.cal-container{position:relative;width:420px;border-radius:var(--radius-lg);padding:var(--space-xl);overflow:hidden;background:linear-gradient(135deg,#dce1e6f2,#c8d0d7e6,#e6ebf0f2,#c3cdd4e6,#d7dee4f2);border:1px solid rgba(180,190,200,.6);box-shadow:0 2px 8px #00000014,inset 0 1px #ffffffe6,inset 0 -1px #0000000d}.cal-grain{pointer-events:none;position:absolute;inset:0;border-radius:var(--radius-lg);background:repeating-linear-gradient(90deg,transparent 0px,rgba(255,255,255,.03) 1px,transparent 2px,transparent 4px),radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.4) 0%,transparent 60%)}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg);position:relative;z-index:1}.cal-month-label{font-family:var(--font-title);font-size:var(--font-size-title);background:linear-gradient(180deg,#2c3e50,#5a6a7a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.03em}.cal-nav{width:32px;height:32px;border-radius:var(--radius-full);background:#fff9;border:1px solid rgba(180,190,200,.5);box-shadow:0 1px 4px #00000014,inset 0 1px #ffffffe6;font-size:20px;color:#3c4650b3;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform var(--transition),background var(--transition)}.cal-nav:hover{transform:scale(1.08);background:#ffffffd9}.cal-day-headers{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:var(--space-sm);position:relative;z-index:1}.cal-day-name{text-align:center;font-family:var(--font-label);font-size:var(--font-size-xs);letter-spacing:.06em;color:#3c465099;padding-bottom:var(--space-sm)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;position:relative;z-index:1}.cal-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-main);font-weight:400;transition:transform var(--transition)}.cal-cell--empty{background:transparent}.cal-cell--available{background:#ffffffd9;border:1px solid rgba(180,190,200,.3);box-shadow:0 1px 3px #0000000f;color:#28323ce6;cursor:default}.cal-cell--available:hover{transform:translateY(-1px);box-shadow:0 3px 8px #0000001a}.cal-cell--blocked{background:radial-gradient(ellipse at 30% 30%,#e2e7f0a2,#bfc3c899 90%,#647080b3);border:none;box-shadow:inset 1px 1px 2px #10101040,inset -.5px -.5px 1px #fff6;color:#505a6473;cursor:default}.cal-cell--today{outline:2px solid var(--border-focus);outline-offset:1px}@media(max-width:768px){.cal-wrapper{padding:16px}.cal-container{width:100%;max-width:100%}}.cal-loading{text-align:center;padding:var(--space-xl) 0;font-size:var(--font-size-sm);color:#3c465080;font-family:var(--font-label);letter-spacing:.04em;position:relative;z-index:1}.cal-legend{display:flex;gap:var(--space-lg);justify-content:center;margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid rgba(10,10,14,.12);position:relative;z-index:1}.cal-legend-item{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);font-family:var(--font-label);letter-spacing:.04em;color:#3c4650b3}.cal-legend-dot{width:10px;height:10px;border-radius:50%}.cal-legend-dot--available{background:#ffffffe6;border:1px solid rgba(180,190,200,.5);box-shadow:0 1px 3px #00000014}.cal-legend-dot--blocked{background:radial-gradient(ellipse at 30% 30%,#8c96a566,#78829199 40%,#647080b3);box-shadow:inset 1px 1px 2px #00000040,inset -.5px -.5px 1px #fff6}.gallery{position:relative;width:calc(100% + 60px);margin-left:-60px;height:100vh;overflow:hidden;background:transparent;will-change:transform,opacity;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 25%);mask-image:linear-gradient(to bottom,transparent 0%,black 25%)}.gallery-slides{position:absolute;inset:0}.gallery-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}.gallery-slide.is-active{opacity:1;z-index:2}.gallery-slide.is-prev{opacity:0;z-index:1}.gallery-slide-img{position:absolute;inset:0;background-size:cover;background-position:center center;will-change:transform}@keyframes kb1{0%{transform:scale(1) translate(0)}to{transform:scale(1.12) translate(-2%,-1.5%)}}@keyframes kb2{0%{transform:scale(1) translate(0)}to{transform:scale(1.1) translate(2%,-1%)}}@keyframes kb3{0%{transform:scale(1.06) translate(1%,1%)}to{transform:scale(1.14) translate(-1%,-2%)}}@keyframes kb4{0%{transform:scale(1.1) translate(-1%,-1%)}to{transform:scale(1) translate(1%,1%)}}.gallery-slide.is-active .kb-1{animation:kb1 8s ease-in-out forwards}.gallery-slide.is-active .kb-2{animation:kb2 8s ease-in-out forwards}.gallery-slide.is-active .kb-3{animation:kb3 8s ease-in-out forwards}.gallery-slide.is-active .kb-4{animation:kb4 8s ease-in-out forwards}.gallery-veil{position:absolute;inset:0;z-index:3;background:linear-gradient(to bottom,rgba(10,14,20,.35) 0%,transparent 30%,transparent 65%,rgba(10,14,20,.6) 100%);pointer-events:none}.gallery-ui{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:56px 48px 48px;pointer-events:none}.gallery-header{text-align:center}.gallery-eyebrow{font-family:var(--font-label);font-size:var(--font-size-xs);letter-spacing:.2em;text-transform:uppercase;color:#fff9;margin-bottom:10px}.gallery-title{font-family:var(--font-display);font-weight:400;font-size:clamp(2.2rem,5vw,4rem);color:#ffffffeb;letter-spacing:-.01em}.gallery-controls{display:flex;align-items:center;gap:28px;pointer-events:all}.gallery-arrow{width:48px;height:48px;border-radius:50%;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#ffffffe6;font-size:1.1rem;cursor:pointer;transition:background .2s,transform .2s;display:flex;align-items:center;justify-content:center}.gallery-arrow:hover{background:#ffffff38;transform:scale(1.08)}.gallery-dots{display:flex;gap:8px;align-items:center}.gallery-dot{width:6px;height:6px;border-radius:50%;background:#ffffff59;border:none;cursor:pointer;transition:background .3s,transform .3s;padding:0}.gallery-dot.is-active{background:#ffffffe6;transform:scale(1.5)}.gallery-dot:hover{background:#ffffffa6}.gallery-counter{font-family:var(--font-label);font-size:var(--font-size-xs);letter-spacing:.14em;color:#ffffff73;pointer-events:none}@media(max-width:768px){.gallery{margin-left:0;width:100%}.gallery-ui{padding:48px 24px 40px}.gallery-arrow{width:40px;height:40px;font-size:1rem}.gallery-dots{gap:6px;max-width:200px;flex-wrap:wrap;justify-content:center}}#interlude{height:50vh;margin-left:-60px;width:calc(100% + 60px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.interlude-quote{font-family:var(--font-display);font-weight:300;font-size:clamp(1.1rem,2.2vw,1.75rem);color:#fffcf8e0;text-align:center;letter-spacing:.01em;max-width:560px;padding:0 24px;text-shadow:0 1px 24px rgba(0,0,0,.35)}.interlude-rule{width:40px;height:1px;background:#fffcf8e0}.gallery-scene{position:relative;-webkit-mask-image:linear-gradient(to bottom,black 60%,transparent 100%);mask-image:linear-gradient(to bottom,black 60%,transparent 100%)}.gallery-scene-veil{position:absolute;left:-60px;right:0;background:linear-gradient(to bottom,#f5f7fa00,#f5f7fad9 40%,#f5f7fa00);z-index:15;pointer-events:none}.availability-cta{display:flex;justify-content:center;padding:32px 24px 64px}#escape{min-height:100vh;margin-left:-60px;width:calc(100% + 60px);background:linear-gradient(to bottom,#d6e8f500 0% 25%,#d6e8f5f2 55%,#d6e8f5);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:36px;padding:80px 24px}.escape-heading{font-family:var(--font-display);font-weight:300;font-size:clamp(2.4rem,5vw,4.5rem);color:#1c2c41d9;letter-spacing:-.01em;text-align:center}.escape-cta{display:inline-block;padding:14px 44px;font-family:var(--font-label);font-size:var(--font-size-xs);letter-spacing:.15em;text-transform:uppercase;color:#2d3c4ecc;background:#fffcf5e0;border:1px solid rgba(180,170,155,.35);border-radius:var(--radius);text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s}.escape-cta:hover{background:#fffcf5;transform:translateY(-2px);box-shadow:0 6px 20px #1e32501a}@media(max-width:768px){.gallery-scene-veil{left:0}#interlude,#escape{margin-left:0;width:100%}}.gallery-page{min-height:100vh;margin-left:-60px;width:calc(100% + 60px);padding:72px 48px 80px 108px;background:#f5f7fae7;overflow:hidden}.gallery-page-header{text-align:center;margin-bottom:72px}.gallery-page-eyebrow{font-family:var(--font-label);font-size:var(--font-size-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px}.gallery-page-title{font-family:var(--font-display);font-weight:400;font-size:clamp(2rem,5vw,3.5rem);color:#1a2230;letter-spacing:-.01em;margin-bottom:8px}.gallery-page-subtitle{font-family:var(--font-label);font-size:var(--font-size-xs);letter-spacing:.12em;color:var(--text-muted)}.gs-section{margin-bottom:80px}.gs-header{margin-bottom:20px}.gs-eyebrow{font-family:var(--font-label);font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.gs-title{font-family:var(--font-display);font-weight:400;font-size:clamp(1.4rem,3vw,2rem);color:#1a2230;letter-spacing:-.01em}.gs-stage{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;background:#0a0e14;border-radius:12px}.gs-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,#0009,#0000 45%);z-index:5;pointer-events:none}.gs-slide{position:absolute;inset:0;width:100%;height:100%;z-index:2}.gs-slide img{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-select:none;user-select:none}.gs-slide-forward{animation:gs-enter-fwd .65s cubic-bezier(.25,.46,.45,.94) both}.gs-slide-backward{animation:gs-enter-bwd .65s cubic-bezier(.25,.46,.45,.94) both}@keyframes gs-enter-fwd{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes gs-enter-bwd{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}.gs-caption{position:absolute;bottom:44px;left:40px;z-index:10;animation:gs-caption-in .55s .45s ease both;pointer-events:none}@keyframes gs-caption-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.gs-caption-label{display:block;font-family:var(--font-label);font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:#ffffff73;margin-bottom:5px}.gs-caption-text{display:block;font-family:var(--font-display);font-size:clamp(1rem,2.5vw,1.5rem);font-weight:400;color:#ffffffeb;letter-spacing:-.01em;text-shadow:0 2px 16px rgba(0,0,0,.45)}.gs-progress{position:absolute;bottom:0;left:0;width:100%;height:2px;background:#ffffff1f;z-index:10}.gs-progress-fill{height:100%;width:0;background:#ffffff8c;animation:gs-prog 7s linear forwards}@keyframes gs-prog{0%{width:0%}to{width:100%}}.gs-counter{position:absolute;bottom:14px;right:20px;z-index:10;font-family:var(--font-label);font-size:.65rem;letter-spacing:.14em;color:#ffffff52;pointer-events:none}.gs-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:18px}.gs-btn{background:none;border:none;padding:8px 4px;cursor:pointer;color:#1a2230;opacity:.5;display:flex;align-items:center;transition:opacity .25s ease,transform .25s ease}.gs-btn:hover{opacity:1}.gs-btn--prev:hover{transform:translate(-4px)}.gs-btn--next:hover{transform:translate(4px)}.gs-track{flex:1;max-width:180px;height:1px;background:#1a223026;border-radius:1px;cursor:pointer;position:relative}.gs-track-fill{height:100%;background:#1a2230;opacity:.55;border-radius:1px;transition:width .4s cubic-bezier(.25,.46,.45,.94);pointer-events:none}.gs-expand{position:absolute;top:14px;right:14px;z-index:10;width:32px;height:32px;border-radius:6px;border:1px solid rgba(255,255,255,.18);background:#00000047;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff9;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.gs-expand:hover{background:#00000080;color:#fff}.gs-empty{width:100%;aspect-ratio:16 / 9;background:#e8ecf0;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:var(--font-label);font-size:var(--font-size-xs);letter-spacing:.14em;color:var(--text-muted)}.gallery-lb{position:fixed;inset:0;z-index:200;background:#080a0ef7;display:flex;align-items:center;justify-content:center;animation:lb-in .2s ease}@keyframes lb-in{0%{opacity:0}to{opacity:1}}.gallery-lb-stage{display:flex;align-items:center;justify-content:center;max-width:calc(100vw - 140px);max-height:90vh}.gallery-lb-img{max-width:100%;max-height:88vh;object-fit:contain;border-radius:4px;animation:img-in .2s ease}@keyframes img-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.gallery-lb-close{position:fixed;top:20px;right:20px;width:40px;height:40px;border-radius:50%;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#ffffffd9;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:201}.gallery-lb-close:hover{background:#ffffff38}.gallery-lb-arrow{position:fixed;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);color:#ffffffd9;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s;z-index:201}.gallery-lb-arrow:hover{background:#fff3;transform:translateY(-50%) scale(1.06)}.gallery-lb-prev{left:20px}.gallery-lb-next{right:20px}.gallery-lb-counter{position:fixed;bottom:20px;left:50%;transform:translate(-50%);font-family:var(--font-label);font-size:var(--font-size-xs);letter-spacing:.14em;color:#fff6}@media(max-width:768px){.gallery-page{padding:80px 12px 60px;margin-left:0;width:100%}.gs-stage{border-radius:8px}.gs-caption{left:20px;bottom:36px}.gallery-lb-stage{max-width:100vw}.gallery-lb-arrow{width:40px;height:40px;font-size:1rem}.gallery-lb-prev{left:8px}.gallery-lb-next{right:8px}}
