/* Homepage-only refactor. Existing catalog and checkout styles remain untouched. */
:root { --film-ink:#151815; --film-stone:#dddcd2; --film-olive:#a5ad91; --path-surface:#20261f; --path-white:#f3f2eb; --path-muted:#c9cdbf; --path-gutter:clamp(22px,4vw,64px); }
.pathway-home { background:var(--film-ink); color:var(--path-white); overflow-x:visible; }
[hidden] { display:none !important; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.skip-link { position:fixed; z-index:100; top:12px; left:16px; padding:12px 18px; background:var(--film-stone); color:var(--film-ink); transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.pathway-home :focus-visible { outline:3px solid var(--gold-bright); outline-offset:5px; }
.pathway-home h1,.pathway-home h2,.pathway-home h3 { font-family:"Segoe UI",Arial,sans-serif; font-weight:550; letter-spacing:-.04em; line-height:1.12; text-transform:none; text-wrap:balance; }
.pathway-home h2 { font-size:clamp(2rem,3.3vw,3.4rem); }
.pathway-home .eyebrow { color:var(--film-olive); font:600 .7rem/1.5 "Segoe UI",sans-serif; letter-spacing:.12em; }
.pathway-home .site-header { position:sticky; top:0; display:grid; grid-template-columns:1fr auto 137px; background:var(--film-ink); border-bottom:1px solid #ffffff20; backdrop-filter:none; }
.pathway-home [id] { scroll-margin-top:100px; }
.pathway-home .brand-copy small { color:var(--film-olive); }
.pathway-home .site-header nav a { display:inline-flex; align-items:center; min-height:44px; }
.pathway-home .button { gap:22px; text-transform:none; font-size:.94rem; font-weight:650; letter-spacing:0; border-radius:0; min-height:50px; transition:background .2s ease; }
.pathway-home .button.primary { color:var(--film-ink); background:var(--film-stone); border-color:var(--film-stone); }
.pathway-home .button.primary:hover { background:white; transform:none; filter:none; }
.path-media { position:relative; overflow:hidden; background:var(--film-ink); }
.film-poster,.film-video { position:absolute; width:100%; height:100%; inset:0; object-fit:cover; object-position:center; }
.film-video { opacity:0; }
.is-playing > .path-media .film-video { opacity:1; }
.path-media::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,var(--film-ink),transparent 23%,transparent 85%,var(--film-ink)); pointer-events:none; }
.path-hero { position:relative; isolation:isolate; min-height:500px; display:flex; align-items:center; }
.path-hero > .path-media { position:absolute; inset:0 0 0 23%; z-index:-1; }
.path-hero > .path-media::after { background:linear-gradient(90deg,#151815 0%,#151815e0 17%,#15181535 55%,transparent 85%),linear-gradient(0deg,#151815,transparent 28%); }
.hero-inner { width:min(1440px,100%); margin:auto; padding:54px var(--path-gutter) 62px; }
.hero-inner h1 { font-size:clamp(3rem,5.7vw,5.8rem); max-width:13ch; }
.path-hero .h1-context { display:block; margin-bottom:12px; color:var(--film-olive); font:700 clamp(.72rem,1.25vw,.98rem)/1.3 "Segoe UI",sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.hero-inner > p:not(.eyebrow) { max-width:45ch; font-size:1rem; color:var(--film-stone); line-height:1.7; margin:22px 0 28px; }
.pathway-section { max-width:1600px; margin:auto; padding:42px var(--path-gutter) 72px; scroll-margin-top:18px; }
.pathway-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:24px; }
.pathway-heading > p { max-width:38ch; color:var(--path-muted); font-size:.95rem; margin:0; }
.pathway-guide { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-bottom:30px; }
.pathway-guide a { display:grid; grid-template-columns:1fr auto; padding:14px 0; gap:2px 12px; border-top:1px solid #ffffff38; }
.pathway-guide a > span:first-child { font-size:.7rem; color:var(--film-olive); }
.pathway-guide strong { grid-column:1; font-size:.92rem; font-weight:600; }
.pathway-guide a > span:last-child { grid-column:2; grid-row:1/3; align-self:center; }
.pathway-ribbon { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.pathway-panel { min-width:0; display:flex; flex-direction:column; border-top:2px solid #a5ad9166; transition:border-color .2s ease; }
.pathway-panel:hover,.pathway-panel:focus-within { border-color:var(--gold-bright); }
.pathway-title { padding:22px 0 12px; min-height:133px; }
.pathway-title h3 { font-size:clamp(1.35rem,2.05vw,2.1rem); }
.pathway-title .eyebrow { margin-bottom:7px; }
.pathway-position { font-size:.88rem; color:var(--film-stone); margin:9px 0 0; }
.pathway-panel > .path-media { aspect-ratio:784/1168; width:100%; }
.pathway-copy { display:flex; flex-direction:column; flex:1; padding-top:12px; }
.pathway-copy p { color:var(--path-muted); font-size:.92rem; line-height:1.65; margin:0 0 20px; }
.pathway-copy .pathway-message { color:var(--path-white); font-size:1.15rem; font-weight:550; line-height:1.4; }
.pathway-copy .tool-link { display:inline-flex; align-items:center; gap:8px; margin:-4px 0 20px; color:var(--film-olive); font-size:.88rem; font-weight:700; line-height:1.4; text-decoration:underline; text-underline-offset:4px; }
.pathway-copy .tool-link:hover,.pathway-copy .tool-link:focus-visible { color:var(--path-white); }
.pathway-copy .button { align-self:start; margin-top:auto; width:100%; }
.pineland .pathway-title .eyebrow { color:var(--gold-bright); }
.approach-section,.coach-section,.trial-section,.faq-section,.pathway-final { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(30px,6vw,90px); padding:72px max(var(--path-gutter),calc((100% - 1312px)/2)); }
.approach-section { background:var(--path-surface); }
.approach-copy > p:not(.eyebrow) { max-width:49ch; color:var(--path-muted); line-height:1.8; }
.approach-copy .training-principle { color:var(--film-olive); font-size:.8rem; letter-spacing:.08em; }
.approach-film > .path-media { aspect-ratio:16/9; }
.approach-film .path-media::after { background:linear-gradient(0deg,var(--path-surface),transparent 22%),linear-gradient(90deg,#20261f55,transparent 18%); }
.plain-details { border-top:1px solid #ffffff38; margin-top:26px; }
.plain-details summary,.faq-list summary { cursor:pointer; padding:18px 0; font-size:.95rem; font-weight:600; min-height:54px; }
.plain-details p { color:var(--path-muted); line-height:1.8; }
.pathway-home .science-section { padding:64px max(var(--path-gutter),calc((100% - 1312px)/2)); background:var(--film-ink); border-bottom:1px solid #ffffff20; }
.pathway-home .science-intro { max-width:950px; }
.pathway-home .science-intro > p:last-child { font-size:1rem; color:var(--path-muted); }
.pathway-home .research-details { background:var(--path-surface); }
.pathway-home .research-details summary,.pathway-home .research-grid a { color:var(--film-stone); }
.research-context { padding:0 24px 18px; max-width:95ch; line-height:1.7; color:var(--path-muted); }
.pathway-home .research-grid article { background:var(--film-ink); }
.pathway-home .research-grid h3 { font-size:1.25rem; }
.coach-section { grid-template-columns:.7fr 1.3fr; }
.coach-film > .path-media { aspect-ratio:784/1168; }
.coach-content > p:not(.eyebrow) { max-width:54ch; color:var(--path-muted); line-height:1.8; }
.pathway-home .trust-markers { margin-top:24px; gap:8px; }
.pathway-home .trust-markers span { background:var(--path-surface); color:var(--film-stone); border:1px solid #a5ad9155; font:500 .78rem/1.4 "Segoe UI",sans-serif; letter-spacing:0; text-transform:none; }
.pathway-home .coach-copy { padding-top:16px; color:var(--path-muted); font-size:.95rem; }
.pathway-home .coach-copy li { font-weight:500; }
.trial-section { color:var(--film-ink); background:var(--film-stone); }
.trial-section .eyebrow,.faq-section .eyebrow { color:#45533b; }
.trial-section > div > p:last-child { max-width:44ch; line-height:1.7; }
.trial-options { display:grid; }
.trial-options a { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:22px 0; border-bottom:1px solid #15181544; text-decoration:none; }
.trial-options a:first-child { border-top:1px solid #15181544; }
.trial-options strong,.trial-options small { display:block; }
.trial-options strong { font-weight:650; }
.trial-options small { margin-top:4px; color:#45533b; }
.trial-options a > span:last-child { flex-shrink:0; font-size:.85rem; }
.trial-section :focus-visible,.faq-section :focus-visible { outline-color:#45533b; }
.faq-section { align-items:start; color:var(--film-ink); background:var(--film-stone); padding-top:10px; }
.faq-list details { border-bottom:1px solid #15181544; }
.faq-list summary { padding-right:8px; }
.faq-list p { font-size:.95rem; line-height:1.8; }
.pathway-final { grid-template-columns:1.2fr .65fr; padding-top:60px; padding-bottom:24px; }
.pathway-final > div > p:not(.eyebrow) { color:var(--path-muted); max-width:40ch; line-height:1.8; }
.pathway-final .button { margin-top:16px; }
.community-film > .path-media { aspect-ratio:784/1168; }
.pathway-home .disclaimer { width:min(1312px,calc(100% - 2 * var(--path-gutter))); color:var(--path-muted); padding:40px 0; font-size:.8rem; }
.pathway-home footer { padding:28px max(var(--path-gutter),calc((100% - 1312px)/2)) 88px; background:var(--film-ink); border-top:1px solid #ffffff20; }
.motion-slot { width:137px; min-height:44px; }
.motion-control { position:relative; }
.motion-control button { display:flex; align-items:center; gap:12px; min-height:44px; padding:10px 14px; border:1px solid #ffffff70; background:#151815f5; color:var(--path-white); font:500 .75rem/1.4 "Segoe UI",sans-serif; cursor:pointer; }
.motion-symbol { width:14px; text-align:center; }
@media (max-width:1100px) {
  .pathway-home .site-header { grid-template-columns:1fr 137px; gap:6px 24px; }
  .pathway-home .site-header nav { grid-column:1/-1; grid-row:2; }
  .motion-slot { grid-column:2; grid-row:1; }
  .pathway-home [id] { scroll-margin-top:140px; }
  .pathway-ribbon,.pathway-guide { gap:18px; }
  .pathway-title { min-height:150px; }
  .pathway-copy .button { font-size:.85rem; padding-inline:10px; gap:8px; }
}
@media (max-width:760px) {
  .pathway-home .site-header { grid-template-columns:1fr 44px; align-items:center; padding:10px 22px 6px; gap:4px 8px; }
  .motion-slot { width:44px; }
  .motion-control button { padding:10px; width:44px; justify-content:center; }
  .motion-control [data-motion-label] { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .pathway-home [id] { scroll-margin-top:112px; }
  .pathway-home .brand { font-size:.9rem; }
  .pathway-home .brand img { width:32px; height:32px; }
  .pathway-home .site-header nav { gap:2px 18px; font-size:.76rem; }
  .pathway-home .site-header nav a { min-height:36px; }
  .path-hero { display:block; min-height:0; padding-top:54.35%; }
  .path-hero > .path-media { inset:0 0 auto; aspect-ratio:736/400; }
  .path-hero > .path-media::after { background:linear-gradient(0deg,#151815,transparent 38%); }
  .hero-inner { padding:14px var(--path-gutter) 34px; }
  .hero-inner h1 { font-size:clamp(2.65rem,10.9vw,4rem); }
  .hero-inner > p:not(.eyebrow) { margin:16px 0 22px; font-size:.94rem; line-height:1.65; }
  .hero-inner .button { width:auto; }
  .pathway-section { padding-top:24px; padding-bottom:48px; }
  .pathway-heading { display:block; }
  .pathway-heading > p { margin-top:16px; }
  .pathway-guide { grid-template-columns:1fr; gap:0; margin-bottom:22px; }
  .pathway-guide a { padding:12px 0; }
  .pathway-ribbon { grid-template-columns:1fr; gap:38px; }
  .pathway-title { min-height:0; padding:20px 0 16px; }
  .pathway-title h3 { font-size:1.85rem; }
  .pathway-panel > .path-media { aspect-ratio:784/1168; max-height:none; }
  .pathway-copy p { font-size:.95rem; }
  .pathway-copy .button { min-height:50px; font-size:.94rem; }
  .approach-section,.coach-section,.trial-section,.faq-section,.pathway-final { grid-template-columns:1fr; padding:48px var(--path-gutter); gap:28px; }
  .approach-film { grid-row:2; }
  .coach-film { grid-row:2; width:min(100%,420px); margin:auto; }
  .pathway-home .science-section { padding:48px var(--path-gutter); }
  .research-grid { grid-template-columns:1fr; }
  .research-context { padding-inline:18px; }
  .trial-options a { gap:12px; }
  .trial-options strong { font-size:.92rem; }
  .trial-options a > span:last-child { font-size:.76rem; }
  .faq-section { padding-top:0; }
  .community-film { width:min(100%,420px); margin:auto; }
  .pathway-final { padding-bottom:0; }
  .pathway-home .disclaimer { padding-top:24px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .film-video,.pathway-panel,.pathway-home .button { transition:none; }
}
