/* V10: framed kitchen hero, alpine backdrop and progressive glass photo cards. */
:root{--outer:#dfd4ce}
.opening-scene{position:relative;isolation:isolate;padding:44px 0 48px;background:#bfd2df}
.opening-landscape{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 50%;pointer-events:none}
.opening-scene:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#f0ece611 0%,transparent 54%,#f0ece680 78%,var(--paper) 100%)}
.opening-scene .hero{width:calc(100% - 104px);max-width:1320px;margin:0 auto;height:clamp(420px,43vw,620px);min-height:0;border:6px solid #fffdf6;border-radius:28px;box-shadow:0 20px 65px #28445624;container-type:inline-size}
.opening-scene .hero-photo{object-position:52% center}
.opening-scene .hero-title h1{font-size:clamp(60px,12.5vw,190px);font-size:clamp(60px,15.5cqw,205px);letter-spacing:-.065em}
.opening-scene .hero-title{padding:4% 4% 0}
.opening-scene .hero-title>p{font-size:14px;letter-spacing:.42em}
.opening-scene header{padding:26px 5% 0}
.opening-scene header>nav{letter-spacing:.08em}
.opening-scene .catalog{position:relative;padding:64px 3.5% 0}
.catalog-title{font-family:Cormorant,Georgia,serif;font-weight:300;font-size:clamp(60px,8.6vw,126px);line-height:.85;letter-spacing:-.025em;text-align:center;color:#fffdf6;text-shadow:0 2px 4px #29404bc0,0 8px 30px #29404b35;max-width:1000px;margin:0 auto 6px;pointer-events:none}
.opening-scene+.intro{max-width:1360px;margin:0 auto;padding:52px 6.5% 68px}
.carousel-selection[hidden],.carousel-controls[hidden]{display:none}
.carousel-stage.is-ready{position:relative;max-width:1300px;margin:0 auto;isolation:isolate}
.tiles.coverflow{display:block;position:relative;width:100%;height:clamp(370px,37vw,510px);margin:0;overflow:visible;padding:0;touch-action:pan-y;user-select:none;cursor:grab;perspective:1400px;perspective-origin:50% 45%;scroll-snap-type:none;scrollbar-width:none}
.tiles.coverflow.dragging{cursor:grabbing}
.tiles.coverflow .tile{position:absolute;left:50%;top:53%;width:23%;max-width:300px;min-width:0;flex:none;margin:0;padding:0;border:1px solid #fffdf6d9;border-radius:14px;background:rgb(243 246 246 / var(--glass-opacity,1));transform-origin:center;will-change:transform;box-shadow:inset 1px 1px 1px #ffffffc0,inset -1px -1px 2px #5c92a044,0 20px 40px #243b4a26;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:border-color .2s}
.tiles.coverflow .tile.is-selected{border-color:#fffdf6;box-shadow:0 24px 55px #23394845}
.tiles.coverflow .tile-photo{aspect-ratio:.72;border-radius:13px;background:transparent}
.tiles.coverflow .tile .tile-photo img,.tiles.coverflow .tile:hover .tile-photo img{transform:none;opacity:var(--photo-opacity,1);pointer-events:none;user-select:none}
.tiles.coverflow .tile:before{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;pointer-events:none;background-image:url('assets/crystal-glass-v13.png'),linear-gradient(125deg,#ffffff80 0%,#ffffff14 32%,transparent 48%,#daeff922 65%,#ffffff50 100%);background-size:cover;opacity:var(--crystal-opacity,0);box-shadow:inset 2px 2px 4px #ffffff9c,inset -2px -2px 4px #72a2b64a}
.tiles.coverflow .tile:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(180deg,transparent 55%,#17292266 100%);opacity:var(--label-opacity,1)}
.tiles.coverflow .tile-label{position:absolute;left:18px;bottom:19px;z-index:3;margin:0;color:#fffdf6;font-size:14px;letter-spacing:.11em;line-height:1.45;opacity:var(--label-opacity,1)}
.tiles.coverflow .tile-line{display:none}
.tiles.coverflow .tile:focus-visible{outline:3px solid #284451;outline-offset:5px}
.carousel-selection{position:relative;z-index:40;max-width:620px;margin:12px auto 0;text-align:center;color:#34414a;padding:0 14px}
.carousel-count{font-size:12px;letter-spacing:.2em;color:#596773;margin-bottom:10px}
.carousel-selection h3{font-family:Cormorant,Georgia,serif;font-weight:400;font-size:clamp(34px,3.2vw,48px);line-height:1.1;letter-spacing:-.02em;margin:0 0 14px;text-wrap:balance}
.carousel-description{font-size:16px;line-height:1.6;max-width:410px;margin:0 auto;color:#4e5a62}
.carousel-open{margin-top:24px;min-width:200px;background:#5f6554}
.carousel-open:hover{background:#484e3f}
.carousel-controls{position:relative;z-index:40;display:flex;align-items:center;justify-content:center;gap:24px;margin:23px auto 0;padding:0 14px}
.carousel-controls button{min-height:44px;padding:10px 23px;border:1px solid #5265735c;border-radius:28px;background:#f5f5ef4d;font-size:14px;color:#3e4f5b;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.carousel-controls button:hover{background:#fffaf2b3}
.carousel-controls>span{font-size:14px;color:#4e5e69}
.carousel-live{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
@media(max-width:1100px){
 .opening-scene{padding-top:32px}
 .opening-scene .hero{width:calc(100% - 64px);border-radius:24px}
 .opening-scene .catalog{padding-top:58px}
 .opening-scene header>nav{font-size:14px;gap:14px;letter-spacing:.02em}
 .tiles.coverflow .tile-label{font-size:12px;left:12px;bottom:14px}
}
@media(max-width:760px){
 .opening-scene{padding:20px 0 36px}
 .opening-scene .hero{width:calc(100% - 30px);height:clamp(410px,110vw,495px);border:4px solid #fffdf6;border-radius:20px}
 .opening-scene .hero-photo{object-position:57% center}
 .opening-scene .hero-title{padding:0 3%}
 .opening-scene .hero-title h1{font-size:12vw;font-size:16cqw;letter-spacing:-.06em}
 .opening-scene .hero-title>p{font-size:12px;letter-spacing:.24em;text-indent:.24em;margin-top:17px}
 .opening-scene .hero-title .pill{min-width:0;max-width:95%;margin-top:30px}
 .opening-scene header{padding:15px 6%}
 .opening-scene .catalog{padding:43px 1.5% 0}
 .catalog-title{font-size:clamp(49px,10.4vw,72px);line-height:.9;margin-bottom:12px}
 .opening-landscape{object-position:50% center}
 .opening-scene:after{background:linear-gradient(180deg,transparent 50%,#f0ece650 72%,var(--paper) 100%)}
 .tiles.coverflow{height:clamp(305px,62vw,390px);perspective:950px}
 .tiles.coverflow .tile{width:42%;max-width:230px;border-radius:11px}
 .tiles.coverflow .tile-photo{border-radius:10px}
 .tiles.coverflow .tile-label{font-size:12px;letter-spacing:.06em;left:12px;bottom:14px}
 .carousel-selection{margin-top:8px;max-width:480px;padding:0 24px}
 .carousel-selection h3{font-size:clamp(32px,6vw,42px);margin-bottom:13px}
 .carousel-description{font-size:16px;max-width:330px}
 .carousel-open{margin-top:22px;min-width:190px}
 .carousel-controls{gap:13px;margin-top:20px;flex-wrap:wrap}
 .carousel-controls button{padding:10px 20px}
 .carousel-controls>span{order:3;flex-basis:100%;text-align:center}
 .opening-scene+.intro{padding:34px 8% 50px;gap:24px}
}
@media(prefers-reduced-motion:reduce){.tiles.coverflow .tile{will-change:auto;transition:none}}
