:root { --ip-ink:#17343d; --ip-muted:#5b6b70; --ip-brand:#006d77; --ip-brand-dark:#00555d; --ip-sand:#f6f2e8; --ip-line:#dbe4e5; }
body.home { color:var(--ip-ink); overflow-x:clip; }
.home #page > header.mt-sm-0 { background-color:var(--ip-ink)!important; background-image:linear-gradient(90deg,rgba(9,35,43,.94) 0%,rgba(9,35,43,.78) 48%,rgba(9,35,43,.28) 100%),url('/wp-content/uploads/2020/08/Playa-Calo-dEs-Moro.jpg'); background-position:center 58%; background-size:cover; min-height:33rem; padding:7rem 1.25rem 8rem!important; text-align:left!important; }
.home #page > header.mt-sm-0 .container { max-width:62.5rem; }
.home #page > header.mt-sm-0 .row { display:block; text-align:left!important; }
.home #page > header.mt-sm-0 .col-12 { display:flex; flex-direction:column; text-align:left!important; }
.home #page > header.mt-sm-0 h1 { color:#fff; font-size:clamp(3rem,8vw,6.5rem); font-weight:650; letter-spacing:-.055em; line-height:.94; margin:0!important; max-width:55rem; padding:0!important; text-shadow:0 2px 20px rgba(0,0,0,.18); text-transform:none!important; }
.home #page > header.mt-sm-0 h2 { color:#8de0dc; font-size:.82rem; font-weight:700; letter-spacing:.09em; margin:0 0 1rem; order:-1; text-transform:uppercase; }
.home #page > header.mt-sm-0 hr { display:none; }
.home #page > header.mt-sm-0 p { color:#f0f5f5; font-size:clamp(1.05rem,2vw,1.25rem); line-height:1.65; margin:1.75rem 0 0; max-width:46rem; text-shadow:0 1px 12px rgba(0,0,0,.24); white-space:normal; }
.home #page > header.mt-sm-0 + .container { display:none; }
.ip-home, .ip-home *, .ip-home *::before, .ip-home *::after { box-sizing:border-box; }
.ip-home { background:#fff; }
.ip-home__shell { margin:0 auto; max-width:75rem; padding-left:1.25rem; padding-right:1.25rem; width:100%; }
.ip-home__eyebrow { color:var(--ip-brand); font-size:.78rem; font-weight:700; letter-spacing:.09em; margin:0 0 .65rem; text-transform:uppercase; }
.ip-home-search { margin-top:-5.25rem; position:relative; z-index:2; }
.ip-home-search__panel { align-items:end; background:#fff; border-radius:.65rem; box-shadow:0 1rem 3rem rgba(23,52,61,.12); display:grid; gap:1.5rem 2rem; grid-template-columns:minmax(15rem,.75fr) minmax(22rem,1.25fr); padding:clamp(1.5rem,4vw,2.5rem); }
.ip-home-search h2 { font-size:clamp(1.65rem,3vw,2.25rem); letter-spacing:-.035em; line-height:1.08; margin:0; }
.ip-home-search__form { align-items:stretch; display:flex; }
.ip-home-search__form input { border:1px solid var(--ip-line); border-radius:.4rem 0 0 .4rem; color:var(--ip-ink); font-size:1rem; min-height:3.5rem; min-width:0; padding:.8rem 1rem; width:100%; }
.ip-home-search__form button, .ip-home-button { background:var(--ip-brand); border:0; border-radius:0 .4rem .4rem 0; color:#fff; font-weight:700; padding:.8rem 1.25rem; }
.ip-home-search__hint { color:var(--ip-muted); font-size:.82rem; grid-column:2; margin:-.8rem 0 0; }
.ip-home-section { padding:clamp(4rem,8vw,7rem) 0; }
.ip-home-section--sand { background:var(--ip-sand); }
.ip-home-heading { align-items:end; display:flex; gap:2rem; justify-content:space-between; margin-bottom:2rem; }
.ip-home-heading h2, .ip-home-destinations h2, .ip-home-faq h2 { font-size:clamp(2rem,4vw,3.25rem); font-weight:650; letter-spacing:-.045em; line-height:1.03; margin:0; text-transform:none; }
.ip-home-heading > a { color:var(--ip-brand); font-weight:700; text-decoration:none; }
.ip-home-feature-grid { display:grid; gap:1rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.ip-home-feature { background:var(--ip-sand); border-radius:.55rem; color:var(--ip-ink); display:flex; flex-direction:column; min-height:25rem; overflow:hidden; text-decoration:none; transition:transform .2s ease; }
.ip-home-feature:hover, .ip-home-feature:focus { color:var(--ip-ink); transform:translateY(-3px); }
.ip-home-feature__media { background:#dce8e8; display:block; overflow:hidden; }
.ip-home-feature__media img { aspect-ratio:16/10; display:block; height:auto; object-fit:cover; transition:transform .25s ease; width:100%; }
.ip-home-feature:hover .ip-home-feature__media img { transform:scale(1.025); }
.ip-home-feature__body { display:flex; flex:1; flex-direction:column; padding:1.5rem; }
.ip-home-feature__number { color:var(--ip-brand); font-size:.75rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.ip-home-feature__title { font-size:clamp(1.5rem,3vw,2.1rem); letter-spacing:-.035em; line-height:1.08; margin:.75rem 0; }
.ip-home-feature__description { color:var(--ip-muted); line-height:1.55; margin:0 0 1.25rem; }
.ip-home-feature__link { color:var(--ip-brand); font-weight:700; margin-top:auto; }
.ip-region-grid { display:grid; gap:.65rem; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; margin:0; padding:0; }
.ip-region-grid a { align-items:center; background:#fff; border:1px solid rgba(23,52,61,.08); border-radius:.35rem; color:var(--ip-ink); display:flex; font-weight:650; justify-content:space-between; min-height:4rem; padding:.8rem 1rem; text-decoration:none; }
.ip-region-grid a:hover, .ip-region-grid a:focus { border-color:var(--ip-brand); color:var(--ip-brand); }
.ip-home-guide-grid { display:grid; gap:1.5rem; grid-template-columns:repeat(3,minmax(0,1fr)); }
.ip-home-guide { min-width:0; }
.ip-home-guide__media { background:var(--ip-sand); border-radius:.5rem; display:block; overflow:hidden; }
.ip-home-guide__media img { aspect-ratio:4/3; display:block; height:auto; object-fit:cover; width:100%; }
.ip-home-guide__body { padding-top:1rem; }
.ip-home-guide__meta { color:var(--ip-brand)!important; font-size:.75rem!important; font-weight:700; letter-spacing:.05em; margin:0 0 .55rem!important; text-transform:uppercase; }
.ip-home-guide h3 { font-size:1.35rem; letter-spacing:-.025em; line-height:1.25; margin:0; }
.ip-home-guide h3 a { color:var(--ip-ink); text-decoration:none; }
.ip-home-guide__body > p:last-child { color:var(--ip-muted); line-height:1.6; margin:.75rem 0 0; }
.ip-home-section--destinations { background:var(--ip-ink); color:#fff; }
.ip-home-destinations { align-items:start; display:grid; gap:clamp(2rem,6vw,5rem); grid-template-columns:minmax(16rem,.75fr) minmax(0,1.25fr); }
.ip-home-destinations .ip-home__eyebrow { color:#74d4d0; }
.ip-home-destinations h2 { color:#fff; }
.ip-home-destinations__intro > p:not(.ip-home__eyebrow) { color:#c5d1d4; line-height:1.65; margin:1.25rem 0 1.75rem; }
.ip-home-button { border-radius:.35rem; display:inline-flex; text-decoration:none; }
.ip-home-button:hover, .ip-home-button:focus { background:#008793; color:#fff; }
.ip-destination-list { display:grid; gap:0 1.5rem; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; margin:0; padding:0; }
.ip-destination-list li { border-bottom:1px solid rgba(255,255,255,.15); }
.ip-destination-list a { color:#fff; display:flex; flex-direction:column; padding:.8rem 0; text-decoration:none; }
.ip-destination-list small { color:#9fb1b6; margin-top:.15rem; }
.ip-home-faq__shell { display:grid; gap:clamp(2rem,6vw,5rem); grid-template-columns:minmax(16rem,.7fr) minmax(0,1.3fr); }
.ip-home-faq__items { border-top:1px solid var(--ip-line); }
.ip-home-faq details { border-bottom:1px solid var(--ip-line); padding:1.25rem 0; }
.ip-home-faq summary { cursor:pointer; font-size:1.05rem; font-weight:700; list-style-position:outside; margin-left:1.25rem; }
.ip-home-faq details p { color:var(--ip-muted); line-height:1.65; margin:1rem 0 0 1.25rem; }
.ip-home a:focus-visible, .ip-home button:focus-visible, .ip-home input:focus-visible { outline:3px solid #ff8a70; outline-offset:3px; }
@media(max-width:60rem){.ip-home-search__panel,.ip-home-destinations,.ip-home-faq__shell{grid-template-columns:1fr}.ip-home-search__hint{grid-column:1}.ip-region-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ip-destination-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:44rem){.home #page > header.mt-sm-0{min-height:31rem;padding:7rem 1.25rem 7.5rem!important}.home #page > header.mt-sm-0 h1{font-size:clamp(3rem,15vw,4.3rem)}.ip-home-search{margin-top:-4rem}.ip-home-search__form{flex-direction:column;gap:.6rem}.ip-home-search__form input,.ip-home-search__form button{border-radius:.4rem}.ip-home-feature-grid,.ip-home-guide-grid,.ip-region-grid{grid-template-columns:1fr}.ip-home-feature{min-height:15rem}.ip-home-heading{align-items:start;flex-direction:column;gap:1rem}.ip-destination-list{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.ip-home *{transition-duration:.01ms!important}}
