@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--dark:#14251e;--deep:#0e1b16;--pine:#203b2c;--lime:#b7bb83;--gold:#d4b785;--cream:#f9f5ed;--paper:#f0ebdf;--ink:#23332a;--muted:#6e756f;--line:#e2d9c7;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--radius:7px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.75 var(--sans);-webkit-font-smoothing:antialiased}body.lock{overflow:hidden}::selection{background:#c2a878;color:#14251e}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,h4,p,figure{margin:0}ul{padding-left:20px}.skip-link{position:absolute;top:-80px;left:12px;background:#fff;color:#000;padding:10px;z-index:999}.skip-link:focus{top:14px}.progress{position:fixed;z-index:1000;height:2px;background:var(--gold);top:0;left:0;width:0;pointer-events:none}.shell{max-width:1220px;width:calc(100% - 96px);margin:auto}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.25em;text-transform:uppercase;color:#a48359;display:inline-flex;gap:12px;align-items:center}.eyebrow:before{content:'';height:1px;width:25px;background:currentColor}.eyebrow.light{color:#e4c492}.display{font:400 clamp(44px,5vw,75px)/1.16 var(--serif);letter-spacing:-.038em}.display em,.section-title em{font-weight:400;color:#a78052}.section-title{font:400 clamp(35px,4vw,56px)/1.2 var(--serif);letter-spacing:-.035em}.lead{font-size:17px;line-height:1.95;color:#6a7069}.text{font-size:15px;line-height:1.95;color:#656d67}.kicker{font-size:11px;text-transform:uppercase;letter-spacing:.19em;font-weight:700}.line{height:1px;background:var(--line)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:20px;background:var(--pine);color:#fff;border:1px solid var(--pine);padding:15px 22px;font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;border-radius:3px;transition:transform .28s,background .28s,border-color .28s}.btn:hover{transform:translateY(-3px);background:#335540}.btn.ghost{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}.btn.ghost:hover{background:#fff;color:var(--pine)}.btn.gold{background:#dec497;color:#23332a;border-color:#dec497}.btn.gold:hover{background:#f4e0b4}.btn.outline{background:transparent;color:var(--pine);border:1px solid #bdc3b7}.btn.outline:hover{background:var(--pine);color:#fff}.arrowlink{display:inline-flex;align-items:center;gap:16px;font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:8px;transition:gap .25s}.arrowlink:hover{gap:25px}.head{position:absolute;z-index:80;top:0;left:0;right:0;color:#fff}.head.static{position:relative;background:var(--deep)}.head.scrolled{position:fixed;background:rgba(15,28,22,.96);box-shadow:0 4px 30px #1115;backdrop-filter:blur(15px)}.head-top{height:31px;background:rgba(0,0,0,.18);border-bottom:1px solid rgba(255,255,255,.13);font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:#e4ddca;text-align:center;display:flex;align-items:center;justify-content:center}.head .nav{height:86px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;min-width:220px}.brand-mark{width:37px;height:41px;flex:0 0 auto}.brand-name{font:700 23px/1.05 var(--sans);letter-spacing:.17em}.brand-sub{font-size:8px;letter-spacing:.32em;line-height:2;color:#d2b990}.menu{display:flex;align-items:center;justify-content:center;flex:1;gap:24px}.menu a{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.86;white-space:nowrap;padding:10px 0}.menu a:hover,.menu a[aria-current=page]{opacity:1;color:var(--gold)}.nav-cta{border:1px solid #b79d71;color:#f5deb1;padding:12px 18px;border-radius:2px;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.nav-cta:hover{background:#d8bb87;color:var(--deep)}.hamburger{display:none;width:42px;height:42px;background:transparent;border:1px solid #ffffff77;border-radius:2px;color:#fff}.hamburger span{display:block;width:19px;height:1px;background:currentColor;margin:5px auto}.hero{position:relative;min-height:min(890px,100svh);height:790px;color:#fff;overflow:hidden;background:#13251c}.hero-picture{position:absolute;inset:0}.hero-picture img{width:100%;height:100%;object-fit:cover;object-position:center;animation:slowzoom 13s ease-out both}.hero:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(7,22,15,.87) 0%,rgba(9,26,17,.65) 35%,rgba(10,28,19,.14) 73%),linear-gradient(0deg,rgba(8,20,13,.6),transparent 33%)}.hero-inner{position:relative;z-index:2;display:flex;align-items:center;height:100%;padding-top:98px}.hero-copy{max-width:770px;padding-bottom:36px}.hero h1{font:400 clamp(54px,6.2vw,94px)/1.15 var(--serif);letter-spacing:-.045em;margin:20px 0 23px;max-width:720px}.hero h1 em{color:#f0d5a5;font-weight:400}.hero p{max-width:475px;color:#f4efe2;line-height:1.95;font-size:15px}.hero-actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:33px}.hero-side{position:absolute;right:0;bottom:47px;font-size:10px;text-transform:uppercase;letter-spacing:.2em;transform:rotate(-90deg) translateX(100%);transform-origin:right bottom;opacity:.87}.hero-bottom{position:absolute;bottom:0;left:0;right:0;z-index:4;border-top:1px solid #fff5;background:rgba(13,34,24,.56);backdrop-filter:blur(8px)}.hero-bottom .shell{display:grid;grid-template-columns:repeat(3,1fr);align-items:center;min-height:78px}.hero-note{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;display:flex;align-items:center;gap:12px;justify-content:center;color:#f6ecda;border-right:1px solid #ffffff3f}.hero-note:last-child{border:0}.ornament{color:#ddc89e;font-size:18px}.section{padding:108px 0}.section.white{background:#fffdfa}.section.dark{background:var(--dark);color:#fff}.section.paper{background:var(--paper)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}.section-head h2{max-width:660px;margin-top:15px}.section-head p{max-width:340px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.intro-visual{position:relative}.intro-visual img{height:540px;width:100%;object-fit:cover;border-radius:2px}.intro-visual:after{content:'GACOTOTO  /  HERITAGE CONCEPT';background:var(--cream);position:absolute;bottom:0;right:0;padding:17px 24px;font-size:9px;letter-spacing:.2em;font-weight:800}.intro-copy h2{margin:20px 0 24px}.intro-copy .text{margin-bottom:23px}.section-stamp{margin-top:30px;border-left:2px solid #bca06f;padding-left:20px;color:#6e7165;font:italic 22px/1.45 var(--serif)}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.room-card{min-width:0;background:#fffdfa;position:relative;border:1px solid #e9dfcc;transition:transform .35s,box-shadow .35s}.room-card:hover{transform:translateY(-7px);box-shadow:0 24px 50px #26342317}.room-card .image{position:relative;height:245px;overflow:hidden}.room-card .image img{height:100%;width:100%;object-fit:cover;transition:transform .65s}.room-card:hover img{transform:scale(1.07)}.pill{position:absolute;left:14px;top:14px;background:#fffef4dd;color:#2d4034;padding:5px 12px;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.room-card .inside{padding:20px 19px 25px}.room-card h3{font:400 26px/1.32 var(--serif);margin:6px 0 12px}.room-card p{font-size:12px;line-height:1.8;color:#6c716a;min-height:66px}.room-card a{display:inline-block;margin-top:19px;font-weight:800;font-size:10px;letter-spacing:.11em;text-transform:uppercase;border-bottom:1px solid #b39c75;padding-bottom:5px}.filter-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:25px}.filter-row button{border:1px solid #d8d3c8;background:transparent;padding:9px 18px;color:#657167;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800}.filter-row button.active,.filter-row button:hover{background:var(--pine);border-color:var(--pine);color:white}.feature-split{display:grid;grid-template-columns:1.05fr .95fr;min-height:650px;background:var(--pine);color:#fff}.feature-split .photo{min-height:550px;position:relative}.feature-split .photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.feature-split .story{padding:85px clamp(35px,6vw,105px);display:flex;justify-content:center;flex-direction:column}.feature-split .story h2{margin:17px 0 22px}.feature-split .story p{max-width:460px;color:#e2e4d7;margin-bottom:28px}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:23px;margin:15px 0 35px}.feature-list div{border-top:1px solid #ffffff47;padding-top:15px}.feature-list strong{display:block;color:#dbbe8a;font-size:12px;letter-spacing:.08em;margin-bottom:3px}.feature-list span{font-size:12px;line-height:1.7;color:#d5dccc}.mosaic{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:235px 235px;gap:14px}.mosaic a{display:block;overflow:hidden;position:relative;cursor:zoom-in}.mosaic a:first-child{grid-row:span 2}.mosaic img{height:100%;width:100%;object-fit:cover;transition:transform .65s}.mosaic a:hover img{transform:scale(1.06)}.mosaic a:after{content:'↗';position:absolute;bottom:14px;right:16px;background:#fffdf0e0;color:#1c2b20;padding:8px 12px;font-size:15px}.quote-band{background:#e7decd;padding:70px 0;text-align:center}.quote-band p{font:italic 400 clamp(28px,3.4vw,48px)/1.45 var(--serif);max-width:880px;margin:12px auto 0;color:#273c2f}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.story-card{border-top:1px solid #c5bba8;padding-top:19px}.story-card img{width:100%;height:215px;object-fit:cover;margin-bottom:23px}.story-card h3{font:400 28px/1.3 var(--serif);margin:10px 0 13px}.story-card p{font-size:13px;line-height:1.8;color:#69756d;margin-bottom:16px}.faq-grid{display:grid;grid-template-columns:.6fr 1fr;gap:80px}.faq-item{border-bottom:1px solid #d7d4c9}.faq-item summary{list-style:none;cursor:pointer;padding:20px 32px 20px 0;font-weight:700;font-size:15px;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:'+';position:absolute;right:5px;font:400 25px/1 var(--serif);color:#aa8f65}.faq-item[open] summary:after{content:'−'}.faq-item p{color:#6b736d;font-size:13px;line-height:1.9;padding-bottom:21px;max-width:720px}.footer-cta{padding:88px 0;background:linear-gradient(90deg,#1d3427ec,#1d3427a8),url('/assets/images/balinese-courtyard.webp') center 40%/cover;color:#fff}.footer-cta h2{max-width:700px;margin:18px 0 23px}.footer{background:#111f18;color:#dde6d8;padding:72px 0 22px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:60px}.footer .brand{margin-bottom:22px}.footer p{color:#aeb9ae;font-size:12px;line-height:1.9;max-width:340px}.footer h3{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#e1c99d;margin-bottom:20px}.footer .fnav{display:grid;gap:11px}.footer .fnav a{font-size:12px;color:#bfcac0}.footer a:hover{color:#e1c99d}.footer-bottom{border-top:1px solid #ffffff20;margin-top:55px;padding-top:19px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#a2b3a7;letter-spacing:.04em}.footer-bottom a{color:inherit}.backtotop{position:fixed;bottom:24px;right:24px;z-index:50;width:42px;height:42px;background:#2a4a37;color:#fff;border:1px solid #8eab96;opacity:0;pointer-events:none;transition:opacity .3s}.backtotop.show{opacity:1;pointer-events:auto}.page-hero{min-height:355px;position:relative;color:#fff;background:#182f23;display:flex;align-items:center;overflow:hidden}.page-hero.has-img{min-height:430px}.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.52}.page-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0c2018dc,#0c201876)}.page-hero .shell{position:relative;z-index:2;padding:108px 0 65px}.page-hero h1{font:400 clamp(45px,5.3vw,72px)/1.2 var(--serif);letter-spacing:-.035em;max-width:900px;margin:12px 0 12px}.page-hero p{color:#e9e9d9;max-width:680px;font-size:15px}.crumbs{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#d4cba9;margin-top:23px}.crumbs a{color:#fff}.content-section{padding:80px 0 105px}.article-layout{display:grid;grid-template-columns:minmax(0,750px) minmax(180px,1fr);gap:90px}.prose{font-size:16px;color:#59665c;line-height:2}.prose p{margin-bottom:22px}.prose h2{font:400 37px/1.35 var(--serif);color:var(--ink);margin:35px 0 18px}.prose h3{font:400 26px/1.3 var(--serif);color:var(--ink);margin:27px 0 12px}.prose ul{margin:0 0 24px}.prose a{color:#876a3c;text-decoration:underline}.prose img{margin:25px 0;max-height:460px;width:100%;object-fit:cover}.sidebar{padding:28px;background:var(--paper);align-self:start}.sidebar h3{font:400 29px var(--serif);margin:9px 0 14px}.sidebar p{font-size:13px;color:#6a706a;line-height:1.9}.sidebar a{display:block;font-size:12px;font-weight:700;border-bottom:1px solid #cec4b6;padding:12px 0}.notice{background:#f6f1e7;border-left:3px solid #af8b57;color:#646b5d;padding:19px 23px;font-size:13px;line-height:1.8;margin:21px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.two-col img{width:100%;height:490px;object-fit:cover}.two-col h2{margin:15px 0 21px}.icon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.icon-card{padding:27px;border:1px solid #d9d3c7;background:#fffdfa}.icon-card b{font:400 28px var(--serif)}.icon-card p{margin-top:8px;color:#6b746b;font-size:13px}.room-detail{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}.room-detail img{width:100%;height:510px;object-fit:cover}.room-detail h2{margin:14px 0 20px}.room-detail p{margin-bottom:20px}.feature-tags{display:flex;gap:8px;flex-wrap:wrap}.feature-tags span{border:1px solid #d8d1c4;padding:7px 12px;color:#657064;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.gallery-item{border:0;position:relative;background:#1b2e23;padding:0;aspect-ratio:1.13;overflow:hidden;text-align:left}.gallery-item img{height:100%;width:100%;object-fit:cover;transition:transform .55s}.gallery-item:hover img{transform:scale(1.07)}.gallery-item span{position:absolute;left:0;right:0;bottom:0;padding:38px 20px 16px;background:linear-gradient(transparent,#001b11b8);color:#fff;font-size:12px;font-weight:800}.hidden-by-filter{display:none!important}.compare-bar{margin-top:24px;border:1px solid #cfc5b2;background:white;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.compare-bar p{font-size:12px;color:#566c5d}.compare-bar strong{color:#284633}.mini-button{border:1px solid #b8bcb2;background:#fff;padding:7px 10px;font-size:11px;letter-spacing:.03em}.mini-button[aria-pressed=true]{background:#d6dbc9;border-color:#5d7562}.comparison{margin-top:20px;display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.comparison article{padding:23px;background:#f0ebdf;border-top:3px solid #9f8056}.comparison h3{font:400 25px var(--serif)}.comparison p{font-size:13px;color:#607064;margin-top:12px}.planner{background:#1b3427;color:#f5f3e8;padding:40px;border:1px solid #49604a}.planner h3{font:400 34px var(--serif)}.planner p{font-size:13px;color:#d7dfd1;margin:9px 0 25px}.planner-form{display:grid;grid-template-columns:1fr 1fr auto;gap:13px;align-items:end}.planner label{display:block;font-size:11px;letter-spacing:.09em;text-transform:uppercase;font-weight:800;color:#eddfbf;margin-bottom:8px}.planner select{width:100%;border:1px solid #728072;background:#e6e8e0;color:#17231d;padding:13px 12px}.planner-result{margin-top:20px;background:#ffffff12;padding:20px;color:#fff;line-height:1.8;display:none}.planner-result.show{display:block}.callout{padding:35px;background:#e7e4da}.callout h3{font:400 30px var(--serif);margin-bottom:9px}.callout p{font-size:13px;color:#657166;margin-bottom:22px}.map-placeholder{min-height:270px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:repeating-linear-gradient(45deg,#e9e5d8,#e9e5d8 10px,#e5e2d4 10px,#e5e2d4 20px);padding:35px}.map-placeholder b{font:400 28px var(--serif)}.map-placeholder p{font-size:13px;max-width:600px;color:#627066}.badge-soft{display:inline-block;background:#ede2c7;color:#6e5a35;font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;padding:6px 11px}.lightbox{position:fixed;inset:0;background:#061710ee;z-index:200;display:none;align-items:center;justify-content:center;padding:75px 70px}.lightbox.open{display:flex}.lightbox img{max-width:100%;max-height:calc(100vh - 165px);object-fit:contain;box-shadow:0 30px 70px #0008}.lightbox button{position:absolute;border:1px solid #ffffff6e;background:#18281f;color:#fff;width:43px;height:43px;font-size:23px}.lightbox .close{top:20px;right:25px}.lightbox .prev{left:20px;top:50%}.lightbox .next{right:20px;top:50%}.lightbox figcaption{position:absolute;bottom:25px;color:#fff;font-size:12px;letter-spacing:.1em}.form-intent{display:grid;gap:12px}.form-intent input,.form-intent textarea{border:1px solid #ccc9bb;background:#fff;padding:14px;color:#1c2d22;outline-color:#a88959;width:100%}.form-intent .btn{justify-self:start}.form-intent .help{font-size:12px;color:#687168}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.js .reveal{opacity:0;transform:translateY(26px);transition:opacity .85s ease,transform .85s ease}.js .reveal.visible{opacity:1;transform:none}.js .reveal.delay{transition-delay:.13s}@keyframes slowzoom{from{transform:scale(1.06)}to{transform:scale(1)}}@media(max-width:1100px){.menu{gap:14px}.menu a{font-size:9px}.brand{min-width:190px}.brand-name{font-size:20px}.nav-cta{font-size:9px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.mosaic{grid-template-rows:185px 185px}}@media(max-width:800px){.shell{width:calc(100% - 40px)}.head .nav{height:69px}.head-top{font-size:8px;letter-spacing:.09em}.brand{min-width:0;flex:1}.brand-name{font-size:19px}.hamburger{display:block;order:3}.nav-cta{display:none}.menu{position:fixed;top:100px;left:0;right:0;min-height:calc(100svh - 100px);background:#13291d;display:none;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:23px 27px;overflow-y:auto;box-shadow:0 20px 30px #0004}.menu.open{display:flex}.menu a{font-size:14px;border-bottom:1px solid #ffffff25;padding:16px 5px}.hero{height:770px;min-height:710px}.hero-inner{padding-top:85px}.hero h1{font-size:clamp(48px,9.8vw,74px)}.hero-side{display:none}.hero-bottom .shell{grid-template-columns:1fr}.hero-note{display:none}.hero-note:first-child{display:flex;border:0;padding:14px 0}.section{padding:74px 0}.section-head{display:block}.section-head p{margin:22px 0 0}.intro-grid,.two-col,.room-detail{grid-template-columns:1fr;gap:36px}.intro-visual img,.two-col img,.room-detail img{height:auto;max-height:550px}.feature-split{grid-template-columns:1fr}.feature-split .photo{min-height:370px}.feature-split .story{padding:56px 30px}.faq-grid{grid-template-columns:1fr;gap:28px}.footer-grid{grid-template-columns:1fr 1fr;gap:42px}.article-layout{grid-template-columns:1fr;gap:32px}.sidebar{order:-1}.icon-grid,.gallery-grid,.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-form{grid-template-columns:1fr 1fr}.planner-form .btn{grid-column:1/-1}.mosaic{grid-template-columns:1fr 1fr;grid-template-rows:220px 180px 180px}.mosaic a:first-child{grid-column:span 2;grid-row:auto}.page-hero .shell{padding:95px 0 50px}.page-hero{min-height:325px}}@media(max-width:520px){.hero{height:695px;min-height:660px}.hero-picture img{object-position:66% 50%}.hero h1{font-size:51px}.hero p{font-size:13px}.hero-actions{gap:9px}.hero .btn{padding:13px 14px;font-size:10px}.eyebrow{font-size:9px}.display,.section-title{font-size:39px}.cards,.icon-grid,.gallery-grid,.story-grid,.feature-list{grid-template-columns:1fr}.room-card .image{height:275px}.section-head{margin-bottom:27px}.mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:180px 180px 180px;gap:8px}.mosaic a:first-child{grid-column:span 2}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:7px}.planner{padding:24px}.planner-form{grid-template-columns:1fr}.planner-form .btn{grid-column:auto}.comparison{grid-template-columns:1fr}.lightbox{padding:70px 15px}.lightbox .prev{left:5px}.lightbox .next{right:5px}.page-hero h1{font-size:44px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal,.js .reveal.visible{opacity:1;transform:none;transition:none}.hero-picture img{animation:none}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
