/* Instytut Regresji — Ton gabinetu psychologiczno-medycznego */
/* Font loaded via <link> in HTML */
:root{
  /* New palette */
  --light-gold:#f5e1a4;
  --mid-blue:#253d5b;
  --deep-blue:#0d1b2a;
  --accent-color:#a8831a;
  --accent-color-dark:#8f6f12;
  --text-primary:#e9e9e9;
  --text-dark:#1a1a1a;
  --bg:#0d1b2a;
  --bg-soft:#12243a;
  --surface:rgba(13,27,42,.78);
  --surface-alt:rgba(37,61,91,.5);
  --ink:var(--text-primary);
  --muted:rgba(233,233,233,.72);
  --line:rgba(233,233,233,.18);
  --primary:var(--light-gold);
  --accent:var(--accent-color);
  --sacred:var(--light-gold);
  --sacred-soft:rgba(245,225,164,.25);
  --success:#16a34a;
  --warning:#f59e0b;
  --shadow:0 16px 40px rgba(5,10,18,.45);
  --glow:0 18px 50px rgba(168,131,26,.35), 0 10px 28px rgba(245,225,164,.25);
  --radius:16px;
  --header-height:74px;
  --heading-font:"Inter","Segoe UI",system-ui,sans-serif;
  --display-font:"Inter","Segoe UI",system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:"Inter","Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  color:var(--text-primary);
  background:linear-gradient(to bottom, var(--light-gold) 0%, var(--mid-blue) 40%, var(--deep-blue) 100%);
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  position:relative;
  padding-top:var(--header-height);
}
h1,h2,h3,h4,h5,h6{
  color:var(--ink);
  font-family:var(--heading-font);
  font-weight:700;
  letter-spacing:-0.01em;
  margin:1rem 0 .5rem;
}
h1{font-size:2.5rem}
h2{font-size:2rem}
h3{font-size:1.5rem}
p{
  font-size:1rem;
  color:var(--text-primary);
  margin-bottom:1rem;
}
body.scene-page h1,
body.scene-page h2,
body.scene-page h3{
  font-family:var(--display-font);
  font-weight:600;
  letter-spacing:.04em;
}
strong{color:var(--text-primary)}
img{max-width:100%; display:block}
a{color:var(--accent-color); text-decoration:none; transition:color .2s ease}
a:hover{color:var(--light-gold)}
.container{max-width:1120px; margin:auto; padding:0 20px}
.row{display:flex; gap:12px}
.wrap{flex-wrap:wrap}
.center{align-items:center}
.between{justify-content:space-between}
.gap{gap:12px}
.grid{display:grid; gap:24px}
:focus-visible{outline:3px solid rgba(224,185,115,.7); outline-offset:2px}
html{scroll-behavior:smooth}
body{scroll-padding-top:calc(var(--header-height) + 12px)}

/* Page fade */
body.fade{opacity:0; transition:opacity .5s ease}
body.fade._in{opacity:1}
body.fade.fade-out{opacity:0}

/* Header / Nav */
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:100;
  background:rgba(13,27,42,.92);
  backdrop-filter:saturate(1.05) blur(10px);
  border-bottom:1px solid var(--line);
  box-shadow:0 12px 24px rgba(5,10,18,.35);
}
body.scene-page .site-header{
  background:transparent;
  backdrop-filter:none;
  border-bottom:none;
  box-shadow:none;
}
body.scene-page .nav-links a{
  background:rgba(13,27,42,.82);
  border-color:rgba(245,225,164,.25);
}
main, footer{position:relative; z-index:1}
.site-header .container{flex-wrap:nowrap; align-items:center; gap:18px; position:relative; min-height:var(--header-height); padding:12px 20px; padding-right:90px}
.brand{display:flex; align-items:center; gap:10px; font-weight:700; color:var(--ink); flex-shrink:0}
.brand-mark{width:30px; height:30px; color:var(--accent)}
.brand-logo{width:52px; height:52px; object-fit:contain; display:block; filter:drop-shadow(0 0 0 rgba(0,0,0,0))}
.brand-logo{filter:none}
.brand-logo{color:var(--accent-color)}
.brand-text{letter-spacing:.5px; font-size:15px}
.nav{flex:1 1 auto; min-width:0; display:flex; align-items:center; gap:14px}
.nav-links,.nav-actions{display:flex; align-items:center; gap:10px; flex-wrap:nowrap}
.nav-links{flex:1 1 auto; min-width:0}
.nav-links a{padding:7px 10px; border-radius:10px; color:var(--ink); transition:background .2s ease, color .2s ease; white-space:nowrap; font-size:12px; letter-spacing:.04em}
.nav-links a:hover{background:rgba(148,163,184,.12); color:#fff}
.nav-links a{border:1px solid var(--line); font-weight:600; margin-left:0; padding:7px 10px; background:rgba(13,27,42,.55)}
.nav-links a:hover{background:rgba(13,27,42,.8); color:var(--text-primary)}
.nav-actions{flex-shrink:0; gap:10px}
.nav-actions .btn{white-space:nowrap; padding:9px 12px; border-radius:12px; font-size:12px; border:1px solid var(--line); background:rgba(13,27,42,.6); color:var(--text-primary)}
.nav-actions .btn.btn-primary{background:var(--accent-color); color:#ffffff; border:1px solid rgba(168,131,26,.4); box-shadow:0 8px 24px rgba(168,131,26,.35)}
.nav-actions a[href*="portal.html"]{display:none}
.nav-toggle{display:none; width:44px; height:44px; border:1px solid var(--line); background:var(--surface); border-radius:14px; color:var(--ink); flex-shrink:0}
.nav-toggle span{display:block; width:22px; height:2px; background:var(--ink); margin:6px auto}
.nav-meta{position:absolute; right:-168px; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; align-items:flex-end; gap:6px; min-width:0}
.nav-user-pill{display:flex; flex-direction:column; gap:0; padding:4px 8px; border-radius:999px; border:1px solid var(--line); background:rgba(148,163,184,.08); font-size:9px; text-transform:uppercase; letter-spacing:.18em; color:var(--muted); min-width:110px}
.nav-user-pill strong{font-size:11px; text-transform:none; letter-spacing:normal; color:var(--ink)}
.nav-user-pill.is-admin{background:rgba(239,68,68,.18); border-color:rgba(248,113,113,.6); color:#fee2e2}
.nav-user-pill.is-admin strong{color:#fff}
.nav-user-label{font-size:9px}
.nav-user-pill.hidden{display:none}
.nav-sound{border:1px solid rgba(245,225,164,.3); border-radius:999px; padding:6px 12px; cursor:pointer; background:rgba(13,27,42,.6); color:var(--text-primary); font-size:9px; text-transform:uppercase; letter-spacing:.25em}
.nav-sound[aria-pressed="true"]{background:rgba(245,225,164,.35); color:var(--text-dark); border-color:rgba(245,225,164,.6)}
.nav-meta .nav-sound{align-self:flex-end}
@media (max-width:1100px){
  .nav{gap:12px}
  .nav-links a{font-size:12px}
  .nav-actions .btn{padding:10px 14px}
}
@media (max-width:1200px) and (min-width:901px){
  :root{--header-height:96px}
  .site-header .container{flex-wrap:wrap; padding-right:20px}
  .nav{flex:1 1 100%; display:grid; grid-template-columns:1fr; row-gap:8px; margin-top:6px}
  .nav-links,.nav-actions{justify-content:center; flex-wrap:wrap}
  .nav-actions{gap:8px}
  .nav-links a{font-size:11px; padding:6px 10px}
  .nav-actions .btn{padding:7px 10px; font-size:11px}
  .nav-meta{position:absolute; right:8px; top:10px; transform:none}
}
@media (max-width:1280px){
  .site-header .container{padding-right:20px}
  .nav{flex-wrap:wrap; row-gap:10px}
  .nav-links{flex-wrap:wrap}
  .nav-actions{flex-wrap:wrap; gap:8px}
  .nav-links a{font-size:11px; padding:6px 9px}
  .nav-actions .btn{padding:8px 10px; font-size:11px}
  .nav-meta{right:8px}
  .nav-meta .nav-sound{font-size:9px; padding:6px 10px}
}
@media (max-width:900px){
  .nav{position:fixed; right:16px; top:calc(var(--header-height) + 8px); background:var(--surface); border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); padding:14px; display:none; flex-direction:column; width:min(92vw, 320px); gap:12px}
  .nav.open{display:flex}
  .nav-links,.nav-actions{flex-direction:column; align-items:flex-start}
  .nav-links a{white-space:normal}
  .nav a{width:100%}
  .nav-actions .btn{width:100%; text-align:center}
  .nav-meta{position:static; transform:none; align-items:flex-end; margin-left:auto}
  .nav-toggle{display:block}
  .site-header .container{padding-right:20px}
}
@media (max-width:640px){
  :root{--header-height:64px}
  .brand-logo{width:44px; height:44px}
  .brand-text{font-size:14px}
  .hero{padding:52px 0}
  .section{padding:64px 0}
  .about-hero .about-copy{padding:18px; border-radius:16px}
}
@media (max-width:600px){
  .container{padding:0 16px}
  .row{flex-wrap:wrap}
  .hero-copy h1{font-size:clamp(28px, 7vw, 38px)}
  .hero-copy p{font-size:15px}
  .hero-cta{flex-direction:column; align-items:stretch}
  .hero-cta .btn{width:100%}
  .trust{gap:8px}
  .chip{font-size:11px; padding:6px 10px}
  .card{padding:18px}
  .pricing-column{padding:16px}
  .pricing-column .pricing-card,
  .pricing-column .mini-card{padding:18px}
  .pricing-side{padding:18px}
  .fomo-banner{font-size:14px}
  .urgency-list{font-size:13px}
  .section-head h2{font-size:clamp(24px, 7vw, 32px)}
  .section-head p{font-size:15px}
  .badge-list li{font-size:13px}
  .portal-screen .screen-body{padding:16px}
  .auth-slider{padding:16px}
  .auth-toggle{flex-direction:column}
  .auth-tab{width:100%}
  .cta-panel{padding:26px}
  .site-footer .row{flex-direction:column; align-items:flex-start; gap:8px}
  .site-footer .contact-footer{flex-direction:column; align-items:flex-start}
  .testimonial-card{min-width:240px; padding:20px}
  .testimonial-text{font-size:15px}
}
@media (max-width:480px){
  :root{--header-height:60px}
  .brand-logo{width:40px; height:40px}
  .nav{right:10px}
  .hero{padding:44px 0}
  .section{padding:56px 0}
  .hero-overlay{padding:6px; border-radius:12px}
  .btn{padding:12px 16px}
  .note{font-size:12px}
}

/* Hero */
.hero{padding:80px 0; position:relative; color:var(--text-primary)}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.55);
  z-index:0;
  pointer-events:none;
}
.hero > .container{position:relative; z-index:1}
.hero-grid{grid-template-columns:1.1fr .9fr; align-items:center}
.hero-copy h1{font-size:clamp(32px, 5vw, 56px); line-height:1.1; margin:6px 0 12px}
.hero-copy p{color:var(--muted); margin:0 0 18px}
.hero-cta{margin-bottom:8px}
.hero-note{margin:0 0 16px; color:var(--muted)}
.hero-eyebrow{color:var(--primary)}
.trust{margin-top:12px}
.chip{font-size:12px; background:rgba(148,163,184,.15); border:1px solid var(--line); padding:6px 12px; border-radius:999px; letter-spacing:.3px}
.hero-visual{position:relative; border-radius:22px; overflow:hidden; box-shadow:var(--glow); border:1px solid rgba(148,163,184,.35); background:var(--surface-alt)}
.hero-visual img{aspect-ratio:4 / 5; object-fit:cover}
.evolver-canvas{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4 / 5;
  border-radius:30px;
  background:radial-gradient(circle at 60% 10%, rgba(56,189,248,.12), transparent 55%), linear-gradient(180deg, rgba(2,6,23,.95), rgba(5,12,25,.9));
  border:1px solid rgba(148,163,184,.35);
  box-shadow:0 30px 80px rgba(14,165,233,.25);
}
.hero-overlay{position:absolute; right:14px; bottom:14px; width:min(42%, 360px); border-radius:16px; overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--line); background:rgba(3,7,18,.75); padding:6px}
.hero-overlay img{aspect-ratio:4 / 3; object-fit:cover}
.pricing-side{display:flex; flex-direction:column; gap:18px; background:rgba(15,23,42,.9); border:1px solid rgba(148,163,184,.35); border-radius:24px; padding:24px}
.fomo-banner{background:linear-gradient(135deg, rgba(248,113,113,.25), rgba(14,165,233,.22)); border:1px solid rgba(248,113,113,.45); border-radius:18px; padding:16px; color:#fee2e2; font-size:15px}
.fomo-banner small{display:block; margin-top:8px; color:#f8fafc; font-size:13px}
.urgency-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; color:var(--muted); font-size:14px}
.urgency-list strong{display:block; color:var(--ink); font-size:12px; letter-spacing:.16em; text-transform:uppercase}
@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr}
  .hero{padding:60px 0}
  .hero-overlay{position:static; width:100%; margin-top:14px}
}

/* Sections */
.section{padding:80px 0; background:transparent}
.section.alt{background:var(--surface)}
.section.aura{position:relative; overflow:hidden}
.section.aura::before{content:""; position:absolute; inset:-20% -5%; background:radial-gradient(circle at 20% 30%, rgba(56,189,248,.14), transparent 40%), radial-gradient(circle at 80% 0%, rgba(224,185,115,.12), transparent 45%); opacity:.7; pointer-events:none}
.section.aura>*{position:relative}
.section-head h2{margin:6px 0 10px; font-size:clamp(28px, 4vw, 42px)}
.section-head p{margin:0; color:var(--muted); font-size:16px; line-height:1.7}
.section-head .note{font-size:14px}
.eyebrow{letter-spacing:.3em; text-transform:uppercase; font-size:12px; color:var(--primary); margin:0 0 8px; display:inline-block}

/* Sacred flow: jasne u góry, ciemne u dołu (tylko strona ze sceną) */
body.scene-page{
  background:linear-gradient(180deg, var(--light-gold) 0%, rgba(245,225,164,.85) 14%, var(--mid-blue) 45%, var(--deep-blue) 100%);
  padding-top:0;
}
body.scene-page::before{
  content:"";
  position:fixed;
  inset:0;
  background-image:
    radial-gradient(rgba(245,225,164,.18) 1px, transparent 1px),
    radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px);
  background-size:3px 3px, 5px 5px;
  background-position:0 0, 18px 26px;
  opacity:.2;
  mix-blend-mode:screen;
  pointer-events:none;
  z-index:0;
}
body.scene-page main{background:transparent}
body.scene-page .eyebrow{
  color:var(--sacred);
  text-shadow:0 2px 10px rgba(224,185,115,.2);
}
body.scene-page .section-head h2{
  text-shadow:0 10px 26px rgba(15,23,42,.12);
}
body.scene-page .section-head::after{
  content:"";
  display:block;
  width:120px;
  height:2px;
  margin-top:14px;
  background:linear-gradient(90deg, rgba(245,225,164,.9), rgba(37,61,91,.2));
}
body.scene-page .section{
  background:linear-gradient(180deg, rgba(13,27,42,.72), rgba(13,27,42,.52));
  position:relative;
  overflow:hidden;
}
body.scene-page .section.alt{
  background:linear-gradient(180deg, rgba(17,34,56,.72), rgba(13,27,42,.55));
}
body.scene-page .section .section-head{
  background:rgba(13,27,42,.68);
  border:1px solid rgba(245,225,164,.18);
  border-radius:18px;
  padding:18px 20px;
  box-shadow:0 18px 40px rgba(5,10,18,.45);
  backdrop-filter:blur(8px);
}
body.scene-page .section .section-head p{color:var(--muted)}
body.scene-page .section::before{
  content:"";
  position:absolute;
  inset:-20% -10%;
  background:
    radial-gradient(circle at 20% 35%, rgba(245,225,164,.18), transparent 55%),
    radial-gradient(circle at 80% 55%, rgba(168,131,26,.18), transparent 60%),
    linear-gradient(120deg, rgba(245,225,164,.08), transparent 60%);
  opacity:.45;
  transform:translate3d(0,0,0);
  animation:mistDrift 42s ease-in-out infinite alternate;
  pointer-events:none;
}
body.scene-page .section > *{position:relative; z-index:1}
body.scene-page .testimonials{
  background:
    radial-gradient(circle at 20% 20%, rgba(245,225,164,.18), transparent 55%),
    radial-gradient(circle at 80% 10%, rgba(168,131,26,.2), transparent 45%),
    linear-gradient(180deg, rgba(13,27,42,.85), rgba(13,27,42,.6));
}
body.scene-page .duality{
  background:linear-gradient(135deg, rgba(13,27,42,.75) 0%, rgba(37,61,91,.45) 100%);
  border-block:1px solid rgba(245,225,164,.18);
}
body.scene-page .section.aura::before{opacity:.35}
body.scene-page .section.aura::after{
  content:"";
  position:absolute;
  inset:-10% -10%;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 260'><g fill='none' stroke='%23ffffff' stroke-opacity='0.18' stroke-width='1.5'><circle cx='130' cy='130' r='70'/><circle cx='130' cy='130' r='110'/><path d='M130 24l18 46 48 0-38 28 14 48-42-26-42 26 14-48-38-28 48 0z'/><path d='M130 76c16 20 16 36 0 56-16-20-16-36 0-56z'/></g></svg>");
  background-repeat:no-repeat;
  background-size:min(520px, 60vw);
  background-position:85% 20%;
  opacity:.18;
  mix-blend-mode:screen;
  pointer-events:none;
  z-index:0;
}
body.scene-page .card{
  background:
    linear-gradient(180deg, rgba(13,27,42,.85), rgba(17,33,53,.75)) padding-box,
    linear-gradient(135deg, rgba(245,225,164,.35), rgba(37,61,91,.35)) border-box;
  border:1px solid transparent;
  box-shadow:0 20px 50px rgba(5,10,18,.35);
}
body.scene-page .card.soft{background:rgba(13,27,42,.6)}
body.scene-page .chip{
  background:rgba(224,185,115,.12);
  border-color:rgba(224,185,115,.35);
}
body.scene-page .btn-primary{
  box-shadow:0 14px 34px rgba(224,185,115,.28), 0 12px 30px rgba(37,99,235,.2);
}
body.scene-page .section.progression,
body.scene-page .section.portal-preview,
body.scene-page .section.faq-dark{
  background:linear-gradient(180deg, rgba(8,12,24,.55) 0%, rgba(5,9,20,.82) 100%);
}
body.scene-page .section.progression .section-head p,
body.scene-page .section.portal-preview .section-head p,
body.scene-page .section.faq-dark .section-head p{color:#cbd5e1}
body.scene-page .section.progression .section-head,
body.scene-page .section.portal-preview .section-head,
body.scene-page .section.faq-dark .section-head{
  background:rgba(2,6,23,.6);
  border-color:rgba(148,163,184,.3);
}
body.scene-page .site-footer{
  background:rgba(7,12,22,.78);
  border-top:1px solid rgba(148,163,184,.2);
}
body.scene-page .site-footer p,
body.scene-page .site-footer a,
body.scene-page .site-footer .disclaimer{color:#cbd5e1}
body.scene-page .site-footer a{color:#e2e8f0}

body.scene-page .btn-primary{
  position:relative;
  overflow:hidden;
}
body.scene-page .btn-primary::after{
  content:"";
  position:absolute;
  top:-40%;
  left:-60%;
  width:60%;
  height:180%;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,.5), transparent);
  transform:translateX(-120%) rotate(12deg);
  animation:ctaShimmer 6.5s ease-in-out infinite;
  pointer-events:none;
  opacity:.35;
}

/* Cards */
.card{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow)}
.card.soft{background:var(--surface-alt)}
.glass{background:rgba(11,17,32,.85); border:1px solid rgba(148,163,184,.35); backdrop-filter:blur(18px);}
.glass h3,
.glass p{color:#ffffff;}
.cards-3{grid-template-columns:repeat(3,1fr)}
.service-img{border-radius:16px; margin:-6px -6px 14px -6px; width:calc(100% + 12px); height:200px; object-fit:cover; filter:saturate(1.1)}
@media (max-width:960px){ .cards-3{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){ .cards-3{grid-template-columns:1fr} }
.pricing-grid{grid-template-columns:repeat(auto-fit, minmax(260px, 1fr))}
.pricing-card{position:relative; overflow:hidden; background:rgba(15,23,42,.92); border:1px solid rgba(148,163,184,.35); border-radius:24px; padding:24px; min-height:260px; display:flex; flex-direction:column; gap:12px; box-shadow:var(--shadow)}
.pricing-card .price{font-size:32px; color:var(--primary); margin:8px 0 16px}
.pricing-card.featured{border:1px solid rgba(224,185,115,.65); box-shadow:0 25px 70px rgba(224,185,115,.25)}
.pricing-tag{display:inline-flex; padding:6px 12px; border-radius:999px; font-size:12px; letter-spacing:.3em; text-transform:uppercase; border:1px solid rgba(148,163,184,.4); margin-bottom:10px}
.review-chip{margin:6px 0 0; font-size:13px; font-style:italic; color:#cbd5e1}
.pricing-columns{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px}
.pricing-column{display:flex; flex-direction:column; gap:18px; padding:20px; border:1px solid rgba(148,163,184,.35); border-radius:28px; background:rgba(5,12,25,.85); box-shadow:var(--shadow)}
.pricing-column .pricing-card,
.pricing-column .mini-card{background:rgba(15,23,42,.92); border:1px solid rgba(148,163,184,.3); border-radius:22px; padding:22px; min-height:auto}
.mini-card .price{font-size:22px; font-weight:700; color:var(--primary); margin:4px 0 10px; display:block}
@media (max-width:1200px){
  .pricing-columns{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
}
.price-quote{margin:12px 0 0; font-size:14px; color:#cbd5e1; font-style:italic}
.pricing-proof .card{min-height:210px}
.pricing-steps{grid-template-columns:repeat(3,1fr); gap:20px}
.pricing-action{margin-top:26px; text-align:center}
.pricing-action .btn{min-width:200px}
.pricing-action p{color:var(--muted)}
@media (max-width:900px){
  .pricing-steps{grid-template-columns:1fr}
}
@media (max-width:640px){
  .pricing-action .btn{width:100%}
  .pricing-columns{gap:16px}
}

/* Aura & glyphs */
.aura-grid .card{min-height:260px}
.glyph{width:48px; height:48px; border-radius:14px; background:rgba(56,189,248,.12); display:grid; place-items:center; margin-bottom:12px; color:var(--accent)}
.glyph svg{width:28px; height:28px}

/* Steps */
.steps-grid{grid-template-columns:repeat(3,1fr)}
.step ul{margin:14px 0 0; padding-left:18px; color:var(--muted); font-size:14px}
.step-num{display:inline-flex; width:42px; height:42px; border-radius:999px; align-items:center; justify-content:center; margin-bottom:12px; border:1px solid var(--line); color:var(--primary); font-weight:700}
@media (max-width:960px){ .steps-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:720px){ .steps-grid{grid-template-columns:1fr} }

/* Split section */
.split-grid{grid-template-columns:1.1fr .9fr; align-items:start}
.badge-list{list-style:none; padding:0; margin:22px 0 16px; display:grid; gap:10px}
.badge-list li{padding:10px 14px; border:1px solid var(--line); border-radius:14px; background:rgba(148,163,184,.1); color:var(--ink); font-size:14px}
.signature{margin-top:10px; color:var(--muted); font-size:14px}
.fact-panel{display:grid; gap:16px}
.fact{border:1px solid var(--line); border-radius:18px; padding:20px; background:var(--surface-alt); min-height:140px}
.fact-label{display:block; font-size:22px; font-weight:700; color:var(--primary); margin-bottom:6px}
@media (max-width:960px){ .split-grid{grid-template-columns:1fr} }

/* Testimonials */
.testimonial-carousel{position:relative}
.carousel-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid rgba(245,225,164,.25);
  background:rgba(13,27,42,.85);
  color:var(--light-gold);
  font-size:28px;
  line-height:1;
  display:grid;
  place-items:center;
  box-shadow:0 12px 24px rgba(5,10,18,.35);
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease;
  z-index:3;
}
.carousel-btn:hover{transform:translateY(-50%) scale(1.04); box-shadow:0 16px 28px rgba(15,23,42,.22)}
.carousel-btn.prev{left:-18px}
.carousel-btn.next{right:-18px}
.testimonials{position:relative; background:radial-gradient(circle at 20% 20%, rgba(245,225,164,.18), transparent 55%), radial-gradient(circle at 80% 10%, rgba(168,131,26,.2), transparent 45%); }
.testimonials .section-head h2{color:var(--text-primary)}
.testimonial-viewport{position:relative; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding:8px 2px 18px; -webkit-overflow-scrolling:touch; scrollbar-width:none}
.testimonial-viewport::-webkit-scrollbar{height:0}
.testimonial-viewport::before,
.testimonial-viewport::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:90px;
  pointer-events:none;
  z-index:2;
  display:none;
}
.testimonial-track{display:flex; gap:20px; align-items:stretch}
.testimonial-card{
  position:relative;
  min-width:320px;
  max-width:380px;
  flex:0 0 auto;
  scroll-snap-align:start;
  border-radius:26px;
  background:linear-gradient(180deg, rgba(13,27,42,.88), rgba(17,33,53,.82));
  border:1px solid rgba(245,225,164,.2);
  padding:26px 26px 22px;
  box-shadow:0 20px 45px rgba(5,10,18,.45);
}
.testimonial-card::before{
  content:"“";
  position:absolute;
  top:6px;
  right:18px;
  font-size:48px;
  color:rgba(245,225,164,.35);
}
.testimonial-text{margin:0 0 18px; font-size:16px; color:var(--text-primary); line-height:1.65}
.testimonial-meta{display:flex; flex-direction:column; gap:8px}
.testimonial-author{margin:0; font-size:14px; color:var(--light-gold); font-weight:700}
.testimonial-service{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  letter-spacing:.02em;
  text-transform:uppercase;
  font-weight:700;
  color:var(--accent-color);
  background:rgba(168,131,26,.15);
  border:1px solid rgba(168,131,26,.3);
  border-radius:999px;
  padding:6px 10px;
  width:fit-content;
}
@media (max-width:960px){
  .carousel-btn{width:40px; height:40px; font-size:24px}
  .carousel-btn.prev{left:-8px}
  .carousel-btn.next{right:-8px}
  .testimonial-viewport::before,
  .testimonial-viewport::after{width:60px}
  .testimonial-card{min-width:300px}
}
@media (max-width:640px){
  .carousel-btn{display:none}
  .testimonial-viewport{padding-left:4px; padding-right:4px}
  .testimonial-card{min-width:260px}
}

/* FAQ */
.faq details{background:rgba(11,17,32,.85); border:1px solid var(--line); border-radius:16px; padding:14px 18px; color:var(--ink)}
.faq summary{cursor:pointer; font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq-dark{background:var(--surface-alt)}

/* CTA */
.cta-panel{background:linear-gradient(135deg, rgba(224,185,115,.12), rgba(56,189,248,.12)); border:1px solid rgba(224,185,115,.4); border-radius:28px; padding:48px; box-shadow:var(--glow); text-align:center}
.cta-panel small{display:block; margin-top:18px; color:var(--muted)}
@media (max-width:720px){ .cta-panel{padding:32px} }

/* Forms & Buttons */
.form{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow)}
.form-grid{grid-template-columns:repeat(2,1fr); gap:18px}
.form-grid .full{grid-column:1/-1}
label{display:block; font-size:13px; color:var(--muted); margin-bottom:6px}
input,select,textarea{width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:14px; font:inherit; background:var(--surface-alt); color:var(--ink)}
textarea{min-height:120px}
.note{font-size:13px; color:var(--muted)}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:13px 20px; border-radius:14px; border:1px solid var(--line); background:rgba(13,27,42,.65); color:var(--text-primary); cursor:pointer; transition:transform .2s ease, box-shadow .2s ease, background .2s ease}
.btn:hover{transform:translateY(-2px); box-shadow:var(--glow)}
.btn-primary{background:var(--accent-color); color:#ffffff; border:none}
.btn-primary:hover{background:var(--accent-color-dark); box-shadow:0 15px 45px rgba(168,131,26,.35)}
.btn-ghost{background:rgba(13,27,42,.45); color:var(--text-primary)}
@media (max-width:640px){
  .form-grid{grid-template-columns:1fr}
}

/* Booking layout */
.book-grid{grid-template-columns:1.1fr .9fr}
@media (max-width:960px){ .book-grid{grid-template-columns:1fr} }
.calendar-embed{border:1px solid var(--line); border-radius:18px; overflow:hidden; background:var(--surface); box-shadow:var(--shadow)}
.booking.is-hidden{display:none !important;}

/* Footer */
.site-footer{border-top:1px solid var(--line); padding:28px 0; background:rgba(13,27,42,.9)}
.site-footer p{margin:0; color:var(--muted); font-size:14px}
.disclaimer{color:var(--muted); font-size:13px}
.site-footer .contact-footer{display:flex; gap:12px; flex-wrap:wrap; align-items:center}
.site-footer .contact-footer a{color:var(--text-primary); font-weight:600}

/* Reveal animation */
.reveal{opacity:0; transform:translateY(14px); transition:opacity .7s ease, transform .7s ease}
.reveal._in{opacity:1; transform:none}

/* Intro overlay */
.intro{position:fixed; inset:0; z-index:999; display:grid; place-items:center; background:#020617; opacity:1; transition:opacity .8s ease, visibility 0s linear 0s}
.intro-bg{position:absolute; inset:0; overflow:hidden; pointer-events:none}
.intro._hide{opacity:0; visibility:hidden; transition:opacity .8s ease, visibility 0s linear .8s}
.intro-bg{position:absolute; inset:0; overflow:hidden}
.stars{position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.9) 1px, transparent 1px), radial-gradient(rgba(147,197,253,.4) 1px, transparent 1px); background-size:2px 2px, 3px 3px; opacity:.5}
.scene-layer{position:absolute; inset:0; background-repeat:repeat-x; background-position:bottom center; background-size:cover; --scene-opacity:.38; opacity:var(--scene-opacity); animation:parallaxDrift 70s linear infinite; will-change:background-position,opacity; filter:blur(.1px)}
.scene-layer.mountains{background-image:linear-gradient(to top, rgba(255,255,255,.12) 0%, transparent 60%), url('assets/scene/mountains.png'); animation-duration:160s; --scene-opacity:.4}
.scene-layer.trees-far{background-image:url('assets/scene/trees-far.png'); animation-duration:120s; --scene-opacity:.38}
.scene-layer.trees-near{background-image:url('assets/scene/trees-near.png'); animation-duration:90s; --scene-opacity:.38}
.scene-layer.grass{
  background-image:
    linear-gradient(180deg, rgba(28,30,64,0) 0%, rgba(19,25,48,.6) 35%, rgba(15,21,42,.9) 20%),
    radial-gradient(circle at 20% 65%, rgba(110,123,255,.2), transparent 25%),
    radial-gradient(circle at 70% 60%, rgba(203,166,255,.18), transparent 15%),
    linear-gradient(0deg, #0f1c36 0%, #111b2f 100%);
  animation-duration:55s;
  --scene-opacity:.95;
}
body:not(.scene-ready) .scene-layer{opacity:0!important; filter:blur(12px);}
body.scene-ready .scene-layer{transition:opacity .8s ease, filter .8s ease; filter:none;}
body.no-js .scene-layer{opacity:var(--scene-opacity)!important; filter:none!important;}
.intro .scene-layer{opacity:1!important; filter:none!important;}
@keyframes parallaxDrift{from{background-position:0 bottom} to{background-position:-1600px bottom}}
.scene-layer::after{content:\"\"; position:absolute; inset:0; animation:sway 18s ease-in-out infinite; background:inherit; opacity:.06}
@keyframes sway{0%{transform:translateX(-0.5%)}50%{transform:translateX(0.5%)}100%{transform:translateX(-0.5%)}}
.intro{display:none!important}
.scene-bg{position:fixed; inset:0; overflow:hidden; z-index:0; pointer-events:none; opacity:.32; filter:saturate(.95) blur(.1px)}
.scene-bg::before{content:""; position:absolute; inset:0; background:radial-gradient(circle at 20% 15%, rgba(255,255,255,.12), transparent 35%), radial-gradient(circle at 75% 8%, rgba(148,197,253,.2), transparent 40%); opacity:.65}
body.scene-page .scene-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    radial-gradient(rgba(255,255,255,.35) 1px, transparent 1px),
    radial-gradient(rgba(224,185,115,.22) 1px, transparent 1px);
  background-size:4px 4px, 6px 6px;
  background-position:0 0, 22px 34px;
  opacity:.08;
  mix-blend-mode:screen;
}
@keyframes starShift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-35px,-20px,0)}}
.intro-copy{position:relative; z-index:2; text-align:center; color:#eaf2ff; padding:20px}
.intro-copy h1{font-size:clamp(28px, 5vw, 48px); margin:0 0 6px; letter-spacing:.4px}
.intro-copy p{margin:0 0 14px; color:#c7d7ea}
@keyframes introFade{from{opacity:1}to{opacity:0}}
@keyframes mistDrift{
  0%{transform:translate3d(-2%, -1%, 0) scale(1)}
  100%{transform:translate3d(2%, 1%, 0) scale(1.03)}
}
@keyframes ctaShimmer{
  0%, 75%{transform:translateX(-120%) rotate(12deg); opacity:0}
  80%{opacity:.2}
  100%{transform:translateX(220%) rotate(12deg); opacity:.5}
}

/* Dark hero specifics */
.hero-dark{position:relative; background:linear-gradient(160deg, rgba(13,27,42,.92) 0%, rgba(17,33,53,.88) 55%, rgba(13,27,42,.95) 100%); overflow:hidden; border-bottom:1px solid rgba(245,225,164,.18)}
.hero-dark::before{content:""; position:absolute; inset:0; background:linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.55)), radial-gradient(circle at 20% 20%, rgba(245,225,164,.12), transparent 40%), radial-gradient(circle at 80% 10%, rgba(168,131,26,.12), transparent 45%); background-size:100% 100%; opacity:1; pointer-events:none}
.hero-immersive{min-height:80vh; display:flex; align-items:center}
.hero-immersive::after{content:""; position:absolute; inset:0; background:radial-gradient(circle at 70% 0%, rgba(245,225,164,.16), transparent 55%); pointer-events:none}
.start-hero.hero-dark{background:linear-gradient(180deg, rgba(245,225,164,.18) 0%, rgba(17,33,53,.88) 65%, rgba(13,27,42,.95) 100%); border-bottom:1px solid rgba(245,225,164,.18)}
.start-hero.hero-dark::before{display:none}
.start-hero.hero-immersive::after{display:none}
body.scene-page .hero-dark{
  background:linear-gradient(180deg, rgba(13,27,42,.9) 0%, rgba(17,33,53,.88) 55%, rgba(13,27,42,.92) 100%);
}
body.scene-page .hero-dark::before{
  background:
    linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.55)),
    radial-gradient(circle at 20% 18%, rgba(245,225,164,.25), transparent 45%),
    radial-gradient(circle at 70% 8%, rgba(168,131,26,.25), transparent 48%),
    radial-gradient(circle at 55% 22%, rgba(37,61,91,.18), transparent 50%);
}
body.scene-page .hero-immersive::after{
  background:radial-gradient(circle at 70% 0%, rgba(245,225,164,.25), transparent 55%);
}
.evolver-card{position:relative; border-radius:30px; overflow:hidden; box-shadow:none; background:transparent; border:none; padding:0}
.hero-visual .evolver{display:block; width:100%; height:auto; aspect-ratio:4 / 5; object-fit:cover; border-radius:30px; box-shadow:0 18px 50px rgba(5,10,18,.35); border:1px solid rgba(245,225,164,.2); background:rgba(13,27,42,.8)}
.small-note{position:absolute; right:10px; bottom:10px; background:rgba(13,27,42,.9); color:var(--text-primary); padding:6px 10px; border-radius:10px; font-size:12px; border:1px solid rgba(245,225,164,.2); box-shadow:0 8px 24px rgba(5,10,18,.35)}
.ambient-toggle{background:rgba(13,27,42,.65); color:var(--text-primary); border:1px solid var(--line); border-radius:999px; padding:10px 18px; cursor:pointer; font-size:13px; transition:background .2s ease, color .2s ease, border-color .2s ease}
.ambient-toggle[aria-pressed="true"]{background:rgba(245,225,164,.35); color:var(--text-dark); border-color:rgba(245,225,164,.6)}
.micro-callout{color:var(--muted); font-size:14px; margin:-4px 0 10px}
.portrait-card{border-radius:26px; overflow:hidden; border:1px solid var(--line); box-shadow:0 18px 40px rgba(15,23,42,.12); background:var(--surface)}
.portrait-card img{width:100%; height:auto; display:block; object-fit:cover}
.portrait-left{max-width:520px; margin-left:0}

/* Dark sections legibility */
.progression,
.portal-preview,
.pricing-overview,
.faq-dark,
.faq-page .faq{
  color:#e9edf5;
  background:linear-gradient(160deg, #0f172a 0%, #1f2937 100%);
  border-radius:24px;
  padding:40px 0;
}
.progression h1,.progression h2,.progression h3,
.portal-preview h1,.portal-preview h2,.portal-preview h3,
.pricing-overview h1,.pricing-overview h2,.pricing-overview h3,
.faq-dark h1,.faq-dark h2,.faq-dark h3,
.faq-page .faq h1,.faq-page .faq h2,.faq-page .faq h3{color:#ffffff;}
.progression .card,
.portal-preview .card,
.pricing-columns .card,
.pricing-columns .mini-card,
.faq-dark details,
.faq-page details,
.pricing-proof .card,
.pricing-cta .card{
  color:#e9edf5;
}
.progression .section-head p,
.portal-preview .section-head p,
.pricing-overview .section-head p,
.faq-dark .section-head p{
  color:#f1f5f9;
}
.pricing-columns .card small,
.pricing-columns .card p,
.pricing-columns .card ul,
.pricing-cta .card p,
.progression p,
.portal-preview p,
.faq-page details p{
  color:#e5e7eb;
}
.pricing-proof .card h3,
.pricing-proof .card p{color:var(--text-primary)}
.pricing-cta,
.pricing-cta .section-head,
.pricing-cta .section-head p,
.pricing-cta .section-head h2,
.pricing-cta .card,
.pricing-cta .card h3,
.pricing-cta .card p,
.pricing-cta .card li,
.pricing-cta .market-table th,
.pricing-cta .market-table td,
.pricing-cta .pricing-steps h3,
.pricing-cta .pricing-steps p,
.pricing-cta .note{
  color:var(--text-primary);
}
.pricing-hero .urgency-list li,
.pricing-hero .urgency-list strong{
  color:#ffffff;
}
.portal-preview .badge-list li{color:#ffffff}
.blog-teaser .section-head p{color:#ffffff}
.blog-teaser h3 a{color:var(--text-primary)}
.pricing-columns .card .micro-callout{color:#cbd5e1}
.portrait-card{border-radius:26px; overflow:hidden; border:1px solid var(--line); box-shadow:0 18px 40px rgba(15,23,42,.12); background:var(--surface)}
.portrait-card img{width:100%; height:auto; display:block; object-fit:cover}

/* Offerings */
.offerings-grid .card{min-height:280px}
.badge-list{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px}
.badge-list.tight li{display:flex; gap:8px; align-items:center; padding:8px 12px; border-radius:14px; border:1px solid rgba(148,163,184,.3); background:rgba(148,163,184,.08); font-size:13px}
.list{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; color:var(--muted)}
.list.ordered{counter-reset:step}
.list.ordered li{counter-increment:step; position:relative; padding-left:28px}
.list.ordered li::before{content:counter(step); position:absolute; left:0; top:3px; width:20px; height:20px; border-radius:50%; border:1px solid var(--line); text-align:center; font-size:12px; line-height:20px; color:var(--primary)}

/* Psychologia x regresja */
.duality{background:linear-gradient(135deg, rgba(13,27,42,.75) 0%, rgba(37,61,91,.55) 100%); border-block:1px solid rgba(245,225,164,.18)}
.dual-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.dual-grid .card{min-height:230px}
.section.regression-basics{
  background:rgba(13,27,42,.88);
}
.section.regression-basics::before{opacity:.15}
.regression-basics .card.soft{
  background:rgba(13,27,42,.92);
  border:1px solid rgba(245,225,164,.2);
  box-shadow:0 18px 40px rgba(5,10,18,.35);
}
.regression-basics .card{min-height:260px}
.basics-grid{grid-template-columns:repeat(3,1fr)}
@media (max-width:1200px){ .dual-grid{grid-template-columns:repeat(auto-fit, minmax(220px,1fr))} }
@media (max-width:900px){
  .dual-grid{display:flex; overflow-x:auto; gap:18px; scroll-snap-type:x proximity; padding-bottom:8px}
  .dual-grid .card{min-width:260px; scroll-snap-align:start}
}
@media (max-width:960px){ .basics-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){ .basics-grid{grid-template-columns:1fr} }

.chakra .card{max-width:760px; margin:auto}
.support-sessions .card{min-height:180px}
.support-sessions .card .price{display:block; font-size:22px; font-weight:700; color:var(--primary); margin:4px 0 8px}
.cta-inline{margin-top:16px}
.blog-detail .card{margin-top:16px}
.read-more{
  margin-top:12px;
  color:var(--accent-color);
  border-color:var(--accent-color);
  background:transparent;
}
.read-more:hover{background:rgba(245,225,164,.12)}
.market-table{width:100%; border-collapse:collapse; font-size:14px; color:var(--text-primary);}
.market-table th,.market-table td{padding:8px 10px; border:1px solid var(--line); text-align:left; background:rgba(13,27,42,.7)}
.market-table th{background:var(--surface-alt); font-weight:700}
.table-wrap{overflow-x:auto; -webkit-overflow-scrolling:touch; margin-top:6px}
@media (max-width:640px){
  .market-table{font-size:12px}
  .market-table th,
  .market-table td{padding:6px 8px}
}

/* Progresja */
.progression{background:linear-gradient(120deg, rgba(15,23,42,.95), rgba(79,70,229,.2))}
.progression-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:18px}
.progression-grid .card{min-height:200px; background:rgba(15,23,42,.8); border:1px solid rgba(148,163,184,.35)}

/* Path grid */
.path-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:18px}
.section.path{
  background:rgba(13,27,42,.88);
}
.section.path::before{opacity:.15}
.path-grid .card{
  position:relative;
  padding-top:54px;
  background:rgba(13,27,42,.92);
  border:1px solid rgba(245,225,164,.2);
  box-shadow:0 18px 40px rgba(5,10,18,.35);
}
.path-grid .step-num{position:absolute; top:16px; left:16px}
@media (max-width:1024px){ .path-grid{grid-template-columns:repeat(3,1fr)} }
@media (max-width:720px){ .path-grid{grid-template-columns:1fr} }

/* Karma section */
.karma{background:radial-gradient(circle at 25% 10%, rgba(168,85,247,.15), transparent 50%)}
.karma .card{min-height:200px}

/* Lokalizacja */
.location-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.location-grid .card{min-height:220px}
@media (max-width:960px){ .location-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){ .location-grid{grid-template-columns:1fr} }
@media (max-width:640px){ .location-grid .card{min-height:auto} }

/* Blog */
.blog-teaser{background:linear-gradient(180deg, rgba(15,23,42,.6), transparent)}
.blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.blog-grid .card{min-height:200px}
.blog-grid .meta{font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--primary)}
.blog-grid .card a{color:#fff}
@media (max-width:960px){ .blog-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){ .blog-grid{grid-template-columns:1fr} }

/* Energy work */
.energy-work .card{min-height:200px}

/* Portal auth */
.portal-auth{background:var(--surface);}
.auth-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px}
.auth-grid form{min-height:100%}
.auth-grid .form h3{margin-top:0}
.form-message{font-size:13px; color:#fca5a5; min-height:18px}
.rodo-text{font-size:12px; color:#94a3b8}
.portal-dashboard{margin-top:20px}
.portal-dashboard .row{gap:20px}
.portal-dashboard button{white-space:nowrap}
.portal-note{margin-top:10px; font-size:14px; color:#94a3b8}
.portal-logout{align-self:flex-start}
.hidden{display:none !important}
@media (max-width:900px){ .auth-grid{grid-template-columns:1fr} }

/* Portal preview */
.portal-preview{background:radial-gradient(circle at 10% 30%, rgba(56,189,248,.16), transparent 55%), linear-gradient(160deg, rgba(2,6,23,.9), rgba(2,6,23,.7))}
.portal-preview-grid{grid-template-columns:1fr 1.1fr; align-items:center}
.portal-screen{border:1px solid rgba(148,163,184,.3); border-radius:24px; background:rgba(3,7,18,.9); box-shadow:var(--shadow); overflow:hidden}
.portal-screen .screen-top{display:flex; align-items:center; gap:6px; padding:10px 16px; background:rgba(15,23,42,.9); border-bottom:1px solid rgba(148,163,184,.2)}
.dot{width:10px; height:10px; border-radius:50%}
.dot-red{background:#f87171}.dot-amber{background:#fbbf24}.dot-green{background:#34d399}
.portal-screen .screen-body{padding:20px; display:grid; gap:14px}
.screen-card{background:rgba(15,23,42,.8); border-radius:18px; padding:16px; border:1px solid rgba(148,163,184,.25)}
.screen-card h4{margin:0 0 6px}
.screen-chat{background:rgba(15,23,42,.6); border-radius:18px; padding:16px; border:1px dashed rgba(148,163,184,.4); font-size:14px; color:#cbd5e1}
.screen-chat span{color:var(--accent); font-weight:600}
.status-badge{display:inline-flex; align-items:center; gap:6px; padding:6px 14px; border-radius:999px; border:1px solid rgba(148,163,184,.3); background:rgba(148,163,184,.1); font-size:13px; color:#e2e8f0}
.status-badge[data-tone="ok"]{background:rgba(34,197,94,.15); border-color:rgba(34,197,94,.4); color:#bbf7d0}
.status-badge[data-tone="error"]{background:rgba(248,113,113,.15); border-color:rgba(248,113,113,.4); color:#fecaca}
@media (max-width:960px){ .portal-preview-grid{grid-template-columns:1fr} .portal-screen{order:-1} }
.auth-slider{display:flex; flex-direction:column; gap:16px; background:rgba(15,23,42,.92); border-radius:26px; border:1px solid rgba(148,163,184,.35); padding:22px; width:100%; max-width:520px; margin-left:auto}
.auth-toggle{display:flex; gap:8px; background:rgba(2,6,23,.8); border-radius:16px; padding:6px}
.auth-tab{flex:1; border:none; border-radius:12px; padding:10px 8px; font-size:12px; text-transform:uppercase; letter-spacing:.08em; background:transparent; color:#94a3b8; cursor:pointer}
.auth-tab.active{background:rgba(56,189,248,.25); color:#fff}
.auth-panels{overflow:hidden; --auth-index:0; --auth-panels:2}
.auth-track{display:flex; width:calc(var(--auth-panels,2) * 100%); gap:0; transition:transform .5s ease; transform:translateX(calc(var(--auth-index,0) * -100%))}
.auth-panel{min-width:100%; flex:0 0 100%; padding:24px 16px 28px; display:flex; justify-content:center}
.auth-panel-inner{width:100%; max-width:360px; display:flex; flex-direction:column; gap:12px}
.portal-auth-full .auth-slider{max-width:100%; margin-left:0}
.portal-auth-full .auth-panel-inner{max-width:100%}
.auth-panel-inner h3{text-align:center; margin-bottom:4px}
.auth-panel-inner label{display:flex; flex-direction:column; gap:6px; font-size:13px; color:#cbd5e1}
.auth-panel-inner input,
.auth-panel-inner button,
.auth-panel-inner .form-message,
.auth-panel-inner .note,
.auth-panel-inner .checkbox{width:100%}
.auth-panel-inner button{margin-top:4px}
.auth-panel-inner .form-message,
.auth-panel-inner .note{text-align:center}
.admin-workspace{margin-top:24px; display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:18px}
.admin-tile{display:flex; flex-direction:column; gap:12px}
.admin-tile .note{margin:0; color:#94a3b8; font-size:13px}
.analytics-kpis{display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:12px}
.analytics-kpi{background:rgba(15,23,42,.75); border:1px solid rgba(148,163,184,.25); border-radius:14px; padding:12px; display:flex; flex-direction:column; gap:6px}
.analytics-kpi span{font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:#94a3b8}
.analytics-kpi strong{font-size:22px; color:#f8fafc}
.analytics-block h4{margin:6px 0 6px; font-size:14px; color:#f8fafc}
.analytics-block .admin-log{max-height:180px}
.command-center h4{margin:6px 0 6px; font-size:14px; color:#f8fafc}
.command-center .admin-log{max-height:220px}
.command-block{display:flex; flex-direction:column; gap:8px}
.admin-form{display:flex; flex-direction:column; gap:10px}
@media (max-width:720px){
  .auth-panel{min-width:100%; flex:0 0 100%}
}
.admin-form label{display:flex; flex-direction:column; gap:6px; font-size:13px; color:#cbd5e1}
.admin-form input,
.admin-form select,
.admin-form textarea{border-radius:12px; border:1px solid rgba(148,163,184,.35); background:rgba(2,6,23,.6); color:var(--ink); padding:10px 12px; font-family:inherit}
.admin-form textarea{min-height:90px; resize:vertical}
.admin-log{list-style:none; margin:14px 0 0; padding:0; display:flex; flex-direction:column; gap:10px; max-height:220px; overflow:auto}
.admin-log li{border:1px solid rgba(148,163,184,.25); border-radius:14px; padding:12px; background:rgba(3,7,18,.7)}
.admin-log .empty{color:#94a3b8; font-size:13px}
.btn-tiny{padding:6px 12px; font-size:12px; border-radius:10px}
.checkbox.inline{align-items:center; flex-direction:row; gap:8px; font-size:13px; color:#cbd5e1}

/* Marketing */
.marketing-grid .card{min-height:220px}

/* Services */
.service-stack{display:grid; gap:18px}
.service-table table{width:100%; border-collapse:collapse; border-radius:20px; overflow:hidden; background:rgba(5,12,25,.85); border:1px solid rgba(148,163,184,.35); box-shadow:var(--shadow)}
.service-table thead{background:rgba(15,23,42,.95); color:#fff; text-transform:uppercase; letter-spacing:.2em}
.service-table th,.service-table td{padding:16px 20px; border-bottom:1px solid rgba(148,163,184,.2); text-align:left; color:var(--muted); font-size:14px}
.service-table tbody tr:nth-child(even){background:rgba(148,163,184,.04)}
.service-table tbody tr:last-child td{border-bottom:none}
.service-table tbody td:first-child{font-weight:600; color:#f8fafc}
.service-table tbody td:nth-child(3){color:var(--primary); font-weight:600}
.service-table caption{caption-side:bottom; text-align:left; padding:12px 0; color:var(--muted); font-size:12px}
.table-wrap{overflow:auto; border-radius:18px}
@media (max-width:640px){
  .service-table th,
  .service-table td{padding:12px 14px; font-size:12px}
}

/* About */
.about-hero{
  padding-top:60px;
  background:rgba(13,27,42,.9);
}
.about-hero::before{opacity:.15}
.about-hero .about-copy{
  background:rgba(13,27,42,.85);
  border:1px solid rgba(245,225,164,.2);
  border-radius:20px;
  padding:24px;
  box-shadow:0 18px 40px rgba(5,10,18,.35);
}
.about-hero .chip{background:rgba(148,163,184,.12)}
.about-video{display:flex; flex-direction:column; gap:12px}
.video-shell{position:relative; width:100%; padding-top:56.25%; border-radius:28px; overflow:hidden; border:1px solid rgba(148,163,184,.35); background:radial-gradient(circle at 30% 20%, rgba(56,189,248,.2), transparent 55%), linear-gradient(135deg, rgba(2,6,23,.95), rgba(15,23,42,.85))}
.video-shell::after{content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.12) 1px, transparent 1px); background-size:5px 5px; opacity:.2}
.video-overlay{position:absolute; inset:0; padding:24px; display:flex; flex-direction:column; justify-content:flex-end; gap:12px; background:linear-gradient(180deg, transparent 20%, rgba(2,6,23,.85) 100%); color:#e2e8f0}
.video-note{color:#94a3b8; font-size:14px}
.timeline{display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); gap:18px}
.timeline article{border:1px solid var(--line); border-radius:18px; padding:18px; background:var(--surface-alt); position:relative}
.timeline span{font-size:13px; color:var(--primary)}

/* FAQ page */
.faq.two-column{column-count:2; column-gap:18px}
.faq.two-column details{break-inside:avoid; margin-bottom:12px}
@media (max-width:720px){ .faq.two-column{column-count:1} }

/* Contact + booking */
.contact-hero .hero-visual img{border-radius:24px; box-shadow:var(--shadow)}
.contact-banner{display:flex; justify-content:space-between; gap:20px; align-items:center; border:1px solid rgba(148,163,184,.3); border-radius:24px; padding:24px; background:rgba(15,23,42,.9); box-shadow:var(--shadow); flex-wrap:wrap}
.contact-banner .eyebrow{margin-bottom:4px}
.contact-banner h2{margin:0 0 8px; color:#ffffff}
.contact-banner p{margin:0; color:#ffffff}

/* Cookie banner */
.cookie-banner{
  position:fixed;
  left:0;
  bottom:0;
  z-index:1000;
  display:flex;
  gap:16px;
  align-items:center;
  justify-content:space-between;
  padding:1rem 1.5rem;
  width:100%;
  border-top:1px solid rgba(245,225,164,.18);
  background:rgba(13,27,42,.9);
  color:var(--text-primary);
  box-shadow:0 -12px 30px rgba(5,10,18,.35);
}
.cookie-banner a{color:var(--accent-color); text-decoration:underline}
.cookie-copy{display:flex; flex-direction:column; gap:4px; font-size:0.9rem}
.cookie-copy strong{color:var(--text-primary)}
.cookie-banner .btn{padding:0.5rem 1rem}
@media (max-width:640px){
  .cookie-banner{flex-direction:column; align-items:flex-start}
  .cookie-banner .btn{width:100%}
}
.booking-shell{display:grid; grid-template-columns:1.15fr .85fr; gap:24px}
.booking-aside{display:flex; flex-direction:column; gap:18px}
.checkbox{display:flex; align-items:flex-start; gap:8px; font-size:13px; color:var(--muted)}
.checkbox input{width:auto; margin-top:4px}
.quote{margin-top:16px; padding:16px; border-radius:16px; border:1px solid rgba(224,185,115,.4); background:rgba(224,185,115,.08)}
.toast{margin-top:12px; min-height:32px; color:var(--primary); opacity:0; transition:opacity .3s ease}
.toast.visible{opacity:1}
.availability-list{display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; margin-top:14px}
.slot-pill{padding:12px; border-radius:14px; border:1px solid rgba(148,163,184,.4); background:rgba(15,23,42,.7); text-align:left; font-size:13px; cursor:pointer}
.slot-pill.active{border-color:var(--accent); background:rgba(56,189,248,.18)}
.slot-pill[disabled]{opacity:.4; cursor:not-allowed}
.callout{background:rgba(15,23,42,.75)}
@media (max-width:1024px){ .booking-shell{grid-template-columns:1fr} }
@media (max-width:1024px){
  .nav-meta .nav-sound{display:none !important}
}

/* Portal board */
.portal-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.portal-board{display:grid; grid-template-columns:1.1fr .9fr; gap:18px}
.board-col{min-height:420px}
.request-card,.slot-card{border:1px solid var(--line); border-radius:18px; padding:16px; background:rgba(9,14,26,.9); margin-bottom:12px}
.status-pill{display:inline-flex; align-items:center; gap:6px; padding:6px 12px; border-radius:999px; font-size:12px; background:rgba(148,163,184,.15); border:1px solid var(--line)}
.status-select{width:100%; margin:10px 0}
.request-card textarea{min-height:70px}
.slot-form{display:flex; flex-direction:column; gap:10px; margin-bottom:16px}
.slot-form .grid.two{display:grid; grid-template-columns:repeat(2,1fr); gap:10px}
.admin-form .grid.two{display:grid; grid-template-columns:repeat(2,1fr); gap:10px}
.availability-list .slot-card{cursor:pointer}
.request-actions{display:flex; gap:10px; flex-wrap:wrap}
@media (max-width:960px){
  .portal-grid{grid-template-columns:1fr}
  .portal-board{grid-template-columns:1fr}
}

@media (max-width:600px){
  .cta-panel .row{flex-direction:column; width:100%}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition:none !important}
}
.section-map{position:fixed; top:50%; right:32px; transform:translateY(-50%); z-index:40; display:none; flex-direction:column; align-items:center; gap:18px; background:transparent; border:none; padding:0}
.section-map h3{margin:0; font-size:11px; letter-spacing:.4em; text-transform:uppercase; color:var(--muted)}
.section-map .map-audio{width:100%; display:flex; justify-content:center}
.section-map .ambient-toggle{font-size:10px; padding:6px 14px; letter-spacing:.35em}
.section-map ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; align-items:center; gap:26px}
.section-map li{display:flex; flex-direction:column; align-items:center; gap:8px; font-size:10px; color:var(--muted); cursor:pointer; transition:color .2s ease; position:relative; text-align:center; min-width:120px}
.section-map li span{width:12px; height:12px; border-radius:50%; border:2px solid rgba(148,163,184,.35); display:inline-flex; align-items:center; justify-content:center; transition:border-color .2s ease}
.section-map li span::after{content:""; width:4px; height:4px; border-radius:50%; background:rgba(148,163,184,.7); opacity:.3; transition:opacity .2s ease, background .2s ease}
.section-map li::after{content:""; width:2px; height:48px; background:rgba(148,163,184,.18); position:absolute; top:20px; left:50%; transform:translateX(-50%)}
.section-map li:last-child::after{display:none}
.section-map li.active{color:#fff}
.section-map li.active span{border-color:var(--accent)}
.section-map li.active span::after{opacity:1; background:var(--accent)}
.section-map button{all:unset; cursor:pointer; color:inherit; font:inherit; text-align:center; letter-spacing:.28em; text-transform:uppercase}
.section-map button:focus-visible{outline:2px solid var(--accent); outline-offset:4px}
.section-nav ul{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  list-style:none;
  margin:2rem 0;
  padding:0;
  justify-content:center;
}
.section-nav a{
  color:var(--accent-color);
  font-weight:600;
  text-decoration:none;
  padding:.5rem 1rem;
  border-bottom:2px solid transparent;
  transition:border-color .2s ease, color .2s ease;
}
.section-nav a:hover{border-color:var(--accent-color); color:var(--light-gold)}
.illustration{
  max-width:100%;
  border-radius:6px;
  box-shadow:0 4px 10px rgba(0,0,0,.2);
  margin:1rem 0;
}
.standards-list{
  list-style:disc inside;
  margin-left:1rem;
  margin-bottom:1rem;
}
.standards-list li{margin-bottom:.5rem}
@media (max-width:1200px){
  .section-map{display:none}
}
.ambient-float{position:fixed; top:50%; right:32px; transform:translateY(-50%); z-index:38; display:flex; flex-direction:column; align-items:flex-end; gap:12px}
.ambient-float .ambient-toggle{font-size:10px; padding:6px 14px; letter-spacing:.35em}
.ambient-float.hidden{display:none}
@media (max-width:1200px){
  .ambient-float{display:none}
}
.fog{position:absolute; inset:-10% -15%; background:
    radial-gradient(circle at 30% 40%, rgba(255,255,255,.12), transparent 60%),
    radial-gradient(circle at 70% 60%, rgba(186,230,253,.15), transparent 55%);
  mix-blend-mode:screen; opacity:.65; animation:fogDrift 28s ease-in-out infinite alternate}
@keyframes fogDrift{from{transform:translate3d(-4%,2%,0)} to{transform:translate3d(5%,-3%,0)}}
