/* V38: desktop/mobile reading-space and contrast audit. */
:root { --display:'Inter Tight','Inter',sans-serif; --sans:'Inter',sans-serif; }
/* Official fulmor.com navigation, isolated from cinematic color changes. */
body .nav,body .nav.is-dark,body .nav.is-scrolled { height:68px; padding:0 4.5vw; background:rgba(255,255,255,.92); color:#111315; border-bottom:1px solid #1113151a; grid-template-columns:1fr auto 1fr; }
body .nav .brand { width:142px; }
body .nav .brand img { width:142px; height:auto; filter:none!important; }
body .nav .nav__links { gap:34px; }
body .nav .nav__links a,body .official-nav-actions a,body .footer-links a { font:500 13px/1.5 DengXian,'Avenir Next','Helvetica Neue',Arial,sans-serif; letter-spacing:.05em; text-transform:uppercase; color:#56616c; }
body .official-nav-actions { justify-self:end; display:flex; align-items:center; gap:24px; }
body .official-nav-actions a { min-height:48px; display:flex; align-items:center; justify-content:center; }
body .official-nav-actions .language-link { min-width:48px; }
body .official-nav-actions .nav-buy { color:#111315; padding:0 6px; gap:12px; background:transparent; border:0; }
body .footer { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:0; padding:34px 4.5vw; background:#f3f4f1; color:#111315; border-top:1px solid #1113151a; }
body .footer .footer-brand img { width:142px; height:auto; filter:none; }
body .footer .footer-links { display:flex; flex-wrap:wrap; justify-content:center; gap:28px; }
body .footer .footer-links a { display:flex; min-height:48px; align-items:center; font-weight:400; letter-spacing:.07em; }
body .footer > span { justify-self:end; font:400 13px/1.5 'Avenir Next','Helvetica Neue',Arial,sans-serif; }
body .footer > span::before { display:none; }
body .nav a:hover,body .footer a:hover { color:#c90028; }
body .nav a:focus-visible,body .footer a:focus-visible { outline:2px solid #c90028; outline-offset:4px; }
@media(max-width:1100px) { body .footer { grid-template-columns:1fr; gap:16px; } body .footer > span { justify-self:start; } body .footer .footer-links { justify-content:flex-start; gap:8px 24px; } }
@media(max-width:900px) {
 body .nav.nav { padding:0 20px; grid-template-columns:1fr auto auto; gap:10px; }
 body .nav .brand,body .nav .brand img { width:112px; }
 body .nav .nav-toggle { display:block; grid-column:3; grid-row:1; width:40px; height:44px; padding:0; font-size:0; }
 body .nav .nav-toggle::before,body .nav .nav-toggle::after { content:''; display:block; width:20px; height:1px; margin:6px auto; background:#111315; }
 body .nav .nav-toggle[aria-expanded=true]::before { transform:translateY(3.5px) rotate(45deg); }
 body .nav .nav-toggle[aria-expanded=true]::after { transform:translateY(-3.5px) rotate(-45deg); }
 body .official-nav-actions { grid-column:2; grid-row:1; gap:8px; }
 body .official-nav-actions .language-link { min-width:36px; }
 body .nav .nav__links { display:none; }
 body .nav.menu-open .nav__links { display:grid; gap:0; background:#fff; }
 body .footer { padding:30px 20px; }
 body .footer .footer-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:0 16px; }
}
.assembly-labels { position:absolute; inset:0; z-index:8; pointer-events:none; opacity:var(--chapter-opacity,1); color:#e9eef2; }
.assembly-labels[hidden] { display:none; }
.assembly-label { position:absolute; top:0; left:0; width:156px; font:500 10px/1.4 var(--sans); letter-spacing:.04em; text-shadow:0 1px 5px #141a20; }
.assembly-label strong { display:block; color:#ff6a88; font-size:13px; margin-bottom:3px; }
.assembly-label span { display:block; }
.webgl-ready.assembly-labels-ready #overview .story-spec-line { position:absolute; width:1px; height:1px; padding:0; margin:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:900px) { .assembly-label { width:112px; font-size:10px; } .assembly-label strong { font-size:13px; } }
body { font-family:var(--sans); -webkit-font-smoothing:antialiased; font-feature-settings:'kern' 1,'liga' 1,'cv11' 1; }
.unified-story .story-extension { --display:'Inter Tight','Inter',sans-serif; --copy-ink:#111315; --copy-muted:#5f666d; --copy-label:#c90028; color:var(--copy-ink); }
.unified-story .story-extension[data-bg=silver],.unified-story .story-extension[data-bg=blue] { --copy-muted:#48515a; --copy-label:#a80022; }
.unified-story .story-extension[data-bg=graphite],.unified-story .story-extension[data-bg=deep] { --copy-ink:#f5f7f8; --copy-muted:#bbc4cd; --copy-label:#ff6a88; }
.unified-story .take-scene .take-copy h1 {
 font-family:var(--display); font-size:clamp(44px,4.6vw,76px); font-weight:600;
 letter-spacing:-.025em; line-height:1.08; margin:20px 0 26px; text-wrap:initial;
}
.unified-story .take-scene .take-copy h2,
.unified-story #science .take-copy h2,.unified-story #routine .take-copy h2 {
 font-family:var(--display); font-size:clamp(34px,3.9vw,68px); font-weight:600;
 letter-spacing:-.02em; line-height:1.1; margin:18px 0 26px; text-wrap:initial;
}
.unified-story .take-scene .take-copy h1 em,
.unified-story .take-scene .take-copy h2 em { font-style:normal; font-weight:500; color:#ff0033; opacity:1; }
.unified-story .story-extension[data-bg=graphite] h2 em,.unified-story .story-extension[data-bg=deep] h2 em { color:#ff6a88; }
.unified-story .take-scene .take-copy > .eyebrow {
 font:500 11px/1.5 var(--sans); letter-spacing:.1em; text-transform:uppercase; color:var(--copy-label);
}
.unified-story .take-copy > p:not(.eyebrow):not(.story-spec-line):not(.story-disclaimer) {
 font:400 16px/1.65 var(--sans); letter-spacing:0; max-width:42ch; color:var(--copy-muted); text-wrap:pretty;
}
.unified-story .one-take[data-bg=graphite] .eyebrow,
.unified-story .one-take[data-bg=deep] .eyebrow { color:var(--copy-label); }
.unified-story .compact-points { gap:22px; }
.compact-points .point-row { display:grid; grid-template-columns:24px minmax(0,1fr); gap:12px; }
.compact-points .point-copy { min-width:0; }
.unified-story .compact-points strong { font:500 19px/1.4 var(--sans); letter-spacing:-.01em; color:var(--copy-ink); }
.unified-story .compact-points .point-copy > span { font:400 14px/1.65 var(--sans); letter-spacing:0; color:var(--copy-muted); opacity:1; margin-top:7px; text-wrap:pretty; }
.compact-points .point-index,.unified-story .compact-points .point-index { font:500 10px/1.7 var(--sans); letter-spacing:.08em; color:var(--copy-label,#c90028); opacity:1; padding-top:4px; margin:0; }
.unified-story .compact-points small { font-size:10px; letter-spacing:.08em; margin:4px 0 9px; color:var(--copy-label); }
.unified-story #essentials .compact-points,.unified-story #lifestyle .compact-points { gap:28px 24px; }
.unified-story #essentials .point-row,.unified-story #lifestyle .point-row { grid-template-columns:1fr; gap:7px; }
.unified-story #essentials .point-index { display:none; }
.unified-story #routine .take-copy h2 { font-size:clamp(34px,3.4vw,58px); }
.unified-story #routine .compact-points { gap:14px; margin-top:20px; }
.unified-story #routine .take-copy > p:not(.eyebrow) { max-width:100%; font-size:15px; }
.unified-story #routine .point-copy > .step-meta { font-size:12px; font-weight:500; line-height:1.5; letter-spacing:.025em; margin-top:8px; }
.unified-story #routine .point-copy > .step-description { font-size:14px; line-height:1.6; margin-top:5px; max-width:48ch; }
.unified-story .take-copy { font-synthesis:none; }
.unified-story .point-index { font-variant-numeric:tabular-nums; }
.unified-story .take-copy > .story-spec-line { color:var(--copy-muted); line-height:1.9; }
.unified-story .take-scene .take-copy > .story-disclaimer { font:400 12px/1.65 var(--sans)!important; color:var(--copy-muted); max-width:54ch; }
.unified-story .take-copy .button { font:500 12px/1.3 var(--sans); letter-spacing:.025em; text-transform:none; min-height:46px; padding:14px 20px; }
.unified-story #faq .take-copy .button { margin-right:8px; }
.unified-story #faq .take-copy .button + .button { margin-left:0; }
/* Keep long copy scrollable on short screens, without an overlay scrollbar
   flashing across the composition during word entrance or font loading. */
.unified-story .take-scene .take-copy { scrollbar-width:none; }
.unified-story .take-scene .take-copy::-webkit-scrollbar { display:none; width:0; height:0; }
.unified-story .take-copy > p,.point-copy { overflow-wrap:break-word; }
.unified-story .take-copy h1,.unified-story .take-copy h2 { overflow-wrap:normal; }
.footer p { font-size:13px; line-height:1.75; }
.story-details .point-row { gap:16px; }
.story-details .faq-question { color:#111315; }
.story-details .answer--expanded p { color:#5f666d; max-width:65ch; }
.story-details #faq-content { max-width:740px; margin:0 auto; }
.story-details #faq-content header { margin-bottom:36px; }
.story-details #faq-content .accordion { counter-reset:question; border-top:1px solid #d9dee3; }
.story-details #faq-content .accordion article { position:relative; padding:25px 0 25px 42px; border-bottom:1px solid #d9dee3; }
.story-details #faq-content .accordion article::before { counter-increment:question; content:counter(question,decimal-leading-zero); position:absolute; left:0; top:29px; font:500 11px/1.5 var(--sans); color:#c90028; }
.story-details #faq-content .faq-question { font-size:20px; line-height:1.4; letter-spacing:-.015em; padding:0 0 12px; }
.story-details #faq-content .answer--expanded p { font-size:15px; line-height:1.75; margin:0; text-wrap:pretty; }
.unified-story .story-secondary { font-family:var(--sans); font-size:12px; letter-spacing:-.01em; }
.story-details h2 { font:600 clamp(32px,3.9vw,56px)/1.05 var(--display); letter-spacing:-.04em; }
.story-details .faq-question { font-family:var(--display); font-weight:500; letter-spacing:-.02em; }
.caldo-word { display:inline-block; overflow:hidden; vertical-align:bottom; padding-bottom:.09em; margin-bottom:-.09em; }
.caldo-word-ink { display:inline-block; }
@media(prefers-reduced-motion:no-preference) {
 .take-scene .caldo-word-ink { transform:translateY(.9em); opacity:0; filter:blur(6px);
  transition:transform .95s cubic-bezier(.16,.84,.28,1),opacity .8s ease,filter .8s ease;
  transition-delay:calc(var(--word-index) * 42ms); }
 .take-scene.is-current .caldo-word-ink { transform:none; opacity:1; filter:blur(0); }
 .take-scene .take-copy > p,.take-scene .compact-points { opacity:0; transform:translateY(14px);
  transition:opacity .8s ease .18s,transform .9s cubic-bezier(.16,.84,.28,1) .18s; }
 .take-scene.is-current .take-copy > p,.take-scene.is-current .compact-points { opacity:1; transform:none; }
}
@media(max-width:900px) {
 .unified-story .take-scene .take-copy h1 { font-size:clamp(34px,8.5vw,52px); }
 .unified-story .take-scene .take-copy h2,
 .unified-story #science .take-copy h2,.unified-story #routine .take-copy h2 { font-size:clamp(30px,7.8vw,46px); }
 .unified-story .take-copy > p:not(.eyebrow):not(.story-spec-line):not(.story-disclaimer) { font-size:14px; line-height:1.53; }
 .unified-story .take-scene .take-copy > .eyebrow { font-size:10px; }
 .unified-story .compact-points strong { font-size:15px; }
 .unified-story #routine .point-copy > .step-meta { font-size:11px; margin-top:6px; }
 .unified-story #routine .point-copy > .step-description { font-size:13px; line-height:1.5; margin-top:4px; }
 .unified-story .compact-points .point-copy > span { font-size:14px; line-height:1.55; }
 .unified-story #essentials .compact-points,.unified-story #lifestyle .compact-points { gap:20px 18px; }
 .compact-points .point-row { grid-template-columns:20px minmax(0,1fr); gap:8px; }
 .story-details #faq-content .accordion article { padding:22px 0 22px 30px; }
 .story-details #faq-content .accordion article::before { top:25px; }
 .story-details #faq-content .faq-question { font-size:18px; }
 .story-details #faq-content .answer--expanded p { font-size:14px; line-height:1.7; }
}
@media(max-width:900px) and (min-height:620px) and (prefers-reduced-motion:no-preference) {
 .unified-story .take-scene .take-copy { max-height:calc(100svh - 270px); padding-bottom:16px; }
 .unified-story .take-scene .take-copy h1,.unified-story .take-scene .take-copy h2 { margin:14px 0 18px; }
 .unified-story #science .compact-points,.unified-story #routine .compact-points { gap:14px; margin-top:16px; }
 .unified-story .compact-points .point-copy > span { margin-top:5px; }
 .unified-story #essentials .compact-points { column-gap:16px; }
 .unified-story .story-secondary { font-size:13px; min-height:40px; display:flex; align-items:center; }
}
@media(prefers-reduced-motion:reduce) {
 .unified-story .story-extension[data-bg] { --copy-ink:#111315; --copy-muted:#5f666d; --copy-label:#c90028; color:var(--copy-ink); }
 .unified-story .story-extension[data-bg] h2 em { color:#c90028; }
 .unified-story .take-scene .take-copy { overflow:visible; max-height:none; }
}
@media(max-height:619px) {
 .unified-story .take-scene .take-copy h1,.unified-story .take-scene .take-copy h2 { font-size:30px!important; }
}
