/* ============================================================
   Villa Boutique Amani — shared brand layer (v4.49)
   One palette, one rhythm, across: public site, guest guide,
   team workspace, owner dashboard. Additive polish only —
   no layout overrides, safe over React-rendered DOM.
   ============================================================ */
:root{
  --am-teal:#0E5A5A;        /* deep brand teal (headers, dark sections) */
  --am-teal-2:#0F6B6B;      /* interactive teal */
  --am-night:#0E5A5A;       /* dark-mode canvas */
  --am-cream:#F7F4EE;       /* light canvas */
  --am-paper:#F7F4EE;       /* warm paper tint */
  --am-gold:#C8A463;        /* THE gold — single source of truth */
  --am-gold-deep:#9B7E47;   /* gold ink / borders on light */
  --am-gold-soft:#E8DFCB;   /* gold wash / hover on dark */
  --am-ink:#111111;         /* primary text on light */
  --am-ink-soft:#777777;    /* secondary text on light */
  --am-rose:#D6A08A;        /* terracotta accent */
  --am-ease:cubic-bezier(.22,.8,.3,1);
}

/* ---- typographic rhythm (safe, inherited) ---- */
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--am-gold);color:var(--am-teal)}

/* ---- unified focus ring: keyboard-visible on every surface ---- */
:focus-visible{outline:2px solid var(--am-gold);outline-offset:2px;border-radius:2px}
:focus:not(:focus-visible){outline:none}

/* ---- motion feel: consistent, physical, quick ---- */
a,button,[role="button"],input[type="submit"]{
  transition:transform .18s var(--am-ease),box-shadow .18s var(--am-ease),
             background-color .18s var(--am-ease),color .18s var(--am-ease),
             border-color .18s var(--am-ease),opacity .18s var(--am-ease);
}
a:active,button:active,[role="button"]:active{transform:scale(.985)}

/* ---- refined scrollbar, brand-consistent ---- */
*{scrollbar-width:thin;scrollbar-color:var(--am-gold-deep) transparent}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-thumb{background:var(--am-gold-deep);border-radius:9px;border:2px solid transparent;background-clip:content-box}
::-webkit-scrollbar-track{background:transparent}

/* ---- smooth in-page travel ---- */
html{scroll-behavior:smooth}

/* ---- images settle in softly (React swaps included) ---- */
img{backface-visibility:hidden}

/* ---- respect people who prefer stillness ---- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.resize{resize:both}.overline{text-decoration-line:overline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@font-face{font-family:Tulpen One;src:url(/fonts/tulpen-one.woff2)format("woff2");font-weight:400;font-style:normal;font-display:block}:root{--brand:#0F6B6B;--deep:#0E5A5A;--night:#0E5A5A;--night2:#3b3a31;--paper:#F7F4EE;--sand:#E8DFCB;--gold:#C8A463;--terracotta:#D6A08A;--walnut:#9B7E47;--white:#FDFBF7;--muted:#817b6e;--line:#5a544433;--display:"Tulpen One",Georgia,serif;--body:Inter,Manrope,"Avenir Next","Segoe UI",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--night);font-family:var(--body);margin:0;transition:background-color .45s,color .45s;overflow-x:hidden}section[id]{scroll-margin-top:112px}button,input,select{font:inherit}button,a{color:inherit}.progress{z-index:200;background:var(--gold);height:2px;transition:width .1s;position:fixed;top:0;left:0}.header{z-index:100;color:#fff;border-bottom:1px solid #ffffff2d;justify-content:space-between;align-items:center;width:100%;height:104px;padding:0 4vw;transition:height .35s,background .35s,box-shadow .35s,-webkit-backdrop-filter .35s,backdrop-filter .35s;display:flex;position:fixed;top:0;left:0}.header.scrolled{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#062E2Ee8;height:86px;box-shadow:0 12px 36px #062E2E2e}.logo-link{place-items:center;width:118px;height:86px;display:grid}.logo{object-fit:contain;width:210px;height:210px}.logo.compact{filter:brightness(0)invert();width:104px;height:104px}.main-nav{gap:30px;display:flex}.main-nav a{letter-spacing:.1em;font-size:11px;text-decoration:none;position:relative}.main-nav a:after{content:"";background:var(--sand);width:0;height:1px;transition:all .3s;position:absolute;bottom:-8px;left:0}.main-nav a:hover:after{width:100%}.header-actions{align-items:center;gap:10px;display:flex}.icon-action{color:#fff;cursor:pointer;background:#062E2E55;border:1px solid #fff6;border-radius:99px;justify-content:center;align-items:center;gap:6px;min-width:38px;height:38px;transition:transform .3s,background .3s,border-color .3s;display:flex;position:relative}.icon-action:hover{border-color:var(--gold);background:#ffffff1f;transform:translateY(-2px)}.icon-action svg{stroke-width:1.6px;width:16px;height:16px}.language-picker{padding:0 10px}.language-picker select{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.language-code{letter-spacing:.12em;font-size:9px}.language-chevron{width:11px!important}.whatsapp-action{color:#fff;text-decoration:none}.theme-toggle{padding:0}.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}.nav-book{color:#fff;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #fff9;border-radius:99px;padding:14px 21px;font-size:10px;transition:all .3s}.nav-book:hover{color:var(--night);background:#fff}.hamburger{background:0 0;border:0;width:32px;display:none}.hamburger i{background:#fff;height:1px;margin:7px 0;display:block}.hero{color:#fff;background:var(--night);height:100vh;height:100svh;min-height:760px;position:relative;overflow:hidden}.hero-media,.hero-media video,.hero-overlay{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.hero-media video{object-fit:cover;animation:2s ease-out both hero;display:block}.hero-video-toggle{z-index:3;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#062E2Eb5;border:1px solid #E8DFCB99;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:none;position:absolute;bottom:18px;right:18px}.hero-video-toggle svg{stroke-width:1.6px;width:17px;height:17px}.hero-content{z-index:2;max-width:760px;animation:1.1s .15s both reveal;position:absolute;top:51%;left:9vw;transform:translateY(-42%)}.overline{text-transform:uppercase;letter-spacing:.25em;margin:0 0 22px;font-size:10px}.teal{color:var(--brand)}.hero h1,.story h2,.difference h2,.rooms h2,.experience h2,.gallery h2,.tour h2,.guide h2,.faq-section h2,.booking-banner h2,.booking-modal h2{letter-spacing:-.055em;margin:0;font:400 clamp(62px,8.2vw,126px)/.87 Georgia,serif}.hero h1 em,h2 em{font-weight:400}.hero-lede{color:#e2e8e4;max-width:510px;margin:26px 0 18px;font:17px/1.7 Georgia,serif}.direct-perks{flex-wrap:wrap;gap:8px;margin-bottom:26px;display:flex}.direct-perks span{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#092523a8;border:1px solid #d6bc8875;border-radius:99px;padding:8px 13px}.direct-perks b{letter-spacing:.1em;text-transform:uppercase;color:#E8DFCB;font-size:9px;font-weight:500}.hero-ctas{align-items:center;gap:32px;display:flex}.hero-ctas button,.booking-banner button{background:var(--brand);color:#fff;text-transform:uppercase;letter-spacing:.14em;cursor:pointer;border:0;border-radius:99px;padding:18px 24px;font-size:10px;transition:transform .35s,background .35s}.hero-ctas button:hover,.booking-banner button:hover{background:var(--deep);transform:translateY(-3px)scale(1.02)}.hero-ctas button span,.booking-banner button span{padding-left:28px}.hero-ctas a{text-transform:uppercase;letter-spacing:.15em;border-bottom:1px solid #fff5;padding-bottom:8px;font-size:10px;text-decoration:none}.hero-proof{z-index:2;align-items:center;gap:14px;display:flex;position:absolute;bottom:56px;right:5vw}.hero-proof b{font:38px Georgia,serif}.hero-proof span{text-transform:uppercase;letter-spacing:.13em;font-size:10px;line-height:1.5}.hero-proof small{color:#b5c5c2}.hero-scroll{z-index:2;text-transform:uppercase;letter-spacing:.2em;align-items:center;gap:14px;font-size:9px;display:flex;position:absolute;bottom:55px;left:4vw}.hero-scroll i{background:#fff;width:70px;height:1px;animation:2s infinite pulse}.hero-orbit{z-index:1;pointer-events:none;border:1px solid #ffffff25;border-radius:50%;position:absolute}.o1{width:380px;height:380px;animation:30s linear infinite spin;top:14%;right:-100px}.o2{border-style:dashed;width:180px;height:180px;animation:20s linear infinite reverse spin;top:42%;right:12vw}.ticker{background:var(--brand);color:#fff;white-space:nowrap;text-transform:uppercase;letter-spacing:.2em;padding:16px 0;font-size:9px;overflow:hidden}.ticker div{will-change:transform;backface-visibility:hidden;width:max-content;min-width:max-content;animation:28s linear infinite ticker;display:flex}.ticker span{flex:none;padding-right:48px}.ticker b{color:var(--sand);padding:0 28px}.story{grid-template-columns:18% 1fr;padding:150px 7vw;display:grid}.section-index{text-transform:uppercase;letter-spacing:.22em;color:var(--gold);font-size:9px}.story h2{max-width:1050px;font-size:clamp(52px,6.5vw,96px)}.story-copy{grid-template-columns:1fr 1fr;gap:55px;max-width:750px;margin:60px 0 100px 32%;display:grid}.story-copy p,.section-title-row>p,.gallery-head>p,.guide-intro>p{font:15px/1.8 var(--display);color:#58605b}.story-collage{grid-column:1/-1;height:720px;margin:0 4vw;position:relative}.collage-main{object-fit:cover;border-radius:180px 4px 4px;width:80%;height:100%;position:absolute;top:0;right:20%;bottom:0;left:0}.collage-float{object-fit:cover;border:12px solid var(--paper);width:33%;height:66%;position:absolute;top:14%;right:0}.stamp{background:var(--deep);width:150px;height:150px;color:var(--gold);border:1px solid var(--gold);text-align:center;font:italic 17px var(--display);border-radius:50%;place-items:center;animation:4s ease-in-out infinite float;display:grid;position:absolute;bottom:4%;right:25%}.amenity-row{border-top:1px solid #B8AFA0;grid-column:1/-1;grid-template-columns:repeat(4,1fr);margin:100px 4vw 0;display:grid}.amenity-row div{border-right:1px solid #B8AFA0;align-items:center;gap:16px;padding:35px 10px;display:flex}.amenity-row b{font:40px var(--display);color:var(--deep)}.amenity-row span{text-transform:uppercase;letter-spacing:.15em;font-size:9px}.difference{background:#e5ded1;padding:130px 8vw}.difference-intro{grid-template-columns:.6fr 1.5fr 1fr;align-items:start;gap:5vw;display:grid}.difference h2{font-size:clamp(50px,6vw,88px)}.difference-intro>p:last-child{color:#59615b;font:16px/1.75 Georgia,serif}.difference-grid{border-top:1px solid #B8AFA0;grid-template-columns:repeat(4,1fr);margin-top:75px;display:grid}.difference-grid article{border-right:1px solid #B8AFA0;padding:28px 24px 36px 0}.difference-grid article+article{padding-left:24px}.difference-grid span{letter-spacing:.18em;color:var(--brand);font-size:9px}.difference-grid h3{margin:35px 0 15px;font:28px/1.1 Georgia,serif}.difference-grid p{color:#666b66;font:13px/1.7 Georgia,serif}.honest-note{background:var(--deep);color:#fff;grid-template-columns:.3fr 1.2fr 1fr;align-items:center;gap:30px;margin-top:45px;padding:28px 34px;display:grid}.honest-note b{font:22px Georgia,serif}.honest-note p{color:#dce6e3;font:13px/1.6 Georgia,serif}.honest-note div{flex-direction:column;gap:8px;display:flex}.honest-note a{text-transform:uppercase;letter-spacing:.12em;color:var(--sand);font-size:9px;text-decoration:none}.rooms{background:var(--night);color:#e8efed;padding:140px 8vw}.section-title-row,.gallery-head{grid-template-columns:2fr 1fr;align-items:end;margin-bottom:80px;display:grid}.section-title-row h2,.gallery h2{font-size:clamp(58px,7vw,102px)}.section-title-row>p{color:#9aacab}.room-stage{grid-template-columns:1.6fr .85fr;min-height:650px;display:grid}.room-photo{border-radius:3px 160px 3px 3px;position:relative;overflow:hidden}.room-photo img{object-fit:cover;width:100%;height:100%;animation:.7s both room}.room-photo>span{letter-spacing:.18em;font-size:9px;position:absolute;bottom:25px;left:28px}.room-copy{color:var(--night);background:#e9e5dc;align-self:end;padding:60px 48px}.room-copy h3{margin:16px 0 25px;font:42px/1.05 Georgia,serif}.room-copy>p:not(.overline){color:#5c625e;font:14px/1.7 Georgia,serif}.room-copy ul{margin:28px 0;padding:0;list-style:none}.room-copy li{border-top:1px solid #c8c4bb;padding:10px 0;font-size:11px}.room-copy li:before{content:"✓";color:var(--brand);margin-right:10px}.room-price{flex-direction:column;margin:30px 0;display:flex}.room-price b{font:28px Georgia,serif}.room-price small{text-transform:uppercase;letter-spacing:.15em;color:#6f756f;font-size:8px}.room-copy button{background:var(--deep);color:#fff;text-transform:uppercase;letter-spacing:.14em;cursor:pointer;border:0;border-radius:99px;padding:15px 20px;font-size:9px}.room-tabs{grid-template-columns:repeat(3,1fr);margin-top:30px;display:grid}.room-tabs button{color:#8e9e9b;text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #ffffff35;padding:22px 5px;font:18px Georgia,serif;transition:all .3s}.room-tabs button span{margin-right:15px;font:9px Arial}.room-tabs button.active{border-color:var(--sand);color:#fff}.experience{background:var(--brand);color:#fff;padding:140px 8vw}.section-index.light{color:#c4d3d0}.experience-heading{margin:0 0 80px 22%}.experience-heading h2{font-size:clamp(52px,6.5vw,96px)}.experience-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.exp-image{border-radius:160px 160px 3px 3px;height:410px;position:relative;overflow:hidden}.exp-image img{object-fit:cover;width:100%;height:100%;transition:transform 1s}.experience article:hover img{transform:scale(1.05)}.exp-image span{width:48px;height:48px;color:var(--brand);background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:18px;right:18px}.experience article>p{letter-spacing:.2em;margin-top:24px;font-size:9px}.experience article h3{margin:12px 0;font:30px Georgia,serif}.experience article>div:not(.exp-image){color:#e0e9e6;max-width:90%;font:14px/1.7 Georgia,serif}.experience article>a{text-transform:uppercase;letter-spacing:.15em;border-bottom:1px solid;margin-top:20px;padding-bottom:6px;font-size:9px;text-decoration:none;display:inline-block}.gallery{padding:140px 5vw}.gallery-head{padding:0 3vw}.gallery-grid{grid-template-columns:repeat(12,1fr);grid-auto-rows:115px;gap:10px;display:grid}.gallery-grid button{cursor:pointer;background:#ddd;border:0;padding:0;position:relative;overflow:hidden}.gallery-grid img{object-fit:cover;width:100%;height:100%;transition:transform .8s,filter .5s}.gallery-grid button:hover img{filter:brightness(.75);transform:scale(1.05)}.gallery-grid span{color:#fff;text-transform:uppercase;letter-spacing:.14em;opacity:0;font-size:9px;transition:all .4s;position:absolute;bottom:16px;left:18px;transform:translateY(8px)}.gallery-grid button:hover span{opacity:1;transform:none}.g1{grid-area:1/1/5/6}.g2{grid-area:1/6/4/10}.g3{grid-area:1/10/3/13}.g4{grid-area:3/10/6/13}.g5{grid-area:5/1/8/4}.g6{grid-area:5/4/7/8}.g7{grid-area:4/8/7/10}.g8{grid-area:7/4/9/8}.g9{grid-area:7/8/9/13}.tour{background:var(--paper);grid-template-columns:.65fr 1.35fr;align-items:center;gap:7vw;padding:120px 8vw;display:grid}.tour h2{margin-bottom:28px;font-size:clamp(48px,5vw,76px)}.tour-copy>p:not(.overline){color:#5d655f;font:15px/1.8 Georgia,serif}.tour button{background:var(--deep);color:#fff;text-transform:uppercase;letter-spacing:.14em;cursor:pointer;border:0;border-radius:99px;margin-top:18px;padding:16px 22px;font-size:9px}.tour video{aspect-ratio:16/9;object-fit:cover;border-radius:4px 110px 4px 4px;width:100%;box-shadow:0 30px 70px #162b271d}.guide{background:var(--night2);color:#eaf0ef;grid-template-columns:.9fr 1.3fr;gap:12vw;padding:140px 8vw;display:grid}.guide-intro{align-self:start;position:sticky;top:120px}.guide h2{margin-bottom:35px;font-size:clamp(48px,5vw,74px)}.guide-intro>p{color:#8fa6a3}.guide-intro>a{color:var(--gold);text-transform:uppercase;letter-spacing:.13em;font-size:12px;text-decoration:none}.guide-list article{border-top:1px solid #ffffff20;padding:30px 0}.guide-list h3{font:34px var(--display);margin:0 0 10px}.guide-list p{font:15px/1.75 var(--body);color:#b4c2c0;margin:0}.reviews{grid-template-columns:1.1fr .9fr;min-height:800px;display:grid}.review-visual{position:relative;overflow:hidden}.review-visual>img:first-child{object-fit:cover;width:100%;height:100%}.review-visual .logo{filter:brightness(0)invert();width:150px;height:150px;position:absolute;bottom:30px;left:40px}.review-copy{background:#cfb182;flex-direction:column;justify-content:center;padding:10vw 8vw;display:flex}.stars{letter-spacing:.25em;margin:20px 0}.review-copy blockquote{margin:20px 0 30px;font:38px/1.25 Georgia,serif}.review-copy>p:not(.overline){text-transform:uppercase;letter-spacing:.15em;font-size:10px}.rating-pair{gap:45px;margin:50px 0;display:flex}.rating-pair b{font:36px Georgia,serif}.rating-pair small{text-transform:uppercase;letter-spacing:.14em;font-size:8px}.review-copy>a{text-transform:uppercase;letter-spacing:.15em;border-bottom:1px solid;width:max-content;padding-bottom:6px;font-size:9px;text-decoration:none}.faq-section{grid-template-columns:.8fr 1.2fr;gap:12vw;padding:140px 8vw;display:grid}.faq-section h2{font-size:clamp(52px,6vw,80px)}.faqs article{border-top:1px solid #B8AFA0}.faqs article:last-child{border-bottom:1px solid #B8AFA0}.faqs button{text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:25px 0;display:flex}.faqs button span{font:20px Georgia,serif}.faqs button b{color:var(--brand);font-size:24px;font-weight:300}.faqs article>div{grid-template-rows:0fr;transition:all .4s;display:grid}.faqs article>div p{color:#5f6660;margin:0;font:14px/1.7 Georgia,serif;overflow:hidden}.faqs article.open>div{grid-template-rows:1fr}.faqs article.open>div p{padding-bottom:25px}.booking-banner{color:#fff;text-align:center;place-items:center;height:82vh;min-height:680px;display:grid;position:relative}.booking-banner>img,.banner-shade{object-fit:cover;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.banner-shade{background:#06101099}.booking-banner>div:last-child{max-width:800px;padding:0 24px;position:relative}.booking-banner h2{font-size:clamp(60px,7.5vw,108px)}.booking-banner>div>p:not(.overline){max-width:620px;margin:26px auto;font:15px/1.6 Georgia,serif}.banner-perks{flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 28px;display:flex}.banner-perks span{color:#f0dcaf;text-transform:uppercase;letter-spacing:.12em;background:#06211f99;border:1px solid #d7be8b99;border-radius:99px;padding:10px 16px;font-size:9px}.booking-banner button{background:var(--sand);color:var(--night)}footer{color:#cbd8d6;background:#062E2E;padding:90px 8vw 30px}.footer-top{grid-template-columns:1.7fr 1fr .6fr .7fr;gap:55px;display:grid}.footer-top .logo{filter:brightness(0)invert();width:180px;height:180px;margin-top:-50px}.footer-top>div:not(:first-child){flex-direction:column;gap:9px;display:flex}.footer-top p,.footer-top a{color:#D0C9BA;font:12px/1.7 Georgia,serif;text-decoration:none}.footer-bottom{text-transform:uppercase;letter-spacing:.16em;border-top:1px solid #ffffff20;justify-content:space-between;margin-top:60px;padding-top:25px;font-size:8px;display:flex}.modal-backdrop{z-index:300;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#031010e6;place-items:center;padding:25px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.modal-close{z-index:2;color:#fff;cursor:pointer;background:0 0;border:1px solid #fff5;border-radius:50%;width:45px;height:45px;font-size:24px;position:absolute;top:20px;right:25px}.booking-modal{background:var(--paper);grid-template-columns:.8fr 1.2fr;width:min(1050px,96vw);max-height:92vh;display:grid;overflow:auto}.modal-image{min-height:670px;position:relative}.modal-image>img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.modal-image>div{color:#fff;background:linear-gradient(#0000,#041010dd);flex-direction:column;justify-content:flex-end;padding:40px;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.modal-image .logo{filter:brightness(0)invert();width:150px;height:150px;margin-bottom:-20px}.modal-image p{font:25px/1.3 var(--display)}.booking-modal form{padding:48px 55px}.booking-modal h2{margin-bottom:22px;font-size:54px}.booking-promise{border-left:3px solid var(--gold);color:var(--deep);background:#E8DFCB;align-items:flex-start;gap:12px;margin-bottom:18px;padding:13px 15px;display:flex}.booking-promise svg{width:19px;color:var(--gold);flex:0 0 19px;margin-top:1px}.booking-promise p{font:12px/1.55 var(--body);margin:0}.required-details{color:#666666;margin:0 0 18px;font-size:12px}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-grid label{text-transform:uppercase;letter-spacing:.14em;color:#666666;font-size:9px}.form-grid label.wide{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;color:var(--night);background:#fff;border:1px solid #c2c5be;border-radius:0;margin-top:8px;padding:14px;display:block}.form-grid textarea{resize:vertical;min-height:90px}.form-grid .consent-check{text-transform:none;letter-spacing:0;font:13px/1.45 var(--body);align-items:flex-start;gap:10px;display:flex}.form-grid .consent-check input{width:18px;height:18px;accent-color:var(--brand);flex:0 0 18px;margin:1px 0 0}.hp-field{width:1px!important;height:1px!important;position:absolute!important;left:-10000px!important;overflow:hidden!important}.nights{color:var(--deep);background:#D0C9BA;margin-top:18px;padding:12px;font-size:11px}.form-error{color:#a04432;font-size:12px;line-height:1.45}.form-fallback{color:var(--deep);justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.form-fallback svg{width:17px;height:17px}.submit{background:var(--deep);color:#fff;text-transform:uppercase;letter-spacing:.15em;cursor:pointer;border:0;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:20px;padding:17px;font-size:9px;display:flex}.submit:disabled{cursor:wait;opacity:.65}.submit svg{width:16px;height:16px}.or{color:#92968f;text-transform:uppercase;align-items:center;gap:10px;margin:18px 0;font-size:9px;display:flex}.or span{background:#ccc;flex:1;height:1px}.booking-link{text-align:center;text-transform:uppercase;letter-spacing:.13em;color:var(--deep);font-size:10px;display:block}.booking-modal form>small{text-align:center;color:#70756f;margin-top:22px;font:11px/1.5 Georgia,serif;display:block}.form-success{flex-direction:column;justify-content:center;align-items:flex-start;padding:72px 58px;display:flex}.form-success>svg{width:54px;height:54px;color:var(--brand);stroke-width:1.4px;margin-bottom:24px}.form-success h2{font-size:64px}.form-success>p:not(.overline){font:16px/1.7 var(--body);max-width:470px}.form-success button{background:var(--deep);color:#fff;cursor:pointer;border:0;margin-top:16px;padding:16px 22px;font-size:12px}.lightbox{z-index:400;color:#fff;background:#030909f3;place-items:center;padding:40px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.lightbox img{object-fit:contain;max-width:86vw;max-height:82vh}.lightbox>button{color:#fff;cursor:pointer;background:#08121299;border:1px solid #fff5;border-radius:50%;width:48px;height:48px;font-size:22px;position:absolute}.lightbox>button:first-child{top:20px;right:25px}.lightbox .lb-prev{top:50%;left:25px}.lightbox .lb-next{top:50%;right:25px}.lightbox p{text-transform:uppercase;letter-spacing:.16em;font-size:10px;position:absolute;bottom:14px}.lightbox p span{color:var(--muted);margin-left:20px}.hero h1,.story h2,.difference h2,.rooms h2,.experience h2,.gallery h2,.tour h2,.guide h2,.faq-section h2,.booking-banner h2,.booking-modal h2,.room-copy h3,.difference-grid h3,.experience article h3,.guide-list h3,.review-copy blockquote,.faqs button span{font-family:var(--display);letter-spacing:.015em;font-weight:400}.teal,.overline{color:var(--gold)}.hero .overline{color:#E8DFCB}.experience .overline,.booking-banner .overline{color:#E8DFCB}.difference-grid h3{margin-top:10px}.room-tabs button{font-family:var(--display);letter-spacing:.03em;font-size:27px}.experience article h3{margin-top:28px}.review-copy,.booking-banner button{background:var(--gold)}.room-copy h3,.difference-grid h3,.experience article h3,.guide-list h3,.faqs button span{font-size:clamp(30px,2.4vw,44px)}.contact-float{z-index:95;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.contact-trigger{color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;background:#0a3432e8;border:1px solid #C8A46380;border-radius:99px;align-items:center;gap:15px;height:48px;padding:0 8px 0 18px;transition:transform .3s,background .3s;display:flex;box-shadow:0 10px 34px #001b1a38}.contact-trigger:hover{background:var(--deep);transform:translateY(-2px)}.contact-trigger span{text-transform:uppercase;letter-spacing:.12em;font-size:12px}.contact-trigger b{width:32px;height:32px;color:var(--gold);border:1px solid #C8A46380;border-radius:50%;place-items:center;font-size:18px;font-weight:300;display:grid}.contact-trigger b svg{stroke-width:1.6px;width:16px;height:16px}.contact-menu{color:#fff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform-origin:100% 100%;background:#062E2Ef2;border:1px solid #C8A4635c;border-radius:4px;width:255px;transition:opacity .25s,transform .25s,visibility .25s;overflow:hidden;transform:translateY(10px)scale(.97);box-shadow:0 18px 55px #0006}.contact-float.open .contact-menu{opacity:1;visibility:visible;transform:none}.contact-menu a,.contact-menu button{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #ffffff12;grid-template-columns:24px 1fr;align-items:center;gap:12px;padding:16px;text-decoration:none;transition:background .25s;display:grid}.contact-menu a:hover,.contact-menu button:hover{background:#ffffff0c}.contact-menu svg{width:18px;height:18px;color:var(--gold);stroke-width:1.5px}.contact-menu span{color:#eef3f1;letter-spacing:.02em;font-size:13px}.main-nav a,.nav-book,.hero-ctas button,.hero-ctas a,.booking-banner button,.room-copy button,.tour button,.experience article>a,.honest-note a,.booking-link,.submit,.overline,.section-index,.ticker,.gallery-grid span,.experience article>p,.review-copy>p:not(.overline),.review-copy>a,.language-code,.direct-perks b,.banner-perks span,.form-grid label,.or{font-size:12px}.amenity-row span,.room-price small,.rating-pair small,.footer-bottom,.hero-scroll,.hero-proof span{font-size:11px}.room-copy li,.nights,.booking-modal form>small{font-size:13px}.booking-promise p{font-size:14px}.story-copy p,.section-title-row>p,.gallery-head>p,.guide-intro>p,.room-copy>p:not(.overline),.experience article>div:not(.exp-image),.tour-copy>p:not(.overline),.faqs article>div p{font-family:var(--body);font-size:15px;line-height:1.75}.main-nav .owner-access{color:#E8DFCB;align-items:center;gap:7px;display:flex}.main-nav .owner-access svg{stroke-width:1.6px;width:14px;height:14px}.footer-owner{align-items:center;gap:7px;color:#E8DFCB!important;display:flex!important}.footer-owner svg{width:14px;height:14px}[data-theme=dark] body{color:#D0C9BA;background:#0A4747}[data-theme=dark] .story,[data-theme=dark] .gallery,[data-theme=dark] .faq-section{background:#0A4747}[data-theme=dark] .difference{background:#172321}[data-theme=dark] .tour{background:#121d1b}[data-theme=dark] .story-copy p,[data-theme=dark] .section-title-row>p,[data-theme=dark] .gallery-head>p,[data-theme=dark] .difference-intro>p:last-child,[data-theme=dark] .difference-grid p,[data-theme=dark] .tour-copy>p:not(.overline),[data-theme=dark] .faqs article>div p{color:#aebdb8}[data-theme=dark] .collage-float{border-color:#0A4747}[data-theme=dark] .amenity-row,[data-theme=dark] .amenity-row div,[data-theme=dark] .difference-grid,[data-theme=dark] .difference-grid article,[data-theme=dark] .faqs article{border-color:#ffffff26}[data-theme=dark] .amenity-row b,[data-theme=dark] .teal,[data-theme=dark] .difference-grid span,[data-theme=dark] .faqs button b{color:#D0C9BA}[data-theme=dark] .room-copy,[data-theme=dark] .booking-modal{color:#D0C9BA;background:#0A4747}[data-theme=dark] .room-copy>p:not(.overline),[data-theme=dark] .booking-modal form>small{color:#D0C9BA}[data-theme=dark] .room-copy li{border-color:#ffffff25}[data-theme=dark] .form-grid label{color:#b8c4c0}[data-theme=dark] .form-grid input,[data-theme=dark] .form-grid select,[data-theme=dark] .form-grid textarea{color:#D0C9BA;background:#0f1716;border-color:#ffffff35}[data-theme=dark] .required-details{color:#D0C9BA}[data-theme=dark] .form-fallback,[data-theme=dark] .form-success>svg{color:#D0C9BA}[data-theme=dark] .review-copy{color:#fff;background:#8f7654}[data-theme=dark] .booking-link{color:#D0C9BA}@keyframes hero{0%{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes reveal{0%{opacity:0;transform:translateY(-32%)}to{opacity:1;transform:translateY(-42%)}}@keyframes room{0%{opacity:.2;transform:scale(1.03)}to{opacity:1;transform:none}}@keyframes ticker{to{transform:translate(-50%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes float{50%{transform:translateY(-10px)}}@media (max-width:900px){.header{height:82px}.logo-link{width:85px}.logo.compact{width:84px;height:84px}.main-nav{background:var(--night);font:30px var(--display);flex-direction:column;justify-content:center;align-items:center;display:none;position:fixed;top:0;right:0;bottom:0;left:0}.main-nav.open{display:flex}.main-nav a{font-size:24px}.whisper,.nav-book{display:none}.hamburger{z-index:2;display:block;position:relative}.hero{min-height:700px}.hero-content{left:7vw;right:7vw}.hero h1{font-size:16vw}.hero-lede{max-width:80%;font-size:15px}.hero-ctas{flex-direction:column;align-items:flex-start;gap:20px}.hero-proof{bottom:42px}.hero-scroll{display:none}.story{grid-template-columns:1fr;padding:100px 7vw}.section-index{margin-bottom:45px}.story-copy{grid-template-columns:1fr;gap:10px;margin:45px 0 70px}.story-collage{height:560px;margin:0}.collage-main{border-radius:100px 3px 3px;width:100%;top:0;right:0;bottom:0;left:0}.collage-float{display:none}.stamp{bottom:-5%;right:5%}.amenity-row{grid-template-columns:1fr 1fr;margin:80px 0 0}.amenity-row b{font-size:32px}.difference{padding:90px 7vw}.difference-intro{grid-template-columns:1fr;gap:25px}.difference-grid{grid-template-columns:1fr 1fr}.difference-grid article{border-bottom:1px solid #B8AFA0}.honest-note{grid-template-columns:1fr}.rooms,.experience,.gallery,.guide,.faq-section{padding:100px 7vw}.section-title-row,.gallery-head{grid-template-columns:1fr;gap:30px}.room-stage{grid-template-columns:1fr}.room-photo{border-radius:3px 90px 0 0;min-height:480px}.room-copy{padding:38px 30px}.room-tabs{grid-template-columns:1fr}.experience-heading{margin-left:0}.experience-grid{grid-template-columns:1fr}.exp-image{height:480px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:240px}.gallery-grid button{grid-area:auto!important}.gallery-grid .g1,.gallery-grid .g4{grid-column:1/-1!important}.tour{grid-template-columns:1fr;padding:90px 7vw}.guide{grid-template-columns:1fr}.guide-intro{position:static}.reviews{grid-template-columns:1fr}.review-visual{min-height:580px}.review-copy{padding:90px 8vw}.faq-section{grid-template-columns:1fr}.booking-banner{height:90vh}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}.booking-modal{grid-template-columns:1fr;max-height:94vh}.modal-image{min-height:220px}.modal-image>div{padding:20px}.modal-image .logo{width:100px;height:100px}.modal-image p{display:none}.booking-modal form{padding:35px 24px}.booking-modal h2{font-size:44px}.lightbox{padding:15px}.lightbox img{max-width:100%;max-height:78vh}.lightbox .lb-prev{left:8px}.lightbox .lb-next{right:8px}}@media (max-width:560px){.hero-proof span{display:none}.amenity-row div{gap:8px;padding:25px 5px}.amenity-row span{font-size:11px;line-height:1.35}.difference-grid{grid-template-columns:1fr}.difference-grid article,.difference-grid article+article{border-right:0;padding-left:0}.gallery-grid{grid-template-columns:1fr}.gallery-grid button{grid-column:1!important}.footer-top{grid-template-columns:1fr}.footer-bottom{gap:20px}.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}.contact-float{bottom:14px;right:14px}.contact-trigger{height:46px;padding-left:15px}.contact-menu{width:min(255px,100vw - 28px)}.hero-content{top:49%}.direct-perks{max-width:95%}.direct-perks span{padding:7px 10px}.hero h1{font-size:18vw}}[dir=rtl] .hero-content{text-align:right;left:auto;right:9vw}[dir=rtl] .main-nav,[dir=rtl] .header-actions,[dir=rtl] .hero-ctas{flex-direction:row-reverse}[dir=rtl] .room-copy,[dir=rtl] .guide,[dir=rtl] .difference{text-align:right}[dir=rtl] .room-copy li:before{margin-left:10px;margin-right:0}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-media video{animation:none!important;display:block!important}.hero-content,.hero-orbit,.hero-scroll i{animation:none!important}.ticker div{animation:36s linear infinite ticker!important}}.nav-book{background:var(--gold);border-color:var(--gold);color:var(--night);font-weight:700;box-shadow:0 8px 24px #062E2E40}.nav-book:hover{background:#E8DFCB;border-color:#E8DFCB;transform:translateY(-2px)}.stamp{display:none!important}.consent-card{z-index:250;color:#fff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#062E2Ef5;border:1px solid #C8A46370;grid-template-columns:1fr auto;align-items:end;gap:20px;width:min(470px,100vw - 40px);padding:20px;display:grid;position:fixed;bottom:20px;left:20px;box-shadow:0 18px 55px #0005}.consent-card b{font:30px var(--display);color:var(--gold)}.consent-card p{font:13px/1.55 var(--body);color:#c7d3d0;margin:8px 0 0}.consent-actions{gap:8px;display:flex}.consent-actions button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff4d;padding:10px 13px;font-size:12px}.consent-actions .accept{background:var(--gold);border-color:var(--gold);color:var(--night);font-weight:700}@media (max-width:900px){.nav-book{padding:11px 15px;display:block}.header{padding-left:3vw;padding-right:3vw}}@media (max-width:560px){.header-actions{gap:7px}.theme-toggle,.whatsapp-action{display:none}.language-picker{min-width:42px;padding:0 7px}.language-picker .language-code,.language-picker .language-chevron{display:none}.nav-book{padding:10px 12px;font-size:11px}.consent-card{grid-template-columns:1fr;width:calc(100vw - 28px);bottom:14px;left:14px}.consent-actions{justify-content:flex-end}}@media (max-width:768px){html{scroll-padding-top:74px}section[id]{scroll-margin-top:74px}body{width:100%;max-width:100%;overflow-x:hidden}.header,.header.scrolled{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#062E2Ee8;height:72px;padding:0 14px;box-shadow:0 8px 30px #062E2E24}.logo-link{flex:0 0 68px;width:68px;height:68px}.logo.compact{width:72px;height:72px}.header-actions{gap:6px}.icon-action{min-width:38px;height:38px}.nav-book{white-space:nowrap;min-height:40px;padding:10px 13px}.hamburger{flex:0 0 36px;width:36px;height:40px;padding:8px}.main-nav{font-family:var(--display);background:linear-gradient(145deg,#062E2E 0%,#0A4747 100%);gap:22px;padding:92px 24px 40px}.main-nav:before{content:"";pointer-events:none;border:1px solid #C8A46340;border-radius:50%;width:78vw;height:78vw;position:absolute}.main-nav a{z-index:1;letter-spacing:.04em;font-size:clamp(34px,12vw,58px);line-height:1}.hero{align-items:flex-end;height:auto;min-height:100vh;min-height:100svh;padding:118px 22px 72px;display:flex}.hero-media video{object-fit:cover;object-position:52% center;animation:1.4s ease-out both hero;display:block}.hero-video-toggle{display:flex;bottom:18px;right:16px}.hero-media{background:url(/media/19-swimmingpool.jpg) 50%/cover no-repeat}.hero-overlay{background:linear-gradient(#062E2E50 0%,#062E2E82 42%,#062E2Ef2 100%)}.hero-content{max-width:100%;animation:none;position:relative;top:auto;right:auto;bottom:auto;left:auto;transform:none}.hero .overline{letter-spacing:.18em;margin-bottom:14px;font-size:12px;line-height:1.4}.hero h1{letter-spacing:.015em;max-width:95%;font-size:clamp(72px,25vw,112px);line-height:.78}.hero-lede{font-family:var(--body);max-width:96%;margin:20px 0 16px;font-size:16px;line-height:1.58}.direct-perks{gap:7px;margin-bottom:22px}.direct-perks span{padding:8px 11px}.direct-perks b{letter-spacing:.06em;font-size:11px;line-height:1.25}.hero-ctas{flex-flow:wrap;align-items:center;gap:14px}.hero-ctas button{padding:15px 18px}.hero-ctas button,.hero-ctas a{font-size:12px}.hero-ctas button span{padding-left:14px}.hero-proof{display:none;bottom:18px;right:20px}.hero-orbit{opacity:.55}.o1{width:250px;height:250px;top:22%;right:-125px}.o2{width:120px;height:120px;top:12%;right:16px}.ticker{letter-spacing:.14em;padding:14px 0;font-size:11px}.ticker div{animation-duration:22s}.ticker span{padding-right:34px}.story,.difference,.rooms,.experience,.gallery,.guide,.faq-section,.tour{padding:84px 20px}.story{display:block}.section-index{margin-bottom:24px;font-size:12px}.overline{letter-spacing:.18em;margin-bottom:15px;font-size:12px}.story h2,.difference h2,.rooms h2,.experience h2,.gallery h2,.tour h2,.guide h2,.faq-section h2,.booking-banner h2{letter-spacing:.02em;font-size:clamp(58px,19vw,88px);line-height:.86}.story-copy{max-width:none;margin:30px 0 42px;display:block}.story-copy p,.section-title-row>p,.gallery-head>p,.guide-intro>p,.room-copy>p:not(.overline),.experience article>div:not(.exp-image),.tour-copy>p:not(.overline),.faqs article>div p{font-size:16px;line-height:1.65}.story-copy p+p{margin-top:18px}.story-collage{grid-template-columns:1fr .62fr;gap:8px;height:auto;margin:0;display:grid}.collage-main,.collage-float{object-fit:cover;border:0;border-radius:88px 3px 3px;width:100%;height:440px;position:relative;top:auto;right:auto;bottom:auto;left:auto}.collage-main{object-position:54% center}.collage-float{object-position:center;border-radius:3px 3px 64px;align-self:end;height:280px;display:block}.amenity-row{grid-template-columns:1fr 1fr;margin:48px 0 0}.amenity-row div{border-bottom:1px solid #B8AFA0;flex-direction:column;align-items:flex-start;min-height:100px;padding:18px 10px}.amenity-row b{font-size:42px;line-height:.8}.amenity-row span{letter-spacing:.1em;font-size:11px;line-height:1.4}.difference-intro{display:block}.difference-intro h2{margin-bottom:24px}.difference-intro>p:last-child{font-family:var(--body);font-size:16px;line-height:1.65}.difference-grid{grid-template-columns:1fr;margin-top:42px}.difference-grid article,.difference-grid article+article{border-bottom:1px solid #B8AFA0;border-right:0;padding:26px 0}.difference-grid h3{margin:0 0 10px;font-size:42px}.difference-grid p{font-family:var(--body);font-size:15px;line-height:1.65}.honest-note{border-radius:3px 42px 3px 3px;gap:14px;margin-top:34px;padding:26px 22px}.honest-note b{font:36px/1 var(--display)}.honest-note p{font-family:var(--body);font-size:15px;line-height:1.6}.honest-note a{font-size:11px;line-height:1.5}.section-title-row,.gallery-head{margin-bottom:38px;display:block}.section-title-row>p,.gallery-head>p{margin-top:22px}.room-stage{min-height:0;display:block}.room-photo{border-radius:3px 86px 0 0;height:min(118vw,520px);min-height:0}.room-photo img{object-position:center}.room-copy{padding:32px 22px 28px}.room-copy h3{margin:14px 0 20px;font-size:48px;line-height:.92}.room-copy li{padding:12px 0;font-size:14px}.room-price b{font-size:34px}.room-price small{font-size:11px}.room-copy button{width:100%;padding:16px 18px;font-size:12px}.room-tabs{scroll-snap-type:x mandatory;scrollbar-width:none;gap:8px;padding:4px 0 10px;display:flex;overflow-x:auto}.room-tabs::-webkit-scrollbar{display:none}.room-tabs button{scroll-snap-align:start;min-width:78%;padding:18px 4px;font-size:34px;line-height:.95}.experience-heading{margin:0 0 40px}.experience-heading h2{max-width:95%}.experience-grid{gap:44px}.exp-image{border-radius:100px 100px 3px 3px;height:min(118vw,520px)}.experience article h3{margin:20px 0 12px;font-size:46px;line-height:.92}.experience article>div:not(.exp-image){max-width:100%}.experience article>a{font-size:12px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:190px;gap:7px}.gallery-grid button,.gallery-grid .g1,.gallery-grid .g4{border-radius:3px;grid-area:auto!important}.gallery-grid button:first-child{border-radius:3px 72px 3px 3px;grid-area:span 2/1/auto/-1!important}.gallery-grid button:nth-child(5),.gallery-grid button:nth-child(10){grid-column:1/-1!important}.gallery-grid span{opacity:1;text-align:left;text-shadow:0 1px 8px #000;background:linear-gradient(#0000,#0008);padding-top:28px;font-size:11px;line-height:1.35;bottom:11px;left:12px;right:10px;transform:none}.gallery-grid img{filter:brightness(.88)}.tour{flex-direction:column;gap:36px;display:flex}.tour-copy{order:1}.tour video{aspect-ratio:9/12;object-fit:cover;background:var(--night);border-radius:0;order:2;width:calc(100% + 40px);margin-left:-20px}.tour button{width:100%;padding:16px 18px;font-size:12px}.guide{display:block}.guide-intro{position:static}.guide-intro>a{margin:10px 0 34px;font-size:12px;line-height:1.5;display:inline-block}.guide-list h3{font-size:44px}.guide-list p{font-size:15px}.reviews{min-height:0;display:block}.review-visual{height:min(118vw,520px);min-height:0}.review-visual>img:first-child{object-position:center}.review-visual .logo{width:105px;height:105px;bottom:8px;left:16px}.review-copy{padding:70px 22px 78px}.review-copy blockquote{margin:18px 0 24px;font-size:48px;line-height:1.02}.rating-pair{flex-wrap:wrap;gap:28px;margin:35px 0}.rating-pair b{font-size:34px}.rating-pair small{font-size:11px}.review-copy>a{font-size:12px}.faq-section{display:block}.faq-section>div:first-child{margin-bottom:38px}.faqs button{text-align:start;gap:18px;padding:22px 0}.faqs button span{font-size:36px;line-height:1}.faqs article>div p{padding-right:8px}.booking-banner{height:auto;min-height:760px;padding:90px 20px}.booking-banner>img{object-position:center}.booking-banner>div:last-child{max-width:100%;padding:0}.booking-banner>div>p:not(.overline){font-family:var(--body);font-size:16px;line-height:1.6}.banner-perks{gap:7px}.banner-perks span{padding:9px 12px;font-size:11px;line-height:1.3}.booking-banner button{width:100%;padding:16px 18px;font-size:12px}footer{padding:70px 20px 96px}.footer-top{display:block}.footer-top .logo{width:145px;height:145px;margin:-42px 0 10px}.footer-top>div:not(:first-child){margin-top:28px}.footer-top p,.footer-top a{font-family:var(--body);font-size:14px;line-height:1.65}.footer-bottom{flex-direction:column;align-items:flex-start;font-size:10px;line-height:1.5}.modal-backdrop{align-items:end;padding:0}.modal-close{background:#062E2Ed9;position:fixed;top:12px;right:12px}.booking-modal{border-radius:28px 28px 0 0;width:100%;max-height:94svh;display:block}.modal-image{height:190px;min-height:190px}.modal-image>img{object-position:center 42%}.booking-modal form{padding:28px 20px calc(28px + env(safe-area-inset-bottom))}.booking-modal h2{font-size:56px;line-height:.9}.form-grid{grid-template-columns:1fr;gap:14px}.form-grid label{letter-spacing:.1em;font-size:11px}.form-grid label.wide{grid-column:auto}.form-grid input,.form-grid select,.form-grid textarea{min-height:48px;padding:11px 10px;font-size:16px}.form-grid textarea{min-height:96px}.booking-promise p,.required-details{font-size:13px}.submit{min-height:50px;font-size:12px}.booking-link{font-size:12px;line-height:1.5}.booking-modal form>small{font-size:13px}.form-success{padding:54px 24px 64px}.form-success h2{font-size:60px;line-height:.9}.contact-float{right:14px;bottom:calc(14px + env(safe-area-inset-bottom))}.contact-menu{max-height:70svh;overflow:auto}.contact-menu a,.contact-menu button{min-height:54px}.contact-trigger{min-height:48px}.lightbox{padding:56px 10px 46px}.lightbox img{max-width:100%;max-height:74svh}.lightbox p{text-align:center;font-size:11px;left:16px;right:16px}}@media (max-width:430px){.logo-link{flex-basis:58px;width:58px}.logo.compact{width:64px;height:64px}.theme-toggle,.whatsapp-action{display:none}.language-picker{min-width:38px;padding:0 7px}.language-picker .language-code,.language-picker .language-chevron{display:none}.nav-book{text-overflow:ellipsis;max-width:116px;padding:9px 10px;font-size:10px;overflow:hidden}.hero{padding-left:18px;padding-right:18px}.hero h1{font-size:clamp(68px,25vw,102px)}.hero-lede{font-size:15px}.hero-ctas{flex-direction:column;align-items:stretch}.hero-ctas button{width:100%}.hero-ctas a{width:max-content}.story,.difference,.rooms,.experience,.gallery,.guide,.faq-section,.tour{padding-left:18px;padding-right:18px}.story-collage{grid-template-columns:1fr}.collage-main{height:430px}.collage-float{display:none}.gallery-grid{grid-auto-rows:170px}.tour video{width:calc(100% + 36px);margin-left:-18px}.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}}@media (max-width:350px){.header{padding-left:8px;padding-right:8px}.logo-link{flex-basis:52px;width:52px}.logo.compact{width:58px;height:58px}.nav-book{max-width:98px;padding:9px 8px}.hero h1{font-size:68px}}.form-fallbacks{flex-wrap:wrap;justify-content:center;gap:10px 20px;display:flex}.guest-journey{background:#e8e1d3;padding:140px 7vw}.journey-head{grid-template-columns:1fr 2.2fr 1fr;align-items:end;gap:5vw;margin-bottom:78px;display:grid}.journey-head h2,.villa-map h2,.social-wall h2,.location-story h2{font:400 clamp(58px,7vw,108px)/.9 var(--display);letter-spacing:-.045em;margin:0}.journey-head>p:last-child{font:16px/1.7 var(--body);color:#676458}.journey-track{border-top:1px solid #B8AFA0;grid-template-columns:repeat(4,1fr);display:grid}.journey-track article{border-right:1px solid #B8AFA0;padding:34px 28px 20px 0;position:relative}.journey-track article+article{padding-left:28px}.journey-track span{color:var(--gold);letter-spacing:.16em;font-size:11px}.journey-track h3{font:46px/1 var(--display);margin:34px 0 16px}.journey-track p{font:14px/1.75 var(--body);color:#666666;margin:0}.villa-map{background:var(--night);min-height:820px;color:var(--white);grid-template-columns:.78fr 1.35fr;display:grid}.map-copy{padding:120px 7vw 100px}.map-copy>p:not(.overline){color:#c9c4b8;line-height:1.7}.map-tabs{border-top:1px solid #ffffff2b;flex-direction:column;margin-top:60px;display:flex}.map-tabs button{color:#aaa99f;text-align:left;font:28px var(--display);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #ffffff2b;padding:18px 0;transition:all .35s}.map-tabs button:hover,.map-tabs button.active{color:var(--sand);padding-left:18px}.map-visual{position:relative;overflow:hidden}.map-visual img{object-fit:cover;width:100%;height:100%;animation:.75s both reveal;position:absolute;top:0;right:0;bottom:0;left:0}.map-visual:after{content:"";background:linear-gradient(#0000 48%,#25251fca);position:absolute;top:0;right:0;bottom:0;left:0}.map-visual>div{z-index:2;grid-template-columns:auto 1fr;align-items:end;gap:35px;display:grid;position:absolute;bottom:44px;left:48px;right:48px}.map-visual b{font:58px var(--display);color:#fff}.map-visual p{color:#e3dfd5;max-width:440px;margin:0;line-height:1.65}.social-wall{background:var(--paper);padding:140px 5vw}.social-head{grid-template-columns:1fr 2fr 1fr;align-items:end;gap:4vw;margin:0 2vw 60px;display:grid}.social-head>p:not(.overline){font:15px/1.7 var(--body);color:#666666}.social-head a{text-transform:uppercase;letter-spacing:.12em;grid-column:3;font-size:10px}.social-grid{grid-template-columns:1.15fr .82fr 1.05fr .75fr 1.1fr;align-items:end;gap:9px;display:grid}.social-grid img{object-fit:cover;border-radius:120px 3px 3px;width:100%;height:420px}.social-grid img:nth-child(2n){border-radius:3px 3px 90px;height:330px}.social-grid img:nth-child(3){height:510px}.location-story{min-height:720px;color:var(--white);background:#8b4e36;grid-template-columns:1.15fr 1fr;display:grid}.location-image{overflow:hidden}.location-image img{object-fit:cover;width:100%;height:100%}.location-copy{flex-direction:column;justify-content:center;padding:110px 7vw;display:flex}.location-copy>p:not(.overline){font:16px/1.75 var(--body);color:#f0ddcf;max-width:560px}.nearby-grid{border-top:1px solid #ffffff45;grid-template-columns:1fr 1fr;margin:40px 0;display:grid}.nearby-grid span{border-bottom:1px solid #ffffff45;flex-direction:column;padding:20px 0;display:flex}.nearby-grid span:nth-child(odd){border-right:1px solid #ffffff45}.nearby-grid span:nth-child(2n){padding-left:24px}.nearby-grid b{font:32px var(--display)}.nearby-grid small{text-transform:uppercase;letter-spacing:.12em;margin-top:4px}.location-copy>a{text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid #ffffff70;width:max-content;padding-bottom:8px;font-size:10px;text-decoration:none}@media (max-width:768px){.guest-journey{padding:84px 20px}.journey-head{margin-bottom:44px;display:block}.journey-head h2,.villa-map h2,.social-wall h2,.location-story h2{font-size:clamp(58px,18vw,86px);line-height:.88}.journey-head>p:last-child{margin-top:22px}.journey-track{scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;overflow-x:auto}.journey-track article,.journey-track article+article{scroll-snap-align:start;min-width:82vw;padding:26px 24px 18px 0}.journey-track article+article{padding-left:24px}.journey-track h3{font-size:44px}.journey-track p{font-size:15px}.villa-map{flex-direction:column;min-height:0;display:flex}.map-copy{padding:84px 20px 34px}.map-tabs{scrollbar-width:none;border:0;flex-direction:row;gap:8px;margin-top:34px;overflow-x:auto}.map-tabs button{min-width:max-content;font:21px var(--display);border:1px solid #ffffff35;border-radius:99px;padding:11px 16px}.map-tabs button:hover,.map-tabs button.active{background:var(--gold);color:var(--night);border-color:var(--gold);padding-left:16px}.map-visual{height:70svh;min-height:520px}.map-visual>div{display:block;bottom:24px;left:20px;right:20px}.map-visual b{font-size:52px}.map-visual p{font-size:15px}.social-wall{padding:84px 20px}.social-head{margin:0 0 36px;display:block}.social-head>p:not(.overline){font-size:15px}.social-head a{margin-top:16px;display:inline-block}.social-grid{scroll-snap-type:x mandatory;scrollbar-width:none;gap:8px;margin-right:-20px;display:flex;overflow-x:auto}.social-grid img,.social-grid img:nth-child(2n),.social-grid img:nth-child(3){scroll-snap-align:start;border-radius:72px 3px 3px;flex:0 0 76vw;height:65svh;max-height:520px}.location-story{flex-direction:column;min-height:0;display:flex}.location-image{height:56svh;min-height:420px}.location-copy{padding:76px 20px 88px}.nearby-grid{margin:30px 0}.nearby-grid b{font-size:28px}}.room-tabs{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:18px}.assistant-flow{color:var(--deep);background:#D0C9BA;border:1px solid #1B767633;margin:0 0 22px;padding:18px}.assistant-flow>p{font:14px/1.55 var(--body);margin:0 0 14px}.assistant-flow ol{counter-reset:booking-step;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;list-style:none;display:grid}.assistant-flow li{counter-increment:booking-step;min-height:48px;font:12px/1.4 var(--body);align-items:center;padding:4px 0 4px 38px;display:flex;position:relative}.assistant-flow li:before{content:counter(booking-step);border:1px solid var(--gold);width:28px;height:28px;color:var(--deep);font:18px var(--display);background:#F7F4EE;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:0;transform:translateY(-50%)}.reference-card{background:#D0C9BA;border:1px solid #1B767640;justify-content:space-between;align-items:center;gap:16px;width:100%;margin:12px 0 20px;padding:18px 20px;display:flex}.reference-card strong{font:clamp(24px,3vw,36px)/1 var(--display);letter-spacing:.08em;color:var(--deep);overflow-wrap:anywhere}.form-success .reference-card button{color:var(--deep);white-space:nowrap;background:0 0;border:1px solid #1B767655;align-items:center;gap:8px;margin:0;padding:10px 12px;display:flex}.reference-card button svg{width:16px;height:16px}.confirmation-warning,.guide-later{width:100%;margin:8px 0!important;padding:14px 16px!important;font-size:13px!important;line-height:1.55!important}.confirmation-warning{border-left:3px solid var(--gold);color:#5b4b2e;background:#ece2cc}.guide-later{border-left:3px solid var(--brand);color:var(--deep);background:#D0C9BA}.success-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.success-whatsapp,.form-success .secondary{justify-content:center;align-items:center;gap:9px;min-height:48px;padding:14px 18px;font-size:12px;text-decoration:none;display:flex}.success-whatsapp{background:var(--deep);color:#fff}.success-whatsapp svg{width:18px;height:18px}.form-success .secondary{color:var(--deep);background:0 0;border:1px solid #1B767655;margin:0}[data-theme=dark] .assistant-flow,[data-theme=dark] .reference-card,[data-theme=dark] .guide-later{color:#D0C9BA;background:#102c2a;border-color:#D0C9BA44}[data-theme=dark] .assistant-flow li:before{color:#d8bd87;background:#0A4747}[data-theme=dark] .reference-card strong,[data-theme=dark] .form-success .reference-card button,[data-theme=dark] .form-success .secondary{color:#D0C9BA}[data-theme=dark] .confirmation-warning{color:#f0dfbc;background:#3a3021}[dir=rtl] .assistant-flow li{padding:4px 38px 4px 0}[dir=rtl] .assistant-flow li:before{left:auto;right:0}@media (max-width:768px){.assistant-flow ol{grid-template-columns:1fr}.assistant-flow li{font-size:13px}.reference-card{flex-direction:column;align-items:flex-start}.form-success .reference-card button{width:100%}.success-actions{flex-direction:column;align-items:stretch;width:100%}.success-whatsapp,.form-success .secondary{width:100%}}:root{--button-font:Manrope,Inter,"Avenir Next","Segoe UI",Arial,sans-serif;--shadow-soft:0 14px 40px #2f2a201f;--shadow-lift:0 18px 48px #11111133;--glass-dark:#272822a8;--glass-light:#F7F4EEb8}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:4px;outline:2px solid #d4b77f}.nav-book,.hero-ctas button,.booking-banner button,.room-copy button,.tour button,.submit,.success-whatsapp,.form-success .secondary{min-height:50px;font-family:var(--button-font);letter-spacing:.135em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:14px;padding:0 26px;font-size:11px;font-weight:650;line-height:1;text-decoration:none;transition:transform .28s,box-shadow .28s,background-color .28s,border-color .28s,color .28s;display:inline-flex;box-shadow:0 10px 28px #2a261c33,inset 0 1px #fff3}.nav-book,.booking-banner button{color:#111111;background:linear-gradient(135deg,#c8aa76,#a9824e);border-color:#fff0ce4d}.hero-ctas button,.room-copy button,.tour button,.submit,.success-whatsapp{color:#F7F4EE;background:linear-gradient(135deg,#5d6944,#39432f);border-color:#ffffff1f}.nav-book:hover,.hero-ctas button:hover,.booking-banner button:hover,.room-copy button:hover,.tour button:hover,.submit:hover,.success-whatsapp:hover{box-shadow:var(--shadow-lift),inset 0 1px 0 #ffffff40;transform:translateY(-3px)}.nav-book:active,.hero-ctas button:active,.booking-banner button:active,.room-copy button:active,.tour button:active,.submit:active,.success-whatsapp:active{transform:translateY(0)scale(.985);box-shadow:0 5px 16px #1111112e}.submit{width:100%;margin-top:22px}.submit:disabled{box-shadow:none;filter:saturate(.55);opacity:.62;transform:none}.hero-ctas a,.experience article>a,.honest-note a,.review-copy>a,.booking-link,.social-head a,.location-copy>a{min-height:44px;font-family:var(--button-font);letter-spacing:.13em;text-transform:uppercase;border:0;align-items:center;padding:0 0 2px;font-size:11px;font-weight:600;line-height:1.35;text-decoration:none;display:inline-flex;position:relative}.hero-ctas a:after,.experience article>a:after,.review-copy>a:after,.social-head a:after,.location-copy>a:after{content:"";opacity:.55;transform-origin:0;background:currentColor;height:1px;transition:transform .3s,opacity .3s;position:absolute;bottom:4px;left:0;right:0}.hero-ctas a:hover:after,.experience article>a:hover:after,.review-copy>a:hover:after,.social-head a:hover:after,.location-copy>a:hover:after{opacity:1;transform:scaleX(.55)}.icon-action,.hero-video-toggle,.modal-close,.lightbox>button{background:var(--glass-dark);color:#F7F4EE;-webkit-backdrop-filter:blur(16px)saturate(125%);border:1px solid #e9d7b16b;border-radius:50%;width:44px;min-width:44px;height:44px;transition:transform .28s,background-color .28s,border-color .28s;box-shadow:0 8px 24px #11111133,inset 0 1px #ffffff24}.icon-action:hover,.hero-video-toggle:hover,.modal-close:hover,.lightbox>button:hover{background:#C8A463d1;border-color:#d8bd8c;transform:translateY(-2px)}.language-picker{border-radius:999px;width:auto;min-width:68px;padding:0 13px}.direct-perks span,.banner-perks span{color:#f1dfb9;-webkit-backdrop-filter:blur(14px)saturate(120%);background:#2728237a;border:1px solid #e2c89461;border-radius:999px;padding:10px 15px;box-shadow:inset 0 1px #ffffff14}.direct-perks b,.banner-perks span{font-family:var(--button-font);letter-spacing:.11em;font-size:10px;font-weight:600;line-height:1.25}.header.scrolled{-webkit-backdrop-filter:blur(22px)saturate(125%);background:#111111d6;border-color:#e8d5b124;box-shadow:0 14px 42px #16151133}.contact-trigger{-webkit-backdrop-filter:blur(18px)saturate(125%);backdrop-filter:blur(18px)saturate(125%);background:#303528d6;border-color:#ceae748c;height:54px;min-height:54px;padding:0 9px 0 20px;box-shadow:0 15px 38px #1c1b1540,inset 0 1px #ffffff1f}.contact-trigger span{font-family:var(--button-font);letter-spacing:.13em;font-size:11px;font-weight:650}.contact-trigger b{border-color:#d7b9848c;width:36px;height:36px}.contact-menu{-webkit-backdrop-filter:blur(22px)saturate(120%);backdrop-filter:blur(22px)saturate(120%);background:#2a2b24eb;border-color:#caaa7059;border-radius:18px;box-shadow:0 24px 64px #11111152}.contact-menu a,.contact-menu button{min-height:56px;font-family:var(--button-font);padding:15px 18px}.room-copy,.honest-note,.booking-promise,.assistant-flow,.reference-card{box-shadow:var(--shadow-soft)}.room-photo,.exp-image,.tour video,.review-visual,.map-visual,.location-image{box-shadow:0 24px 70px #2d281e24}.gallery-grid button,.social-grid img{box-shadow:0 12px 32px #302a1f1f}.gallery-grid button{border-radius:4px;transition:transform .45s,box-shadow .45s}.gallery-grid button:hover{transform:translateY(-4px);box-shadow:0 22px 50px #26221a33}.map-tabs button{min-height:58px;font-family:var(--display);font-size:30px}.map-tabs button.active{color:#C8A463}.room-tabs button{min-height:70px;line-height:1.08}.room-tabs button.active{color:#f4e9d3}.faqs button{min-height:72px}.faqs button b{width:36px;height:36px;font-family:var(--body);border:1px solid #C8A46359;border-radius:50%;place-items:center;font-size:20px;transition:transform .3s,background .3s;display:grid}.faqs article.open button b{background:#C8A4631f;transform:rotate(180deg)}.form-grid input,.form-grid select,.form-grid textarea{background:#F7F4EEc2;border-color:#56534847;border-radius:12px;min-height:50px;transition:border-color .25s,box-shadow .25s,background .25s;box-shadow:inset 0 1px #ffffffb3}.form-grid textarea{min-height:104px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{background:#fbf8f1;border-color:#9a7b4e;outline:0;box-shadow:0 0 0 4px #C8A4631f}.booking-modal{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;border-radius:28px;overflow:hidden auto;box-shadow:0 34px 100px #0f0f0c61}@media (max-width:768px){.nav-book,.hero-ctas button,.booking-banner button,.room-copy button,.tour button,.submit,.success-whatsapp,.form-success .secondary{letter-spacing:.115em;width:100%;min-height:54px;padding:0 20px;font-size:11px}.header .nav-book{width:auto;max-width:126px;min-height:44px;padding:0 14px;font-size:10px}.icon-action,.hero-video-toggle,.modal-close{width:44px;min-width:44px;height:44px}.language-picker{width:44px;min-width:44px;padding:0}.hero-ctas{gap:13px}.hero-ctas a{min-height:46px;font-size:11px}.direct-perks span,.banner-perks span{padding:9px 12px}.direct-perks b,.banner-perks span{font-size:9px}.contact-trigger{height:54px;min-height:54px}.contact-menu{border-radius:18px}.room-tabs button{min-height:76px}.map-tabs button{min-height:48px;font-size:20px}.faqs button{min-height:76px}.faqs button b{flex:0 0 38px;width:38px;height:38px}.booking-modal{border-radius:28px 28px 0 0;max-height:94svh;overflow-y:auto}.form-grid input,.form-grid select{min-height:54px}.gallery-grid button:hover{transform:none}}@media (prefers-reduced-motion:reduce){.nav-book,.hero-ctas button,.booking-banner button,.room-copy button,.tour button,.submit,.icon-action,.contact-trigger,.gallery-grid button{transition:none!important}}.header{-webkit-backdrop-filter:blur(18px);background:#0E5A5Adb}.logo-link{flex:0 0 92px;width:92px;height:100%;overflow:hidden}.logo.compact{object-fit:contain;max-width:74px;max-height:74px;display:block;width:74px!important;height:74px!important}.guest-journey,.social-wall{color:var(--night)!important}.journey-head h2,.social-head h2{color:#0E5A5A!important;text-shadow:none!important}.journey-track h3{color:#4c463b!important}.social-head a{color:#5a554a!important}.journey-head>p:last-child,.social-head>p:not(.overline){color:#5f5a50!important}.journey-track{border-color:#948b7b}.journey-track article{border-color:#aaa08f}.footer-wordmark{flex-direction:column;gap:8px;display:flex}.footer-wordmark b{font:58px/.8 var(--display);color:#E8DFCB}.footer-wordmark span{font:10px var(--body);letter-spacing:.18em;text-transform:uppercase;color:#D0C9BA}.qentra-credit{color:#E8DFCB!important}.qentra-credit b{letter-spacing:.22em;color:#E8DFCB;font-weight:800}.modal-wordmark{font:54px/.85 var(--display);color:#f3dfb7;margin-bottom:12px}@media (max-width:768px){.logo-link{flex-basis:66px;width:66px}.logo.compact{width:60px!important;height:60px!important}.journey-head h2,.social-head h2{font-size:clamp(64px,20vw,88px)!important;line-height:.78!important}.journey-track h3{font-size:48px!important}.footer-wordmark b{font-size:50px}.footer-bottom{gap:12px}.qentra-credit{margin-top:8px}}:root{--flow-radius:30px;--flow-shadow:0 30px 80px #1614102e}.story-rail{z-index:94;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#09181694;border:1px solid #dac2913d;border-radius:99px;flex-direction:column;gap:13px;padding:14px 9px;display:flex;position:fixed;top:50%;right:19px;transform:translateY(-50%)}.story-rail a{color:#fff;letter-spacing:.08em;justify-content:flex-end;align-items:center;gap:8px;font-size:8px;text-decoration:none;display:flex}.story-rail a span{opacity:0;width:0;transition:all .3s;overflow:hidden}.story-rail a:hover span,.story-rail a:focus-visible span{opacity:1;width:18px}.story-rail i{border:1px solid #C8A463;border-radius:50%;width:7px;height:7px;transition:all .3s;display:block}.story-rail a:hover i,.story-rail a:focus-visible i{background:#C8A463;transform:scale(1.35)}.motion-ready .flow-reveal{opacity:0;transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1.05s cubic-bezier(.2,.7,.2,1);transform:translateY(56px)}.motion-ready .flow-reveal.is-visible{opacity:1;transform:none}.motion-ready .hero.flow-reveal{transform:none}.motion-ready .hero.flow-reveal.is-visible{opacity:1}.hero{isolation:isolate}.hero-media video{filter:saturate(.9)contrast(1.04);transform:scale(1.02)}.hero-overlay{background:linear-gradient(90deg,#062E2Ee6,#062E2E2e 68%),linear-gradient(#0000 42%,#062E2Ec7)}.hero-content{max-width:840px}.hero h1{font-family:var(--display);letter-spacing:.02em;text-wrap:balance;font-size:clamp(94px,12vw,184px);line-height:.7}.hero-lede{font-family:var(--body);max-width:560px}.hero-ctas button,.booking-banner button,.nav-book{box-shadow:0 14px 36px #0003}.story,.difference,.rooms,.experience,.guest-journey,.gallery,.social-wall,.faq-section{position:relative}.story-collage,.room-stage,.villa-map,.tour,.reviews,.location-story{box-shadow:var(--flow-shadow)}.story-collage{border-radius:var(--flow-radius);overflow:hidden}.collage-main{border-radius:0}.collage-float{border:10px solid var(--paper);border-radius:22px}.difference{background:linear-gradient(145deg,#e8e0d2,#dcd4c5)}.difference-grid article{transition:transform .35s,background .35s}.difference-grid article:hover{background:#ffffff47;transform:translateY(-9px)}.room-stage{border-radius:var(--flow-radius);overflow:hidden}.room-photo{border-radius:0}.room-copy{flex-direction:column;justify-content:center;align-self:stretch;display:flex}.room-tabs button{position:relative}.room-tabs button:after{content:"";background:var(--gold);width:0;height:2px;transition:all .4s;position:absolute;bottom:0;left:0}.room-tabs button.active:after{width:100%}.experience-grid article{border-radius:var(--flow-radius);background:#062E2E3d;border:1px solid #ffffff2e;padding:10px 10px 24px;transition:transform .45s,background .45s;box-shadow:0 18px 50px #09191624}.experience-grid article:hover{background:#062E2E66;transform:translateY(-12px)}.exp-image{border-radius:calc(var(--flow-radius) - 8px);height:500px}.tour{color:#fff;background:#10211e;align-items:flex-end;min-height:100vh;min-height:100svh;padding:0;display:flex;position:relative;overflow:hidden}.tour video{object-fit:cover;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.tour:after{content:"";pointer-events:none;background:linear-gradient(90deg,#062E2Ee6,#062E2E24),linear-gradient(#0000 40%,#062E2Ec2);position:absolute;top:0;right:0;bottom:0;left:0}.tour-copy{z-index:2;width:min(760px,90vw);padding:9vw 8vw;position:relative}.tour-copy h2{font-family:var(--display);font-size:clamp(84px,11vw,160px);line-height:.72}.tour-copy>p:not(.overline){font-family:var(--body);max-width:560px;font-size:17px}.tour-copy button{background:var(--gold);color:var(--night);border-radius:99px}.gallery-grid{gap:13px}.gallery-grid button{border-radius:22px;box-shadow:0 18px 48px #1c19131f}.gallery-grid img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .5s}.gallery-grid button:hover img{transform:scale(1.075)}.social-grid{align-items:stretch}.social-grid img,.social-grid img:nth-child(2n),.social-grid img:nth-child(3){border-radius:var(--flow-radius);height:540px;transition:transform .65s,filter .65s}.social-grid img:hover{filter:saturate(1.08);transform:translateY(-12px)rotate(.4deg)}.booking-banner{min-height:100vh;min-height:100svh}.booking-banner img{transition:transform 12s}.booking-banner:hover img{transform:scale(1.07)}@media (max-width:768px){.story-rail{top:auto;right:50%;bottom:calc(10px + env(safe-area-inset-bottom));background:#081b18d1;flex-direction:row;justify-content:space-around;width:min(270px,100vw - 100px);height:42px;padding:7px 12px;transform:translate(50%)}.story-rail a span{display:none}.story-rail i{width:8px;height:8px}.hero h1{font-size:clamp(86px,27vw,128px);line-height:.68}.hero-content{padding-bottom:18px}.hero-lede{font-size:15px}.story-collage,.room-stage,.villa-map,.tour,.reviews,.location-story{border-radius:24px;box-shadow:0 20px 55px #15130e29}.story-collage{height:72svh;min-height:520px;display:block}.collage-main{border-radius:0;height:100%}.collage-float{display:none}.room-photo{border-radius:0;height:68svh;max-height:590px}.room-copy{padding:28px 20px 30px}.room-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.room-tabs button{border:1px solid #ffffff2e;border-radius:14px;min-height:58px;padding:13px 8px;font-size:22px}.room-tabs button.active{background:#C8A4631f}.experience-grid{gap:16px}.experience-grid article{padding:8px 8px 22px}.exp-image{border-radius:22px;height:66svh;max-height:560px}.journey-track{grid-template-columns:1fr 1fr;display:grid;overflow:visible}.journey-track article,.journey-track article+article{border-bottom:1px solid #B8AFA0;min-width:0;padding:24px 14px}.journey-track h3{font-size:38px}.tour{border-radius:24px;min-height:86svh;margin:14px}.tour-copy{padding:54px 22px 42px}.tour-copy h2{font-size:clamp(74px,24vw,112px)}.tour video{pointer-events:none}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:230px;gap:8px}.gallery-grid button,.gallery-grid .g1,.gallery-grid .g4{border-radius:18px;grid-area:auto!important}.gallery-grid button:nth-child(3n+1){height:360px;grid-column:1/-1!important}.social-grid{grid-template-columns:1fr 1fr;gap:8px;margin:0;display:grid;overflow:visible}.social-grid img,.social-grid img:nth-child(2n),.social-grid img:nth-child(3){border-radius:18px;width:100%;height:50vw;max-height:none}.social-grid img:first-child{grid-row:span 2;height:calc(100vw + 8px)}.booking-banner{border-radius:24px;min-height:88svh;margin:14px;overflow:hidden}.booking-banner>div:last-child{padding:24px}.contact-float{bottom:calc(62px + env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.motion-ready .flow-reveal{opacity:1;transition:none;transform:none}.hero-media video,.booking-banner img{transform:none!important}.experience-grid article,.social-grid img{transition:none}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}

.footer-mail{display:flex;flex-direction:column;gap:2px}.footer-mail a{color:#cddad8;font:12px/1.7 Georgia,serif;text-decoration:none;transition:color .25s ease}.footer-mail a:hover{color:#E8DFCB}.footer-mail small{color:#7f918e;font-size:10px;letter-spacing:.05em;margin-bottom:7px}.footer-mail small:last-child{margin-bottom:0}
/* ==========================================================================
   Villa Boutique Amani — mobile polish layer (public site + guest guide)
   Touch ergonomics, notch safety, iOS quirks. Desktop is untouched.
   ========================================================================== */

/* Typography stability & touch basics (safe everywhere) */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
* { -webkit-tap-highlight-color: transparent; }
a, button, [role="button"], input[type="submit"], label, summary {
  touch-action: manipulation;            /* no double-tap zoom delay */
}
img, video { -webkit-user-drag: none; }

/* Momentum scrolling for any horizontal scrollers */
[class*="scroll"], [class*="strip"], [class*="carousel"], .table-wrap {
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 820px) {
  /* iOS zooms the page when a focused field is under 16px — never allow it */
  input, select, textarea { font-size: 16px !important; }

  /* Comfortable touch targets on primary interactive elements */
  button, .btn, [role="button"], nav a { min-height: 44px; }

  /* Notch / home-indicator safety for fixed elements */
  [class*="fab"], [class*="toast"], [class*="sticky-cta"], [class*="whatsapp"] {
    bottom: calc(22px + env(safe-area-inset-bottom, 0px)) !important;
    right: calc(18px + env(safe-area-inset-right, 0px)) !important;
  }
  header[class*="top"], [class*="navbar"], [class*="menu-bar"] {
    padding-top: env(safe-area-inset-top, 0px);
  }

  /* Keep the drawer body from scroll-chaining the page behind it */
  [class*="drawer"], [class*="side"][class*="open"] { overscroll-behavior: contain; }
}

/* Short phones: the 760px hero minimum would overflow the first screen */
@media (max-height: 780px) and (max-width: 820px) {
  .hero { min-height: 100svh; }
}

/* Very narrow devices: keep gallery grids to a clean single/double rhythm */
@media (max-width: 380px) {
  body { font-size: 15px; }
}

/* ---------- No horizontal page scroll on mobile (v4.15) ---------- */
@media (max-width: 820px) {
  html, body { overflow-x: hidden; overflow-x: clip; max-width: 100%; }
  img, video, svg, iframe, canvas { max-width: 100%; height: auto; }
  td, th, dd, dt, li, p, h1, h2, h3, b, span { overflow-wrap: anywhere; }
  pre, code { white-space: pre-wrap; }
  /* grid/flex children may refuse to shrink without this */
  [class*="grid"] > *, [class*="columns"] > *, [class*="row"] > * { min-width: 0; }
  /* wide data stays inside its own scroller, never the page */
  .table-wrap { max-width: 100%; overflow-x: auto; }
}

/* ---------- Mobile nav hardening (v4.17): solid, full-screen, no bleed ---------- */
@media (max-width: 768px) {
  .main-nav.open {
    display: flex;
    position: fixed;
    top: 0; right: 0; bottom: 0; left: 0;
    width: 100%; height: 100%;
    background: #062E2E; /* solid fallback first */
    background: linear-gradient(145deg, #062E2E 0%, #0A4747 100%);
    overflow-y: auto;
    z-index: 90;
  }
  .header { z-index: 95; }        /* burger stays tappable above the panel */
  .main-nav a { max-width: 92vw; text-align: center; }
}

/* ---------- Full mobile menu always visible (v4.19) ---------- */
@media (max-width: 768px) {
  .main-nav.open {
    justify-content: flex-start;                    /* kill center-overflow clipping */
    padding: calc(84px + env(safe-area-inset-top, 0px)) 24px
             calc(34px + env(safe-area-inset-bottom, 0px));
    gap: 16px;
  }
  /* center the group when it fits; scroll naturally when it doesn't */
  .main-nav.open a:first-child { margin-top: auto; }
  .main-nav.open a:last-child  { margin-bottom: auto; }
  /* size so all six items fit even on small phones */
  .main-nav.open a { font-size: clamp(24px, 7.8vw, 40px) !important; line-height: 1.15; }
  .main-nav.open .nav-book-link { color: #E8DFCB; }
  .main-nav.open .nav-book-link:after { display: none; }
}

/* ---------- Hero rating + floating book pill coexistence (v4.20) ---------- */
.hero-proof b:before {
  content: "";
  display: inline-block; vertical-align: -3px;
  width: 20px; height: 20px; margin-right: 9px;
  background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C8A463' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18M9 16l2 2 4-4'/%3E%3C/svg%3E");
}
@media (max-width: 820px) {
  /* keep the floating book pill compact and out of the rating's way */
  .contact-float { bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important; right: 14px !important; }
  .contact-float > button, .contact-float .book-with-us {
    padding: 11px 15px !important; font-size: 10px !important; letter-spacing: .08em;
  }
  .contact-float svg { width: 15px; height: 15px; }
  /* rating badge clears the floating controls */
  .hero-proof { margin-bottom: 74px; }
}

/* ---------- v4.21 public-site fixes ---------- */

/* 1. Footer readable in the light theme (was pale gold on cream) */
[data-theme="light"] footer { color: #40483f; background: #E8DFCB; }
[data-theme="light"] footer .footer-wordmark b { color: #9B7E47; }
[data-theme="light"] footer .footer-wordmark span,
[data-theme="light"] footer p, [data-theme="light"] footer small { color: #5b6157; }
[data-theme="light"] footer a { color: #6b5322; }
[data-theme="light"] footer a:hover { color: #40320f; }
[data-theme="light"] .footer-bottom { border-top-color: #00000024; color: #6b6f64; }

/* 3+5. Floating book pill: smaller, always readable, both themes */
.contact-float > button {
  background: #C8A463 !important;
  color: #111111 !important;
  border: 0 !important;
  padding: 10px 16px !important;
  font-size: 10px !important;
  letter-spacing: .09em;
  box-shadow: 0 12px 30px -10px #00000080;
}
.contact-float > button svg, .contact-float > button b { width: 14px; height: 14px; color: #111111; }
.contact-float > button:hover { background: #cbb078 !important; }

/* 4. "Book direct" lives in the mobile menu only — desktop header already has the gold button */
@media (min-width: 769px) { .main-nav .nav-book-link { display: none !important; } }

/* ---------- v4.31 modern enhancements (all progressively enhanced) ---------- */
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
[id] { scroll-margin-top: 96px; }
::selection { background: #C8A463; color: #10100a; }
:focus-visible { outline: 2px solid #C8A463; outline-offset: 3px; }
input, select, textarea, button { accent-color: #C8A463; }
* { -webkit-tap-highlight-color: transparent; }
@supports (text-wrap: balance) { h1, h2, h3 { text-wrap: balance; } }
@supports (text-wrap: pretty) { p { text-wrap: pretty; } }
@supports (content-visibility: auto) {
  footer, .guest-directory, .guest-marrakech { content-visibility: auto; contain-intrinsic-size: auto 640px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
.main-nav, .owner-side { overscroll-behavior: contain; }

/* ---------- v4.33 micro-interactions (transform/opacity only) ---------- */
@media (prefers-reduced-motion: no-preference) {
  button, .btn, a.btn { transition: transform .14s ease; }
  button:active, .btn:active { transform: translateY(2px) scale(.985); }
  .contact-float > button { animation: amani-pulse 2.2s ease 1.4s 2; }
  @keyframes amani-pulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.05)} }
  #amani-faq summary { transition: opacity .15s; } #amani-faq summary:hover { opacity: .7; }
}

/* ---------- v4.49 harmonization: injected conversion layer ---------- */
#amani-quotes blockquote{transition:transform .25s var(--am-ease,ease)}
#amani-quotes blockquote:hover{transform:translateY(-4px)}
#amani-faq details summary{transition:color .18s ease}
#amani-faq details[open] summary{color:#9B7E47}
#amani-faq details p{animation:am-fade .35s var(--am-ease,ease)}
@keyframes am-fade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (max-width:640px){
  #amani-quotes{padding:44px 6vw!important}
  #amani-quotes blockquote{max-width:100%!important;font-size:14.5px!important}
  #amani-faq{padding:44px 6vw!important}
}
@media (prefers-reduced-motion:reduce){
  #amani-quotes blockquote,#amani-faq details p{transition:none;animation:none}
}

/* ============ v4.57 Concierge Corner hero ============ */
.hero .hero-content{display:none!important}
.am-warm{position:absolute;inset:0;pointer-events:none;z-index:2;
 background:radial-gradient(900px 420px at 30% 30%,#f2c14e24,transparent 55%),
            radial-gradient(700px 500px at 80% 70%,#c9713a1f,transparent 60%),
            linear-gradient(180deg,#0E5A5A00 45%,#0E5A5A66 100%)}
.am-hero-layer{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(18px,4vw,54px);pointer-events:none}
.am-hero-copy{color:#F7F4EE;text-shadow:0 2px 18px rgba(0,0,0,.5);max-width:520px;margin-top:clamp(28px,6vh,64px)}
.am-hero-copy .am-over{display:block;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#E8DFCB;margin-bottom:10px}
.am-hero-copy h2{font-family:'Tulpen One',Georgia,serif;font-weight:400;font-size:clamp(40px,6.4vw,68px);line-height:.95;margin:0}
.am-hero-copy p{color:#E8DFCBcc;margin:10px 0 0;font-size:15px}
.am-desk{pointer-events:auto;position:relative;background:#F7F4EE;border-radius:16px;max-width:680px;
 box-shadow:0 50px 110px -40px rgba(0,0,0,.85),0 0 0 1px #C8A46355,inset 0 1px 0 #fff;
 padding:24px 26px 20px;margin-bottom:6px}
.am-desk::before{content:'';position:absolute;inset:9px;border:1px solid #C8A4633d;border-radius:10px;pointer-events:none}
.am-desk-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.am-desk-head b{font-family:'Tulpen One',Georgia,serif;font-weight:400;font-size:28px;color:#0E5A5A}
.am-desk-head span{font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;color:#9B7E47}
.am-fields{display:grid;grid-template-columns:1.15fr 1.15fr 1fr auto;gap:10px}
.am-f{border:1px solid #E8DFCB;background:#fff;border-radius:10px;padding:9px 12px;display:flex;flex-direction:column;gap:2px;transition:border-color .18s ease,box-shadow .18s ease}
.am-f:focus-within,.am-f:hover{border-color:#C8A463;box-shadow:0 8px 22px -14px rgba(155,126,71,.4)}
.am-f label{font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:#9B7E47}
.am-f input,.am-f select{border:0;background:transparent;font:600 14.5px/1.3 inherit;color:#0E5A5A;padding:0;outline:none;width:100%}
.am-go{background:#C8A463;border:0;border-radius:10px;padding:6px 20px;font-weight:700;font-size:12.5px;letter-spacing:.05em;color:#0E5A5A;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;transition:transform .18s cubic-bezier(.22,.8,.3,1),box-shadow .18s ease}
.am-go small{font-size:8px;letter-spacing:.1em;font-weight:600;opacity:.75;text-transform:uppercase}
.am-go:hover{transform:translateY(-2px);box-shadow:0 18px 34px -14px rgba(0,0,0,.6)}
.am-desk-under{display:flex;justify-content:space-between;align-items:center;margin-top:10px;flex-wrap:wrap;gap:6px;font-size:10.5px;color:#71807d}
.am-desk-under b{color:#9B7E47}
@media (max-width:760px){
  .am-fields{grid-template-columns:1fr 1fr}
  .am-go{grid-column:1/-1;padding:13px}
  .am-desk{max-width:none}
  .am-hero-copy h2{font-size:40px}
}
@media (prefers-reduced-motion:reduce){.am-go,.am-f{transition:none}}

/* v4.58: the desk is the only booking entry on the hero */
.hero .hero-ctas,.hero .hero-proof{display:none!important}
.am-hero-logo{width:64px;height:64px;object-fit:contain;display:block;margin-bottom:12px;filter:drop-shadow(0 6px 16px rgba(0,0,0,.55))}
@media (max-width:760px){.am-hero-logo{width:52px;height:52px}}

/* v4.58 hero refinement: site-grid alignment, logo, single CTA */
.am-hero-layer{padding:0}
.am-hero-in{max-width:1180px;margin:0 auto;width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(74px,10vh,110px) clamp(18px,4vw,44px) clamp(20px,4vh,40px)}
.am-logo,.am-hero-logo{width:74px;height:74px;object-fit:contain;display:block;margin-bottom:14px;filter:drop-shadow(0 6px 16px rgba(0,0,0,.55))}
.nav-book,.nav-book-link,.hero-ctas{display:none!important}
@media (max-width:760px){.am-logo,.am-hero-logo{width:56px;height:56px}.am-hero-in{padding-top:64px}}

/* v4.59 glass desk */
.am-desk{background:rgba(14,90,90,.30)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid #C8A46366;box-shadow:0 40px 90px -40px rgba(0,0,0,.8)}
.am-desk::before{border-color:#C8A46333}
.am-desk-head b{color:#F7F4EE;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.am-desk-head span{color:#E8DFCB}
.am-f{background:rgba(255,255,255,.10);border-color:#C8A46355;backdrop-filter:blur(4px)}
.am-f:focus-within,.am-f:hover{background:rgba(255,255,255,.18);border-color:#C8A463}
.am-f label{color:#E8DFCB}
.am-f input,.am-f select{color:#fff}
.am-f input::-webkit-calendar-picker-indicator{filter:invert(1) sepia(1) saturate(2) hue-rotate(10deg)}
.am-f select option{color:#16211F}
.am-desk-under{color:#E8DFCBcc}
.am-desk-under b{color:#E8DFCB}
.am-continue{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;color:#F7F4EE;text-decoration:none;font-weight:700;font-size:13.5px;letter-spacing:.03em;border:1.5px solid #C8A463;border-radius:999px;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s cubic-bezier(.22,.8,.3,1)}
.am-continue:hover,.am-continue:focus-visible{background:#C8A463;color:#0E5A5A;transform:translateY(-1px);outline:none}
.am-continue:focus-visible{box-shadow:0 0 0 3px #C8A46355}


/* v4.62 guest guide hero: the Moroccan door (Option B, approved) */
.guest-hero{position:relative;background:url('/amani/door.jpg') center/cover no-repeat!important;overflow:hidden}
.guest-hero::before{content:'';position:absolute;inset:0;
 background:linear-gradient(180deg,rgba(14,90,90,.55),rgba(14,90,90,.35) 40%,rgba(14,90,90,.72))}
.guest-hero::after{content:'';position:absolute;left:50%;top:26px;transform:translateX(-50%);width:96px;height:98px;
 background:url('/amani/logo-light.png') center/contain no-repeat;filter:drop-shadow(0 4px 14px rgba(0,0,0,.5))}
.guest-hero-shade{background:transparent!important}
.guest-hero-content{padding-top:132px!important;text-align:center}
.guest-hero-content h1{font-family:'Tulpen One',Georgia,serif!important;font-weight:400!important;font-size:clamp(42px,7vw,64px)!important;letter-spacing:.02em;color:#F7F4EE!important}
.guest-hero-content h1::after{content:'';display:block;width:64px;height:2px;background:#C8A463;margin:14px auto 0}
.guest-hero-content p{color:#E8DFCBcc!important}
@media (max-width:760px){.guest-hero::after{width:74px;height:76px;top:20px}.guest-hero-content{padding-top:110px!important}}

/* v4.64 fixes found at root */
/* 1) guest hero: the bundled video child was covering the door photo */
.guest-hero{min-height:56vh}
.guest-hero > video,.guest-hero > img{display:none!important}
/* 2) main nav logo: kill the invert filter that turned it into a white block */
.logo,.logo.compact{filter:none!important;background:transparent!important}

/* v4.67 performance: phones load the 720px door, not the 1920px original */
@media (max-width:760px){.guest-hero{background-image:url('/amani/door-720.jpg')!important}}

/* v4.69 nav monogram: gold diamond at small sizes */
.logo-link img.am-mono{width:44px!important;height:44px!important;object-fit:contain;filter:none!important}
@media (max-width:760px){.logo-link img.am-mono{width:38px!important;height:38px!important}}

/* v4.70 content: why-direct line + proof quotes beside the desk */
.am-why{margin:10px 2px 0;font-size:11px;color:#E8DFCB;opacity:.92}
.am-quotes{display:none;max-width:300px;color:#E8DFCB;pointer-events:auto}
.am-quotes blockquote{margin:0 0 14px;border-left:2px solid #C8A463;padding-left:12px}
.am-quotes p{font-size:12.5px;line-height:1.55;margin:0;text-shadow:0 1px 10px rgba(0,0,0,.6)}
.am-quotes cite{font-style:normal;font-size:10px;letter-spacing:.08em;color:#E8DFCB;text-transform:uppercase}
@media (min-width:1100px){
  .am-quotes{display:block}
  .am-hero-in{flex-direction:row;align-items:flex-end;flex-wrap:wrap}
  .am-hero-in .am-hero-copy{flex:1 1 100%}
  .am-hero-in .am-desk{flex:0 1 640px}
  .am-hero-in .am-quotes{flex:0 0 280px;margin-left:26px;margin-bottom:10px}
}

/* v4.71 availability + booking-path weighting */
.am-avail{margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:.02em}
.am-avail-free{color:#9fd8b0}.am-avail-tight{color:#E8DFCB}.am-avail-full{color:#f0b8a0}
.booking-modal .am-path-primary{background:#C8A463!important;color:#0E5A5A!important;font-weight:700!important;border-radius:12px!important;padding:16px 22px!important;font-size:15px!important}
.booking-modal .am-path-secondary{border:1.5px solid #C8A463!important;background:transparent!important;border-radius:12px!important;padding:13px 20px!important}
.booking-modal .am-path-last{background:transparent!important;border:0!important;font-size:11.5px!important;opacity:.6;text-decoration:underline;padding:8px 0 0!important}

/* v4.78 MOTION PACK */
@media (prefers-reduced-motion: no-preference){
html{scroll-behavior:smooth}
@keyframes amUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes amSheen{0%,86%{transform:translateX(-130%) skewX(-18deg)}100%{transform:translateX(230%) skewX(-18deg)}}
.am-hero-copy{animation:amUp .9s cubic-bezier(.22,.8,.3,1) both}
.am-desk{animation:amUp .9s .18s cubic-bezier(.22,.8,.3,1) both;position:relative;overflow:hidden}
.am-quotes{animation:amUp .9s .36s cubic-bezier(.22,.8,.3,1) both}
.am-quotes blockquote{transition:transform .3s ease}.am-quotes blockquote:hover{transform:translateX(5px)}
.am-desk::after{content:"";position:absolute;top:0;bottom:0;width:38%;background:linear-gradient(105deg,transparent,rgba(200,164,99,.16),transparent);animation:amSheen 7s ease-in-out infinite;pointer-events:none}
.am-reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,.8,.3,1)}
.am-reveal.am-in{opacity:1;transform:none}
.essentials-grid article,.directory-card,.journey-cards a{transition:transform .28s cubic-bezier(.22,.8,.3,1),box-shadow .28s ease,border-color .28s ease}
.essentials-grid article:hover,.directory-card:hover,.journey-cards a:hover{transform:translateY(-5px) scale(1.015)}
.am-mono{transition:transform .5s cubic-bezier(.22,.8,.3,1)}.logo-link:hover .am-mono{transform:rotate(45deg)}
.am-continue{transition:background .18s,color .18s,transform .18s,box-shadow .3s}
.am-continue:hover{box-shadow:0 10px 26px -12px rgba(200,164,99,.7)}
.am-avail{animation:amUp .7s .5s both}
}

/* v4.79 zellige lattice, partial placement (never full background) */
.hero{position:relative}
.hero::before,.guest-hero::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
 background:url(/amani/zellige-gold.svg);background-size:130px;color:#C8A463;opacity:.14;
 -webkit-mask-image:radial-gradient(140% 90% at 100% 0%,#000 0 26%,transparent 55%);
 mask-image:radial-gradient(140% 90% at 100% 0%,#000 0 26%,transparent 55%)}
.guest-essentials{position:relative}
.guest-essentials::before{content:"";position:absolute;inset:0;pointer-events:none;
 background:url(/amani/zellige-gold.svg);background-size:110px;color:#C8A463;opacity:.10;
 -webkit-mask-image:linear-gradient(to top,#000 0 22%,transparent 60%);
 mask-image:linear-gradient(to top,#000 0 22%,transparent 60%)}
.guest-essentials>*{position:relative}
.hero>*{z-index:2}

/* ============ v4.80 « AMANI BLANCHE » light charte ============ */
html[data-amani-theme=light] body{background:#F7F4EE;color:#0E5A5A}
html[data-amani-theme=light] .hero{background:linear-gradient(120deg,#fdfaf2 45%,#E8DFCB)!important}
html[data-amani-theme=light] .hero::before,html[data-amani-theme=light] .guest-hero::before{color:#9B7E47;opacity:.16}
html[data-amani-theme=light] .hero h1,html[data-amani-theme=light] .am-hero-copy h1{color:#0E5A5A;text-shadow:none}
html[data-amani-theme=light] .am-hero-copy p{color:#666666;text-shadow:none}
html[data-amani-theme=light] .am-desk{background:rgba(255,255,255,.72)!important;border-color:#C8A463;box-shadow:0 24px 46px -28px rgba(14,90,90,.35)}
html[data-amani-theme=light] .am-desk b,html[data-amani-theme=light] .am-desk .am-head{color:#0E5A5A}
html[data-amani-theme=light] .am-desk label,html[data-amani-theme=light] .am-why{color:#9B7E47}
html[data-amani-theme=light] .am-desk input,html[data-amani-theme=light] .am-desk select{background:#fff;color:#0E5A5A;border:1px solid #E8DFCB}
html[data-amani-theme=light] .am-continue{color:#0E5A5A;border-color:#0E5A5A}
html[data-amani-theme=light] .am-continue:hover,html[data-amani-theme=light] .am-continue:focus-visible{background:#0E5A5A;color:#F7F4EE}
html[data-amani-theme=light] .am-avail-free{color:#2c7a4b}html[data-amani-theme=light] .am-avail-tight{color:#9B7E47}html[data-amani-theme=light] .am-avail-full{color:#b4573b}
html[data-amani-theme=light] .am-quotes{color:#666666}html[data-amani-theme=light] .am-quotes p{text-shadow:none}
html[data-amani-theme=light] .am-quotes cite{color:#9B7E47}
html[data-amani-theme=light] .guest-site,html[data-amani-theme=light] .guest-site section{background:#F7F4EE;color:#0E5A5A}
html[data-amani-theme=light] .guest-essentials{background:#E8DFCB}
html[data-amani-theme=light] .guest-essentials::before{color:#9B7E47;opacity:.12}
html[data-amani-theme=light] .guest-essentials .guest-section-head h2{color:#0E5A5A}
html[data-amani-theme=light] .essentials-grid article{background:#fff;border:1px solid #E8DFCB;border-top:3px solid #C8A463;box-shadow:0 14px 30px -22px rgba(14,90,90,.4)}
html[data-amani-theme=light] .essentials-grid article svg{color:#9B7E47}
html[data-amani-theme=light] .essentials-grid article small{color:#9B7E47}
html[data-amani-theme=light] .essentials-grid article b{color:#0E5A5A}
html[data-amani-theme=light] .guest-section-head p{color:#b4573b}
.am-theme-toggle{margin-left:14px;border:1px solid #C8A46388;border-radius:999px;background:transparent;color:inherit;font-size:13px;min-height:34px;padding:0 13px;cursor:pointer}
html[data-amani-theme=light] .am-theme-toggle{border-color:#0E5A5A;color:#0E5A5A}

/* v4.81 DARK HOUR COMPLETE — no light islands anywhere in dark mode */
html[data-amani-theme=dark] .guest-site,html[data-amani-theme=dark] .guest-site section{background:#0E5A5A;color:#F7F4EE}
html[data-amani-theme=dark] .guest-header{background:#0E5A5A;border-color:#1B7676}
html[data-amani-theme=dark] .guest-section-head h2,html[data-amani-theme=dark] .guest-site h3{color:#F7F4EE}
html[data-amani-theme=dark] .guest-section-head p{color:#C8A463}
html[data-amani-theme=dark] .guest-site p,html[data-amani-theme=dark] .journey-intro,html[data-amani-theme=dark] .guide-app-intro,html[data-amani-theme=dark] .review-disclaimer{color:#D0C9BA}
html[data-amani-theme=dark] .journey-cards a,html[data-amani-theme=dark] .directory-card,html[data-amani-theme=dark] .app-card,html[data-amani-theme=dark] .lost-card,html[data-amani-theme=dark] .guide-topic-overview button,html[data-amani-theme=dark] .guide-detail,html[data-amani-theme=dark] .tools-grid a,html[data-amani-theme=dark] .directory-overview button{background:#0E5A5A;border:1px solid #1B7676;color:#F7F4EE;box-shadow:0 16px 34px -24px rgba(0,0,0,.7)}
html[data-amani-theme=dark] .journey-cards a:hover,html[data-amani-theme=dark] .directory-card:hover,html[data-amani-theme=dark] .tools-grid a:hover{border-color:#C8A463}
html[data-amani-theme=dark] .guest-site svg{color:#C8A463}
html[data-amani-theme=dark] .directory-card b,html[data-amani-theme=dark] .app-card b,html[data-amani-theme=dark] .tools-grid b,html[data-amani-theme=dark] .journey-cards h3{color:#F7F4EE}
html[data-amani-theme=dark] .directory-card p,html[data-amani-theme=dark] .app-card p,html[data-amani-theme=dark] .tools-grid small,html[data-amani-theme=dark] .journey-cards p{color:#D0C9BA}
html[data-amani-theme=dark] .directory-card span,html[data-amani-theme=dark] .directory-card small,html[data-amani-theme=dark] .guide-topic-overview small{color:#C8A463}
html[data-amani-theme=dark] .guide-topic-nav button,html[data-amani-theme=dark] .directory-filters button{background:#0E5A5A;border:1px solid #1B7676;color:#F7F4EE}
html[data-amani-theme=dark] .guide-topic-nav button.active,html[data-amani-theme=dark] .directory-filters button.active{background:#C8A463;color:#0E5A5A;border-color:#C8A463}
html[data-amani-theme=dark] .guest-marrakech,html[data-amani-theme=dark] .guest-emergency{background:#0E5A5A}
html[data-amani-theme=dark] .places-grid a{background:#0E5A5A;border:1px solid #1B7676;color:#F7F4EE}
html[data-amani-theme=dark] .guest-footer{background:#0E5A5A;color:#D0C9BA;border-top:1px solid #1B7676}
html[data-amani-theme=dark] .app-actions a{color:#C8A463}
html[data-amani-theme=dark] .icon-hint{background:#0E5A5A;color:#F7F4EE;border:1px solid #C8A463}
html[data-amani-theme=dark] .booking-modal,html[data-amani-theme=dark] .booking-modal>div{background:#0E5A5A;color:#F7F4EE}
html[data-amani-theme=dark] .booking-modal h1,html[data-amani-theme=dark] .booking-modal h2,html[data-amani-theme=dark] .booking-modal h3,html[data-amani-theme=dark] .booking-modal p{color:#F7F4EE}
html[data-amani-theme=dark] .am-path-secondary{color:#C8A463!important}
html[data-amani-theme=dark] .am-path-last{color:#D0C9BA!important}
html[data-amani-theme=dark] .guest-essentials{background:#0E5A5A}

/* v4.82 guaranteed-visible theme toggle fallback */
.am-theme-float{position:fixed;right:16px;bottom:16px;z-index:9999;min-height:46px;min-width:46px;border-radius:999px;background:#0E5A5A;border:1.5px solid #C8A463;box-shadow:0 14px 30px -14px rgba(0,0,0,.6);font-size:17px}
html[data-amani-theme=light] .am-theme-float{background:#fff;border-color:#0E5A5A}

/* v4.97 guide: hide the React hero's own media (the ghost dark square), our bg + emblem replace it */
.guest-hero>img,.guest-hero picture,.guest-hero>video,.guest-hero .guest-hero-media{display:none!important}

/* v4.99 logo hygiene: cream artwork everywhere; in the light hour the header mark turns ink via filter */
html[data-amani-theme=light] header img[src*="amani/logo"]{filter:brightness(.28) sepia(.4) hue-rotate(120deg) saturate(2)}
.guest-site{--g-olive:#0F6B6B;--g-deep:#0E5A5A;--g-sand:#E8DFCB;--g-gold:#C8A463;--g-terra:#D6A08A;--g-walnut:#9B7E47;--g-paper:#F7F4EE;--g-cream:#FDFBF7;--g-char:#0E5A5A;background:var(--g-paper);min-height:100vh;color:var(--g-char);font-family:var(--body);overflow:hidden}.guest-site h1,.guest-site h2,.guest-site h3{font-family:Tulpen One,Georgia,serif;font-weight:400}.guest-site a{text-decoration:none}.guest-header{z-index:20;height:92px;color:var(--g-cream);border-bottom:1px solid #fff3;justify-content:space-between;align-items:center;padding:0 5vw;display:flex;position:absolute;top:0;left:0;right:0}.guest-brand{align-items:center;gap:10px;display:flex}.guest-brand img{object-fit:contain;filter:brightness(0)invert();width:76px;height:76px}.guest-brand span{text-transform:uppercase;letter-spacing:.16em;font-size:11px}.guest-header nav{align-items:center;gap:10px;display:flex}.guest-header nav a,.guest-header nav button{min-height:44px;color:var(--g-cream);cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0E5A5A70;border:1px solid #fff5;border-radius:99px;align-items:center;gap:8px;padding:0 15px;font-size:11px;display:flex}.guest-header svg{width:16px}.guest-hero{height:92svh;min-height:680px;color:var(--g-cream);position:relative}.guest-hero>img,.guest-hero-shade{object-fit:cover;width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.guest-hero-shade{background:linear-gradient(90deg,#0E5A5Ae8,#0E5A5A60 60%,#0E5A5A28),linear-gradient(#0000 45%,#0E5A5Ac8)}.guest-hero-content{z-index:2;max-width:760px;position:absolute;bottom:11vh;left:8vw}.guest-hero-content>p{text-transform:uppercase;letter-spacing:.22em;color:#E8DFCB;font-size:11px}.guest-hero h1{letter-spacing:.015em;margin:20px 0;font-size:clamp(88px,12vw,170px);line-height:.76}.guest-hero-content>span{color:#F7F4EE;max-width:580px;font-size:17px;line-height:1.7;display:block}.guest-hero-content>div{gap:12px;margin-top:28px;display:flex}.guest-primary,.guest-glass{text-transform:uppercase;letter-spacing:.11em;border-radius:99px;align-items:center;gap:10px;min-height:52px;padding:0 22px;font-size:11px;font-weight:650;display:inline-flex}.guest-primary{background:linear-gradient(135deg,var(--g-sand),var(--g-gold));color:var(--g-char);box-shadow:0 14px 40px #0A47474d}.guest-glass{color:var(--g-cream);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0E5A5A6b;border:1px solid #fff5}.guest-primary svg,.guest-glass svg{width:17px}.guest-dock{display:none}.guest-essentials,.guest-guide,.guest-tools{padding:120px 7vw}.guest-section-head{grid-template-columns:120px 1fr;align-items:end;margin-bottom:55px;display:grid}.guest-section-head>p{letter-spacing:.2em;color:var(--g-gold);margin:0 0 10px;font-size:11px}.guest-section-head h2{letter-spacing:.02em;margin:0;font-size:clamp(64px,8vw,116px);line-height:.8}.essentials-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.essentials-grid article{background:#E8DFCB;border:1px solid #9B7E4720;border-radius:4px 54px 4px 4px;flex-direction:column;justify-content:space-between;min-height:190px;padding:28px;display:flex;box-shadow:0 14px 38px #463b2920}.essentials-grid article>svg{width:25px;color:var(--g-olive)}.essentials-grid article small{text-transform:uppercase;letter-spacing:.13em;color:#726b5f;font-size:10px}.essentials-grid article b{font:42px/1 Tulpen One,Georgia,serif}.wifi-card{color:var(--g-cream);grid-row:span 2;background:var(--g-deep)!important;border-radius:100px 4px 4px!important}.wifi-card>div{align-items:center;gap:10px;display:flex}.wifi-card h3{margin:20px 0;font-size:42px;line-height:.95}.wifi-card strong{color:#E8DFCB;font:34px Tulpen One,Georgia,serif}.wifi-card small{color:#d7d2c7!important}.wifi-card button{width:max-content;color:var(--g-cream);cursor:pointer;background:0 0;border:1px solid #fff4;border-radius:99px;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-size:10px;display:flex}.wifi-card button svg{width:14px}.guest-guide{background:var(--g-cream)}.guide-accordion{border-top:1px solid #9B7E4755}.guide-accordion article{border-bottom:1px solid #9B7E4755}.guide-accordion article>button{text-align:left;cursor:pointer;width:100%;min-height:92px;color:var(--g-char);background:0 0;border:0;justify-content:space-between;align-items:center;display:flex}.guide-accordion article>button span{align-items:center;gap:22px;display:flex}.guide-accordion article>button svg{width:22px;color:var(--g-gold);transition:transform .3s}.guide-accordion article>button b{font:42px Tulpen One,Georgia,serif}.guide-accordion article>div{grid-template-rows:0fr;transition:grid-template-rows .35s;display:grid}.guide-accordion article>div p{color:#686256;max-width:760px;margin:0;font-size:15px;line-height:1.75;overflow:hidden}.guide-accordion article.open>div{grid-template-rows:1fr}.guide-accordion article.open>div p{padding:0 0 28px 44px}.guide-accordion article.open>button>svg{transform:rotate(180deg)}.guide-accordion article>div a{width:max-content;color:var(--g-olive);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:8px;margin:0 0 28px 44px;font-size:10px;display:flex}.guide-accordion article>div a svg{width:14px}.guest-marrakech{background:var(--g-terra);color:var(--g-cream);padding:120px 7vw;position:relative}.guest-marrakech:before{content:"";opacity:.05;background-image:linear-gradient(45deg,#fff 25%,#0000 25% 75%,#fff 75%),linear-gradient(45deg,#fff 25%,#0000 25% 75%,#fff 75%);background-position:0 0,19px 19px;background-size:38px 38px;position:absolute;top:0;right:0;bottom:0;left:0}.guest-marrakech>*{position:relative}.guest-section-head.light>p{color:#f0d4aa}.places-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.places-grid a{min-height:280px;color:var(--g-cream);background:#0E5A5A36;border:1px solid #fff3;flex-direction:column;padding:28px;transition:all .3s;display:flex}.places-grid a:hover{background:#6b392a66;transform:translateY(-4px)}.places-grid span{letter-spacing:.16em;color:#f1d2a4;font-size:10px}.places-grid h3{margin:52px 0 12px;font-size:48px;line-height:.9}.places-grid p{color:#f1dfd6;margin:0;font-size:14px;line-height:1.65}.places-grid svg{align-self:flex-end;width:18px;margin-top:auto}.tools-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tools-grid a{min-height:96px;color:var(--g-char);background:#E8DFCB;border:1px solid #9B7E4724;grid-template-columns:40px 1fr 20px;align-items:center;gap:14px;padding:20px 22px;display:grid}.tools-grid a>svg:first-child{color:var(--g-olive)}.tools-grid a>svg:last-child{width:16px;color:var(--g-gold)}.tools-grid div{flex-direction:column;gap:5px;display:flex}.tools-grid b{font-size:15px}.tools-grid small{color:#756d61}.guest-emergency{background:var(--g-walnut);color:var(--g-cream);border-radius:4px 70px 4px 4px;grid-template-columns:55px 1fr auto;align-items:center;gap:24px;margin:0 7vw 110px;padding:38px;display:grid}.guest-emergency>svg{color:#e8c78e;width:34px}.guest-emergency h2{margin:0;font-size:50px;line-height:1}.guest-emergency p{color:#eadfd7;max-width:700px;font-size:14px;line-height:1.65}.guest-emergency>div:last-child{gap:8px;display:flex}.guest-emergency a{text-transform:uppercase;letter-spacing:.12em;border:1px solid #fff4;border-radius:99px;align-items:center;min-height:48px;padding:0 18px;font-size:10px;display:flex}.guest-emergency a:last-child{color:var(--g-char);background:#e6c48e;font-weight:700}.guest-footer{background:var(--g-char);min-height:300px;color:var(--g-cream);grid-template-columns:1fr 1fr auto;align-items:center;padding:60px 7vw;display:grid}.guest-footer img{filter:brightness(0)invert();width:150px}.guest-footer p{color:#d8d1c5;font-size:13px;line-height:1.7}.guest-footer a{text-transform:uppercase;letter-spacing:.12em;font-size:10px}@media (max-width:760px){.guest-header{height:72px;padding:0 14px}.guest-brand img{width:62px;height:62px}.guest-brand span,.guest-home{display:none!important}.guest-header nav button{min-width:48px;padding:0 12px}.guest-hero{height:92svh;min-height:650px}.guest-hero-shade{background:linear-gradient(#0E5A5A45,#0E5A5Aed 78%)}.guest-hero-content{bottom:86px;left:20px;right:20px}.guest-hero h1{margin:16px 0 22px;font-size:clamp(92px,30vw,128px);line-height:.7}.guest-hero-content>span{font-size:15px;line-height:1.6}.guest-hero-content>div{flex-direction:column}.guest-primary,.guest-glass{justify-content:center;width:100%;min-height:54px}.guest-dock{z-index:30;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));height:66px;color:var(--g-cream);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0E5A5Ae8;border:1px solid #e0c99c55;border-radius:20px;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;box-shadow:0 20px 55px #17151066}.guest-dock a{flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:9px;display:flex}.guest-dock svg{color:#d4b273;width:18px}.guest-essentials,.guest-guide,.guest-tools,.guest-marrakech{padding:82px 18px}.guest-section-head{margin-bottom:34px;display:block}.guest-section-head h2{font-size:74px;line-height:.78}.essentials-grid{grid-template-columns:1fr 1fr;gap:8px}.essentials-grid article{border-radius:4px 36px 4px 4px;min-height:160px;padding:20px}.essentials-grid article b{font-size:34px}.wifi-card{grid-area:auto/1/auto/-1;border-radius:70px 4px 4px!important;min-height:300px!important}.wifi-card h3{font-size:40px}.guide-accordion article>button{min-height:82px}.guide-accordion article>button span{gap:14px}.guide-accordion article>button b{font-size:36px;line-height:.9}.guide-accordion article.open>div p{padding:0 0 24px}.guide-accordion article>div a{margin-left:0}.places-grid{scroll-snap-type:x mandatory;scrollbar-width:none;margin-right:-18px;display:flex;overflow-x:auto}.places-grid a{scroll-snap-align:start;flex:0 0 82vw;min-height:330px}.places-grid h3{font-size:52px}.tools-grid{grid-template-columns:1fr}.tools-grid a{min-height:86px}.guest-emergency{border-radius:4px 48px 4px 4px;margin:0 18px 95px;padding:28px 22px;display:block}.guest-emergency>svg{margin-bottom:16px}.guest-emergency h2{font-size:48px}.guest-emergency>div:last-child{margin-top:22px}.guest-emergency a{flex:1;justify-content:center}.guest-footer{padding:55px 20px 120px;display:block}.guest-footer img{width:130px}.guest-footer p{margin:20px 0 30px}}.guest-journey-nav{background:#E8DFCB;padding:120px 7vw}.journey-intro{color:#696155;max-width:680px;margin:-28px 0 48px 120px;font-size:16px;line-height:1.7}.journey-cards{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.journey-cards a{background:var(--g-paper);min-height:320px;color:var(--g-char);border:1px solid #9B7E4724;border-radius:4px 70px 4px 4px;flex-direction:column;padding:28px;transition:transform .3s,box-shadow .3s;display:flex;box-shadow:0 16px 42px #9B7E4718}.journey-cards a:hover{transform:translateY(-5px);box-shadow:0 24px 54px #9B7E4728}.journey-cards span{letter-spacing:.16em;color:var(--g-gold);font-size:10px}.journey-cards svg{width:28px;color:var(--g-olive);margin-top:auto}.journey-cards h3{margin:20px 0 12px;font-size:48px;line-height:.9}.journey-cards p{color:#6e665a;margin:0;font-size:14px;line-height:1.65}.guide-group{margin-bottom:80px;scroll-margin-top:30px}.guide-group:last-child{margin-bottom:0}.guide-group-title{grid-template-columns:70px 1fr;align-items:start;gap:20px;padding-bottom:28px;display:grid}.guide-group-title>span{width:44px;height:44px;color:var(--g-gold);letter-spacing:.12em;border:1px solid #C8A46360;border-radius:50%;place-items:center;font-size:10px;display:grid}.guide-group-title h3{margin:0;font-size:58px;line-height:.85}.guide-group-title p{color:#71695d;margin:10px 0 0;font-size:14px;line-height:1.65}.guide-group .guide-accordion{margin-left:70px}@media (max-width:760px){.guest-journey-nav{padding:82px 18px}.journey-intro{margin:-12px 0 32px;font-size:15px}.journey-cards{scroll-snap-type:x mandatory;scrollbar-width:none;margin-right:-18px;display:flex;overflow-x:auto}.journey-cards a{scroll-snap-align:start;flex:0 0 82vw;min-height:300px}.journey-cards h3{font-size:48px}.guide-group{margin-bottom:64px}.guide-group-title{grid-template-columns:46px 1fr;gap:12px}.guide-group-title>span{width:38px;height:38px}.guide-group-title h3{font-size:46px}.guide-group .guide-accordion{margin-left:0}.guide-accordion article.open>div p{padding-left:0}}.guest-header{-webkit-backdrop-filter:blur(18px);background:#0E5A5Ae6;position:fixed;overflow:hidden}.guest-brand{height:100%;overflow:hidden}.guest-brand img{max-width:68px;max-height:68px;width:68px!important;height:68px!important}.guest-site h2{color:var(--g-char);text-shadow:none}.guest-section-head h2{font-size:clamp(72px,8vw,108px);line-height:.82}.guest-section-head.light h2{color:var(--g-cream)}.guide-group-title h3,.journey-cards h3,.guide-accordion article>button b{color:var(--g-char);text-shadow:none}.guide-accordion article>button b{font-size:46px;line-height:1}.guide-accordion article>div p{color:#524d45;max-width:900px;font-size:16px;line-height:1.78}.guest-footer{border-top:1px solid #c7a97738;grid-template-columns:1.2fr 1fr auto}.guest-footer-brand b{color:#f0d8ae;font:60px/.78 Tulpen One,Georgia,serif;display:block}.guest-footer-brand p{margin:16px 0 0}.guest-footer-credit{border-left:1px solid #ffffff24;flex-direction:column;gap:7px;padding-left:34px;display:flex}.guest-footer-credit span{text-transform:uppercase;letter-spacing:.16em;color:#aaa397;font-size:9px}.guest-footer-credit strong{letter-spacing:.24em;color:#e5c48d;font-size:18px}@media (max-width:760px){.guest-header{overflow:hidden}.guest-brand img{width:58px!important;height:58px!important}.guest-section-head h2{font-size:76px}.guide-accordion article>button b{font-size:38px}.guide-accordion article>div p{font-size:15px;line-height:1.72}.guest-footer{grid-template-columns:1fr;gap:34px;display:grid}.guest-footer-brand b{font-size:54px}.guest-footer-credit{border-top:1px solid #ffffff24;border-left:0;padding:22px 0 0}.guest-footer>a{width:max-content}}.guest-directory{background:var(--g-cream);padding:120px 7vw}.lost-card{background:var(--g-deep);color:var(--g-cream);border-radius:4px 72px 4px 4px;grid-template-columns:54px 1fr auto;align-items:center;gap:24px;padding:34px;display:grid;box-shadow:0 22px 58px #3830232d}.lost-card>svg{color:#e4c28a;width:34px}.lost-card span{text-transform:uppercase;letter-spacing:.16em;color:#d7bb88;font-size:10px}.lost-card h3{color:#f7ead2;margin:8px 0 10px;font-size:52px;line-height:.85}.lost-card p{color:#d9d4c9;max-width:730px;margin:0;font-size:14px;line-height:1.65}.lost-card>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.lost-card a{text-transform:uppercase;letter-spacing:.1em;border:1px solid #fff4;border-radius:99px;align-items:center;min-height:44px;padding:0 15px;font-size:10px;display:flex}.review-disclaimer{border-left:3px solid var(--g-gold);color:#6f685d;max-width:900px;margin:28px 0 70px;padding-left:18px;font-size:13px;line-height:1.7}.directory-group{margin-top:78px;scroll-margin-top:90px}.directory-title{align-items:center;gap:18px;margin-bottom:26px;display:flex}.directory-title svg{width:25px;color:var(--g-olive)}.directory-title h3{color:var(--g-char);margin:0;font-size:58px;line-height:.85}.directory-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.directory-card{min-height:225px;color:var(--g-char);background:#E8DFCB;border:1px solid #7c6e5528;flex-direction:column;padding:24px;transition:transform .3s,box-shadow .3s;display:flex;box-shadow:0 12px 34px #0A474717}.directory-card:hover{transform:translateY(-4px);box-shadow:0 20px 48px #0A474728}.directory-card>span{width:max-content;color:var(--g-olive);text-transform:uppercase;letter-spacing:.12em;background:#0F6B6B18;border-radius:99px;margin-bottom:20px;padding:7px 10px;font-size:9px}.directory-card>b{color:#3d392f;font:40px/.95 Tulpen One,Georgia,serif}.directory-card p{color:#665f54;font-size:13px;line-height:1.65}.directory-card small{text-transform:uppercase;letter-spacing:.1em;color:#7d633e;align-items:center;gap:8px;margin-top:auto;display:flex}.directory-card small svg,.directory-card>svg{width:14px}.app-group .directory-card{background:#ddd2bd;min-height:180px}.app-group .directory-card>svg{color:var(--g-gold);margin-top:auto}@media (max-width:980px){.directory-grid{grid-template-columns:1fr 1fr}.lost-card{grid-template-columns:42px 1fr}.lost-card>div:last-child{grid-column:2;justify-content:flex-start}}@media (max-width:760px){.guest-directory{padding:82px 18px}.lost-card{border-radius:4px 48px 4px 4px;padding:26px 22px;display:block}.lost-card>svg{margin-bottom:16px}.lost-card h3{font-size:48px}.lost-card>div:last-child{grid-template-columns:1fr;margin-top:22px;display:grid}.lost-card a{justify-content:center;min-height:48px}.review-disclaimer{margin:24px 0 56px}.directory-group{margin-top:60px}.directory-title{align-items:flex-start}.directory-title h3{font-size:48px}.directory-grid{scroll-snap-type:x mandatory;scrollbar-width:none;margin-right:-18px;display:flex;overflow-x:auto}.directory-card{scroll-snap-align:start;flex:0 0 82vw;min-height:250px}.app-group .directory-card{min-height:210px}}.directory-filters{z-index:5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);scrollbar-width:none;background:#F7F4EEdf;border:1px solid #9B7E472a;border-radius:18px;gap:8px;margin:0 0 28px;padding:12px;display:flex;position:sticky;top:88px;overflow-x:auto;box-shadow:0 12px 34px #3e352617}.directory-filters button{color:#5f584e;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;background:0 0;border:1px solid #9B7E4736;border-radius:99px;flex:none;min-height:42px;padding:0 16px;font-size:10px;transition:all .25s}.directory-filters button:hover,.directory-filters button.active{background:var(--g-deep);border-color:var(--g-deep);color:var(--g-cream);transform:translateY(-1px)}.reveal-group{animation:.45s both directoryReveal}.card-icon{width:46px;height:46px;color:var(--g-olive);background:#0F6B6B14;border-radius:15px;place-items:center;margin-bottom:24px;display:grid}.card-icon svg{width:21px}.directory-card:hover .card-icon{background:var(--g-olive);color:#fff;transform:rotate(-5deg)scale(1.05)}.card-icon{transition:all .3s}.app-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.app-card{background:#e1d5bf;border:1px solid #79694f2c;grid-template-rows:1fr auto;grid-template-columns:56px 1fr;gap:8px 16px;min-height:230px;padding:22px;transition:transform .3s,box-shadow .3s;display:grid;box-shadow:0 14px 36px #9B7E4717}.app-card:hover{transform:translateY(-4px);box-shadow:0 22px 52px #9B7E4729}.app-icon{background:linear-gradient(145deg,var(--g-olive),var(--g-deep));color:#fff;border-radius:18px;place-items:center;width:56px;height:56px;display:grid;box-shadow:0 10px 24px #38402b42}.app-icon svg{width:25px}.app-copy b{color:#37342d;font:42px/.9 Tulpen One,Georgia,serif}.app-copy p{color:#615a50;margin:10px 0 0;font-size:13px;line-height:1.6}.app-actions{flex-wrap:wrap;grid-column:1/-1;gap:7px;margin-top:14px;display:flex}.app-actions a{letter-spacing:.04em;color:#433f36;background:#f5efe3;border:1px solid #74654d42;border-radius:99px;align-items:center;gap:7px;min-height:40px;padding:0 13px;font-size:10px;font-weight:650;transition:all .25s;display:flex}.app-actions a:first-child{background:var(--g-deep);color:#fff;border-color:var(--g-deep)}.app-actions a:hover{transform:translateY(-2px);box-shadow:0 8px 18px #473c2a24}.app-actions svg{width:13px}@keyframes directoryReveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media (max-width:760px){.directory-filters{margin-left:-4px;margin-right:-4px;top:78px}.directory-filters button{min-height:44px}.app-grid{scroll-snap-type:x mandatory;scrollbar-width:none;margin-right:-18px;display:flex;overflow-x:auto}.app-card{scroll-snap-align:start;flex:0 0 86vw;grid-template-columns:52px 1fr;min-height:285px}.app-actions{grid-template-columns:1fr 1fr;display:grid}.app-actions a{justify-content:center;min-height:46px}.app-actions a:first-child{grid-column:1/-1}.card-icon{width:50px;height:50px}}@media (prefers-reduced-motion:reduce){.reveal-group{animation:none}.directory-card,.app-card,.app-actions a,.directory-filters button{transition:none}}.guest-directory{color:var(--g-cream);background:linear-gradient(#0E5A5A 0%,#38362f 100%)}.guest-directory .guest-section-head h2{color:var(--g-cream)}.guest-directory .review-disclaimer{color:#d1cabd;border-left-color:#d2ad70}.guest-directory .directory-filters{background:#0A4747e8;border-color:#ffffff1f;box-shadow:0 16px 42px #0A474755}.guest-directory .directory-filters button{color:#ddd5c7;border-color:#ffffff25}.guest-directory .directory-filters button:hover,.guest-directory .directory-filters button.active{color:#0E5A5A;background:#C8A463;border-color:#C8A463}.guest-directory .directory-title svg{color:#d7b77e}.guest-directory .directory-title h3{color:#E8DFCB}.guest-directory .directory-card,.guest-directory .app-card{background:#0A4747;border-color:#ffffff16;box-shadow:0 16px 38px #0A474745}.guest-directory .directory-card:hover,.guest-directory .app-card:hover{box-shadow:0 24px 54px #0A474778}.guest-directory .directory-card>b,.guest-directory .app-copy b{color:#E8DFCB}.guest-directory .directory-card p,.guest-directory .app-copy p{color:#cbc4b8}.guest-directory .directory-card>span{color:#e0c28e;background:#C8A4631f}.guest-directory .directory-card small{color:#C8A463}.guest-directory .card-icon{color:#ddb978;background:#C8A46318}.guest-directory .app-actions a{color:#3d3932;background:#f0e8d9}.guest-directory .app-actions a:first-child{color:#0E5A5A;background:#C8A463;border-color:#C8A463}.guest-site{overflow-x:hidden}.guest-hero{height:68svh;min-height:560px}.guest-essentials,.guest-guide,.guest-tools,.guest-marrakech,.guest-directory,.guest-journey-nav{padding-top:82px;padding-bottom:82px}.guest-section-head{margin-bottom:38px}.guest-section-head h2{font-size:clamp(60px,7vw,92px)}.journey-cards a{min-height:240px}.places-grid a{min-height:230px}.directory-group{margin-top:42px}.directory-filters{background:#0A4747e8;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:relative;top:auto;overflow:visible}.directory-filters button{white-space:normal;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-width:0;height:76px;padding:8px 6px;line-height:1.15;display:flex}.directory-filters button svg{width:19px;height:19px}.directory-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:26px;display:grid}.directory-overview button{color:#E8DFCB;text-align:left;cursor:pointer;background:#0A4747;border:1px solid #ffffff18;border-radius:4px 34px 4px 4px;flex-direction:column;justify-content:space-between;align-items:flex-start;min-height:150px;padding:18px;transition:all .25s;display:flex}.directory-overview button:hover{background:#4d493f;transform:translateY(-3px)}.directory-overview span{color:#d9b574;background:#C8A4631c;border-radius:14px;place-items:center;width:42px;height:42px;display:grid}.directory-overview svg{width:20px}.directory-overview b{font-size:15px}.directory-overview small{text-transform:uppercase;letter-spacing:.1em;color:#bdb5a8;font-size:8px}@media (min-width:1200px){.guest-site>section,.guest-site>footer{padding-left:max(7vw,50vw - 590px);padding-right:max(7vw,50vw - 590px)}.guest-emergency{margin-left:max(7vw,50vw - 590px);margin-right:max(7vw,50vw - 590px)}}@media (max-width:760px){.guest-hero{height:58svh;min-height:500px}.guest-hero-content{bottom:34px}.guest-hero h1{font-size:82px}.guest-hero-content>span{font-size:14px}.guest-hero-content>div{grid-template-columns:1fr 1fr;display:grid}.guest-primary,.guest-glass{min-height:48px;padding:0 12px;font-size:9px}.guest-essentials,.guest-guide,.guest-tools,.guest-marrakech,.guest-directory,.guest-journey-nav{padding:60px 14px}.guest-section-head{margin-bottom:26px}.guest-section-head h2{font-size:58px}.essentials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.essentials-grid article{min-height:132px;padding:16px}.wifi-card{min-height:250px!important}.wifi-card h3{font-size:34px}.journey-cards,.places-grid,.directory-grid,.app-grid{scroll-snap-type:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-right:0;display:grid;overflow:visible}.journey-cards a,.places-grid a,.directory-card,.app-card{scroll-snap-align:none;width:auto;min-width:0;min-height:210px;padding:16px}.journey-cards h3,.places-grid h3{font-size:38px}.places-grid p{font-size:12px}.directory-card>b{font-size:34px}.directory-card p{font-size:12px}.directory-card .card-icon{margin-bottom:14px}.directory-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px}.directory-filters button{letter-spacing:.04em;height:68px;padding:6px 3px;font-size:8px}.directory-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.directory-overview button{min-height:126px;padding:14px}.lost-card h3{font-size:40px}.review-disclaimer{margin-bottom:32px}.directory-title h3{font-size:42px}.app-card{flex-direction:column;display:flex}.app-icon{width:46px;height:46px}.app-copy b{font-size:34px}.app-actions{grid-template-columns:1fr;margin-top:auto;display:grid}.app-actions a,.app-actions a:first-child{grid-column:auto;min-height:42px;padding:0 8px;font-size:8px}}@media (max-width:390px){.journey-cards,.places-grid,.directory-grid,.app-grid{grid-template-columns:1fr}.directory-card,.app-card{min-height:190px}.guest-hero-content>div{grid-template-columns:1fr}.guest-glass{display:none}.guest-hero h1{font-size:72px}}.guide-app-intro{color:#676055;max-width:680px;margin:-18px 0 30px 120px;font-size:15px;line-height:1.65}.guide-topic-nav{background:#e6dcc9;border:1px solid #9B7E4728;border-radius:18px;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:10px;display:grid}.guide-topic-nav button{color:#625b50;text-align:center;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-width:0;height:78px;padding:7px;font-size:9px;line-height:1.15;transition:all .25s;display:flex}.guide-topic-nav svg{width:20px;color:var(--g-olive)}.guide-topic-nav button:hover,.guide-topic-nav button.active{background:var(--g-deep);color:var(--g-cream);box-shadow:0 9px 22px #39402c30}.guide-topic-nav button.active svg,.guide-topic-nav button:hover svg{color:#E8DFCB}.guide-topic-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:24px;display:grid}.guide-topic-overview button{min-height:168px;color:var(--g-char);text-align:left;cursor:pointer;background:#eee6d7;border:1px solid #9B7E4728;border-radius:4px 42px 4px 4px;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:20px;transition:all .25s;display:flex}.guide-topic-overview button:hover{transform:translateY(-3px);box-shadow:0 16px 38px #0A474722}.guide-topic-overview button>span{width:44px;height:44px;color:var(--g-olive);background:#0F6B6B16;border-radius:14px;place-items:center;display:grid}.guide-topic-overview svg{width:21px}.guide-topic-overview b{font:36px/.9 Tulpen One,Georgia,serif}.guide-topic-overview small{text-transform:uppercase;letter-spacing:.1em;color:#85704f;font-size:8px}.guide-detail{background:var(--g-deep);min-height:360px;color:var(--g-cream);border-radius:4px 72px 4px 4px;margin-top:24px;padding:34px 36px 32px 120px;animation:.35s both directoryReveal;position:relative;box-shadow:0 20px 50px #34302130}.guide-detail-icon{color:#e1bf81;background:#d3b57d1f;border-radius:20px;place-items:center;width:60px;height:60px;display:grid;position:absolute;top:92px;left:34px}.guide-detail-icon svg{width:28px}.guide-detail>small{color:#d8b77b;letter-spacing:.16em}.guide-detail h3{color:#f4e8d3;margin:12px 0 20px;font-size:64px;line-height:.85}.guide-detail p{color:#ddd7cb;max-width:760px;margin:0;font-size:16px;line-height:1.78}.guide-detail>a{color:#0E5A5A;text-transform:uppercase;letter-spacing:.1em;background:#d4b67e;border-radius:99px;align-items:center;gap:8px;min-height:44px;margin-top:24px;padding:0 16px;font-size:9px;display:inline-flex}.guide-detail>a svg,.guide-back svg{width:14px}.guide-back{color:#d2cabd;cursor:pointer;text-transform:uppercase;letter-spacing:.1em;background:0 0;border:0;align-items:center;gap:8px;margin:0 0 26px;padding:0;font-size:9px;display:flex}@media (max-width:760px){.guide-app-intro{margin:-8px 0 24px;font-size:14px}.guide-topic-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:7px}.guide-topic-nav button{height:66px;padding:5px 2px;font-size:8px}.guide-topic-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.guide-topic-overview button{min-height:132px;padding:14px}.guide-topic-overview button>span{width:38px;height:38px}.guide-topic-overview b{font-size:30px}.guide-detail{border-radius:4px 48px 4px 4px;min-height:320px;padding:24px 20px}.guide-detail-icon{width:50px;height:50px;margin-bottom:18px;position:static}.guide-detail h3{font-size:52px}.guide-detail p{font-size:14px;line-height:1.7}}.guest-language{min-height:44px;color:var(--g-cream);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0E5A5A70;border:1px solid #fff5;border-radius:99px;align-items:center;gap:7px;padding:0 13px;display:flex}.guest-language svg{width:16px}.guest-language select{max-width:118px;color:var(--g-cream);font:inherit;cursor:pointer;background:0 0;border:0;outline:0}.guest-language option{color:#0E5A5A;background:#FDFBF7}[data-icon-help]{cursor:pointer}.icon-hint{z-index:80;color:#E8DFCB;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0E5A5Af2;border:1px solid #E8DFCB55;border-radius:18px;align-items:center;gap:12px;width:min(620px,100vw - 28px);min-height:62px;padding:13px 48px 13px 16px;animation:.25s both directoryReveal;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 20px 60px #0A47476b}.icon-hint>svg{color:#d8b777;flex:none;width:20px}.icon-hint span{font-size:13px;line-height:1.5}.icon-hint button{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff2;border-radius:50%;width:30px;height:30px;font-size:20px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.guest-site[dir=rtl]{font-family:"Tahoma",var(--body),sans-serif}.guest-site[dir=rtl] .guest-hero-content{left:auto;right:8vw}.guest-site[dir=rtl] .guest-section-head{grid-template-columns:1fr 120px}.guest-site[dir=rtl] .guest-section-head>p{grid-column:2}.guest-site[dir=rtl] .guest-section-head h2{grid-area:1/1}.guest-site[dir=rtl] .guide-app-intro{margin-left:0;margin-right:120px}.guest-site[dir=rtl] .guide-detail{padding-left:36px;padding-right:120px}.guest-site[dir=rtl] .guide-detail-icon{left:auto;right:34px}.guest-site[dir=rtl] .guide-back svg{transform:rotate(180deg)}@media (max-width:760px){.guest-language{min-width:126px;padding:0 10px}.guest-language select{max-width:92px}.icon-hint{bottom:88px}.guest-site[dir=rtl] .guest-hero-content{left:20px;right:20px}.guest-site[dir=rtl] .guest-section-head{display:block}.guest-site[dir=rtl] .guide-app-intro{margin-right:0}.guest-site[dir=rtl] .guide-detail{padding:24px 20px}.guest-site[dir=rtl] .guide-detail-icon{position:static}}
/* ==========================================================================
   Villa Boutique Amani — guest guide refresh
   Layered on top of guest-*.css. Palette, depth, motion, interaction.
   ========================================================================== */

/* ---------- 1. Palette --------------------------------------------------- */

.guest-site {
  /* Warmer, deeper Moroccan palette pulled from the villa emblem. */
  --g-deep: #0E5A5A;
  --g-olive: #0F6B6B;
  --g-sand: #E8DFCB;
  --g-gold: #C8A463;
  --g-terra: #D6A08A;
  --g-walnut: #9B7E47;
  --g-paper: #F7F4EE;
  --g-cream: #FDFBF7;
  --g-char: #0E5A5A;

  /* New tokens used by this layer only. */
  --g-teal: #0E5A5A;
  --g-teal-soft: #1B7676;
  --g-ink: #111111;
  --g-glow: #C8A46338;
  --g-hairline: #9B7E4726;
  --g-lift: 0 18px 44px -20px #1111114d;
  --g-lift-hi: 0 26px 60px -22px #11111166;
  --g-ease: cubic-bezier(.22, .61, .36, 1);

  background:
    radial-gradient(120% 62% at 82% -8%, #ffffffcc 0%, #ffffff00 55%),
    radial-gradient(90% 48% at 4% 4%, var(--g-glow) 0%, #ffffff00 60%),
    var(--g-paper);
}

/* A whisper of zellige geometry behind the whole guide. */
.guest-site { position: relative; z-index: 0; }

.guest-site::before {
  content: "";
  position: fixed;
  top:0;right:0;bottom:0;left:0;
  z-index: -1;
  pointer-events: none;
  opacity: .5;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E%3Cg fill='none' stroke='%230E5A5A' stroke-opacity='.075' stroke-width='1'%3E%3Cpath d='M36 6 66 36 36 66 6 36Z'/%3E%3Cpath d='M36 20 52 36 36 52 20 36Z'/%3E%3C/g%3E%3C/svg%3E");
}

/* ---------- 2. Header, hero -------------------------------------------- */

.guest-header {
  background: linear-gradient(180deg, #0E5A5Af2 0%, #0E5A5Ad9 100%);
  border-bottom: 1px solid #E8DFCB33;
  transition: height .34s var(--g-ease), background .34s var(--g-ease),
              box-shadow .34s var(--g-ease);
}

.guest-site.is-scrolled .guest-header {
  height: 68px;
  background: #0E5A5Afa;
  box-shadow: 0 12px 34px -18px #000000a6;
}

.guest-brand img { transition: transform .5s var(--g-ease); }
.guest-brand:hover img { transform: rotate(-6deg) scale(1.06); }

.guest-hero-shade {
  background:
    linear-gradient(180deg, #11111133 0%, #111111b3 58%, var(--g-paper) 100%),
    radial-gradient(70% 50% at 50% 30%, #00000000 0%, #0A474759 100%);
}

/* Very slow drift so the hero never feels like a static poster. */
@keyframes amaniDrift {
  0%   { transform: scale(1.04) translate3d(0, 0, 0); }
  100% { transform: scale(1.12) translate3d(0, -1.6%, 0); }
}

.guest-hero > img,
.guest-hero > video {
  animation: amaniDrift 26s ease-in-out infinite alternate;
  will-change: transform;
}

.guest-hero-content > h1 {
  background: linear-gradient(96deg, var(--g-cream) 18%, var(--g-sand) 50%, var(--g-cream) 82%);
  background-size: 220% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: amaniSheen 9s ease-in-out infinite;
}

@keyframes amaniSheen {
  0%, 100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}

/* ---------- 3. Section rhythm ------------------------------------------ */

.guest-section-head p {
  color: var(--g-gold);
  position: relative;
  padding-left: 34px;
}

.guest-section-head p::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 26px;
  height: 1px;
  background: linear-gradient(90deg, var(--g-gold), #C8A46300);
  transform-origin: left center;
  transform: scaleX(0);
  transition: transform .7s var(--g-ease) .1s;
}

.is-visible .guest-section-head p::before,
.guest-section-head.is-visible p::before { transform: scaleX(1); }

/* ---------- 4. Cards: depth and hover ---------------------------------- */

.journey-cards a,
.places-grid a,
.directory-card,
.app-card,
.essentials-grid article,
.tools-grid a,
.lost-card {
  transition: transform .42s var(--g-ease), box-shadow .42s var(--g-ease),
              border-color .42s var(--g-ease), background .42s var(--g-ease);
  will-change: transform;
}

.journey-cards a:hover,
.places-grid a:hover,
.directory-card:hover,
.app-card:hover,
.tools-grid a:hover,
.essentials-grid article:hover {
  transform: translateY(-6px);
  box-shadow: var(--g-lift-hi);
  border-color: #C8A4635c;
}

.journey-cards a:active,
.places-grid a:active,
.directory-card:active,
.app-card:active,
.tools-grid a:active { transform: translateY(-2px) scale(.994); }

.journey-cards a,
.places-grid a,
.directory-card,
.app-card { position: relative; overflow: hidden; }

/* Light sweeps across a card as it is hovered. */
.journey-cards a::after,
.places-grid a::after,
.directory-card::after,
.app-card::after {
  content: "";
  position: absolute;
  top:0;right:0;bottom:0;left:0;
  pointer-events: none;
  background: linear-gradient(115deg, #ffffff00 30%, #ffffff2e 48%, #ffffff00 66%);
  transform: translateX(-120%);
  transition: transform .85s var(--g-ease);
}

.journey-cards a:hover::after,
.places-grid a:hover::after,
.directory-card:hover::after,
.app-card:hover::after { transform: translateX(120%); }

.card-icon,
.app-icon,
.guide-detail-icon { transition: transform .45s var(--g-ease), color .45s var(--g-ease); }

.journey-cards a:hover .card-icon,
.app-card:hover .app-icon { transform: translateY(-3px) rotate(-5deg); }

/* ---------- 5. Essentials, filters, dock -------------------------------- */

.essentials-grid article {
  background: linear-gradient(158deg, #ece2ca 0%, #e5dbc2 100%);
  border-color: #9B7E4733;
}

.directory-filters button { transition: all .3s var(--g-ease); }
.directory-filters button:hover { transform: translateY(-2px); }

.guest-dock {
  background: linear-gradient(180deg, #111111ee 0%, #0E5A5Af2 100%);
  border-color: #E8DFCB40;
  transition: transform .4s var(--g-ease), box-shadow .4s var(--g-ease);
}

.guest-dock a,
.guest-dock button { transition: color .28s var(--g-ease), transform .28s var(--g-ease); }
.guest-dock a:hover,
.guest-dock button:hover { transform: translateY(-2px); color: var(--g-sand); }

/* ---------- 6. Scroll reveal ------------------------------------------- */

[data-amani-reveal] {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .72s var(--g-ease), transform .72s var(--g-ease);
  transition-delay: var(--amani-delay, 0ms);
}

[data-amani-reveal].is-visible { opacity: 1; transform: none; }

/* ---------- 7. Added chrome: progress bar, back to top ------------------ */

.amani-progress {
  position: fixed;
  top:0;right:0;bottom:auto;left:0;
  height: 3px;
  z-index: 60;
  background: #00000000;
  pointer-events: none;
}

.amani-progress > i {
  display: block;
  height: 100%;
  width: var(--amani-progress, 0%);
  background: linear-gradient(90deg, var(--g-teal), var(--g-gold) 65%, var(--g-sand));
  box-shadow: 0 0 14px #C8A4638c;
  transition: width .12s linear;
}

.amani-top {
  position: fixed;
  right: 16px;
  bottom: calc(88px + env(safe-area-inset-bottom));
  z-index: 40;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid #E8DFCB59;
  border-radius: 50%;
  background: #111111e8;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  color: var(--g-cream);
  font: 18px/1 Georgia, serif;
  cursor: pointer;
  opacity: 0;
  transform: translateY(14px) scale(.9);
  pointer-events: none;
  transition: opacity .34s var(--g-ease), transform .34s var(--g-ease),
              background .34s var(--g-ease);
}

.amani-top.is-on { opacity: 1; transform: none; pointer-events: auto; }
.amani-top:hover { background: var(--g-teal); transform: translateY(-3px); }

/* ---------- 8. Focus and accessibility ---------------------------------- */

.guest-site a:focus-visible,
.guest-site button:focus-visible,
.guest-site select:focus-visible {
  outline: 2px solid var(--g-gold);
  outline-offset: 3px;
  border-radius: 4px;
}

@media (prefers-reduced-motion: reduce) {
  .guest-site *,
  .guest-site *::before,
  .guest-site *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
  [data-amani-reveal] { opacity: 1; transform: none; }
  .guest-hero > img,
  .guest-hero > video { animation: none; transform: scale(1.04); }
}

/* ---------- 9. Photography ---------------------------------------------- */

/* A masonry band of the villa, sitting between the journey nav and the guide. */
.amani-gallery { margin: 84px 0 0; }

.amani-gallery-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 190px;
  gap: 8px;
  margin-top: 26px;
}

.amani-shot {
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--g-hairline);
  border-radius: 4px 26px 4px 4px;
  background: #e6ddc9;
  box-shadow: var(--g-lift);
  transition: transform .45s var(--g-ease), box-shadow .45s var(--g-ease);
}

.amani-shot.tall { grid-row: span 2; }
.amani-shot.wide { grid-column: span 2; }

.amani-shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.02);
  transition: transform .9s var(--g-ease), filter .6s var(--g-ease);
  filter: saturate(.94);
}

.amani-shot:hover { transform: translateY(-5px); box-shadow: var(--g-lift-hi); }
.amani-shot:hover img { transform: scale(1.11); filter: saturate(1.06); }

/* Photography behind the three journey cards. */
.journey-cards a { background-size: cover; background-position: center; color: var(--g-cream); }

.journey-cards a h3,
.journey-cards a p,
.journey-cards a span,
.journey-cards a svg { color: var(--g-cream); }
.journey-cards a p { color: #e6ded0; }

/* Photography behind the Marrakech place cards. */
.places-grid a { background-size: cover; background-position: center; }
.places-grid a::before {
  content: "";
  position: absolute;
  top:0;right:0;bottom:0;left:0;
  background: linear-gradient(180deg, #0A47472e 0%, #0A4747db 74%);
  pointer-events: none;
}
.places-grid a > * { position: relative; z-index: 1; }
.places-grid a h3,
.places-grid a p,
.places-grid a span { color: var(--g-cream); }

@media (max-width:980px) {
  .amani-gallery-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 150px; }
}

@media (max-width:680px) {
  .amani-gallery { margin-top: 58px; }
  .amani-gallery-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 128px; gap: 6px; }
  .amani-shot { border-radius: 4px 18px 4px 4px; }
  .amani-shot.wide { grid-column: span 2; }
}

/* ==========================================================================
   2026-08 — Dark theme. The guide now lives on the villa's night palette:
   near-black green from the emblem, cream text, gold accents. Token flip
   first, then the handful of hardcoded light surfaces from the base sheet.
   ========================================================================== */

.guest-site {
  /* Page + surfaces */
  --g-paper: #0A4747;          /* page background — emblem near-black green */
  --g-cream: #0E5A5A;          /* card surfaces */
  --g-char:  #F7F4EE;          /* primary text -> warm cream */
  --g-ink:   #F7F4EE;
  --g-deep:  #0E5A5A;          /* deep panels keep their identity */
  --g-teal:  #0E5A5A;
  --g-teal-soft: #1B7676;
  /* Gold sings on dark — nudge for contrast */
  --g-sand:  #C8A463;
  --g-gold:  #C8A463;
  --g-terra: #D6A08A;
  --g-walnut:#9B7E47;
  --g-hairline: #C8A4632e;
  --g-glow: #C8A46340;
  --g-lift: 0 18px 44px -18px #00000090;
  --g-lift-hi: 0 26px 60px -20px #000000b0;
  background:
    radial-gradient(1100px 500px at 85% -10%, #1b302c 0%, transparent 60%),
    radial-gradient(900px 600px at -10% 100%, #14231f 0%, transparent 55%),
    var(--g-paper);
  color: var(--g-char);
}

/* Hardcoded light surfaces from the base sheet, re-grounded for night */
.guest-site .directory-filters { background: #142320; }
.guest-site .directory-filters button:hover,
.guest-site .guest-directory .directory-filters button:hover { color: var(--g-ink); }
.guest-site .directory-card > b,
.guest-site .app-copy b { color: var(--g-ink); }
.guest-site .app-actions a { background: #0A4747; color: var(--g-char); }
.guest-site .guest-directory .app-actions a { background: #0A4747; color: var(--g-char); }
.guest-site .guest-directory .app-actions a:first-child { color: #0A4747; background: var(--g-gold); }
.guest-site .guide-detail > a { color: var(--g-ink); }
.guest-site .guest-language option { color: #0A4747; background: #F7F4EE; }

/* Generic safety nets: cards, borders, inputs, glass */
.guest-site input, .guest-site select, .guest-site textarea {
  background: #101e1b; color: var(--g-char); border-color: #C8A46333;
}
.guest-site ::placeholder { color: #B8AFA0; opacity: 1; }
.guest-site img { filter: brightness(.96) saturate(1.04); }
.guest-site a { color: var(--g-sand); }
.guest-site hr { border-color: var(--g-hairline); }
.guest-site ::selection { background: #C8A46355; color: #fff; }

/* Scrollbar to match */
.guest-site ::-webkit-scrollbar { width: 10px; height: 10px; }
.guest-site ::-webkit-scrollbar-track { background: #0A4747; }
.guest-site ::-webkit-scrollbar-thumb { background: #2c423d; border-radius: 6px; }
.guest-site ::-webkit-scrollbar-thumb:hover { background: #3c5a53; }

/* ==========================================================================
   v4.20 — "Find what you need" on the night palette, photo-free cards,
   zellige pattern for Explore Marrakech, visible return-to-top.
   ========================================================================== */

/* Find what you need: dark section, readable heading, clean solid cards */
.guest-site .guest-journey-nav { background: #0E5A5A; }
.guest-site .guest-journey-nav .guest-section-head h2 { color: #E8DFCB; opacity: 1; }
.guest-site .guest-journey-nav .guest-section-head p { color: #C8A463; }
.guest-site .journey-intro { color: #c9c2b0; }
.guest-site .journey-cards a {
  background: #16241f !important;
  background-image: none !important;
  border: 1px solid #C8A46338;
  color: #F7F4EE;
}
.guest-site .journey-cards a:hover { border-color: #C8A463; box-shadow: 0 22px 50px #00000070; }
.guest-site .journey-cards a h3 { color: #E8DFCB; }
.guest-site .journey-cards a p { color: #B8AFA0; }
.guest-site .journey-cards a span { color: #C8A463; }
.guest-site .journey-cards a svg { color: #C8A463; }

/* Explore Marrakech: photo-free cards + hand-drawn zellige star lattice */
.guest-site .guest-marrakech { background: #D6A08A; position: relative; }
.guest-site .guest-marrakech:before {
  content: "";
  position: absolute; top: 0; right: 0; bottom: 0; left: 0;
  opacity: .35;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Cg fill='none' stroke='%23F7F4EE' stroke-opacity='.5' stroke-width='1.1'%3E%3Cpath d='M48 4 61 35 92 48 61 61 48 92 35 61 4 48 35 35Z'/%3E%3Cpath d='M48 22 57 39 74 48 57 57 48 74 39 57 22 48 39 39Z'/%3E%3Ccircle cx='48' cy='48' r='7'/%3E%3Cpath d='M0 0 12 12M96 0 84 12M0 96 12 84M96 96 84 84'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 96px 96px;
  pointer-events: none;
}
.guest-site .guest-marrakech > * { position: relative; }
.guest-site .guest-marrakech .guest-section-head h2 { color: #F7F4EE; opacity: 1; }
.guest-site .guest-marrakech .guest-section-head p { color: #F7F4EEcc; }
.guest-site .places-grid a {
  background: #0E5A5Ad9 !important;
  background-image: none !important;
  border: 1px solid #F7F4EE4d;
  color: #F7F4EE;
}
.guest-site .places-grid a:hover { background: #4c2617e8 !important; border-color: #F7F4EE; }
.guest-site .places-grid a h3 { color: #F7F4EE; }
.guest-site .places-grid a p { color: #F7F4EEd9; }

/* Return-to-top: actually visible on the dark theme */
.guest-site .amani-top {
  background: #C8A463 !important;
  color: #0A4747 !important;
  border: 0 !important;
  width: 46px; height: 46px;
  box-shadow: 0 10px 26px #00000080;
  opacity: 1 !important;
}
.guest-site .amani-top:hover { background: #E8DFCB !important; }
.guest-site .amani-top svg, .guest-site .amani-top:before { color: #0A4747; }

/* ---------- v4.21 guest hero & chrome fixes ---------- */

/* 2a. Top-right controls readable: back link + language picker */
.guest-site .guest-header a,
.guest-site .guest-header .guest-language {
  color: #F7F4EE;
}
.guest-site .guest-header > a,
.guest-site .guest-header a[href*="/"] {
  border: 1px solid #C8A46359; border-radius: 999px;
  padding: 10px 16px; background: #0A4747b8; color: #F7F4EE !important;
}
.guest-site .guest-header a:hover { border-color: #C8A463; color: #F7F4EE !important; }
.guest-site .guest-language select {
  background: #0E5A5A; color: #F7F4EE;
  border: 1px solid #C8A46359; border-radius: 999px;
  padding: 9px 14px; font: inherit; font-size: 12px;
}

/* 2b. "Welcome home." always readable — no gradient text vanishing into the photo */
.guest-site .guest-hero h1 {
  color: #F7F4EE !important;
  -webkit-text-fill-color: #F7F4EE !important;
  background: none !important;
  text-shadow: 0 2px 34px #000000c9;
}
.guest-site .guest-hero p { text-shadow: 0 1px 16px #000000a6; }

/* 2c. Fade the hero into the next section — no hard seam, no bright sliver */
.guest-site .guest-hero { position: relative; }
.guest-site .guest-hero:after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: -2px;
  height: 170px;
  background: linear-gradient(180deg, transparent 0%, #0A4747 96%);
  pointer-events: none;
}
.guest-site .guest-hero + section { margin-top: 0 !important; border-top: 0 !important; }

/* 3. Return-to-top: unmistakable gold (re-asserted, max specificity) */
.guest-site button.amani-top, .guest-site .amani-top {
  background: #C8A463 !important;
  color: #0A4747 !important;
  border: 0 !important;
  opacity: 1 !important;
  font-size: 19px; font-weight: 700;
  box-shadow: 0 12px 30px #000000a0 !important;
}

/* v4.31 guest polish */
@media (prefers-reduced-motion: no-preference) { .guest-site html, html { scroll-behavior: smooth; } }
.guest-site [id] { scroll-margin-top: 90px; }
.guest-site ::selection { background: #C8A463; color: #0A4747; }
.guest-site :focus-visible { outline: 2px solid #C8A463; outline-offset: 3px; }

/* ---------- v4.42 clearer, bigger icons + Moroccan geometric pattern ---------- */
:root{--zellige: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='56' height='56'><g fill='none' stroke='%23C8A463' stroke-width='1' opacity='0.16'><path d='M28 2 L54 28 L28 54 L2 28 Z'/><path d='M28 14 L42 28 L28 42 L14 28 Z'/></g></svg>");}
.guide-topic-overview,.directory-overview{background-image:var(--zellige);background-size:56px 56px;border-radius:14px}
.guide-topic-overview button,.directory-overview button{
  position:relative;overflow:hidden;border-radius:12px;
  background-color:#E8DFCB;background-image:var(--zellige);background-size:42px 42px;
  border:1px solid #E8DFCB;box-shadow:0 1px 0 #fff8 inset;
  transition:transform .18s ease,box-shadow .18s ease;
}
.guide-topic-overview button:hover,.directory-overview button:hover{transform:translateY(-3px);box-shadow:0 16px 30px -16px #0006}
.guide-topic-overview button span,.directory-overview button span{
  display:flex;align-items:center;justify-content:center;
  width:56px;height:56px;border-radius:50%;
  background:#F7F4EE;box-shadow:0 2px 10px #0002,0 0 0 1px #E8DFCB inset;
  margin-bottom:10px;
}
.guide-topic-overview button span svg,.directory-overview button span svg{width:28px;height:28px;stroke-width:1.6}
.guide-topic-overview button b,.directory-overview button b{font-size:15px;line-height:1.3}
.essentials-grid article{
  background-color:#E8DFCB;background-image:var(--zellige);background-size:38px 38px;
  border:1px solid #E8DFCB;border-radius:12px;
}
.essentials-grid article svg{width:26px;height:26px;stroke-width:1.6}
.card-icon{width:44px;height:44px;border-radius:50%;background:#F7F4EE;box-shadow:0 0 0 1px #E8DFCB inset;display:flex;align-items:center;justify-content:center}
.card-icon svg{width:22px;height:22px}
@media(max-width:640px){
  .guide-topic-overview,.directory-overview{background-size:40px 40px}
  .guide-topic-overview button,.directory-overview button{background-size:32px 32px}
}

/* ---------- v4.49 harmonization: rhythm, motion, responsiveness ---------- */
.guest-site{-webkit-font-smoothing:antialiased}
.guest-site h1,.guest-site h2{letter-spacing:.01em}
.guest-site p{line-height:1.75}
[data-amani-reveal]{transition:opacity .6s var(--am-ease,ease),transform .6s var(--am-ease,ease)}
.guide-topic-overview button:focus-visible,.directory-overview button:focus-visible{outline:2px solid #C8A463;outline-offset:3px}
@media (max-width:640px){
  .guest-site p{font-size:15px}
  .guide-topic-overview button b{font-size:14px}
  .amani-top{width:46px;height:46px}
}

/* v4.77 Quick essentials: dark, graphic, unmistakable */
.guest-essentials{background:#0E5A5A;padding-top:52px;padding-bottom:52px}
.guest-essentials .guest-section-head p{color:#C8A463}
.guest-essentials .guest-section-head h2{color:#F7F4EE}
.essentials-grid article{background:#0E5A5A;border:1px solid #1B7676;border-radius:18px;padding:26px 22px;box-shadow:0 18px 40px -24px rgba(0,0,0,.7);transition:transform .18s ease,border-color .18s ease}
.essentials-grid article:hover{transform:translateY(-3px);border-color:#C8A463}
.essentials-grid article svg{width:32px;height:32px;color:#C8A463;stroke-width:1.6}
.essentials-grid article small{color:#D0C9BA;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;margin-top:10px;display:block}
.essentials-grid article b{color:#F7F4EE;font-size:21px;font-weight:600;margin-top:4px;display:block}
@media (prefers-reduced-motion:reduce){.essentials-grid article{transition:none}}
/* v5.74 guest-guide topic detail: on phones the panel forced a tall min-height
   and an oversized 52px title, so short topics rendered as a big half-empty block
   that read as "incomplete / off to the side". Let it fit its content and
   right-size the title so the panel looks finished. */
@media (max-width:700px){
  .guide-detail{min-height:0!important;padding:22px 20px 24px!important;border-radius:4px 26px 4px 4px!important}
  .guide-detail-icon{position:static!important;width:46px!important;height:46px!important;margin:0 0 12px!important}
  .guide-detail>small{display:block;margin-top:2px}
  .guide-detail h3{font-size:clamp(26px,7.5vw,34px)!important;line-height:1.06!important;margin:8px 0 12px!important}
  .guide-detail p{font-size:15px!important;line-height:1.65!important}
}
/* v5.74 no manual theme (device setting only) + readability floor */
.am-theme-toggle,.am-theme-float,.theme-toggle{display:none!important}
body{font-size:16px}
.essentials-grid article small,.journey-cards small,.guide-topic-overview small,.directory-overview small{font-size:11.5px!important;letter-spacing:.08em!important}

/* ============================================ */

.amani-header-glass-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1400px;
  margin: 0 auto;
  gap: 20px;
}

.amani-header-glass-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: var(--am-cream);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 12px;
}

.amani-header-glass-nav {
  display: flex;
  gap: 24px;
  align-items: center;
  margin-left: auto;
}

.amani-header-glass-nav a {
  color: var(--am-cream);
  text-decoration: none;
  font-size: 13px;
  letter-spacing: 0.05em;
  transition: color 0.25s var(--am-ease, ease);
  border-bottom: 2px solid transparent;
  padding-bottom: 4px;
}

.amani-header-glass-nav a:hover {
  color: var(--am-gold);
  border-bottom-color: var(--am-gold);
}

.amani-header-glass-lang {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  color: var(--am-cream);
  font-size: 12px;
  cursor: pointer;
  transition: background 0.25s var(--am-ease, ease);
}

.amani-header-glass-lang:hover {
  background: rgba(200, 164, 99, 0.2);
}

@media (max-width: 768px) {
  .amani-header-glass-nav {
    gap: 12px;
    margin-left: auto;
  }
  
  .amani-header-glass-nav a {
    font-size: 12px;
  }
  
  .amani-header-glass {
    padding: 12px 16px;
  }
}

/* ---- v5.95 brand parity: light-theme legibility for feature sections ---- */
html[data-amani-theme=light] .guest-site .guest-journey-nav{background:#0E5A5A;color:#F7F4EE}
html[data-amani-theme=light] .guest-site .guest-journey-nav .guest-section-head h2{color:#F7F4EE}
html[data-amani-theme=light] .guest-site .guest-marrakech{background:#D6A08A;color:#0E5A5A}
html[data-amani-theme=light] .guest-site .guest-marrakech .guest-section-head h2,
html[data-amani-theme=light] .guest-site .guest-marrakech .guest-section-head p{color:#0E5A5A}
html[data-amani-theme=light] .guest-site .guest-guide .guest-section-head h2{color:#0E5A5A}

/* ---- v5.96: floating site header replaces the in-app guest header ---- */
.guest-site .guest-header{display:none!important}
#amani-back{display:none!important}
.guest-site .guest-primary{color:#0E5A5A}
html[data-amani-theme=light] .guest-site .guest-primary{color:#0E5A5A}
