/* Editable source content and isolated artwork in the shared Exposome shell. */
body.olfactory-reference-page { --os-ink:#0d1a54; --os-muted:#405776; --os-blue:#2868ac; --os-gutter:150px; color:var(--os-ink); background:#fff; }
html:has(> body.olfactory-reference-page) { scroll-padding-top:0; }
html body.olfactory-reference-page #main { padding:110.6px 0 0; background:#fff; }
html body.olfactory-reference-page #main > section { margin:0; border:0; content-visibility:visible; contain-intrinsic-size:none; }
html body.olfactory-reference-page #main > section::before { display:none; }
.olfactory-reference-page #main * { box-sizing:border-box; }
.olfactory-reference-page #main :is(section,[id]) { scroll-margin-top:135px; }
html body.olfactory-reference-page #main :is(h1,h2,h3,h4) { color:var(--os-ink); max-width:none; margin:0 0 16px !important; }
.olfactory-reference-page #main :is(p,figure) { margin:0; }
.olfactory-reference-page #main :is(ol,ul) { margin:0; padding:0; list-style:none; }
.olfactory-reference-page #main img { max-width:100%; }
.os-shell { margin-inline:var(--os-gutter); }
.os-hero { display:flex; align-items:center; min-height:calc(100svh - 110.6px); padding-block:clamp(30px,4svh,60px); background-color:#e7e5e0; background-image:linear-gradient(90deg,#e7e5e0 0%,#e7e5e0 13%,transparent 36%),url('../images/olfactory-20260916/hero-background.webp'); background-position:center,calc(50% + 12vw) center; background-size:cover; background-repeat:no-repeat; }
.os-hero-copy { width:min(520px,35vw); --arotec-display-size:clamp(36px,min(3.3vw,6svh),52px); --arotec-display-line-height:1.1; --arotec-display-letter-spacing:-.035em; --arotec-body-size:clamp(16px,min(1.2vw,2.1svh),21px); --arotec-body-line-height:1.45; }
html body.olfactory-reference-page #olfactory-title { color:#07192c; margin-bottom:clamp(22px,3.2svh,38px) !important; }
.os-hero-copy p { color:#263e52; }
.os-hero-copy p + p { margin-top:clamp(15px,2.2svh,27px) !important; }
.os-hero-lead { font-weight:600 !important; color:#102537 !important; }
.os-mobile-art { display:none; }
.os-section { padding-block:68px; }
.os-inhalation { background:linear-gradient(120deg,#f3f8fc,#fff 55%,#faf8f5); }
.os-inhalation-grid { display:grid; grid-template-columns:minmax(250px,.7fr) minmax(0,2.3fr); gap:40px; align-items:start; }
.os-intro { --site-type-h2:clamp(32px,2.4vw,46px); --site-line-h2:1.13; --site-letter-h2:-.03em; --arotec-body-size:clamp(18px,1.2vw,22px); --arotec-body-line-height:1.5; }
.os-intro > p:not(.os-kicker) { color:var(--os-muted); }
.os-kicker { --arotec-body-size:13px; text-transform:uppercase; letter-spacing:.12em; color:var(--os-blue); padding-bottom:16px; margin-bottom:22px !important; border-bottom:1px solid #a6cce0; }
.os-inhalation-content { min-width:0; --site-type-h3:21px; --site-line-h3:1.2; --site-letter-h3:-.02em; --site-type-h4:16px; --site-line-h4:1.3; --arotec-body-size:15px; --arotec-body-line-height:1.4; }
.os-sensory-map { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:24px; align-items:center; margin-bottom:36px; }
.os-head-art img { display:block; width:100%; height:auto; mix-blend-mode:multiply; }
.os-route-map { min-width:0; }
.os-primary-route { display:grid; gap:22px; text-align:center; --arotec-body-size:16px; font-weight:600; }
.os-primary-route li { position:relative; padding:9px 12px; border:1px solid #a5cbe5; border-radius:7px; background:#eff7fd; }
.os-primary-route li + li::before { content:'↓'; position:absolute; top:-23px; left:calc(50% - 5px); color:#2766a4; }
.os-cortical-routes { display:grid; gap:9px; margin-top:18px; padding-top:17px; border-top:1px solid #c8d8e7; --arotec-body-size:14px; }
.os-cortical-routes p { display:flex; align-items:center; justify-content:center; gap:8px; text-align:center; }
.os-cortical-routes .ph { flex:none; color:var(--os-blue); font-size:20px; }
.os-cortical-routes .os-reciprocal-start { border-top:1px solid #d6e1eb; padding-top:12px; }
.os-pathways { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.4fr) minmax(0,.95fr); gap:20px; align-items:start; text-align:center; padding-top:26px; border-top:1px solid #bad1e6; }
.os-pathway { min-width:0; }
.os-pathway-art { display:block; width:100%; height:128px; object-fit:contain; mix-blend-mode:multiply; margin-bottom:15px; }
html body.olfactory-reference-page .os-pathway h3 { margin-bottom:10px !important; }
.os-pathway p { color:var(--os-muted); }
.os-pathway-label { font-weight:600; margin-bottom:7px !important; }
.os-autonomic-pair { display:grid; grid-template-columns:1fr 1fr; gap:15px; --arotec-body-size:13px; }
.os-autonomic-pair > div { min-width:0; }
.os-autonomic-pair img { display:block; width:100%; height:100px; object-fit:contain; mix-blend-mode:multiply; margin-bottom:12px; }
html body.olfactory-reference-page .os-autonomic-pair h4 { margin-bottom:7px !important; }
.os-autonomic-pair p + p { margin-top:5px !important; }
.os-balance { border:1px solid #95c4e7; background:#e6f4fe; border-radius:8px; padding:7px 12px; width:fit-content; margin:16px auto 0 !important; color:var(--os-ink) !important; font-weight:600; }
.os-integration { display:flex; flex-direction:column; align-items:center; gap:8px; font-weight:600; text-align:center; margin:26px 0 23px !important; }
.os-integration .ph { font-size:25px; }
.os-system-outcomes { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; border-top:1px solid #94b4d4; padding-top:25px; text-align:center; }
.os-system-outcomes img { display:block; width:120px; height:120px; object-fit:contain; margin:0 auto 14px; border-radius:50%; }
html body.olfactory-reference-page .os-system-outcomes h3 { --site-type-h3:19px; margin-bottom:7px !important; }
.os-system-outcomes p { --arotec-body-size:14px; color:var(--os-muted); }
.os-signaling { background:linear-gradient(135deg,#fff,#f7fbff); }
.os-signaling-heading { display:grid; grid-template-columns:1.1fr 1fr; gap:52px; align-items:center; --site-type-h2:clamp(32px,2.5vw,48px); --site-line-h2:1.13; --site-letter-h2:-.03em; --arotec-body-size:20px; --arotec-body-line-height:1.5; }
.os-signaling-heading > p { padding-left:36px; border-left:2px solid #a9bbd2; color:var(--os-muted); }
.os-hub { display:grid; grid-template-columns:280px minmax(0,390px); gap:32px; align-items:center; justify-content:center; margin:40px auto 32px; --site-type-h3:30px; --site-line-h3:1.2; --site-letter-h3:-.025em; --arotec-body-size:16px; --arotec-body-line-height:1.45; }
.os-hub > img { width:100%; mix-blend-mode:multiply; }
html body.olfactory-reference-page .os-hub h3 { margin-bottom:5px !important; }
.os-hub-subtitle { --arotec-body-size:19px; color:var(--os-muted); margin-bottom:13px !important; }
.os-hub ul { display:grid; gap:7px; }
.os-hub li { position:relative; padding-left:16px; }
.os-hub li::before { content:''; width:6px; height:6px; background:#2e71e9; border-radius:50%; position:absolute; left:0; top:.6em; }
.os-relays { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; border-top:2px solid #54739b; padding-top:20px; }
.os-relays figure { display:flex; align-items:center; justify-content:center; gap:14px; min-width:0; }
.os-relays img { width:90px; height:88px; object-fit:contain; mix-blend-mode:multiply; }
.os-relays figcaption { font-size:16px; line-height:1.3; font-weight:600; }
.os-signaling-systems { display:grid; grid-template-columns:minmax(0,1fr) 28px minmax(0,1.1fr); gap:14px; align-items:stretch; margin:25px 0 35px; }
.os-system-panel { border:1px solid #b7d8b7; border-radius:12px; background:#f3f9ef; padding:24px 18px 18px; min-width:0; text-align:center; --site-type-h3:26px; --site-line-h3:1.2; --site-letter-h3:-.02em; --arotec-body-size:15px; --arotec-body-line-height:1.4; display:flex; flex-direction:column; }
.os-neuroendocrine { background:#f9f4fb; border-color:#ceb6df; }
.os-system-link { display:flex; align-items:center; justify-content:center; font-size:28px; }
.os-transmitter-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; align-items:start; margin-block:auto; padding:22px 0; }
.os-transmitter-grid img { display:block; width:100%; height:100px; object-fit:contain; mix-blend-mode:multiply; margin-bottom:12px; }
.os-transmitter-grid figcaption { font-size:14px; line-height:1.4; font-weight:600; }
.os-system-caption { margin-top:20px !important; padding-top:14px; border-top:1px solid #aac9b0; color:#263b67; --arotec-body-size:14px; }
.os-neuroendocrine .os-system-caption { border-color:#d2bedc; }
.os-endocrine-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:9px; margin-top:12px; flex:1; }
.os-axis { min-width:0; display:grid; grid-template-rows:52px 25px 31px 65px auto; align-items:center; --arotec-body-size:12px; --arotec-body-line-height:1.3; }
.os-hormone { background:#eee2f6; padding:5px 2px; border-radius:4px; align-self:stretch; display:flex; align-items:center; justify-content:center; }
.os-axis .ph { font-size:20px; }
.os-axis > img { width:100%; height:62px; object-fit:contain; mix-blend-mode:multiply; }
.os-axis > p:last-child { align-self:start; }
.os-direct-axis .ph { grid-row:2/4; }
.os-direct-axis img { grid-row:4; }
.os-response-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.os-response { position:relative; padding:25px 20px 20px; border:1px solid #bfdcbe; border-radius:12px; background:#f5fbf1; text-align:center; display:flex; flex-direction:column; align-items:center; --site-type-h3:23px; --site-line-h3:1.2; --site-letter-h3:-.02em; --arotec-body-size:15px; --arotec-body-line-height:1.4; }
.os-response::before { content:'↓'; position:absolute; top:-29px; font-size:25px; }
.os-response-behavioral { background:#fff9ed; border-color:#f0d090; }
.os-response-skin { background:#fff5f3; border-color:#edb9b3; }
.os-response-subtitle { color:var(--os-muted); margin-top:-6px !important; }
.os-response > img { display:block; width:100%; height:125px; object-fit:contain; margin:18px auto; mix-blend-mode:multiply; }
.os-response > p:last-of-type { margin-top:auto !important; }
.os-response-link { position:absolute; top:50%; right:-29px; width:28px; font-size:24px; color:var(--os-ink); }
.olfactory-reference-page #main a:focus-visible { outline:3px solid #2865ef; outline-offset:5px; }
@media (max-width:1599px) {
  .os-signaling-systems { grid-template-columns:1fr; gap:18px; }
  .os-system-link { transform:rotate(90deg); }
  .os-transmitter-grid img { height:125px; }
  .os-axis { --arotec-body-size:14px; grid-template-rows:52px 25px 31px 75px auto; }
}
@media (max-width:1450px) {
  .os-inhalation-grid { grid-template-columns:1fr; gap:30px; }
  .os-intro { max-width:1000px; }
  .os-intro h2 { max-width:680px !important; }
  .os-sensory-map { grid-template-columns:1.3fr 1fr; }
  .os-head-art img { max-height:450px; object-fit:contain; }
  .os-signaling-systems { grid-template-columns:1fr; gap:18px; }
  .os-system-link { transform:rotate(90deg); }
  .os-transmitter-grid { gap:24px; }
  .os-transmitter-grid img { height:125px; }
  .os-axis { --arotec-body-size:14px; grid-template-rows:52px 25px 31px 75px auto; }
  .os-relays figure { flex-direction:column; text-align:center; }
}
@media (max-width:1199px) {
  body.olfactory-reference-page { --os-gutter:40px; }
  .os-hero { display:block; min-height:0; padding:48px 0 0; background:#e9e9e5; }
  .os-hero-copy { width:min(850px,100%); --arotec-display-size:50px; --arotec-body-size:20px; }
  .os-mobile-art { display:block; width:100%; height:auto; margin-top:28px; }
  .os-section { padding-block:48px; }
  .os-signaling-heading { grid-template-columns:1fr; gap:16px; }
  .os-signaling-heading > p { padding-left:0; border:0; }
  .os-response-grid { gap:18px; }
  .os-response { padding:22px 15px; --site-type-h3:21px; }
  .os-response-link { width:18px; right:-19px; font-size:18px; }
}
@media (max-width:800px) {
  body.olfactory-reference-page { --os-gutter:24px; }
  html body.olfactory-reference-page #main { padding-top:80px; }
  .olfactory-reference-page #main :is(section,[id]) { scroll-margin-top:100px; }
  .os-hero { padding-top:38px; }
  .os-hero-copy { --arotec-display-size:38px; --arotec-body-size:18px; --arotec-body-line-height:1.5; }
  .os-hero-copy h1 br { display:none; }
  .os-mobile-art { aspect-ratio:1.5; object-fit:cover; object-position:62% center; }
  .os-intro,.os-signaling-heading { --site-type-h2:32px; --arotec-body-size:18px; }
  .os-sensory-map { grid-template-columns:1fr; gap:20px; }
  .os-head-art img { max-height:340px; }
  .os-route-map { max-width:500px; width:100%; margin:auto; }
  .os-pathways { grid-template-columns:1fr; gap:30px; }
  .os-pathway { max-width:520px; width:100%; margin:auto; }
  .os-pathway-art { height:155px; }
  .os-autonomic-path { padding-block:25px; border-block:1px solid #c6d7e6; }
  .os-autonomic-pair { --arotec-body-size:14px; gap:18px; }
  .os-autonomic-pair img { height:140px; }
  .os-system-outcomes { grid-template-columns:1fr 1fr; gap:28px 20px; }
  .os-system-outcomes img { width:110px; height:110px; }
  .os-hub { grid-template-columns:1fr; gap:20px; margin-top:28px; }
  .os-hub > img { max-width:290px; margin:auto; }
  .os-hub > div { max-width:500px; margin:auto; }
  .os-relays { grid-template-columns:1fr 1fr; gap:24px; }
  .os-relays figure { flex-direction:row; justify-content:start; text-align:left; }
  .os-relays img { width:70px; height:70px; }
  .os-relays figcaption { font-size:15px; }
  .os-system-panel { padding:22px 16px 16px; --site-type-h3:24px; }
  .os-transmitter-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 16px; }
  .os-transmitter-grid img { height:95px; }
  .os-endocrine-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px 14px; }
  .os-axis { --arotec-body-size:13px; }
  .os-response-grid { grid-template-columns:1fr; gap:38px; }
  .os-response { padding:24px; --site-type-h3:24px; --arotec-body-size:16px; }
  .os-response > img { height:145px; }
  .os-response-link { top:auto; right:calc(50% - 12px); bottom:-34px; width:24px; font-size:24px; transform:rotate(90deg); }
  .os-response + .os-response::before { display:none; }
}
@media (max-width:480px) {
  .os-hero-copy { --arotec-display-size:34px; }
  .os-intro,.os-signaling-heading { --site-type-h2:30px; }
  .os-relays figure { flex-direction:column; justify-content:center; text-align:center; }
  .os-transmitter-grid { grid-template-columns:1fr 1fr; }
  .os-transmitter-grid img { height:90px; }
  .os-endocrine-grid { grid-template-columns:1fr 1fr; gap:26px 18px; }
  .os-axis { --arotec-body-size:14px; }
  .os-cortical-routes { --arotec-body-size:13px; }
  .os-autonomic-pair { gap:14px; --arotec-body-size:13px; }
  .os-autonomic-pair img { height:110px; }
  .os-system-outcomes { gap:24px 16px; }
  html body.olfactory-reference-page .os-system-outcomes h3 { --site-type-h3:17px; }
  .os-system-outcomes p { --arotec-body-size:13px; }
}
@media (max-width:360px) {
  .os-autonomic-pair { --site-type-h4:14px; }
}
@media (prefers-reduced-motion:reduce) { html:has(> body.olfactory-reference-page) { scroll-behavior:auto; } }
