:root{--cream:#f7f4ec;--sand:#e8dfd0;--dark:#293c38;--olive:#6f7966;--ink:#26352f;--line:#d6d3c8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button,input,select,textarea{font:inherit}.concept-banner{height:28px;display:grid;place-items:center;background:#314a40;color:#f2ebdb;font-size:9px;letter-spacing:.19em;text-align:center;padding:0 10px}.nav{position:absolute;top:28px;left:0;width:100%;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:27px 5.5%;color:#fff;border-bottom:1px solid #ffffff55}.logo{font-family:'Playfair Display',Georgia,serif;font-size:27px;letter-spacing:.08em;line-height:1}.logo span{font-style:italic;font-weight:400}.logo small{display:block;font:500 8px 'DM Sans',sans-serif;letter-spacing:.3em;margin-top:10px}.nav nav{display:flex;align-items:center;gap:35px;font-size:12px;letter-spacing:.045em}.nav nav a:not(.nav-book):hover{opacity:.7}.nav-book{border:1px solid #fff9;padding:13px 18px}.nav-book span{margin-left:22px}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:26px}.hero{height:min(860px,100svh);min-height:650px;position:relative;isolation:isolate;color:#fff;display:flex;align-items:center;padding:100px 8% 65px;overflow:hidden}.hero-bg{position:absolute;inset:0;z-index:-2;background:url('https://images.unsplash.com/photo-1613490493576-7fde63acd811?auto=format&fit=crop&w=2000&q=90') center 56% /cover no-repeat;animation:heroZoom 13s ease-out both}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,35,29,.68) 0%,rgba(16,37,31,.4) 50%,rgba(16,37,31,.13) 100%)}.hero-content{max-width:740px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.22em;color:#7b806b}.eyebrow.light{color:#e7e3d6}.hero h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.035em}.hero h1{font-size:clamp(72px,8vw,142px);line-height:1.04;margin:30px 0}.hero h1 em,h2 em{font-weight:400}.hero-content>p{max-width:440px;font-size:16px;line-height:1.85;color:#f3f0e7}.hero-link{display:inline-flex;gap:70px;border-bottom:1px solid #fff;padding:18px 0;margin-top:24px;font-size:13px;letter-spacing:.07em}.hero-foot{position:absolute;bottom:32px;left:8%;right:8%;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.16em;color:#f1ece2}.section{padding:105px 7%}.section-label{border-top:1px solid #aeb5a9;display:flex;justify-content:space-between;padding-top:19px;font-size:10px;letter-spacing:.18em;color:#6d786d}.intro-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:9%;align-items:start;padding:85px 0 70px}.intro h2,.section-heading h2,.location h2,.booking h2{font-size:clamp(56px,5.8vw,100px);line-height:1.1;margin:25px 0}.intro-copy>p,.location-grid>div>p:not(.eyebrow),.booking-grid>div>p:not(.eyebrow){font-size:17px;line-height:1.9;color:#6b716a}.facts{display:flex;gap:35px;border-top:1px solid var(--line);padding-top:25px;margin-top:30px}.facts div{display:flex;flex-direction:column;gap:9px}.facts strong{font:400 37px 'Playfair Display',serif}.facts span{font-size:11px;color:#757b70}.image-pair{display:grid;grid-template-columns:1.3fr .7fr;gap:18px;height:530px}.image-pair img:nth-child(2){margin-top:65px;height:calc(100% - 65px)}.amenities{background:#e7e9df}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;padding:62px 0 55px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:300px;font-size:15px;line-height:1.8;color:#647068}.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #b8c1b5;border-left:1px solid #b8c1b5}.amenity-grid article{padding:35px 28px 45px;border-right:1px solid #b8c1b5;border-bottom:1px solid #b8c1b5;min-height:275px;transition:background .3s}.amenity-grid article:hover{background:#dce1d4}.amenity-grid article>span{font-size:11px;color:#777e72}.amenity-icon{font-size:35px;margin:26px 0 18px;color:#607569}.amenity-grid h3{font:400 27px 'Playfair Display',serif;margin:0 0 13px}.amenity-grid p{font-size:13px;line-height:1.8;color:#657069;max-width:270px}.feature{height:620px;position:relative;overflow:hidden}.feature:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#182b2b9c,transparent 85%)}.feature-caption{position:absolute;z-index:1;bottom:80px;left:8%;color:#fff}.feature-caption span{font-size:11px;letter-spacing:.2em}.feature-caption h2{font-size:clamp(65px,7vw,110px);line-height:1.1;margin:20px 0}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding-top:75px}.location-grid>div>p{max-width:560px}.location-grid .location-note{font-size:12px!important;color:#8a8b7f!important;margin-top:28px}.text-link{display:inline-block;border-bottom:1px solid var(--ink);padding:14px 0;margin-top:22px;font-size:13px}.location-photo{height:570px;position:relative}.location-photo span{position:absolute;bottom:24px;left:24px;color:white;letter-spacing:.16em;font-size:10px;text-shadow:0 1px 10px #000}.experiences{background:#eae4d8}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.experience-photo{height:340px;overflow:hidden}.experience-photo img{transition:transform .6s}.experience-grid article:hover img{transform:scale(1.06)}.experience-grid article>span{display:block;margin:25px 0 14px;font-size:10px;letter-spacing:.14em;color:#777b6b}.experience-grid h3{font:400 27px 'Playfair Display',serif;margin:0 0 12px}.experience-grid p{font-size:14px;line-height:1.8;color:#6a6c63}.experience-note{font-size:11px;color:#7b7d70;margin-top:40px}.booking{background:#29443b;color:#fff}.booking .section-label{border-color:#819389;color:#d3dfd3}.booking-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:9%;padding-top:75px}.booking .eyebrow{color:#d2c9a9}.booking h2{font-size:clamp(58px,5.7vw,95px)}.booking-grid>div>p:not(.eyebrow){color:#d4dfd7;max-width:420px}.booking-info{display:grid;gap:16px;margin-top:55px;color:#d4dfd7;font-size:13px}.booking form{background:#f5f2e9;color:var(--ink);padding:38px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:12px;font-weight:600;margin-bottom:20px}input,select,textarea{width:100%;display:block;margin-top:10px;border:1px solid #d0d2c8;background:#fffefb;color:var(--ink);border-radius:0;padding:14px;font-size:14px;min-width:0}textarea{resize:vertical}.booking button[type=submit]{width:100%;background:#aab59e;border:0;padding:18px 20px;color:#1e312a;display:flex;justify-content:space-between;cursor:pointer;font-weight:700}.booking button[type=submit]:hover{background:#c2ccb8}.form-note{font-size:11px;color:#737b73;line-height:1.6;margin-top:18px}#formStatus{font-size:13px;color:#315c46;line-height:1.6}footer{background:#1c2c27;color:#e6e9df;padding:65px 7%;display:flex;justify-content:space-between;gap:35px}.footer-logo{font:400 36px 'Playfair Display',serif;letter-spacing:.04em}.footer-logo em{font-weight:400}footer p{font-size:13px;color:#aebbb1}.footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:14px;font-size:10px;letter-spacing:.13em;color:#aebbb1}.footer-right a{color:#fff;margin-top:10px}@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}@media(max-width:900px){.nav nav{gap:16px}.section{padding:80px 5%}.intro-layout,.location-grid,.booking-grid{gap:5%}.amenity-grid{grid-template-columns:repeat(2,1fr)}.experience-photo{height:260px}.image-pair{height:420px}}@media(max-width:650px){.concept-banner{font-size:7px;letter-spacing:.09em}.nav{padding:20px 6%}.logo{font-size:22px}.logo small{font-size:7px}.menu-toggle{display:block}.nav nav{display:none;position:absolute;top:100%;left:0;right:0;background:#263e35;flex-direction:column;align-items:stretch;padding:20px 7%;gap:0}.nav nav.open{display:flex}.nav nav a{padding:14px 0}.nav-book{padding:13px!important;margin-top:12px;text-align:center}.hero{height:790px;min-height:680px;max-height:100svh;padding:100px 7% 80px}.hero-bg{background-position:59% center}.hero:after{background:linear-gradient(90deg,#102920b8,#17342970 75%)}.hero h1{font-size:clamp(61px,12vw,84px)}.hero-content>p{font-size:14px}.hero-foot{left:7%;right:7%;font-size:8px}.hero-foot span:last-child{display:none}.section{padding:65px 6%}.section-label{font-size:9px}.intro-layout,.location-grid,.booking-grid{grid-template-columns:1fr;gap:20px;padding-top:45px}.intro h2,.section-heading h2,.location h2,.booking h2{font-size:clamp(52px,10vw,72px)}.intro-copy>p{font-size:15px}.facts{gap:22px}.image-pair{height:300px;gap:9px}.image-pair img:nth-child(2){margin-top:35px;height:calc(100% - 35px)}.section-heading{display:block;padding:40px 0 35px}.section-heading>p{margin-top:25px}.amenity-grid{grid-template-columns:1fr}.amenity-grid article{min-height:0;padding:25px}.amenity-icon{margin:14px 0}.feature{height:430px}.feature-caption{left:6%;bottom:45px}.feature-caption h2{font-size:57px}.location-photo{height:370px;margin-top:20px}.experience-grid{grid-template-columns:1fr;gap:38px}.experience-photo{height:300px}.booking-grid{gap:35px}.booking-info{margin-top:28px}.booking form{padding:23px}.form-row{grid-template-columns:1fr;gap:0}footer{padding:50px 6%;display:block}.footer-right{align-items:flex-start;margin-top:45px}}.amenity-grid .amenity-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:29px;line-height:1;font-family:Arial,sans-serif}.amenity-grid .amenity-icon svg{display:block;width:29px;height:29px;flex:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Casa Amihan signature typography: contemporary architectural sans, distinct from Aurelle's romantic serif */
.logo,.footer-logo{font-family:'Manrope',sans-serif;font-weight:600;letter-spacing:.16em}
.logo span,.footer-logo em{font-family:inherit;font-style:normal;font-weight:400}
.hero h1,h2,.amenity-grid h3,.experience-grid h3,.facts strong{font-family:'Manrope',sans-serif;font-weight:400;letter-spacing:-.065em}
.hero h1{font-size:clamp(66px,8.3vw,135px);line-height:1.07;letter-spacing:-.075em}
.hero h1 em,h2 em{font-family:'Manrope',sans-serif;font-style:normal;font-weight:400;color:#d5dfd0}
.intro h2 em,.section-heading h2 em,.location h2 em{color:#798a7b}
.booking h2 em,.feature-caption h2 em{color:#d2dccd}
.intro h2,.section-heading h2,.location h2,.booking h2{font-size:clamp(51px,5.6vw,88px);line-height:1.15}
.amenity-grid h3,.experience-grid h3{font-size:23px;letter-spacing:-.045em;font-weight:500}
.facts strong{font-size:37px;letter-spacing:-.055em}
@media(max-width:650px){.hero h1{font-size:clamp(55px,11.2vw,78px)}.intro h2,.section-heading h2,.location h2,.booking h2{font-size:clamp(45px,9vw,67px)}.feature-caption h2{font-size:clamp(47px,10vw,62px)}}
/* Compact amenities viewport: all six cards visible together on desktop */
@media(min-width:901px){.amenities.section{padding-top:52px;padding-bottom:55px}.amenities .section-heading{padding:26px 0 25px;align-items:center}.amenities .section-heading h2{font-size:clamp(39px,4vw,63px);margin-top:10px}.amenities .section-heading .eyebrow{margin:0}.amenity-grid article{min-height:0;padding:17px 22px 19px}.amenity-icon{font-size:25px;margin:10px 0 8px}.amenity-grid h3{font-size:20px;margin-bottom:6px}.amenity-grid p{font-size:12px;line-height:1.5;margin:0}.amenity-grid article>span{font-size:10px}}
@media(min-width:901px) and (max-height:750px){.amenities.section{padding-top:32px;padding-bottom:35px}.amenities .section-heading{padding:16px 0}.amenities .section-heading h2{font-size:clamp(36px,3.6vw,52px)}.amenity-grid article{padding:12px 18px}.amenity-icon{margin:6px 0}.amenity-grid h3{font-size:18px}}
/* Four accommodation facts remain legible across desktop and mobile */
.facts{gap:20px;flex-wrap:wrap}.facts div{min-width:90px;flex:1 1 90px}.facts span{line-height:1.4}
@media(max-width:650px){.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.facts div{min-width:0}}
/* Persistent navigation across all sections */
.nav{position:fixed;top:28px;left:0;right:0;width:100%;background:rgba(28,48,40,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.18);box-shadow:0 5px 24px rgba(12,28,22,.12);transition:background .25s ease,box-shadow .25s ease}
.nav.scrolled{top:0;background:rgba(29,48,40,.97);box-shadow:0 8px 25px rgba(10,26,18,.16)}
html{scroll-padding-top:116px}
@media(max-width:650px){.nav{top:28px}.nav.scrolled{top:0}.nav nav{max-height:calc(100svh - 110px);overflow-y:auto}html{scroll-padding-top:100px}}
/* Compact, comfortably spaced booking inquiry within a desktop viewport */
@media(min-width:901px){#inquire.section{padding-top:24px;padding-bottom:25px}#inquire .section-label{padding-top:10px}#inquire .booking-grid{padding-top:22px;gap:5%;align-items:start;grid-template-columns:.85fr 1.15fr}#inquire .booking-grid .eyebrow{margin:5px 0 0}#inquire h2{font-size:clamp(42px,4vw,63px);line-height:1.06;margin:12px 0 14px}#inquire .booking-grid>div>p:not(.eyebrow){font-size:14px;line-height:1.5}#inquire .booking-info{margin-top:20px;gap:9px;font-size:12px}#inquire form{padding:20px 24px}#inquire .form-row{gap:17px}#inquire label{font-size:11px;margin-bottom:10px}#inquire input,#inquire select,#inquire textarea{margin-top:5px;padding:9px 11px;font-size:13px}#inquire textarea{height:60px;min-height:50px}#inquire button[type=submit]{padding:11px 15px;font-size:13px}#inquire .form-note{margin:9px 0 0;font-size:10px;line-height:1.4}#inquire #formStatus{margin:4px 0 0}}@media(min-width:901px) and (max-height:750px){#inquire.section{padding-top:12px;padding-bottom:12px}#inquire .booking-grid{padding-top:12px}#inquire h2{font-size:clamp(38px,3.6vw,53px);margin:8px 0}#inquire form{padding:13px 20px}#inquire label{margin-bottom:7px}#inquire input,#inquire select,#inquire textarea{padding:7px 10px;margin-top:4px}#inquire textarea{height:48px;min-height:43px}#inquire button[type=submit]{padding:9px 13px}#inquire .form-note{font-size:9px;margin-top:6px}}