@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;700&family=Manrope:wght@400;500;600;700&family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--ivory:#f9f6f0;--paper:#fefcf8;--sand:#ebe2d6;--oat:#ded0bd;--taupe:#a58b77;--brown:#705849;--espresso:#352b26;--ink:#42342c;--muted:#80756b;--line:#dfd6cb;--serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--espresso);font-family:var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #927259;outline-offset:4px}::selection{background:#dac8b4;color:#33271f}
.container{width:min(100% - 104px,1370px);margin-inline:auto}.eyebrow{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.235em;line-height:1.6;color:var(--brown)}.eyebrow.light{color:#fff6e9}.arrowlink{display:inline-flex;align-items:center;gap:20px;border-bottom:1px solid #9f8978;padding-bottom:10px;font-size:11px;font-weight:700;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:gap .3s}.arrowlink:hover{gap:27px}.round-arrow{font-size:19px;line-height:1}.button{display:inline-flex;align-items:center;justify-content:center;gap:17px;min-height:55px;padding:0 27px;background:var(--espresso);color:#fbf7f0;border:1px solid var(--espresso);border-radius:0;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:background .2s,color .2s}.button:hover{background:#695447;border-color:#695447}.button-outline{background:transparent;color:var(--espresso);border-color:#aa9988}.button-outline:hover{color:white}.button-light{background:var(--paper);border-color:var(--paper);color:var(--espresso)}.button-light:hover{color:#fff}.skip-link{position:absolute;top:-100px;left:18px;z-index:1000;background:#fff;padding:12px}.skip-link:focus{top:12px}
.announcement{height:30px;background:#e9dfd2;color:#675447;text-align:center;display:flex;align-items:center;justify-content:center;gap:13px;text-transform:uppercase;letter-spacing:.2em;font-size:9px;font-weight:550}.announcement .symbol{font-size:13px}.site-header{position:relative;z-index:40;background:rgba(249,246,240,.97);border-bottom:1px solid #e6dfd6}.header-inner{min-height:91px;display:flex;align-items:center;gap:30px;justify-content:space-between}.wordmark{display:inline-flex;gap:13px;align-items:center;text-decoration:none;white-space:nowrap}.wordmark-mark{display:grid;place-items:center;width:45px;height:45px;border:1px solid #957f69;font-family:var(--serif);font-size:27px;letter-spacing:-4px;padding-right:4px;color:var(--espresso);font-weight:500}.wordmark-name{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600;letter-spacing:.23em}.wordmark-name small{font-size:8px;letter-spacing:.21em;color:var(--muted);font-weight:500}.desktop-nav{display:flex;align-items:center;gap:34px;margin-left:auto}.desktop-nav a{font-size:10px;letter-spacing:.085em;font-weight:600;text-decoration:none;padding-block:13px;border-bottom:1px solid transparent}.desktop-nav a:hover,.desktop-nav a[aria-current="page"]{border-bottom-color:var(--taupe);color:#745b48}.header-cta{display:flex;align-items:center;justify-content:center;gap:22px;font-size:10px;letter-spacing:.1em;font-weight:700;text-decoration:none;border:1px solid #c8b7a7;padding:15px 18px;white-space:nowrap}.header-cta:hover{background:#eae1d7}.menu-toggle{display:none;width:42px;height:42px;align-items:center;justify-content:center;flex-direction:column;gap:6px;background:transparent;border:1px solid #d4c6b6}.menu-toggle span{width:17px;height:1px;background:#584436}.mobile-nav{display:none}.mobile-nav[hidden]{display:none}
.hero{background:var(--ivory);padding:42px 0 0}.hero-grid{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);min-height:630px;gap:5.1%;align-items:stretch}.hero-copy{padding:78px 0 87px 3.5%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero-copy .overline{display:flex;gap:18px;align-items:center}.hero-copy .overline:before{content:'';width:35px;height:1px;background:var(--taupe)}.hero h1,.page-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(76px,8.3vw,130px);line-height:.83;letter-spacing:-.044em;margin:38px 0 28px}.hero h1 em,.page-hero h1 em{color:#a18872;font-weight:400}.hero-copy>p{max-width:440px;font-size:14px;line-height:1.95;color:#695d53;margin:0 0 31px}.hero-links{display:flex;align-items:center;gap:35px;margin-top:8px}.hero-visual{min-width:0;position:relative;overflow:hidden;background:#d5c6b4;min-height:620px}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.6) sepia(.18)}.hero-visual:after{position:absolute;content:'';inset:0;background:linear-gradient(180deg,rgba(58,41,28,.03),transparent 42%,rgba(53,39,28,.18));pointer-events:none}.image-label{position:absolute;bottom:25px;left:29px;z-index:2;color:white;font-size:9px;text-transform:uppercase;letter-spacing:.19em;text-shadow:0 1px 5px #251b1577}.hero-tag{position:absolute;top:23px;right:23px;z-index:2;background:rgba(252,249,243,.88);padding:15px 17px;text-align:center;text-transform:uppercase;font-size:8px;font-weight:600;letter-spacing:.17em;line-height:1.8;color:#6b5445}.hero-tag span{display:block;font-family:var(--serif);font-size:20px;letter-spacing:0;text-transform:none;font-weight:400}.hero-bottom-note{display:flex;justify-content:space-between;align-items:center;padding:22px 0 25px;font-size:9px;text-transform:uppercase;letter-spacing:.19em;color:#776656}.hero-bottom-note span:last-child{color:#9a8b80}
.booking-wrap{background:var(--paper);border-top:1px solid #ebe4da;border-bottom:1px solid #e8ded2;padding:34px 0 33px;position:relative;z-index:10}.booking-heading{display:flex;justify-content:space-between;align-items:baseline;gap:30px;margin-bottom:16px}.booking-heading h2{font-family:var(--serif);font-size:35px;line-height:1;margin:0}.booking-heading p{margin:0;color:var(--muted);font-size:11px}.booking-panel{display:grid;grid-template-columns:1fr 1fr .75fr auto;min-height:82px;border:1px solid #d8cbbd;background:var(--ivory);position:relative}.booking-field{background:none;border:0;border-right:1px solid #d8cbbd;text-align:left;padding:17px 26px;min-width:0}.booking-field:hover{background:#f0e8de}.booking-field label,.booking-field .field-label{display:block;color:#9b826e;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:11px;cursor:pointer}.booking-value{display:flex;align-items:center;justify-content:space-between;gap:14px;color:var(--espresso);font-family:var(--serif);font-size:24px;font-weight:500;white-space:nowrap}.booking-value svg{stroke:#8d7766;flex-shrink:0}.booking-submit{min-width:201px;border:0;background:var(--espresso);color:#fff9f0;font-size:11px;font-weight:650;letter-spacing:.13em;text-transform:uppercase}.booking-submit:hover{background:#6d5543}.booking-micro{display:flex;justify-content:space-between;gap:15px;color:#988a7f;font-size:10px;line-height:1.5;margin:11px 0 0}.booking-micro strong{font-weight:600;color:#796657}.calendar-popover{position:absolute;z-index:80;top:calc(100% + 9px);left:0;width:min(785px,100%);background:var(--paper);padding:25px 27px;box-shadow:0 18px 50px #33271d29;border:1px solid #ded1c1}.calendar-popover[hidden]{display:none}.calendar-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;gap:10px}.calendar-top h3{font-family:var(--serif);font-size:30px;margin:0;line-height:1}.calendar-nav{display:flex;gap:7px}.calendar-nav button{border:1px solid var(--line);background:none;font-size:19px;width:39px;height:36px}.calendar-hint{color:#817264;font-size:11px;margin:0 0 14px}.month-grid{display:grid;grid-template-columns:1fr 1fr;gap:31px}.month-name{font-family:var(--serif);font-weight:600;font-size:22px;text-align:center;margin-bottom:10px}.weekday-row,.day-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}.weekday-row{font-size:10px;color:#998777;text-transform:uppercase;margin-bottom:7px}.weekday-row span{padding:8px 0}.day-grid button,.day-grid .blank{width:100%;aspect-ratio:1/1;display:grid;place-items:center;border:0;background:none;color:#463930;font-size:11px;border-radius:0}.day-grid button:hover:not(:disabled){background:#e7dace}.day-grid button:disabled{color:#d0c5ba;cursor:not-allowed}.day-grid button.is-selected{background:var(--espresso);color:white}.day-grid button.is-between{background:#e9ded2}.calendar-footer{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:14px}.calendar-footer span{font-size:11px;color:#7b6958}.calendar-footer button{border:0;background:none;text-decoration:underline;color:#6b4e3d;font-size:11px}.guest-popover{position:absolute;z-index:80;top:calc(100% + 9px);right:204px;width:275px;background:var(--paper);border:1px solid var(--line);padding:23px;box-shadow:0 18px 50px #33271d29}.guest-popover[hidden]{display:none}.guest-popover h3{margin:0 0 7px;font-family:var(--serif);font-size:25px}.guest-popover p{margin:0 0 18px;color:var(--muted);font-size:11px;line-height:1.6}.stepper{display:flex;align-items:center;justify-content:space-between}.stepper button{width:40px;height:38px;background:none;border:1px solid var(--line);font-size:20px}.stepper output{font-family:var(--serif);font-size:31px}.guest-done{margin-top:20px;width:100%;min-height:40px;background:var(--espresso);color:#fff;border:0;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.section{padding:122px 0}.section-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.section-top h2,.section-title{font-family:var(--serif);font-size:clamp(54px,5.8vw,81px);line-height:.92;letter-spacing:-.035em;margin:19px 0 0}.section-top h2 em,.section-title em{color:#a18973;font-weight:400}.section-top>p{max-width:380px;color:#74665a;font-size:13px;line-height:1.9;margin:0 0 6px}.explore-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.explore-card{text-decoration:none;display:block}.card-visual{height:370px;position:relative;overflow:hidden;background:#e4d5c2}.card-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.55) sepia(.12);transition:transform .55s}.explore-card:hover .card-visual img{transform:scale(1.045)}.card-visual .card-no{position:absolute;top:19px;left:18px;background:#fbf7f1d9;padding:10px 13px;font-size:9px;letter-spacing:.15em}.card-visual.story-visual{background:linear-gradient(145deg,#b7a18b,#d9c8b3 57%,#e9ddd0);display:grid;place-items:center}.story-art{font-family:var(--serif);font-size:clamp(65px,8vw,120px);line-height:.67;letter-spacing:-.06em;text-align:center;color:#fff9ed;font-weight:400;text-shadow:0 3px 15px #5f493624}.story-art i{font-weight:400}.story-art small{font-family:var(--sans);display:block;font-size:9px;letter-spacing:.3em;text-transform:uppercase;margin-top:34px}.card-visual.iloilo-visual{background:#cfbdaa;display:grid;place-items:center}.iloilo-linework{width:100%;height:100%;object-fit:cover}.card-meta{padding-top:19px;display:flex;align-items:start;justify-content:space-between}.card-meta .eyebrow{font-size:9px;color:#8e7e70}.card-meta h3{font-family:var(--serif);font-size:37px;line-height:.98;margin:7px 0 9px}.card-meta .card-circle{border:1px solid #bba795;width:39px;height:39px;border-radius:50%;display:grid;place-items:center;font-size:19px;transition:background .2s}.explore-card:hover .card-circle{background:#e7d9c9}.explore-card>p{font-size:12px;line-height:1.85;color:#857567;max-width:350px;margin:0}.full-bleed{background:#e9dfd3}.manifesto-inner{display:grid;grid-template-columns:.65fr 1.35fr;gap:6%;align-items:center;padding:85px 0}.manifesto-inner h2{font-family:var(--serif);font-size:clamp(49px,6vw,85px);line-height:1.02;letter-spacing:-.025em;margin:0}.manifesto-inner h2 em{color:#9c8069}.manifesto-inner p{font-size:12px;color:#7c6a5b;line-height:1.85;max-width:250px}.manifesto-inner .eyebrow{margin-bottom:20px}.manifesto-inner .arrowlink{margin-top:12px}.details-strip{border-bottom:1px solid var(--line)}.details-inner{display:grid;grid-template-columns:repeat(4,1fr);padding:42px 0;gap:0}.details-item{border-right:1px solid var(--line);padding:0 28px;text-align:center}.details-item:last-child{border:0}.details-item .detail-icon{font-family:var(--serif);display:block;font-size:32px;color:#907760;margin-bottom:8px}.details-item h3{font-size:11px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;margin:0 0 5px}.details-item p{font-size:11px;color:#8e8174;line-height:1.5;margin:0}.closing{background:#84715f;color:#fff9f0;padding:112px 0;text-align:center}.closing h2{font-family:var(--serif);font-size:clamp(61px,7vw,98px);line-height:.92;letter-spacing:-.03em;margin:18px 0 22px}.closing h2 em{color:#ded0bf}.closing p{font-size:13px;line-height:1.8;max-width:445px;margin:0 auto 29px;color:#f2e8db}.closing .button{background:#fff9f0;color:#473428;border-color:#fff9f0}.closing .button:hover{background:#e7d8c6}
.page-hero{padding:85px 0 60px}.page-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center}.page-hero h1{font-size:clamp(76px,8vw,119px);margin:27px 0 30px}.page-hero p{font-size:14px;line-height:1.95;color:#776b5d;max-width:465px}.page-hero-visual{position:relative;height:565px;background:#d2c0ae;overflow:hidden}.page-hero-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.59) sepia(.1)}.page-hero-visual .image-label{color:white}.page-hero .arrowlink{margin-top:16px}.page-hero-symbol{display:grid;place-items:center;height:565px;background:linear-gradient(130deg,#d5c3af,#aa927a);position:relative}.page-hero-symbol:before{content:'✳';position:absolute;color:#f7eddf30;font-size:430px;font-family:var(--serif);line-height:1}.page-hero-symbol span{z-index:1;color:white;font-family:var(--serif);font-size:clamp(95px,13vw,195px);line-height:.78;text-align:center;letter-spacing:-.06em}.page-hero-symbol em{color:#fff1de;font-weight:400}
.content-block{padding:110px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.two-col.text-right{grid-template-columns:1.1fr .9fr}.content-copy h2{font-family:var(--serif);font-size:clamp(55px,6vw,83px);line-height:.94;letter-spacing:-.025em;margin:24px 0}.content-copy h2 em{color:#ae9179}.content-copy p{font-size:13px;line-height:1.95;color:#77695d;max-width:515px}.image-frame{background:#d7c3ad;min-height:460px;position:relative;overflow:hidden}.image-frame img{height:100%;width:100%;object-fit:cover;filter:saturate(.58) sepia(.11)}.image-frame .image-label{font-size:8px}.feature-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 35px;margin-top:32px}.feature-row{padding:20px 0;border-bottom:1px solid var(--line)}.feature-row span{color:#9b806a;font-size:9px;letter-spacing:.17em;text-transform:uppercase;font-weight:700}.feature-row h3{font-family:var(--serif);font-size:29px;margin:8px 0 5px}.feature-row p{font-size:11px;line-height:1.7;color:#827264;margin:0}.story-quote{padding:115px 0;background:#e9ded1;text-align:center}.story-quote blockquote{font-family:var(--serif);font-size:clamp(39px,5.9vw,78px);line-height:1.06;letter-spacing:-.03em;max-width:920px;margin:15px auto 0}.story-quote blockquote em{color:#a18971}.small-note{font-size:10px;line-height:1.7;color:#8d7c6c;margin:22px 0 0}.story-letter{font-family:var(--serif);font-style:italic;font-size:26px!important;color:#785d4c!important;margin-top:30px!important}.guide-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}.guide-card{background:#eee4d8;padding:31px;min-height:255px;display:flex;flex-direction:column;align-items:flex-start}.guide-number{font-family:var(--serif);font-size:35px;color:#a28a73}.guide-card h3{font-family:var(--serif);font-size:36px;margin:15px 0 12px}.guide-card p{font-size:12px;line-height:1.9;color:#78685b;margin:0}.section-rule{border-top:1px solid var(--line)}.subnav{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.subnav a{border:1px solid #cbbcae;padding:12px 18px;text-decoration:none;font-size:11px;color:#614e40}.subnav a:hover{background:#e8dbcd}
.site-footer{background:#f3ece3;border-top:1px solid #ded2c5;padding:77px 0 24px}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr 1fr;gap:35px;padding-bottom:77px}.footer-brand{font-family:var(--serif);font-size:58px;letter-spacing:-.05em;line-height:.91;margin-bottom:20px}.footer-brand i{color:#aa8b72;font-weight:400}.footer-tagline{font-size:12px;line-height:1.85;color:#796a5e;max-width:280px}.footer-title{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:21px;color:#765c49}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.footer-links a{font-size:12px;text-decoration:none;color:#6f5e50}.footer-links a:hover{text-decoration:underline}.footer-bottom{padding-top:23px;border-top:1px solid #d9cbbb;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#8b7a6c;font-size:10px;line-height:1.5}.footer-bottom a{text-decoration:none}
.inquiry-dialog{border:0;padding:0;width:min(94vw,585px);max-height:92vh;background:var(--paper);color:var(--espresso);box-shadow:0 24px 90px #281c1588;overflow-y:auto}.inquiry-dialog::backdrop{background:#2b211ac2}.dialog-inner{padding:42px 44px 35px}.dialog-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.dialog-head h2{font-family:var(--serif);font-size:53px;line-height:.9;margin:12px 0 18px}.dialog-close{background:transparent;border:1px solid var(--line);height:34px;width:34px;font-size:21px}.dialog-copy{font-size:12px;line-height:1.75;color:#847261;margin:0 0 20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-field{display:flex;flex-direction:column;gap:7px}.form-field.full{grid-column:1/-1}.form-field label{font-size:10px;text-transform:uppercase;letter-spacing:.13em;font-weight:600;color:#7f6a58}.form-field input,.form-field textarea,.form-field select{width:100%;border:1px solid #d7cabb;background:#fffdf9;color:#362820;border-radius:0;padding:12px;font-size:13px;min-height:44px}.form-field textarea{resize:vertical;min-height:84px}.dialog-submit{margin-top:23px;width:100%}.dialog-help{font-size:10px;line-height:1.65;color:#887867;margin:14px 0 0}.dialog-feedback{display:block;color:#6b543f;font-size:11px;min-height:16px;margin-top:10px}.copy-button{border:0;background:transparent;color:#715640;text-decoration:underline;margin-top:12px;font-size:11px;padding:5px 0}
@media(max-width:1120px){.container{width:min(100% - 64px,1370px)}.desktop-nav{gap:21px}.header-inner{gap:20px}.hero h1{font-size:clamp(73px,9.1vw,113px)}.hero-copy{padding-left:0}.booking-panel{grid-template-columns:1fr 1fr .7fr 165px}.booking-submit{min-width:0}.booking-field{padding:17px}.card-visual{height:320px}.footer-grid{grid-template-columns:1.15fr .75fr .75fr 1fr}}
@media(max-width:850px){.desktop-nav,.header-cta{display:none}.menu-toggle{display:flex}.header-inner{min-height:77px}.site-header{position:relative}.mobile-nav:not([hidden]){display:flex;flex-direction:column;background:var(--ivory);border-top:1px solid var(--line);padding:10px 32px 25px;position:absolute;left:0;right:0;top:100%;box-shadow:0 17px 24px #33281d16;z-index:50}.mobile-nav a{font-size:14px;letter-spacing:.04em;font-weight:600;padding:14px 0;text-decoration:none;border-bottom:1px solid var(--line)}.mobile-nav a[aria-current='page']{color:#9b7555}.hero-grid{min-height:550px;gap:3%}.hero-visual{min-height:540px}.hero-copy{padding:40px 0 58px}.hero h1{font-size:clamp(63px,9vw,93px)}.hero-copy>p{font-size:12px}.hero-links{flex-direction:column;align-items:flex-start;gap:25px}.booking-panel{grid-template-columns:1fr 1fr 1fr}.booking-submit{grid-column:1/-1;min-height:54px}.booking-field:nth-child(3){border-right:0}.guest-popover{right:0}.section{padding:95px 0}.explore-cards{gap:15px}.card-visual{height:240px}.story-art{font-size:73px}.card-meta h3{font-size:31px}.manifesto-inner{grid-template-columns:1fr 1.2fr}.page-hero{padding:65px 0 45px}.page-hero-visual,.page-hero-symbol{height:470px}.page-hero h1{font-size:clamp(66px,9vw,96px)}.content-block{padding:85px 0}.footer-grid{grid-template-columns:1.2fr 1fr;row-gap:40px;padding-bottom:50px}}
@media(max-width:600px){.container{width:calc(100% - 40px)}.announcement{height:31px;font-size:8px;letter-spacing:.11em}.header-inner{min-height:70px}.wordmark-mark{height:39px;width:39px;font-size:25px}.wordmark-name{font-size:12px}.wordmark-name small{font-size:7px}.mobile-nav:not([hidden]){padding:10px 20px 25px}.hero{padding:0}.hero-grid{display:flex;flex-direction:column;gap:0}.hero-copy{padding:65px 3px 48px}.hero h1{font-size:clamp(76px,16vw,104px);margin:25px 0 25px}.hero-copy>p{font-size:13px;max-width:360px;line-height:1.85}.hero-links{flex-direction:row;align-items:center;gap:22px}.button{padding:0 17px;font-size:10px;min-height:49px}.arrowlink{font-size:10px;gap:10px}.hero-visual{min-height:365px;height:365px}.hero-tag{top:12px;right:12px;padding:9px 11px;font-size:7px}.image-label{left:15px;bottom:14px;font-size:7px}.hero-bottom-note{font-size:8px;line-height:1.5;padding:15px 0}.hero-bottom-note span:last-child{max-width:120px;text-align:right}.booking-wrap{padding:31px 0}.booking-heading{display:block}.booking-heading h2{font-size:36px}.booking-heading p{margin:9px 0 16px;font-size:11px}.booking-panel{grid-template-columns:1fr 1fr}.booking-field{padding:17px 14px}.booking-field:nth-child(2){border-right:0}.booking-field:nth-child(3){grid-column:1/-1;border-top:1px solid var(--line);border-right:0}.booking-field label,.booking-field .field-label{font-size:9px;margin-bottom:8px}.booking-value{font-size:22px}.booking-submit{min-height:55px}.booking-micro{display:block;font-size:10px}.booking-micro span{display:block}.calendar-popover{top:calc(100% + 8px);width:100%;padding:18px 14px}.calendar-top h3{font-size:24px}.month-grid{grid-template-columns:1fr;gap:15px}.month-grid .calendar-month:nth-child(2){display:none}.calendar-hint{font-size:10px}.day-grid button{font-size:12px}.guest-popover{width:100%;right:0}.section{padding:78px 0}.section-top{display:block;margin-bottom:25px}.section-top h2,.section-title{font-size:clamp(55px,12.5vw,73px)}.section-top>p{font-size:12px;margin-top:22px}.explore-cards{display:grid;grid-template-columns:1fr;gap:37px}.card-visual{height:330px}.story-art{font-size:105px}.card-meta h3{font-size:37px}.manifesto-inner{display:block;padding:78px 0}.manifesto-inner h2{font-size:58px;margin-top:36px}.manifesto-inner p{max-width:350px}.details-inner{grid-template-columns:1fr 1fr;gap:20px 0;padding:35px 0}.details-item{padding:15px 10px}.details-item:nth-child(2){border-right:0}.details-item:nth-child(n+3){border-top:1px solid var(--line)}.details-item .detail-icon{font-size:29px}.details-item h3{font-size:9px}.details-item p{font-size:10px}.closing{padding:80px 0}.closing h2{font-size:65px}.closing p{font-size:12px}.page-hero{padding:45px 0}.page-hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:35px}.page-hero h1{font-size:clamp(73px,16vw,100px);margin:23px 0}.page-hero p{font-size:13px}.page-hero-visual,.page-hero-symbol{height:365px}.page-hero-symbol span{font-size:125px}.content-block{padding:75px 0}.two-col,.two-col.text-right{display:flex;flex-direction:column;align-items:stretch;gap:35px}.two-col.mobile-copy-first .content-copy{order:-1}.content-copy h2{font-size:clamp(59px,12vw,75px)}.content-copy p{font-size:13px}.image-frame{min-height:330px;height:330px}.feature-table{gap:0 17px}.feature-row h3{font-size:25px}.story-quote{padding:78px 0}.story-quote blockquote{font-size:45px}.guide-cards{grid-template-columns:1fr;gap:12px}.guide-card{min-height:0;padding:25px}.guide-card h3{margin:4px 0 8px}.site-footer{padding:62px 0 24px}.footer-grid{grid-template-columns:1fr 1fr;gap:45px 20px;padding-bottom:55px}.footer-grid>div:first-child{grid-column:1/-1}.footer-brand{font-size:58px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:10px;font-size:9px}.dialog-inner{padding:31px 22px 28px}.dialog-head h2{font-size:46px}.form-grid{gap:10px}.form-field label{font-size:9px}.form-field input,.form-field textarea,.form-field select{font-size:12px;padding:10px}.dialog-copy{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* v3 — updated design imagery and editorial spaces */
.hero-visual img{filter:saturate(.88);object-position:center center}
.page-hero-visual img,.image-frame img{filter:saturate(.9)}
.render-preview{background:#efe7dc;padding:102px 0 94px}
.render-heading{display:grid;grid-template-columns:1fr .65fr;gap:45px;align-items:end;margin-bottom:30px}
.render-heading h2{font-family:var(--serif);font-weight:400;font-size:clamp(54px,6vw,82px);letter-spacing:-.035em;line-height:.98;margin:18px 0 0}
.render-heading h2 em{font-weight:400;color:#a0846f}
.render-heading p{color:#77695d;font-size:12px;line-height:1.95;max-width:375px}
.render-heading .arrowlink{display:inline-flex;margin-top:10px}
.render-preview-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:13px}
.render-preview figure,.villa-gallery figure{margin:0;min-width:0}
.render-preview figure img{width:100%;height:370px;display:block;object-fit:cover}
.render-preview figure:first-child img{object-position:center}
.render-preview figcaption,.villa-gallery figcaption{font-size:9px;letter-spacing:.16em;color:#756452;padding:14px 2px 0;font-weight:600}
.render-disclaimer{font-size:10px;line-height:1.7;color:#8f7c6d;margin:23px 0 0}
.villa-gallery{background:#f5efe6;padding:100px 0}
.villa-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 19px}
.villa-gallery-grid .wide{grid-column:1/-1}
.villa-gallery-grid img{display:block;width:100%;height:350px;object-fit:cover}
.villa-gallery-grid .wide img{height:490px}
@media(max-width:850px){.render-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.render-preview-grid figure:first-child{grid-column:1/-1}.render-preview-grid figure:first-child img{height:425px}.render-preview-grid figure img{height:310px}.render-heading{grid-template-columns:1fr 1fr}.villa-gallery-grid .wide img{height:410px}}
@media(max-width:600px){.render-preview{padding:76px 0}.render-heading{display:block;margin-bottom:25px}.render-heading h2{font-size:62px}.render-heading>div:last-child{margin-top:23px}.render-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.render-preview-grid figure:first-child{grid-column:1/-1}.render-preview-grid figure:first-child img{height:310px}.render-preview-grid figure img{height:200px}.render-preview figcaption,.villa-gallery figcaption{font-size:8px;line-height:1.5}.villa-gallery{padding:72px 0}.villa-gallery-grid{grid-template-columns:1fr;gap:20px}.villa-gallery-grid .wide{grid-column:auto}.villa-gallery-grid img,.villa-gallery-grid .wide img{height:255px}}


/* VERSION 4: branding, gentle slideshow, visible availability calendar */
.wordmark{gap:7px;align-items:center;flex-shrink:0}.brand-emblem{width:46px;height:53px;object-fit:contain}.brand-type{width:145px;height:46px;object-fit:contain;object-position:left center}.header-inner{min-height:85px}.footer-logo{width:174px;height:auto;max-height:150px;object-fit:contain;object-position:left center;margin:-20px 0 0 -8px}.desktop-nav{gap:27px}.hero-slideshow{position:absolute;inset:0}.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;visibility:hidden;transform:scale(1.025);transition:opacity 1.65s ease,transform 7.5s ease,visibility 1.65s}.hero-slide.active{opacity:1;visibility:visible;transform:scale(1)}.slide-controls{position:absolute;z-index:4;right:18px;bottom:21px;display:flex;align-items:center;gap:15px;background:rgba(37,30,23,.43);backdrop-filter:blur(7px);padding:9px 12px}.slide-dots{display:flex;align-items:center;gap:9px}.slide-dot{width:6px;height:6px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:transparent;padding:0}.slide-dot.active{background:white;box-shadow:0 0 0 2px #fff3}.slide-pause{border:0;background:none;color:white;font-size:12px;line-height:1;padding:0 1px 1px}.hero-visual .image-label{max-width:55%;line-height:1.6;font-size:8px}.footer-brand{display:none}
.availability-section{padding:79px 0 86px;background:#fdfaf6}.availability-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:31px}.availability-heading h2{font-family:var(--serif);font-size:clamp(53px,6.2vw,89px);font-weight:400;line-height:.9;letter-spacing:-.038em;margin:16px 0 14px}.availability-heading h2 em{color:#a1846c}.availability-heading p{color:#817063;font-size:12px;line-height:1.85;margin:0}.preview-stamp{padding:9px 13px;border:1px solid #d7c5b4;background:#f6eee4;color:#7d5b48;font-size:9px;font-weight:700;letter-spacing:.1em;white-space:nowrap}.availability-layout{display:grid;grid-template-columns:minmax(0,1.47fr) minmax(280px,.72fr);gap:0;border:1px solid #ded2c6;background:#fffdf9;box-shadow:0 17px 32px #4a32200b}.availability-calendar{padding:35px 36px 28px}.availability-aside{padding:36px 31px 31px;background:#efe6da;border-left:1px solid #d8c8ba}.availability-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:26px}.mini-caption{font-size:9px;font-weight:700;letter-spacing:.22em;color:#a0846c}.availability-top h3{font-family:var(--serif);font-size:41px;font-weight:400;margin:7px 0 0;letter-spacing:-.02em}.avail-month-nav{display:flex;gap:9px}.avail-month-nav button{width:42px;height:42px;border:1px solid #d8c9b9;background:#faf5ee;color:#625041;font-size:20px}.avail-month-nav button:disabled{opacity:.35;cursor:not-allowed}.cal-day-names,.avail-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cal-day-names{background:#f7f0e9;border-block:1px solid #e3d7cb}.cal-day-names span{text-align:center;padding:14px 0;font-size:10px;font-weight:600;color:#8b7766}.avail-days{border-left:1px solid #e7ddd2;border-top:1px solid #e7ddd2}.cal-blank,.avail-date{height:76px;border:0;border-right:1px solid #e7ddd2;border-bottom:1px solid #e7ddd2;background:#fffdf9;position:relative}.cal-blank{background:#faf6f0}.avail-date{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#40352c;transition:background .2s}.avail-date.available{background:#e8dfd4}.avail-date.held{background:#f2e4cd}.avail-date.booked{background:#eeeae5;color:#aca296;text-decoration:none}.avail-date.unreleased{background:#fdfaf6}.avail-date.past{background:#f4f0eb;opacity:.45}.avail-date:not(:disabled):hover{background:#ddc9b5}.avail-date:disabled{cursor:not-allowed}.date-number{font-family:var(--serif);font-size:23px;line-height:1}.date-caption{font-size:8px;line-height:1;font-weight:700;letter-spacing:.07em;color:#937b69}.avail-date.picked{background:#705849!important;color:#fff}.avail-date.picked .date-caption{color:#fff}.avail-date.in-range{background:#d5c2ac!important}.availability-legend{display:flex;flex-wrap:wrap;gap:14px 22px;border-top:1px solid #e9e0d7;padding:20px 0 11px;font-size:10px;color:#817265}.availability-legend span{display:flex;gap:7px;align-items:center}.status-key{width:11px;height:11px;display:inline-block;border:1px solid #c9bcaf}.status-key.available{background:#e8dfd4}.status-key.held{background:#f2e4cd}.status-key.booked{background:#eeeae5}.availability-clarification{font-size:11px;color:#8b7363;line-height:1.65}.availability-clarification strong{color:#715a49}.availability-clarification button{background:transparent;border:0;padding:0 0 1px;color:#6f5443;border-bottom:1px solid #927966;font-size:inherit;margin-left:4px}.availability-aside>h3{font-family:var(--serif);font-size:45px;letter-spacing:-.02em;line-height:1.02;margin:15px 0 16px}.availability-aside>p{font-size:12px;line-height:1.85;color:#786858}.stay-data{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:24px 0 21px}.stay-data>div{background:#fffaf4;border:1px solid #d7c7b7;min-height:79px;padding:14px 10px}.stay-data span,.guest-picker label{display:block;font-size:9px;font-weight:700;color:#9a816d;letter-spacing:.15em;margin-bottom:10px}.stay-data strong{font-size:17px;font-family:var(--serif);font-weight:500}.guest-picker select{display:block;width:100%;background:#fffaf4;border:1px solid #d7c7b7;padding:14px;color:#4e3d30;margin-top:9px}.availability-message{min-height:44px;font-size:11px;color:#765f4e;line-height:1.6;padding:14px 0 0}.availability-cta{display:block;width:100%;min-height:58px;letter-spacing:.09em;font-size:10px;margin-top:18px}.selection-reset{border:0;background:none;text-decoration:underline;font-size:11px;color:#75604f;margin:16px auto 8px;display:block}.aside-note{border-top:1px solid #dacaba;padding-top:18px;margin-top:16px;font-size:10px!important;line-height:1.75!important}
@media(max-width:1120px){.brand-emblem{width:38px}.brand-type{width:121px}.desktop-nav{gap:16px}.availability-layout{grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr)}.availability-calendar{padding:25px}.availability-aside{padding:27px 22px}.cal-blank,.avail-date{height:66px}.date-number{font-size:20px}.date-caption{font-size:7px}}
@media(max-width:850px){.brand-emblem{width:44px;height:49px}.brand-type{width:135px}.availability-layout{grid-template-columns:1fr}.availability-aside{border-left:0;border-top:1px solid #d8c8ba}.availability-aside>h3{font-size:37px}.availability-cta{max-width:500px}.stay-data{max-width:500px}}
@media(max-width:600px){.brand-emblem{height:46px;width:40px}.brand-type{width:121px;height:44px}.header-inner{min-height:76px}.hero-visual{height:385px;min-height:385px}.slide-controls{bottom:24px}.hero-visual .image-label{max-width:57%;font-size:7px;bottom:19px;left:12px}.availability-section{padding:57px 0 65px}.availability-heading{align-items:flex-start;display:block}.availability-heading h2{font-size:58px}.availability-heading p{font-size:11px}.preview-stamp{display:inline-flex;margin-top:16px}.availability-calendar{padding:16px 12px 18px}.availability-top{padding:10px 4px 20px}.availability-top h3{font-size:35px}.avail-month-nav button{height:36px;width:36px}.cal-day-names span{font-size:9px;padding:12px 0}.cal-blank,.avail-date{height:56px}.date-number{font-size:19px}.date-caption{font-size:7px;letter-spacing:0}.availability-legend{gap:10px 12px;font-size:9px}.availability-clarification{font-size:10px}.availability-aside{padding:29px 20px}.stay-data{gap:9px}.stay-data strong{font-size:15px}.footer-logo{width:155px;max-height:115px;margin:-12px 0 0 -8px}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none!important;transform:none!important}}


/* Quiet-luxury location pins (replaces the old decorative star) */
.location-mark{display:inline-flex;align-items:center;justify-content:center;color:#786453}
.location-pin{width:15px;height:15px;display:block;flex:none}
.detail-pin{display:flex!important;justify-content:center;align-items:center;min-height:39px}
.detail-pin .location-pin{width:29px;height:29px;color:#927760}
.announcement .location-mark{opacity:.95}
/* Frequently asked questions */
.faq-hero{background:linear-gradient(145deg,#f9f6f0 5%,#eee2d4 98%);padding:113px 0 95px;border-bottom:1px solid var(--line)}
.faq-hero-inner{max-width:830px}
.faq-hero h1{font-size:clamp(64px,8.5vw,119px);line-height:.85;margin:33px 0 30px}
.faq-hero p{max-width:490px;color:#776858;font-size:14px;line-height:1.9;margin-bottom:36px}
.faq-section{padding:98px 0 124px;background:var(--paper)}
.faq-layout{display:grid;grid-template-columns:minmax(230px,.73fr) minmax(0,1.27fr);gap:12%}
.faq-intro{align-self:start;position:sticky;top:38px}
.faq-intro h2,.faq-final h2{font-family:var(--serif);font-size:clamp(48px,5.3vw,78px);letter-spacing:-.025em;line-height:.94;font-weight:400;margin:18px 0 24px}
.faq-intro h2 em,.faq-final h2 em{color:#ae937c}
.faq-intro>p{font-size:13px;line-height:1.9;color:#7a6d62;max-width:350px}
.faq-contact{border-top:1px solid #d9cdc2;padding-top:29px;margin-top:52px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.faq-contact>a{font-size:12px;text-decoration:none;border-bottom:1px solid #bba794;padding-bottom:6px}
.faq-contact>a:hover{text-decoration:underline}
.faq-groups>section+section{margin-top:54px}
.faq-groups h3{text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:700;color:#9d806c;margin:0 0 15px}
.faq-groups details{border-bottom:1px solid #ded2c8;padding:0}
.faq-groups details:first-of-type{border-top:1px solid #ded2c8}
.faq-groups summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:var(--serif);font-size:clamp(23px,2.1vw,32px);font-weight:400;line-height:1.17;padding:22px 2px;color:#43382f}
.faq-groups summary::-webkit-details-marker{display:none}
.faq-plus{border:1px solid #c7b5a5;border-radius:50%;width:31px;height:31px;display:grid;place-items:center;font-family:var(--sans);font-size:18px;font-weight:400;flex:none;color:#78614e;transition:transform .2s}
.faq-groups details[open] .faq-plus{transform:rotate(45deg)}
.faq-groups details p{font-size:13px;line-height:1.95;color:#776759;max-width:590px;margin:0 38px 24px 2px}
.faq-groups details a{color:#765443;text-decoration:underline;text-underline-offset:3px}
.faq-final{background:#eee3d7;padding:60px 0}
.faq-final-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.faq-final h2{font-size:clamp(40px,4.8vw,65px);margin:15px 0 0}
@media(max-width:850px){.faq-hero{padding:78px 0 71px}.faq-section{padding:69px 0 86px}.faq-layout{grid-template-columns:1fr;gap:55px}.faq-intro{position:static}.faq-intro h2{font-size:64px}.faq-contact{margin-top:25px}.faq-groups summary{font-size:27px}.faq-final-inner{align-items:flex-start;flex-direction:column;gap:24px}}
@media(max-width:600px){.announcement{font-size:8px;letter-spacing:.11em;gap:8px}.location-pin{width:13px;height:13px}.faq-hero{padding:67px 0 57px}.faq-hero h1{font-size:66px;margin:26px 0 22px}.faq-hero p{font-size:12px}.faq-intro h2{font-size:58px}.faq-groups summary{font-size:25px;padding:18px 0}.faq-groups details p{margin-right:10px}.faq-final{padding:55px 0}}

/* Balay Bali guest policies and pre-opening enquiry experience */
.availability-legend[hidden]{display:none!important}



.availability-policy-link{font-size:11px;color:#705849;text-decoration:underline;text-underline-offset:4px;display:inline-block;margin-top:10px}
.booking-ack{font-size:12px;line-height:1.65;color:#6d5848;display:flex;align-items:flex-start;gap:11px;margin:16px 0;padding:12px 14px;background:#f6efe8;border:1px solid #e0d1c4;cursor:pointer}
.booking-ack input{width:17px;height:17px;flex:none;margin-top:2px;accent-color:#735948}
.faq-groups details:focus-within{scroll-margin-top:90px}
.faq-groups summary:focus-visible,.availability-policy-link:focus-visible{outline:2px solid #836a59;outline-offset:4px}

/* V5.2: calm, concise guest-policy styling */
.policy-snapshot{background:#eee5d9;border-top:1px solid #e5d9cc;border-bottom:1px solid #e0d4c6;padding:36px 0 37px}
.policy-snapshot-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:21px}
.policy-snapshot-heading p{margin:0;color:#7d6b5d;font-family:var(--serif);font-size:23px}
.policy-snapshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #d3c4b4;border-left:1px solid #d3c4b4}
.policy-snapshot-grid>div{display:flex;flex-direction:column;gap:7px;padding:18px 20px;min-height:121px;background:#f5f0e9;border-right:1px solid #d3c4b4;border-bottom:1px solid #d3c4b4}
.policy-snapshot-grid b{font-size:9px;font-weight:500;letter-spacing:.19em;color:#a98c76}
.policy-snapshot-grid strong{font-family:var(--serif);font-size:24px;font-weight:500;color:#43362f}
.policy-snapshot-grid span{font-size:11px;color:#76695d;line-height:1.6}
.policy-snapshot-note{font-size:11px;color:#79695b;margin:14px 0 0;line-height:1.7}
.booking-essential{display:grid;grid-template-columns:1fr;gap:0;margin:10px 0 15px;border-top:1px solid #d5c9ba;border-bottom:1px solid #d5c9ba}
.booking-essential>div{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:10px 0;border-bottom:1px solid #e7ded4}
.booking-essential>div:last-child{border-bottom:0}
.booking-essential span{font-size:9px;font-weight:600;letter-spacing:.12em;color:#92765f}
.booking-essential strong{font-weight:500;color:#524036;font-size:11px;text-align:right;line-height:1.5}
.dialog-policy-preview{font-size:11px;line-height:1.7;color:#6c5c4e;margin:11px 0 12px;border-left:2px solid #c6af98;padding-left:11px}
.villa-policy-link a{font-size:11px;font-weight:600;letter-spacing:.06em;color:#725947;text-underline-offset:4px}
.faq-groups details p a{color:#735744;text-underline-offset:3px}
@media(max-width:850px){.policy-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.policy-snapshot-heading{display:block}.policy-snapshot-heading p{margin-top:6px;font-size:22px}}
@media(max-width:520px){.policy-snapshot{padding:25px 0 30px}.policy-snapshot-grid{grid-template-columns:1fr 1fr}.policy-snapshot-grid>div{padding:14px 12px;min-height:118px}.policy-snapshot-grid strong{font-size:21px}.policy-snapshot-grid span{font-size:10px}.booking-essential>div{align-items:flex-start}.booking-essential strong{max-width:190px}}

/* V5.3 confirmed flexible direct cancellation and included turnaround housekeeping */
.stay-care-band{background:#f7f2eb;padding:32px 0 33px;border-bottom:1px solid #e8ded2}
.stay-care-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.stay-care-grid article{padding:26px 29px;border:1px solid #e2d6c7;background:#fbf8f2}
.stay-care-grid h2{font-family:var(--serif);font-size:29px;font-weight:400;line-height:1.2;color:#44372f;margin:10px 0}
.stay-care-grid p{font-size:12px;line-height:1.85;color:#766659;margin:0 0 14px}
.stay-care-grid a{font-size:11px;letter-spacing:.035em;text-decoration:none;color:#795e47;border-bottom:1px solid #cbb6a1;padding-bottom:3px}
.booking-cancellation-note{font-size:11px;line-height:1.75;color:#6b594c;margin:7px 0 14px}
.booking-cancellation-note strong{font-weight:600;color:#614c3c}
.booking-cancellation-note a,.enquiry-cancellation-link a{color:#7a5b42;text-underline-offset:3px}
.enquiry-cancellation-link{font-size:11px;color:#6b594c;line-height:1.6}
@media(max-width:700px){.stay-care-grid{grid-template-columns:1fr;gap:12px}.stay-care-grid article{padding:21px 18px}.stay-care-grid h2{font-size:25px}.stay-care-band{padding:25px 0}}

/* Version 5.4: refined and approved guest policies */
.policy-second-line{color:#7a695d;font-size:12px;line-height:1.9;margin:15px 0 0;text-align:center}
.policy-second-line strong{color:#574234;font-weight:600}
.policy-second-line span{color:#bca48f;padding:0 8px}
.safety-process-note{border-top:1px solid #d9cbbd;margin-top:17px;padding-top:13px;color:#6a584c;font-size:11px;line-height:1.85;max-width:580px}
.safety-process-note strong{font-weight:600;color:#594537}
.booking-policy-note{font-size:11px;line-height:1.8;color:#705e4e;margin:4px 0 14px}
.booking-policy-note strong{color:#5b4739;font-weight:600}
.booking-policy-note a{color:#74523e;text-underline-offset:3px}
.field-note{font-size:10px;line-height:1.6;margin:5px 0 0;color:#8c7765}
@media(max-width:720px){.policy-second-line{font-size:11px;line-height:1.9}.policy-second-line span{padding:0 4px}}

/* V5.8: date-change policy in booking sidebar */
.booking-date-change-note{margin:0.8rem 0 0.6rem;color:#65594e;font-size:0.83rem;line-height:1.65;}
.booking-date-change-note strong{color:#493d33;font-weight:600;}
.booking-date-change-note a{color:#695341;text-underline-offset:3px;text-decoration-thickness:1px;}

/* v5.9: modest payment and late-arrival note within booking sidebar */
.booking-arrival-note{margin:.5rem 0 .7rem;color:#65594e;font-size:.83rem;line-height:1.65}
.booking-arrival-note strong{color:#493d33;font-weight:600}
.booking-arrival-note a{color:#695341;text-underline-offset:3px;text-decoration-thickness:1px}


/* Elegant searchable FAQ: help guests navigate comprehensive guest policies */
.faq-search{background:#F4EEE5;border:1px solid rgba(80,63,48,.15);border-radius:3px;padding:23px 25px 18px;margin-bottom:34px}
.faq-search-label{display:block;font-size:10px;letter-spacing:.18em;color:#6D5A4A;font-weight:600;margin-bottom:9px}
.faq-search input{width:100%;border:0;border-bottom:1px solid #BAA89A;outline:0;background:transparent;padding:9px 0;font-family:inherit;font-size:15px;color:#392F28;border-radius:0}
.faq-search input:focus{border-color:#574535}
.faq-search-status{font-size:12px;color:#827166;margin:10px 0 0}
.faq-groups section[hidden], .faq-groups details[hidden]{display:none!important}
@media(max-width:700px){.faq-search{padding:18px 19px;margin-bottom:24px}}

/* Privacy page */
.privacy-section{background:#f9f6f0;color:#352b26}.privacy-section p{line-height:1.9;color:#5d5247;max-width:70ch;margin:0 0 1.6rem}.privacy-section h2{font-family:'Cormorant Garamond',serif;font-size:2.05rem;font-weight:500;margin:2.2rem 0 .65rem}.privacy-section a{color:#6d5645;text-underline-offset:4px}

/* Balay Bali V5.16 — bespoke capacity mark + room captions */
.detail-guest-six{display:flex;align-items:center;justify-content:center;width:37px;height:37px;border:1px solid #aa9179;border-radius:50%;font-family:var(--serif);font-size:22px;font-weight:500;line-height:1;color:#816753;margin:0 auto 9px;box-sizing:border-box}.villa-gallery-grid .gallery-note{color:#857469;font-size:11px;line-height:1.7;max-width:48ch;margin:3px 0 15px}.villa-gallery-grid figure:has(.gallery-note){display:flex;flex-direction:column}.villa-gallery-grid figcaption{color:#6e5a49}.villa-gallery-grid .wide:has(.gallery-note) .gallery-note{max-width:74ch}@media(max-width:850px){.detail-guest-six{width:34px;height:34px;font-size:20px}}

/* V5.17 — refined guest icon: exactly six circular dots inside a circular outline */
.detail-guest-six{font-size:0!important;line-height:0!important;display:flex;align-items:center;justify-content:center}.detail-guest-six .guest-six-dots{display:block;width:30px;height:30px;color:#816753;flex:none}@media(max-width:850px){.detail-guest-six .guest-six-dots{width:27px;height:27px}}

/* V5.18 — six taupe dots only: no enclosing outline. */
.details-item .detail-guest-six{border:0;border-radius:0;background:transparent;box-shadow:none;outline:none;}

/* Version 5.21 — logo alignment and compact FAQ typography */
.footer-grid > div:first-child{max-width:310px}
.footer-logo{width:185px;max-height:148px;display:block;object-fit:contain;object-position:center;margin:-14px 0 5px 12px}
.footer-tagline{max-width:280px;font-size:12px;line-height:1.75;margin-top:0}
.faq-section{padding:70px 0 88px}
.faq-groups > section + section{margin-top:34px}
.faq-groups h3{margin-bottom:9px}
.faq-groups summary{font-size:clamp(19px,1.65vw,24px);line-height:1.28;padding:13px 2px;gap:14px}
.faq-plus{width:27px;height:27px;font-size:16px}
.faq-groups details p{font-size:12px;line-height:1.72;margin:0 35px 16px 2px;max-width:630px}
.faq-search{padding:17px 22px 15px;margin-bottom:24px}
@media(max-width:850px){.faq-section{padding:58px 0 70px}.faq-groups summary{font-size:21px;padding:13px 1px}}
@media(max-width:600px){.footer-logo{width:168px;max-height:130px;margin:-9px 0 6px 12px}.faq-groups > section + section{margin-top:28px}.faq-groups summary{font-size:19px;line-height:1.3;padding:13px 0}.faq-groups details p{font-size:12px;line-height:1.65;margin-right:10px;margin-bottom:15px}.faq-search{padding:14px 17px}}


/* V5.22 — brand alignment and editorial FAQ layout */
.footer-grid > div:first-child{max-width:282px}
.footer-logo{display:block;width:185px;height:auto;max-height:none;object-fit:contain;object-position:center;margin:-8px auto 10px auto}
.footer-tagline{max-width:282px;margin:0;text-align:center;font-size:12px;line-height:1.75}
.faq-section{padding:64px 0 78px}
.faq-groups > section + section{margin-top:28px}
.faq-groups h3{font-size:10px;letter-spacing:.19em;margin:0 0 7px}
.faq-groups details{border-bottom:1px solid #e1d5c8}
.faq-groups summary{font-family:var(--serif);font-size:clamp(17px,1.35vw,20px);font-weight:500;line-height:1.35;padding:11px 2px;gap:18px}
.faq-groups summary .faq-plus{font-family:var(--sans);font-size:16px;flex-shrink:0}
.faq-groups details p{font-size:12px;line-height:1.7;margin:0 34px 16px 2px;max-width:670px}
.faq-search{font-size:13px}
@media(max-width:850px){.faq-groups summary{font-size:18px;padding:12px 0}.faq-groups > section + section{margin-top:26px}}
@media(max-width:600px){.footer-logo{width:170px;max-height:none;margin:-6px auto 9px}.footer-tagline{text-align:center}.faq-hero{padding:58px 0 49px}.faq-section{padding:47px 0 62px}.faq-groups summary{font-size:17px;line-height:1.35;padding:10px 0}.faq-groups details p{font-size:12px;line-height:1.65;margin:0 20px 14px 0}.faq-groups > section + section{margin-top:25px}}

/* Visual sample v5.23: quiet editorial imagery */
.story-portrait-frame{min-height:570px;background:#eee9e0;display:flex;align-items:center;justify-content:center;padding:20px 20px 51px;box-shadow:0 19px 45px rgba(61,46,35,.055)}
.story-portrait-frame img{display:block;width:100%;height:510px;object-fit:contain;filter:saturate(.84);mix-blend-mode:multiply}
.story-image-caption{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);white-space:nowrap;color:#8f7865;font-size:9px;letter-spacing:.2em;font-weight:600}
.iloilo-map-frame{height:590px;background:#f4f1ec;border:1px solid #e9e1d8;box-shadow:0 16px 45px rgba(61,46,35,.06);display:flex;align-items:center;justify-content:center;padding:24px 30px 40px}
.page-hero-visual.iloilo-map-frame img{width:100%;height:100%;object-fit:contain;filter:saturate(.78)}
.iloilo-map-frame .image-label{color:#7c6556;text-shadow:none;background:rgba(250,247,241,.95);font-size:9px;letter-spacing:.12em;bottom:14px;left:26px}
.dinagyang-story{border-top:1px solid #dbcebf;background:#efe7db}
.dinagyang-layout{grid-template-columns:1.16fr .84fr;gap:8%}
.dinagyang-frame{background:#f7f3ec;min-height:405px;padding:12px 12px 39px;box-shadow:0 20px 45px rgba(65,45,30,.05)}
.dinagyang-frame img{display:block;width:100%;height:100%;max-height:420px;object-fit:contain;filter:saturate(.8)}
.editorial-label{position:absolute;bottom:14px;left:22px;font-size:8px;letter-spacing:.17em;color:#8c7160}
.dinagyang-layout .content-copy h2{font-size:clamp(52px,5.7vw,80px)}
.preview-notice{background:#514237;color:#f9f1e8;text-align:center;font-size:9px;letter-spacing:.15em;padding:9px 10px;text-transform:uppercase}
.faq-groups summary{font-size:clamp(16px,1.3vw,19px);padding:10px 2px}
@media(max-width:850px){.dinagyang-layout{display:grid;grid-template-columns:1fr 1fr;gap:6%}.iloilo-map-frame{height:475px}.story-portrait-frame{min-height:450px}.story-portrait-frame img{height:395px}}
@media(max-width:600px){.story-portrait-frame{min-height:0;padding:15px 12px 40px}.story-portrait-frame img{height:410px}.iloilo-map-frame{height:435px;padding:15px 13px 37px}.dinagyang-layout{display:flex;flex-direction:column;gap:27px}.dinagyang-frame{min-height:260px;padding:10px 8px 35px}.dinagyang-frame img{height:255px}.dinagyang-story{padding:62px 0}.story-image-caption{font-size:8px}.faq-groups summary{font-size:16px}}

/* Balay Bali v5.24 — editorial crops approved in interactive preview */
.villa-feature-photo {
  position:relative; height:clamp(420px,36vw,560px); min-height:0;
  overflow:hidden; isolation:isolate; background:#d9c8b7;
}
.villa-feature-photo img {
  position:absolute; inset:0; display:block; width:100%; height:100%;
  max-height:none; object-fit:cover; filter:saturate(.88) sepia(.045);
}
.villa-bath-photo img { object-position:47% 49%; }
.villa-living-photo img { object-position:57% 50%; }
.villa-feature-photo::after,
.story-facade-frame::after {
  content:""; position:absolute; inset:auto 0 0; height:92px;
  background:linear-gradient(to top,rgba(37,28,21,.40),rgba(37,28,21,0));
  pointer-events:none; z-index:1;
}
.villa-feature-photo .image-label {
  position:absolute; bottom:22px; left:25px; z-index:2; max-width:calc(100% - 50px);
  background:none; color:#fff8ef; text-shadow:0 1px 4px rgba(21,16,12,.5);
  letter-spacing:.17em; font-size:9px; line-height:1.5;
}
.story-facade-frame {
  width:100%; height:565px; position:relative; overflow:hidden;
  background:#d9c8b7; isolation:isolate;
}
.story-facade-frame img {
  display:block; width:100%; height:100%; object-fit:cover;
  object-position:center 53%; filter:saturate(.87) sepia(.045);
}
.story-facade-caption {
  position:absolute; z-index:2; left:26px; bottom:23px;
  font-size:9px; letter-spacing:.19em; line-height:1.5;
  font-weight:600; color:#fff8ee; text-shadow:0 1px 5px rgba(22,16,12,.55);
}
@media(max-width:1050px){
  .villa-feature-photo{height:430px}
  .story-facade-frame{height:470px}
}
@media(max-width:850px){
  .story-facade-frame{height:405px}
}
@media(max-width:600px){
  .villa-feature-photo{height:320px}
  .villa-feature-photo .image-label{left:14px;bottom:14px;font-size:7px}
  .story-facade-frame{height:320px}
  .story-facade-frame img{object-position:50% center}
  .story-facade-caption{left:15px;bottom:15px;font-size:7px}
}

/* Balay Bali live calendar v5.25 */
.avail-date.closed,.avail-date.unavailable{background:#f3f0ed;color:#afa69d;opacity:.57}
.avail-date.closed .date-caption,.avail-date.unavailable .date-caption{color:#b2a9a1}
.avail-date.past{background:#f4f0eb;opacity:.36;color:#b5aa9e}
.avail-date.booked{background:#ebe7e2;color:#a59c92}
.avail-date.available{background:#e9e0d5;color:#493e34}
.avail-date:disabled{cursor:not-allowed}
#availability-service-status{margin-top:9px;color:#856b5b;font-size:10px}
.availability-cta:disabled{opacity:.55;cursor:not-allowed}

/* Balay Bali v5.27 · guest-facing availability statuses and nightly rates */
.avail-date{gap:4px;min-width:0;overflow:hidden}
.avail-date.available{background:#e9e0d5;color:#493e34}
.avail-date.under_verification{background:#f2e6d4;color:#826342}
.avail-date.under_verification .date-caption{color:#926d44}
.avail-date.booked,.avail-date.closed{background:#efebe6;color:#8d847b;opacity:1}
.avail-date.closed .date-caption,.avail-date.booked .date-caption{color:#8d847b}
.avail-date.unavailable{opacity:.65}
.avail-date.past{opacity:.48}
.avail-date .date-rate{font-family:var(--sans);font-size:10px;line-height:1.1;font-weight:650;letter-spacing:0;color:#6c523e;white-space:nowrap}
.avail-date .date-caption{font-size:8px;line-height:1.15;letter-spacing:.035em}
.avail-date.holiday-rate{background:#e9dbc4;box-shadow:inset 0 2px 0 #bb9257}
.avail-date.holiday-rate .date-rate,.avail-date.holiday-rate .date-caption{color:#865e32}
.avail-date.special-rate{box-shadow:inset 0 2px 0 #9f8770}
.avail-date .date-number{line-height:1.05}
.avail-date.picked .date-rate,.avail-date.picked .date-caption{color:#fff}
.availability-legend{padding:15px 0 9px;gap:9px 18px;border:0}
.availability-legend span{white-space:nowrap}
.availability-legend .status-key{flex:none;border-color:#cfc1b3}
.availability-legend .status-key.available{background:#e9e0d5}
.availability-legend .status-key.held{background:#f2e6d4}
.availability-legend .status-key.booked{background:#efebe6}
.availability-legend .status-key.holiday{border-radius:50%;background:#bb9257;border-color:#bb9257}
.availability-legend-note{margin:0 0 15px;color:#917a67;font-size:10px;line-height:1.55}
@media(max-width:1120px){.avail-date{gap:3px}.avail-date .date-rate{font-size:9px}}
@media(max-width:600px){.avail-date{gap:2px}.avail-date .date-number{font-size:18px}.avail-date .date-rate{font-size:8px;letter-spacing:-.035em}.avail-date .date-caption{font-size:6.5px;letter-spacing:0}.availability-legend{gap:8px 13px;font-size:9px}.availability-legend-note{font-size:9px}}

/* Balay Bali v5.28: guest-approved minimalist calendar palette */
.cal-blank{background:#f6f1eb!important;}
.avail-date.available{background:#e8dfd4;}
.avail-date.booked,.avail-date.closed,.avail-date.unavailable,.avail-date.under_verification{background:#eeeae5;color:#9e948b;}
.avail-date.booked .date-caption,.avail-date.closed .date-caption,.avail-date.unavailable .date-caption,.avail-date.under_verification .date-caption{color:#9e948b;}
.avail-date.peak-rate{box-shadow:none;background:#e8dfd4;}
.peak-dot,.peak-legend-dot{display:inline-block;background:#b57b49;border-radius:50%;height:7px;width:7px;flex:none;}
.avail-date.peak-rate .date-rate{color:#765844;}
.avail-date{gap:5px;}
.avail-date .date-rate{font-size:11px;}
.availability-legend{justify-content:center;text-transform:uppercase;letter-spacing:.16em;font-weight:600;}
.availability-legend-note{text-align:center;color:#89766a;line-height:1.7;}


/* Balay Bali v5.31 — final approved guest calendar, matched to Admin v5.29.
   Preserve the guest booking logic: these are visual overrides only. */
.avail-days {background:#fbf8f3;border-top-color:#e5ddd3;border-left-color:#e5ddd3;}
.cal-day-names span {background:#f6f1eb;color:#877769;}
.cal-blank {background:#fbf8f3!important;border-right-color:#ede5da;border-bottom-color:#ede5da;}
.avail-date {min-width:0;height:88px;gap:5px;background:#fbf8f3;border-right-color:#ede5da;border-bottom-color:#ede5da;color:#463a32;}
.avail-date.available,.avail-date.available.peak-rate {background:#fbf8f3;color:#463a32;box-shadow:none;}
.avail-date .date-number {font-size:22px;font-weight:400;line-height:1.1;}
.avail-date .date-rate {font-size:12px;font-weight:500;line-height:1.2;color:#786356;font-variant-numeric:tabular-nums;white-space:nowrap;}
.avail-date.peak-rate .date-rate {color:#765741;}
.avail-date .peak-dot,.peak-legend-dot {background:#b67f4e;width:7px;height:7px;flex:0 0 7px;}
.avail-date.booked,.avail-date.closed,.avail-date.unavailable,.avail-date.under_verification {background:#f0ede9;color:#a79e96;opacity:1;}
.avail-date.booked .date-number,.avail-date.closed .date-number,.avail-date.unavailable .date-number,.avail-date.under_verification .date-number {color:#a79e96;}
.avail-date.booked .date-caption,.avail-date.closed .date-caption,.avail-date.unavailable .date-caption,.avail-date.under_verification .date-caption {color:#998e84;font-weight:500;font-size:10px;letter-spacing:0;}
.avail-date.past {background:#f0ede9;color:#a79e96;opacity:0.75;}
.avail-date.picked,.avail-date.picked.peak-rate{background:#705849!important;color:#fff;}
.avail-date.picked .date-rate {color:#fff;}
.avail-date.in-range {background:#d5c2ac!important;}
.availability-legend {justify-content:center;padding:22px 0 0;margin:17px 0 0;border-top:1px solid #e9dfd3;font-size:10px;font-weight:600;color:#756154;}
.availability-legend-note {text-align:center;margin:18px 0 16px;line-height:1.65;color:#89766a;}
@media(max-width:700px){
 .avail-date,.cal-blank{height:67px;}
 .avail-date{gap:3px;}
 .avail-date .date-number{font-size:17px;}
 .avail-date .date-rate{font-size:clamp(8px,2.1vw,10px);letter-spacing:-.02em;}
 .avail-date .date-caption{font-size:clamp(7px,1.75vw,9px)!important;letter-spacing:-.035em;}
 .avail-date .peak-dot{height:6px;width:6px;flex-basis:6px;}
}


/* Balay Bali v5.32 — footer logo and tagline alignment refinement.
   Desktop: align the brand as a single left-justified footer column.
   Tablet/mobile: center the whole brand block across the footer grid,
   not inside the previous 282px left-constrained sub-column. */
.footer-grid > div:first-child {
  width:100%; max-width:none; min-width:0;
  display:flex; flex-direction:column; align-items:flex-start; text-align:left;
}
.footer-grid > div:first-child .footer-logo {
  display:block; width:185px; height:auto; max-height:none;
  object-fit:contain; object-position:left center;
  margin:0 0 10px 0;
}
.footer-grid > div:first-child .footer-tagline {
  width:100%; max-width:300px; margin:0;
  text-align:left; font-size:12px; line-height:1.75;
}
@media(max-width:850px) {
  .footer-grid > div:first-child {
    grid-column:1 / -1;
    justify-self:stretch;
    align-items:center;
    text-align:center;
  }
  .footer-grid > div:first-child .footer-logo {
    width:170px; max-width:100%; margin:0 auto 10px;
    object-position:center;
  }
  .footer-grid > div:first-child .footer-tagline {
    width:100%; max-width:100%; margin:0 auto;
    text-align:center;
  }
}

/* v5.34 – desktop calendar alignment fix. All seven columns must have an equal
   row height, including leading/trailing blank dates. Mobile colors preserved. */
.avail-days {grid-auto-rows:88px;align-items:stretch;}
.avail-days > .cal-blank,
.avail-days > .avail-date {height:100%;min-height:0;box-sizing:border-box;}
@media (max-width:700px){
  .avail-days {grid-auto-rows:67px;}
}
