/* ============================================================
   SOLUNA DESIGN SYSTEM
   Geextraheerd uit de bestaande homepage (master).
   Regels 1-360 zijn 1:1 overgenomen uit index.html.
   Wijzig hier -- niet per pagina.
   ============================================================ */

*{box-sizing:border-box;margin:0;padding:0;}
:root{
  --sand:#F6F0E2;--sand2:#EDE5CE;--sand3:#E2D6BA;
  --terra:#C4956A;--terra2:#A67A50;--terra3:#7A5535;
  --sage:#8BAA86;--sage2:#6B8A66;
  --deep:#2A1A0E;--deep2:#3D2B1A;
  --blush:#E9CEBA;--cream:#FBF8F0;
}
html{scroll-behavior:smooth;}
body{background:var(--cream);color:var(--deep);font-family:'Jost',sans-serif;font-weight:300;overflow-x:hidden;}
h1,h2,h3,h4,h5{font-family:'Cormorant Garamond',serif;font-weight:300;}

/* CURSOR */
#cur{position:fixed;width:9px;height:9px;border-radius:50%;background:var(--terra);pointer-events:none;z-index:9999;transform:translate(-50%,-50%);mix-blend-mode:multiply;transition:width .22s,height .22s;}
#curR{position:fixed;width:32px;height:32px;border-radius:50%;border:1px solid rgba(196,149,106,.38);pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:left .28s ease,top .28s ease,width .25s,height .25s;}

/* WIND */
#windLayer{position:fixed;inset:0;pointer-events:none;z-index:2;overflow:hidden;}
.wp{position:absolute;opacity:0;will-change:transform;animation:windFlow linear infinite;font-style:normal;}
@keyframes windFlow{
  0%{opacity:0;transform:translateX(-110px) translateY(0) rotate(0deg) scale(.88);}
  5%{opacity:var(--a);}
  95%{opacity:var(--a);}
  100%{opacity:0;transform:translateX(calc(100vw + 140px)) translateY(var(--dy)) rotate(var(--r)) scale(1.1);}
}

/* BREATH BG CIRCLES */
.bfc{position:fixed;border-radius:50%;border:1px solid rgba(196,149,106,.1);pointer-events:none;z-index:1;animation:bfAnim ease-in-out infinite;}
@keyframes bfAnim{0%,100%{transform:scale(1) translate(0,0);opacity:.22;}50%{transform:scale(1.07) translate(6px,-10px);opacity:.42;}}

/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:500;padding:1.1rem 3rem;display:flex;justify-content:space-between;align-items:center;transition:background .5s,border .5s;}
#nav.solid{background:rgba(251,248,240,.97);backdrop-filter:blur(20px);border-bottom:1px solid rgba(196,149,106,.12);}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1.85rem;color:var(--terra);font-style:italic;text-decoration:none;letter-spacing:.04em;}
#nav.solid .nav-logo{color:var(--terra);}
#nav:not(.solid) .nav-logo{color:rgba(255,255,255,.9);}
#nav:not(.solid) .nav-links a{color:rgba(255,255,255,.72);}
#nav:not(.solid) .nav-links a:hover{color:#fff;}
.nav-links{display:flex;gap:2rem;list-style:none;align-items:center;}
.nav-links a{text-decoration:none;color:var(--deep);font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;opacity:.6;transition:all .3s;cursor:pointer;}
.nav-links a:hover{opacity:1;color:var(--terra);}
.nav-cta{background:var(--terra)!important;color:#fff!important;opacity:1!important;padding:.52rem 1.3rem;border-radius:50px;}
.nav-cta:hover{background:var(--terra2)!important;}

/* BUTTONS */
.btn-p{display:inline-flex;align-items:center;gap:.5rem;background:var(--terra);color:#fff;padding:.88rem 2.2rem;border-radius:50px;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;border:none;cursor:pointer;transition:all .3s;text-decoration:none;font-family:'Jost',sans-serif;}
.btn-p:hover{background:var(--terra2);transform:translateY(-2px);box-shadow:0 12px 28px rgba(196,149,106,.38);}
.btn-g{display:inline-flex;align-items:center;gap:.5rem;border:1.5px solid rgba(196,149,106,.42);color:var(--terra2);padding:.88rem 2.2rem;border-radius:50px;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;transition:all .3s;text-decoration:none;background:transparent;cursor:pointer;font-family:'Jost',sans-serif;}
.btn-g:hover{background:var(--terra);color:#fff;border-color:var(--terra);transform:translateY(-2px);}
.btn-wh{border:1.5px solid rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.09);padding:.85rem 2.1rem;border-radius:50px;font-size:.74rem;letter-spacing:.15em;text-transform:uppercase;transition:all .3s;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;font-family:'Jost',sans-serif;}
.btn-wh:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.65);}

/* SECTIONS */
section{padding:5.5rem 2rem;position:relative;z-index:3;}
.wrap{max-width:1020px;margin:0 auto;}
.wrap-sm{max-width:700px;margin:0 auto;}
.stag{font-size:.62rem;letter-spacing:.42em;color:var(--terra);text-transform:uppercase;display:block;margin-bottom:.85rem;}
.stit{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4.5vw,3.2rem);line-height:1.14;color:var(--deep);margin-bottom:1.4rem;font-weight:300;}
.stit em{font-style:italic;color:var(--terra);}
.sdiv{width:48px;height:1px;background:linear-gradient(90deg,var(--terra),transparent);margin:0 auto 3rem;opacity:.42;}

/* HERO */
.hero{position:relative;height:100vh;display:flex;overflow:hidden;}
.hero-img{position:absolute;inset:0;}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:55% center;}
.hero-img::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,rgba(42,26,14,.78) 0%,rgba(42,26,14,.45) 52%,rgba(42,26,14,.18) 100%);}
.hero-text{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;padding:7rem 4rem 5rem;max-width:640px;}
.eyebrow{display:flex;align-items:center;gap:.7rem;margin-bottom:1.8rem;}
.eyebrow span{font-size:.6rem;letter-spacing:.4em;color:rgba(255,255,255,.62);text-transform:uppercase;}
.edot{width:3px;height:3px;border-radius:50%;background:rgba(196,149,106,.7);flex-shrink:0;}
.hero h1{font-size:clamp(3.4rem,6vw,5.2rem);line-height:1.06;color:#fff;margin-bottom:1.9rem;}
.hero h1 em{color:rgba(196,149,106,.95);font-style:italic;}
.hl{display:block;overflow:hidden;}
.hl span{display:block;animation:lUp 1.1s cubic-bezier(.16,1,.3,1) both;}
.hl:nth-child(1) span{animation-delay:.06s;}
.hl:nth-child(2) span{animation-delay:.22s;}
.hl:nth-child(3) span{animation-delay:.38s;}
@keyframes lUp{from{transform:translateY(105%);}to{transform:translateY(0);}}
.hero-sub{font-size:.97rem;line-height:2.05;color:rgba(255,255,255,.7);margin-bottom:2.5rem;max-width:420px;animation:fUp 1s .7s both;}
@keyframes fUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;animation:fUp 1s .9s both;}
.hero-stats{display:flex;gap:2.2rem;margin-top:3rem;padding-top:2.5rem;border-top:1px solid rgba(255,255,255,.1);animation:fUp 1s 1.1s both;flex-wrap:wrap;}
.sv{font-family:'Cormorant Garamond',serif;font-size:1.85rem;color:var(--terra);line-height:1;}
.sl{font-size:.57rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-top:.2rem;}
.hero-right{position:absolute;right:6%;top:50%;transform:translateY(-50%);z-index:2;}
.hrings{position:relative;width:280px;height:280px;display:flex;align-items:center;justify-content:center;}
.hr{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.14);animation:hbr 7s ease-in-out infinite;}
.hr1{width:280px;height:280px;animation-delay:0s;}
.hr2{width:208px;height:208px;animation-delay:1.1s;border-color:rgba(255,255,255,.2);}
.hr3{width:142px;height:142px;animation-delay:2.2s;border-color:rgba(255,255,255,.28);}
@keyframes hbr{0%,100%{transform:scale(1);opacity:.5;}50%{transform:scale(1.1);opacity:1;}}
.horb{width:88px;height:88px;border-radius:50%;background:radial-gradient(circle at 38% 38%,rgba(196,149,106,.85),rgba(139,170,134,.45));display:flex;align-items:center;justify-content:center;font-size:1.7rem;z-index:2;}
.hbar{position:absolute;bottom:-3rem;left:50%;transform:translateX(-50%);text-align:center;width:150px;}
.hbt{width:100%;height:2px;background:rgba(255,255,255,.13);border-radius:1px;overflow:hidden;margin:0 auto .38rem;}
.hbf{height:100%;width:0%;background:linear-gradient(90deg,var(--terra),var(--sage));border-radius:1px;}
.hbl{font-size:.55rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.4);}
.scroll-ind{position:absolute;bottom:2.2rem;left:50%;transform:translateX(-50%);z-index:4;text-align:center;color:rgba(255,255,255,.32);font-size:.56rem;letter-spacing:.25em;text-transform:uppercase;}
.sline{width:1px;height:34px;background:linear-gradient(180deg,rgba(255,255,255,.32),transparent);margin:0 auto .5rem;animation:slin 2s ease-in-out infinite;}
@keyframes slin{0%,100%{opacity:.32;transform:scaleY(1);}50%{opacity:.75;transform:scaleY(1.25);}}

/* QUOTE */
.q-sec{background:var(--deep2);padding:5rem 2rem;text-align:center;position:relative;overflow:hidden;}
.q-sec::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 58% 78% at 50% 50%,rgba(196,149,106,.07) 0%,transparent 70%);}
.q-line{font-family:'Cormorant Garamond',serif;font-size:clamp(1.5rem,3.5vw,2.5rem);color:rgba(255,255,255,.9);font-style:italic;line-height:1.55;max-width:700px;margin:0 auto 1.2rem;font-weight:300;position:relative;z-index:1;}
.q-by{font-size:.63rem;letter-spacing:.3em;color:rgba(196,149,106,.62);text-transform:uppercase;position:relative;z-index:1;}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:5fr 7fr;gap:5.5rem;align-items:start;}
.mt-wrap{position:relative;}
.mt-frame{border-radius:40% 60% 50% 50%/46% 46% 54% 54%;overflow:hidden;aspect-ratio:3/4;}
.mt-frame img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.mt-badge{position:absolute;bottom:-1rem;right:-1rem;width:68px;height:68px;border-radius:50%;background:var(--sand);border:1px solid rgba(196,149,106,.22);display:flex;align-items:center;justify-content:center;font-size:1.7rem;}
.ab p{font-size:.95rem;line-height:2.1;color:var(--deep);opacity:.77;margin-bottom:1.2rem;}
.ab blockquote{border-left:2px solid var(--terra);padding-left:1.4rem;margin:1.9rem 0;font-family:'Cormorant Garamond',serif;font-size:1.32rem;font-style:italic;color:var(--terra2);line-height:1.6;}
.tags{display:flex;flex-wrap:wrap;gap:.42rem;margin-top:1.6rem;}
.tag{background:var(--sand);border:1px solid rgba(196,149,106,.2);border-radius:50px;padding:.3rem .85rem;font-size:.67rem;letter-spacing:.07em;color:var(--terra2);}
.clinks{margin-top:1.4rem;display:flex;flex-direction:column;gap:.55rem;}
.clink{display:flex;align-items:center;gap:.5rem;font-size:.83rem;color:var(--deep);opacity:.6;text-decoration:none;transition:all .2s;cursor:pointer;}
.clink:hover{opacity:1;color:var(--terra);}

/* TRUST */
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;margin-top:3rem;}
.tc{background:#fff;border:1px solid rgba(196,149,106,.12);border-radius:22px;padding:2rem 1.6rem;transition:all .4s;}
.tc:hover{transform:translateY(-4px);box-shadow:0 16px 44px rgba(42,26,14,.09);border-color:rgba(196,149,106,.28);}
.tc-sym{font-size:1.5rem;margin-bottom:1rem;display:block;}
.tc h4{font-family:'Cormorant Garamond',serif;font-size:1.18rem;color:var(--deep);margin-bottom:.65rem;font-weight:400;}
.tc p{font-size:.82rem;line-height:1.88;color:var(--deep);opacity:.63;}

/* STRIP */
.strip-outer{overflow:hidden;background:var(--deep);padding:0;line-height:0;}
.strip-track{display:flex;gap:3px;animation:stripScroll 44s linear infinite;}
.strip-track:hover{animation-play-state:paused;}
@keyframes stripScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.strip-img{flex-shrink:0;width:350px;height:240px;overflow:hidden;position:relative;}
.strip-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,filter .5s;filter:saturate(.82);}
.strip-img:hover img{transform:scale(1.06);filter:saturate(1.12);}
.strip-cap{position:absolute;bottom:.7rem;left:.9rem;font-size:.62rem;letter-spacing:.14em;color:rgba(255,255,255,.6);font-family:'Cormorant Garamond',serif;font-style:italic;}

/* AANBOD */
.aanbod-hero{border-radius:28px;overflow:hidden;aspect-ratio:16/7;margin-bottom:3.5rem;}
.aanbod-hero img{width:100%;height:100%;object-fit:cover;object-position:center 30%;}
.aanbod-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;}
.ac{background:#fff;border:1px solid rgba(196,149,106,.13);border-radius:22px;padding:2.2rem 1.8rem;transition:all .4s;position:relative;overflow:hidden;}
.ac::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(196,149,106,.04),transparent);opacity:0;transition:opacity .4s;}
.ac:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(42,26,14,.1);border-color:rgba(196,149,106,.3);}
.ac:hover::after{opacity:1;}
.ac-sym{font-size:1.5rem;margin-bottom:1.1rem;display:block;}
.ac h3{font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:var(--deep);margin-bottom:.72rem;font-weight:400;}
.ac p{font-size:.82rem;line-height:1.9;color:var(--deep);opacity:.63;}
.ac-lnk{display:inline-block;margin-top:1rem;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--terra);text-decoration:none;border-bottom:1px solid rgba(196,149,106,.3);padding-bottom:1px;transition:border-color .3s;cursor:pointer;}
.ac-lnk:hover{border-color:var(--terra);}
.ac-feat{background:var(--deep2);border-color:transparent;grid-column:span 2;}
.ac-feat h3{color:#fff;font-size:1.5rem;}
.ac-feat p{color:rgba(255,255,255,.62);opacity:1;}
.ac-feat-inner{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;}
.ac-feat-img{border-radius:16px;overflow:hidden;aspect-ratio:4/3;}
.ac-feat-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.78);}

/* BW EXERCISE */
.bw-sec{background:var(--deep2);overflow:hidden;position:relative;}
.bw-glow{position:absolute;inset:0;background:radial-gradient(ellipse 55% 75% at 50% 50%,rgba(139,170,134,.09) 0%,transparent 70%);}
.bw-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;}
.bwt .stag{color:rgba(255,255,255,.36);}
.bwt .stit{color:#fff;}
.bwt p{color:rgba(255,255,255,.6);line-height:2;font-size:.92rem;margin-bottom:1.4rem;}
.bwsteps{margin-top:1.8rem;}
.bwst{display:flex;align-items:center;gap:.9rem;padding:.72rem 0;border-bottom:1px solid rgba(255,255,255,.05);}
.bwn{width:28px;height:28px;border-radius:50%;border:1px solid rgba(196,149,106,.38);display:flex;align-items:center;justify-content:center;font-size:.68rem;color:var(--terra);flex-shrink:0;}
.bwst p{color:rgba(255,255,255,.6);font-size:.82rem;margin:0;line-height:1.45;}
.bwst p strong{color:rgba(255,255,255,.9);font-weight:400;}
.bwzone{display:flex;flex-direction:column;align-items:center;gap:1.8rem;}
.orb-wrap{position:relative;width:250px;height:250px;display:flex;align-items:center;justify-content:center;}
.oring{position:absolute;border-radius:50%;border:1px solid rgba(196,149,106,.2);animation:oring 6s ease-in-out infinite;}
.o1{width:250px;height:250px;animation-delay:0s;}
.o2{width:188px;height:188px;animation-delay:.95s;border-color:rgba(196,149,106,.3);}
.o3{width:130px;height:130px;animation-delay:1.9s;border-color:rgba(196,149,106,.42);}
@keyframes oring{0%,100%{transform:scale(1);opacity:.5;}50%{transform:scale(1.11);opacity:1;}}
.main-orb{width:94px;height:94px;border-radius:50%;background:radial-gradient(circle at 38% 38%,rgba(196,149,106,.9),rgba(139,170,134,.5));display:flex;align-items:center;justify-content:center;transition:transform .12s linear;z-index:2;font-size:1.75rem;}
.bwdisp{text-align:center;}
.bwph{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-style:italic;color:rgba(255,255,255,.86);margin-bottom:.22rem;}
.bwct{font-size:3.1rem;font-family:'Cormorant Garamond',serif;color:#fff;line-height:1;}
.bwbtn{background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.2);color:#fff;padding:.85rem 1.9rem;border-radius:50px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:all .3s;font-family:'Jost',sans-serif;}
.bwbtn:hover{background:rgba(255,255,255,.16);}

/* AGENDA */
.agenda-header{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1rem;margin-bottom:2.5rem;}
.agenda-list{display:grid;gap:.9rem;}
.agi{display:grid;grid-template-columns:70px 1fr auto;gap:1.8rem;align-items:center;background:#fff;border:1px solid rgba(196,149,106,.13);border-radius:18px;padding:1.35rem 1.8rem;transition:all .3s;}
.agi:hover{border-color:rgba(196,149,106,.32);box-shadow:0 8px 24px rgba(42,26,14,.07);}
.agd{text-align:center;border-right:1px solid rgba(196,149,106,.13);padding-right:1.8rem;}
.agday{font-family:'Cormorant Garamond',serif;font-size:2rem;color:var(--terra);line-height:1;}
.agmth{font-size:.56rem;letter-spacing:.2em;text-transform:uppercase;color:var(--terra);opacity:.58;}
.aginfo h4{font-family:'Cormorant Garamond',serif;font-size:1.1rem;color:var(--deep);margin-bottom:.25rem;font-weight:400;}
.aginfo p{font-size:.74rem;color:var(--deep);opacity:.48;line-height:1.45;}
.agtag{background:var(--sand);border:1px solid rgba(196,149,106,.2);border-radius:50px;padding:.36rem 1rem;font-size:.68rem;color:var(--terra2);white-space:nowrap;text-decoration:none;display:inline-block;transition:all .2s;cursor:pointer;}
.agtag:hover{background:var(--terra);color:#fff;border-color:var(--terra);}
.agtag.vol{background:rgba(196,149,106,.08);color:var(--terra3);}

/* ADMIN */
.admin-toggle{background:none;border:1px dashed rgba(196,149,106,.28);color:var(--terra2);padding:.5rem 1.1rem;border-radius:50px;font-size:.66rem;letter-spacing:.1em;cursor:pointer;font-family:'Jost',sans-serif;transition:all .3s;margin-top:1.5rem;}
.admin-toggle:hover{background:rgba(196,149,106,.08);}
#adminPanel{display:none;margin-top:1.5rem;background:#fff;border:1px solid rgba(196,149,106,.18);border-radius:20px;padding:2rem;}
#adminPanel.open{display:block;}
.admin-ttl{font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--deep);margin-bottom:.4rem;font-weight:400;}
.admin-sub{font-size:.78rem;opacity:.52;margin-bottom:1.5rem;line-height:1.6;}
.session-editor{display:grid;gap:.75rem;}
.srow{background:var(--sand);border-radius:12px;padding:.9rem 1rem;display:grid;grid-template-columns:52px 62px 1fr 1fr 80px 34px;gap:.6rem;align-items:center;}
.srow label{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--terra2);opacity:.65;display:block;margin-bottom:.18rem;}
.srow input,.srow select{width:100%;border:1px solid rgba(196,149,106,.22);border-radius:7px;padding:.38rem .55rem;font-size:.78rem;font-family:'Jost',sans-serif;color:var(--deep);background:#fff;outline:none;}
.srow input:focus,.srow select:focus{border-color:var(--terra);}
.srow-wa{grid-column:1/-1;background:transparent;padding:.2rem 0 0;}
.srow-wa label{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--terra2);opacity:.65;display:block;margin-bottom:.18rem;}
.srow-wa input{width:100%;border:1px solid rgba(196,149,106,.18);border-radius:7px;padding:.38rem .55rem;font-size:.78rem;font-family:'Jost',sans-serif;color:var(--deep);background:#fff;outline:none;}
.btn-del{background:rgba(196,149,106,.1);border:none;border-radius:7px;width:32px;height:32px;cursor:pointer;color:var(--terra2);font-size:.95rem;display:flex;align-items:center;justify-content:center;transition:background .2s;align-self:flex-end;}
.btn-del:hover{background:rgba(196,149,106,.25);}
.admin-actions{display:flex;gap:.8rem;margin-top:1rem;flex-wrap:wrap;align-items:center;}
.btn-add{background:var(--terra);color:#fff;border:none;border-radius:50px;padding:.6rem 1.4rem;font-size:.7rem;letter-spacing:.12em;cursor:pointer;font-family:'Jost',sans-serif;transition:all .3s;}
.btn-add:hover{background:var(--terra2);}
.btn-save{background:var(--sage);color:#fff;border:none;border-radius:50px;padding:.6rem 1.4rem;font-size:.7rem;letter-spacing:.12em;cursor:pointer;font-family:'Jost',sans-serif;transition:all .3s;}
.btn-save:hover{background:var(--sage2);}
.save-ok{font-size:.75rem;color:var(--sage);opacity:0;transition:opacity .4s;}
.save-ok.show{opacity:1;}

/* IBIZA */
.ibiza-wrap{position:relative;overflow:hidden;}
.ibiza-photo{width:100%;height:84vh;position:relative;}
.ibiza-photo img{width:100%;height:100%;object-fit:cover;object-position:center 38%;}
.ibiza-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,26,14,.22) 0%,rgba(42,26,14,.6) 58%,rgba(42,26,14,.88) 100%);}
.ibiza-content{position:absolute;bottom:0;left:0;right:0;z-index:2;text-align:center;padding:3.5rem 2rem 5rem;}
.ibiza-badge{display:inline-block;background:rgba(139,170,134,.22);border:1px solid rgba(139,170,134,.42);color:rgba(255,255,255,.82);padding:.4rem 1.1rem;border-radius:50px;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;margin-bottom:1.2rem;}
.ibiza-content .stit{color:#fff;max-width:540px;margin:0 auto 1rem;}
.ibiza-content p{color:rgba(255,255,255,.62);max-width:460px;margin:0 auto 2.2rem;line-height:2;font-size:.93rem;}
.ibiza-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* REVIEWS */
.rev-header{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1rem;margin-bottom:3rem;}
.rev-score{display:flex;align-items:center;gap:1.2rem;}
.score-big{font-family:'Cormorant Garamond',serif;font-size:3.8rem;color:var(--terra);line-height:1;}
.score-stars{color:var(--terra);font-size:1.05rem;}
.score-meta{font-size:.66rem;color:var(--deep);opacity:.38;margin-top:.12rem;}
.rev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(265px,1fr));gap:1.3rem;}
.rc{background:#fff;border-radius:20px;padding:1.9rem;border:1px solid rgba(196,149,106,.1);position:relative;}
.rc::before{content:'"';position:absolute;top:.8rem;right:1.4rem;font-family:'Cormorant Garamond',serif;font-size:2.8rem;color:rgba(196,149,106,.12);line-height:1;}
.rcst{color:var(--terra);font-size:.82rem;margin-bottom:.88rem;}
.rctx{font-size:.88rem;line-height:1.9;color:var(--deep);opacity:.78;font-style:italic;margin-bottom:1.1rem;}
.rcau{font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);}
.rcdt{font-size:.64rem;color:var(--deep);opacity:.27;margin-top:.1rem;}
.rc-feat{background:var(--deep);border-color:transparent;}
.rc-feat .rctx{color:rgba(255,255,255,.82);opacity:1;font-size:1rem;line-height:1.85;}
.rc-feat .rcau{color:rgba(196,149,106,.8);}
.rc-feat .rcdt{color:rgba(255,255,255,.28);}
.rc-feat .rcst{color:rgba(196,149,106,.9);}
.rc-feat::before{color:rgba(196,149,106,.15);}

/* GALLERY */
.gal-sec{background:var(--deep);padding:5rem 2rem;}
.gal-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:275px 275px;gap:5px;margin-top:2.2rem;}
.gi{overflow:hidden;border-radius:3px;position:relative;}
.gi img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease,filter .5s;filter:saturate(.86);}
.gi:hover img{transform:scale(1.06);filter:saturate(1.12);}
.gi-lg{grid-column:span 2;}
.gi-tall{grid-row:span 2;}
.gi-ov{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(42,26,14,.42));opacity:0;transition:opacity .4s;}
.gi:hover .gi-ov{opacity:1;}

/* INSTAGRAM */
.insta-sec{background:var(--sand);padding:4rem 2rem;text-align:center;}
.insta-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-top:2rem;border-radius:16px;overflow:hidden;}
.insta-img{aspect-ratio:1;overflow:hidden;position:relative;background:var(--sand2);}
.insta-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .4s;filter:saturate(.85);}
.insta-img:hover img{transform:scale(1.08);filter:saturate(1.1);}
.insta-overlay{position:absolute;inset:0;background:rgba(42,26,14,.35);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s;}
.insta-img:hover .insta-overlay{opacity:1;}
.insta-icon{color:#fff;font-size:1.2rem;}
.insta-placeholder{aspect-ratio:1;background:linear-gradient(135deg,var(--sand2),var(--blush));display:flex;align-items:center;justify-content:center;font-size:1.5rem;opacity:.5;}

/* LOCATIE */
.locatie-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.locatie-img{border-radius:28px;overflow:hidden;aspect-ratio:4/3;}
.locatie-img img{width:100%;height:100%;object-fit:cover;}
.locatie-text p{font-size:.94rem;line-height:2.05;color:var(--deep);opacity:.76;margin-bottom:1.1rem;}
.locatie-specs{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-top:1.8rem;}
.lspec{background:var(--sand);border-radius:14px;padding:1.1rem 1.2rem;}
.lspec-label{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);opacity:.7;display:block;margin-bottom:.25rem;}
.lspec-val{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--deep);}

/* CONTACT STRIP */
.contact-sec{background:var(--terra);padding:5rem 2rem;text-align:center;}
.contact-sec h2{font-family:'Cormorant Garamond',serif;font-size:2.8rem;color:#fff;font-style:italic;margin-bottom:.5rem;font-weight:300;}
.contact-sec p{color:rgba(255,255,255,.74);margin-bottom:2.2rem;font-size:.96rem;}
.contact-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.cw{background:#fff;color:var(--terra);padding:.9rem 2.2rem;border-radius:50px;text-decoration:none;font-size:.76rem;letter-spacing:.15em;text-transform:uppercase;transition:all .3s;display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;}
.cw:hover{background:var(--sand);transform:translateY(-2px);}

/* FOOTER */
footer{background:var(--deep);color:rgba(255,255,255,.5);padding:4rem 2rem 3rem;}
.ft{max-width:1020px;margin:0 auto;}
.ft-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem;margin-bottom:3rem;}
.flogo{font-family:'Cormorant Garamond',serif;font-size:1.9rem;color:var(--terra);font-style:italic;display:block;margin-bottom:.75rem;}
.fbio{font-size:.79rem;line-height:1.9;max-width:270px;}
.fc h5{font-size:.61rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.24);margin-bottom:1rem;}
.fc a{display:block;font-size:.79rem;color:rgba(255,255,255,.47);text-decoration:none;margin-bottom:.5rem;transition:color .2s;cursor:pointer;}
.fc a:hover{color:var(--terra);}
.ft-bot{border-top:1px solid rgba(255,255,255,.06);padding-top:1.7rem;display:flex;justify-content:space-between;font-size:.66rem;flex-wrap:wrap;gap:.7rem;}

/* CHAT */
.chat-fab{position:fixed;bottom:2rem;right:2rem;width:64px;height:64px;border-radius:50%;background:var(--terra);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:600;animation:fabPulse 3.5s ease-in-out infinite;}
@keyframes fabPulse{0%,100%{box-shadow:0 4px 20px rgba(196,149,106,.5);}50%{box-shadow:0 4px 44px rgba(196,149,106,.8);}}
.chat-win{position:fixed;bottom:6.3rem;right:2rem;width:min(400px,calc(100vw - 2rem));background:var(--cream);border-radius:26px;box-shadow:0 24px 80px rgba(42,26,14,.22);z-index:599;flex-direction:column;overflow:hidden;border:1px solid rgba(196,149,106,.18);max-height:585px;display:none;}
.chat-win.open{display:flex;}
.chat-head{background:linear-gradient(135deg,var(--terra),var(--terra2));padding:1.15rem 1.4rem;display:flex;align-items:center;gap:.88rem;}
.c-av{width:44px;height:44px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid rgba(255,255,255,.28);}
.c-av img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.c-info h4{color:#fff;font-family:'Cormorant Garamond',serif;font-size:1.12rem;font-weight:300;}
.c-info p{color:rgba(255,255,255,.66);font-size:.64rem;letter-spacing:.07em;}
.c-x{margin-left:auto;background:none;border:none;color:rgba(255,255,255,.6);font-size:1.45rem;cursor:pointer;line-height:1;padding:0 .18rem;}
.chat-body{flex:1;overflow-y:auto;padding:1.1rem;display:flex;flex-direction:column;gap:.72rem;}
.msg{max-width:88%;padding:.78rem 1rem;font-size:.84rem;line-height:1.65;animation:msgIn .3s ease;white-space:pre-line;}
@keyframes msgIn{from{opacity:0;transform:translateY(5px);}to{opacity:1;transform:translateY(0);}}
.bot{background:var(--sand);color:var(--deep);border-radius:15px 15px 15px 4px;align-self:flex-start;}
.usr{background:var(--terra);color:#fff;border-radius:15px 15px 4px 15px;align-self:flex-end;}
.typing{background:var(--sand);border-radius:15px 15px 15px 4px;align-self:flex-start;padding:.78rem 1.1rem;}
.tdots{display:flex;gap:4px;align-items:center;}
.tdots span{width:6px;height:6px;border-radius:50%;background:rgba(196,149,106,.58);animation:tdot 1.2s ease-in-out infinite;}
.tdots span:nth-child(2){animation-delay:.2s;}
.tdots span:nth-child(3){animation-delay:.4s;}
@keyframes tdot{0%,80%,100%{transform:scale(.65);opacity:.4;}40%{transform:scale(1);opacity:1;}}
.chat-opts{display:flex;flex-wrap:wrap;gap:.42rem;padding:0 1rem .75rem;}
.copt{background:#fff;border:1.5px solid rgba(196,149,106,.26);border-radius:50px;padding:.42rem .88rem;font-size:.72rem;color:var(--terra2);cursor:pointer;transition:all .2s;font-family:'Jost',sans-serif;line-height:1.3;}
.copt:hover{background:var(--terra);color:#fff;border-color:var(--terra);}
.c-ir{display:flex;gap:.45rem;padding:.65rem .88rem .88rem;border-top:1px solid rgba(196,149,106,.1);}
.c-inp{flex:1;border:1px solid rgba(196,149,106,.22);border-radius:50px;padding:.58rem .88rem;font-size:.82rem;background:#fff;font-family:'Jost',sans-serif;color:var(--deep);outline:none;}
.c-send{background:var(--terra);border:none;border-radius:50%;width:34px;height:34px;cursor:pointer;color:#fff;font-size:.92rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s;}
.c-send:hover{background:var(--terra2);}
.bm-w{background:var(--sand2);border-radius:11px;padding:1rem;margin-top:.25rem;text-align:center;}
.bm-orb{width:78px;height:78px;border-radius:50%;background:radial-gradient(circle,rgba(196,149,106,.7),rgba(139,170,134,.4));margin:.55rem auto;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:transform 3.5s ease-in-out;}
.bm-ph{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-style:italic;color:var(--deep);margin-bottom:.18rem;}
.bm-ct{font-family:'Cormorant Garamond',serif;font-size:1.85rem;color:var(--terra);}

/* RESPONSIVE */
@media(max-width:960px){
  .hero-right{display:none;}
  .about-grid,.bw-grid,.locatie-grid{grid-template-columns:1fr;gap:3rem;}
  .trust-grid,.aanbod-cards{grid-template-columns:1fr 1fr;}
  .ac-feat{grid-column:auto;}.ac-feat-inner{grid-template-columns:1fr;}
  .gal-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;}.gi-lg,.gi-tall{grid-column:auto;grid-row:auto;}
  .ft-top{grid-template-columns:1fr;gap:2.5rem;}
  #nav{padding:1rem 1.5rem;}.nav-links li:nth-child(n+5){display:none;}
  .insta-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:580px){
  .trust-grid,.aanbod-cards{grid-template-columns:1fr;}
  .agi{grid-template-columns:55px 1fr;}.agtag{display:none;}
  .hero-text{padding:6rem 1.5rem 3rem;}
  .locatie-specs{grid-template-columns:1fr;}
  .gal-grid{grid-template-columns:1fr;}
  .insta-grid{grid-template-columns:repeat(2,1fr);}
  .srow{grid-template-columns:1fr 1fr;grid-template-rows:auto;}
}

/* ============================================================
   SOLUNA — GEDEELDE UITBREIDINGEN
   Zelfde tokens, zelfde idioom als hierboven.
   Gebruikt door homepage en alle subpagina's.
   ============================================================ */

/* ---- PAGINA-HERO (kortere variant van .hero) ---- */
.phero{position:relative;min-height:74vh;display:flex;overflow:hidden;}
.phero .hero-img{position:absolute;inset:0;}
.phero .hero-img img{width:100%;height:100%;object-fit:cover;}
.phero .hero-img::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,rgba(42,26,14,.8) 0%,rgba(42,26,14,.5) 52%,rgba(42,26,14,.22) 100%);}
.phero-text{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;padding:9rem 4rem 4.5rem;max-width:700px;}
.phero h1{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(2.5rem,5vw,4.2rem);line-height:1.08;color:#fff;margin-bottom:1.6rem;}
.phero h1 em{color:rgba(196,149,106,.95);font-style:italic;}
.phero-sub{font-size:.97rem;line-height:2.05;color:rgba(255,255,255,.72);margin-bottom:2.3rem;max-width:470px;animation:fUp 1s .5s both;}
.phero .hero-btns{animation:fUp 1s .7s both;}
.phero .eyebrow{animation:fUp 1s .25s both;}
.phero h1 .hl span{animation:lUp 1.1s cubic-bezier(.16,1,.3,1) both;}
.phero-right{position:absolute;right:7%;top:50%;transform:translateY(-50%);z-index:2;}

/* ---- BREADCRUMB ---- */
.crumb{position:relative;z-index:3;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:1.5rem;}
.crumb a{color:rgba(255,255,255,.65);text-decoration:none;transition:color .25s;}
.crumb a:hover{color:var(--terra);}
.crumb span{opacity:.45;margin:0 .45rem;}

/* ---- TEKSTBLOKKEN ---- */
.prose p{font-size:.95rem;line-height:2.1;color:var(--deep);opacity:.77;margin-bottom:1.2rem;}
.prose p:last-child{margin-bottom:0;}
.prose h3{font-family:'Cormorant Garamond',serif;font-size:1.42rem;color:var(--deep);font-weight:400;margin:2.2rem 0 .9rem;}
.prose blockquote{border-left:2px solid var(--terra);padding-left:1.4rem;margin:1.9rem 0;font-family:'Cormorant Garamond',serif;font-size:1.32rem;font-style:italic;color:var(--terra2);line-height:1.6;}
.lead{font-size:1.05rem;line-height:2;color:var(--deep);opacity:.72;max-width:640px;margin:0 auto 2.6rem;text-align:center;}
.lead-l{text-align:left;margin-left:0;}

/* ---- CHECKLIJST ---- */
.lchk{list-style:none;display:grid;gap:.72rem;margin-top:1.4rem;}
.lchk li{display:flex;align-items:flex-start;gap:.75rem;font-size:.88rem;line-height:1.8;color:var(--deep);opacity:.74;}
.lchk li::before{content:'✦';color:var(--terra);flex-shrink:0;font-size:.72rem;line-height:1.95;}
.lchk-w li{color:rgba(255,255,255,.68);opacity:1;}
.lchk-w li::before{color:rgba(196,149,106,.9);}

/* ---- STAPPEN (idioom van .bwst/.bwn) ---- */
.steps{display:grid;gap:0;margin-top:1.9rem;}
.stp{display:flex;align-items:flex-start;gap:1.1rem;padding:1.15rem 0;border-bottom:1px solid rgba(196,149,106,.13);}
.stp:last-child{border-bottom:none;}
.stpn{width:32px;height:32px;border-radius:50%;border:1px solid rgba(196,149,106,.38);display:flex;align-items:center;justify-content:center;font-size:.72rem;color:var(--terra);flex-shrink:0;margin-top:.1rem;}
.stp h4{font-family:'Cormorant Garamond',serif;font-size:1.12rem;color:var(--deep);font-weight:400;margin-bottom:.3rem;}
.stp p{font-size:.85rem;line-height:1.85;color:var(--deep);opacity:.63;}
.steps-d .stp{border-color:rgba(255,255,255,.07);}
.steps-d .stp h4{color:rgba(255,255,255,.92);}
.steps-d .stp p{color:rgba(255,255,255,.6);opacity:1;}

/* ---- SPLIT (idioom van .locatie-grid) ---- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.split-rev .split-img{order:2;}
.split-img{border-radius:28px;overflow:hidden;aspect-ratio:4/3;}
.split-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease;}
.split-img:hover img{transform:scale(1.04);}

/* ---- FAQ (idioom van .ac card) ---- */
.faq{display:grid;gap:.8rem;max-width:820px;margin:0 auto;}
.fq{background:#fff;border:1px solid rgba(196,149,106,.13);border-radius:18px;overflow:hidden;transition:border-color .3s,box-shadow .3s;}
.fq:hover{border-color:rgba(196,149,106,.3);}
.fq[open]{box-shadow:0 12px 34px rgba(42,26,14,.07);border-color:rgba(196,149,106,.3);}
.fq summary{list-style:none;cursor:pointer;padding:1.25rem 3.2rem 1.25rem 1.7rem;font-family:'Cormorant Garamond',serif;font-size:1.14rem;color:var(--deep);font-weight:400;position:relative;transition:color .25s;}
.fq summary::-webkit-details-marker{display:none;}
.fq summary:hover{color:var(--terra2);}
.fq summary::after{content:'';position:absolute;right:1.7rem;top:50%;width:9px;height:9px;border-right:1.5px solid var(--terra);border-bottom:1.5px solid var(--terra);transform:translateY(-70%) rotate(45deg);transition:transform .3s;}
.fq[open] summary::after{transform:translateY(-30%) rotate(-135deg);}
.fq-a{padding:0 1.7rem 1.45rem;font-size:.87rem;line-height:1.95;color:var(--deep);opacity:.7;}
.fq-a p+p{margin-top:.8rem;}

/* ---- FORMULIER ---- */
.sform{background:#fff;border:1px solid rgba(196,149,106,.15);border-radius:24px;padding:2.4rem;max-width:660px;margin:0 auto;}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.fld{margin-bottom:1.1rem;}
.fld label{display:block;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terra2);opacity:.8;margin-bottom:.42rem;}
.fld label .req{color:var(--terra);}
.fld input,.fld select,.fld textarea{width:100%;border:1px solid rgba(196,149,106,.24);border-radius:12px;padding:.75rem .95rem;font-size:.88rem;font-family:'Jost',sans-serif;font-weight:300;color:var(--deep);background:var(--cream);outline:none;transition:border-color .25s,box-shadow .25s;}
.fld textarea{resize:vertical;min-height:118px;line-height:1.7;}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--terra);box-shadow:0 0 0 3px rgba(196,149,106,.12);}
.fld input:user-invalid,.fld textarea:user-invalid{border-color:#B4553F;}
.fhint{font-size:.72rem;opacity:.45;margin-top:.35rem;line-height:1.6;}
.fchk{display:flex;align-items:flex-start;gap:.65rem;margin:1.3rem 0;font-size:.79rem;line-height:1.7;color:var(--deep);opacity:.72;}
.fchk input{width:17px;height:17px;flex-shrink:0;margin-top:.15rem;accent-color:var(--terra);}
.fchk a{color:var(--terra2);}
.fmsg{border-radius:14px;padding:1.1rem 1.3rem;font-size:.86rem;line-height:1.75;margin-top:1.2rem;display:none;}
.fmsg.show{display:block;animation:fUp .5s both;}
.fmsg-ok{background:rgba(139,170,134,.13);border:1px solid rgba(139,170,134,.4);color:var(--sage2);}
.fmsg-err{background:rgba(180,85,63,.09);border:1px solid rgba(180,85,63,.32);color:#8E4331;}
.sform button[type=submit]{width:100%;justify-content:center;margin-top:.4rem;}
.sform button[type=submit][disabled]{opacity:.55;cursor:wait;}
.hpot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* ---- DECORATIEVE SECTIE-BLOEMEN (randen, nooit over tekst) ---- */
.secdec{position:absolute;pointer-events:none;user-select:none;z-index:0;opacity:.16;font-style:normal;animation:secFloat ease-in-out infinite;}
@keyframes secFloat{0%,100%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-16px) rotate(7deg);}}
.secdec-tl{top:2.2rem;left:2.5%;font-size:26px;animation-duration:11s;}
.secdec-tr{top:3.4rem;right:3%;font-size:20px;animation-duration:14s;animation-delay:1.6s;}
.secdec-bl{bottom:2.6rem;left:4%;font-size:19px;animation-duration:13s;animation-delay:3.1s;}
.secdec-br{bottom:3.2rem;right:2.5%;font-size:24px;animation-duration:16s;animation-delay:.8s;}
.secdec-w{opacity:.2;}

/* ---- SCROLL REVEAL ---- */
.rv{opacity:0;transform:translateY(22px);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);}
.rv.in{opacity:1;transform:none;}
.rv-d1{transition-delay:.09s;}.rv-d2{transition-delay:.18s;}.rv-d3{transition-delay:.27s;}.rv-d4{transition-delay:.36s;}

/* ---- MOBIELE NAVIGATIE ---- */
.nav-burger{display:none;background:none;border:none;cursor:pointer;padding:.4rem;flex-direction:column;gap:5px;z-index:502;}
.nav-burger span{display:block;width:22px;height:1.5px;background:#fff;transition:transform .3s,opacity .3s,background .3s;}
#nav.solid .nav-burger span{background:var(--deep);}
.nav-burger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.nav-burger.open span:nth-child(2){opacity:0;}
.nav-burger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
.nav-burger.open span{background:var(--deep);}

/* ---- ADEMBAND (herbruikbare adem-strook) ---- */
.breathband{background:var(--deep2);padding:3.6rem 2rem;text-align:center;position:relative;overflow:hidden;}
.breathband::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 55% 80% at 50% 50%,rgba(139,170,134,.09) 0%,transparent 70%);}
.bb-inner{position:relative;z-index:1;max-width:520px;margin:0 auto;}
.bb-lbl{font-size:.62rem;letter-spacing:.42em;color:rgba(196,149,106,.72);text-transform:uppercase;margin-bottom:1.5rem;display:block;}
.bb-track{width:100%;max-width:340px;height:2px;background:rgba(255,255,255,.13);border-radius:1px;overflow:hidden;margin:0 auto .7rem;}
.bb-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--terra),var(--sage));border-radius:1px;}
.bb-phase{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-style:italic;color:rgba(255,255,255,.82);}
.bb-note{font-size:.78rem;color:rgba(255,255,255,.4);margin-top:1.1rem;line-height:1.8;}

/* ---- LEGE STAAT ---- */
.empty{background:#fff;border:1px dashed rgba(196,149,106,.32);border-radius:20px;padding:2.6rem 2rem;text-align:center;}
.empty-sym{font-size:1.7rem;display:block;margin-bottom:.9rem;opacity:.75;}
.empty h4{font-family:'Cormorant Garamond',serif;font-size:1.28rem;color:var(--deep);font-weight:400;margin-bottom:.55rem;}
.empty p{font-size:.86rem;line-height:1.9;color:var(--deep);opacity:.6;max-width:430px;margin:0 auto 1.6rem;}

/* ---- FACILITEITENGRID ---- */
.fac-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem;margin-top:2rem;}
.fac{background:var(--sand);border:1px solid rgba(196,149,106,.14);border-radius:14px;padding:1.1rem 1.2rem;display:flex;align-items:center;gap:.75rem;font-size:.84rem;color:var(--deep);opacity:.8;transition:border-color .3s,transform .3s;}
.fac:hover{border-color:rgba(196,149,106,.34);transform:translateY(-2px);}
.fac-sym{font-size:1.05rem;flex-shrink:0;}

/* ---- RESPONSIVE (uitbreidingen) ---- */
@media(max-width:960px){
  .split,.frow{grid-template-columns:1fr;}
  .split{gap:2.6rem;}
  .split-rev .split-img{order:0;}
  .phero-text{padding:8rem 2rem 3.5rem;}
  .phero-right{display:none;}
  .fac-grid{grid-template-columns:1fr 1fr;}
  .nav-burger{display:flex;}
  .nav-links{position:fixed;top:0;right:0;bottom:0;width:min(320px,82vw);background:var(--cream);flex-direction:column;align-items:flex-start;justify-content:center;gap:1.5rem;padding:5rem 2.4rem;transform:translateX(100%);transition:transform .42s cubic-bezier(.16,1,.3,1);box-shadow:-18px 0 60px rgba(42,26,14,.16);z-index:501;}
  .nav-links.open{transform:translateX(0);}
  .nav-links a,#nav:not(.solid) .nav-links a{color:var(--deep);font-size:.78rem;opacity:.8;}
  .nav-links li:nth-child(n+5){display:block;}
  .nav-cta{margin-top:.6rem;}
  .nav-backdrop{position:fixed;inset:0;background:rgba(42,26,14,.42);opacity:0;pointer-events:none;transition:opacity .35s;z-index:499;}
  .nav-backdrop.open{opacity:1;pointer-events:auto;}
}
@media(max-width:580px){
  .fac-grid{grid-template-columns:1fr;}
  .sform{padding:1.7rem 1.3rem;border-radius:20px;}
  .phero{min-height:auto;}
  .phero-text{padding:7.5rem 1.4rem 3rem;}
  .secdec{display:none;}
  section{padding:4.2rem 1.4rem;}
}

/* ---- TOEGANKELIJKHEID ---- */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--terra);outline-offset:3px;border-radius:4px;}
.skip{position:absolute;left:-9999px;top:0;background:var(--terra);color:#fff;padding:.7rem 1.2rem;z-index:9999;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;}
.skip:focus{left:.5rem;top:.5rem;}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
  #windLayer,.bfc,.secdec{display:none!important;}
  .rv{opacity:1!important;transform:none!important;}
  .hl span,.hero-sub,.hero-btns,.hero-stats,.phero-sub,.phero .eyebrow{animation:none!important;opacity:1!important;transform:none!important;}
  .strip-track{animation:none!important;}
  #cur,#curR{display:none!important;}
}
@media(hover:none),(pointer:coarse){
  #cur,#curR{display:none!important;}
}

/* ---- NAVIGATIE: ruimte voor de volledige menustructuur ---- */
@media(min-width:961px){
  .nav-links{gap:1.45rem;}
  .nav-links a{font-size:.63rem;letter-spacing:.15em;}
  .nav-cta{padding:.5rem 1.15rem;}
}
@media(min-width:961px) and (max-width:1180px){
  #nav{padding:1rem 1.8rem;}
  .nav-links{gap:1.05rem;}
  .nav-links a{font-size:.6rem;letter-spacing:.12em;}
}

/* ---- IBIZA-ACCENT ---------------------------------------
   Zelfde tokens, fonts en componenten als de rest van Soluna.
   Alleen het licht is warmer: een gouden gloed over de hero
   en de secties, zoals aan het eind van een middag op het eiland.
   --------------------------------------------------------- */
.ibz .phero .hero-img::after{background:linear-gradient(110deg,rgba(42,26,14,.72) 0%,rgba(122,85,53,.42) 48%,rgba(196,149,106,.2) 100%);}
.ibz .q-sec::before{background:radial-gradient(ellipse 58% 78% at 50% 45%,rgba(196,149,106,.13) 0%,transparent 72%);}
.ibz .breathband::before{background:radial-gradient(ellipse 60% 85% at 50% 45%,rgba(196,149,106,.13) 0%,transparent 72%);}
.ibz .sun{position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 42% 55% at 82% 18%,rgba(196,149,106,.16) 0%,transparent 68%);}
.ibz .gal-sec{background:var(--deep2);}
.ibz .ac-feat{background:linear-gradient(140deg,var(--deep2),var(--terra3));}

/* ---- HERO OP LAGE SCHERMEN -------------------------------
   Bij een viewport lager dan ~900px paste de hero-inhoud
   (eyebrow, titel, tekst, knoppen en cijfers) niet meer in
   100vh: de cijfers vielen weg en de eyebrow schoof onder de
   navigatie. Onderstaande regels comprimeren de verticale
   ruimte zonder de compositie te veranderen.
   --------------------------------------------------------- */
@media(min-width:961px) and (max-height:900px){
  .hero-text{padding:6rem 4rem 3rem;}
  .hero h1{font-size:clamp(3rem,5vw,4.4rem);margin-bottom:1.3rem;}
  .eyebrow{margin-bottom:1.2rem;}
  .hero-sub{line-height:1.85;margin-bottom:1.7rem;}
  .hero-stats{margin-top:1.9rem;padding-top:1.6rem;gap:1.9rem;}
  .phero-text{padding:7.5rem 4rem 3.5rem;}
}
@media(min-width:961px) and (max-height:740px){
  .hero-text{padding:5.5rem 4rem 2.4rem;}
  .hero h1{font-size:clamp(2.6rem,4.2vw,3.6rem);margin-bottom:1rem;}
  .eyebrow{margin-bottom:.9rem;}
  .hero-sub{margin-bottom:1.3rem;line-height:1.75;}
  .hero-stats{margin-top:1.4rem;padding-top:1.2rem;gap:1.6rem;}
  .hero-stats .sv{font-size:1.5rem;}
  .scroll-ind{display:none;}
}

/* ---- CHATKNOP OP MOBIEL ----------------------------------
   Op smalle schermen dekte de zwevende knop een deel van de
   hero-CTA af. Kleiner en dichter in de hoek.
   --------------------------------------------------------- */
@media(max-width:580px){
  .chat-fab{width:52px;height:52px;bottom:1.1rem;right:1.1rem;}
  .chat-fab svg{width:21px;height:21px;}
  .chat-win{bottom:5rem;right:.75rem;left:.75rem;width:auto;max-height:76vh;}
  /* Extra ruimte onder de hero-CTA's, zodat de zwevende knop de
     knoppen niet raakt zodra de hero in beeld staat. De knop is
     fixed en passeert bij het scrollen onvermijdelijk inhoud —
     dat is bewust, net als op de bestaande homepage. */
  .phero-text{padding-bottom:4rem;}
  .hero-text{padding-bottom:4rem;}
}
