:root{--green:#173d35;--deep:#102e28;--gold:#c6a66b;--cream:#f7f4ed;--ink:#253c35;--muted:#6b716a;--line:#d9d7ca}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.75 Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a37a36;outline-offset:5px}img{display:block;max-width:100%}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12;margin:0}h1{font-size:clamp(52px,6.1vw,88px);letter-spacing:-2.6px}h2{font-size:clamp(34px,3.5vw,49px);letter-spacing:-1px}h3{font-size:32px}p{margin:0 0 20px}header{height:100px;background:var(--green);color:var(--cream);display:flex;align-items:center;justify-content:space-between;padding:0 4.5%;gap:28px;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand img{object-fit:contain;width:64px;height:68px}.brand span{font:29px/1.2 Georgia,serif;letter-spacing:.3px}.brand small{display:block;text-align:center;font:9px/2 Arial,sans-serif;letter-spacing:4px;margin-top:5px}nav{display:flex;gap:28px;font-size:12px}nav a{padding:8px 0;border-bottom:1px solid transparent}nav a:hover{border-color:var(--gold)}.header-actions{display:flex;gap:25px;align-items:center}.language{display:flex;gap:8px;font-size:11px;letter-spacing:1px}.language span{opacity:.5}.language .active{opacity:1}.language i{font-style:normal;opacity:.3}.button{border:1px solid transparent;border-radius:0;padding:16px 25px;display:inline-flex;align-items:center;justify-content:space-between;gap:32px;font-size:12px;letter-spacing:.3px;line-height:1.3;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.gold{background:var(--gold);color:#17332b}.gold:hover{background:#d9bb84}.cream{background:var(--cream);color:var(--green)}.outline{border-color:var(--green);color:var(--green);background:transparent}.header-book{padding:14px 19px}.menu-toggle{display:none;background:none;border:none;color:var(--cream);font-size:25px}.hero{height:min(720px,calc(100svh - 100px));min-height:570px;position:relative;color:white;background:var(--deep)}.hero-image{width:100%;height:100%;object-fit:cover;object-position:50% 54%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,27,22,.83),rgba(9,27,22,.47) 48%,rgba(9,27,22,.08)),linear-gradient(0deg,rgba(9,27,22,.4),transparent 30%)}.hero-copy{position:absolute;top:50%;left:8%;transform:translateY(-52%);max-width:720px}.eyebrow{font:10px/1.6 Arial,sans-serif;letter-spacing:2.4px;color:#9b7c48;margin:0 0 24px}.hero .eyebrow{color:#e4c48c}.hero h1{margin:0 0 28px}.hero-description{max-width:435px;font-size:15px;color:#f2eee5;line-height:1.8;margin-bottom:30px}.hero-bottom{position:absolute;bottom:29px;left:8%;right:5%;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.4px;color:#eee5d4}.section{padding:95px 8%}.intro{text-align:center;max-width:1000px;margin:auto;padding-top:80px;padding-bottom:80px}.ornament{font:36px Georgia;color:var(--gold);margin-bottom:23px}.intro h2{margin-bottom:26px}.intro>p:last-child{max-width:610px;margin:0 auto;color:var(--muted)}.apartments{padding-top:30px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:45px}.section-heading>p{max-width:310px;color:var(--muted);margin:0}.section-heading .eyebrow{margin-bottom:14px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:40px}.card-photo{display:block;position:relative;overflow:hidden;aspect-ratio:1.43}.card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.card-photo:hover img{transform:scale(1.035)}.number{position:absolute;top:18px;left:18px;border:1px solid #ffffff91;color:white;font:17px Georgia;padding:12px;background:#173d3533}.card-copy{padding:30px 0 0}.card-copy .eyebrow{margin-bottom:12px}.card-copy h3{font-size:36px;margin-bottom:16px}.facts{font-size:11px;letter-spacing:.7px;color:#7d735f}.card-copy>p:not(.eyebrow):not(.facts){color:var(--muted);max-width:450px}.text-link{display:inline-flex;gap:28px;align-items:center;border-bottom:1px solid var(--gold);padding-bottom:7px;font-size:12px}.text-link span{font-size:22px;color:#a88344}.location{display:grid;grid-template-columns:1fr 1fr;background:#e9e8dc}.location-art{height:610px;position:relative;overflow:hidden}.location-art>img{width:100%;height:100%;object-fit:cover;object-position:50% 56%}.location-stamp{position:absolute;right:28px;bottom:28px;border-radius:50%;width:120px;height:120px;background:var(--green);border:1px solid #d0b479;outline:8px solid var(--green);color:#d0b479;display:flex;flex-direction:column;align-items:center;justify-content:center;font:25px/1.3 Georgia}.location-stamp small{font:9px Arial;letter-spacing:2px;margin-top:4px}.location-copy{padding:80px 12%;align-self:center}.location-copy h2{margin-bottom:27px}.location-copy>p:not(.eyebrow){color:var(--muted)}.location-copy .address{font-size:11px;letter-spacing:.2px;border-top:1px solid #cfcebf;padding-top:22px;margin-top:30px}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:80px}.faq h2{margin-top:0}.faq details{border-bottom:1px solid var(--line)}.faq summary{list-style:none;cursor:pointer;padding:20px 0;display:flex;justify-content:space-between;gap:20px;font-size:14px}.faq summary::-webkit-details-marker{display:none}.faq summary span{color:#a48044;font-size:20px;line-height:1}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:14px;color:var(--muted);max-width:540px;padding-right:24px}.cta{padding:65px 8% 80px;text-align:center;background:var(--green);color:var(--cream)}.cta>img{margin:0 auto 25px}.cta .eyebrow{color:var(--gold);margin-bottom:18px}.cta h2{font-size:clamp(44px,4.8vw,65px);margin-bottom:22px}.cta>p:not(.eyebrow){color:#c3cfc5}.cta .button{margin-top:12px}footer{padding:48px 8% 22px;background:var(--deep);color:#d7dfd4;display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px}footer .brand img{width:50px;height:55px}footer .brand span{font-size:26px}footer p{font-size:12px;margin-top:20px;color:#9aafa2}.footer-nav{display:flex;gap:28px;align-items:center;font-size:12px}.footer-bottom{width:100%;border-top:1px solid #3a5145;padding-top:22px;margin-top:15px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#9aafa2}.detail-heading{padding:45px 8% 42px}.back-link{font-size:11px;color:var(--muted);display:inline-block;margin-bottom:40px}.detail-heading .eyebrow{margin-bottom:14px}.detail-heading h1{font-size:70px}.detail-heading .facts{margin-top:20px;margin-bottom:0}.detail-main-photo{height:520px;margin:0 4.5%;position:relative}.detail-main-photo>img{width:100%;height:100%;object-fit:cover}.detail-main-photo .button{position:absolute;bottom:25px;right:25px}.detail-content{display:grid;grid-template-columns:1.5fr 1fr;gap:90px}.detail-content h2{margin-bottom:25px}.detail-content>div>p:not(.eyebrow){color:var(--muted);max-width:580px}.amenities-title{font-size:26px;margin-top:40px}.amenities{padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:13px;margin:25px 0 40px}.amenities span{color:#9b7c48;margin-right:12px}.notice{padding:25px;background:#eeeade;border-left:2px solid var(--gold)}.notice h3{font-size:23px;margin-bottom:12px}.notice p{font-size:13px;margin:0;color:var(--muted)}.booking-card{align-self:start;position:sticky;top:35px;border:1px solid #cfcebf;padding:32px}.booking-card h3{margin-bottom:20px}.booking-card p:not(.eyebrow){font-size:13px;color:var(--muted)}.booking-card .button{width:100%;margin-bottom:12px}.booking-card small{font-size:10px;color:var(--muted);display:block;border-top:1px solid var(--line);padding-top:22px;margin-top:16px}.gallery{padding-top:10px}.gallery h2{margin-bottom:35px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-grid button{padding:0;border:0;background:none;overflow:hidden;aspect-ratio:1.3}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery-grid button:hover img{transform:scale(1.04)}.other{background:#eeece3}.other>h2{max-width:700px;margin-bottom:35px}.cards.single{display:block}.single .apartment-card{display:grid;grid-template-columns:1fr 1fr;gap:45px}.single .card-copy{align-self:center}.legal{max-width:1000px;margin:auto;min-height:65vh}.legal h1{font-size:48px;margin-bottom:40px}.legal h2{font-size:27px;margin:35px 0 20px}.legal .button{margin:10px 12px 0 0}.skip{position:absolute;top:-100px;left:20px;background:white;color:black;padding:10px;z-index:100}.skip:focus{top:10px}dialog{border:0;padding:45px;background:var(--cream);color:var(--ink);max-width:850px;width:calc(100% - 32px);max-height:90svh;overflow:auto}dialog::backdrop{background:rgba(9,27,22,.8)}.dialog-close{position:absolute;right:16px;top:10px;border:0;background:none;font-size:32px;color:inherit;line-height:1;padding:10px}.booking-options{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:25px}.booking-options img{aspect-ratio:1.6;object-fit:cover;width:100%;margin-bottom:20px}.booking-options h3{font-size:29px;margin-bottom:12px}.booking-options .button{width:100%;margin-top:10px}.booking-options .facts{font-size:10px}.booking-options section{min-width:0}#booking-dialog>p:not(.eyebrow){color:var(--muted);margin-top:18px}#gallery-dialog{padding:45px 60px 18px;background:var(--deep);color:white;max-width:1200px;overflow:hidden}#large-photo{max-height:75svh;object-fit:contain;margin:auto}#photo-count{text-align:center;margin:10px 0 0;font-size:12px}.gallery-nav{position:absolute;top:50%;border:0;background:none;color:white;font-size:28px;padding:10px}.prev{left:8px}.next{right:8px}body:has(dialog[open]){overflow:hidden}@media(min-width:1600px){.hero-copy{left:calc((100% - 1380px)/2)}.section{max-width:1600px;margin:auto}}@media(max-width:1100px){header{padding:0 4%;gap:20px}nav{gap:18px}.header-book{display:none}.header-actions{gap:16px}.hero-copy{left:7%}.section{padding-left:7%;padding-right:7%}.location-copy{padding:50px 10%}.location-art{height:560px}.faq{gap:45px}.detail-content{gap:40px}}@media(max-width:720px){header{height:82px;padding:0 5%}.brand img{width:48px;height:55px}.brand span{font-size:24px}.brand small{font-size:8px;letter-spacing:3px}.menu-toggle{display:block}nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--green);padding:22px 7% 30px;flex-direction:column;gap:14px;box-shadow:0 10px 20px #0002}nav.open{display:flex}.hero{min-height:580px;height:calc(90svh - 82px);max-height:720px}.hero-copy{left:7%;right:7%;transform:translateY(-50%)}.hero h1{font-size:52px;letter-spacing:-1.6px}.hero .eyebrow{font-size:8px;letter-spacing:1.8px;max-width:300px}.hero-description{font-size:14px;max-width:320px}.hero-shade{background:linear-gradient(90deg,#0c211ac4,#0c211a5c)}.hero-bottom{left:7%;font-size:9px;bottom:24px;right:7%}.hero-bottom span:last-child{display:none}.hero-image{object-position:62% 50%}.section{padding:60px 7%}.intro{padding-top:55px}.intro h2{font-size:34px}.eyebrow{font-size:9px;letter-spacing:1.8px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;font-size:14px}.cards{grid-template-columns:1fr;gap:40px}.card-copy{padding-top:22px}.card-copy h3{font-size:33px}.location{grid-template-columns:1fr}.location-art{height:390px}.location-copy{padding:50px 7%}.location-copy h2{font-size:35px}.faq{grid-template-columns:1fr;gap:20px}.faq summary{font-size:13px}.cta{padding:52px 7% 60px}.cta h2{font-size:44px}footer{padding:40px 7% 24px}.footer-nav{flex-direction:column;align-items:start;gap:12px;width:100%}.footer-bottom{flex-direction:column;gap:12px}.detail-heading{padding:30px 7%}.detail-heading h1{font-size:48px;letter-spacing:-1.5px}.back-link{margin-bottom:28px}.detail-main-photo{height:330px;margin:0}.detail-main-photo .button{bottom:17px;right:17px}.detail-content{grid-template-columns:1fr;gap:35px}.booking-card{position:static}.gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.gallery-grid button:first-child{grid-column:span 2;aspect-ratio:1.5}.gallery{padding-top:10px}.gallery h2{font-size:32px}.single .apartment-card{grid-template-columns:1fr;gap:0}.other>h2{font-size:33px}dialog{padding:40px 24px 25px}.booking-options{grid-template-columns:1fr;gap:28px}.booking-options img{display:none}.booking-options section+section{border-top:1px solid var(--line);padding-top:25px}#book-title{font-size:32px}#gallery-dialog{padding:50px 38px 20px}.gallery-nav{font-size:21px;padding:6px}.prev{left:2px}.next{right:2px}.legal h1{font-size:38px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Smoobu availability and booking */
.availability{padding-top:10px}.availability h2{margin-bottom:20px}.availability>p:not(.eyebrow){color:var(--muted);max-width:720px}.calendar-shell{background:white;padding:24px;margin:28px 0;min-height:310px;overflow-x:auto;border:1px solid var(--line)}.calendar-shell .calendarWidget{width:100%;max-width:100%}.calendar-shell table{width:100%}.calendar-jump{margin:5px 0 22px}.calendar-fallback{font-size:13px}.booking-page{max-width:1200px;margin:auto;padding-top:45px}.booking-page h1{font-size:clamp(42px,5vw,65px)}.booking-intro{margin:25px 0 30px;max-width:650px;color:var(--muted)}.booking-module{background:#fff;padding:20px;border:1px solid var(--line);min-height:650px}.booking-module iframe{min-height:650px;width:100%;border:0}.booking-fallback{margin:24px 0 55px;font-size:13px;color:var(--muted)}.platform-heading{font-size:28px}.booking-page .booking-options{max-width:850px}.booking-page .booking-options h3{margin-top:15px}#booking-loading{font-size:14px;color:var(--muted)}@media(max-width:720px){.calendar-shell{padding:10px;min-height:280px}.booking-module{padding:0}.booking-page{padding-left:5%;padding-right:5%}.booking-fallback .text-link{margin-top:10px}.availability h2{font-size:32px}}
/* Destination and arrival guides */
.guide-heading{padding-top:160px;padding-bottom:44px;background:var(--cream,#f5f1e8)}
.guide-heading h1{font-size:clamp(2.6rem,6vw,5.4rem);line-height:1.07;max-width:1000px;margin:22px 0}
.guide-heading>p:last-child{max-width:800px;font-size:1.15rem;line-height:1.8}
.guide-body{padding-top:35px;max-width:1400px;margin:auto;line-height:1.8}
.guide-index{display:flex;flex-wrap:wrap;gap:14px 30px;margin-bottom:36px}
.guide-index a{border-bottom:1px solid #ba985d;padding:10px 0}
.guide-group{margin:64px 0;scroll-margin-top:115px}
.guide-group>h2{font-size:clamp(2rem,3.5vw,3rem);margin-bottom:30px}
.sight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sight-grid article{padding:28px;background:#f6f2e9;border-top:2px solid #b79962;display:flex;flex-direction:column}
.sight-grid h3{font-size:1.55rem;margin:12px 0;line-height:1.3}
.sight-grid p{margin:0 0 24px}.sight-grid .text-link{margin-top:auto;font-size:.85rem}
.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:600px}th,td{text-align:left;padding:20px;vertical-align:top;border-bottom:1px solid #d7cfbd}thead{background:#173d35;color:#fff}tbody tr:nth-child(even){background:#f6f2e9}th .text-link{font-weight:normal;font-size:.8rem}.guide-body .notice h2{font-size:1.8rem}.guide-body .notice{margin:32px 0}.faq .text-link{font-size:.9rem}
@media(max-width:1000px){.sight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.sight-grid{grid-template-columns:1fr}.guide-heading{padding-top:120px}.guide-index{display:grid}.guide-group{margin:40px 0}}

/* Approved Sisi gown identity, framed without changing the artwork. */
.brand .brand-mark{position:relative;display:block;overflow:hidden;width:64px;height:78px;flex:0 0 64px}
.brand .brand-mark img{position:absolute;width:135px;height:auto;max-width:none;left:-35px;top:-7px;object-fit:contain}
.brand .brand-wordmark small{font-size:7px;letter-spacing:1.4px;white-space:nowrap}
.cta>.sisi-logo-full{width:min(380px,85vw);height:auto;margin:0 auto 28px}
footer .brand .brand-mark{width:64px;height:78px}footer .brand .brand-mark img{width:135px;height:auto}
@media(max-width:720px){.brand{gap:7px}.brand .brand-mark{width:52px;height:64px;flex-basis:52px}.brand .brand-mark img{width:110px;height:auto;left:-29px;top:-6px}.brand .brand-wordmark{font-size:23px}.brand .brand-wordmark small{font-size:6px;letter-spacing:1px}.header-actions{gap:10px}footer .brand .brand-mark{width:52px;height:64px}footer .brand .brand-mark img{width:110px;height:auto}}

.apartment-booking-choices{margin:36px 0 64px;max-width:none!important}.apartment-booking-choices article{min-width:0}.apartment-booking-choices h2{font-size:34px;margin:22px 0 16px}.apartment-booking-choices p:not(.facts){color:var(--muted)}.apartment-booking-choices img{display:block!important}.apartment-booking-choices .button{width:100%}

/* Approved transparent calligraphic logo. */
header .brand .brand-lockup{width:230px;height:auto;max-height:90px;object-fit:contain}
footer .brand .brand-lockup{width:280px;height:auto;max-width:100%;object-fit:contain}
.cta>.sisi-logo-full{width:min(460px,85vw);height:auto;background:transparent}
.footer-contact{display:flex;flex-direction:column;justify-content:center;gap:8px;font-size:13px}
@media(max-width:720px){header .brand .brand-lockup{width:190px;max-height:73px}header{gap:10px}.header-actions{gap:8px}footer .brand .brand-lockup{width:260px}}
@media(max-width:360px){header .brand .brand-lockup{width:165px}}

/* The approved artwork uses exactly the same gold as buttons and accents. */
.logo-gold{display:block;aspect-ratio:2023/777;background-color:var(--gold);-webkit-mask:url('/assets/sisi-script-transparent.png') center/contain no-repeat;mask:url('/assets/sisi-script-transparent.png') center/contain no-repeat}
header .brand .brand-lockup{width:230px;height:auto;max-height:90px}
footer .brand .brand-lockup{width:280px;height:auto;max-width:100%}
.cta>.sisi-logo-full{width:min(460px,85vw);height:auto;margin:0 auto 28px;background-color:var(--gold)}
@media(max-width:720px){header .brand .brand-lockup{width:190px;max-height:73px}footer .brand .brand-lockup{width:260px}}
@media(max-width:360px){header .brand .brand-lockup{width:165px}}

/* A clear, unclipped mobile hero. Desktop supporting copy remains visible. */
@media(max-width:720px){
 .hero .eyebrow,.hero-description,.hero-bottom{display:none}
 .hero-copy{left:7%;right:7%;max-width:86%;min-width:0}
 .hero h1{font-size:clamp(34px,10.5vw,52px);line-height:1.13;letter-spacing:-1px;overflow-wrap:anywhere;margin-bottom:32px}
 .hero-copy .button{max-width:100%;gap:18px}
 .hero{min-height:440px}
}
/* Readable controls, resilient reflow and consent UI. */
:root{--muted:#535e56}
.eyebrow{color:#795d2e}.facts{color:#625844}
.hero-shade{background:linear-gradient(90deg,rgba(9,27,22,.88),rgba(9,27,22,.74) 65%,rgba(9,27,22,.38))}
.language span,.language i{opacity:1}.language .active{text-decoration:underline;text-underline-offset:5px}
:focus-visible{outline:3px solid #173d35;outline-offset:4px;box-shadow:0 0 0 6px #fff}
button,a,summary{touch-action:manipulation}.menu-toggle,.language,.gallery-nav,.dialog-close{min-width:44px;min-height:44px}
.language{align-items:center}.gallery-nav{background:var(--deep)}
h1,h2,h3,p,a{overflow-wrap:anywhere}.legal a,.consent-banner>a,#consent-dialog>a{text-decoration:underline;text-underline-offset:3px}
.footer-bottom{flex-wrap:wrap;font-size:12px;align-items:center}.footer-bottom a,.footer-settings{padding:10px 0;min-height:44px}
.footer-settings{border:0;background:none;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}
.consent-banner{padding:28px 7%;background:#f7f4ed;border-bottom:2px solid var(--gold)}
.consent-banner h2,#settings-title{font-size:28px;margin-bottom:18px}.consent-banner p{max-width:1000px;font-size:15px}
.consent-actions{display:flex;flex-wrap:wrap;gap:16px;margin:20px 0}.consent-actions .button{flex:1 1 220px;justify-content:center;max-width:480px;font-size:15px;min-height:48px}
.external-placeholder{padding:24px;max-width:850px}.external-placeholder h3{font-size:26px;margin-bottom:20px}.external-placeholder p{margin:18px 0}.external-placeholder .button{font-size:15px}
.booking-module:has(.external-placeholder:not([hidden])){min-height:0}.calendar-shell:has(.external-placeholder:not([hidden])){min-height:0}
[hidden]{display:none!important}caption{text-align:left;font-weight:bold;padding:12px 0}
@media(max-width:720px){
 header{height:auto;min-height:82px;flex-wrap:wrap;padding-top:5px;padding-bottom:5px}#navigation{top:100%}
 .guide-index{display:flex;position:static;box-shadow:none;background:transparent;color:var(--ink);padding:0;flex-direction:column}
 .hero{height:auto;min-height:440px}.hero-image,.hero-shade{position:absolute;inset:0}.hero-copy{position:relative;top:auto;left:auto;right:auto;transform:none;padding:90px 7%;max-width:100%;width:100%}
 .detail-heading h1{font-size:clamp(34px,10vw,48px)}.booking-card{padding:24px}.amenities{grid-template-columns:1fr}
 .external-placeholder{padding:18px}.button{white-space:normal}.footer-contact{max-width:100%}
}
@media(forced-colors:active){.logo-gold{background-color:CanvasText;forced-color-adjust:none}.button{border:1px solid ButtonText}.hero-shade{background:Canvas}.hero-copy{color:CanvasText}}
.number{background:var(--deep)}
#gallery-dialog{overflow:auto}
