:root{--ivory:#f8f7f4;--paper:#fffdf9;--brown:#3f2c20;--brown-soft:#715d4e;--caramel:#d8904f;--caramel-dark:#b86e32;--line:#d8904f61;--shadow:0 14px 36px #3d281814;--serif:"Cormorant Garamond", Georgia, serif;--sans:"DM Sans", Arial, sans-serif;--radius-card:20px;--content-width:720px}*{box-sizing:border-box}html{background:var(--ivory);scroll-behavior:smooth;min-height:100%}body{background:var(--ivory);min-height:100%;color:var(--brown);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit}button,input,select{font:inherit}img{max-width:100%}#root,.app-shell-fallback{min-height:100vh}.fallback-hero{color:#fff;text-align:center;background:linear-gradient(#1e140d3d,#1e140d3d),url(/assets/hero-home-hospitality-premium-v24.webp) 50%/cover;place-items:center;min-height:100vh;display:grid}.fallback-hero>img{width:98px;position:absolute;top:24px;left:24px}.fallback-hero span{font:500 64px/1 var(--serif)}.route-loading{background:var(--ivory);min-height:100vh;color:var(--brown-soft);place-items:center;display:grid}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.route-stage{min-height:100vh;animation:.22s cubic-bezier(.22,.61,.36,1) both route-enter}.route-loading{letter-spacing:.04em;align-content:center;gap:10px;font-size:13px}.route-loading__mark{color:var(--caramel);font:500 28px/1 var(--serif);animation:1s ease-in-out infinite route-pulse;display:block}@keyframes route-enter{0%{opacity:.72;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes route-pulse{0%,to{opacity:.42;transform:scale(.92)rotate(0)}50%{opacity:1;transform:scale(1.05)rotate(12deg)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.route-stage,.route-loading__mark{animation:none}}.brand-logo{object-fit:contain;width:118px;height:auto}.brand-logo--compact{width:96px}.language-switcher{position:relative;display:block}.language-switcher>summary{list-style:none}.language-switcher>summary::-webkit-details-marker{display:none}.language-switcher__trigger{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--caramel);border:1px solid var(--caramel);border-radius:999px;min-width:58px;height:38px;padding:0 12px;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:600;letter-spacing:.03em;display:flex;box-shadow:0 8px 22px #12090424,inset 0 1px #ffffff38}.language-switcher__trigger svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:11px;height:8px;transition:transform .16s}.language-switcher[open] .language-switcher__trigger svg{transform:rotate(180deg)}.language-switcher__menu{z-index:10;top:calc(100% + 8px);right:0;padding:0;gap:8px;display:flex;position:absolute;background:transparent;border:0;box-shadow:none;white-space:nowrap}.language-switcher__menu a{color:#fff;-webkit-backdrop-filter:blur(14px) saturate(130%);backdrop-filter:blur(14px) saturate(130%);background:#ffffff24;border:1px solid #ffffff75;border-radius:999px;place-items:center;min-width:48px;height:38px;padding:0 12px;font-size:12px;font-weight:600;text-decoration:none;display:grid;box-shadow:0 8px 22px #12090424,inset 0 1px #ffffff4d;transition:background .16s,transform .16s,border-color .16s}.language-switcher__menu a:hover,.language-switcher__menu a:focus-visible{background:#ffffff38;border-color:#ffffffa6;outline:0}.language-switcher__menu a:active{transform:scale(.97)}.back-button{z-index:1;appearance:none;cursor:pointer;color:#fffaf5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1f16107a;border:1px solid #d8904f94;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;padding:0;transition:transform .16s,border-color .16s,background .16s;display:grid;position:relative;box-shadow:0 9px 24px #12090433,inset 0 1px #ffffff2e}.back-button svg{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:23px;height:23px;overflow:visible}.back-button:hover{background:#1f16109e;border-color:#d8904fe6;transform:translateY(-1px)}.back-button:active{transform:scale(.96)}.back-button:focus-visible{outline-offset:3px;outline:3px solid #fffaf5eb}.hero{color:#fff;isolation:isolate;background-color:#251911;place-items:center;min-height:clamp(600px,86vh,900px);display:grid;position:relative;overflow:hidden}.hero--compact{min-height:clamp(430px,62vh,620px)}.hero__media{--hero-position:center;z-index:0;object-fit:cover;object-position:var(--hero-position);transform-origin:50%;width:calc(100% + 4px);max-width:none;height:calc(100% + 4px);position:absolute;inset:-2px;transform:scale(1.01)}.hero--city .hero__media,.hero--moment .hero__media{filter:brightness(.48)contrast(1.08)saturate(.88)}.hero--music .hero__media{filter:brightness(.56)contrast(1.06)saturate(.92)}.hero__overlay{z-index:1;pointer-events:none;background:linear-gradient(#1b120c33,#1b120c1f 42%,#1b120c6b);position:absolute;inset:0}.hero--city .hero__overlay,.hero--moment .hero__overlay{background:linear-gradient(#180f0957,#180f0930 43%,#180f0985),radial-gradient(circle at 50% 31%,#ffffff09,#0000 42%)}.hero--music .hero__overlay{background:linear-gradient(#180f0945,#180f0926 43%,#180f0978),radial-gradient(circle at 50% 31%,#ffffff0d,#0000 43%)}.hero__topbar{z-index:3;top:max(20px, env(safe-area-inset-top));justify-content:space-between;align-items:center;display:flex;position:absolute;left:24px;right:24px}.hero__content{z-index:2;text-align:center;width:min(92vw,760px);margin-top:-5vh;position:relative}.hero-kicker{font:500 clamp(14px, 2vw, 22px)/1 var(--serif);letter-spacing:.18em;text-transform:uppercase;margin:0 0 10px}.hero h1{font:500 clamp(60px, 10vw, 118px)/.9 var(--serif);letter-spacing:-.04em;text-shadow:0 16px 38px #12090457;margin:0}.city-name{color:var(--caramel);font-style:italic}.home-welcome-title__label{display:block}.hero h1 .home-welcome-title__name{color:var(--caramel);font-family:var(--serif);letter-spacing:-.05em;text-shadow:0 14px 34px #12090461;margin-top:.12em;font-size:.78em;font-style:italic;font-weight:600;line-height:1.02;display:block}.city-name{letter-spacing:-.042em;font-size:clamp(76px,10.5vw,128px);line-height:.88;display:block}.hero-subtitle{color:#fffbf6f2;text-shadow:0 8px 24px #08050380;max-width:480px;margin:16px auto 0;font-size:15px;line-height:1.55}.hero-subtitle span{display:block}.ornament{background:linear-gradient(90deg,transparent,var(--caramel),transparent) center/100% 1px no-repeat;width:120px;height:16px;margin:15px auto 0}.ornament:after{content:"✦";color:var(--caramel);display:block;transform:translateY(-8px)}.basket-curve{z-index:2;height:114px;color:var(--ivory);pointer-events:none;position:absolute;bottom:-2px;left:0;right:0}.basket-curve svg{width:100%;height:100%;display:block;overflow:visible}.basket-curve path{fill:#f8f7f4;stroke:#f8f7f4;stroke-width:2px;vector-effect:non-scaling-stroke;shape-rendering:geometricprecision}.basket-curve__mobile{display:none}.basket-curve:after{content:"";background:var(--ivory);height:6px;position:absolute;bottom:-4px;left:0;right:0}.action-grid{width:min(100%, var(--content-width));gap:12px;margin:auto;display:grid}.action-card{border:1px solid var(--line);border-radius:var(--radius-card);min-height:88px;box-shadow:var(--shadow);background:linear-gradient(145deg,#fffffffe,#f5f6f7f9);grid-template-columns:52px 1fr auto;align-items:center;gap:15px;padding:16px 19px;text-decoration:none;transition:transform .18s,box-shadow .18s;display:grid}.action-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px #3d28181c}.action-card__icon{width:52px;height:52px;color:var(--caramel-dark);font:500 22px/1 var(--serif);background:0 0;border:0;border-radius:0;place-items:center;display:grid;overflow:visible}.action-card__icon img{object-fit:contain;width:100%;height:100%}.action-card__icon svg{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;width:23px;height:23px}.action-card__copy strong{font:600 22px/1.05 var(--serif);display:block}.action-card__copy small{color:var(--brown-soft);margin-top:6px;line-height:1.42;display:block}.action-card--featured{border-color:#b86e3285}.action-card--map{background:linear-gradient(145deg,#fffffffe,#f5f6f7f9)}.chevron{color:var(--caramel-dark);font-size:30px;font-weight:400}.site-footer{place-items:center;padding:38px 20px 52px;display:grid}.site-footer:before{content:"";background:linear-gradient(90deg,transparent,var(--caramel),transparent);width:150px;height:1px;margin-bottom:20px}.offline-indicator{z-index:100;left:50%;bottom:max(14px, env(safe-area-inset-bottom));background:var(--brown);color:#fff;box-shadow:var(--shadow);border-radius:999px;padding:10px 16px;font-size:12px;position:fixed;transform:translate(-50%)}@media (max-width:650px){.hero{min-height:690px}.hero--compact{min-height:500px}.hero__topbar{left:16px;right:16px}.hero h1{font-size:clamp(56px,17vw,82px)}.home-welcome-title__name{letter-spacing:-.045em;font-size:.76em}.city-name{font-size:clamp(66px,18vw,90px)}.brand-logo--compact{width:82px}.basket-curve{height:78px;bottom:-2px}.basket-curve__desktop{display:none}.basket-curve__mobile{display:block}.action-card{border-radius:18px;grid-template-columns:48px 1fr auto;min-height:82px;padding:14px 15px}.action-card__icon{width:48px;height:48px}.action-card__copy strong{font-size:19px}.action-card__copy small{font-size:12.5px}}.page-content{padding:38px 18px}.page-content--first{margin-top:-2px}.page-content--list{width:min(100%,860px);margin:auto;padding-top:42px}.recommendation-list{gap:18px;display:grid}.recommendation-card{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:24px;grid-template-columns:210px minmax(0,1fr);align-items:start;display:grid;overflow:hidden}.recommendation-card__image{background:#e8dfd5;width:210px;height:210px;min-height:0;overflow:hidden}.recommendation-card__image img{object-fit:cover;width:100%;height:100%;display:block}.recommendation-card__body{padding:24px}.recommendation-card__meta{color:var(--caramel-dark);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;gap:12px;font-size:12px;display:flex}.recommendation-card h2{font:600 34px/1 var(--serif);margin:10px 0 8px}.recommendation-card p{color:var(--brown-soft);line-height:1.58}.guest-advice{border-left:2px solid var(--caramel);color:var(--brown-soft);background:#fbf5ee;margin-top:16px;padding:14px;line-height:1.5}.guest-advice span{color:var(--caramel-dark);letter-spacing:.13em;margin-bottom:4px;font-size:10px;font-weight:600;display:block}.text-link{color:var(--caramel-dark);margin-top:16px;font-weight:600;display:inline-block}.feedback-card{border:1px solid var(--line);text-align:center;background:var(--paper);border-radius:20px;margin-top:28px;padding:24px}.feedback-card h2{font:600 28px/1 var(--serif);margin:0 0 12px}.feedback-card button{border:1px solid var(--line);min-width:92px;color:var(--brown);background:#fff;border-radius:999px;margin:0 5px;padding:11px 18px}.intent-grid,.map-filters{width:min(100%, var(--content-width));flex-wrap:wrap;justify-content:center;gap:8px;margin:0 auto 20px;display:flex}.intent-grid button,.map-filters button{border:1px solid var(--line);background:var(--paper);color:var(--brown);border-radius:999px;padding:11px 15px}.intent-grid button.active,.map-filters button.active{background:var(--caramel);color:#fff;border-color:var(--caramel)}.map-page{padding:30px 18px 0}.map-holder{border:1px solid var(--line);width:min(100%,1050px);height:min(66vh,680px);box-shadow:var(--shadow);border-radius:24px;margin:auto;overflow:hidden}.legal-page{border:1px solid var(--line);background:var(--paper);width:min(100% - 36px,760px);min-height:80vh;box-shadow:var(--shadow);border-radius:24px;margin:40px auto;padding:38px}.legal-page h1{font:600 48px/1 var(--serif)}.legal-page h2{font:600 28px/1 var(--serif);margin-top:30px}.legal-page p{color:var(--brown-soft);line-height:1.7}.legal-back{background:var(--brown)}@media (max-width:650px){.hero{min-height:690px}.hero--compact{min-height:500px}.hero__topbar{left:16px;right:16px}.hero h1{font-size:clamp(56px,17vw,82px)}.brand-logo--compact{width:82px}.basket-curve{height:76px}.page-content{padding:28px 14px}.action-card{border-radius:18px;grid-template-columns:48px 1fr auto;min-height:82px;padding:14px 15px}.action-card__icon{width:48px;height:48px}.action-card__copy strong{font-size:19px}.action-card__copy small{font-size:12.5px}.recommendation-card{grid-template-columns:1fr}.recommendation-card__image{width:100%;height:190px;min-height:0}.recommendation-card__body{padding:20px}.map-holder{border-radius:20px;height:62vh}}.home-actions{width:min(100%, var(--content-width));gap:12px;margin:auto;display:grid}.home-actions__title{text-align:center;font:600 clamp(28px, 4vw, 40px)/1 var(--serif);margin:0 0 8px}.home-actions .action-card__copy strong{font-family:var(--sans);font-weight:600;letter-spacing:-.015em}.home-actions .action-card__copy small{font-family:var(--sans);font-weight:400}.home-actions__pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.home-actions__pair .action-card{grid-template-columns:48px 1fr auto}.home-actions>.action-card--featured{color:#fff;background:linear-gradient(90deg,#1d120bad,#1d120b6e),url(/assets/hero-home-hospitality-premium-v24.webp) 50% 52%/cover no-repeat;border-color:#d8904fb8;min-height:124px;box-shadow:0 16px 36px #2b1a0f2e}.home-actions>.action-card--featured .action-card__icon{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffcf738;border-color:#ffffff57}.home-actions>.action-card--featured .action-card__copy small{color:#fffbf6e0}.home-actions>.action-card--featured .chevron{color:#fff}.moment-controls{gap:14px;margin-bottom:28px;display:grid}.control-group{border:1px solid var(--line);background:var(--paper);border-radius:18px;padding:17px}.control-group>strong{font:600 21px/1 var(--serif);margin-bottom:10px;display:block}.control-group>div{flex-wrap:wrap;gap:8px;display:flex}.control-group button,.moment-heading button{border:1px solid var(--line);color:var(--brown);background:#fff;border-radius:999px;padding:10px 14px}.control-group button.active{background:var(--caramel);border-color:var(--caramel);color:#fff}.moment-heading{justify-content:space-between;align-items:center;gap:16px;margin:0 0 18px;display:flex}.moment-heading h2{font:600 34px/1 var(--serif);margin:0}.map-error{width:min(100%,720px);color:var(--caramel-dark);text-align:center;margin:0 auto 14px}@media (max-width:650px){.home-actions__pair{grid-template-columns:1fr}.moment-heading{flex-direction:column;align-items:flex-start}}.music-page-content{background:linear-gradient(#f8f7f4 0%,#f4f1ec 54%,#faf9f7 100%)}.music-section-heading{width:min(100%, var(--content-width));text-align:center;margin:0 auto 22px}.music-section-heading span{color:var(--caramel-dark);letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:600;display:block}.music-section-heading h2{font:600 clamp(30px, 4.2vw, 42px)/1 var(--serif);letter-spacing:-.025em;margin:0}.recommendation-card{content-visibility:auto;contain-intrinsic-size:210px 420px;transition:transform .18s,box-shadow .18s,border-color .18s}.recommendation-card:hover{border-color:#d8904f7a;transform:translateY(-2px);box-shadow:0 18px 40px #3d28181b}.recommendation-card__image{position:relative}.recommendation-card__image:after{content:"";pointer-events:none;background:linear-gradient(105deg,#e8dfd58c 20%,#fffdf9eb 42%,#e8dfd58c 64%) 0 0/220% 100%;transition:opacity .22s;animation:1.15s ease-in-out infinite image-placeholder;position:absolute;inset:0}.recommendation-card__image img{opacity:0;transition:opacity .24s,transform .38s;transform:scale(1.01)}.recommendation-card__image.is-loaded:after{opacity:0}.recommendation-card__image.is-loaded img{opacity:1;transform:scale(1)}.action-card,.intent-grid button,.map-filters button,.control-group button,.feedback-card button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.action-card:active,.intent-grid button:active,.map-filters button:active,.control-group button:active,.feedback-card button:active{transform:scale(.985)}@keyframes image-placeholder{0%{background-position:100% 0}to{background-position:-100% 0}}@media (max-width:650px){.recommendation-card:hover{transform:none}}@media (prefers-reduced-motion:reduce){.recommendation-card,.recommendation-card__image img,.recommendation-card__image:after,}.action-card,.action-card--map,.action-card:hover,.action-card--featured,.home-actions>.action-card--featured{border-color:#0000}.home-actions>.action-card--featured{box-shadow:0 16px 36px #1c140e2e,inset 0 0 0 1px #ffffff1a}.home-actions>.action-card--featured .action-card__icon{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0}.control-group{background:linear-gradient(145deg,#fffffffe,#f6f8fafb);border-color:#0000;box-shadow:0 10px 28px #1f23280e,inset 0 1px #fffffffa,inset 0 0 0 1px #1f232809}.control-group button,.moment-heading button,.intent-grid button,.feedback-card button{background:linear-gradient(145deg,#fffffffe,#f5f7f9fb);border-color:#0000;box-shadow:0 5px 14px #1f23280b,inset 0 1px #fffffffa,inset 0 0 0 1px #1f232809}.control-group button.active,.intent-grid button.active{background:var(--caramel);border-color:#0000;box-shadow:0 7px 18px #b86e3233}.moment-context-strip{width:100%;min-height:64px;color:var(--brown);background:linear-gradient(145deg,#fffffffe,#f5f7f9fb);border:0;border-radius:20px;grid-template-columns:minmax(0,1.12fr) minmax(0,1.35fr) minmax(0,.72fr);align-items:stretch;margin:0 0 26px;padding:10px 12px;display:grid;box-shadow:0 12px 30px #1f232811,inset 0 1px #fffffffa,inset 0 0 0 1px #1f232809}.moment-context-strip>div{align-items:center;gap:9px;min-width:0;padding:4px 13px;display:flex}.moment-context-strip>div+div{border-left:1px solid #3f2c2017}.moment-context-strip__weather-copy{min-width:0;line-height:1.05;display:grid}.moment-context-strip__weather-copy strong{font:600 22px/1 var(--serif);letter-spacing:-.02em}.moment-context-strip__weather-copy small,.moment-context-strip__item{color:var(--brown-soft);font-size:12px;line-height:1.25}.moment-context-strip__weather-copy small,.moment-context-strip__item>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.moment-context-strip__icon,.moment-context-strip__mini-icon{color:var(--caramel-dark);flex:none;place-items:center;display:grid}.moment-context-strip__icon{width:34px;height:34px}.moment-context-strip__mini-icon{width:20px;height:20px}.moment-context-strip svg{fill:none;stroke:currentColor;stroke-width:1.55px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.moment-context-strip__city{justify-content:center;font-weight:600}@media (max-width:650px){.moment-context-strip{border-radius:18px;grid-template-columns:minmax(0,1.1fr) minmax(0,1.35fr) minmax(0,.72fr);min-height:58px;margin-bottom:22px;padding:8px 7px}.moment-context-strip>div{gap:6px;padding:4px 8px}.moment-context-strip__icon{width:29px;height:29px}.moment-context-strip__mini-icon{width:17px;height:17px}.moment-context-strip__weather-copy strong{font-size:19px}.moment-context-strip__weather-copy small,.moment-context-strip__item{font-size:10.5px}}
.home-actions .action-card{min-height:112px;grid-template-columns:60px minmax(0,1fr) auto;gap:18px;padding:20px 22px}.home-actions__pair .action-card{grid-template-columns:60px minmax(0,1fr) auto}.home-actions .action-card__icon{width:60px;height:60px}.home-actions .action-card__copy strong{font-size:23px}.home-actions .action-card__copy small{font-size:14px;line-height:1.45}.home-actions>.action-card--featured{min-height:138px}@media (max-width:650px){.home-actions{gap:14px}.home-actions__pair{gap:14px}.home-actions .action-card,.home-actions__pair .action-card{min-height:104px;grid-template-columns:56px minmax(0,1fr) auto;gap:15px;padding:18px 17px}.home-actions .action-card__icon{width:56px;height:56px}.home-actions .action-card__copy strong{font-size:20px}.home-actions .action-card__copy small{font-size:13px;line-height:1.4}.home-actions>.action-card--featured{min-height:132px}}

.all-filters{margin:0 0 22px}.all-category-row{display:flex;gap:2px;overflow:auto;padding:4px;margin-bottom:10px;scrollbar-width:none;border-radius:16px;background:#eceef1b8;box-shadow:inset 0 1px 3px #1f23280a}.all-category-row::-webkit-scrollbar{display:none}.all-chip,.all-filter-toggle,.all-filter-panel button,.all-filter-panel select{min-height:44px;border:0;border-radius:14px;background:linear-gradient(145deg,#fff,#f3f5f7);box-shadow:0 8px 22px #1f232810,inset 0 0 0 1px #1f232809;color:var(--brown);font-weight:600;padding:9px 14px;white-space:nowrap}.all-chip{flex:1;background:transparent;box-shadow:none;min-height:38px;padding:7px 12px}.all-chip.active{background:#fffffff2;box-shadow:0 2px 8px #1f232812,inset 0 0 0 1px #ffffffb8}.all-filter-panel button.active{box-shadow:0 9px 22px #b86e3219,inset 0 0 0 1.5px var(--caramel)}.all-filter-toggle{width:100%;border-radius:17px;display:flex;align-items:center;justify-content:space-between;margin-top:7px}.all-filter-panel{background:linear-gradient(145deg,#fffffffe,#f5f7f9fb);border-radius:19px;box-shadow:0 10px 28px #1f23280e,inset 0 0 0 1px #1f232809;padding:17px;margin-top:10px;display:grid;gap:17px}.all-filter-group>strong{color:var(--caramel-dark);font:600 10px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;display:block;margin-bottom:9px}.all-filter-options{display:flex;flex-wrap:wrap;gap:8px}.all-filter-check{display:flex;align-items:center;gap:9px;font-size:13px}.all-filter-check input{accent-color:var(--caramel);width:18px;height:18px}.all-filter-selects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.all-filter-panel select{border-radius:14px;width:100%;appearance:auto}.all-filter-actions{display:flex;justify-content:flex-end}.all-results-count{color:var(--brown-soft);font-size:12px;margin:0 0 13px}.all-empty{padding:28px;text-align:center;background:#fff;border-radius:18px;color:var(--brown-soft)}.all-filter-panel{position:fixed;z-index:60;left:50%;transform:translateX(-50%);bottom:12px;width:min(720px,calc(100vw - 24px));max-height:min(78vh,680px);overflow:auto;padding:18px 16px 22px;border-radius:24px;box-shadow:0 24px 70px #1f232833,0 0 0 100vmax #12090438,inset 0 0 0 1px #fff9;animation:allSheetIn .2s ease both}.all-filter-selects{grid-template-columns:repeat(2,minmax(0,1fr))}@keyframes allSheetIn{from{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%,0)}}@media(max-width:600px){.all-category-row{margin-left:-2px;margin-right:-2px}.all-chip{font-size:11px;padding:7px 10px}.all-filter-panel{left:10px;right:10px;bottom:10px;width:auto;transform:none;max-height:min(80vh,720px)}@keyframes allSheetIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.all-filter-selects{grid-template-columns:1fr}}.all-category-row button,.all-filter-toggle,.all-filter-panel button,.all-filter-panel select,.all-results-count,.all-filter-check,
.moment-flow,.moment-result-summary,.moment-itinerary,.moment-quick{background:linear-gradient(145deg,#fffffffe,#f5f7f9fb);border:0;border-radius:20px;box-shadow:0 10px 28px #1f23280e,inset 0 1px #fffffffa,inset 0 0 0 1px #1f232809}.moment-flow{padding:22px;margin-bottom:24px}.moment-sheet-layer{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:max(18px,env(safe-area-inset-top)) 12px max(18px,env(safe-area-inset-bottom));background:rgba(22,15,10,.34);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);touch-action:none;overscroll-behavior:contain}.moment-flow.moment-flow-enter{position:relative;left:auto;right:auto;bottom:auto;z-index:1;width:min(430px,calc(100% - 8px));max-height:min(82dvh,680px);overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain;margin:0;padding:30px 18px 26px;border-radius:28px;box-shadow:0 28px 80px #12090445,inset 0 1px #fffffffa,inset 0 0 0 1px #1f232809}.moment-flow.moment-flow-enter:before{content:"";position:absolute;top:9px;left:50%;width:42px;height:5px;border-radius:999px;background:#3f2c2030;transform:translateX(-50%)}.moment-flow__kicker{color:var(--caramel-dark);font:600 10px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;margin:0 0 9px}.moment-flow h2{font:600 28px/1.08 var(--serif);margin:0 0 18px;color:var(--brown)}.moment-flow__step+.moment-flow__step{border-top:1px solid #3f2c2012;margin-top:20px;padding-top:20px}.moment-context-strip{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 14px;margin:18px auto 0;padding:0;border:0;border-radius:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;color:#fffaf5;text-shadow:0 5px 18px #1209048a}.moment-context-strip__item{display:inline-flex;align-items:center;gap:8px;color:#fffaf5;font:500 13px/1.2 var(--sans)}.moment-context-strip__icon,.moment-context-strip__mini-icon{color:#fffaf5;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;opacity:.95}.moment-context-strip__icon svg,.moment-context-strip__mini-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.moment-context-strip__weather-copy{font:600 13px/1 var(--sans);letter-spacing:.01em;color:#fff}.moment-context-strip__city{opacity:.92}.moment-choice-grid{display:grid;grid-template-columns:1fr;gap:10px}.moment-choice-grid--occasion{grid-template-columns:1fr}.moment-choice,.moment-duration button,.moment-quick button{min-height:50px;color:var(--brown);background:linear-gradient(145deg,#fff,#f3f5f7);border:0;border-radius:16px;padding:11px 14px;font-weight:600;box-shadow:0 8px 22px #1f232810,inset 0 1px #fff,inset 0 0 0 1px #1f232809;transition:transform .16s,box-shadow .16s}.moment-flow-enter .moment-choice{width:100%;min-height:52px;text-align:left;padding-left:18px;padding-right:18px}.moment-choice:hover,.moment-duration button:hover,.moment-quick button:hover{transform:translateY(-1px);box-shadow:0 12px 28px #1f232817,inset 0 1px #fff}.moment-choice.active,.moment-duration button.active,.moment-quick button.active{box-shadow:0 10px 24px #b86e321c,inset 0 0 0 1.5px var(--caramel),inset 0 1px #fff}.moment-result-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;margin-bottom:18px}.moment-result-summary strong{font:600 20px/1.1 var(--serif)}.moment-result-summary span{display:block;color:var(--brown-soft);font-size:12px;margin-top:4px}.moment-result-summary button{border:0;background:transparent;color:var(--caramel-dark);font-weight:600;padding:10px}.moment-duration{margin-bottom:22px}.moment-duration>strong,.moment-quick>strong{color:var(--caramel-dark);font:600 11px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;display:block;margin:0 0 10px}.moment-duration>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.moment-heading{margin-top:4px}.moment-itinerary{padding:18px;margin:22px 0}.moment-itinerary h3{font:600 24px/1.1 var(--serif);margin:0 0 15px}.moment-itinerary__route{display:grid;gap:0;margin-bottom:16px}.moment-itinerary__stop{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;position:relative;padding-bottom:14px}.moment-itinerary__stop:not(:last-child):before{content:"";position:absolute;left:5px;top:14px;bottom:-2px;width:1px;background:linear-gradient(to bottom,#483e3708,#483e3726,#483e3708);box-shadow:0 0 8px #fff6}.moment-itinerary__dot{width:11px;height:11px;border-radius:50%;border:1px solid #705c4b29;background:#f8f7f5eb;margin-top:3px;box-shadow:0 2px 8px #332a2414,inset 0 1px #ffffffe6}.moment-itinerary__stop:first-child .moment-itinerary__dot{border-color:#b87b734d;box-shadow:0 0 0 4px #b87b7312,0 2px 8px #332a2414}.moment-itinerary__stop strong{display:block;font-size:13px}.moment-itinerary__stop small{color:var(--brown-soft);font-size:11px}.moment-itinerary__button,.moment-all-link{min-height:48px;border-radius:16px;background:linear-gradient(145deg,#fff,#f3f5f7);box-shadow:0 8px 22px #1f232810,inset 0 0 0 1px #1f232809;color:var(--brown);font-weight:600;display:flex;align-items:center;justify-content:center;text-align:center;padding:11px 14px}.moment-escape-summary{margin:0 0 18px;padding:16px 17px;background:linear-gradient(145deg,#fffffffe,#f5f7f9fb);border-radius:18px;box-shadow:0 10px 28px #1f23280e,inset 0 0 0 1px #1f232809}.moment-escape-summary__metrics{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.moment-escape-summary__metrics span{font-size:12px;font-weight:600;color:var(--brown);padding:7px 10px;border-radius:999px;background:#fff9;box-shadow:inset 0 0 0 1px #1f232809}.moment-escape-summary p{margin:0;color:var(--brown-soft);font-size:13px}.moment-route-list{position:relative}.moment-route-step{position:relative;padding-left:25px;margin-bottom:24px;overflow:visible}.moment-route-step:before{content:"";position:absolute;left:5px;top:13px;bottom:-22px;width:1px;background:linear-gradient(to bottom,#483e3708,#483e3722,#483e3706)}.moment-route-step:last-child:before{display:none}.moment-route-step:after{content:"";position:absolute;left:0;top:8px;width:11px;height:11px;border-radius:50%;background:#f8f7f5eb;border:1px solid #705c4b29;box-shadow:0 2px 8px #332a2414,inset 0 1px #ffffffe6}.moment-route-step:first-child:after{border-color:#b87b734d;box-shadow:0 0 0 4px #b87b7312,0 2px 8px #332a2414}.moment-quick{padding:16px;margin:20px 0}.moment-quick>div{display:flex;flex-wrap:wrap;gap:9px}.moment-quick button{min-height:42px;border-radius:999px;padding:8px 13px;font-size:12px}.moment-all-link{margin:14px 0 8px;text-decoration:none}.moment-generation{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 22px;margin-bottom:24px;background:linear-gradient(145deg,#fffffffe,#f5f7f9fb);border-radius:20px;box-shadow:0 10px 28px #1f23280e,inset 0 1px #fffffffa,inset 0 0 0 1px #1f232809}.moment-generation__spinner{width:34px;height:34px;border-radius:50%;border:1.5px solid #b86e3224;border-top-color:var(--caramel);animation:momentSpin .85s linear infinite;margin-bottom:18px}.moment-generation h2{font:600 27px/1.1 var(--serif);color:var(--brown);margin:0 0 16px}.moment-generation__steps{display:grid;gap:7px;color:var(--brown-soft);font:400 12px/1.35 var(--sans)}.moment-generation__steps span{animation:momentSoftPulse 1.05s ease-in-out infinite}.moment-generation__steps span:nth-child(2){animation-delay:.15s}.moment-generation__steps span:nth-child(3){animation-delay:.3s}.moment-result-summary,.moment-duration,.moment-heading,.moment-escape-summary,.moment-itinerary,.moment-quick,.moment-all-link{animation:momentResultIn .22s ease both;backface-visibility:hidden}.moment-duration{animation-delay:.04s}.moment-heading{animation-delay:.08s}.moment-escape-summary{animation-delay:.12s}.moment-route-step{animation:momentResultIn .22s ease both;animation-delay:calc(.14s + var(--step-index,0)*80ms);backface-visibility:hidden}.moment-itinerary{animation-delay:.34s}.moment-quick{animation-delay:.39s}.moment-all-link{animation-delay:.44s}.moment-flow-enter{animation:momentFlowIn .2s ease both}@keyframes momentSpin{to{transform:rotate(360deg)}}@keyframes momentSoftPulse{0%,100%{opacity:.52}50%{opacity:1}}@keyframes momentResultIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes momentFlowIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.moment-generation__spinner,.moment-generation__steps span,.moment-result-summary,.moment-duration,.moment-heading,.moment-escape-summary,.moment-route-step,.moment-itinerary,.moment-quick,.moment-all-link{animation:none!important}}@media(max-width:650px){.moment-flow{padding:18px 14px;border-radius:18px}.moment-sheet-layer{align-items:center;padding:max(14px,env(safe-area-inset-top)) 10px max(14px,env(safe-area-inset-bottom))}.moment-flow.moment-flow-enter{width:min(100%,390px);max-height:min(84dvh,620px);padding:30px 14px 22px;border-radius:26px}.moment-flow h2{font-size:25px}.moment-choice-grid{grid-template-columns:1fr;gap:8px}.moment-choice-grid--occasion{grid-template-columns:1fr;gap:8px}.moment-choice{min-height:50px;padding:11px 16px;font-size:13px}.moment-result-summary{padding:12px 13px}.moment-result-summary strong{font-size:19px}.moment-duration button{font-size:12px;padding:9px 7px}.moment-itinerary{padding:16px 14px}.moment-route-step{padding-left:21px}.moment-quick{padding:14px}.moment-all-link{font-size:13px}}@media(max-width:360px){.moment-duration button{font-size:11px;padding-left:4px;padding-right:4px}}.moment-choice,.moment-result-summary button,.moment-duration button,.moment-quick button,.moment-itinerary__button,.moment-all-link,.moment-result-summary span,.moment-itinerary__stop small,.moment-escape-summary p,
.tga-map-marker-wrap{background:none;border:0}.tga-map-marker{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#fffdf9;box-shadow:0 10px 22px #12090426,inset 0 0 0 1px #d8904f6b;color:#3f2c20;position:relative}.tga-map-marker:after{content:'';position:absolute;inset:-4px;border-radius:50%;background:#d8904f1f;z-index:-1}.tga-map-marker svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round}.tga-map-marker--restaurants{color:#b86e32}.tga-map-marker--bars{color:#8f5b38}.tga-map-marker--activites{color:#d8904f}.tga-map-marker--culture{color:#6a5142}.tga-map-marker--me{color:#3f2c20;box-shadow:0 0 0 5px #d8904f2a,0 10px 22px #12090426,inset 0 0 0 1px #d8904f6b}.leaflet-popup-content-wrapper{border-radius:16px;box-shadow:0 12px 26px #1209041f}.leaflet-popup-content{font:500 13px/1.45 var(--sans);color:var(--brown)}.leaflet-popup-content strong{font:600 16px/1.1 var(--serif)}


/* TGA unified cards, controls and typography — P1/P2/P3 */
:root{--tga-control-radius:18px;--tga-chip-radius:999px;--tga-control-min:48px;--tga-control-bg:linear-gradient(145deg,#fffffffe,#f3f5f7fb);--tga-control-shadow:0 8px 22px #1f232810,inset 0 1px #fffffffa,inset 0 0 0 1px #1f232809}
.hero h1,.hero-kicker+.hero-title,.home-actions__title,.page-content h1,.page-content h2,.recommendation-card h2,.all-address-card h2,.moment-heading h2,.moment-itinerary h3,.feedback-card h2,.music-section-heading h2{font-family:var(--serif);font-weight:600}
.action-card__copy strong,.all-address-card__actions a,.map-filters button,.all-chip,.all-filter-toggle,.all-filter-panel button,.all-filter-panel select,.moment-choice,.moment-duration button,.moment-quick button,.moment-itinerary__button,.moment-all-link,.feedback-card button,.language-switcher__trigger,.language-switcher__option,.back-button,.control-group button,.intent-grid button,.site-footer a,.site-footer button{font-family:var(--sans);font-weight:600}
.action-card__copy small,.recommendation-card p,.recommendation-card__meta,.guest-advice,.all-address-card__price span,.all-results-count,.all-filter-check,.moment-result-summary span,.moment-itinerary__stop small,.moment-escape-summary p,.moment-generation__steps,.hero-subtitle,.page-content p{font-family:var(--sans);font-weight:400}
.all-address-card{position:relative;display:grid;grid-template-columns:1fr;border:1px solid var(--line);border-radius:28px;background:var(--paper);box-shadow:var(--shadow);overflow:hidden;content-visibility:visible;contain-intrinsic-size:auto}
.all-address-card .recommendation-card{display:contents;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none;content-visibility:visible;contain-intrinsic-size:auto}
.all-address-card .recommendation-card__image{width:100%;height:clamp(210px,34vw,320px)}
.all-address-card .recommendation-card__body{padding:20px 20px 0}
.all-address-card .recommendation-card__meta{font-size:11px;letter-spacing:.12em;color:var(--caramel-dark);gap:8px;flex-wrap:wrap}
.all-address-card .recommendation-card h2{font:600 clamp(46px,5vw,66px)/.96 var(--serif);margin:18px 0 12px;color:var(--brown)}
.all-address-card .recommendation-card p{font-size:16px;line-height:1.55;color:var(--brown-soft);margin:0}
.all-address-card .guest-advice{margin:22px 0 0;padding:18px 18px 18px 14px;border-radius:18px;background:#f6efe7;border-left:4px solid var(--caramel)}
.all-address-card .guest-advice span{font-size:11px;letter-spacing:.18em}
.all-address-card__extras{position:relative;z-index:1;margin:0;padding:0 20px 20px;background:var(--paper)}
.all-address-card__price{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0 12px;margin-top:14px;border-top:1px solid #3f2c2012;color:var(--brown-soft);font-size:15px}
.all-address-card__price strong{color:var(--brown);font:600 20px/1 var(--sans);letter-spacing:.05em}
.all-address-card__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:14px;border-top:1px solid #3f2c2012}
.all-address-card__actions a{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:12px 14px;border:0;border-radius:var(--tga-control-radius);background:var(--tga-control-bg);box-shadow:var(--tga-control-shadow);color:var(--brown);font-size:13px;text-decoration:none;text-align:center}
.all-address-card__actions a.is-route{color:var(--caramel-dark);box-shadow:0 8px 20px #b86e3215,inset 0 0 0 1px #b86e3247}
.all-address-card__actions a:last-child:nth-child(odd){grid-column:1/-1}
.recommendation-list,.moment-route-list{display:grid;gap:20px}
.moment-route-step{padding-left:25px;margin-bottom:4px}
.moment-route-step .all-address-card{margin:0}
.action-card,.all-address-card__actions a,.moment-itinerary__button,.moment-all-link,.feedback-card button{border-radius:var(--tga-control-radius)}
.map-filters button,.all-chip,.moment-quick button,.intent-grid button,.language-switcher__trigger,.language-switcher__option{border-radius:var(--tga-chip-radius);font-size:12px;min-height:44px}
.map-filters button,.all-chip,.all-filter-toggle,.all-filter-panel button,.all-filter-panel select,.moment-choice,.moment-duration button,.moment-quick button,.control-group button,.intent-grid button{background:var(--tga-control-bg);box-shadow:var(--tga-control-shadow);border:0;color:var(--brown)}
.map-filters button.active,.all-chip.active,.moment-choice.active,.moment-duration button.active,.moment-quick button.active,.control-group button.active,.intent-grid button.active{background:var(--caramel);color:#fff;box-shadow:0 8px 20px #b86e3226,inset 0 0 0 1px #fff3}
.language-switcher__option{background:#ffffffd9;color:var(--brown);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 10px 26px #12090420,inset 0 0 0 1px #ffffffb8}
@media(max-width:650px){.all-address-card{border-radius:24px}.all-address-card .recommendation-card__body{padding:18px 18px 0}.all-address-card .recommendation-card h2{font-size:44px}.all-address-card__extras{padding:0 18px 18px}.all-address-card__price{font-size:14px}.all-address-card__price strong{font-size:18px}.all-address-card__actions{grid-template-columns:1fr 1fr}.recommendation-list,.moment-route-list{gap:18px}.moment-route-step{padding-left:21px}}

/* TGA V29 R6 — accueil uniquement: snap écran, titre DM Sans, taille Surprise alignée */
.home-page{height:100dvh;min-height:100svh;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;scroll-behavior:smooth;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
.home-page>.hero,.home-page>.page-content--first,.home-page>.site-footer{scroll-snap-align:start;scroll-snap-stop:always}
.home-page>.hero{min-height:100dvh}
.home-page>.page-content--first{min-height:100dvh;display:grid;align-items:center;padding-top:max(38px,env(safe-area-inset-top));padding-bottom:max(38px,env(safe-area-inset-bottom))}
.home-page .home-actions__title{font-family:var(--sans);font-size:clamp(24px,3.2vw,34px);font-weight:600;line-height:1.2;letter-spacing:-.025em;margin:0 0 28px}
.home-page .home-actions>.action-card--featured{min-height:88px}
@media(max-width:650px){.home-page>.hero{min-height:100dvh}.home-page>.page-content--first{min-height:100dvh;padding-top:max(28px,env(safe-area-inset-top));padding-bottom:max(28px,env(safe-area-inset-bottom))}.home-page .home-actions__title{font-size:clamp(22px,6.6vw,28px);line-height:1.22;margin-bottom:24px}.home-page .home-actions>.action-card--featured{min-height:82px}}
@media(prefers-reduced-motion:reduce){.home-page{scroll-behavior:auto}}


/* =========================================================
   V29 R7 — language controls + card typography/backgrounds
   Scope limited to language selectors, music action cards and content cards.
   ========================================================= */
.language-switcher{position:relative;display:block}
.language-switcher__menu.language-switcher__menu--always{position:static;display:grid;grid-template-columns:1fr;align-items:stretch;gap:7px;min-width:46px;padding:0;background:transparent;border:0;box-shadow:none;white-space:normal}
.language-switcher__option{display:grid;place-items:center;width:46px;min-width:46px;height:36px;min-height:36px;padding:0;border:1px solid rgba(255,255,255,.52);border-radius:14px;color:#fff;text-decoration:none;font:600 10px/1 var(--sans);letter-spacing:.10em;background:linear-gradient(145deg,rgba(255,255,255,.22),rgba(255,255,255,.08));box-shadow:inset 0 1px 0 rgba(255,255,255,.30),0 9px 24px rgba(18,9,4,.20);-webkit-backdrop-filter:blur(16px) saturate(135%);backdrop-filter:blur(16px) saturate(135%);transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}
.language-switcher__option:hover,.language-switcher__option:focus-visible{outline:0;transform:translateY(-1px);background:linear-gradient(145deg,rgba(255,255,255,.31),rgba(255,255,255,.13));border-color:rgba(255,255,255,.76)}
.language-switcher__option:active{transform:scale(.97)}
.language-switcher__option.is-active{color:#fff;background:linear-gradient(145deg,rgba(216,144,79,.92),rgba(184,110,50,.84));border-color:rgba(255,226,197,.78);box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 10px 24px rgba(84,45,18,.26)}

.music-page-content .action-card__copy strong{font-family:var(--sans)!important;font-weight:600;letter-spacing:-.012em;font-size:20px}
.music-page-content .action-card__copy small{font-size:13px}

.recommendation-card,.all-address-card,.feedback-card{background:linear-gradient(145deg,#fffffffe,#f5f6f7f9)}
.all-address-card__extras{background:#fff}
.recommendation-card__meta{font-size:11px}
.recommendation-card h2{font-size:30px}
.recommendation-card p{font-size:14.5px}
.guest-advice{font-size:13.5px}
.text-link{font-size:13px}
.all-address-card .recommendation-card__meta{font-size:10px}
.all-address-card .recommendation-card h2{font-size:clamp(40px,4.4vw,56px)}
.all-address-card .recommendation-card p{font-size:14.5px}
.all-address-card .guest-advice{font-size:13.5px}
.all-address-card .guest-advice span{font-size:10px}
.all-address-card__price{font-size:13.5px}
.all-address-card__price strong{font-size:18px}
.all-address-card__actions a{font-size:12px}

@media(max-width:650px){
  .language-switcher__menu.language-switcher__menu--always{gap:6px;min-width:42px}
  .language-switcher__option{width:42px;min-width:42px;height:33px;min-height:33px;border-radius:13px;font-size:9px}
  .music-page-content .action-card__copy strong{font-size:18px}
  .music-page-content .action-card__copy small{font-size:12px}
  .recommendation-card h2{font-size:27px}
  .recommendation-card p{font-size:14px}
  .all-address-card .recommendation-card h2{font-size:38px}
  .all-address-card .recommendation-card p{font-size:14px}
  .all-address-card__price{font-size:13px}
  .all-address-card__price strong{font-size:17px}
}
