/* Newton reels — shared video styles */
.nm-v{margin:0;position:relative;aspect-ratio:9/16;border-radius:16px;overflow:hidden;background:#ebe7df}
.nm-v video{display:block;width:100%;height:100%;object-fit:cover;cursor:pointer}
.nm-v figcaption{margin-top:10px;font-size:14px;line-height:1.4;color:var(--mut)}
.nm-v figcaption b{display:block;color:var(--ink);font-weight:500}
.nm-cap{overflow:visible;background:none;aspect-ratio:auto}
.nm-cap .nm-frame{aspect-ratio:9/16;border-radius:16px;overflow:hidden;background:#ebe7df}
/* Homepage split hero */
.hero.hero-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:center;text-align:left}
.hero-split .hs-text,.hero-split .hs-text *{text-align:left}
.hero-split .hs-text .lede{margin-left:0;margin-right:0}
.hero-split .hs-text h1{font-size:clamp(34px,4.2vw,52px)}
.hero-split .herofoot{justify-content:flex-start}
.hs-reels{display:flex;gap:14px;justify-content:center;align-items:flex-start}
.hs-reels .nm-v{width:31%;max-width:190px;flex:0 0 auto}
.hs-reels .nm-v:nth-child(1){margin-top:44px}.hs-reels .nm-v:nth-child(3){margin-top:88px}
/* Programs wall */
.nm-wallhead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px;flex-wrap:wrap}
.nm-wallhead h2{font-size:34px}
.nm-follow{font-size:15px;border-bottom:1.5px solid var(--accent);padding-bottom:2px;white-space:nowrap}
.nm-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:860px}
.nm-wall .nm-frame{aspect-ratio:4/5}
.nm-wall video{object-position:center 30%}
/* Approach in-practice row */
.nm-inpractice{margin-top:44px}
.nm-inpractice .eyebrow{display:block;margin-bottom:16px}
.nm-row3{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;max-width:860px}
/* Lightbox */
.nm-lb{position:fixed;inset:0;background:rgba(15,18,22,.88);display:none;align-items:center;justify-content:center;z-index:9999;padding:24px}
.nm-lb.open{display:flex}
.nm-lb .box{position:relative;height:min(82vh,760px);aspect-ratio:9/16;border-radius:18px;overflow:hidden;background:#000}
.nm-lb video{width:100%;height:100%;object-fit:cover}
.nm-lb .ov{position:absolute;left:0;right:0;bottom:0;padding:22px;color:#fff;background:linear-gradient(to top,rgba(0,0,0,.72),rgba(0,0,0,0))}
.nm-lb .ov p{font-family:'Fraunces',serif;font-size:22px;margin-bottom:8px}
.nm-lb .ov a{font-size:14px;border-bottom:1.5px solid var(--accent)}
.nm-lb .x{position:absolute;top:18px;right:22px;background:none;border:none;color:#fff;font-size:32px;cursor:pointer;line-height:1}
@media(max-width:820px){
 .hero.hero-split{grid-template-columns:1fr;gap:28px}
 .nm-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .nm-row3{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
}
/* Approach single asides */
.nm-aside{float:right;width:230px;margin:6px 0 24px 48px}
.nm-aside+*{}
section:has(>.nm-aside){display:flow-root}
.fig-top{text-align:center;font-style:italic;color:var(--mut);font-size:15px;margin:0 0 14px}
@media(max-width:820px){.nm-aside{float:none;width:62%;margin:0 auto 24px}}

/* Approach hero lineup */
.nm-lineup{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:8px 0 12px}
.nm-lineup .nm-frame{aspect-ratio:3/4}
.nm-lineup video{object-position:center 35%}
@media(max-width:820px){.nm-lineup{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
