/* inSona EU · views/light.css · area A · #/light-and-health (scoped under .v-light)
   New components: .lh-rail (hour rail), .lh-curve (sensitivity curve), .lh-bar (schedule against the prescription), .lh-ledger (evidence by room). */

/* ---------- head: headline + cinematic plate ---------- */
.v-light .lh-head{padding-bottom:16px}
.v-light .lh-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:72px;align-items:end;margin-top:40px}
.v-light .lh-hero h1{max-width:9em}
.v-light .lh-hero .lede{margin-top:28px;max-width:30em}
.v-light .lh-read{margin-top:20px;max-width:36em}
.v-light .lh-plate{width:100%}

/* ---------- the day: sticky hour rail + chapters ---------- */
.v-light .lh-day{padding-top:96px}
.v-light .lh-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:96px;align-items:start}
.v-light .lh-rail{position:sticky;top:calc(var(--hdr) + 40px);--at:0}
.v-light .lh-rail .track{position:absolute;left:5px;top:10px;bottom:10px;width:1px;background:var(--ink);opacity:.14}
.v-light .lh-rail ol{position:relative;display:grid;gap:8px}
.v-light .lh-rail a{position:relative;display:block;padding:10px 0 10px 28px;text-decoration:none;color:var(--ink-2);border-radius:8px;transition:color var(--t-ui)}
.v-light .lh-rail a:before{content:"";position:absolute;left:0;top:17px;width:11px;height:5px;background:var(--line);clip-path:polygon(0 50%,100% 0,100% 50%,0 100%);transition:background-color var(--t-ui),transform var(--t-ui)}
.v-light .lh-rail a b{display:block;font:400 17px/1.2 var(--sans);letter-spacing:-.1px}
.v-light .lh-rail a span{display:block;font:400 13.5px/1.35 var(--sans);margin-top:2px}
.v-light .lh-rail a[aria-current="true"]{color:var(--ink)}
.v-light .lh-rail a[aria-current="true"]:before{background:var(--ink);transform:scaleX(1.3);transform-origin:left}
@media (hover:hover){.v-light .lh-rail a:hover{color:var(--ink)}}

.v-light .lh-chs{display:grid;gap:120px;max-width:820px}
.v-light .lh-ch{scroll-margin-top:calc(var(--hdr) + 24px)}
.v-light .lh-when{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.v-light .lh-when .hr{font:300 44px/1 var(--sans);letter-spacing:-.8px;color:var(--ink)}
.v-light .lh-when .rg{display:inline-flex;align-items:center;gap:10px;font:500 14px/1.3 var(--sans);color:var(--ink-2)}
.v-light .lh-when .rg i{width:36px;height:10px;border-radius:5px;box-shadow:inset 0 0 0 1px rgba(60,30,10,.08)}
.v-light .lh-when .rg i.dk{background:var(--inset);box-shadow:inset 0 0 0 1px var(--line)}
.v-light .lh-ch h2{max-width:16em}
.v-light .lh-ch .rx-block{max-width:560px}
.v-light .lh-ch .rx{margin-top:28px}
.v-light .lh-ch .prose{margin-top:32px}
.v-light .lh-ch .prose p .cite{margin-top:4px}
.v-light .lh-sun{color:var(--ink);font-size:16px;white-space:nowrap}
.v-light .lh-fig{margin-top:44px}

/* sensitivity curve: ink only, no spectrum colours */
.v-light .lh-curve{margin-top:40px;padding:24px 24px 18px;background:var(--card);border-radius:var(--r-card);box-shadow:var(--sh);max-width:620px}
.v-light .lh-curve svg{display:block;width:100%;height:auto;overflow:visible}
.v-light .lh-curve .ax line{stroke:var(--ink);stroke-opacity:.3}
.v-light .lh-curve .ax text{font:400 12px var(--sans);fill:var(--ink-2);text-anchor:middle;font-variant-numeric:tabular-nums}
.v-light .lh-curve .ax text[text-anchor="end"]{text-anchor:end}
.v-light .lh-curve .mel{fill:none;stroke:var(--ink);stroke-width:2.2;stroke-linejoin:round}
.v-light .lh-curve .ph{fill:none;stroke:var(--ink-3);stroke-width:1.4;stroke-dasharray:5 5}
.v-light .lh-curve .pk{stroke:var(--ink);stroke-opacity:.35;stroke-width:1}
.v-light .lh-curve .lb{font:500 13px var(--sans);fill:var(--ink);font-variant-numeric:tabular-nums}
.v-light .lh-curve .lb.mute{fill:var(--ink-2);font-weight:400}
.v-light .lh-curve figcaption{margin-top:10px}

/* ---------- section heads ---------- */
.v-light .lh-sh{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px 96px;align-items:end;margin-bottom:48px}
.v-light .lh-sh .lede{max-width:32em}

/* ---------- evidence by room ---------- */
.v-light .lh-ledger{border-top:1px solid var(--line)}
.v-light .lh-ledger li{border-bottom:1px solid var(--line)}
.v-light .lh-ledger a{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.3fr) minmax(0,1.2fr) 20px;gap:32px;align-items:start;padding:28px 20px;text-decoration:none;border-radius:16px;transition:background-color var(--t-ui)}
.v-light .lh-ledger h3{font-size:32px;line-height:1.1;letter-spacing:-.5px}
.v-light .lh-ledger .when{display:block;margin-top:8px;font:400 15px/1.35 var(--sans);color:var(--ink-2)}
.v-light .lh-ledger .when b{font-weight:500;color:var(--ink)}
.v-light .lh-ledger .plan{font:400 17px/1.55 var(--serif);color:var(--ink)}
.v-light .lh-ledger .ev{font:400 15px/1.45 var(--sans);color:var(--ink-2)}
.v-light .lh-ledger .ev small{display:block;font:500 13px/1.3 var(--sans);color:var(--ink);margin-bottom:4px}
.v-light .lh-ledger .arr{margin-top:12px;color:var(--ink-2);transition:transform var(--t-ui)}
@media (hover:hover){.v-light .lh-ledger a:hover{background:var(--card)}.v-light .lh-ledger a:hover .arr{transform:translateX(3px);color:var(--ink)}}

/* ---------- standards ---------- */
.v-light .lh-std{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 48px;border-top:1px solid var(--line)}
.v-light .lh-std .it{padding-top:28px}
.v-light .lh-std h3{font-size:26px;letter-spacing:-.3px;margin-bottom:14px}
.v-light .lh-std p{font-size:17px;line-height:27px}
.v-light .lh-std p.not{margin-top:12px;color:var(--ink-2);font:400 15px/1.5 var(--sans)}
.v-light .lh-std p.not b{font-weight:500;color:var(--ink)}
.v-light .lh-caution{position:relative;margin-top:56px;padding:32px 36px 28px;border-radius:var(--r-card);background:var(--inset);overflow:hidden;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:8px 48px}
/* dark: the callout lifts onto the raised card surface with a hairline, so it reads as a surface */
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .v-light .lh-caution{background:var(--raised);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}}
:root[data-theme="dark"] .v-light .lh-caution{background:var(--raised);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.v-light .lh-caution h3{font-size:24px;line-height:1.25;grid-row:1/3}
.v-light .lh-caution p{max-width:38em}
.v-light .lh-caution .cite{grid-column:2}

/* ---------- schedule against the prescription ---------- */
.v-light .lh-bar{position:relative;padding:8px 0 0}
.v-light .lh-bar .row{position:relative}
.v-light .lh-bar .sc{height:56px;border-radius:14px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}
.v-light .lh-bar .sg{position:absolute;top:0;bottom:0;display:flex;align-items:flex-end;padding:0 0 8px 10px}
.v-light .lh-bar .sg+.sg{box-shadow:inset 1px 0 0 rgba(43,38,34,.12)}
.v-light .lh-bar .sg.nt{background:var(--inset)}
.v-light .lh-bar .sg b{font:500 12px/1 var(--sans);color:#2B2622;white-space:nowrap}
.v-light .lh-bar .rx{height:64px;margin-top:10px}
.v-light .lh-bar .br{position:absolute;top:0}
.v-light .lh-bar .br i{display:block;height:8px;border:1px solid var(--ink-2);border-top:0;border-radius:0 0 4px 4px;opacity:.7}
.v-light .lh-bar .br.tail i{border-right:0;border-radius:0 0 0 4px}
.v-light .lh-bar .br:last-child i{border-left:0;border-radius:0 0 4px 0}
.v-light .lh-bar .br em{display:block;font-style:normal;font:300 26px/1 var(--sans);letter-spacing:-.4px;margin-top:8px;padding-left:4px;white-space:nowrap;color:var(--ink)}
.v-light .lh-bar .br em small{font:400 13px var(--sans);letter-spacing:0;color:var(--ink-2)}
.v-light .lh-bar .hr{height:18px;border-top:1px solid var(--line-2)}
.v-light .lh-bar .hr span{position:absolute;top:4px;transform:translateX(-50%);font:400 12px/1 var(--sans);color:var(--ink-2)}
.v-light .lh-bar .hr span:first-child{transform:none}
.v-light .lh-bar .hr span:last-child{transform:translateX(-100%)}
.v-light .lh-jobs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:48px}
.v-light .lh-jobs i{display:block;height:10px;border-radius:5px;margin-bottom:14px;box-shadow:inset 0 0 0 1px rgba(60,30,10,.08)}
.v-light .lh-jobs b{display:block;font:500 16px/1.3 var(--sans)}
.v-light .lh-jobs .k{display:block;font-size:14px;color:var(--ink-2);margin-top:2px}
.v-light .lh-jobs p{margin-top:10px;font-size:16px;line-height:25px}
.v-light .lh-night{margin-top:36px;padding-top:20px;border-top:1px solid var(--line-2);max-width:44em}
.v-light .lh-hon{margin-top:12px;max-width:60em}

/* ---------- sources + close ---------- */
.v-light .lh-src{padding:32px 0 0}
.v-light .lh-srcin{max-width:784px}
.v-light .lh-refs{display:grid;gap:14px;counter-reset:r;list-style:none}
.v-light .lh-refs li{counter-increment:r;position:relative;padding-left:32px;font:400 15px/1.5 var(--sans);color:var(--ink-2)}
.v-light .lh-refs li:before{content:counter(r);position:absolute;left:0;top:0;font:500 13px/1.7 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums}
.v-light .lh-refs .tlink{font-size:14px;display:inline;white-space:nowrap}
.v-light .lh-consult .in{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px 96px;align-items:end;padding:56px;border-radius:var(--r-frame);background:var(--card);box-shadow:var(--sh)}
.v-light .lh-consult .lede{margin-top:20px}
.v-light .lh-consult .act .small{margin-top:20px}

/* ---------- responsive ---------- */
@media (max-width:1240px){
  .v-light .lh-grid{grid-template-columns:180px minmax(0,1fr);gap:56px}
  .v-light .lh-hero{gap:48px}
}
@media (max-width:980px){
  .v-light .lh-hero{grid-template-columns:1fr;gap:32px;margin-top:24px}
  .v-light .lh-grid{grid-template-columns:1fr}
  .v-light .lh-rail{display:none}
  .v-light .lh-day{padding-top:56px}
  .v-light .lh-sh{grid-template-columns:1fr;gap:20px}
  .v-light .lh-ledger a{grid-template-columns:1fr;gap:12px}
  .v-light .lh-ledger .arr{display:none}
  .v-light .lh-std{grid-template-columns:1fr;gap:0}
  .v-light .lh-std .it{padding:24px 0;border-bottom:1px solid var(--line-2)}
  .v-light .lh-caution{grid-template-columns:1fr}
  .v-light .lh-caution h3{grid-row:auto}
  .v-light .lh-caution .cite{grid-column:auto}
  .v-light .lh-jobs{grid-template-columns:1fr 1fr}
  .v-light .lh-consult .in{grid-template-columns:1fr;padding:36px}
}
@media (max-width:600px){
  .v-light .lh-hero .lede{margin-top:20px}
  .v-light .lh-chs{gap:80px}
  .v-light .lh-when .hr{font-size:34px}
  .v-light .lh-curve{padding:16px 12px 14px}
  .v-light .lh-ledger a{padding:22px 4px}
  .v-light .lh-ledger h3{font-size:26px}
  .v-light .lh-caution{padding:24px 20px}
  .v-light .lh-bar .sg{padding:0 0 7px 4px}
  .v-light .lh-bar .br em{font-size:19px}
  .v-light .lh-bar .br em small{display:block;font-size:12px;margin-top:3px}
  .v-light .lh-jobs{grid-template-columns:1fr;gap:24px}
  .v-light .lh-consult .in{padding:24px 18px}
}
@media (max-width:600px){
  .v-light .lh-curve .ax text{font-size:19px}
  .v-light .lh-curve .lb{font-size:21px}
}
