:root{--ink:#22241f;--paper:#eeeee6}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#c2c2b9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #535754;outline-offset:6px}button,a{-webkit-tap-highlight-color:transparent}h1,h2,p{margin:0}[hidden]{display:none!important}.kitchen-app,#viewport,#kitchen-render,.fallback-image,.ambient-shade{position:fixed;inset:0;width:100%;height:100%}.kitchen-app{overflow:hidden}.fallback-image{object-fit:cover;object-position:center}.fallback-image.loaded{opacity:0;transition:opacity 1s}#viewport{touch-action:none;outline-offset:-3px}#kitchen-render{display:block}.ambient-shade{background:linear-gradient(180deg,#f6f6ee75,transparent 23%,transparent 65%,#e3e3dca8);pointer-events:none;z-index:1}header{position:absolute;top:0;left:0;right:0;padding:28px 3.5%;display:flex;align-items:center;justify-content:space-between;z-index:4;gap:20px}.brand{font-size:16px;font-weight:600;letter-spacing:-.5px}.brand span{display:block;font-size:7px;letter-spacing:1.4px;font-weight:400;margin-top:8px}header nav{display:flex;gap:30px}header button{background:none;border:0;padding:10px 0;font-size:8px;letter-spacing:1px}.intro{position:absolute;left:3.5%;top:19%;z-index:2;pointer-events:none;transition:opacity .8s,transform .8s}.intro p{font-size:7px;letter-spacing:1.8px;margin-bottom:16px}.intro h1{font-size:clamp(25px,3vw,47px);font-weight:400;letter-spacing:-1.8px;line-height:1.1}.intro h1 em{font-style:normal;color:#555950}.intro>span{font-size:6px;letter-spacing:.9px;display:block;margin-top:22px}.intro.departed{opacity:0;transform:translateY(-12px)}.mobile-hint{display:none!important}.hotspots{position:absolute;inset:0;pointer-events:none;z-index:3}.hotspot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:9px;pointer-events:auto;padding:16px;background:none;border:0;transition:opacity .2s}.hotspot>span{width:34px;height:34px;border-radius:50%;border:1px solid #fff9;background:#f4f4e6a8;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;font-size:8px;box-shadow:0 0 0 5px #f5f5ef30;transition:transform .3s,background .3s,color .3s}.hotspot small{font-size:6px;letter-spacing:1px;background:#f2f2e5a3;backdrop-filter:blur(7px);padding:5px 8px;white-space:nowrap}.hotspot.active>span,.hotspot:hover>span{background:#2f352d;color:#fff;transform:scale(1.15)}.menu-panel{position:absolute;top:16%;right:4%;width:300px;z-index:5;padding:32px;background:#f2f2e9d9;backdrop-filter:blur(20px);animation:panel-in .5s both}.close{position:absolute;right:20px;top:17px;border:0;background:none;font-size:15px;padding:8px}.eyebrow{font-size:7px;letter-spacing:1.5px;margin-bottom:28px}.menu-panel h2{font-size:38px;line-height:1;letter-spacing:-1.6px;font-weight:400}.price{font-size:60px;letter-spacing:-3px;margin:22px 0}.price span:last-child{font-size:19px;vertical-align:top;letter-spacing:0;position:relative;top:8px}.menu-panel>p:not(.eyebrow):not(.price){font-size:11px;line-height:1.8}.line-button{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:0;border-top:1px solid #2225;border-bottom:1px solid #2225;padding:17px 0;font-size:8px;letter-spacing:.6px;margin-top:25px;text-align:left;gap:15px}.line-button span{font-size:21px}.menu-panel>small{display:block;font-size:8px;line-height:1.7;color:#666b60;margin-top:15px}.bottom-ui{position:absolute;bottom:42px;left:3.5%;right:3.5%;z-index:4;display:flex;justify-content:space-between;align-items:end;gap:30px}.explore-help{display:flex;flex-direction:column;align-items:flex-start;gap:13px;font-size:7px;letter-spacing:.8px}.explore-help button{border:0;background:none;padding:0;font-size:7px;letter-spacing:.8px}.menu-nav{display:flex;gap:45px}.menu-nav button{border:0;background:none;padding:10px 0;display:flex;flex-direction:column;align-items:flex-start;gap:9px;text-align:left;position:relative}.menu-nav button:after{content:'';height:1px;background:var(--ink);position:absolute;bottom:0;left:0;width:0;transition:width .3s}.menu-nav button:hover:after,.menu-nav button.active:after{width:100%}.menu-nav button>span{font-size:7px;letter-spacing:1px}.menu-nav strong{font-size:17px;letter-spacing:-.7px;font-weight:400}.scene-credit{position:absolute;bottom:15px;left:3.5%;font-size:5px;letter-spacing:.8px;z-index:3;color:#74776e}dialog{position:fixed;border:0;background:#eeeee6ef;backdrop-filter:blur(22px);padding:50px;width:min(720px,92vw);max-height:88svh;overflow:auto;color:var(--ink)}dialog::backdrop{background:#141d1838;backdrop-filter:blur(5px)}dialog h2{font-size:60px;letter-spacing:-3px;font-weight:400;line-height:.96;margin-bottom:30px}dialog em{font-style:normal;color:#74766b}.about-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:30px}.about-layout img{width:100%;height:auto;filter:grayscale(1)}.about-layout p{font-size:12px;line-height:1.8;margin-bottom:15px}.about-layout small{display:block;font-size:7px;margin-top:20px;color:#666}form{margin-top:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 22px}label{display:block;font-size:9px;line-height:1.5}input,textarea,select{width:100%;border:0;border-bottom:1px solid #999d90;border-radius:0;background:none;color:var(--ink);font-size:13px;padding:12px 0;outline-offset:4px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #666}textarea{resize:vertical}.wide{grid-column:1/-1}.form-note{font-size:9px;line-height:1.8;color:#686c61;margin-top:15px}#brief-result{margin-top:25px}#brief-output{border:1px solid #999d90;padding:12px;margin-top:10px}.result-actions{display:flex;gap:20px;align-items:center;margin-top:18px;font-size:8px;flex-wrap:wrap}.result-actions button{padding:14px;border:0;background:#2b3028;color:#eee;font-size:8px}#copy-status{font-size:9px;line-height:1.6;margin-top:15px}@keyframes panel-in{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:700px){header{padding:23px 5%}.brand{font-size:13px}.brand span{font-size:5px;letter-spacing:.6px}header nav{gap:14px}header button{font-size:6px;letter-spacing:.5px}.intro{left:5%;top:16%}.intro h1{font-size:27px;letter-spacing:-1px}.intro p{font-size:6px}.intro>span{font-size:5px;max-width:220px;line-height:1.6}.mobile-hint{display:block!important}.desktop-hint{display:none!important}.hotspot{padding:12px;gap:6px}.hotspot>span{width:29px;height:29px;font-size:7px}.hotspot small{font-size:5px;letter-spacing:.4px}.bottom-ui{left:5%;right:5%;bottom:40px;flex-direction:column;align-items:stretch;gap:20px}.explore-help{flex-direction:row;justify-content:space-between;font-size:6px}.explore-help button{font-size:6px}.menu-nav{justify-content:space-between;gap:10px}.menu-nav button>span{font-size:6px;letter-spacing:.4px}.menu-nav strong{font-size:18px}.scene-credit{left:5%;font-size:4px}.menu-panel{top:auto;bottom:150px;right:5%;left:5%;width:auto;padding:26px}.menu-panel h2{font-size:32px;max-width:75%}.menu-panel .eyebrow{margin-bottom:20px}.price{font-size:45px;margin:14px 0}.line-button{margin-top:18px;padding:14px 0}.menu-panel>small{font-size:7px}.menu-panel>p:not(.eyebrow):not(.price){font-size:10px}dialog{padding:40px 25px;max-height:86svh}dialog h2{font-size:47px}.about-layout{grid-template-columns:1fr;gap:25px}.about-layout img{width:160px}.form-grid{gap:22px 14px}input,select,textarea{font-size:16px}.menu-panel .close{top:12px;right:12px}.fallback-image{object-position:50% center}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

#spot-san{left:29%;top:54%}#spot-prestige{left:50%;top:50%}#spot-pairing{left:72%;top:49%}

/* Let photographic materials and daylight stay visible. */
.ambient-shade{background:linear-gradient(180deg,#efefe832,transparent 18%,transparent 78%,#e3e3dc55)}.brand,header button,.explore-help{color:#24241f;text-shadow:0 1px 12px #ffffffb0}.intro{background:#f4f0e877;padding:22px 25px;backdrop-filter:blur(5px);left:3.5%;top:17%}.intro h1{font-size:clamp(24px,2.5vw,40px)}.menu-panel{background:#f0ede4d9}.menu-nav button{background:#f0eee674;backdrop-filter:blur(8px);padding:12px 16px}.menu-nav{gap:20px}.scene-credit{color:#4f5045;text-shadow:0 1px 8px #fff}.fallback-image{filter:none}@media(max-width:700px){.intro{padding:15px 18px;left:5%;top:17%}.intro h1{font-size:24px}.menu-nav{gap:8px}.menu-nav button{padding:12px 10px}.menu-nav button>span{font-size:5px}.scene-credit{font-size:4px}.menu-panel{background:#f0ede4ed}}
.intro{background:none;backdrop-filter:none;padding:0;text-shadow:0 1px 18px #f5f2e7}.menu-nav button{background:#f0eee630;backdrop-filter:blur(3px)}

button{color:inherit}.bottom-ui{pointer-events:none}.explore-help{pointer-events:auto}.menu-text-choices button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:24px 0;font-size:11px;letter-spacing:1px;background:none;border:0;border-top:1px solid #7777}.menu-text-choices button:last-child{border-bottom:1px solid #7777}.menu-text-choices span{font-size:22px}@media(max-width:700px){header nav{gap:11px}header button{font-size:5px}.brand{font-size:11px}.brand span{font-size:4px}.bottom-ui{bottom:35px}}

.instagram-link{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px}.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}.form-note a{text-decoration:underline}@media(max-width:700px){header nav{gap:12px}.instagram-link{min-width:24px}}

/* Readable navigation over the azulejo mural. */
header{background:none;padding-bottom:42px}
header .brand{font-weight:800;font-size:19px;color:#151713;text-shadow:none}
header .brand span{font-weight:700;font-size:9px;color:#242620;letter-spacing:1.2px}
header nav button{font-weight:800;font-size:11px;letter-spacing:1px;color:#151713;text-shadow:none}
header .instagram-link{color:#151713}
@media(max-width:700px){header{padding-bottom:30px}header .brand{font-size:14px}header .brand span{font-size:7px;letter-spacing:.6px}header nav{gap:10px}header nav button{font-size:8px;letter-spacing:.4px}}
