/* Ibizahora: restrained typography, shared by all languages and service pages. */
:root{--type-display:'DM Sans',sans-serif;--type-body:'DM Sans',sans-serif}
body{font-family:var(--type-body);font-size:16px;line-height:1.65}
html:root h1,html:root h2,html:root h3{font-family:var(--type-display);font-weight:400;overflow-wrap:break-word}
html:root h2{font-size:clamp(29px,3.1vw,43px);line-height:1.2;letter-spacing:-.025em}
html:root h2 em{font-family:Georgia,serif;font-size:1em;font-weight:400;letter-spacing:-.025em}
html:root .hero .hero-title{font-family:var(--type-display);font-size:clamp(58px,6.1vw,88px);font-weight:400;line-height:1.04;letter-spacing:-.04em;margin-bottom:24px}
html:root .hero .hero-title em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.035em}
html:root .hero .hero-service-title{font-family:var(--type-body);font-size:clamp(18px,1.55vw,21px);font-weight:500;line-height:1.55;letter-spacing:0;max-width:610px;margin-bottom:17px}
html:root .hero-copy>p{font-size:16px;line-height:1.8;max-width:505px;margin-bottom:26px}
html:root .hero.phase-one-hero{height:calc(100svh - 130px);min-height:650px;max-height:790px}
html:root .phase-one-hero .hero-copy{padding-top:68px;max-width:760px}
html:root .hero-copy .eyebrow{font-size:10px;font-weight:500;letter-spacing:.14em;line-height:1.7;margin-bottom:26px}
html:root .eyebrow,html:root .section .eyebrow{font-size:10px;font-weight:500;letter-spacing:.13em;line-height:1.7;margin-bottom:20px}
html:root .hero-bottom>span{font-size:10px;letter-spacing:.1em}
html:root .hero-bottom a{font-size:13px;line-height:1.7}
html:root .section-top{margin-bottom:36px;gap:36px}
html:root .section-top p{font-size:15px;line-height:1.85;max-width:360px}
html:root .category-cards{align-items:stretch;gap:22px}
html:root .category-cards .service{min-height:0;height:100%;padding:30px;border-radius:7px;box-shadow:none}
html:root .category-cards .service:last-child{min-height:0}
html:root .service h3,html:root .category-cards .service h3{font-size:24px;line-height:1.35;letter-spacing:-.025em;font-weight:400;margin-bottom:16px}
html:root .service p{font-size:15px;line-height:1.8}
html:root .service .card-top{margin-bottom:27px}
html:root .service-no{font-size:10px;font-weight:500;letter-spacing:.08em}
html:root .service.featured .service-no{display:inline}
html:root .line-icon{font-size:25px}
html:root .category-price{font-size:19px;font-weight:500;line-height:1.5;margin:18px 0 14px}
html:root .category-price span{font-size:14px;font-weight:400}
html:root .service-link,html:root .detail-link,html:root .category-depth summary{font-size:13px;font-weight:500}
html:root .category-cards .service.featured .detail-link,html:root .service.featured .category-depth summary{color:var(--ink)}
html:root .category-depth p{color:var(--muted)}
html:root .service.featured .category-depth p{color:#30483d}
html:root .express-grid h3{font-size:27px;line-height:1.35;letter-spacing:-.025em}
html:root .express-grid p{font-size:16px;line-height:1.85}
html:root .express-symbol{font-size:29px}
html:root .how h2,html:root .enquiry h2{font-size:clamp(32px,3.25vw,46px);line-height:1.2;letter-spacing:-.025em}
html:root .steps article>span{font-family:var(--type-body);font-style:normal;font-size:14px}
html:root .steps h3{font-size:20px;line-height:1.4;letter-spacing:-.015em}
html:root .steps p,html:root .enquiry>div>p{font-size:15px;line-height:1.85}
html:root .island-note>span{font-size:10px;letter-spacing:.13em;line-height:1.8}
html:root .island-note em{font-size:clamp(43px,4.5vw,66px);line-height:1.08;letter-spacing:-.035em;padding:22px 0 28px}
html:root .island .places{font-size:15px;line-height:2.1}
html:root .price-table tbody th{font-size:16px;font-weight:400;line-height:1.7}
html:root .price-table td:nth-child(2){font-family:var(--type-body);font-size:19px;font-weight:500;letter-spacing:-.015em}
html:root .phase-prices td:nth-child(2)>span{font-size:15px;font-weight:400}
html:root .faq summary{font-size:16px;line-height:1.6;font-weight:500;padding:22px 0}
html:root .faq details p{font-size:15px;line-height:1.85}
html:root .button{font-size:13px;font-weight:500;letter-spacing:.01em;min-height:46px;padding:16px 21px;border-radius:5px}
html:root .button span{font-size:17px}
html:root .hero-secondary{font-size:13px;font-weight:500}
html:root .chat-float{font-size:13px;font-weight:500;box-shadow:0 4px 16px #172d3420;padding:15px 19px}
html:root .phase-ribbon{font-size:10px;letter-spacing:.12em;padding:18px 0}
html:root .phase-ribbon b{font-size:18px}
html:root .phase-ribbon>div{animation-duration:46s}
html:root .service-intro h1{font-size:clamp(32px,4vw,52px);font-weight:400;letter-spacing:-.03em;line-height:1.2;max-width:870px}
html:root .answer-lead{font-size:18px;line-height:1.85;max-width:800px}
html:root .service-reading{max-width:780px}
html:root .service-reading h2{font-size:clamp(28px,2.5vw,35px);line-height:1.25;letter-spacing:-.025em}
html:root .service-reading h3,html:root .seo-detail h3{font-size:20px;font-weight:400;line-height:1.5;letter-spacing:-.015em}
html:root .service-reading p{font-size:16px;line-height:1.9}
html:root .related-services h2{font-size:32px}
html:root .related-services a{font-size:15px}
html:root .service-facts table{font-size:15px}
html:root .service-facts th{font-weight:500}
html:root .logo{font-family:Manrope,sans-serif}
.service:hover{transform:translateY(-2px)}
@media(max-width:850px){
 html:root .section-top{gap:26px}
 html:root .hero.phase-one-hero{min-height:680px}
 html:root .phase-one-hero .hero-copy{padding-top:54px}
 html:root .category-cards .service{padding:27px}
}
@media(max-width:650px){
 html:root .hero.phase-one-hero{height:auto;min-height:650px;max-height:none}
 html:root .phase-one-hero .hero-copy{padding:48px 24px 124px;max-width:none}
 html:root .hero .hero-title{font-size:49px;line-height:1.06;letter-spacing:-.04em;margin-bottom:23px}
 html:root .hero .hero-title em{letter-spacing:-.035em}
 html:root .hero .hero-service-title{font-size:18px;line-height:1.55;letter-spacing:0}
 html:root .hero-copy>p{font-size:15px;line-height:1.8}
 html:root .hero-copy .eyebrow{font-size:9px;letter-spacing:.12em}
 html:root .hero .button{font-size:13px;padding:15px 18px}
 html:root .hero-secondary{font-size:13px}
 html:root .hero-bottom a{font-size:12px}
 html:root h2{font-size:30px;line-height:1.22;letter-spacing:-.025em}
 html:root .how h2,html:root .enquiry h2{font-size:32px;line-height:1.22}
 html:root .service h3,html:root .category-cards .service h3{font-size:23px}
 html:root .category-cards .service{padding:26px;height:auto}
 html:root .express-grid h3{font-size:25px}
 html:root .island-note em{font-size:48px}
 html:root .price-table td:nth-child(2){font-size:21px}
 html:root .price-table tbody th{font-size:17px}
 html:root .service-intro h1{font-size:33px;line-height:1.2;letter-spacing:-.03em}
 html:root .answer-lead{font-size:17px}
 html:root .service-reading h2{font-size:28px}
 html:root .related-services h2{font-size:29px}
 html:root .section .eyebrow{font-size:10px}
 html:root .section-top{margin-bottom:30px}
 html:root input,html:root select,html:root textarea{font-size:16px}
}
/* Editorial stories are clearly identified; they are not review or rating cards. */
.island-stories{background:#f0f3ed}
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.island-story{border-top:1px solid #aebdaf;padding-top:25px;display:flex;flex-direction:column}
.story-tag{font-size:9px;line-height:1.8;letter-spacing:.1em;font-weight:500;color:#52645a;margin-bottom:18px}
html:root .island-story h3{font-size:23px;line-height:1.4;letter-spacing:-.025em;margin:0 0 20px}
.island-story>p{font-size:15px;line-height:1.85;color:#465b5e;margin:0 0 18px}
.island-story .story-note{font-size:12px;line-height:1.8;color:#58656a;border-top:1px solid #ccd6cb;padding-top:16px;margin-top:auto}
.story-cta{display:flex;align-items:center;min-height:44px;align-self:flex-start;font-size:13px;font-weight:500;border:0;border-bottom:1px solid #8ca08b;background:none;color:var(--ink);padding:8px 0;text-align:left}
@media(max-width:950px){.story-grid{grid-template-columns:1fr;gap:35px}.island-story{max-width:720px}.island-story .story-note{margin-top:6px}}
