/* ===== Ibiza Beyond · Brand v2 "oltre l'orizzonte" — site skin =====
   Loaded after styles.css and sales.css. Restyles the whole home page in the language of
   the brand v2 concept (brand/v2/web/realestate_concept_board.jpg): limestone and night
   palette, square edges, uppercase tracked labels, Cormorant 500 headings, ink buttons on
   light ground and gold ones on dark. The real-estate section (sales.css) already follows it. */
:root{
  --notte:#14120F; --calce:#F4EFE6; --sabbia:#E9E1D3; --oro:#B8975A; --orop:#A07A33;
  --pietra:#6B6459; --linea:#E1D7C6; --carta:#FBF8F3;
  --bg:#F4EFE6; --bg-2:#EDE6DA; --surface:#FBF8F3; --surface-2:#EFE8DC;
  --line:#E1D7C6; --line-strong:rgba(29,26,21,.26);
  --ink:#1D1A15; --gold:#A07A33; --gold-soft:#8a6828; --on-gold:#14120F;
  --radius:0px; --shadow:0 18px 40px rgba(20,18,15,.12);
  --gut:clamp(1.2rem,4vw,3rem);
  --wrap:calc(min(var(--max),100%) - 2*var(--gut));
  --sun-oro:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-112 -56 224 64'%3E%3Cpath d='M-46,0 A46,46 0 0 1 46,0' fill='none' stroke='%23B8975A' stroke-width='8'/%3E%3Crect x='-110' y='-4' width='220' height='8' fill='%23B8975A'/%3E%3C/svg%3E");
  --sun-calce:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-112 -56 224 64'%3E%3Cpath d='M-46,0 A46,46 0 0 1 46,0' fill='none' stroke='%23F4EFE6' stroke-width='8'/%3E%3Crect x='-110' y='-4' width='220' height='8' fill='%23F4EFE6'/%3E%3C/svg%3E");
}
/* Square edges everywhere; only true circles stay round. */
*{border-radius:0!important}
.cc-fab,.card__heart,.gmark,.cc-dots i,.filters__count{border-radius:50%!important}
body{background:var(--bg)}
h2,h3{font-weight:500;letter-spacing:-.005em}
::selection{background:var(--oro);color:var(--notte)}
.eyebrow{font-size:11px;letter-spacing:.28em;color:var(--orop);font-weight:600}

/* ---- buttons ---- */
.btn{padding:14px 24px;font-size:12px;line-height:1;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  transition:background .2s,color .2s,border-color .2s}
.btn:hover{transform:none}
.btn--solid{background:var(--ink);border-color:var(--ink);color:var(--calce)}
.btn--solid:hover{background:#000;border-color:#000}
.btn--ghost{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn--ghost:hover{background:var(--ink);border-color:var(--ink);color:var(--calce)}
.btn--google{text-transform:none;letter-spacing:.02em;font-size:14px}

/* ---- nav ---- */
.nav{padding:24px var(--gut)}
.nav.is-stuck{background:rgba(244,239,230,.95);backdrop-filter:blur(12px);box-shadow:none;
  border-bottom-color:var(--line);padding:14px var(--gut)}
.nav__brand-logo,.nav.is-stuck .nav__brand-logo{height:auto;width:232px}
.nav__links{gap:2rem}
.nav__links a{position:relative;font-size:13px;font-weight:500;letter-spacing:.02em;padding:6px 0;color:var(--ink)}
.nav__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)}
.nav__links a:hover::after{transform:scaleX(1)}
.nav:not(.is-stuck) .nav__links a{color:rgba(244,239,230,.92)}
.nav:not(.is-stuck) .nav__links a:hover{color:var(--calce)}
.nav__right{gap:1rem}
/* language: "EN ▾" as plain text, as in the concept; the flag hides behind font-size:0 */
.langbtn,.nav:not(.is-stuck) .langbtn{border:0;padding:.5rem .2rem;font-size:0;gap:.4rem;background:none}
.langbtn span{font-size:12px;font-weight:600;letter-spacing:.14em}
.langbtn i{font-size:9px}
.nav:not(.is-stuck) .langbtn{color:var(--calce)}
.langmenu{background:var(--carta);border-color:var(--line);box-shadow:var(--shadow);padding:.3rem}
.langmenu__item{font-size:13px}
.nav__saved,.nav:not(.is-stuck) .nav__saved{border:0;padding:.5rem .3rem;background:none;font-size:12px;letter-spacing:.06em}
.nav:not(.is-stuck) .nav__saved{color:var(--calce)}
.nav__saved b{color:var(--orop)}
.nav__cta{padding:12px 18px;font-size:11.5px;letter-spacing:.2em}
.nav:not(.is-stuck) .btn--ghost{color:var(--calce);border-color:rgba(244,239,230,.85)}
.nav:not(.is-stuck) .btn--ghost:hover{background:var(--calce);color:var(--ink);border-color:var(--calce)}
.nav__user{font-size:12px}
.nav:not(.is-stuck) .nav__user{color:var(--calce)}
.nav__burger,.nav:not(.is-stuck) .nav__burger{border-color:transparent}
@media(max-width:1180px){.nav__links{gap:1.4rem}.nav__links a{font-size:12.5px}}
@media(max-width:880px){
  .nav.is-open{background:var(--calce)}
  .nav__links{background:var(--calce);border-left-color:var(--line)}
  .nav__links a,.nav:not(.is-stuck) .nav__links a{color:var(--ink);font-size:15px;padding:1rem .1rem;border-bottom:1px solid var(--line)}
  .nav__links a::after{display:none}
  .nav__brand-logo,.nav.is-stuck .nav__brand-logo{width:190px}
}
@media(max-width:440px){.nav__brand-logo,.nav.is-stuck .nav__brand-logo{width:156px}}

/* ---- hero ---- */
.hero{min-height:clamp(600px,80svh,780px);align-items:center;padding:130px 0 120px}
.hero__veil{background:
  linear-gradient(to bottom,rgba(20,18,15,.6),rgba(20,18,15,.18) 45%,rgba(20,18,15,.5)),
  linear-gradient(90deg,rgba(20,18,15,.42),rgba(20,18,15,0) 65%)}
.hero__eyebrow{font-family:'Manrope',system-ui,sans-serif;font-size:11px;font-weight:600;letter-spacing:.28em;
  text-transform:uppercase;color:rgba(244,239,230,.86);margin:0 0 22px;text-shadow:none}
.hero__title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(44px,6.2vw,84px);
  line-height:1.02;letter-spacing:-.005em;max-width:15ch;color:var(--calce);text-shadow:0 1px 24px rgba(10,8,4,.22)}
.hero__lead{font-size:18px;line-height:1.55;max-width:600px;margin:26px 0 0;color:rgba(244,239,230,.88);text-shadow:none}

/* ---- hero search (overlaps the bottom edge of the hero) ---- */
.hsearch{position:relative;z-index:5;width:var(--wrap);margin:-46px auto 0;display:grid;
  grid-template-columns:repeat(4,1fr) auto;background:var(--carta);border:1px solid var(--linea);
  box-shadow:0 18px 40px rgba(20,18,15,.12)}
.hsearch__f{display:block;padding:16px 22px;border-right:1px solid var(--linea);cursor:pointer;min-width:0}
.hsearch__f small{display:block;font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;
  color:var(--pietra);margin-bottom:5px}
.hsearch__f input,.hsearch__f select{width:100%;border:0;background:transparent;padding:2px 0;outline:none;
  font:500 15px 'Manrope',system-ui,sans-serif;color:var(--ink);cursor:pointer}
.hsearch__f input::-webkit-calendar-picker-indicator{opacity:.55;cursor:pointer}
.hsearch__f:focus-within{background:#fff}
.hsearch__go{border:0;background:var(--ink);color:var(--calce);padding:0 44px;cursor:pointer;
  font:600 12px 'Manrope',system-ui,sans-serif;letter-spacing:.22em;text-transform:uppercase;transition:background .2s}
.hsearch__go:hover{background:#000}
@media(max-width:860px){
  .hsearch{grid-template-columns:1fr 1fr;margin-top:-36px}
  .hsearch__f{border-bottom:1px solid var(--linea)}
  .hsearch__f:nth-child(2n){border-right:0}
  .hsearch__go{grid-column:1/-1;padding:18px}
}
@media(max-width:520px){
  .hero{min-height:auto;align-items:flex-start;padding:128px 0 84px}
  .hero__lead{font-size:16px}
}

/* ---- section heads: left aligned, like the concept ---- */
.section-head{text-align:left;padding-top:clamp(4rem,8vw,6.5rem)}
.section-head h2{font-size:clamp(2.2rem,4vw,3.25rem);line-height:1.08;margin-top:.2rem}
.section-sub{margin:1rem 0 0;max-width:62ch;font-size:15px}
.section-sub a{color:var(--ink);border-bottom-color:var(--oro)}
.featured{background:var(--bg-2)}
.areas{background:var(--bg-2)}
.areas__group h3{font-weight:500}

/* ---- filters ---- */
.filters{justify-content:flex-start;align-items:flex-end;gap:.8rem}
.filters__search{max-width:420px}
.filters input[type=search],.filters select,.stayfield input[type=date],.stayfield select{
  background:var(--carta);border:1px solid var(--linea);padding:12px 14px;font-size:14px}
.filters input:focus,.filters select:focus,.stayfield input:focus,.stayfield select:focus{border-color:var(--ink)}
.stayfield>span{font-size:10px;font-weight:600;letter-spacing:.22em;color:var(--pietra);padding-left:0}
.filters__chips{width:100%;gap:0 1.6rem;border-bottom:1px solid var(--line);margin-top:.4rem}
.chip{background:none;border:0;border-bottom:1px solid transparent;margin-bottom:-1px;padding:10px 0;
  font-size:13px;color:var(--ink-soft)}
.chip:hover{color:var(--ink);border-color:transparent}
.chip.is-active{background:none;color:var(--ink);border-bottom-color:var(--ink);font-weight:600}
.filters__count{background:var(--ink);color:var(--calce)}
.result-count{max-width:var(--max);margin:1.6rem auto 0;padding:0 var(--gut);text-align:left;font-size:12px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--pietra)}

/* ---- villa + yacht cards (mirror .ibs-card) ---- */
.grid{gap:28px}
.card{background:var(--carta);border:1px solid var(--linea);transition:box-shadow .25s,transform .25s}
.card:hover{transform:translateY(-2px);border-color:var(--linea);box-shadow:0 16px 36px rgba(20,18,15,.10)}
.card:hover .card__media img{transform:scale(1.03)}
.card__fav{background:linear-gradient(to bottom,rgba(20,18,15,.10),rgba(20,18,15,0) 40%,rgba(20,18,15,.28))}
.card__badge{top:14px;left:14px;background:rgba(244,239,230,.92);backdrop-filter:none;border:0;color:var(--ink);
  font-size:10px;font-weight:600;line-height:1;letter-spacing:.18em;padding:7px 9px}
.card__badge--open{background:rgba(244,239,230,.92);color:var(--ink)}
.card__badge--free{background:rgba(20,18,15,.82);color:var(--oro)}
.card__heart{background:rgba(244,239,230,.9);border:0;color:var(--ink);backdrop-filter:none}
.card__heart.is-fav{background:var(--ink);color:var(--oro)}
.card__body{padding:22px 24px 20px;gap:0}
.card__loc{font-size:11px;font-weight:600;letter-spacing:.24em;color:var(--orop)}
.card__name{font-weight:500;font-size:28px;line-height:1.12;margin:10px 0 12px}
.card__specs{flex-wrap:wrap;gap:6px 16px;font-size:13px;font-weight:500;color:#5d564c;margin:0}
.card__specs span{gap:6px}
.card__specs svg{width:16px;height:16px;flex:0 0 auto}
.card__feats{gap:0;margin-top:8px}
.card__feats .tag{background:none;border:0;padding:0;font-size:12px;color:var(--pietra)}
.card__feats .tag+.tag::before{content:"·";margin:0 7px;color:var(--linea)}
.card__feats{margin-bottom:16px}
.card__feats:empty{display:none}
.card__foot{margin-top:auto;padding-top:14px;border-top:1px solid var(--linea)}
.card__price small{font-size:10px;font-weight:600;letter-spacing:.22em;color:var(--pietra);margin-bottom:4px}
.card__price strong{font-weight:500;font-size:25px;color:var(--ink)}
.card__go{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);white-space:nowrap}
/* blind villa: blurred night panel with the rising sun, as the sale teasers */
.card__blind{background:linear-gradient(135deg,#3a332b,#14120F);filter:none;gap:12px}
.card__blind::before{position:static;width:46px;height:14px;background:var(--sun-calce) center/contain no-repeat}
.card__blindlock{display:none}
.card__blindtag{font-size:10px;font-weight:600;letter-spacing:.26em;color:var(--calce)}
.card--blind .card__name{color:var(--ink);font-style:normal}
.modal__media--blind::after{content:"";background:var(--sun-calce) center/64px auto no-repeat;opacity:.8}

/* featured: photo cards with the text on the image (the concept's wide cards) */
.feat-grid{gap:28px}
.feat-card{border:0}
.feat-card:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(20,18,15,.14)}
.feat-card:hover img{transform:scale(1.03)}
.feat-card__body{padding:3.2rem 1.4rem 1.3rem}
.feat-card__name{font-weight:500;font-size:28px}
.feat-card__meta{font-size:11px;letter-spacing:.18em;margin-top:.35rem}
.feat-card__open{top:14px;left:14px;background:rgba(244,239,230,.92);color:var(--ink);font-size:10px;font-weight:600;
  letter-spacing:.18em;padding:7px 9px}
.load-more-wrap .btn{min-width:240px}

/* ---- concierge: numbered services, like the concept's "how access works" steps ---- */
.conc-grid{margin-top:2.6rem;grid-template-columns:repeat(4,1fr);gap:0 28px}
.conc-card{background:none;border:0;border-top:1px solid var(--linea);padding:22px 0 30px}
.conc-card:hover{transform:none;border-color:var(--ink)}
.conc-ico{font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;line-height:1;color:var(--orop);margin-bottom:16px}
.conc-card 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}
.conc-card p{font-size:14px;line-height:1.6}
@media(max-width:980px){.conc-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.conc-grid{grid-template-columns:1fr}}
.re-cta{max-width:var(--max);margin-left:auto;margin-right:auto;justify-content:flex-start;gap:12px}

/* ---- real estate (legacy block, shown while the sale page is off): centred call to
   action under the rising sun, like the concept's owners block ---- */
.realestate:not(.ibs-on) .section-head{text-align:center}
.realestate:not(.ibs-on) .section-head::before{content:"";display:block;width:58px;height:18px;margin:0 auto 20px;
  background:var(--sun-oro) center/contain no-repeat}
.realestate:not(.ibs-on) .section-sub{margin-left:auto;margin-right:auto}
.realestate:not(.ibs-on) .re-cta{justify-content:center}

/* ---- about: dark split with the photograph on the left ---- */
.about{background:var(--notte);border:0;color:var(--calce)}
.about__grid{max-width:none;padding:0;grid-template-columns:1fr 1fr;gap:0;align-items:stretch}
.about__media{order:-1;aspect-ratio:auto;min-height:560px;border:0}
.about__copy{align-self:center;max-width:640px;padding:clamp(3.5rem,7vw,6rem) clamp(1.5rem,6vw,6rem)}
.about__copy .eyebrow{color:var(--oro)}
.about__copy h2{color:var(--calce);font-size:clamp(2.2rem,3.6vw,3rem);line-height:1.1}
.about__copy p{color:rgba(244,239,230,.78)}
.about__list li{color:rgba(244,239,230,.86);padding-left:1.8rem}
.about__list li::before{width:14px;height:1px;top:.8em;background:var(--oro)}
.about .btn--solid{background:var(--oro);border-color:var(--oro);color:var(--notte)}
.about .btn--solid:hover{background:var(--calce);border-color:var(--calce)}
@media(max-width:880px){.about__grid{grid-template-columns:1fr}.about__media{min-height:320px}}

/* ---- contact ---- */
.contact__intro h2{font-weight:500}
.contact__intro .eyebrow{color:var(--orop)}
.contact__form{background:var(--carta);border:1px solid var(--linea)}
.contact__form label{font-size:10px;font-weight:600;letter-spacing:.22em;color:var(--pietra)}
.contact__form input,.contact__form textarea{background:var(--calce);border:1px solid var(--linea);font-size:15px}
.contact__form input:focus,.contact__form textarea:focus{border-color:var(--ink)}
.contact__form .btn{justify-self:start}
.contact__facts-k{font-size:10px;font-weight:600;letter-spacing:.22em;color:var(--pietra)}
.contact__facts-v a{color:var(--ink);border-bottom:1px solid var(--oro)}

/* ---- footer: night, four columns ---- */
.footer{background:var(--notte);color:rgba(244,239,230,.7);text-align:left;border:0;padding:clamp(3.5rem,6vw,5rem) 0 1.6rem}
.footer__top,.footer__notes,.footer__bottom{width:var(--wrap);margin-left:auto;margin-right:auto}
.footer__top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.5rem}
.footer__brand-logo{width:150px;height:auto;margin:0 0 18px -12px}
.footer__brandcol p{margin:0;font-size:13px;line-height:1.65;color:rgba(244,239,230,.7)}
.footer__col h4{margin:0 0 16px;font:600 10px/1.2 'Manrope',system-ui,sans-serif;letter-spacing:.24em;
  text-transform:uppercase;color:var(--oro)}
.footer__col a{display:block;padding:5px 0;font-size:13px;color:rgba(244,239,230,.84);transition:color .2s}
.footer__col a:hover{color:var(--calce)}
.footer__notes{margin-top:3rem;padding-top:1.6rem;border-top:1px solid rgba(244,239,230,.12)}
.footer .footer__company,.footer .footer__fine{max-width:none;margin:.45rem 0;font-size:11.5px;line-height:1.6;
  color:rgba(244,239,230,.55);text-align:left}
.footer .footer__company strong{color:rgba(244,239,230,.78);font-weight:600}
.footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem 1.5rem;
  margin-top:1.2rem;padding-top:.6rem;border-top:1px solid rgba(244,239,230,.12)}
.footer .footer__copy{margin:0;font-size:12px;color:rgba(244,239,230,.55)}
.footer .footer__legal{margin:0;justify-content:flex-end;font-size:12px}
.footer .footer__legal a{color:rgba(244,239,230,.72)}
.footer .footer__legal a:hover{color:var(--calce)}
.footer .footer__legal a:not(:last-child)::after{color:rgba(244,239,230,.3)}
@media(max-width:880px){.footer__top{grid-template-columns:1fr 1fr}.footer__brandcol{grid-column:1/-1}}
@media(max-width:520px){.footer__top{grid-template-columns:1fr}.footer__bottom{flex-direction:column;align-items:flex-start}
  .footer .footer__legal{justify-content:flex-start}}

/* ---- cookie bar, modals, chat ---- */
.cookiebar{background:var(--carta);border-color:var(--linea);box-shadow:0 18px 40px rgba(20,18,15,.18)}
.cookiebar__actions .btn{padding:11px 16px;font-size:11px}
.modal__panel,.auth{background:var(--carta)}
.modal__body h3{font-weight:500}
.modal__loc{color:var(--orop);font-weight:600;letter-spacing:.24em;font-size:11px}
.modal__price strong{color:var(--ink);font-weight:500}
.modal__close{background:rgba(20,18,15,.6)}
.gated__h{color:var(--ink);font-weight:500}
.auth__tab.is-active{background:var(--ink);color:var(--calce)}
.cc-fab{background:var(--notte);border-color:var(--oro);color:var(--oro)}
.cc-panel{background:var(--carta);border-color:var(--linea);box-shadow:0 18px 50px rgba(20,18,15,.35)}
.cc-head,.cc-input{background:var(--calce)}
.cc-msg--user{background:var(--ink);color:var(--calce)}
.cc-msg--bot{background:var(--calce)}
.cc-input button{background:var(--ink);color:var(--calce)}
.cc-input button:hover{background:#000}
