/* ============ VITALAIZ ============ */
:root{
  /* 2026 CLINICAL brand: white (clinical/sterile) + blue (safe) + pink (feminine) + purple (the blend) */
  --bg:        #fbfcff;   /* clinical near-white */
  --bg-2:      #f1f4fc;   /* soft blue-white (alternating sections) */
  --panel:     #e9eefa;   /* cards */
  --line:      rgba(70,90,200,.13);
  --ink:       #171a2b;   /* clinical deep navy */
  --ink-soft:  #545b74;
  --ink-dim:   #9298b2;
  --gold:      #e5318f;   /* PINK — feminine accent */
  --gold-2:    #6b4ee6;   /* PURPLE — emphasis / pink+blue blend */
  --blue:      #3f63e0;   /* clinical trust blue */
  --purple:    #8a5cf0;   /* violet — effects / dots */
  --grad:      linear-gradient(120deg, #e5318f 0%, #8a5cf0 52%, #3f63e0 100%); /* brand pink→purple→blue */
  --serif:  "Cormorant Garamond", "PT Serif", Georgia, serif;  /* luxury headlines */
  --accent: "Lora", Georgia, serif;                            /* elegant italic accent */
  --sans:   "Sofia Sans", system-ui, sans-serif;               /* body / UI */
  --maxw: 1200px;
  --ease: cubic-bezier(0.16, 0.8, 0.3, 1);
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--sans);
  font-weight:400;
  line-height:1.6;
  letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
h1,h2,h3,blockquote,cite{ font-optical-sizing:auto; }
img,video{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }

/* ---- reveal ---- */
[data-reveal]{ opacity:0; transform:translateY(26px); transition:opacity .9s ease, transform .9s cubic-bezier(.16,.8,.3,1); }
[data-reveal].in{ opacity:1; transform:none; }

/* ---- shared heads ---- */
.section-head{ text-align:center; max-width:640px; margin:0 auto 64px; }
.section-head__kicker,.about__kicker,.prices__note{ font-size:.7rem; letter-spacing:.26em; text-transform:uppercase; color:var(--gold); font-weight:600; }
.section-head__title{ font-family:var(--serif); font-weight:400; font-size:clamp(2.6rem,5.4vw,4.4rem); line-height:1.02; margin-top:.34em; letter-spacing:-.015em; }

.btn{ display:inline-block; font-family:var(--sans); font-weight:600; font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; padding:15px 30px; border-radius:2px; transition:.35s; cursor:pointer; }
.btn--gold{ background:linear-gradient(120deg,var(--gold),var(--gold-2)); color:#3a1e20; }
.btn--gold:hover{ filter:brightness(1.08); transform:translateY(-2px); box-shadow:0 14px 34px rgba(198,161,91,.25); }
.btn--lg{ padding:18px 40px; font-size:.9rem; }

/* ============ NAV ============ */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:22px clamp(20px,5vw,60px);
  transition:background .5s, padding .5s, border-color .5s;
  border-bottom:1px solid transparent;
}
.nav.scrolled{ background:rgba(10,9,8,.82); backdrop-filter:blur(14px); border-bottom-color:var(--line); padding-top:14px; padding-bottom:14px; }
.nav__brand{ font-family:var(--serif); font-size:1.5rem; font-weight:600; letter-spacing:.22em; }
.nav__links{ display:flex; gap:34px; }
.nav__links a{ font-size:.8rem; letter-spacing:.08em; color:var(--ink-soft); transition:color .3s; }
.nav__links a:hover{ color:var(--gold); }
.nav__cta{ font-size:.75rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); border:1px solid var(--gold); padding:10px 22px; border-radius:2px; transition:.35s; }
.nav__cta:hover{ background:var(--gold); color:#3a1e20; }
@media(max-width:860px){ .nav__links{ display:none; } }

/* ============ HERO ============ */
.hero{ position:relative; height:100vh; min-height:600px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.hero__media{ position:absolute; inset:0; z-index:0; background:var(--bg); }
.hero__video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:0; transition:opacity 1s linear; }
@media(max-width:640px){ .hero__video{ object-position:72% center; } }
.hero__video.is-active{ opacity:1; }
.hero__scrim{ position:absolute; inset:0; z-index:1;
  background:radial-gradient(ellipse at center, rgba(20,13,14,.22) 0%, rgba(20,13,14,.52) 55%, rgba(20,13,14,.9) 100%),
             linear-gradient(to bottom, rgba(20,13,14,.6), transparent 30%, transparent 60%, var(--bg)); }
.hero__inner{ position:relative; z-index:2; text-align:center; padding:0 20px; }
.hero__eyebrow{ font-size:.78rem; letter-spacing:.4em; text-transform:uppercase; color:var(--gold-2); margin-bottom:28px; }
.hero__title{ font-family:var(--serif); font-weight:400; font-size:clamp(3.6rem,15vw,11rem); line-height:.92; letter-spacing:.04em; text-shadow:0 4px 70px rgba(0,0,0,.45); }
.hero__title [data-char]{ display:inline-block; will-change:transform,opacity,filter; }
.hero__sub{ margin-top:24px; font-size:clamp(1.15rem,2.5vw,1.55rem); color:var(--ink-soft); font-weight:400; letter-spacing:.01em; font-family:var(--accent); font-style:italic; }
/* reveal base states (JS animates in; visible if reduced-motion / no-JS) */
.js .hero__eyebrow, .js .hero__sub{ opacity:0; }
.js .hero__title[data-split]{ opacity:0; }
.hero__scroll{ position:absolute; bottom:38px; left:50%; transform:translateX(-50%); z-index:3; width:26px; height:44px; border:1.5px solid rgba(228,201,138,.55); border-radius:14px; }
.hero__scroll span{ position:absolute; top:8px; left:50%; width:3px; height:8px; margin-left:-1.5px; background:var(--gold-2); border-radius:2px; animation:scrolldot 1.8s infinite; }
@keyframes scrolldot{ 0%{opacity:0;transform:translateY(0)} 30%{opacity:1} 70%{opacity:1} 100%{opacity:0;transform:translateY(16px)} }

/* ============ ABOUT ============ */
.about{ padding:clamp(90px,14vh,170px) 20px; background:linear-gradient(var(--bg),var(--bg-2)); }
.about__inner{ max-width:820px; margin:0 auto; text-align:center; }
.about__kicker{ display:block; margin-bottom:34px; }
.about__quote{ font-family:var(--accent); font-style:italic; font-size:clamp(1.5rem,3.4vw,2.5rem); line-height:1.45; color:var(--ink); }
.about__quote cite{ display:block; font-style:normal; font-size:1rem; letter-spacing:.16em; color:var(--gold); margin-top:28px; font-family:var(--sans); }
.about__body{ margin-top:40px; color:var(--ink-soft); font-size:1.05rem; font-weight:300; max-width:600px; margin-inline:auto; }

/* ============ SERVICES ============ */
.services{ padding:clamp(90px,12vh,150px) 0; background:var(--bg-2); overflow:hidden; }
.services__head{ max-width:var(--maxw); margin:0 auto 52px; padding:0 clamp(20px,5vw,60px); display:flex; align-items:flex-end; justify-content:space-between; gap:24px; text-align:left; }
.services__head > div{ text-align:left; }
.services__hint{ font-size:.7rem; letter-spacing:.24em; text-transform:uppercase; color:var(--ink-dim); white-space:nowrap; padding-bottom:8px; }

/* services — seamless auto-spin marquee (centered, edge-faded, real photos) */
.carousel{ overflow:hidden; padding:0; cursor:grab; -webkit-user-select:none; user-select:none;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.carousel.dragging{ cursor:grabbing; }
.carousel__track{ display:flex; width:max-content; will-change:transform; }
.svc-slide{ flex:0 0 auto; width:min(74vw,22rem); margin-right:24px; cursor:pointer; transition:transform .5s var(--ease); }
.svc-slide:hover{ transform:translateY(-6px); }
.svc-slide__media{ position:relative; aspect-ratio:3/4; overflow:hidden; border-radius:4px; border:1px solid var(--line); }
.svc-slide__art{ position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .7s var(--ease); }
.svc-slide:hover .svc-slide__art{ transform:scale(1.05); }
.svc-slide__media::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(10,7,8,.82) 4%, rgba(10,7,8,.25) 42%, rgba(10,7,8,.1) 100%); pointer-events:none; }
.svc-slide__idx{ position:absolute; top:22px; left:24px; z-index:2; font-family:var(--serif); font-size:1.2rem; color:#f1c6c7; }
.svc-slide__title{ position:absolute; left:24px; right:24px; bottom:24px; z-index:2; font-family:var(--serif); font-weight:400; font-size:1.85rem; line-height:1.08; letter-spacing:-.01em; color:#faf3ee; }
@media(prefers-reduced-motion:reduce){ .carousel__track{ animation:none; } }

/* ============ PRICES ============ */
.prices{ padding:clamp(90px,12vh,150px) clamp(20px,5vw,60px); background:linear-gradient(var(--bg-2),var(--bg)); }
.prices__tools{ max-width:var(--maxw); margin:0 auto 44px; display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-content:space-between; }
.prices__tabs{ display:flex; flex-wrap:wrap; gap:8px; }
.price-tab{ font-size:.78rem; letter-spacing:.04em; padding:9px 18px; border:1px solid var(--line); border-radius:40px; color:var(--ink-soft); background:transparent; cursor:pointer; transition:.3s; font-family:var(--sans); }
.price-tab:hover{ color:var(--ink); border-color:var(--ink-dim); }
.price-tab.active{ background:var(--gold); border-color:var(--gold); color:#3a1e20; font-weight:600; }
.prices__search{ flex:1; min-width:200px; max-width:280px; background:var(--panel); border:1px solid var(--line); border-radius:40px; padding:11px 20px; color:var(--ink); font-family:var(--sans); font-size:.85rem; outline:none; transition:border-color .3s; }
.prices__search:focus{ border-color:var(--gold); }
.prices__search::placeholder{ color:var(--ink-dim); }

.prices__body{ max-width:var(--maxw); margin:0 auto; }
.price-cat__lead{ text-align:center; color:var(--ink-soft); font-weight:300; max-width:640px; margin:0 auto 46px; font-size:1.02rem; }
.price-group{ margin-bottom:44px; }
.price-group__name{ font-family:var(--serif); font-size:1.5rem; font-weight:500; color:var(--gold-2); padding-bottom:14px; border-bottom:1px solid var(--line); margin-bottom:6px; display:flex; justify-content:space-between; align-items:baseline; }
.price-group__cols{ font-family:var(--sans); font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-dim); display:flex; gap:38px; }
.price-group__cols span{ width:96px; text-align:right; }
.price-row{ display:flex; align-items:baseline; justify-content:space-between; gap:20px; padding:15px 4px; border-bottom:1px solid rgba(198,161,91,.07); transition:background .25s; }
.price-row:hover{ background:rgba(198,161,91,.04); }
.price-row__info{ flex:1; }
.price-row__name{ font-size:1rem; color:var(--ink); }
.price-row__note{ font-size:.8rem; color:var(--ink-dim); font-weight:300; margin-top:3px; }
.price-row__prices{ display:flex; gap:38px; flex-shrink:0; }
.price-row__p{ width:96px; text-align:right; font-variant-numeric:tabular-nums; }
.price-row__p b{ font-weight:600; color:var(--gold-2); }
.price-row__p small{ color:var(--ink-dim); font-size:.72rem; }
.price-row__p--pkg b{ color:var(--ink-soft); font-weight:500; }
.prices__note{ max-width:var(--maxw); margin:36px auto 0; text-align:center; color:var(--ink-dim)!important; font-size:.72rem!important; letter-spacing:.02em!important; text-transform:none!important; font-weight:300!important; }
.price-empty{ text-align:center; color:var(--ink-dim); padding:60px 0; font-style:italic; }
@media(max-width:620px){
  .price-group__cols span:first-child, .price-row__p--single ~ .price-row__p{ }
  .price-row__prices{ gap:16px; }
  .price-row__p{ width:80px; font-size:.9rem; }
  .price-group__cols{ gap:16px; } .price-group__cols span{ width:80px; }
}

/* ============ SIGNATURE ============ */
.signature{ padding:clamp(90px,12vh,150px) clamp(20px,5vw,60px); background:var(--bg); }
.signature__inner{ max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.signature__title{ font-family:var(--serif); font-weight:500; font-size:clamp(2.4rem,5vw,4rem); margin:.2em 0 .4em; }
.signature__lead{ color:var(--ink-soft); font-weight:300; font-size:1.08rem; margin-bottom:34px; max-width:460px; }
.signature__media{ position:relative; border-radius:3px; overflow:hidden; aspect-ratio:4/5; }
.signature__media img{ width:100%; height:100%; object-fit:cover; }
.js [data-clip]{ clip-path:inset(100% 0 0 0); }
@media(max-width:860px){ .signature__inner{ grid-template-columns:1fr; gap:40px; } .signature__media{ aspect-ratio:16/10; } }

/* ============ CONTACT ============ */
.contact{ padding:clamp(90px,12vh,150px) clamp(20px,5vw,60px) 0; background:linear-gradient(var(--bg),var(--bg-2)); }
.contact__inner{ max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; padding-bottom:90px; }
.contact__title{ font-family:var(--serif); font-weight:500; font-size:clamp(2.2rem,4.6vw,3.6rem); margin:.2em 0 .5em; }
.contact__lead{ color:var(--ink-soft); margin-bottom:34px; letter-spacing:.04em; }
.contact__list{ list-style:none; }
.contact__list li{ padding:22px 0; border-bottom:1px solid var(--line); }
.contact__list .lbl{ display:block; font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:7px; }
.contact__list .val{ font-size:1.1rem; color:var(--ink); font-weight:300; }
.contact__list a.val:hover{ color:var(--gold-2); }
@media(max-width:860px){ .contact__inner{ grid-template-columns:1fr; gap:36px; } }

.footer{ max-width:var(--maxw); margin:0 auto; display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; padding:30px 0; border-top:1px solid var(--line); color:var(--ink-dim); font-size:.74rem; font-weight:300; }

/* ============ VIDEO SECTION ============ */
.video-sec{ padding:clamp(90px,12vh,150px) clamp(20px,5vw,60px); background:var(--bg-2); }
.video-sec__grid{ max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:1.7fr .9fr; gap:28px; align-items:center; }
@media(max-width:820px){ .video-sec__grid{ grid-template-columns:1fr; max-width:460px; } }

/* video-embed block (handles YouTube facade + self-hosted, both quality paths) */
.videoblock{ position:relative; overflow:hidden; border-radius:4px; border:1px solid var(--line); background:#000; cursor:pointer; }
.videoblock.r-16x9{ aspect-ratio:16/9; }
.videoblock.r-9x16{ aspect-ratio:9/16; }
.videoblock__poster,.videoblock__media,.videoblock iframe,.videoblock video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border:0; display:block; background:#000; }
.videoblock::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(10,7,8,.5),transparent 42%); pointer-events:none; transition:opacity .4s; }
.videoblock.is-playing::after{ opacity:0; }
.videoblock__label{ position:absolute; left:20px; bottom:18px; z-index:2; font-family:var(--serif); font-size:1.15rem; color:var(--ink); text-shadow:0 2px 12px rgba(0,0,0,.5); max-width:80%; transition:opacity .4s; }
.videoblock.is-playing .videoblock__label{ opacity:0; }
.videoblock__play{ position:absolute; inset:0; margin:auto; width:72px; height:72px; z-index:3; border:0; border-radius:50%; cursor:pointer;
  background:linear-gradient(120deg,var(--gold),var(--gold-2)); display:grid; place-items:center; box-shadow:0 12px 34px rgba(0,0,0,.4); transition:transform .35s var(--ease), opacity .3s; }
.videoblock__play::before{ content:""; width:0; height:0; margin-left:5px; border-left:19px solid #2a1519; border-top:12px solid transparent; border-bottom:12px solid transparent; }
.videoblock:hover .videoblock__play{ transform:scale(1.09); }
.videoblock.is-playing .videoblock__play{ opacity:0; pointer-events:none; }

/* click-to-zoom hint on images */
[data-zoom]{ cursor:zoom-in; }
.zoom-hint{ position:absolute; z-index:3; right:16px; bottom:16px; font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink);
  background:rgba(20,13,14,.55); backdrop-filter:blur(6px); border:1px solid var(--line); padding:8px 14px; border-radius:40px; pointer-events:none; opacity:0; transition:opacity .35s; }
.signature__media:hover .zoom-hint{ opacity:1; }

/* ============ LIGHTBOX ============ */
.lightbox{ position:fixed; inset:0; z-index:300; display:flex; align-items:center; justify-content:center; padding:4vmin;
  background:rgba(10,7,8,.93); backdrop-filter:blur(8px); opacity:0; pointer-events:none; transition:opacity .4s; }
.lightbox.open{ opacity:1; pointer-events:auto; }
.lightbox__img{ max-width:94vw; max-height:92vh; object-fit:contain; border-radius:2px; box-shadow:0 30px 90px rgba(0,0,0,.6);
  transform:scale(.94); transition:transform .5s var(--ease); }
.lightbox.open .lightbox__img{ transform:none; }
.lightbox__btn{ position:absolute; background:rgba(244,236,225,.08); border:1px solid var(--line); color:var(--ink); cursor:pointer;
  width:48px; height:48px; border-radius:50%; display:grid; place-items:center; font-size:1.2rem; transition:.3s; }
.lightbox__btn:hover{ background:var(--gold); color:#2a1519; border-color:var(--gold); }
.lightbox__close{ top:22px; right:24px; }
.lightbox__prev{ left:24px; top:50%; transform:translateY(-50%); }
.lightbox__next{ right:24px; top:50%; transform:translateY(-50%); }
.lightbox.single .lightbox__prev,.lightbox.single .lightbox__next{ display:none; }

/* ============ SHARED CHROME: TOP BAR + MEGA MENU + FOOTER ============ */
.sitebar{ position:fixed; top:0; left:0; right:0; z-index:100; display:flex; align-items:center; justify-content:space-between;
  padding:20px clamp(20px,5vw,60px); transition:background .4s, padding .4s, border-color .4s; border-bottom:1px solid transparent; }
.sitebar.scrolled{ background:rgba(20,13,14,.82); backdrop-filter:blur(14px); border-bottom-color:var(--line); padding-top:13px; padding-bottom:13px; }
.sitebar.on-dark{ color:#fff; }
.sitebar__brand{ font-family:var(--serif); font-size:1.5rem; font-weight:600; letter-spacing:.2em; display:flex; align-items:center; }
.sitebar__brand img{ height:30px; width:auto; display:block; }
.sitefooter__logo{ height:40px; width:auto; display:block; margin-bottom:14px; }
.sitebar__right{ display:flex; align-items:center; gap:22px; }
.sitebar__cta{ font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); border:1px solid var(--gold); padding:9px 20px; border-radius:2px; transition:.35s; }
.sitebar__cta:hover{ background:var(--gold); color:#2a1519; }
.sitebar.on-dark .sitebar__cta{ color:var(--gold-2); border-color:var(--gold-2); }
@media(max-width:560px){ .sitebar__cta{ display:none; } }

.burger{ display:inline-flex; flex-direction:column; gap:6px; width:32px; background:none; border:0; cursor:pointer; padding:6px 0; color:inherit; }
.burger span{ height:1.5px; background:currentColor; transition:transform .4s var(--ease), opacity .3s; }
.burger.is-x span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
.burger.is-x span:nth-child(2){ opacity:0; }
.burger.is-x span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }

.megamenu{ position:fixed; inset:0; z-index:90; background:var(--bg); color:#fff; overflow:auto;
  display:grid; grid-template-columns:.9fr 1.2fr; gap:0 5rem; align-content:center; padding:6rem clamp(20px,5vw,60px) 3rem;
  opacity:0; visibility:hidden; pointer-events:none; transition:opacity .45s var(--ease); }
.megamenu.is-open{ opacity:1; visibility:visible; pointer-events:auto; }
.megamenu::before{ content:""; position:absolute; inset:0; background:radial-gradient(120% 90% at 12% 100%, rgba(220,155,161,.16), transparent 55%); pointer-events:none; }
.mm-left{ align-self:end; position:relative; z-index:1; }
.mm-word{ font-family:var(--serif); font-weight:500; font-size:13vmin; line-height:.9; margin:0; color:var(--gold-2); }
.mm-socials{ display:flex; gap:1.4rem; margin-top:1.5rem; }
.mm-socials a{ position:relative; font-size:.82rem; letter-spacing:.08em; }
.mm-socials a::after{ content:""; position:absolute; left:0; bottom:-3px; height:1px; width:100%; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease); }
.mm-socials a:hover::after{ transform:scaleX(1); }
.mm-contact{ margin-top:1.8rem; display:flex; flex-direction:column; gap:5px; color:var(--ink-soft); font-size:.9rem; }
.mm-contact a{ color:var(--gold-2); font-size:1.15rem; }
.mm-right{ align-self:center; position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:0 2.5rem; }
.mm-item{ display:grid; grid-template-columns:max-content 1fr max-content; gap:1.1rem; align-items:center; padding:.9rem 0; border-top:1px solid rgba(255,255,255,.14); }
.mm-num{ font-size:.78rem; opacity:.5; font-variant-numeric:tabular-nums; color:var(--gold); }
.mm-title{ font-family:var(--serif); font-weight:400; font-size:clamp(1.3rem,2.3vw,2.1rem); transition:color .3s; }
.mm-ico{ opacity:.5; transition:transform .3s var(--ease), opacity .3s; color:var(--gold-2); }
.mm-item:hover .mm-ico{ transform:translate(3px,-3px); opacity:1; }
.mm-item:hover .mm-title{ color:var(--gold-2); }
@media(max-width:760px){ .megamenu{ grid-template-columns:1fr; align-content:start; gap:2.2rem; padding-top:5.5rem; } .mm-right{ grid-template-columns:1fr; } .mm-left{ order:2; } .mm-word{ font-size:20vmin; } }

.sitefooter{ background:var(--bg); border-top:1px solid var(--line); padding:70px clamp(20px,5vw,60px) 30px; }
.sitefooter__top{ max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:1fr 1fr 1.2fr; gap:40px; padding-bottom:40px; border-bottom:1px solid var(--line); }
.sitefooter__brand{ font-family:var(--serif); font-size:1.6rem; letter-spacing:.18em; }
.sitefooter__tag{ color:var(--ink-soft); font-size:.85rem; margin-top:6px; }
.sitefooter__links{ display:flex; flex-wrap:wrap; gap:8px 22px; align-content:flex-start; }
.sitefooter__links a{ font-size:.82rem; color:var(--ink-soft); transition:color .3s; }
.sitefooter__links a:hover{ color:var(--gold); }
.sitefooter__contact{ display:flex; flex-direction:column; gap:8px; font-size:.9rem; color:var(--ink-soft); }
.sitefooter__contact a{ transition:color .3s; }
.sitefooter__contact a:hover{ color:var(--gold-2); }
.sitefooter__legal{ max-width:var(--maxw); margin:0 auto; display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; padding-top:24px; color:var(--ink-dim); font-size:.72rem; font-weight:300; }
@media(max-width:760px){ .sitefooter__top{ grid-template-columns:1fr; gap:26px; } }

/* ============ INNER-PAGE HEADER ============ */
.pagehead{ padding:calc(80px + 6vh) clamp(20px,5vw,60px) 44px; text-align:center; max-width:760px; margin:0 auto; }
.pagehead__kicker{ font-size:.7rem; letter-spacing:.26em; text-transform:uppercase; color:var(--gold); font-weight:600; }
.pagehead__title{ font-family:var(--serif); font-weight:400; font-size:clamp(2.6rem,6vw,4.4rem); line-height:1.02; margin-top:.3em; letter-spacing:-.015em; }
.pagehead__lead{ color:var(--ink-soft); font-weight:300; margin-top:20px; }

/* ============ PRICE ACCORDION ============ */
.priceacc{ max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,5vw,60px) clamp(80px,10vh,130px); }
.acc{ border-bottom:1px solid var(--line); }
.acc__head{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; background:none; border:0; cursor:pointer; color:var(--ink); text-align:left; padding:26px 4px; font-family:var(--serif); }
.acc__title{ font-size:clamp(1.4rem,3vw,2rem); font-weight:400; letter-spacing:-.01em; transition:color .3s; }
.acc__head:hover .acc__title{ color:var(--gold-2); }
.acc__icon{ position:relative; width:18px; height:18px; flex:none; }
.acc__icon::before,.acc__icon::after{ content:""; position:absolute; inset:50% 0 auto 0; height:1.5px; background:var(--gold); transition:transform .4s var(--ease); }
.acc__icon::after{ transform:rotate(90deg); }
.acc.open .acc__icon::after{ transform:rotate(0); }
.acc.open .acc__title{ color:var(--gold-2); }
.acc__body{ height:0; overflow:hidden; transition:height .5s var(--ease); }
.acc__inner{ padding:2px 4px 42px; }
.acc__lead{ color:var(--ink-soft); font-weight:300; max-width:640px; margin-bottom:30px; }
.pgroup{ margin-bottom:34px; }
.pgroup__name{ display:flex; justify-content:space-between; align-items:baseline; gap:16px; font-family:var(--serif); font-size:1.25rem; font-weight:500; color:var(--gold-2); padding-bottom:12px; border-bottom:1px solid var(--line); }
.pgroup__cols{ display:flex; gap:34px; font-family:var(--sans); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-dim); }
.pgroup__cols span{ width:118px; text-align:right; }
.prow{ display:flex; align-items:baseline; justify-content:space-between; gap:20px; padding:14px 2px; border-bottom:1px solid rgba(224,169,172,.08); }
.prow__info{ flex:1; }
.prow__name{ color:var(--ink); }
.prow__note{ font-size:.8rem; color:var(--ink-dim); font-weight:300; margin-top:3px; }
.prow__prices{ display:flex; gap:34px; flex-shrink:0; }
.prow__p{ width:118px; text-align:right; font-variant-numeric:tabular-nums; line-height:1.25; }
.prow__p b{ font-weight:600; color:var(--gold-2); font-size:1.02rem; }
.prow__p small{ color:var(--gold); font-size:.72rem; }
.prow__p i{ display:block; font-style:normal; color:var(--ink-dim); font-size:.74rem; }
.prow__p--pkg b{ color:var(--ink-soft); font-weight:500; }
@media(max-width:600px){ .prow__prices{ gap:14px; } .prow__p{ width:90px; } .prow__p b{ font-size:.95rem; } .pgroup__cols{ gap:14px; } .pgroup__cols span{ width:90px; } }

/* ============ PROMO + COUNTDOWN ============ */
.promo{ padding:clamp(90px,12vh,150px) clamp(20px,5vw,60px); background:linear-gradient(var(--bg-2),var(--bg)); }
.promo__card{ max-width:560px; margin:0 auto; text-align:center; background:linear-gradient(160deg,var(--panel),#1b1213); border:1px solid var(--line); border-radius:8px; padding:clamp(34px,5vw,58px); position:relative; overflow:hidden; }
.promo__card::before{ content:""; position:absolute; inset:0; background:radial-gradient(90% 60% at 50% 0%, rgba(220,155,161,.16), transparent 62%); pointer-events:none; }
.promo__card > *{ position:relative; z-index:1; }
.promo__tag{ display:inline-block; font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:#2a1519; background:linear-gradient(120deg,var(--gold),var(--gold-2)); padding:8px 18px; border-radius:40px; font-weight:700; }
.promo__name{ font-family:var(--serif); font-size:clamp(1.7rem,4vw,2.6rem); font-weight:500; margin:24px 0 10px; }
.promo__desc{ color:var(--ink-soft); font-weight:300; }
.promo__prices{ display:flex; align-items:baseline; justify-content:center; gap:16px; margin:24px 0 6px; }
.promo__old{ color:var(--ink-dim); text-decoration:line-through; font-size:1.25rem; }
.promo__new{ font-family:var(--serif); font-size:clamp(2.4rem,7vw,3.6rem); color:var(--gold-2); font-weight:600; }
.promo__save{ display:inline-block; color:var(--gold); font-size:.9rem; margin-bottom:20px; }
.countdown{ display:flex; justify-content:center; gap:10px; margin:8px 0 12px; }
.cd-cell{ min-width:62px; padding:12px 6px; background:rgba(224,169,172,.06); border:1px solid var(--line); border-radius:8px; }
.cd-num{ font-family:var(--serif); font-size:1.7rem; color:var(--ink); line-height:1; }
.cd-lbl{ display:block; font-size:.58rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-dim); margin-top:6px; }
.promo__endsnote{ color:var(--ink-dim); font-size:.8rem; margin:14px 0 22px; }

/* ============ SKIN-TONE BAND (new-starting, whole image) ============ */
.band{ position:relative; min-height:min(78vh,640px); display:flex; align-items:center; overflow:hidden; background:var(--bg); }
.band__img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:right center; }
.band::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, var(--bg) 6%, rgba(20,13,14,.6) 40%, transparent 66%); }
.band__inner{ position:relative; z-index:2; max-width:var(--maxw); margin:0 auto; padding:60px clamp(20px,5vw,60px); width:100%; }
.band__text{ max-width:440px; }
.band__kicker{ font-size:.7rem; letter-spacing:.26em; text-transform:uppercase; color:var(--gold); font-weight:600; }
.band__title{ font-family:var(--serif); font-weight:400; font-size:clamp(2rem,4.5vw,3.4rem); line-height:1.06; margin-top:.4em; }
.band__body{ color:var(--ink-soft); font-weight:300; margin:20px 0 28px; }
@media(max-width:700px){ .band{ align-items:flex-end; min-height:86vh; } .band__img{ object-position:70% center; } .band::after{ background:linear-gradient(180deg, rgba(20,13,14,.35) 0%, transparent 30%, var(--bg) 86%); } }

/* ============ COURSES ============ */
.courses{ padding:0 clamp(20px,5vw,60px) clamp(80px,10vh,130px); }
.courses__video{ max-width:var(--maxw); margin:0 auto 54px; }
.courses__grid{ max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.course-card{ border:1px solid var(--line); border-radius:5px; padding:38px 34px; background:var(--bg-2); transition:border-color .4s, transform .4s; }
.course-card:hover{ border-color:var(--gold); transform:translateY(-4px); }
.course-card__tag{ font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); }
.course-card__title{ font-family:var(--serif); font-size:1.6rem; font-weight:500; margin:14px 0 12px; line-height:1.15; }
.course-card__note{ color:var(--ink-soft); font-weight:300; font-size:.95rem; }
.course-card__cta{ display:inline-block; margin-top:22px; font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); }
@media(max-width:700px){ .courses__grid{ grid-template-columns:1fr; } }

/* ============ BLOG ============ */
.blog{ padding:0 clamp(20px,5vw,60px) clamp(80px,10vh,130px); }
.blog__grid{ max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:28px; }
.post-card{ border:1px solid var(--line); border-radius:5px; overflow:hidden; background:var(--bg-2); display:flex; flex-direction:column; transition:transform .4s, border-color .4s; }
.post-card:hover{ transform:translateY(-5px); border-color:var(--gold); }
.post-card__img{ aspect-ratio:16/10; object-fit:cover; width:100%; background:var(--panel); }
.post-card__img--ph{ display:grid; place-items:center; background:var(--grad); }
.post-card__img--ph span{ font-family:var(--serif); color:#fff; letter-spacing:.18em; font-size:1.15rem; opacity:.92; }
.post-card__body{ padding:22px 22px 26px; display:flex; flex-direction:column; gap:11px; flex:1; }
.post-card__date{ font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); }
.post-card__title{ font-family:var(--serif); font-size:1.3rem; font-weight:500; line-height:1.22; }
.post-card__excerpt{ color:var(--ink-soft); font-size:.9rem; font-weight:300; flex:1; }
.post-card__more{ font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); margin-top:4px; }
.blog__state{ grid-column:1/-1; text-align:center; color:var(--ink-dim); padding:80px 0; font-weight:300; }

/* single post */
.post-article{ max-width:760px; margin:0 auto; padding:0 clamp(20px,5vw,40px) 100px; }
.post-article__back{ display:inline-block; margin-bottom:26px; font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); }
.post-article__img{ width:100%; border-radius:5px; margin-bottom:34px; }
.post-article__date{ color:var(--gold); font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; margin-bottom:14px; }
.post-article__title{ font-family:var(--serif); font-size:clamp(2rem,4.5vw,3rem); font-weight:500; line-height:1.1; margin-bottom:30px; }
.post-body{ color:var(--ink-soft); font-weight:300; line-height:1.8; }
.post-body p{ margin:0 0 1.2em; }
.post-body h2,.post-body h3{ font-family:var(--serif); color:var(--ink); font-weight:500; margin:1.6em 0 .5em; line-height:1.2; }
.post-body img{ max-width:100%; height:auto; border-radius:5px; margin:1.4em 0; }
.post-body a{ color:var(--gold-2); text-decoration:underline; }
.post-body ul,.post-body ol{ padding-left:1.3em; margin:0 0 1.2em; }
.post-body iframe{ max-width:100%; width:100%; aspect-ratio:16/9; height:auto; border-radius:5px; margin:1.4em 0; }
/* full-page embeds are swapped (in post.js) for this CTA link */
.post-embed-link{ display:flex; flex-direction:column; gap:7px; padding:30px 32px; border:1px solid var(--line); border-radius:10px; background:var(--bg-2); margin:1.6em 0; transition:background .3s, border-color .3s, transform .3s, box-shadow .3s; }
.post-body a.post-embed-link,
.post-embed-link{ text-decoration:none; }
.post-embed-link:hover{ background:var(--grad); border-color:transparent; transform:translateY(-2px); box-shadow:0 12px 30px rgba(138,92,240,.28); }
.post-embed-link__k{ font-size:.66rem; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-dim); transition:color .3s; }
.post-embed-link__cta{ font-family:var(--serif); font-weight:500; font-size:1.35rem; color:var(--ink); transition:color .3s; }
.post-embed-link:hover .post-embed-link__k,
.post-embed-link:hover .post-embed-link__cta{ color:#fff; }

/* ============ COURSE DETAIL ============ */
.coursepage{ max-width:820px; margin:0 auto; padding:0 clamp(20px,5vw,40px) clamp(80px,10vh,120px); }
.coursepage__back{ display:inline-block; margin-bottom:24px; font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); }
.course-video{ margin:0 0 40px; }
.course-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:6px; overflow:hidden; margin:0 0 48px; }
.course-stat{ background:var(--bg-2); padding:26px 18px; text-align:center; }
.course-stat b{ display:block; font-family:var(--serif); font-size:1.7rem; color:var(--gold-2); font-weight:500; margin-bottom:4px; }
.course-stat span{ font-size:.76rem; color:var(--ink-soft); }
.course-prose{ color:var(--ink-soft); font-weight:300; line-height:1.8; }
.course-prose h2{ font-family:var(--serif); color:var(--ink); font-weight:500; font-size:clamp(1.5rem,3vw,2rem); line-height:1.2; margin:2em 0 .6em; letter-spacing:-.01em; }
.course-prose p{ margin:0 0 1.2em; }
.income-note{ background:rgba(220,155,161,.06); border-left:2px solid var(--gold); padding:18px 22px; border-radius:0 6px 6px 0; margin:0 0 1.4em; color:var(--ink); font-weight:300; }
.income-note b{ color:var(--gold-2); font-weight:600; }
.checklist{ list-style:none; padding:0; margin:.4em 0 1.6em; display:grid; gap:13px; }
.checklist li{ position:relative; padding-left:34px; color:var(--ink); font-weight:300; }
.checklist li::before{ content:""; position:absolute; left:0; top:1px; width:20px; height:20px; border-radius:50%; background:rgba(220,155,161,.14); border:1px solid var(--gold); }
.checklist li::after{ content:""; position:absolute; left:7px; top:5px; width:5px; height:9px; border:solid var(--gold-2); border-width:0 2px 2px 0; transform:rotate(45deg); }
.doclist{ list-style:none; padding:0; margin:.4em 0 1.6em; display:grid; gap:10px; }
.doclist li{ padding:13px 18px; background:var(--bg-2); border:1px solid var(--line); border-radius:4px; color:var(--ink); font-weight:300; }
.days{ display:grid; gap:14px; margin:.4em 0 1.6em; }
.day{ display:grid; grid-template-columns:auto 1fr; gap:22px; align-items:center; padding:22px 24px; background:var(--bg-2); border:1px solid var(--line); border-radius:6px; }
.day b{ font-family:var(--serif); font-size:1.05rem; color:var(--gold); white-space:nowrap; letter-spacing:.04em; }
.day span{ color:var(--ink); font-weight:300; }
.course-cta{ margin-top:52px; text-align:center; background:linear-gradient(160deg,var(--panel),#1b1213); border:1px solid var(--line); border-radius:8px; padding:44px 30px; }
.course-cta h3{ font-family:var(--serif); font-weight:500; font-size:1.7rem; margin-bottom:10px; }
.course-cta p{ color:var(--ink-soft); font-weight:300; margin-bottom:24px; }
.course-cta .btn{ margin:6px; }
@media(max-width:600px){ .course-stats{ grid-template-columns:1fr; } .day{ grid-template-columns:1fr; gap:6px; } }

/* ============ PROCEDURE CARDS (image + hover-text → article) ============ */
.proc-grid{ max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,5vw,60px) clamp(80px,10vh,120px); display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media(max-width:900px){ .proc-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .proc-grid{ grid-template-columns:1fr; } }
.proc-card{ position:relative; display:block; aspect-ratio:4/3.4; overflow:hidden; border-radius:5px; border:1px solid var(--line); color:#fff; }
.proc-card__bg{ position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .7s var(--ease); }
.proc-card__bg--ph{ background:linear-gradient(155deg, var(--panel), #1b1213); }
.proc-card:nth-child(3n+1) .proc-card__bg--ph{ background:radial-gradient(120% 90% at 70% 20%, rgba(220,155,161,.22), transparent 60%), linear-gradient(155deg,#2a1c1d,#160f10); }
.proc-card:nth-child(3n+2) .proc-card__bg--ph{ background:radial-gradient(120% 90% at 20% 80%, rgba(241,198,199,.16), transparent 58%), linear-gradient(155deg,#241819,#150e0f); }
.proc-card:nth-child(3n) .proc-card__bg--ph{ background:radial-gradient(120% 90% at 80% 90%, rgba(220,155,161,.18), transparent 60%), linear-gradient(150deg,#281b1c,#17100f); }
.proc-card:hover .proc-card__bg{ transform:scale(1.06); }
.proc-card__scrim{ position:absolute; inset:0; background:linear-gradient(to top, rgba(12,8,9,.86) 0%, rgba(12,8,9,.25) 45%, rgba(12,8,9,.1) 100%); transition:background .45s; }
.proc-card:hover .proc-card__scrim{ background:linear-gradient(to top, rgba(12,8,9,.9) 0%, rgba(12,8,9,.6) 55%, rgba(12,8,9,.4) 100%); }
.proc-card__body{ position:absolute; left:0; right:0; bottom:0; padding:26px 26px 28px; z-index:2; }
.proc-card__title{ font-family:var(--serif); font-weight:500; font-size:clamp(1.4rem,2.4vw,1.9rem); line-height:1.1; }
.proc-card__teaser{ color:var(--ink-soft); font-weight:300; font-size:.92rem; margin-top:10px; max-width:30ch;
  opacity:0; transform:translateY(10px); transition:opacity .45s var(--ease), transform .45s var(--ease); }
.proc-card__more{ display:inline-block; margin-top:14px; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-2);
  opacity:0; transform:translateY(10px); transition:opacity .45s var(--ease) .05s, transform .45s var(--ease) .05s; }
.proc-card:hover .proc-card__teaser, .proc-card:hover .proc-card__more{ opacity:1; transform:none; }
@media(hover:none){ .proc-card__teaser, .proc-card__more{ opacity:1; transform:none; } } /* touch: always show */

/* procedure detail reuses .coursepage / .course-prose */
.proc-hero{ position:relative; }
.proc-detail__stats{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 40px; }
.proc-detail__tag{ font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); border:1px solid var(--line); border-radius:40px; padding:9px 18px; }

/* ============ PROMOS GRID ============ */
.promos-grid{ max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,5vw,60px) clamp(80px,10vh,120px); display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media(max-width:900px){ .promos-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:560px){ .promos-grid{ grid-template-columns:1fr; } }
.promo-card2{ position:relative; display:flex; flex-direction:column; gap:12px; padding:30px 28px 28px; background:var(--bg-2); border:1px solid var(--line); border-radius:6px; transition:border-color .4s, transform .4s; }
.promo-card2:hover{ border-color:var(--gold); transform:translateY(-4px); }
.promo-card2.is-featured{ background:linear-gradient(160deg,var(--panel),#1b1213); grid-column:span 1; }
.promo-card2__tag{ align-self:flex-start; font-size:.64rem; letter-spacing:.18em; text-transform:uppercase; color:#2a1519; background:linear-gradient(120deg,var(--gold),var(--gold-2)); padding:7px 15px; border-radius:40px; font-weight:700; }
.promo-card2__name{ font-family:var(--serif); font-weight:500; font-size:1.4rem; line-height:1.15; }
.promo-card2__teaser{ color:var(--ink-soft); font-weight:300; font-size:.92rem; flex:1; }
.promo-card2__prices{ display:flex; align-items:baseline; gap:12px; }
.promo-card2__old{ color:var(--ink-dim); text-decoration:line-through; font-size:1rem; }
.promo-card2__new{ font-family:var(--serif); font-size:2rem; color:var(--gold-2); font-weight:600; }
.promo-card2__cta{ align-self:flex-start; margin-top:6px; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); }

/* ============ FAQ ============ */
.faq{ max-width:760px; margin:0 auto; padding:0 clamp(20px,5vw,40px); }
.faq-item{ border-bottom:1px solid var(--line); }
.faq-q{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; background:none; border:0; cursor:pointer; text-align:left; color:var(--ink); font-family:var(--serif); font-size:clamp(1.1rem,2.2vw,1.35rem); font-weight:400; padding:22px 2px; transition:color .3s; }
.faq-q:hover{ color:var(--gold-2); }
.faq-ic{ position:relative; width:16px; height:16px; flex:none; }
.faq-ic::before,.faq-ic::after{ content:""; position:absolute; inset:50% 0 auto 0; height:1.5px; background:var(--gold); transition:transform .4s var(--ease); }
.faq-ic::after{ transform:rotate(90deg); }
.faq-item.open .faq-ic::after{ transform:rotate(0); }
.faq-item.open .faq-q{ color:var(--gold-2); }
.faq-a{ height:0; overflow:hidden; transition:height .4s var(--ease); }
.faq-a p{ padding:0 2px 22px; color:var(--ink-soft); font-weight:300; line-height:1.7; max-width:62ch; }

/* ============ CONTACT MAP ============ */
.contact__map{ max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,5vw,60px) 20px; }
.contact__map iframe{ width:100%; height:380px; border:1px solid var(--line); border-radius:6px; display:block; filter:grayscale(.25) contrast(.96) brightness(.92); }

/* social links (above the map) */
.contact__social{ display:flex; flex-direction:column; align-items:center; gap:14px; max-width:var(--maxw); margin:clamp(34px,6vh,64px) auto clamp(30px,4vh,44px); padding:0 clamp(20px,5vw,60px); }
.contact__social-label{ font-size:.68rem; letter-spacing:.24em; text-transform:uppercase; color:var(--ink-dim); }
.contact__social-links{ display:flex; gap:16px; flex-wrap:wrap; justify-content:center; }
.social-btn{ display:inline-flex; align-items:center; gap:10px; padding:11px 24px; border-radius:40px; border:1px solid var(--line); background:#fff; color:var(--ink); font-family:var(--sans); font-weight:500; font-size:.95rem; transition:transform .3s, box-shadow .3s, background .3s, border-color .3s, color .3s; }
.social-btn svg{ width:20px; height:20px; fill:var(--gold); transition:fill .3s; }
.social-btn:hover{ background:var(--grad); color:#fff; border-color:transparent; transform:translateY(-2px); box-shadow:0 10px 26px rgba(138,92,240,.30); }
.social-btn:hover svg{ fill:#fff; }

/* ============ EQUIPMENT ============ */
.equip-grid{ max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,5vw,60px) clamp(80px,10vh,120px); display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
@media(max-width:820px){ .equip-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:520px){ .equip-grid{ grid-template-columns:1fr; } }
.equip{ background:var(--bg-2); padding:32px 28px; transition:background .4s; }
.equip:hover{ background:var(--panel); }
.equip__tag{ font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); }
.equip__name{ font-family:var(--serif); font-size:1.35rem; font-weight:500; color:var(--ink); margin:8px 0 0; line-height:1.15; }
.equip__desc{ color:var(--ink-soft); font-weight:300; font-size:.92rem; margin-top:10px; }

/* ============ CAREER / COURSES CTA ============ */
.career{ padding:clamp(90px,12vh,150px) clamp(20px,5vw,60px); background:linear-gradient(var(--bg),var(--bg-2)); }
.career__inner{ max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:1fr 1.05fr; gap:56px; align-items:center; }
.career__title{ font-family:var(--serif); font-weight:400; font-size:clamp(2rem,4.4vw,3.2rem); line-height:1.08; margin:.2em 0 .5em; letter-spacing:-.01em; }
.career__lead{ color:var(--ink-soft); font-weight:300; font-size:1.06rem; margin-bottom:26px; max-width:44ch; }
.career__lead b{ color:var(--gold-2); font-weight:600; }
.career__points{ list-style:none; padding:0; margin:0 0 32px; display:grid; gap:13px; }
.career__points li{ position:relative; padding-left:30px; color:var(--ink); font-weight:300; }
.career__points li::before{ content:""; position:absolute; left:0; top:7px; width:13px; height:13px; border-radius:50%; border:1px solid var(--gold); background:rgba(220,155,161,.16); }
@media(max-width:860px){ .career__inner{ grid-template-columns:1fr; gap:32px; } .career__text{ order:2; } .career__media{ order:1; } }

/* ==================================================================
   2026 CLINICAL THEME — white base; dark hero video + gradient menu + navy footer for contrast.
   ================================================================== */
/* top bar: white text over dark hero; white bar + navy logo when scrolled */
.sitebar{ color:#ffffff; }
.sitebar.scrolled{ background:rgba(255,255,255,.9); backdrop-filter:blur(14px); border-bottom-color:var(--line); color:var(--ink); }
.sitebar__brand .logo-n{ display:none; }
.sitebar.scrolled .logo-w{ display:none; } .sitebar.scrolled .logo-n{ display:block; }
.sitebar.on-dark .logo-w{ display:block; } .sitebar.on-dark .logo-n{ display:none; }
.sitebar__cta{ background:var(--grad); color:#fff; border:0; border-radius:40px; padding:11px 26px; font-weight:600;
  position:relative; overflow:hidden; box-shadow:0 6px 18px rgba(138,92,240,.32); animation:ctaPulse 2.8s ease-in-out infinite; }
.sitebar__cta:hover{ transform:translateY(-1px); box-shadow:0 10px 30px rgba(229,49,143,.45); }
.sitebar.on-dark .sitebar__cta{ background:var(--grad); color:#fff; }
.sitebar__cta canvas{ position:absolute; top:0; left:0; pointer-events:none; }
@keyframes ctaPulse{ 0%,100%{ box-shadow:0 6px 18px rgba(138,92,240,.3); } 50%{ box-shadow:0 8px 26px rgba(229,49,143,.55); } }

/* hero text over the dark video */
.hero__eyebrow{ color:#f7b0d8; }
.hero__title{ color:#ffffff; }
.hero__sub{ color:#e7e2f5; }

/* mega-menu = brand gradient (pink→purple→blue) */
.megamenu{ background:#171a2b; color:#fff; }
.megamenu::before{ background:var(--grad); opacity:.94; }
.mm-word{ color:#ffffff; }
.mm-item{ border-top-color:rgba(255,255,255,.22); }
.mm-num{ color:rgba(255,255,255,.7); }
.mm-ico, .mm-item:hover .mm-title{ color:#fff; }
.mm-title{ color:#fff; }
.mm-contact{ color:rgba(255,255,255,.85); }
.mm-contact a{ color:#fff; }
.mm-socials a{ color:#fff; }

/* footer = clinical navy */
.sitefooter{ background:#14162a; border-top-color:rgba(255,255,255,.08); }
.sitefooter__tag{ color:rgba(255,255,255,.6); }
.sitefooter__links a{ color:rgba(255,255,255,.72); }
.sitefooter__links a:hover{ color:#f7b0d8; }
.sitefooter__contact{ color:rgba(255,255,255,.7); }
.sitefooter__contact a:hover{ color:#f7b0d8; }
.sitefooter__legal{ color:rgba(255,255,255,.4); border-top-color:rgba(255,255,255,.1); }
.sitefooter__top{ border-bottom-color:rgba(255,255,255,.12); }

/* dark-media cards → light text */
.svc-slide__title{ color:#ffffff; }
.svc-slide__idx{ color:#f7b0d8; }
.proc-card__teaser{ color:rgba(255,255,255,.88); }
.proc-card__more{ color:#f7b0d8; }
.videoblock__label{ color:#fff; }
.lightbox__btn{ color:#fff; }
.zoom-hint{ color:#fff; }

/* clean white cards */
.promo__card{ background:#ffffff; box-shadow:0 24px 60px rgba(70,90,200,.09); }
.promo__card::before{ background:radial-gradient(90% 60% at 50% 0%, rgba(138,92,240,.1), transparent 62%); }
.promo__old{ color:var(--ink-dim); }
.cd-cell{ background:rgba(138,92,240,.07); border-color:var(--line); }
.course-cta{ background:#ffffff; box-shadow:0 24px 60px rgba(70,90,200,.08); }
.promo-card2.is-featured{ background:var(--bg-2); border-color:var(--gold); box-shadow:0 0 0 1px var(--gold), 0 18px 44px rgba(229,49,143,.14); }

/* buttons: WHITE text on the pink→purple→blue gradient */
.btn--gold{ background:var(--grad); color:#ffffff; }

/* skin band → white fade */
.band::after{ background:linear-gradient(90deg, var(--bg) 5%, rgba(251,252,255,.5) 40%, transparent 66%); }
@media(max-width:700px){ .band::after{ background:linear-gradient(180deg, transparent 28%, var(--bg) 86%); } }

/* hero → white transition (monotonic vertical fade, no mid-line) */
.hero__scrim{
  background: linear-gradient(to bottom,
    rgba(12,14,28,.6) 0%,
    rgba(12,14,28,.4) 27%,
    rgba(20,22,42,.24) 44%,
    rgba(60,70,150,.16) 54%,
    rgba(160,150,230,.14) 62%,
    rgba(230,232,250,.3) 70%,
    rgba(245,247,255,.62) 82%,
    rgba(251,252,255,.9) 94%,
    var(--bg) 100%);
}

/* button canvas glow-trail (EVER-EFFECTS 08 / gfluo btn.3) */
.btn--gold{ position:relative; overflow:hidden; }
.btn--gold canvas{ position:absolute; top:0; left:0; pointer-events:none; }

/* ============ PULSING DOT FIELDS (brand motif) ============ */
.hero__dots{ position:absolute; inset:0; z-index:1; pointer-events:none; opacity:.7; }
.sec-dots{ position:absolute; inset:0; z-index:0; pointer-events:none; opacity:.6; }
.promo{ position:relative; overflow:hidden; }
.promo > *:not(.sec-dots){ position:relative; z-index:1; }

/* ============ TEAM (Екип) ============ */
.team{ max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,5vw,60px) clamp(80px,10vh,120px); display:grid; grid-template-columns:repeat(auto-fill,minmax(258px,1fr)); gap:28px; }
.team-card{ display:flex; flex-direction:column; }
.team-card__media{ position:relative; aspect-ratio:1/1; overflow:hidden; }
.team-card__media img{ width:100%; height:100%; object-fit:cover; display:block; }
/* graphics are self-contained (own frame + name banner) — hide card chrome so there's no double-name */
.team-card__tint,
.team-card__media::after,
.team-card__over,
.team-card__mono{ display:none; }
.team-card__name{ font-family:var(--serif); font-weight:500; font-size:1.5rem; color:#fff; line-height:1.08; }
.team-card__role{ font-size:.66rem; letter-spacing:.13em; text-transform:uppercase; color:#f7b0d8; margin-top:6px; }
.team-card__bio{ color:var(--ink-soft); font-weight:300; font-size:.92rem; line-height:1.62; margin-top:16px; }

/* ---- Team Lab Carousel (WebGL, desktop only) ---- */
.teamgl{ display:none; }
.teamgl__stage{ position:relative; width:100%; height:min(60vh,600px); }
.teamgl__canvas{ display:none; width:100%; height:100%; cursor:grab; touch-action:pan-y; }
.teamgl__canvas.dragging{ cursor:grabbing; }
.teamgl__labels{ position:absolute; inset:0; pointer-events:none; z-index:2; }
.teamgl__label{ position:absolute; transform:translateX(-50%); text-align:center; white-space:nowrap; transition:opacity .35s ease; }
.teamgl__lname{ display:block; font-family:var(--serif); font-weight:500; font-size:1.32rem; color:var(--ink); line-height:1.1; transition:color .3s ease; }
.teamgl__lrole{ display:block; font-size:.62rem; letter-spacing:.15em; text-transform:uppercase; color:var(--ink-dim); margin-top:4px; transition:color .3s ease; }
.teamgl__label.is-hovered .teamgl__lname{ color:var(--gold); }
.teamgl__label.is-hovered .teamgl__lrole{ color:var(--ink-soft); }
.teamgl__note{ text-align:center; font-family:var(--accent); font-style:italic; font-size:1rem; color:var(--ink-soft); margin-top:14px; transition:opacity .35s ease; }
.teamgl--failed{ display:none !important; }
@media (min-width:1200px){
  .teamgl{ display:block; margin:0 auto clamp(60px,8vh,110px); padding:0 clamp(20px,4vw,50px); max-width:var(--maxw); }
  .team{ display:none; }
}

/* ============ EQUIPMENT SCROLL SHOWCASE (dass.it-style pinned horizontal scroll) ============ */
.equipx{ position:relative; background:linear-gradient(var(--bg),var(--bg-2)); }
.equipx__sticky{ position:sticky; top:0; height:100vh; overflow:hidden; display:flex; align-items:center; }
.equipx__track{ display:flex; align-items:center; will-change:transform; padding:0 8vw; }
.equip-panel{ flex:0 0 auto; width:min(76vw,780px); margin-right:5vw; display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,56px); align-items:center; }
.equip-panel__img{ aspect-ratio:1; background:#fff; border:1px solid var(--line); border-radius:12px; display:grid; place-items:center; padding:9%; box-shadow:0 26px 64px rgba(70,90,200,.11); }
.equip-panel__img img{ max-width:100%; max-height:100%; object-fit:contain; }
.equip-panel__num{ display:block; font-size:.72rem; letter-spacing:.16em; color:var(--gold); font-variant-numeric:tabular-nums; margin-bottom:16px; }
.equip-panel__tag{ font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-2); font-weight:600; }
.equip-panel__name{ font-family:var(--serif); font-weight:500; font-size:clamp(1.7rem,3.4vw,2.7rem); line-height:1.06; margin:10px 0 15px; }
.equip-panel__desc{ color:var(--ink-soft); font-weight:300; font-size:1.02rem; max-width:34ch; }
.equipx__progress{ position:absolute; bottom:46px; left:50%; transform:translateX(-50%); width:min(240px,40vw); height:2px; background:var(--line); z-index:2; }
.equipx__bar{ height:100%; width:6%; background:var(--grad); }
@media(max-width:820px){
  .equipx{ height:auto !important; }
  .equipx__sticky{ position:static; height:auto; padding:0 0 60px; }
  .equipx__track{ flex-direction:column; transform:none !important; padding:0 clamp(20px,5vw,40px); gap:40px; }
  .equip-panel{ width:100%; margin-right:0; grid-template-columns:1fr; gap:20px; }
  .equipx__progress{ display:none; }
}
