/* ===== Ibiza Beyond · Brand v2 — secondary pages =====
   Owners, zone guides, legal pages and 404. Loaded after styles.css and brand-v2.css, which
   carry the palette, buttons and the night footer; this file adds the light page header,
   the photo hero and the page bodies. All URLs are absolute: zone pages live in /zone/. */

/* ---- header bar (static: no JS, no transparent state) ---- */
.pagebar{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  padding:16px var(--gut);background:rgba(244,239,230,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.pagebar__brand img{width:210px;height:auto;display:block}
.pagebar__links{display:flex;gap:1.8rem}
.pagebar__links a{position:relative;font-size:13px;font-weight:500;letter-spacing:.02em;color:var(--ink);padding:6px 0}
.pagebar__links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--oro);
  transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}
.pagebar__links a:hover::after,.pagebar__links a[aria-current]::after{transform:scaleX(1)}
.pagebar__right{display:flex;align-items:center;gap:1rem}
.pagebar__cta{padding:11px 16px;font-size:11px}
.pagebar__lang{display:flex;gap:2px}
.pagebar__lang button{background:none;border:0;padding:8px 6px;cursor:pointer;font:600 12px 'Manrope',system-ui,sans-serif;
  letter-spacing:.14em;color:var(--pietra);border-bottom:1px solid transparent}
.pagebar__lang button.is-active{color:var(--ink);border-bottom-color:var(--ink)}
@media(max-width:980px){.pagebar__links{display:none}}
@media(max-width:440px){.pagebar__brand img{width:160px}.pagebar__cta{display:none}}

/* ---- photo hero (the brand horizon) ---- */
.phero{position:relative;color:var(--calce);background:var(--notte) url("/brand/hero-horizon.jpg") 50% 62%/cover;
  padding:clamp(5rem,12vw,8.5rem) 0 clamp(4rem,9vw,6.5rem)}
.phero::before{content:"";position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(20,18,15,.62),rgba(20,18,15,.3) 50%,rgba(20,18,15,.62)),
             linear-gradient(90deg,rgba(20,18,15,.5),rgba(20,18,15,0) 70%)}
.phero__in{position:relative;width:var(--wrap);margin:0 auto}
.phero .eyebrow{color:rgba(244,239,230,.86);margin-bottom:20px}
.phero h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(40px,5.6vw,72px);
  line-height:1.04;letter-spacing:-.005em;margin:0;max-width:20ch;color:var(--calce)}
.phero__lead{font-size:18px;line-height:1.55;max-width:620px;margin:24px 0 0;color:rgba(244,239,230,.88)}
.phero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.phero .btn--solid{background:var(--oro);border-color:var(--oro);color:var(--notte)}
.phero .btn--solid:hover{background:var(--calce);border-color:var(--calce)}
.phero .btn--ghost{color:var(--calce);border-color:rgba(244,239,230,.85)}
.phero .btn--ghost:hover{background:var(--calce);color:var(--ink)}
.phero__fine{margin:18px 0 0;font-size:13px;color:rgba(244,239,230,.75)}
.phero__fine a{color:var(--calce);border-bottom:1px solid var(--oro)}

/* ---- page body ---- */
.pwrap{width:var(--wrap);margin:0 auto}
.psec{padding:clamp(4rem,8vw,6rem) 0}
.psec--band{background:var(--bg-2)}
.psec .section-head{padding:0;max-width:none;margin:0}
.pnum{display:grid;grid-template-columns:repeat(3,1fr);gap:0 28px;margin-top:2.6rem}
.pnum>div{border-top:1px solid var(--linea);padding:22px 0 30px}
.pnum b{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:30px;line-height:1;color:var(--orop);margin-bottom:16px}
.pnum h3{font-family:'Manrope',system-ui,sans-serif;font-size:12px;font-weight:600;line-height:1.35;letter-spacing:.2em;
  text-transform:uppercase;margin:0 0 8px}
.pnum p{margin:0;font-size:14px;line-height:1.6;color:var(--ink-soft)}
@media(max-width:900px){.pnum{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.pnum{grid-template-columns:1fr}}

/* plans: two square cards, the recommended one in night */
.pplans{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:2.6rem}
.pplan{background:var(--carta);border:1px solid var(--linea);padding:clamp(1.6rem,3vw,2.4rem)}
.pplan__tag{display:inline-block;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  padding:7px 9px;background:var(--calce);color:var(--ink)}
.pplan h3{font-weight:500;font-size:30px;margin:16px 0 6px}
.pplan__amt{font-size:15px;color:var(--ink-soft);margin:0}
.pplan ul{list-style:none;padding:0;margin:22px 0 0;border-top:1px solid var(--linea)}
.pplan li{position:relative;padding:11px 0 11px 26px;border-bottom:1px solid var(--linea);font-size:14px;color:var(--ink-soft)}
.pplan li::before{content:"";position:absolute;left:0;top:1.25em;width:14px;height:1px;background:var(--orop)}
.pplan--hot{background:var(--notte);border-color:var(--notte);color:var(--calce)}
.pplan--hot .pplan__tag{background:var(--oro);color:var(--notte)}
.pplan--hot h3{color:var(--calce)}
.pplan--hot .pplan__amt,.pplan--hot li{color:rgba(244,239,230,.8)}
.pplan--hot ul,.pplan--hot li{border-color:rgba(244,239,230,.14)}
.pplan--hot li::before{background:var(--oro)}
@media(max-width:760px){.pplans{grid-template-columns:1fr}}
.pnote{margin-top:28px;border:1px solid var(--linea);border-left:2px solid var(--orop);padding:20px 24px;background:var(--carta)}
.pnote strong{display:block;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--orop);margin-bottom:8px}
.pnote p{margin:0;font-size:14px;line-height:1.65;color:var(--ink-soft)}
.pnote a{color:var(--ink);font-weight:600;border-bottom:1px solid var(--oro)}

/* dark split: photograph left, copy right (the concept's "how access works") */
.psplit{display:grid;grid-template-columns:1fr 1fr;background:var(--notte);color:var(--calce)}
.psplit__img{min-height:520px;background:#2a241d center/cover}
.psplit__copy{align-self:center;max-width:640px;padding:clamp(3.5rem,7vw,6rem) clamp(1.5rem,6vw,6rem)}
.psplit .eyebrow{color:var(--oro)}
.psplit h2{color:var(--calce);font-weight:500;font-size:clamp(2.2rem,3.6vw,3rem);line-height:1.1;margin:0}
.psplit .pnum{grid-template-columns:repeat(3,1fr);gap:0 22px}
.psplit .pnum>div{border-top-color:rgba(244,239,230,.16)}
.psplit .pnum b{color:var(--oro)}
.psplit .pnum h3{color:var(--calce)}
.psplit .pnum p{color:rgba(244,239,230,.74)}
@media(max-width:880px){.psplit{grid-template-columns:1fr}.psplit__img{min-height:300px}}
@media(max-width:560px){.psplit .pnum{grid-template-columns:1fr}}

/* forms */
.pform{background:var(--carta);border:1px solid var(--linea);padding:clamp(1.5rem,3vw,2.4rem);display:grid;gap:14px;
  max-width:720px;margin:2.4rem auto 0;text-align:left}
.pform .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pform input,.pform select,.pform textarea{width:100%;background:var(--calce);border:1px solid var(--linea);
  padding:13px 14px;color:var(--ink);font:400 15px 'Manrope',system-ui,sans-serif;outline:none}
.pform input:focus,.pform select:focus,.pform textarea:focus{border-color:var(--ink)}
.pform .btn{justify-self:start}
.pform__note{margin:0;font-size:12.5px;color:var(--pietra)}
.pform__note a{color:var(--ink);border-bottom:1px solid var(--oro)}
@media(max-width:560px){.pform .row{grid-template-columns:1fr}}
.pcenter,.pcenter .section-head{text-align:center}
.pcenter .section-sub{margin-left:auto;margin-right:auto}
.pcenter .eyebrow::before{content:"";display:block;width:58px;height:18px;margin:0 auto 20px;background:var(--sun-oro) center/contain no-repeat}

/* WhatsApp: kept green (it is the channel owners answer on), squared like the rest */
.pwa{position:fixed;right:18px;bottom:18px;z-index:70;display:flex;align-items:center;gap:8px;background:#25d366;color:#06280f;
  font:700 12px 'Manrope',system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;padding:14px 18px;
  box-shadow:0 10px 30px rgba(20,18,15,.3)}
.pwa:hover{filter:brightness(1.05)}
.btn--wa{background:#25d366;border-color:#25d366;color:#06280f}
.btn--wa:hover{background:#1fbd5a;border-color:#1fbd5a;color:#06280f}

/* ---- zone guide ---- */
.zbody{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.zchar{font-size:17px;line-height:1.8;color:var(--ink-soft);margin:0}
.zfacts{border-top:1px solid var(--linea)}
.zfact{display:grid;grid-template-columns:9.5rem 1fr;gap:1rem;padding:14px 0;border-bottom:1px solid var(--linea);align-items:baseline}
.zfact b{font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--pietra)}
.zfact span{font-size:14px;color:var(--ink)}
.z-chip{display:inline;font-size:14px;color:var(--ink)}
.z-chip+.z-chip::before{content:"·";margin:0 7px;color:var(--pietra)}
a.z-chip{border-bottom:1px solid var(--oro)}
a.z-chip:hover{color:var(--orop)}
.zmore{margin:0;font-size:14px;line-height:2;color:var(--ink-soft)}
.zmore a{color:var(--ink);border-bottom:1px solid var(--oro)}
@media(max-width:880px){.zbody{grid-template-columns:1fr}}
@media(max-width:440px){.zfact{grid-template-columns:1fr;gap:.2rem}}

/* ---- legal ---- */
.legal{width:min(820px,calc(100% - 2*var(--gut)));margin:0 auto;padding:clamp(3rem,7vw,5rem) 0 clamp(4rem,8vw,6rem)}
.legal h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(2.4rem,5vw,3.4rem);margin:.4rem 0 .4rem}
.legal h2{font-family:'Manrope',system-ui,sans-serif;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink);margin:2.6rem 0 .8rem;padding-top:1.2rem;border-top:1px solid var(--linea)}
.legal p,.legal li{font-size:15px;line-height:1.75;color:var(--ink-soft)}
.legal a{color:var(--ink);border-bottom:1px solid var(--oro)}
.legal ul{padding-left:1.2rem;margin:.4rem 0}
.legal .updated{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--pietra);margin-bottom:2rem}
.legal .note{background:var(--carta);border:1px solid var(--linea);border-left:2px solid var(--orop);padding:16px 20px;font-size:14px}
.legal table{width:100%;border-collapse:collapse;margin:.8rem 0;font-size:14px;background:var(--carta)}
.legal th,.legal td{border:1px solid var(--linea);padding:.65rem .8rem;vertical-align:top;text-align:left;color:var(--ink-soft)}
.legal th{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--pietra)}
.legal td:first-child{font-weight:600;color:var(--ink)}
.legal tr>td:first-child:nth-last-child(2){width:35%}
@media(max-width:640px){.legal table{display:block;overflow-x:auto}}
.legal mark{background:rgba(184,151,90,.25);padding:0 .2em}

/* ---- 404 ---- */
.nf{min-height:calc(100svh - 70px);display:flex;align-items:center;padding:4rem 0}
.nf__inner{width:var(--wrap);margin:0 auto}
.nf h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(2.6rem,6vw,4.2rem);margin:0 0 1rem;max-width:16ch}
.nf p{color:var(--ink-soft);margin:0 0 2rem;max-width:52ch;font-size:16px}
.nf__actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:2.6rem}
.nf__areas{font-size:14px;line-height:2;color:var(--ink-soft)}
.nf__areas a{color:var(--ink);border-bottom:1px solid var(--oro)}

/* ---- villa pages (/villas/<slug>/) and the /villas/ hub, generated by build-villas.mjs ---- */
.vhero{background-position:50% 55%;background-size:cover}
.phero .eyebrow a{color:inherit;border-bottom:1px solid rgba(244,239,230,.4)}
.phero .eyebrow a:hover{border-bottom-color:var(--oro)}
.vfacts{background:var(--notte);color:var(--calce)}
.vfacts__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;margin:0 auto;padding:6px 0}
.vfacts__grid>div{padding:20px 18px 20px 0;border-right:1px solid rgba(244,239,230,.12)}
.vfacts__grid>div:last-child{border-right:0}
.vfacts dt{font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--oro);margin-bottom:8px}
.vfacts dd{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;line-height:1.15;overflow-wrap:anywhere}
@media(max-width:560px){.vfacts__grid{grid-template-columns:1fr 1fr}.vfacts__grid>div{border-right:0;border-bottom:1px solid rgba(244,239,230,.12)}}
.vbody{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.vcopy h2,.vh2,.vfaq h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.1;margin:2.4rem 0 1rem}
.vcopy h2:first-child,.vh2{margin-top:.4rem}
.vcopy p{font-size:16.5px;line-height:1.8;color:var(--ink-soft);margin:0 0 1.1rem}
.vside{position:sticky;top:96px;display:grid;gap:1.2rem}
.vside h3{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--pietra);margin:0}
.vlist{list-style:none;padding:0;margin:0;border-top:1px solid var(--linea)}
.vlist li{position:relative;padding:11px 0 11px 26px;border-bottom:1px solid var(--linea);font-size:14px;color:var(--ink)}
.vlist li::before{content:"";position:absolute;left:0;top:1.3em;width:14px;height:1px;background:var(--orop)}
.vamen{margin:0;font-size:13.5px;line-height:1.9;color:var(--ink-soft)}
.vamen span+span::before{content:"·";margin:0 7px;color:var(--pietra)}
@media(max-width:880px){.vbody{grid-template-columns:1fr}.vside{position:static}}
.vgal{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:1.4rem}
.vgal img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;background:var(--surface-2)}
.vgal__more{margin:1.6rem 0 0}
@media(max-width:560px){.vgal{grid-template-columns:1fr}}
.vfaq{max-width:820px}
.vfaq details{border-bottom:1px solid var(--linea);padding:16px 0}
.vfaq details:first-of-type{border-top:1px solid var(--linea)}
.vfaq summary{cursor:pointer;font-weight:600;font-size:15.5px;color:var(--ink);list-style:none;position:relative;padding-right:28px}
.vfaq summary::-webkit-details-marker{display:none}
.vfaq summary::after{content:"+";position:absolute;right:0;top:-2px;font-size:20px;color:var(--orop)}
.vfaq details[open] summary::after{content:"–"}
.vfaq details p{margin:.8rem 0 0;font-size:15px;line-height:1.7;color:var(--ink-soft)}
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px;margin-top:1.6rem}
.vcard{display:flex;flex-direction:column;background:var(--carta);border:1px solid var(--linea);color:var(--ink);transition:box-shadow .25s,transform .25s}
.vcard:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(20,18,15,.10)}
.vcard__img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--surface-2)}
.vcard__img img{width:100%;height:100%;object-fit:cover;display:block}
.vcard__loc{padding:16px 18px 0;font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--orop)}
.vcard__name{padding:6px 18px 0;font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;line-height:1.1}
.vcard__specs{padding:8px 18px 0;font-size:13px;color:var(--ink-soft)}
.vcard__price{margin-top:auto;padding:14px 18px 18px;font-size:13px;font-weight:600;color:var(--ink)}
.vjump{padding:1.6rem 0;border-bottom:1px solid var(--linea)}
.vzone{scroll-margin-top:80px}
.vzone+.vzone{padding-top:0}

/* ---- Ibiza guides (/guides/), generated by build-guides.mjs ---- */
.gbody{width:min(760px,calc(100% - 2*var(--gut)));margin:0 auto}
.gbody h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(1.9rem,3.2vw,2.5rem);line-height:1.12;margin:3rem 0 1rem;scroll-margin-top:90px}
.gbody h3{font-family:'Manrope',system-ui,sans-serif;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin:2rem 0 .7rem;scroll-margin-top:90px}
.gbody p,.gbody li{font-size:17px;line-height:1.8;color:var(--ink-soft)}
.gbody p{margin:0 0 1.15rem}
.gbody ul,.gbody ol{padding-left:1.3rem;margin:0 0 1.3rem}
.gbody li{margin:.3rem 0}
.gbody a{color:var(--ink);border-bottom:1px solid var(--oro)}
.gbody a:hover{color:var(--orop)}
.gbody strong{color:var(--ink);font-weight:600}
.gtoc{border:1px solid var(--linea);background:var(--carta);padding:20px 24px;margin:0 0 2.4rem}
.gtoc ol{margin:.6rem 0 0;padding-left:1.2rem}
.gtoc li{font-size:15px;margin:.25rem 0}
.gtoc a{border-bottom:0}
.gtable{overflow-x:auto;margin:1.4rem 0 1.8rem}
.gtable table{width:100%;border-collapse:collapse;background:var(--carta);font-size:14.5px}
.gtable th,.gtable td{border:1px solid var(--linea);padding:.7rem .85rem;text-align:left;vertical-align:top;color:var(--ink-soft)}
.gtable th{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--pietra);background:var(--calce)}
.gtable td:first-child{font-weight:600;color:var(--ink)}
.gnote{margin:1.6rem 0}
.gnote p{font-size:15.5px}
.gcta{margin-top:3rem}
.gvillas{margin:1.4rem 0 2rem}
.gauthor{display:grid;grid-template-columns:160px 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center;max-width:900px}
.gauthor img{width:160px;height:160px;object-fit:cover;border-radius:50%;border:2px solid var(--oro)}
.gauthor p{font-size:15.5px;line-height:1.75;color:var(--ink-soft);margin:0 0 .8rem}
@media(max-width:600px){.gauthor{grid-template-columns:1fr}.gauthor img{width:120px;height:120px}}
.ggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;margin-top:1.6rem}
.gcard{display:flex;flex-direction:column;gap:8px;background:var(--carta);border:1px solid var(--linea);padding:22px 22px 24px;color:var(--ink);transition:box-shadow .25s,transform .25s}
.gcard:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(20,18,15,.10)}
.gcard .vcard__loc,.gcard .vcard__name,.gcard .vcard__specs{padding:0}
.gbody .vgrid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.gbody .vcard__name{font-size:21px}
.gbody .vcard a,.gbody a.vcard{border-bottom:1px solid var(--linea)}
