/* BLEU cinematic experience layer — 2026-09-20
   Presentation-only override: preserves routing, ALVAI, safety, auth, cabinet, and data contracts. */
:root{
  --cin-ink:#182039;--cin-ink-soft:#526075;--cin-ivory:#f7f1e6;--cin-paper:#fffdf8;
  --cin-blue:#2f6fec;--cin-sky:#7eb6ff;--cin-lilac:#a99bea;--cin-sage:#8eb6a0;
  --cin-gold:#d3b364;--cin-peach:#e8b38f;--cin-radius:34px;--cin-radius-sm:22px;
  --cin-shadow:0 36px 90px -55px rgba(21,33,65,.55);
}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(1200px 700px at 8% -10%,rgba(126,182,255,.19),transparent 60%),
    radial-gradient(900px 700px at 90% 16%,rgba(169,155,234,.14),transparent 60%),
    radial-gradient(900px 700px at 40% 100%,rgba(142,182,160,.13),transparent 60%),
    linear-gradient(180deg,#fffaf2 0%,#f7f2e8 48%,#fffdf9 100%)!important;
  background-attachment:fixed!important;color:var(--cin-ink)!important;
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.34;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E");
}
main,header,nav,section,footer,.bh,.ap-wrap{position:relative;z-index:1}
::selection{background:rgba(47,111,236,.17)}
h1,h2,h3,.bh h1,.bleu-h1,.ap-h1{letter-spacing:-.035em!important}
h1,.bh h1,.bleu-h1,.ap-h1{
  text-wrap:balance;font-weight:400!important;
  text-shadow:0 1px 0 rgba(255,255,255,.65)
}
p{color:var(--cin-ink-soft)}
img{image-rendering:auto}

/* unified chrome */
.bleu-live-nav,.bh-chrome,.ap-nav{
  backdrop-filter:blur(24px) saturate(135%)!important;
  -webkit-backdrop-filter:blur(24px) saturate(135%)!important;
  background:linear-gradient(180deg,rgba(255,253,248,.86),rgba(255,253,248,.62))!important;
  border-bottom:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 18px 50px -44px rgba(25,37,65,.45)!important;
}
.bleu-live-nav a,.bh-nav a,.ap-tabs a{transition:opacity .25s ease,color .25s ease,transform .25s ease}
.bleu-live-nav a:hover,.bh-nav a:hover,.ap-tabs a:hover{transform:translateY(-1px);opacity:.72}
button,a{transition:transform .25s ease,box-shadow .25s ease,background .25s ease,opacity .25s ease}
button:hover,.primary-cta:hover,.more-link:hover{transform:translateY(-2px)}
button:focus-visible,a:focus-visible,input:focus-visible{
  outline:3px solid rgba(47,111,236,.24)!important;outline-offset:3px!important
}

/* internal cinematic heroes */
.theme-learn .hero-grid,.theme-support .hero-grid,.theme-near .hero-grid{
  min-height:min(76vh,780px)!important;
  grid-template-columns:minmax(0,.86fr) minmax(430px,1.14fr)!important;
  gap:clamp(28px,5vw,74px)!important;
  padding:clamp(26px,5vw,72px) 0!important;
}
.theme-learn .bleu-live-hero-art,
.theme-support .bleu-live-hero-art,
.theme-near .bleu-live-hero-art{
  min-height:clamp(500px,64vh,720px)!important;border-radius:54% 46% 44% 56% / 42% 44% 56% 58%!important;
  box-shadow:0 45px 120px -60px rgba(23,37,68,.62)!important;
  position:relative!important;isolation:isolate;overflow:hidden!important;
}
.theme-learn .bleu-live-hero-art:after,
.theme-support .bleu-live-hero-art:after,
.theme-near .bleu-live-hero-art:after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(15,29,51,.17));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.38);
}
.theme-learn .bleu-live-hero-art img,
.theme-support .bleu-live-hero-art img,
.theme-near .bleu-live-hero-art img{
  min-height:inherit!important;filter:saturate(.91) contrast(1.02) brightness(1.02);
  transform:scale(1.015);transition:transform 9s cubic-bezier(.2,.7,.2,1)!important;
}
.theme-learn .bleu-live-hero-art:hover img,
.theme-support .bleu-live-hero-art:hover img,
.theme-near .bleu-live-hero-art:hover img{transform:scale(1.055)}
.theme-learn .tab-section:first-of-type,
.theme-support .tab-section:first-of-type,
.theme-near .tab-section:first-of-type{padding-top:10px!important}

/* conversational input becomes the recurring hero object */
.bleu-live-input,.ap-ask,.ap-alva-input{
  background:rgba(255,255,255,.77)!important;border:1px solid rgba(255,255,255,.9)!important;
  box-shadow:0 28px 70px -48px rgba(16,31,68,.52)!important;
  backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;
}
.bleu-live-input{border-radius:999px!important;padding:8px!important}
.bleu-live-input input,.ap-ask input,.ap-alva-input input{
  background:transparent!important;font-size:16px!important;color:var(--cin-ink)!important
}

/* replace card wall feeling with editorial islands */
.bleu-grid,.bleu-card-grid,.theme-learn .content-rail,.theme-support .content-rail,.theme-near .content-rail{
  gap:clamp(18px,2.6vw,34px)!important
}
.bleu-card,.safety-banner,.crisis-rail,.ap-panel,.ap-door{
  background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,251,243,.7))!important;
  border:1px solid rgba(255,255,255,.94)!important;
  box-shadow:var(--cin-shadow)!important;
  backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;
}
.bleu-card{
  border-radius:var(--cin-radius)!important;padding:clamp(24px,3vw,38px)!important;
  min-height:220px!important;overflow:hidden!important;position:relative!important
}
.bleu-card:before,.ap-door:before{
  content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-70px;top:-80px;
  background:radial-gradient(circle,rgba(126,182,255,.15),transparent 68%);pointer-events:none
}
.bleu-card:hover,.ap-door:hover{
  transform:translateY(-6px)!important;box-shadow:0 44px 100px -58px rgba(25,39,73,.62)!important
}
.bleu-icon-circle{box-shadow:inset 0 0 0 1px rgba(255,255,255,.7),0 15px 34px -24px currentColor}
.bleu-live-chips,.filter-row{gap:10px!important}
.bleu-live-chips button,.filter-row button,.ap-chip-btn{
  background:rgba(255,255,255,.72)!important;border:1px solid rgba(255,255,255,.9)!important;
  box-shadow:0 12px 30px -26px rgba(21,36,70,.42)!important;backdrop-filter:blur(12px)!important
}

/* section rhythm: no flat text deserts */
.tab-section{
  position:relative;padding:clamp(48px,7vw,98px) 0!important
}
.tab-section:before{
  content:"";position:absolute;inset:8% -6%;z-index:-1;border-radius:70px;
  background:linear-gradient(120deg,rgba(255,255,255,.2),rgba(126,182,255,.045),rgba(169,155,234,.035));
  pointer-events:none
}
.tab-section h2{font-size:clamp(34px,4vw,60px)!important;line-height:1.02!important;max-width:850px;text-wrap:balance}

/* homepage: preserve logic, make scenes cinematic */
.bh{background:transparent!important}
.bh::before{opacity:.65}
.bh-hero{padding-top:clamp(36px,6vw,80px)!important;padding-bottom:clamp(60px,8vw,110px)!important}
.bh-hero-grid{gap:clamp(32px,5vw,72px)!important;align-items:center!important}
.bh h1{font-size:clamp(54px,7.5vw,108px)!important;line-height:.93!important;max-width:980px}
.bh-lead{font-size:clamp(18px,1.7vw,24px)!important;max-width:740px!important}
.bh-hero-media,.bh-media,.bh-card,.bh-alvai,.bh-directory,.bh-protect{
  border-radius:clamp(28px,4vw,48px)!important;overflow:hidden!important;
  box-shadow:var(--cin-shadow)!important
}
.bh img{filter:saturate(.92) contrast(1.02)}
.bh-section{padding-block:clamp(62px,8vw,120px)!important}
.bh-section h2{font-size:clamp(40px,5.5vw,76px)!important;line-height:1!important;text-wrap:balance}
.bh-card{background:rgba(255,253,248,.74)!important;border:1px solid rgba(255,255,255,.9)!important;backdrop-filter:blur(16px)}
.bh-card:hover{transform:translateY(-5px)}
.bh-aura{opacity:.9}

/* Apothecary / Supply: turn dashboard into wellness atelier */
body.ap-scope{background:var(--ap-bg,#F7F4EF)!important}
.ap-wrap{max-width:1480px!important;padding:0 clamp(18px,3vw,44px)!important}
.ap-hero{
  grid-template-columns:minmax(300px,.94fr) minmax(340px,1.06fr) minmax(320px,.9fr)!important;
  gap:clamp(18px,2vw,30px)!important;padding:clamp(32px,4vw,60px) 0!important;align-items:stretch!important
}
.ap-hero>div:first-child{
  grid-column:1 / 2;padding:clamp(28px,3vw,48px);border-radius:42px;
  background:linear-gradient(145deg,rgba(255,255,255,.74),rgba(255,248,237,.55));
  border:1px solid rgba(255,255,255,.9);box-shadow:var(--cin-shadow);backdrop-filter:blur(20px)
}
.ap-compass-panel{grid-column:2 / 3!important}
.ap-rail{grid-column:3 / 4!important;display:flex!important;flex-direction:column!important;gap:22px!important}
.ap-panel{border-radius:34px!important;padding:clamp(22px,2.2vw,34px)!important}
.ap-compass-panel{
  min-height:650px!important;background:
  radial-gradient(circle at 50% 35%,rgba(47,111,236,.10),transparent 28%),
  linear-gradient(160deg,rgba(255,255,255,.92),rgba(235,241,252,.78))!important
}
.ap-alva{background:linear-gradient(150deg,#1c2b50,#213e75)!important;color:white!important}
.ap-alva p,.ap-alva span,.ap-alva .q,.ap-alva .rb{color:rgba(255,255,255,.82)!important}
.ap-free-card{background:rgba(255,255,255,.09)!important;border:1px solid rgba(255,255,255,.12)!important}
.ap-arsenal{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(18px,2.3vw,30px)!important;margin:clamp(34px,5vw,72px) 0!important
}
.ap-door{border-radius:32px!important;padding:34px!important;min-height:240px!important;position:relative!important;overflow:hidden!important}
.ap-door h4{font-family:var(--ap-serif)!important;font-size:27px!important;margin:16px 0 8px!important}
.ap-crisis,.bleu-live-crisis{
  border-radius:30px!important;background:rgba(255,250,243,.86)!important;border:1px solid rgba(230,195,170,.48)!important;
  box-shadow:0 26px 70px -52px rgba(87,53,29,.38)!important
}

/* subtle entry motion */
@keyframes cinRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.hero-grid>* ,.bh-hero-grid>* ,.ap-hero>*{animation:cinRise .85s cubic-bezier(.2,.7,.2,1) both}
.hero-grid>*:nth-child(2),.bh-hero-grid>*:nth-child(2),.ap-hero>*:nth-child(2){animation-delay:.08s}
.ap-hero>*:nth-child(3){animation-delay:.14s}

@media(max-width:980px){
  .theme-learn .hero-grid,.theme-support .hero-grid,.theme-near .hero-grid{grid-template-columns:1fr!important;min-height:0!important}
  .theme-learn .bleu-live-hero-art,.theme-support .bleu-live-hero-art,.theme-near .bleu-live-hero-art{
    min-height:58vh!important;border-radius:34px!important
  }
  .theme-learn .content-rail,.theme-support .content-rail,.theme-near .content-rail{grid-template-columns:1fr!important}
  .ap-hero{grid-template-columns:1fr 1fr!important}
  .ap-hero>div:first-child{grid-column:1 / -1!important}
  .ap-compass-panel{grid-column:1 / 2!important}.ap-rail{grid-column:2 / 3!important}
  .ap-arsenal{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:680px){
  body{background-attachment:scroll!important}
  .bleu-live-nav,.bh-chrome,.ap-nav{border-radius:0!important}
  .theme-learn .hero-grid,.theme-support .hero-grid,.theme-near .hero-grid{padding-top:18px!important}
  .theme-learn .bleu-live-hero-art,.theme-support .bleu-live-hero-art,.theme-near .bleu-live-hero-art{min-height:440px!important}
  .bleu-card{min-height:0!important}
  .bh h1{font-size:clamp(48px,14vw,72px)!important}
  .ap-hero{grid-template-columns:1fr!important}
  .ap-compass-panel,.ap-rail{grid-column:1!important}
  .ap-arsenal{grid-template-columns:1fr!important}
  .ap-wrap{padding:0 16px!important}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}