/* ── SCROLL REVEAL ── */
.reveal-on-scroll{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease;}
.reveal-on-scroll.visible{opacity:1;transform:none;}

/* ══ HERO ══ */
#hero{min-height:calc(100svh - var(--header-height));display:flex;align-items:center;padding-block:clamp(2.5rem,7vw,5.5rem);background:var(--bg);position:relative;overflow:hidden;}
#hero::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 60% at 75% 30%,rgba(30,143,160,0.13) 0%,transparent 55%),radial-gradient(ellipse 50% 40% at 10% 70%,rgba(61,189,209,0.07) 0%,transparent 60%),radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,0.25) 100%);}
canvas#hero-canvas{position:absolute;inset:0;z-index:0;pointer-events:none;}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.95fr);align-items:center;gap:clamp(1.5rem,5vw,4rem);}
.hero-copy{min-width:0;}
.hero-title{font-family:Georgia, "Times New Roman", serif;font-size:clamp(2.3rem,5vw,4.2rem);font-weight:900;line-height:1.1;margin-bottom:var(--space-5);background:linear-gradient(135deg,var(--text) 30%,var(--accent2) 70%,var(--accent3));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;max-width:18ch;}
.hero-sub{width:max-content;max-width:100%;font-size:clamp(.72rem,2.5vw,var(--text-sm));letter-spacing:0;text-transform:uppercase;white-space:nowrap;color:var(--muted);margin-bottom:var(--space-8);}
.hero-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;}
.hero-secondary-link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:var(--space-3) var(--space-6);border:1px solid var(--pill-border);border-radius:var(--radius-full);background:var(--pill-bg);color:var(--accent2);font-size:var(--text-sm);font-weight:700;text-decoration:none;}
.hero-proof{margin:0;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(135deg,rgba(255,255,255,.70),rgba(255,255,255,.18)),rgba(30,143,160,.08);box-shadow:var(--photo-shadow);}
.hero-proof picture{display:block;aspect-ratio:5/4;overflow:hidden;border-radius:var(--radius-sm);}
.hero-proof img{width:100%;height:100%;object-fit:cover;}
.hero-proof__caption{padding:var(--space-4) var(--space-2) 0;color:var(--muted);font-size:var(--text-sm);font-weight:700;line-height:1.45;}

/* ══ PROBLEM ══ */
#problem{background:linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%);}
.problem-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap);}

/* Pain/value items */
.pv-block-title{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:var(--space-5);}
.pv-block-title.pain{color:#c0504a;}
.pv-block-title.value{color:var(--accent2);}
.pv-item{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-5);}
.pv-item:last-child{margin-bottom:0;}
.pv-emoji{font-size:1.3rem;flex-shrink:0;line-height:1.2;}
.pv-title{font-weight:600;font-size:var(--text-sm);margin-bottom:var(--space-1);}
.pv-desc{font-size:var(--text-sm);color:var(--muted);line-height:1.55;}
.value-intro{margin-bottom:var(--space-5);}
.problem-bridge{text-align:center;padding-block:var(--space-8);font-size:var(--text-base);color:var(--muted);}
.problem-bridge strong{color:var(--text);}

/* ══ TREND ══ */
#trend{background:var(--bg2);}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);}
.case-name{font-weight:600;font-size:var(--text-sm);margin-bottom:var(--space-2);}
.case-flag{font-size:1.2rem;margin-bottom:var(--space-3);}
.stat-val{font-family:Georgia, "Times New Roman", serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;background:linear-gradient(135deg,var(--accent2),var(--accent3));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.1;margin-bottom:var(--space-2);}
.case-desc{font-size:var(--text-sm);color:var(--muted);line-height:1.55;}

/* ══ ABOUT ══ */
#about{background:var(--bg);position:relative;overflow:hidden;}
#about::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 60% 50% at 80% 20%,rgba(30,143,160,0.10) 0%,transparent 60%),radial-gradient(ellipse 50% 40% at 20% 80%,rgba(61,189,209,0.06) 0%,transparent 60%);}
#about .container{position:relative;z-index:1;}

.about-pillars{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-8);}
.pillar{display:flex;gap:var(--space-4);align-items:flex-start;}
.pillar-dot{width:8px;height:8px;border-radius:50%;background:var(--accent2);flex-shrink:0;margin-top:6px;}
.pillar-title{font-weight:600;font-size:var(--text-sm);color:var(--accent2);margin-bottom:var(--space-1);}
.pillar-desc{font-size:var(--text-sm);color:var(--muted);line-height:1.55;}
.event-card{margin-top:var(--space-8);}

.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start;}
.about-video-col{display:flex;align-items:stretch;}
.about-video-wrap{width:100%;border-radius:var(--radius-md);overflow:hidden;background:var(--bg2);box-shadow:0 8px 32px rgba(0,0,0,0.18);max-height:620px;display:flex;align-items:center;justify-content:center;position:relative;}
.about-video-wrap video{width:100%;height:100%;max-height:620px;object-fit:cover;display:block;}

/* ══ FORMATS OVERVIEW ══ */
#formats-overview{background:linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%);}
.formats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap);}
.format-card{display:flex;gap:var(--space-4);align-items:flex-start;text-decoration:none;color:inherit;cursor:pointer;}
.format-card:hover .glass-card{transform:translateY(-4px);box-shadow:0 16px 40px rgba(30,143,160,0.15);}
.format-card .glass-card{width:100%;display:flex;gap:var(--space-4);align-items:flex-start;}
.format-num{font-family:Georgia, "Times New Roman", serif;font-size:clamp(1.6rem,2.5vw,2rem);font-weight:700;color:var(--accent2);line-height:1;flex-shrink:0;min-width:2rem;}
.format-name{font-weight:600;font-size:var(--text-base);margin-bottom:var(--space-2);}
.format-desc{font-size:var(--text-sm);color:var(--muted);line-height:1.55;}
.format-link{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--text-xs);font-weight:600;color:var(--accent2);letter-spacing:.05em;}
.format-link svg{transition:transform .2s;}
.format-card:hover .format-link svg{transform:translateX(4px);}

/* ══ FORMAT DETAIL ══ */
.format-section{padding-block:clamp(3rem,6vw,5rem);}
.format-section:nth-child(odd){background:var(--bg2);}
.format-section:nth-child(even){background:var(--bg);}
.format-detail-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(1.5rem,4vw,3rem);align-items:start;margin-top:var(--space-8);}
.fd-left{display:flex;flex-direction:column;gap:var(--space-4);}
.format-title{margin-top:var(--space-4);}
.fd-invest{border-left:3px solid var(--accent3);padding-left:var(--space-4);}
.fd-invest .card-label{color:var(--accent3);}
.fd-invest-val{font-size:var(--text-sm);color:var(--muted);}
.benefits-list{display:flex;flex-direction:column;gap:var(--space-4);}
.benefit-item{display:flex;gap:var(--space-3);align-items:flex-start;}
.benefit-check{color:var(--accent2);font-size:1rem;flex-shrink:0;margin-top:2px;}
.benefit-text{font-size:var(--text-sm);color:var(--muted);line-height:1.55;}
.back-link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--muted);text-decoration:none;margin-bottom:var(--space-6);transition:color .2s;}
.back-link:hover{color:var(--accent2);}

/* ══ CTA ══ */
#cta{background:var(--bg);position:relative;overflow:hidden;}
#cta::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 60% at 80% 20%,rgba(30,143,160,0.13) 0%,transparent 55%),radial-gradient(ellipse 50% 40% at 20% 80%,rgba(61,189,209,0.07) 0%,transparent 60%),radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,0.2) 100%);}
canvas#cta-canvas{position:absolute;inset:0;z-index:0;pointer-events:none;}
.cta-inner{position:relative;z-index:1;text-align:center;}
.cta-title{font-family:Georgia, "Times New Roman", serif;font-size:clamp(1.8rem,4vw,3rem);font-weight:900;line-height:1.2;background:linear-gradient(135deg,var(--text) 30%,var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-5);max-width:20ch;margin-inline:auto;}
.cta-desc{font-size:var(--text-sm);color:var(--muted);max-width:52ch;margin:0 auto var(--space-8);line-height:1.65;}
.steps-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap);max-width:640px;margin:0 auto var(--space-8);text-align:left;}
.step-card{background:var(--step-bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-5);}
.step-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);}
.step-num{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:700;flex-shrink:0;color:#fff;}
.step-title{font-weight:600;font-size:var(--text-sm);}
.step-desc{font-size:var(--text-sm);color:var(--muted);line-height:1.55;}
.cta-event{background:var(--pill-bg);border:1px solid var(--pill-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-6);display:flex;gap:var(--space-3);align-items:flex-start;max-width:560px;margin:0 auto var(--space-6);text-align:left;}
.cta-between-text{font-size:var(--text-sm);color:var(--muted);line-height:1.65;max-width:52ch;margin:0 auto var(--space-8);}
.contacts{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap;margin-bottom:var(--space-8);}
.contact-btn{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--pill-bg);border:1px solid var(--pill-border);border-radius:var(--radius-full);padding:var(--space-3) var(--space-6);font-size:var(--text-sm);color:var(--accent2);text-decoration:none;transition:background .2s;}
.contact-btn:hover{background:rgba(30,143,160,0.22);}

/* ══ RESPONSIVE: 360 / 480 / 768 / 1024 / 1280 / 1536 / 1920 ══ */
@media (max-width:479px){
  #hero{align-items:flex-start;}
  .hero-inner{grid-template-columns:1fr;}
  .hero-title{font-size:clamp(1.9rem,9vw,2.6rem);}
  .hero-actions{align-items:stretch;flex-direction:column;}
  .hero-secondary-link{width:100%;}
  .hero-proof picture{aspect-ratio:4/3;}
  .section-title{font-size:clamp(1.5rem,7vw,2rem);}
  .problem-grid,.stats-grid,.about-grid,.formats-grid,.format-detail-grid,.steps-grid{grid-template-columns:1fr;}
  .about-video-wrap{max-height:420px;}
  .glass-card{padding:var(--space-4);}
  .btn-primary{width:100%;justify-content:center;}
}
@media (min-width:480px) and (max-width:767px){
  .hero-inner{grid-template-columns:1fr;}
  .hero-proof picture{aspect-ratio:4/3;}
  .problem-grid,.formats-grid{grid-template-columns:1fr;}
  .stats-grid,.about-grid,.format-detail-grid,.steps-grid{grid-template-columns:1fr;}
  .about-video-wrap{max-height:460px;}
}
@media (min-width:768px) and (max-width:1023px){
  .stats-grid{grid-template-columns:repeat(3,1fr);}
  .about-grid,.format-detail-grid{grid-template-columns:1fr;}
  .problem-grid,.formats-grid,.steps-grid{grid-template-columns:repeat(2,1fr);}
}
@media (min-width:1024px) and (max-width:1279px){
  .about-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.92fr);}
  .format-detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);}
}
@media (min-width:1024px) and (max-height:820px){
  #hero{
    padding-block:clamp(.75rem,2.2vh,1.25rem);
  }
  .hero-inner{
    gap:clamp(1.25rem,3vw,2.5rem);
  }
  .breadcrumbs--hero{
    margin-bottom:var(--space-3);
  }
  #hero .tag-pill{
    margin-bottom:var(--space-3);
    padding:var(--space-2) var(--space-4);
  }
  .hero-title{
    font-size:clamp(2.15rem,4.2vw,3.2rem);
    line-height:1.04;
    margin-bottom:var(--space-3);
  }
  .hero-sub{
    margin-bottom:var(--space-4);
  }
  .hero-actions{
    gap:var(--space-2);
  }
  .hero-actions .btn-primary,
  .hero-secondary-link{
    min-height:42px;
    padding:.65rem 1.2rem;
  }
  .hero-proof{
    padding:var(--space-2);
  }
  .hero-proof picture{
    aspect-ratio:1.35/1;
  }
  .hero-proof__caption{
    padding-top:var(--space-3);
    line-height:1.35;
  }
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;}
}

/* ── PHILOSOPHY BANNER ── */
#philosophy {
  padding-block: 0;
  position: relative;
  overflow: hidden;
}
.philosophy-inner {
  background: linear-gradient(135deg, #0e2a35 0%, #0b3a42 50%, #0d2e38 100%);
  padding: clamp(3.5rem, 8vw, 6rem) clamp(1.5rem, 6vw, 4rem);
  position: relative;
  overflow: hidden;
}
.philosophy-inner::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 80% at 90% 20%, rgba(30,143,160,0.22) 0%, transparent 60%),
    radial-gradient(ellipse 40% 60% at 10% 80%, rgba(61,189,209,0.12) 0%, transparent 55%);
  pointer-events: none;
}
.philosophy-inner::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, transparent 50%, rgba(0,0,0,0.3) 100%);
  pointer-events: none;
}
.philosophy-content {
  position: relative;
  z-index: 1;
  width: min(calc(100% - 2 * var(--site-page-gutter)), var(--content));
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}
.philosophy-text { max-width: 680px; }
.philosophy-label {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #3dbdd1;
  margin-bottom: clamp(1rem, 2vw, 1.4rem);
}
.philosophy-label::before,
.philosophy-label::after {
  content: '';
  display: block;
  width: 28px;
  height: 1px;
  background: rgba(61,189,209,0.5);
}
.philosophy-quote {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.5rem, 3.6vw, 2.6rem);
  font-weight: 700;
  line-height: 1.38;
  color: #f0f8fa;
  margin-bottom: clamp(1rem, 2vw, 1.4rem);
}
.philosophy-quote em {
  font-style: italic;
  background: linear-gradient(120deg, #3dbdd1 0%, #a8dde6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.philosophy-coda {
  font-size: clamp(0.88rem, 1.4vw, 1rem);
  color: #8fc8d4;
  line-height: 1.7;
  font-weight: 400;
  max-width: 560px;
}
.philosophy-coda strong {
  color: #c4e8ef;
  font-weight: 600;
}
.philosophy-emblem {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}
.philosophy-icon-item {
  font-size: 2rem;
  line-height: 1;
  filter: drop-shadow(0 0 14px rgba(61,189,209,0.45));
}
.philosophy-divider-line {
  width: 1px;
  height: 30px;
  background: linear-gradient(180deg, transparent, rgba(61,189,209,0.35), transparent);
}
@media (max-width: 640px) {
  .philosophy-content { grid-template-columns: 1fr; }
  .philosophy-emblem { flex-direction: row; justify-content: center; order: -1; }
  .philosophy-divider-line { width: 24px; height: 1px; background: linear-gradient(90deg, transparent, rgba(61,189,209,0.35), transparent); }
  .philosophy-icon-item { font-size: 1.6rem; }
}
.pillars-note {
  margin-top: 1.5rem;
  font-size: var(--text-sm);
  color: var(--muted);
  font-style: italic;
}
