/* Casa Therma: pool blue, generous white space, contemporary type. */
:root{--pine:#087f86;--ink:#142e36;--muted:#62777c;--stone:#f0f7f7;--line:#dce8e8;--blue:#087f86;--aqua:#8ee8de}body{background:#fff}h1,h2,h3{font-family:Manrope,Arial,sans-serif;letter-spacing:-.055em;font-weight:500;line-height:1.14}h2{font-size:clamp(34px,3.6vw,52px)}h3{font-size:26px}.topbar{background:#dff5f1;color:#1c6468;height:34px}.header{height:100px}.brand{color:#163b42}.brand-top{color:var(--pine)}.brand-name{font-size:34px}.header nav{font-size:12px;gap:26px}.header nav>a[aria-current]{border-bottom:2px solid #09878c}.nav-book{border-radius:40px;padding:15px 20px;font-size:11px}.button{border-radius:50px;gap:30px;padding:17px 24px;min-height:56px;background:#087f86;border-color:#087f86}.button:hover{background:#09656c}.button.light{background:#acede1;border-color:#acede1;color:#124743}.button.light:hover{background:#d3f8ef}.text-link{border-color:#b3d6d6}.home-hero{margin:0 18px;border-radius:25px;min-height:650px;height:calc(100svh - 151px);max-height:850px;background:#143940}.hero-slides{position:absolute;inset:0;z-index:-2}.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s,visibility .8s}.hero-slide.active{opacity:1;visibility:visible}.hero-slide .hero-photo{position:static;inset:auto;object-position:50% 45%;height:100%;width:100%}#hero-video{object-position:50% 47%}.hero-shade{background:linear-gradient(90deg,rgba(8,34,42,.72),rgba(8,34,42,.06) 83%),linear-gradient(0deg,rgba(8,34,42,.65),transparent 45%)}.home-hero-content{padding:105px 7.5% 135px}.home-hero h1{font-size:clamp(55px,6.3vw,91px);font-weight:500;line-height:1.04;letter-spacing:-.065em;max-width:950px}.home-hero p{font-size:16px;margin-block:26px 30px;line-height:1.85}.location{font-size:12px;border:1px solid #ffffff70;border-radius:40px;background:#ffffff12;padding:7px 13px;width:max-content;backdrop-filter:blur(8px);margin-bottom:25px}.film-link{right:6.5%;bottom:110px}.film-link>svg{width:56px;height:56px;padding:15px;background:#ffffff14;backdrop-filter:blur(6px)}.film-link span{font-size:12px}.film-link small{font-size:10px}.hero-bottom{left:7.5%;right:6.5%;bottom:28px;align-items:center;gap:30px}.hero-bottom>a{font-size:11px}.slider-controls{display:flex;align-items:center;gap:15px}.slider-arrow{background:#ffffff14;border:1px solid #ffffff50;border-radius:50%;height:35px;width:35px;color:white;font:24px/1 Arial,sans-serif;display:grid;place-items:center;padding:0}.slider-arrow:hover,.slider-pause:hover{background:#ffffff30}.slider-dots{display:flex;gap:8px;align-items:center}.slider-dots button{border:0;padding:0;width:7px;height:7px;min-width:7px;border-radius:20px;background:#ffffff65;position:relative}.slider-dots button:after{content:'';position:absolute;inset:-12px -7px}.slider-dots button.active{width:25px;background:#a3efe1}.slider-pause{background:transparent;border:0;color:white;font-size:10px;padding:9px 5px;min-width:50px}.slider-caption{font-size:11px}.booking-wrap{margin-top:26px}.booking-wrap .booking-form{border:1px solid var(--line);border-radius:18px;padding:25px 30px;box-shadow:0 12px 40px #123d3f09}.booking-heading strong{font-weight:600}.booking-fields label{font-size:11px;color:var(--muted)}.booking-fields input,.booking-fields select{font-size:13px;font-weight:500;color:var(--ink)}.booking-fields button{font-size:12px}.intro{padding-block:95px 75px}.intro-grid h2{font-size:clamp(35px,3.3vw,49px);line-height:1.2}.intro-grid{grid-template-columns:1.25fr 1fr;gap:80px}.intro-grid p{font-size:14px}.amenity-strip{border:0;background:var(--stone);padding:24px 30px;border-radius:14px;margin-top:40px}.amenity-strip span{color:#28616a}.section-kicker{color:#16868a;font-size:12px;font-weight:600}.section-heading h2{font-size:50px}.villa-photo{border-radius:20px;height:440px}.villa-photo>span:first-of-type{border-radius:30px;background:#fff;color:#184e56;font-weight:600;box-shadow:0 4px 20px #0001}.villa-photo img{object-position:50% 43%}.villa-info h3{font-size:26px;font-weight:600}.villa-info p{font-size:12px;margin-top:5px}.villa-info a{border:1px solid #bad8d8;border-radius:30px;padding:11px 17px;gap:15px;font-size:11px}.villa-info a:hover{background:#dff2ef}.split-photo{border-radius:24px;overflow:hidden}.split{gap:80px}.split-copy h2{font-size:47px;line-height:1.18}.reasons{gap:35px}.reasons article{border-top:2px solid #a6dfd9;padding-top:26px}.reasons article>svg{color:#098b90;background:#e4f5f1;padding:13px;width:56px;height:56px;border-radius:16px;margin-bottom:23px}.reasons h3{font-size:25px;letter-spacing:-.04em;line-height:1.3}.price-band{background:#087f86;padding-block:55px}.price-band p{color:#c2f6ee}.price-band h2{font-size:37px;line-height:1.2}.faq-list summary{font-weight:500}.faq-list summary span{color:var(--pine)}.closing{background:#e1f4ef;padding-block:80px}.closing p{color:#3c7275}.closing h2{font-size:52px;line-height:1.15}.closing .button{background:#087f86}.closing .button:hover{background:#09656c}footer{padding-top:65px}.floating .whatsapp{background:#087f86;border-color:#087f86}.page-hero{height:460px;margin-inline:18px;border-radius:24px;overflow:hidden}.page-hero.compact{height:380px}.page-hero h1{font-size:clamp(44px,5vw,68px);font-weight:500}.page-hero.compact h1{font-size:54px}.page-hero-content{padding:48px 7.5%}.page-hero:after{background:linear-gradient(90deg,#082b36d9,#082b361a)}.price-card{border-radius:20px;border:1px solid #d9eaea;background:#f0f8f6;padding:36px}.price-card h2{font-size:33px;font-weight:600}.price-row strong{font:500 26px Manrope,Arial,sans-serif;letter-spacing:-1px}.price-row{border-color:#c9dfda}.price-card .button{font-size:12px;gap:15px}.gallery-grid{gap:24px}.gallery-item{border-radius:18px}.gallery-item span{padding-bottom:20px}.contact-layout .booking-form{border-radius:20px;background:#edf7f5}.contact-layout .booking-heading strong{font:500 30px/1.2 Manrope,Arial,sans-serif;letter-spacing:-1px}.contact-phone{font-family:Manrope,Arial,sans-serif;font-size:30px;letter-spacing:-1px}.help-box{border-radius:20px}.help-box h2{font-size:30px}.detail-layout>div>h2{font-size:43px}.film-dialog{border-radius:18px;overflow:hidden}.dialog-close{box-shadow:0 2px 12px #0002}.booking-fields .button{white-space:nowrap}
@media(max-width:1100px){.header nav{gap:18px}.header .brand-name{font-size:30px}.header nav{font-size:11px}.home-hero h1{font-size:74px}.home-hero-content{padding-left:6.5%}.hero-bottom{left:6.5%}.intro-grid,.split{gap:45px}.villa-photo{height:380px}.villa-info a{padding:10px;font-size:10px;gap:9px}.section-heading h2{font-size:44px}}
@media(max-width:850px){.header{height:88px}.header nav{top:88px;font-size:14px;gap:0}.menu-toggle{border-radius:50%}.home-hero{min-height:0;height:690px;margin-inline:14px;border-radius:22px}.home-hero-content{padding:90px 35px 145px}.home-hero h1{font-size:68px}.home-hero p{font-size:14px}.film-link{bottom:110px;right:35px}.hero-bottom{left:35px;right:35px;gap:10px}.slider-caption{display:none}.booking-wrap{margin-top:22px}.intro-grid h2{font-size:36px}.intro-grid{gap:35px}.amenity-strip{gap:23px;padding:25px}.amenity-strip span{width:44%}.villa-photo{height:340px}.villa-info{display:block}.villa-info a{display:inline-flex;margin-top:14px;padding:10px 15px}.villa-info h3{font-size:26px}.split-copy h2{font-size:38px}.reasons h3{font-size:22px}.price-band h2{font-size:32px}.page-hero h1{font-size:55px}.page-hero.compact h1{font-size:48px}.price-card{padding:27px}.price-row strong{font-size:23px}.detail-layout>div>h2{font-size:36px}.closing h2{font-size:44px}.contact-layout .booking-form{padding:30px}}
@media(max-width:560px){.header{padding-inline:22px}.topbar{height:32px}.brand-name{font-size:31px}.home-hero{margin-inline:10px;height:665px;border-radius:20px}.home-hero-content{padding:65px 23px 170px}.home-hero h1{font-size:51px;line-height:1.07;letter-spacing:-3px}.home-hero p{font-size:13px;line-height:1.8;margin-block:25px 29px}.location{font-size:10px;padding:5px 11px;margin-bottom:28px}.location svg{width:14px}.home-hero .button{font-size:12px;min-height:51px;padding:15px 22px;gap:23px}.hero-slide .hero-photo{object-position:50% 42%}#hero-video{object-position:50% 40%}.hero-shade{background:linear-gradient(90deg,#082b36ab,#082b361a),linear-gradient(0deg,#082b36d9,transparent 75%)}.film-link{left:23px;bottom:106px;right:auto}.film-link>svg{width:42px;height:42px;padding:11px}.film-link span{font-size:10px}.film-link small{font-size:9px}.hero-bottom{left:23px;right:23px;bottom:27px}.hero-bottom>a{display:block;font-size:10px}.slider-controls{gap:12px}.slider-arrow{width:32px;height:32px;font-size:22px}.slider-dots{gap:10px}.slider-pause{font-size:9px;min-width:45px}.booking-wrap{width:calc(100% - 32px);margin-top:17px}.booking-wrap .booking-form{border-radius:17px;padding:22px}.booking-heading strong{font-size:13px}.booking-fields button{min-height:51px}.intro{padding-block:60px 45px}.intro-grid{gap:25px}.intro-grid h2{font-size:34px;line-height:1.2;letter-spacing:-1.5px}.intro-grid p{font-size:13px}.amenity-strip{margin-top:30px;gap:20px 12px;padding:22px 16px}.amenity-strip span{font-size:10px;gap:9px;width:47%}.section-heading h2{font-size:35px}.section-heading .text-link{font-size:10px;gap:9px}.section-kicker{font-size:11px}.villa-photo{height:390px;border-radius:18px}.villa-info{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 10px}.villa-info h3{font-size:25px}.villa-info a{margin-top:0;font-size:10px;gap:9px;padding:10px 13px}.villa-info p{font-size:10px}.split{gap:28px;padding-block:55px}.split-photo{border-radius:20px;height:410px}.split-copy h2{font-size:35px;line-height:1.2;letter-spacing:-1.6px}.reasons{gap:28px}.reasons article{grid-template-columns:48px 1fr;padding-top:23px;gap:5px 17px}.reasons article>svg{width:48px;height:48px;padding:11px;border-radius:13px;margin:0}.reasons h3{font-size:22px;margin:0 0 4px;letter-spacing:-.7px}.reasons p{font-size:12px}.price-band{padding-block:40px}.price-band h2{font-size:30px;letter-spacing:-1.3px}.price-band .button{font-size:12px}.closing{padding:55px 20px}.closing h2{font-size:36px;letter-spacing:-1.7px}.closing .button{font-size:12px}.page-hero{margin-inline:10px;border-radius:20px;height:390px}.page-hero.compact{height:350px}.page-hero-content{padding:35px 24px}.page-hero h1{font-size:43px;letter-spacing:-2px}.page-hero.compact h1{font-size:41px}.page-hero p{font-size:12px;max-width:33ch}.price-card{padding:27px}.price-card h2{font-size:29px}.price-row strong{font-size:25px}.gallery-grid{gap:14px}.gallery-item{border-radius:14px}.gallery-item span{padding-bottom:13px}.contact-layout .booking-form{padding:27px 20px}.contact-layout .booking-heading strong{font-size:27px}.contact-phone{font-size:28px}.help-box h2{font-size:27px}.detail-layout>div>h2{font-size:34px}.film-dialog{border-radius:14px}footer .brand-name{font-size:29px}footer .footer-phone{font-size:25px}.floating .whatsapp{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}
.hero-slide video.hero-photo{object-fit:cover}
@media(min-width:851px){.home-hero{min-height:560px}}
/* Larger reading sizes and clearly defined information cards. */
body{font-size:18px;line-height:1.75}.header nav{font-size:15px;gap:23px}.nav-book{font-size:14px;padding:15px 20px}.topbar{font-size:13px;height:38px}.topbar svg{width:15px;height:15px}.header{height:104px}.button,.home-hero .button,.price-card .button{font-size:16px;min-height:58px}.text-link{font-size:16px}.home-hero p{font-size:19px}.location{font-size:14px}.film-link span{font-size:15px}.film-link small{font-size:13px}.slider-caption{font-size:14px}.slider-pause{font-size:13px;min-width:65px}.slider-controls{gap:16px}.slider-arrow{height:40px;width:40px}.slider-dots button:after{inset:-15px -7px}.section-kicker{font-size:15px}.intro-grid p,.split-copy p:not(.section-kicker),.detail-layout>div>p:not(.section-kicker){font-size:18px}.section-heading p:not(.section-kicker){font-size:17px}.amenity-strip{padding:28px 30px}.amenity-strip span{font-size:16px}.booking-heading strong{font-size:19px}.booking-heading span{font-size:14px}.booking-fields label{font-size:15px;gap:10px}.booking-fields input,.booking-fields select{font-size:17px;height:47px}.booking-fields button{font-size:16px}.form-note,.small{font-size:14px}.form-error{font-size:16px}.villa-photo{height:470px}.villa-photo>span:first-of-type{font-size:17px;padding:9px 18px}.villa-info h3{font-size:30px}.villa-info p{font-size:16px}.villa-info a{font-size:15px;padding:13px 18px}.muted{font-size:16px}.reasons{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px}.reasons article{display:block;padding:32px;border:1px solid #d5e9e6;border-radius:20px;background:#f3faf8;box-shadow:0 9px 28px #173f4408}.reasons article:nth-child(2),.reasons article:nth-child(5){background:#eef8fc;border-color:#d7e7ef}.reasons article>svg{width:60px;height:60px;border-radius:17px;background:white;padding:15px;margin:0 0 24px;box-shadow:0 5px 16px #173f4408}.reasons h3{font-size:26px;line-height:1.3;margin-bottom:16px}.reasons p{font-size:17px;line-height:1.75}.price-band p{font-size:16px}.faq-list summary{font-size:19px;padding-right:6px}.faq-list p{font-size:17px;max-width:82ch}.closing p{font-size:16px}.closing .button{font-size:16px}footer{font-size:16px}footer p{font-size:15px}footer h3{font-size:16px}footer .footer-phone{font-size:25px}.copyright{font-size:13px}.floating span{font-size:14px}.page-hero p{font-size:19px}.crumb{font-size:14px}.price-card>p{font-size:16px}.price-row span{font-size:18px}.price-row small{font-size:14px}.price-note{font-size:16px}.detail-features{font-size:17px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.gallery-item img{height:510px;object-position:50% 42%}.gallery-item span{font-size:18px;padding:55px 25px 23px}.gallery-grid .gallery-item:nth-child(4){grid-column:auto}.gallery-grid .gallery-item:nth-child(3){grid-column:auto}.contact-links{font-size:18px}.contact-layout .booking-heading strong{font-size:32px}.contact-layout .booking-heading span{font-size:15px}.help-box p{font-size:17px}dialog figcaption,.film-dialog p{font-size:16px}.contact-layout .muted{font-size:17px}.home-hero{height:calc(100svh - 159px)}
@media(max-width:1150px){.header nav{font-size:13px;gap:15px}.nav-book{font-size:13px;padding-inline:17px}.reasons article{padding:26px}.reasons h3{font-size:24px}.villa-info{display:block}.villa-info a{display:inline-flex;margin-top:16px}.amenity-strip span{font-size:14px}.booking-fields{gap:16px}.booking-fields button{font-size:14px;gap:12px}}
@media(max-width:850px){.topbar{height:36px}.header{height:90px}.header nav{top:90px;font-size:17px;padding:25px}.nav-book{font-size:16px}.home-hero{height:720px}.booking-fields button{font-size:16px}.reasons{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.reasons article{padding:29px}.reasons h3{font-size:24px}.reasons p{font-size:17px}.gallery-item img{height:450px}.gallery-item span{font-size:16px}.intro-grid p,.split-copy p:not(.section-kicker){font-size:17px}.section-heading p:not(.section-kicker){font-size:16px}.villa-photo{height:420px}.price-card .button{font-size:15px}.price-row strong{font-size:25px}.price-card{padding:29px}.hero-bottom{gap:10px}.slider-caption{display:none}.booking-heading strong{font-size:18px}.film-link{bottom:120px}.film-link span{font-size:14px}.film-link small{font-size:12px}}
@media(max-width:560px){body{font-size:17px}.topbar{font-size:12px;height:34px;padding-inline:19px}.topbar a{font-size:12px}.topbar svg{width:14px;height:14px}.header{height:92px}.header nav{top:92px;font-size:18px;padding:24px}.header nav>a:not(.nav-book){padding-block:15px}.nav-book{font-size:16px}.home-hero{height:720px}.home-hero-content{padding:57px 23px 190px}.home-hero h1{font-size:49px;letter-spacing:-2.8px}.home-hero p{font-size:17px;line-height:1.7;margin-block:26px 30px;max-width:30ch}.location{font-size:13px;padding:7px 11px;margin-bottom:28px}.home-hero .button{font-size:16px;padding:16px 21px}.home-hero .hero-bottom{bottom:29px;left:23px;right:23px}.slider-controls{gap:16px}.slider-arrow{width:40px;height:40px}.slider-pause{font-size:13px;min-width:65px}.slider-dots{gap:12px}.film-link{left:23px;bottom:120px;gap:13px}.film-link>svg{width:47px;height:47px;padding:13px}.film-link span{font-size:14px}.film-link small{font-size:12px}.booking-wrap .booking-form{padding:25px 21px}.booking-heading strong{font-size:18px;line-height:1.5}.booking-fields label{font-size:14px}.booking-fields input,.booking-fields select{font-size:16px;height:46px}.booking-fields .button{font-size:16px;min-height:56px}.form-note{font-size:13px;line-height:1.6;margin-top:17px}.section-kicker{font-size:14px}.intro-grid h2{font-size:34px}.intro-grid p,.split-copy p:not(.section-kicker),.detail-layout>div>p:not(.section-kicker){font-size:17px}.text-link,.section-heading .text-link{font-size:15px}.section-heading{flex-wrap:wrap;gap:18px}.section-heading h2{font-size:34px}.section-heading p:not(.section-kicker){font-size:16px}.amenity-strip{padding:24px 20px;gap:22px}.amenity-strip span{font-size:15px;width:100%;gap:13px}.amenity-strip svg{height:25px;width:25px}.villa-photo{height:450px}.villa-photo>span:first-of-type{font-size:16px}.villa-info{display:block}.villa-info h3{font-size:29px}.villa-info p{font-size:16px}.villa-info a{font-size:15px;padding:12px 18px;margin-top:16px}.small,.muted.small{font-size:14px}.muted{font-size:16px}.split-photo{height:460px}.split-copy h2{font-size:34px}.reasons{grid-template-columns:1fr;gap:20px}.reasons article{display:block;padding:30px}.reasons article>svg{width:58px;height:58px;padding:14px;margin:0 0 22px}.reasons h3{font-size:26px;margin:0 0 14px;letter-spacing:-.8px}.reasons p{font-size:17px}.price-band p{font-size:15px}.price-band h2{font-size:32px}.price-band .button{font-size:16px}.faq-list summary{font-size:17px}.faq-list p{font-size:16px}.faq-list details{padding-block:23px}.closing p{font-size:15px}.closing .button{font-size:16px}.closing h2{font-size:35px}footer{font-size:16px;grid-template-columns:1fr 1fr;padding:45px 22px 95px;gap:35px 22px}footer>div:first-child{display:block}footer>div:first-child p{margin-top:22px}footer p{font-size:15px}footer h3{font-size:16px}footer>div>a:not(.brand){font-size:15px;margin-bottom:12px}footer>div:nth-child(4){grid-column:1/-1}.copyright{font-size:13px;line-height:1.7}.floating span{font-size:13px}.page-hero{height:440px}.page-hero.compact{height:395px}.page-hero h1{font-size:40px}.page-hero.compact h1{font-size:39px}.page-hero p{font-size:17px;max-width:30ch;margin-top:22px}.crumb{font-size:14px}.price-card{padding:29px 25px}.price-card h2{font-size:30px}.price-card>p{font-size:16px}.price-row span{font-size:18px}.price-row small{font-size:14px}.price-row strong{font-size:26px}.price-card .button{font-size:15px;gap:13px;padding-inline:16px}.price-note{font-size:16px}.detail-features{font-size:17px}.gallery-grid{grid-template-columns:1fr;gap:25px}.gallery-grid .gallery-item:nth-child(3),.gallery-grid .gallery-item:nth-child(4){grid-column:auto}.gallery-item img,.gallery-grid .gallery-item:nth-child(3) img{height:480px;object-position:50% 43%}.gallery-item span{font-size:18px;padding:50px 22px 22px}.gallery-item svg{width:22px}.contact-phone{font-size:30px}.contact-links{font-size:17px}.contact-layout .booking-heading strong{font-size:29px}.contact-layout .booking-heading span{font-size:15px}.contact-layout .muted{font-size:16px}.help-box p{font-size:17px}.help-box h2{font-size:29px}.help-box .button{font-size:16px}.contact-layout .booking-form{padding:29px 21px}}
@media(min-width:851px){.home-hero-content{padding-top:60px}.slider-caption{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap}}
/* Real photo archive: retain more of the portrait composition. */
.gallery-item img{height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 48%}
@media(max-width:850px){.gallery-item img{height:auto}}
@media(max-width:560px){.gallery-item img,.gallery-grid .gallery-item:nth-child(3) img{height:auto;aspect-ratio:3/4}}
