@font-face{font-family:'Coupae Kanit';src:url('assets/fonts/Kanit-Light.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{--ink:#2c2c2c;--muted:#77746c;--cream:#f8f5ee;--paper:#fffdf8;--yellow:#f0c85b;--sage:#899579;--line:#e8e1d3;--serif:'Coupae Kanit',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Coupae Kanit',sans-serif;font-weight:300}a{color:inherit;text-decoration:none}.site-header{height:82px;padding:0 max(calc((100% - 1240px)/2),6.4%);display:flex;align-items:center;justify-content:space-between;background:rgba(248,245,238,.95);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(44,44,44,.06);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:44px;height:44px;display:block}.brand-mark svg{width:100%;height:100%}.brand-name{font-size:18px;font-weight:600;letter-spacing:.075em;line-height:1.05}.brand-name small{display:block;font:500 9px 'Coupae Kanit',sans-serif;letter-spacing:.25em;margin-top:5px}.nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:400}.nav a:not(.nav-cta){transition:color .2s}.nav a:not(.nav-cta):hover,.text-link:hover{color:#a58228}.nav-cta{padding:12px 18px;background:var(--ink);color:white;border-radius:3px}.nav-cta span{margin-left:12px;color:var(--yellow)}.menu-toggle{display:none}.hero{max-width:1440px;min-height:620px;margin:auto;padding:68px 9.4% 0;position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5%;overflow:hidden}.hero-copy{padding-bottom:60px}.eyebrow{font-size:10px;font-weight:500;letter-spacing:.17em;color:#8f8059}.paw{font-size:16px;margin-right:8px;color:#bc9e47}.hero h1{font-size:clamp(38px,5vw,65px);font-weight:400;line-height:1.36;letter-spacing:-.035em;margin:22px 0 15px}.hero h1 em,h2 em{font-family:var(--serif);font-weight:400;color:#9e864d}.hero-copy>p{font-size:14px;line-height:2;color:#77746c}.hero-actions{display:flex;gap:12px;margin:28px 0 42px}.button{height:48px;padding:0 21px;display:inline-flex;align-items:center;gap:28px;font-size:12px;border:1px solid var(--ink);transition:.2s}.button-dark{background:var(--ink);color:white}.button-dark span{color:var(--yellow)}.button-dark:hover{background:#45423b}.button-plain{border-color:#d4cdbd}.button-plain:hover{background:#fff}.hero-note{display:flex;align-items:center;gap:13px;color:#77746c;font-size:11px;line-height:1.8}.hero-note b{color:var(--ink);font-weight:500}.note-icon{width:37px;height:37px;border:1px solid #ded5c2;display:grid;place-items:center;border-radius:50%;font-size:20px;color:#9e864d}.hero-art{height:480px;position:relative;display:flex;align-items:center;justify-content:center}.sun{position:absolute;width:360px;height:360px;border-radius:50%;background:#f1e9d6;right:6%;top:2%}.room-scene{position:relative;width:min(420px,95%);height:342px;margin-top:61px;background:#ede0c3;border:9px solid #d7c8a7;border-bottom:0;box-shadow:0 22px 38px #473b2517;overflow:hidden}.room-scene:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.6%,#e5d7bb 50%,transparent 50.5%)}.window{position:absolute;width:148px;height:120px;left:28px;top:30px;background:#dce8dc;border:8px solid #f8f1df;box-shadow:0 0 0 2px #c7b58f}.window-cross{position:absolute;inset:0;background:linear-gradient(90deg,transparent 48%,#f8f1df 49%,#f8f1df 52%,transparent 53%),linear-gradient(0deg,transparent 48%,#f8f1df 49%,#f8f1df 52%,transparent 53%)}.cloud{position:absolute;height:12px;width:40px;background:#fff9e8;border-radius:50%;top:18px;left:18px}.cloud-two{left:70px;top:48px;width:28px}.shelf{position:absolute;right:34px;top:62px;width:115px;height:9px;background:#ad8255;box-shadow:0 7px 0 #c7a779}.shelf-two{top:127px;right:21px;width:106px}.plant{position:absolute;right:54px;top:20px;width:35px;height:43px}.plant:after{content:'';position:absolute;width:25px;height:17px;background:#bb8456;bottom:0;left:5px;border-radius:2px 2px 9px 9px}.plant i{position:absolute;z-index:1;width:13px;height:23px;background:#88977a;border-radius:100% 0 100% 0;transform:rotate(-28deg);left:4px;top:0}.plant i:nth-child(2){left:18px;top:4px;transform:rotate(26deg)}.plant i:nth-child(3){left:11px;top:10px;transform:rotate(12deg)}.cat-illustration{position:absolute;z-index:3;bottom:33px;left:140px;width:120px;height:147px}.cat-body{position:absolute;width:95px;height:100px;border-radius:46% 49% 23% 24%;background:#d9a967;bottom:0;left:12px;box-shadow:inset -10px -4px #c58c56}.cat-face{position:absolute;z-index:2;width:80px;height:75px;background:#e7bd81;border-radius:49%;left:19px;top:0;box-shadow:inset -5px -4px #d8a66b}.ear{position:absolute;z-index:1;top:-8px;width:35px;height:40px;background:#d8a66b;clip-path:polygon(0 0,100% 55%,10% 100%)}.ear:after{content:'';position:absolute;inset:7px;background:#d48e83;clip-path:inherit}.ear.left{left:17px;transform:rotate(-12deg)}.ear.right{right:14px;transform:scaleX(-1) rotate(-12deg)}.eye{position:absolute;top:33px;width:5px;height:7px;background:#403a31;border-radius:50%}.e1{left:24px}.e2{right:22px}.nose{position:absolute;top:47px;left:38px;width:7px;height:5px;background:#a46d65;clip-path:polygon(0 0,100% 0,50% 100%)}.whisk{position:absolute;top:50px;width:20px;height:1px;background:#706454}.w1{left:-5px;transform:rotate(7deg)}.w2{right:-5px;transform:rotate(-7deg)}.tail{position:absolute;width:58px;height:66px;border:12px solid #c58c56;border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;right:-15px;bottom:4px;transform:rotate(7deg)}.cushion{position:absolute;bottom:0;left:0;width:100%;height:40px;background:#a6a485}.room-floor{position:absolute;bottom:0;left:0;width:100%;height:11px;background:#bb966a}.hero-sticker{position:absolute;z-index:4;top:15px;right:7%;width:91px;height:91px;background:var(--yellow);border-radius:50%;display:grid;align-content:center;text-align:center;font-size:10px;line-height:1.5;transform:rotate(9deg);box-shadow:0 5px 15px #00000010}.hero-sticker b{font-weight:500;font-size:13px}.art-caption{position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:max-content;color:#938763;font-size:10px;letter-spacing:.12em}.art-caption span{color:#d3ad43;margin:0 8px}.hero-bottom{position:absolute;bottom:22px;left:9.4%;right:9.4%;display:flex;justify-content:space-between;color:#a5a093;font-size:8px;letter-spacing:.17em}.scroll-cue{letter-spacing:.04em}.quick-facts{background:#ede8db;display:grid;grid-template-columns:repeat(4,1fr);padding:25px max(calc((100% - 1100px)/2),9%);gap:20px}.quick-facts>div{display:flex;gap:13px;align-items:center;border-right:1px solid #d8d0bf}.quick-facts>div:last-child{border:0}.fact-icon{font-family:var(--serif);font-size:24px;color:#9a8755}.quick-facts p{margin:0;font-size:11px}.quick-facts b,.quick-facts small{display:block}.quick-facts b{font-weight:500}.quick-facts small{margin-top:3px;color:#858075;font-size:9px}.section-pad{padding:95px max(calc((100% - 1120px)/2),8%)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.section-heading h2,.booking-band h2,.prepare-copy h2,.extras-title h2,.contact-section h2{font-size:39px;line-height:1.36;font-weight:400;letter-spacing:-.02em;margin:14px 0 0}.section-heading>p{font-size:12px;line-height:1.9;color:#817d72;margin:0 4px 5px 0}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.room-card{background:var(--paper);border:1px solid #eee8db;transition:transform .25s,box-shadow .25s}.room-card:hover{transform:translateY(-5px);box-shadow:0 18px 36px #493d2510}.room-visual{height:210px;position:relative;overflow:hidden}.visual-one{background:#e9ddc7}.visual-two{background:#e5e8db}.visual-three{background:#e6d8cb}.room-number{position:absolute;left:16px;top:14px;font:10px var(--serif);letter-spacing:.12em;color:#746e5e}.visual-label{position:absolute;bottom:12px;right:14px;font-size:8px;letter-spacing:.17em;color:#88806d}.mini-room{position:absolute;width:175px;height:125px;left:50%;top:45px;transform:translateX(-50%);background:#f5eddf;border:7px solid #c6ad85;border-bottom:0;box-shadow:0 12px 20px #0000000c}.visual-two .mini-room{background:#eff0e7;border-color:#a2aa8b}.visual-three .mini-room{background:#f2e9dd;border-color:#bd9b7a}.mini-window{position:absolute;left:12px;top:12px;width:54px;height:45px;background:#d3e0d6;border:5px solid #fffaf0}.mini-shelf{position:absolute;right:12px;top:28px;width:51px;height:5px;background:#aa8054}.mini-bed{position:absolute;bottom:0;left:47px;width:83px;height:33px;border-radius:50% 50% 0 0;background:#c7ae87}.visual-two .mini-bed{background:#a1aa8a}.visual-three .mini-bed{background:#c18f6f}.mini-cat{position:absolute;z-index:2;bottom:24px;left:79px;width:30px;height:36px;background:#ca9b62;border-radius:48% 48% 30% 30%;font-size:0}.mini-cat:before{content:'';position:absolute;width:23px;height:23px;border-radius:50%;background:inherit;left:4px;top:-12px}.mini-cat:after{content:'';position:absolute;left:8px;top:-13px;width:16px;height:6px;border-top:1px solid #554a3b}.mini-cat-two{left:99px;transform:scale(.75);background:#777a69}.room-info{padding:19px 20px 20px}.room-title{display:flex;align-items:center;justify-content:space-between;gap:5px}.room-title h3{font-size:15px;font-weight:500;margin:0}.room-count{border:1px solid #e6decd;border-radius:20px;padding:4px 9px;font-size:9px;color:#867c65;white-space:nowrap}.room-desc{font-size:10px;color:#888276;margin:9px 0 14px}.room-includes{display:flex;gap:5px;flex-wrap:wrap}.room-includes span{font-size:9px;background:#f4f0e6;padding:5px 8px;color:#726b5c}.room-price{display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;border-top:1px solid #eee8dc;margin-top:15px;padding-top:13px}.room-price strong{font-size:27px;font-weight:500;letter-spacing:-.04em}.room-price strong small{font-size:12px;font-weight:400}.room-price>span{font-size:10px;color:#77746c;margin-left:4px}.room-price b{justify-self:end;font-size:8px;color:#8c826d;font-weight:400}.text-link{display:block;border-top:1px solid #eee8dc;margin-top:13px;padding-top:12px;font-size:10px;font-weight:500}.text-link span{float:right;color:#ae9149}.room-note{text-align:center;font-size:11px;color:#827b6c;margin:28px 0 0}.room-note a{text-decoration:underline;text-underline-offset:3px;color:#937c45}.booking-band{position:relative;display:grid;grid-template-columns:1fr 1.2fr;gap:9%;align-items:center;padding:73px max(calc((100% - 1080px)/2),8%);background:#e9e2d3;overflow:hidden}.booking-band h2{font-size:36px}.booking-ornament{position:absolute;font:180px var(--serif);color:#ded3bb;top:-30px;left:4%;transform:rotate(-15deg)}.booking-band>div:not(.booking-ornament){position:relative}.booking-steps{display:grid;grid-template-columns:1fr 1fr;gap:21px 28px}.booking-steps>div{display:flex;gap:12px;align-items:start}.booking-steps>div>span{font:15px var(--serif);color:#a78d50;padding-top:2px}.booking-steps p{margin:0}.booking-steps b,.booking-steps small{display:block}.booking-steps b{font-size:11px;font-weight:500}.booking-steps small{font-size:9px;color:#817a6d;margin-top:5px;line-height:1.6}.prepare-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:11%;align-items:center;padding-top:100px;padding-bottom:100px}.prepare-art{height:315px;position:relative;background:#ede6d8;display:grid;place-items:center;overflow:hidden}.prepare-art:before{content:'';position:absolute;width:260px;height:260px;border:1px solid #d6cbb4;border-radius:50%}.bag{position:relative;width:153px;height:185px;background:#d8c39b;border-radius:7px 7px 22px 22px;transform:rotate(-5deg);box-shadow:12px 17px 24px #66553520;display:grid;place-items:center;font:53px var(--serif);color:#9d8053}.bag:before{content:'';position:absolute;inset:12px;border:1px dashed #b19a70;border-radius:3px 3px 14px 14px}.bag-handle{position:absolute;top:-30px;width:65px;height:35px;border:7px solid #b69461;border-bottom:0;border-radius:40px 40px 0 0}.bag-tag{position:absolute;right:-22px;bottom:20px;background:var(--yellow);padding:9px 10px;font-size:8px;line-height:1.4;letter-spacing:.08em;color:#5a4c2a;transform:rotate(10deg);font-family:'Coupae Kanit',sans-serif}.yarn{position:absolute;width:47px;height:47px;border-radius:50%;background:repeating-linear-gradient(45deg,#b87868 0,#b87868 3px,#d49b85 3px,#d49b85 6px);right:22%;bottom:47px}.sparkle{position:absolute;color:#b59c60}.s1{left:16%;top:19%;font-size:20px}.s2{right:17%;top:21%;font-size:14px}.prepare-copy h2{font-size:35px}.prepare-copy>p{font-size:11px;color:#898276;margin:12px 0 23px}.check-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.check-list li{font-size:11px;display:flex;gap:11px;align-items:start;line-height:1.7}.check-list li span{background:#e9e4d7;width:20px;height:20px;flex:0 0 20px;border-radius:50%;display:grid;place-items:center;color:#8b805e;font-size:10px}.extras-section{background:#f0ece3;padding:58px max(calc((100% - 1120px)/2),8%);display:flex;align-items:center;justify-content:space-between;gap:35px}.extras-title h2{font-size:30px;margin-top:8px}.extras-title p{font-size:10px;color:#817b70;margin-bottom:0}.extras-list{display:grid;grid-template-columns:repeat(4,100px);gap:13px}.extras-list>div{height:95px;border:1px solid #ded6c5;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:#f7f4ed}.extra-doodle{font:24px var(--serif);color:#9a895d}.extras-list b{font-size:9px;font-weight:400}.contact-section{padding:83px max(calc((100% - 1080px)/2),8%) 54px;background:#34342f;color:#f8f5ee}.contact-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:41px;border-bottom:1px solid #58574e}.contact-section .eyebrow{color:#c1a85d}.contact-section h2{font-size:40px}.contact-section h2 em{color:#e0c875}.contact-top p{font-size:11px;color:#c3c0b5;line-height:1.9;margin-top:15px}.line-card{width:286px;border:1px solid #69675b;background:#3c3c35;padding:19px;display:flex;align-items:center;gap:13px;transition:.2s}.line-card:hover{background:#48483f}.line-symbol{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#98bd78;color:#293322;font-size:12px;font-weight:600}.line-card small,.line-card b{display:block}.line-card small{font-size:9px;color:#b0ad9f}.line-card b{font-size:12px;font-weight:500;margin-top:4px}.line-arrow{margin-left:auto;color:#e0c875}.contact-details{display:grid;grid-template-columns:.8fr 1fr 1.6fr;padding:28px 0;gap:20px}.contact-details a span,.contact-details a b{display:block}.contact-details a span{font-size:9px;color:#a9a698;margin-bottom:8px}.contact-details a b{font-size:11px;font-weight:400}.map-strip{background:#414139;padding:17px;display:flex;align-items:center;gap:14px}.map-pin{width:34px;height:34px;border-radius:50%;background:#555448;display:grid;place-items:center;color:#e0c875;font-size:18px}.map-strip>div{flex:1}.map-strip b,.map-strip small{display:block}.map-strip b{font-size:10px;font-weight:500}.map-strip small{font-size:9px;color:#bbb8ab;margin-top:4px}.map-strip>a{font-size:9px;color:#e0c875}footer{padding:21px max(calc((100% - 1080px)/2),8%);display:flex;justify-content:space-between;align-items:center;background:#292a26;color:#aaa89e;font-size:9px}.footer-brand{color:var(--cream)}.footer-brand .brand-mark{width:34px;height:34px}.footer-brand .brand-name{font-size:14px}footer>a:last-child{color:#ddd5c0}
@media(max-width:900px){.site-header{padding:0 5%}.nav{gap:17px}.hero{padding-left:7%;padding-right:7%;gap:2%}.hero-art{transform:scale(.9);transform-origin:center}.quick-facts{padding-left:7%;padding-right:7%}.section-pad{padding-left:6%;padding-right:6%}.room-grid{gap:12px}.room-info{padding:16px 13px}.room-price{grid-template-columns:auto auto}.room-price b{grid-column:1/-1;justify-self:start;margin-top:3px}.room-title h3{font-size:13px}.booking-band{padding-left:7%;padding-right:7%}.prepare-section{gap:7%}.extras-section{padding-left:6%;padding-right:6%}.extras-list{grid-template-columns:repeat(4,80px);gap:8px}}
@media(max-width:680px){.site-header{height:68px}.brand-mark{width:38px;height:38px}.brand-name{font-size:15px}.menu-toggle{display:flex;width:40px;height:40px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:6px;align-items:center}.menu-toggle span{width:21px;height:1px;background:var(--ink)}.nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--cream);padding:12px 6% 20px;box-shadow:0 15px 20px #2221;align-items:stretch;gap:0;flex-direction:column}.nav.open{display:flex}.nav a{padding:12px 4px;border-bottom:1px solid var(--line)}.nav .nav-cta{margin-top:10px;padding:13px 16px;border:0}.hero{min-height:auto;display:flex;flex-direction:column;align-items:stretch;padding:56px 7% 52px;gap:2px}.hero-copy{padding:0}.eyebrow{font-size:9px}.hero h1{font-size:41px;margin:17px 0 10px}.hero-copy>p{font-size:12px}.hero-actions{margin:21px 0 21px}.hero-note{font-size:10px}.hero-art{height:330px;transform:none;margin-top:4px}.sun{width:280px;height:280px;right:8%;top:0}.room-scene{width:min(370px,92%);height:265px;margin-top:27px;transform:scale(.9)}.hero-sticker{right:3%;top:3px;width:76px;height:76px;font-size:8px}.hero-sticker b{font-size:11px}.art-caption{bottom:1px}.hero-bottom{left:7%;right:7%;bottom:15px;font-size:7px}.quick-facts{grid-template-columns:1fr 1fr;padding:21px 7%;gap:16px 8px}.quick-facts>div{border:0}.fact-icon{font-size:20px}.quick-facts p{font-size:10px}.quick-facts small{font-size:8px}.section-pad{padding:66px 6%}.section-heading{display:block;margin-bottom:25px}.section-heading h2,.booking-band h2,.prepare-copy h2,.contact-section h2{font-size:33px}.section-heading>p{margin-top:13px}.room-grid{grid-template-columns:1fr;gap:14px}.room-visual{height:190px}.room-info{padding:17px 18px}.room-title h3{font-size:15px}.room-price{grid-template-columns:auto auto 1fr}.room-price b{grid-column:auto;justify-self:end;margin:0}.room-note{line-height:1.8}.booking-band{display:block;padding:58px 7%}.booking-band h2{margin-bottom:30px}.booking-ornament{font-size:130px;left:auto;right:-17px;top:-20px}.booking-steps{gap:20px 10px}.booking-steps>div{gap:8px}.booking-steps b{font-size:10px}.booking-steps small{font-size:8px}.prepare-section{display:flex;flex-direction:column;padding:62px 7%;gap:33px;align-items:stretch}.prepare-art{height:264px}.prepare-copy>p{line-height:1.8}.check-list{gap:11px}.check-list li{font-size:10px}.extras-section{display:block;padding:47px 7%}.extras-title h2{font-size:27px}.extras-list{margin-top:23px;grid-template-columns:repeat(4,1fr);gap:6px}.extras-list>div{height:82px}.extras-list b{font-size:8px}.contact-section{padding:58px 7% 35px}.contact-top{display:block;padding-bottom:29px}.contact-section h2{font-size:35px}.line-card{margin-top:24px;width:100%}.contact-details{grid-template-columns:1fr 1fr;gap:20px 10px;padding:24px 0}.contact-details a:last-child{grid-column:1/-1}.contact-details a b{font-size:10px}.map-strip{align-items:start;flex-wrap:wrap;padding:14px}.map-strip>div{min-width:70%}.map-strip small{line-height:1.6}.map-strip>a{margin-left:48px}footer{padding:18px 6%;gap:12px;flex-wrap:wrap}footer>span{order:3;width:100%;text-align:center;border-top:1px solid #42423c;padding-top:12px}footer>a:last-child{font-size:8px}}

/* COUPAE brand refresh: clean white space, sunshine yellow, charcoal details. */
:root{--ink:#252525;--muted:#666;--cream:#fff;--paper:#fff;--yellow:#f5c14f;--sage:#899579;--line:#e8e8e8}
body{background:#fff;color:#252525}
.brand-mark{overflow:hidden;border-radius:50%;background:#fff}
.brand-mark img{width:100%;height:100%;display:block;object-fit:cover}
.hero{background:#fff}
.hero h1 em,.section-heading h2 em,.prepare-copy h2 em,.extras-title h2 em,.contact-section h2 em{color:#d8a900}
.hero .button-dark,.nav-cta{background:#f5c14f;color:#242424;border-color:#f5c14f;font-weight:500}
.hero .button-dark span,.nav-cta span{color:#252525}
.hero-photo{height:435px;border-radius:4px;overflow:visible;transform:none}
.hero-photo>img{width:100%;height:100%;display:block;object-fit:cover;object-position:52% center;border-radius:4px;box-shadow:18px 18px 0 #f5c14f}
.photo-badge{position:absolute;z-index:2;right:-18px;top:27px;width:107px;height:107px;border-radius:50%;background:#f5c14f;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.35;color:#252525;transform:rotate(8deg);box-shadow:0 6px 18px #0002}
.photo-badge span{font-size:10px}.photo-badge b{font-size:15px;font-weight:600}.photo-badge i{font-size:6px;font-style:normal;letter-spacing:.08em;margin-top:6px}
.hero-photo-caption{position:absolute;bottom:-25px;left:5px;color:#575757;font-size:9px;letter-spacing:.1em}.hero-photo-caption span{color:#daa900;margin:0 6px}
.hero-bottom{color:#777}.quick-facts{background:#f5c14f;color:#252525}.quick-facts>div{border-color:#e7b900}.fact-icon{color:#252525}.quick-facts small{color:#514722}
.rooms-section{background:#fff}.room-card{border-color:#ededed;box-shadow:0 4px 18px #28200b08}.room-card.featured{border-color:#f5c14f}.room-count{border-color:#f1d566;background:#fffaf0;color:#554719}.room-includes span{background:#fff5c8;color:#514721}.room-price strong{color:#252525}.text-link span{color:#c49a00}.room-note a{color:#9a7600}
.booking-band{background:#f5c14f;color:#252525}.booking-band h2 em{color:#735b00}.booking-ornament{color:#f4bf00}.booking-steps>div>span{color:#655000}.booking-steps small{color:#5c512d}
.prepare-art{background:#fff8dc}.prepare-art:before{border-color:#e9d77d}.bag{background:#ffe083}.bag-handle{border-color:#c6a342}.bag-tag{background:#252525;color:#f5c14f}
.extras-section{background:#fff8dc}.extras-list>div{background:#fff;border-color:#edda83}.extra-doodle{color:#d3a500}
.contact-section{background:#252525;color:#fff}.contact-section .eyebrow{color:#f5c14f}.contact-section h2 em{color:#f5c14f}.line-card{background:#303030;border-color:#575757}.line-card:hover{background:#393939}.line-arrow{color:#f5c14f}.contact-details a span{color:#c2c2c2}.map-strip{background:#303030}.map-strip>a{color:#f5c14f}
footer{background:#171717}.footer-brand .brand-mark{width:34px;height:34px}
.gallery-section{padding:82px max(calc((100% - 1120px)/2),8%);background:#fff}
.gallery-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:27px}.gallery-heading h2{font-size:34px;font-weight:400;margin:10px 0 0}.gallery-heading h2 em{font-family:var(--serif);font-weight:400;color:#d3a500}.gallery-heading>p{font-size:11px;line-height:1.8;color:#777;margin:0 0 3px}
.photo-gallery{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:15px}.photo-gallery figure{position:relative;margin:0;height:245px;overflow:hidden;background:#f5f5f5}.photo-gallery figure.gallery-large{height:320px;grid-row:span 2}.photo-gallery img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s}.photo-gallery figure:hover img{transform:scale(1.035)}.photo-gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:24px 13px 11px;background:linear-gradient(transparent,#0009);color:#fff;font-size:10px}
@media(max-width:680px){.hero-photo{height:285px;margin:14px 10px 15px 0}.photo-badge{width:78px;height:78px;right:-10px;top:14px}.photo-badge span{font-size:8px}.photo-badge b{font-size:12px}.photo-badge i{font-size:5px;margin-top:4px}.hero-photo-caption{bottom:-19px;font-size:8px}.gallery-section{padding:60px 6%}.gallery-heading{display:block}.gallery-heading h2{font-size:29px}.gallery-heading>p{margin-top:10px}.photo-gallery{grid-template-columns:1fr 1fr;gap:9px}.photo-gallery figure,.photo-gallery figure.gallery-large{height:155px;grid-row:auto}.photo-gallery figure.gallery-large{grid-column:1/-1;height:220px}.quick-facts{background:#f5c14f}.booking-band{background:#f5c14f}}
.room-visual.room-real{background:#f4ead8}
.room-photo-pair{position:absolute;inset:0;display:flex;gap:3px;overflow:hidden}
.room-photo-pair img{display:block;width:50%;height:100%;object-fit:cover;object-position:center 45%}
.single-photo img{width:100%;object-position:center 35%}
.room-visual.room-real .room-number{z-index:2;background:#252525d9;color:#fff;padding:6px 9px;left:12px;top:12px;letter-spacing:.08em}
.room-visual.room-real .visual-label{z-index:2;background:#f5c14f;color:#252525;padding:6px 9px;right:10px;bottom:10px}
@media(max-width:680px){.room-photo-pair img{object-position:center 45%}}
.extra-gallery{background:#fffdf6;border-top:1px solid #f5ebc9;border-bottom:1px solid #f5ebc9}
.extra-photo-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:185px;gap:13px}
.extra-photo-gallery figure{position:relative;overflow:hidden;margin:0;background:#f4f0e5}
.extra-photo-gallery .extra-photo-wide{grid-column:span 2}
.extra-photo-gallery img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s}
.extra-photo-gallery figure:hover img{transform:scale(1.035)}
.extra-photo-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 13px 11px;background:linear-gradient(transparent,#0009);color:#fff;font-size:10px}
.map-embed{margin-top:16px;width:100%;height:340px;overflow:hidden;border:1px solid #555;border-radius:3px;background:#333}
.map-embed iframe{width:100%;height:100%;border:0;filter:saturate(.85)}
@media(max-width:900px){.extra-photo-gallery{grid-auto-rows:155px;gap:10px}}
@media(max-width:680px){.extra-photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:140px;gap:8px}.extra-photo-gallery .extra-photo-wide{grid-column:span 2}.extra-photo-gallery figcaption{font-size:9px;padding:25px 9px 8px}.map-embed{height:280px;margin-top:12px}}

/* Full wordmark and swipeable photo rail. */
.brand{gap:10px}
.brand-logo{width:44px;height:44px;object-fit:cover;object-position:center;border-radius:50%;background:#252525}
.gallery-section{overflow:hidden}
.gallery-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:-4px 0 13px}
.gallery-controls button{width:36px;height:36px;border:1px solid #dedede;background:#fff;border-radius:50%;font-size:18px;line-height:1;cursor:pointer;transition:background .2s,border-color .2s}
.gallery-controls button:hover{background:#f5c14f;border-color:#f5c14f}
.gallery-count{font-size:10px;color:#777;letter-spacing:.08em;min-width:48px;text-align:center}
.photo-gallery{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:#e6c32d #f2f2f2}
.photo-gallery figure,.photo-gallery figure.gallery-large{position:relative;flex:0 0 calc((100% - 42px)/4);height:350px;margin:0;overflow:hidden;background:#f5f5f5;scroll-snap-align:start}
.photo-gallery img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s}
.photo-gallery figure:hover img{transform:scale(1.035)}
.photo-gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:34px 16px 14px;background:linear-gradient(transparent,#0009);color:#fff;font-size:12px}
.faq-section{padding:74px 6%;background:#fff}
.faq-inner{max-width:1120px;margin:auto;padding:38px 42px 40px;border:1px solid #e8d7a2;border-radius:24px;background:#fffaf0}
.faq-inner>.eyebrow{text-align:center;color:#987600}
.faq-inner h2{text-align:center;color:#292929;font-size:34px;font-weight:500;margin:8px 0 25px}
.faq-inner h2 em{display:block;color:#bd9200;font-style:normal;font-weight:400}
.faq-list{display:grid;gap:10px}
.faq-list details{border:1px solid #ead9ae;border-radius:14px;background:#fff;padding:16px 20px}
.faq-list summary{list-style:none;position:relative;padding-right:32px;color:#303030;font-size:15px;font-weight:500;cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';position:absolute;right:0;top:-3px;color:#b68c00;font-size:22px;font-weight:400}
.faq-list details[open] summary:after{content:'−'}
.faq-list p{font-size:13px;line-height:1.9;color:#625f57;margin:12px 0 0}
.faq-contact{display:table;margin:23px auto 0;padding:13px 25px;border-radius:30px;background:#252525;color:#f5c14f;font-size:13px;font-weight:500}
@media(max-width:900px){.photo-gallery figure,.photo-gallery figure.gallery-large{flex-basis:calc((100% - 14px)/2);height:300px}.faq-inner{padding:32px 28px}}
@media(max-width:680px){.brand{gap:7px}.brand-logo{width:38px;height:38px}.brand-name{font-size:15px}.brand-name small{font-size:8px;margin-top:4px}.gallery-controls{margin-top:4px}.gallery-controls button{width:34px;height:34px}.photo-gallery{gap:9px}.photo-gallery figure,.photo-gallery figure.gallery-large{flex-basis:88%;height:255px}.photo-gallery figcaption{font-size:11px;padding:29px 12px 11px}.faq-section{padding:54px 6%}.faq-inner{padding:27px 15px 28px;border-radius:18px}.faq-inner h2{font-size:27px;line-height:1.4;margin:8px 0 19px}.faq-list{gap:8px}.faq-list details{padding:14px 13px;border-radius:12px}.faq-list summary{font-size:13px}.faq-list p{font-size:11px;line-height:1.8}.faq-contact{font-size:11px;padding:12px 18px;text-align:center}}

/* Large full-logo lockup with a reliable old-mark fallback. */
.site-header{height:116px}
.brand{gap:12px;min-width:120px}
.brand-logo{width:108px;height:108px;object-fit:contain;object-position:center;border-radius:0;background:transparent}
.brand-name-fallback{display:flex;flex-direction:column;font-size:19px;font-weight:600;letter-spacing:.075em;line-height:1.05}
.brand-name-fallback small{display:block;font:500 9px 'Coupae Kanit',sans-serif;letter-spacing:.25em;margin-top:5px}
.brand-name-fallback[hidden]{display:none}
.brand-logo.is-fallback{width:58px;height:58px;object-fit:cover;border-radius:50%;background:#252525}

/* Exterior photos: arrows, dots, and swipe/touch support. */
.hero-photo{position:relative;isolation:isolate;touch-action:pan-y}
.hero-slides{position:absolute;inset:0;overflow:hidden;border-radius:4px;box-shadow:18px 18px 0 #f5c14f}
.hero-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .32s ease}
.hero-slide.is-active{z-index:1;opacity:1;visibility:visible}
.hero-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-slide figcaption{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:42px 16px 15px;background:linear-gradient(transparent,#0009);color:#fff;font-size:12px;letter-spacing:.02em}
.hero-carousel-controls{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:0 10px;pointer-events:none}
.hero-carousel-arrow{pointer-events:auto;display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:#fffde9ed;color:#252525;font-size:29px;line-height:1;cursor:pointer;box-shadow:0 3px 12px #0002}
.hero-carousel-arrow:hover{background:#f5c14f}
.hero-carousel-dots{position:absolute;left:50%;bottom:12px;display:flex;align-items:center;gap:7px;transform:translateX(-50%);padding:8px 11px;border-radius:24px;background:#25252590;pointer-events:auto}
.hero-carousel-dots button{width:8px;height:8px;padding:0;border:0;border-radius:10px;background:#fff9;cursor:pointer;transition:all .2s}
.hero-carousel-dots button.is-active{width:23px;background:#f5c14f}
@media(max-width:900px){.site-header{height:102px}.brand-logo{width:94px;height:94px}}
@media(max-width:680px){.site-header{height:88px}.brand-logo{width:78px;height:78px}.brand-logo.is-fallback{width:48px;height:48px}.nav{top:88px}.hero-carousel-arrow{width:36px;height:36px;font-size:25px}.hero-carousel-dots{bottom:9px}.hero-slide figcaption{padding:30px 12px 35px;font-size:10px}}


button,input,select,textarea{font-family:'Coupae Kanit',sans-serif}

/* Single-photo gallery with a seamless sliding track. */
.photo-gallery{display:block;overflow:hidden;position:relative;padding:0;touch-action:pan-y;scroll-behavior:auto}
.gallery-track{display:flex;gap:0;transition:transform 700ms cubic-bezier(.22,.61,.36,1);will-change:transform}
.photo-gallery .gallery-track figure,.photo-gallery .gallery-track figure.gallery-large{flex:0 0 100%;min-width:0;height:clamp(280px,45vw,560px);margin:0;scroll-snap-align:none}
.photo-gallery .gallery-track img{object-fit:contain;background:#f7f5ef}
@media(prefers-reduced-motion:reduce){.gallery-track{transition:none}}
/* Mobile home: heading, photo, description, then actions. */
@media(max-width:680px){
.site-header{height:92px;padding-left:7%;padding-right:7%}
.site-header .brand-logo{width:84px;height:84px}
.nav{top:92px}
.menu-toggle{width:44px;height:44px;gap:7px;cursor:pointer}
.menu-toggle span{width:23px;height:1.5px}
.hero{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;padding:56px 7% 42px;min-height:0;overflow:hidden}
.hero-copy{display:contents}
.hero-copy>.eyebrow{grid-row:1;font-size:clamp(8px,2.25vw,11px);letter-spacing:.14em;line-height:1.8;margin:0}
.hero-copy>.eyebrow .paw{font-size:17px;margin-right:7px;vertical-align:middle}
.hero h1{grid-row:2;font-size:clamp(26px,8.3vw,44px);line-height:1.5;letter-spacing:-.035em;margin:1px 0 0;white-space:nowrap}
.hero h1 em{font-style:italic}
.hero .hero-photo{grid-row:3;width:calc(100% - 10px);height:auto;aspect-ratio:1;margin:0 10px 0 0;transform:none}
.hero-slides{box-shadow:12px 12px 0 #f5c14f;border-radius:5px}
.hero .hero-slide img{object-fit:cover;object-position:center}
.hero .photo-badge{width:clamp(80px,24vw,112px);height:clamp(80px,24vw,112px);top:14px;right:-8px}
.hero .photo-badge span{font-size:10px}
.hero .photo-badge b{font-size:15px}
.hero .photo-badge i{font-size:7px;max-width:85%;text-align:center;line-height:1.4}
.hero .hero-photo-caption{display:none}
.hero-carousel-controls{padding:0 13px}
.hero-carousel-arrow{width:40px;height:40px;font-size:29px}
.hero-carousel-dots{bottom:12px;gap:7px;padding:8px 11px}
.hero-slide figcaption{font-size:11px;padding:40px 13px 45px}
.hero-copy>p{grid-row:4;font-size:14px;line-height:2;margin:4px 0 0;color:#817d73}
.hero-copy>p .desktop{display:block}
.hero-actions{grid-row:5;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}
.hero-actions .button{width:100%;height:52px;padding:0 15px;justify-content:space-between;gap:8px;font-size:14px}
.hero-note{grid-row:6;font-size:12px;margin-top:3px}
.hero-bottom{display:none}
}
/* Customer video reviews, preserving the original portrait frames. */
.reviews-section{background:#fffaf0;scroll-margin-top:120px}
.reviews-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}
.reviews-heading h2{font-size:36px;font-weight:400;margin:12px 0 0;line-height:1.4}
.reviews-heading h2 em{color:#c69b26}
.reviews-heading>p{font-size:13px;line-height:1.9;color:#827966;margin:0}
.review-videos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start}
.review-video-card{margin:0;background:#fff;border:1px solid #e9dec4;border-radius:14px;overflow:hidden;box-shadow:0 5px 18px #6b511009;transition:transform .25s,box-shadow .25s}
.review-video-frame{aspect-ratio:9/16;background:#292824;overflow:hidden}
.review-video-frame video{display:block;width:100%;height:100%;object-fit:contain}
.review-video-card figcaption{display:flex;align-items:center;gap:10px;padding:16px 14px;font-size:13px;color:#625840}
.review-video-card figcaption span{display:grid;place-items:center;background:#fff0c9;color:#98731a;font-size:11px;width:27px;height:27px;border-radius:50%;flex-shrink:0}
.reviews-note{font-size:12px;color:#8c8066;text-align:center;margin:22px 0 0}
.review-video-error{font-size:12px;color:#a04426;padding:0 14px 14px;line-height:1.7}
@media(hover:hover){.review-video-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #6b511015}}
@media(min-width:681px) and (max-width:1100px){.site-header .nav{gap:16px;font-size:11px}}
@media(max-width:900px){.review-videos{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:680px){.reviews-section{padding:52px 7%;scroll-margin-top:92px}.reviews-heading{display:block;margin-bottom:23px}.reviews-heading h2{font-size:30px}.reviews-heading>p{margin-top:12px;font-size:13px}.review-videos{grid-template-columns:minmax(0,1fr);gap:22px;max-width:420px;margin:auto}.review-video-card figcaption{font-size:14px}}
@media(prefers-reduced-motion:reduce){.review-video-card{transition:none}.review-video-card:hover{transform:none}}

.review-videos.reviews-single{grid-template-columns:minmax(0,1fr);width:min(100%,380px);margin:0 auto}.reviews-single .review-video-card figcaption{justify-content:center;text-align:center;line-height:1.7}
