/* ============================================
   Senquora — Stacked Paper design system
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap');

:root{
  --color-primary:#B8613A;
  --color-primary-dark:#8F4A2C;
  --color-secondary:#2E2822;
  --color-accent:#C9A15A;
  --color-sage:#7C8B6F;

  --paper-0:#FBF7F1;
  --paper-1:#F5EFE3;
  --paper-2:#EEE4D3;

  --ink:#2E2822;
  --ink-soft: color-mix(in oklch, var(--ink), white 30%);
  --ink-faint: color-mix(in oklch, var(--ink), white 55%);

  --primary-100: color-mix(in oklch, var(--color-primary), white 82%);
  --primary-200: color-mix(in oklch, var(--color-primary), white 65%);
  --primary-300: color-mix(in oklch, var(--color-primary), white 40%);
  --primary-600: color-mix(in oklch, var(--color-primary), black 10%);
  --primary-700: color-mix(in oklch, var(--color-primary), black 22%);

  --accent-200: color-mix(in oklch, var(--color-accent), white 55%);
  --accent-600: color-mix(in oklch, var(--color-accent), black 18%);

  --sage-200: color-mix(in oklch, var(--color-sage), white 70%);

  --radius-sm:10px;
  --radius-md:16px;
  --radius-lg:24px;
  --radius-xl:32px;

  --space-1:0.5rem;
  --space-2:0.85rem;
  --space-3:1.25rem;
  --space-4:2rem;
  --space-5:3rem;
  --space-6:4.5rem;
  --space-7:6.5rem;

  --shadow-1: 0 1px 2px rgba(46,40,34,.06), 0 1px 1px rgba(46,40,34,.04);
  --shadow-2: 0 8px 20px -10px rgba(46,40,34,.20), 0 2px 6px -2px rgba(46,40,34,.10);
  --shadow-3: 0 24px 48px -20px rgba(46,40,34,.28), 0 8px 16px -8px rgba(46,40,34,.16);
  --shadow-stack: 0 -18px 34px -22px rgba(46,40,34,.30), 0 2px 0 rgba(255,255,255,.5) inset;

  --ff-body: 'Outfit', sans-serif;
  --ease: cubic-bezier(.4,0,.2,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--ff-body);
  color:var(--ink);
  background:var(--paper-1);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; margin:0; padding:0; }
button{ font-family:inherit; cursor:pointer; }
.sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }

.wrap{ max-width:1200px; margin-inline:auto; padding-inline: var(--space-4); }
@media (max-width:600px){ .wrap{ padding-inline: 1.1rem; } }

h1,h2,h3,h4{ font-family:var(--ff-body); font-weight:700; color:var(--ink); line-height:1.15; margin:0 0 .6em; }
.h1{ font-size:clamp(2.1rem, 3.4vw + 1rem, 3.2rem); }
.h2{ font-size:clamp(1.7rem, 2.4vw + 1rem, 2.5rem); }
.h3{ font-size:clamp(1.15rem, 1vw + 1rem, 1.4rem); }
.body-text{ font-size:1.02rem; color:var(--ink-soft); max-width:62ch; }
.lead-text{ font-size:1.15rem; color:var(--ink-soft); }
.eyebrow{
  display:inline-block; font-size:.8rem; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; color:var(--primary-700);
  padding:.3em .9em; background:var(--primary-100); border-radius:100px;
  border:1px solid color-mix(in oklch, var(--color-primary), transparent 75%);
  margin-bottom:1rem;
}


.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  padding:.9em 1.6em; border-radius:var(--radius-md); font-weight:600; font-size:.98rem;
  border:1px solid transparent; transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), color .25s var(--ease);
  min-height:44px;
}
.btn-primary{
  background:var(--color-primary); color:#FBF3EC;
  box-shadow: var(--shadow-2);
}
.btn-primary:hover{ background:var(--primary-600); transform:translateY(-2px); box-shadow:var(--shadow-3); }
.btn-ghost{ background:transparent; color:var(--ink); border-color:color-mix(in oklch, var(--ink), transparent 78%); }
.btn-ghost:hover{ background:var(--paper-2); transform:translateY(-2px); }
.btn-outline{ background:var(--paper-0); color:var(--primary-700); border-color:color-mix(in oklch, var(--color-primary), transparent 60%); }
.btn-outline:hover{ background:var(--primary-100); transform:translateY(-2px); }
.btn-lg{ padding:1.05em 2em; font-size:1.05rem; }


.canvas-header{
  position:sticky; top:0; z-index:200;
  background:color-mix(in oklch, var(--paper-0), transparent 4%);
  backdrop-filter: blur(10px);
  border-bottom:1px solid color-mix(in oklch, var(--ink), transparent 90%);
  transition: transform .45s var(--ease), opacity .35s var(--ease);
}
.canvas-header.is-condensed{
  transform: translateY(-110%);
  opacity:0;
  pointer-events:none;
}
.stage-nav-wrap{ padding-block:.6rem; }
.stage-nav{ display:flex; align-items:center; gap:var(--space-3); }
.stage-logo{ display:flex; align-items:center; gap:.6em; font-weight:700; font-size:1.15rem; margin-right:auto; color:var(--ink); }
.stage-links{ display:flex; gap:1.7rem; }
.stage-links a{ font-size:.96rem; font-weight:500; color:var(--ink-soft); position:relative; padding-block:.3em; transition:color .25s var(--ease); }
.stage-links a::after{ content:""; position:absolute; left:0; bottom:-2px; width:0; height:2px; background:var(--color-primary); transition:width .25s var(--ease); }
.stage-links a:hover, .stage-links a.is-active{ color:var(--color-primary); }
.stage-links a:hover::after, .stage-links a.is-active::after{ width:100%; }
.stage-cta{ margin-left:.5rem; }
.stage-hamburger{
  display:none; background:none; border:none; font-size:1.3rem; color:var(--ink);
  width:44px; height:44px; align-items:center; justify-content:center; border-radius:var(--radius-sm);
}
.stage-hamburger:hover{ background:var(--paper-2); }

.mini-pill{
  position:fixed; top:18px; left:50%; transform:translate(-50%,-140%);
  z-index:210; background:var(--color-primary); color:#fff; border:none;
  width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:1.15rem; box-shadow: var(--shadow-3);
  transition: transform .4s var(--ease), opacity .3s var(--ease);
  opacity:0;
}
.mini-pill.is-visible{ transform:translate(-50%,0); opacity:1; }
.mini-pill:hover{ background:var(--primary-600); }


.drawer{
  position:fixed; top:0; right:0; height:100vh; width:min(380px,88vw);
  transform:translateX(100%);
  background:var(--paper-0); z-index:301;
  box-shadow: -18px 0 40px -14px rgba(46,40,34,.35);
  transition: transform .45s var(--ease);
  display:flex; flex-direction:column;
}
.drawer.is-open{ transform:translateX(0); }
.drawer-panel{ padding: var(--space-4) var(--space-4); display:flex; flex-direction:column; height:100%; }
.drawer-close{ align-self:flex-end; background:var(--paper-2); border:none; width:44px; height:44px; border-radius:50%; font-size:1.1rem; color:var(--ink); }
.drawer-close:hover{ background:var(--primary-100); color:var(--primary-700); }
.drawer-links{ display:flex; flex-direction:column; gap:1.5rem; margin-top:3rem; }
.drawer-links a{ font-size:1.35rem; font-weight:600; color:var(--ink); }
.drawer-links a:hover{ color:var(--color-primary); }
.drawer-cta{ margin-top:auto; width:100%; }
.stage-curtain{
  position:fixed; inset:0; background:rgba(46,40,34,.45); z-index:300;
  opacity:0; pointer-events:none; transition:opacity .4s var(--ease);
}
.stage-curtain.is-open{ opacity:1; pointer-events:auto; }

@media (max-width:900px){
  .stage-links, .stage-cta{ display:none; }
  .stage-hamburger{ display:flex; }
}


.stage{ position:relative; padding-block: var(--space-6) var(--space-5); background:var(--paper-0); }
.stage--sub{ padding-block: var(--space-5) var(--space-4); }
.stage-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:var(--space-5); align-items:center; }
.stage-title{ font-size:clamp(2.6rem, 5vw + 1rem, 4.6rem); font-weight:800; margin-bottom:1.1rem; }
.stage-title--sm{ font-size:clamp(2.1rem, 3.6vw + 1rem, 3.2rem); }
.text-mask{
  background-image: linear-gradient(120deg, var(--color-primary) 0%, var(--color-accent) 55%, var(--primary-600) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.stage-lead{ font-size:1.15rem; color:var(--ink-soft); max-width:52ch; margin-bottom:1.8rem; }
.stage-actions{ display:flex; gap:1rem; flex-wrap:wrap; }
.stage-visual{ position:relative; }
.frame{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-3); border:1px solid color-mix(in oklch, var(--ink), transparent 90%); }
.frame img{ width:100%; height:100%; object-fit:cover; aspect-ratio:4/3; }
.frame--soft{ box-shadow:var(--shadow-2); }
.frame--wide img{ aspect-ratio:16/7; }
.spotlight-card{
  position:absolute; bottom:-1.6rem; left:-1.6rem; background:var(--paper-0); border-radius:var(--radius-md);
  padding:1.1rem 1.4rem; box-shadow:var(--shadow-3); display:flex; flex-direction:column; gap:.15rem;
  border-left:4px solid var(--color-primary);
}
.spotlight-number{ font-size:2rem; font-weight:800; color:var(--color-primary); }
.spotlight-label{ font-size:.82rem; color:var(--ink-soft); line-height:1.3; }

@media (max-width:900px){
  .stage-grid{ grid-template-columns:1fr; }
  .stage-visual{ margin-top:2rem; }
}


.sheet{
  position:relative; background:var(--paper-0);
  padding-block: var(--space-6);
  border-radius: var(--radius-xl) var(--radius-xl) 0 0;
  margin-top:-26px;
  box-shadow: var(--shadow-stack);
  border-top:1px solid color-mix(in oklch, var(--ink), transparent 92%);
}
.sheet--alt{ background:var(--paper-1); }
.sheet-intro-grid{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-5); align-items:center; }
.sheet-intro-grid--reverse{ direction:rtl; }
.sheet-intro-grid--reverse > *{ direction:ltr; }
@media (max-width:900px){ .sheet-intro-grid{ grid-template-columns:1fr; } .sheet-intro-grid--reverse{ direction:ltr; } }

.section-head{ max-width:70ch; margin-bottom:var(--space-5); }
.section-head .h2{ margin-bottom:.5rem; }


.gallery{ display:grid; gap:var(--space-4); }
.gallery--cols-2{ grid-template-columns:repeat(2,1fr); }
@media (max-width:750px){ .gallery--cols-2{ grid-template-columns:1fr; } }

.check-item{
  display:flex; gap:1rem; align-items:flex-start; background:var(--paper-0);
  padding:1.4rem; border-radius:var(--radius-md); box-shadow:var(--shadow-1);
  border:1px solid color-mix(in oklch, var(--ink), transparent 93%);
  transition: box-shadow .3s var(--ease), transform .3s var(--ease);
}
.check-item:hover{ box-shadow:var(--shadow-2); transform:translateY(-3px); }
.check-item--wide{ grid-column:1 / -1; }
.check-icon{
  flex-shrink:0; width:38px; height:38px; border-radius:50%; background:var(--sage-200);
  color: color-mix(in oklch, var(--color-sage), black 25%);
  display:flex; align-items:center; justify-content:center; font-size:.95rem;
}
.check-item h3{ margin-bottom:.3rem; }
.check-item p{ margin:0; color:var(--ink-soft); font-size:.96rem; }

.value-card{
  background:var(--paper-0); border-radius:var(--radius-md); padding:1.6rem;
  box-shadow:var(--shadow-1); border-left:3px solid var(--color-accent);
  transition:box-shadow .3s var(--ease), transform .3s var(--ease);
}
.value-card:hover{ box-shadow:var(--shadow-2); transform:translateY(-3px); }
.value-icon{
  width:44px; height:44px; border-radius:var(--radius-sm); background:var(--primary-100);
  color:var(--primary-700); display:flex; align-items:center; justify-content:center; font-size:1.05rem; margin-bottom:1rem;
}
.value-card p{ color:var(--ink-soft); margin:0; font-size:.96rem; }

.phase-card{
  background:var(--paper-0); border-radius:var(--radius-md); padding:1.7rem;
  box-shadow:var(--shadow-1); border:1px solid color-mix(in oklch, var(--ink), transparent 93%);
}
.phase-tag{ display:inline-block; font-size:.78rem; font-weight:600; color:var(--primary-700); background:var(--primary-100); padding:.25em .8em; border-radius:100px; margin-bottom:.8rem; }
.phase-card p{ color:var(--ink-soft); margin:0; }

.fit-card{ background:var(--paper-0); border-radius:var(--radius-md); padding:1.8rem; box-shadow:var(--shadow-1); border-left:4px solid var(--color-sage); }
.fit-card--muted{ border-left-color: color-mix(in oklch, var(--ink), transparent 40%); }
.fit-card h3{ display:flex; align-items:center; gap:.5em; }
.fit-card ul{ display:flex; flex-direction:column; gap:.7rem; margin-top:1rem; }
.fit-card li{ color:var(--ink-soft); padding-left:1.4rem; position:relative; font-size:.96rem; }
.fit-card li::before{ content:"–"; position:absolute; left:0; color:var(--color-primary); }

.plain-list{ display:flex; flex-direction:column; gap:.8rem; margin-top:1rem; }
.plain-list li{ display:flex; gap:.7rem; align-items:flex-start; color:var(--ink-soft); }
.plain-list i{ color:var(--color-primary); margin-top:.25em; }


.shelf{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-4); align-items:stretch; }
@media (max-width:950px){ .shelf{ grid-template-columns:1fr; } }
.card-plan{
  background:var(--paper-0); border-radius:var(--radius-lg); padding:2rem;
  box-shadow:var(--shadow-2); border:1px solid color-mix(in oklch, var(--ink), transparent 92%);
  display:flex; flex-direction:column; position:relative; transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.card-plan:hover{ transform:translateY(-6px); box-shadow:var(--shadow-3); }
.card-plan--featured{ background:var(--paper-0); border:2px solid var(--color-primary); transform:scale(1.03); }
.card-plan--featured:hover{ transform:scale(1.03) translateY(-6px); }
.card-plan-tag{ position:absolute; top:-14px; left:2rem; background:var(--color-primary); color:#fff; font-size:.78rem; font-weight:600; padding:.35em 1em; border-radius:100px; box-shadow:var(--shadow-1); }
.card-plan-icon{ width:52px; height:52px; border-radius:var(--radius-md); background:var(--primary-100); color:var(--primary-700); display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom:1.2rem; }
.card-plan-desc{ color:var(--ink-soft); font-size:.95rem; margin-bottom:1.2rem; }
.card-plan-list{ display:flex; flex-direction:column; gap:.7rem; margin-bottom:1.6rem; flex-grow:1; }
.card-plan-list li{ display:flex; gap:.6em; align-items:flex-start; font-size:.92rem; color:var(--ink-soft); }
.card-plan-list i{ color:var(--color-sage); margin-top:.2em; }
.card-plan .btn{ width:100%; }


.proces-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:var(--space-5); align-items:start; }
@media (max-width:900px){ .proces-grid{ grid-template-columns:1fr; } }
.proces-steps{ display:flex; flex-direction:column; gap:1.2rem; }
.proces-step{ display:flex; gap:1.1rem; background:var(--paper-0); border-radius:var(--radius-md); padding:1.3rem 1.5rem; box-shadow:var(--shadow-1); border:1px solid color-mix(in oklch, var(--ink), transparent 93%); }
.proces-num{ font-size:1.5rem; font-weight:800; color:var(--primary-300); flex-shrink:0; }
.proces-step p{ margin:0; color:var(--ink-soft); font-size:.95rem; }


.shelf-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-4); text-align:center; }
@media (max-width:750px){ .shelf-stats{ grid-template-columns:repeat(2,1fr); } }
.stat-item{ background:var(--paper-1); border-radius:var(--radius-lg); padding:2rem 1rem; box-shadow:var(--shadow-1); }
.spotlight-counter{ display:block; font-size:clamp(2.2rem,4vw,3rem); font-weight:800; color:var(--color-primary); }
.stat-item p{ margin:.4rem 0 0; color:var(--ink-soft); font-size:.9rem; }


.sheet--decor{ overflow:hidden; }
.decor-shape{ position:absolute; border-radius:50%; opacity:.5; filter:blur(2px); z-index:0; pointer-events:none; }
.decor-shape--1{ width:260px; height:260px; background:var(--accent-200); top:-60px; right:-60px; }
.decor-shape--2{ width:180px; height:180px; background:var(--sage-200); bottom:20px; left:-70px; }
.decor-shape--3{ width:120px; height:120px; background:var(--primary-200); bottom:-40px; right:18%; }
.filozofie-grid{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-5); align-items:center; position:relative; z-index:1; }
@media (max-width:900px){ .filozofie-grid{ grid-template-columns:1fr; } }


.cta-final-box{
  display:flex; align-items:center; justify-content:space-between; gap:var(--space-4); flex-wrap:wrap;
  background: linear-gradient(135deg, var(--primary-100), var(--paper-1));
  border-radius:var(--radius-xl); padding:var(--space-5); box-shadow:var(--shadow-2);
  border:1px solid color-mix(in oklch, var(--color-primary), transparent 80%);
}
.cta-final-box .h2{ margin-bottom:.5rem; }


.schedule-table{ display:flex; flex-direction:column; gap:.4rem; }
.schedule-row{ display:grid; grid-template-columns:.6fr 2fr 1fr .7fr; gap:1rem; padding:1rem 1.2rem; background:var(--paper-0); border-radius:var(--radius-sm); align-items:center; box-shadow:var(--shadow-1); }
.schedule-row--head{ background:transparent; box-shadow:none; font-weight:700; color:var(--ink-soft); font-size:.85rem; text-transform:uppercase; letter-spacing:.04em; }
.schedule-note{ margin-top:1.5rem; }
@media (max-width:750px){
  .schedule-row{ grid-template-columns:1fr; text-align:left; gap:.3rem; }
  .schedule-row--head{ display:none; }
  .schedule-row span:first-child{ font-weight:700; color:var(--primary-700); }
}


.accordion{ display:flex; flex-direction:column; gap:.8rem; }
.accordion-item{ background:var(--paper-0); border-radius:var(--radius-md); box-shadow:var(--shadow-1); overflow:hidden; border:1px solid color-mix(in oklch, var(--ink), transparent 92%); }
.accordion-trigger{
  width:100%; display:flex; justify-content:space-between; align-items:center;
  background:none; border:none; padding:1.2rem 1.5rem; font-size:1rem; font-weight:600; text-align:left; color:var(--ink);
}
.accordion-trigger i{ transition:transform .3s var(--ease); color:var(--color-primary); }
.accordion-item.is-open .accordion-trigger i{ transform:rotate(180deg); }
.accordion-panel{ max-height:0; overflow:hidden; transition:max-height .35s var(--ease); }
.accordion-panel p{ padding:0 1.5rem 1.3rem; margin:0; color:var(--ink-soft); }


.facts-strip{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; }
@media (max-width:750px){ .facts-strip{ grid-template-columns:repeat(2,1fr); } }
.fact-item{ display:flex; gap:.9rem; align-items:center; background:var(--paper-1); border-radius:var(--radius-md); padding:1.1rem 1.2rem; box-shadow:var(--shadow-1); }
.fact-item i{ font-size:1.2rem; color:var(--color-primary); }
.fact-item span{ font-size:.85rem; color:var(--ink-soft); line-height:1.4; }
.fact-item strong{ color:var(--ink); }


.contact-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:var(--space-5); align-items:start; }
@media (max-width:900px){ .contact-grid{ grid-template-columns:1fr; } }
.contact-side{ display:flex; flex-direction:column; gap:1.5rem; }
.contact-info-card{ background:var(--paper-0); border-radius:var(--radius-md); padding:1.6rem; box-shadow:var(--shadow-2); border-left:4px solid var(--color-accent); }
.contact-info-list{ display:flex; flex-direction:column; gap:.9rem; margin-top:1rem; }
.contact-info-list li{ display:flex; gap:.7em; align-items:flex-start; font-size:.94rem; color:var(--ink-soft); }
.contact-info-list i{ color:var(--color-primary); margin-top:.2em; }
.map-frame{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-2); margin-bottom:2rem; }


.easel{ background:var(--paper-0); border-radius:var(--radius-lg); padding:var(--space-4); box-shadow:var(--shadow-3); border:1px solid color-mix(in oklch, var(--ink), transparent 92%); }
.chatform-header{ display:flex; gap:1rem; align-items:center; margin-bottom:1.5rem; padding-bottom:1.2rem; border-bottom:1px solid color-mix(in oklch, var(--ink), transparent 90%); }
.chatform-avatar{ width:48px; height:48px; border-radius:50%; background:var(--color-primary); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.2rem; flex-shrink:0; }
.chatform-header p{ margin:.2rem 0 0; color:var(--ink-soft); font-size:.9rem; }
.chatform{ display:flex; flex-direction:column; gap:.9rem; }
.chatform-bubble{ max-width:88%; padding:.9rem 1.2rem; border-radius:var(--radius-md); }
.chatform-bubble--company{ background:var(--paper-1); border-top-left-radius:4px; align-self:flex-start; }
.chatform-bubble--company p{ margin:0; font-size:.95rem; color:var(--ink); }
.chatform-bubble--user{ background:var(--primary-100); border-top-right-radius:4px; align-self:flex-end; width:88%; }
.chatform-bubble input[type="text"], .chatform-bubble input[type="email"], .chatform-bubble textarea{
  width:100%; border:1px solid color-mix(in oklch, var(--color-primary), transparent 55%); background:var(--paper-0);
  border-radius:var(--radius-sm); padding:.75rem .9rem; font-family:inherit; font-size:.95rem; color:var(--ink);
  transition:border-color .25s var(--ease), box-shadow .25s var(--ease); min-height:44px;
}
.chatform-bubble textarea{ resize:vertical; min-height:90px; }
.chatform-bubble input:focus, .chatform-bubble textarea:focus{ outline:none; border-color:var(--color-primary); box-shadow:0 0 0 3px var(--primary-200); }
.chatform-bubble--check{ width:88%; }
.check-label{ display:flex; align-items:flex-start; gap:.7em; font-size:.88rem; color:var(--ink-soft); cursor:pointer; }
.check-label input{ margin-top:.25em; width:20px; height:20px; accent-color:var(--color-primary); flex-shrink:0; }
.check-label a{ color:var(--primary-700); text-decoration:underline; }
.chatform-submit{ align-self:flex-end; margin-top:.5rem; }
.chatform-status{ font-size:.88rem; color:var(--color-sage); min-height:1.2em; text-align:right; }


.binder-wrap{ max-width:820px; }
.binder h2{ margin-top:2.4rem; font-size:1.35rem; }
.binder p{ color:var(--ink-soft); margin-bottom:1rem; }
.term{ font-weight:700; color:var(--primary-700); background:var(--primary-100); padding:.05em .4em; border-radius:6px; }
.glossary-note{
  background:var(--paper-2); border-left:3px solid var(--color-accent); border-radius:var(--radius-sm);
  padding:1rem 1.3rem; margin:.6rem 0 1.4rem; font-size:.9rem; color:var(--ink-soft);
}
.glossary-note strong{ color:var(--ink); }


.canvas--thanks{ background:var(--paper-2); background-image: radial-gradient(circle, color-mix(in oklch, var(--color-accent), transparent 80%) 1px, transparent 1px); background-size:22px 22px; }
.thanks-main{ min-height:70vh; display:flex; align-items:center; justify-content:center; padding: var(--space-6) 1rem; }
.thanks-card{
  background:var(--paper-0); border-radius:var(--radius-xl); padding:var(--space-5); max-width:520px; text-align:center;
  box-shadow:var(--shadow-3); border-top:4px solid var(--color-primary);
}
.thanks-icon{ width:70px; height:70px; border-radius:50%; background:var(--primary-100); color:var(--primary-700); display:flex; align-items:center; justify-content:center; font-size:1.8rem; margin:0 auto 1.4rem; }
.thanks-card .btn{ margin-top:1rem; }


.ledger{ background:var(--ink); color: color-mix(in oklch, var(--paper-0), transparent 6%); padding-top:var(--space-6); margin-top:2rem; }
.ledger-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1fr; gap:var(--space-4); padding-bottom:var(--space-5); }
@media (max-width:950px){ .ledger-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:550px){ .ledger-grid{ grid-template-columns:1fr; } }
.ledger-brand .stage-logo{ color:#fff; margin-bottom:1rem; }
.ledger-brand p{ color:color-mix(in oklch, var(--paper-0), transparent 30%); font-size:.9rem; max-width:32ch; margin-bottom:1rem; }
.ledger-address{ display:flex; gap:.5em; font-size:.85rem !important; color:color-mix(in oklch, var(--paper-0), transparent 35%) !important; }
.ledger-col h4{ color:var(--color-accent); font-size:.85rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:1rem; }
.ledger-col ul{ display:flex; flex-direction:column; gap:.7rem; }
.ledger-col a{ font-size:.9rem; color:color-mix(in oklch, var(--paper-0), transparent 20%); transition:color .25s var(--ease); }
.ledger-col a:hover{ color:var(--color-accent); }
.ledger-bottom{ border-top:1px solid rgba(255,255,255,.1); padding-block:1.5rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem; font-size:.8rem; color:color-mix(in oklch, var(--paper-0), transparent 40%); }


.bell-console{
  position:fixed; bottom:22px; right:22px; z-index:400; width:56px; height:56px; border-radius:50%;
  background:var(--color-primary); color:#fff; border:none; display:flex; align-items:center; justify-content:center;
  font-size:1.3rem; box-shadow:var(--shadow-3); transition:transform .3s var(--ease);
}
.bell-console:hover{ transform:scale(1.08); }
.bell-console .bell-badge{
  position:absolute; top:-2px; right:-2px; width:14px; height:14px; border-radius:50%;
  background:var(--color-accent); border:2px solid var(--paper-0);
}
.bell-panel{
  position:fixed; bottom:0; right:0; left:0; z-index:401; background:var(--paper-0);
  border-radius:var(--radius-xl) var(--radius-xl) 0 0; box-shadow: 0 -20px 50px -20px rgba(46,40,34,.4);
  transform:translateY(110%); transition:transform .4s var(--ease); max-height:82vh; overflow-y:auto;
  padding: var(--space-4);
}
.bell-panel.is-open{ transform:translateY(0); }
.bell-panel-inner{ max-width:640px; margin-inline:auto; }
.bell-panel h3{ margin-bottom:.5rem; }
.bell-panel p{ color:var(--ink-soft); font-size:.92rem; margin-bottom:1.2rem; }
.bell-option{ display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.9rem 0; border-bottom:1px solid color-mix(in oklch, var(--ink), transparent 92%); }
.bell-option:last-of-type{ border-bottom:none; }
.bell-option-text strong{ display:block; font-size:.95rem; margin-bottom:.15rem; }
.bell-option-text span{ font-size:.83rem; color:var(--ink-faint); }
.switch{ position:relative; width:46px; height:26px; flex-shrink:0; }
.switch input{ opacity:0; width:0; height:0; }
.switch-track{ position:absolute; inset:0; background:color-mix(in oklch, var(--ink), transparent 80%); border-radius:100px; transition:background .25s var(--ease); cursor:pointer; }
.switch-track::before{ content:""; position:absolute; width:20px; height:20px; left:3px; top:3px; background:#fff; border-radius:50%; transition:transform .25s var(--ease); box-shadow:var(--shadow-1); }
.switch input:checked + .switch-track{ background:var(--color-primary); }
.switch input:checked + .switch-track::before{ transform:translateX(20px); }
.switch input:disabled + .switch-track{ opacity:.6; cursor:not-allowed; }
.bell-actions{ display:flex; gap:1rem; margin-top:1.4rem; flex-wrap:wrap; }
.bell-close{ position:absolute; top:1rem; right:1rem; background:var(--paper-2); border:none; width:38px; height:38px; border-radius:50%; }


[data-aos]{ will-change:transform, opacity; }
::selection{ background:var(--primary-200); color:var(--ink); }