/* Round 1. Uses actual V9 page-family selectors and the established brand tokens.
   Locked homepage and XR gallery have no new composition overrides. */
.nv-round1:not(.nv-r1-home) .nv-intro{padding-block:22px 38px}
.nv-round1:not(.nv-r1-home) .nv-intro .eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.nv-round1:not(.nv-r1-home) .nv-intro .eyebrow::before{content:"";width:28px;height:1px;flex:none;background:var(--accent)}
.nv-round1:not(.nv-r1-home) .nv-intro .nv-page-title{max-width:24ch;font-size:clamp(38px,4.25vw,60px);line-height:1.12;letter-spacing:-.04em;text-wrap:balance}
.nv-round1:not(.nv-r1-home) .nv-intro .nv-lead{max-width:66ch;font-size:16px;line-height:1.85}
/* Three product templates: treat facts as a designed reading sequence. */
.nv-round1.nv-r1-product .nv-product{gap:clamp(32px,5vw,70px);align-items:start}
.nv-round1.nv-r1-product .nv-gallery:not(.is-lifestyle) .nv-gallery-main{aspect-ratio:1.1;max-height:540px;background:var(--paper);border:1px solid var(--line);padding:clamp(28px,3.8vw,52px)}
.nv-round1.nv-r1-product .nv-buy-panel{padding-top:12px}
.nv-round1.nv-r1-product .nv-buy-panel .nv-page-title{font-size:clamp(34px,3.3vw,47px);line-height:1.15;letter-spacing:-.035em;text-wrap:balance}
.nv-round1.nv-r1-product .nv-product-meta{font-size:13px;line-height:1.7;margin-block:0 22px;color:var(--accent)}
.nv-round1.nv-r1-product .nv-short-description{padding-left:18px;border-left:2px solid var(--aqua);font-size:16px;line-height:1.8;color:var(--ink);max-width:49ch}
.nv-round1.nv-r1-product .nv-short-description p:last-child{margin-bottom:0}
.nv-round1.nv-r1-product .nv-preview-note{font-size:12px;line-height:1.65;color:var(--muted);max-width:52ch;margin:12px 0 0}
.nv-round1.nv-r1-product .nv-product-service{gap:14px 24px}
.nv-round1.nv-r1-product .nv-product-service a{min-height:74px;padding:12px 0;border-bottom:1px solid var(--line)}
.nv-round1.nv-r1-product .nv-detail-layout.nv-detail-layout-wide{max-width:1280px;display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:clamp(32px,5vw,70px);border-top:1px solid var(--line);padding-top:36px}
.nv-round1.nv-r1-product .nv-r1-details-intro{position:sticky;top:calc(var(--header) + 28px)}
.nv-round1.nv-r1-product .nv-r1-details-intro .eyebrow{font-size:11px;letter-spacing:.08em;margin-bottom:14px}
.nv-round1.nv-r1-product .nv-r1-details-intro h2{font-size:clamp(30px,3vw,40px);line-height:1.15;letter-spacing:-.035em;font-weight:500;margin:0 0 25px;color:var(--navy)}
.nv-round1.nv-r1-product .nv-r1-details-intro nav{display:grid;max-width:290px}
.nv-round1.nv-r1-product .nv-r1-details-intro nav a{display:flex;align-items:center;min-height:44px;padding:8px 0;font-size:13px;line-height:1.6;border-bottom:1px solid var(--line);color:var(--muted)}
.nv-round1.nv-r1-product .nv-r1-details-intro nav a:hover{color:var(--accent)}
.nv-round1.nv-r1-product .nv-detail-stack{padding:0 26px;background:var(--paper);border:1px solid var(--line);border-radius:3px;min-width:0}
.nv-round1.nv-r1-product .nv-detail-stack>details:last-child{border-bottom:0}
.nv-round1.nv-r1-product .nv-detail-stack>details>summary{font-size:18px;line-height:1.5;min-height:72px;padding-block:21px}
.nv-round1.nv-r1-product .nv-detail-body{font-size:15px;line-height:1.85;padding-bottom:24px}
.nv-round1.nv-r1-product .nv-detail-body>p:last-child{margin-bottom:0}
/* Long-form content: a quieter navigation column and an intact reading column. */
.nv-round1.nv-r1-reading .nv-content-layout{grid-template-columns:minmax(200px,240px) minmax(0,1fr);gap:clamp(32px,5vw,72px)}
.nv-round1.nv-r1-reading .nv-toc{padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:3px;max-height:calc(100dvh - var(--header) - 52px);overflow:auto;scrollbar-width:thin;overscroll-behavior:contain}
.nv-round1.nv-r1-reading .nv-toc a{padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.6}
.nv-round1.nv-r1-reading .nv-toc li:last-child a{border-bottom:0}
.nv-round1.nv-r1-reading .nv-prose{font-size:16px;line-height:1.9}
.nv-round1.nv-r1-reading .nv-prose h2{font-size:clamp(27px,2.7vw,34px);line-height:1.25;margin-top:42px;margin-bottom:20px;text-wrap:pretty}
.nv-round1.nv-r1-reading .nv-prose h3{font-size:23px;line-height:1.35}
.nv-round1.nv-r1-reading .nv-prose figure{border:1px solid var(--line);background:var(--paper);border-radius:3px;overflow:hidden}
.nv-round1.nv-r1-reading .nv-prose figcaption{padding:12px 16px;margin:0}
.nv-round1.nv-r1-article .nv-intro .nv-page-title{max-width:1000px;font-size:clamp(35px,3.8vw,54px);line-height:1.15}
.nv-round1.nv-r1-article .nv-intro .nv-lead{max-width:78ch;font-size:15px;line-height:1.8}
.nv-round1.nv-r1-article .nv-article-hero{border:1px solid var(--line);background:var(--paper);margin:28px auto 0;max-width:var(--max)}
.nv-round1.nv-r1-article .nv-article-hero img{width:100%;height:clamp(300px,32vw,440px);object-fit:cover;object-position:center 48%}
.nv-round1.nv-r1-about .nv-prose img{display:block;width:100%;height:auto;max-width:760px;max-height:420px;object-fit:cover;object-position:center;border:1px solid var(--line);border-radius:3px;margin:28px 0}
/* Journal: there are exactly two existing cards, so both deserve equal weight. */
.nv-round1.nv-r1-journal .nv-article-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,52px)}
.nv-round1.nv-r1-journal .nv-article-card .nv-article-image{aspect-ratio:1.65;border:1px solid var(--line)}
.nv-round1.nv-r1-journal .nv-article-card h2{font-size:clamp(24px,2.5vw,31px);line-height:1.3;max-width:29ch;text-wrap:pretty}
.nv-round1.nv-r1-journal .nv-article-card p:not(.eyebrow){max-width:65ch;font-size:15px;line-height:1.85}
.nv-round1.nv-r1-journal .nv-article-card .nv-text-link{width:100%;padding:15px 0;border-top:1px solid var(--line);justify-content:space-between;min-height:50px}
/* Service questions use native disclosures, with a deliberate shared visual style. */
.nv-round1.nv-r1-faq .nv-section>.nv-prose{max-width:960px;margin-inline:auto}
.nv-round1.nv-r1-faq .nv-prose h2{font-size:clamp(26px,3vw,36px);margin:0 0 28px;line-height:1.25;text-wrap:balance}
.nv-round1.nv-r1-faq .nv-prose details{padding:0 25px;margin-bottom:12px;background:var(--paper);border:1px solid var(--line);border-radius:3px}
.nv-round1.nv-r1-faq .nv-prose details[open]{padding-bottom:8px}
.nv-round1.nv-r1-faq .nv-prose summary{position:relative;list-style:none;cursor:pointer;padding:21px 32px 21px 0;min-height:72px;font-size:16px;line-height:1.7;font-weight:550;color:var(--navy)}
.nv-round1.nv-r1-faq .nv-prose summary::-webkit-details-marker{display:none}
.nv-round1.nv-r1-faq .nv-prose summary::after{content:"+";position:absolute;right:0;top:17px;font-size:26px;font-weight:400;line-height:1.5;color:var(--accent)}
.nv-round1.nv-r1-faq .nv-prose details[open]>summary::after{content:"−"}
.nv-round1.nv-r1-faq .nv-prose details p{max-width:74ch;font-size:15px;line-height:1.9;margin:0 0 18px}
/* Direct contact and recovery, without artificial message forms or added claims. */
.nv-round1.nv-r1-contact .nv-service-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px)}
.nv-round1.nv-r1-contact .nv-service-layout>.nv-prose{padding:32px 36px;background:var(--paper);border:1px solid var(--line);border-radius:3px}
.nv-round1.nv-r1-contact #contact-channels{scroll-margin-top:calc(var(--header) + 24px)}
.nv-round1.nv-r1-contact #contact-channels h2{margin-top:0}
.nv-round1.nv-r1-contact #contact-channels address{font-style:normal;line-height:1.9;padding-top:20px;border-top:1px solid var(--line);margin-block:24px}
.nv-round1.nv-r1-contact .nv-service-layout>aside{padding:4px 0 0;border:0;background:transparent}
.nv-round1.nv-r1-contact .nv-service-layout>aside h2{margin-top:0}
.nv-round1.nv-r1-contact .nv-service-layout>aside h3{font-size:20px;margin-top:28px}
.nv-round1.nv-r1-goals .nv-intro+.nv-section{margin-top:30px}
.nv-round1.nv-r1-goals .nv-tiles{margin-top:30px;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px}
.nv-round1.nv-r1-goals .nv-tile{grid-column:span 2;padding:28px 30px;min-height:220px}
.nv-round1.nv-r1-goals .nv-tile:nth-child(n+4){grid-column:span 3}
.nv-round1.nv-r1-goals .nv-tile p:empty{display:none}
.nv-round1.nv-r1-goals .nv-tile .nv-tile-number{font-size:12px;margin-bottom:24px;color:var(--accent)}
.nv-round1.nv-r1-goals .nv-tile h2{max-width:18ch;font-size:27px;line-height:1.25}
.nv-round1.nv-r1-goals .nv-tile .nv-text-link{width:100%;justify-content:space-between;padding-top:18px;border-top:1px solid var(--line)}
.nv-round1.nv-r1-recovery .nv-not-found{max-width:940px;padding-block:65px 80px}
.nv-round1.nv-r1-recovery .nv-inline-search{padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:3px;margin-block:30px 26px}
@media(max-width:1000px){
 .nv-round1.nv-r1-reading .nv-content-layout{grid-template-columns:minmax(170px,210px) minmax(0,1fr);gap:28px}
 .nv-round1.nv-r1-product .nv-detail-layout.nv-detail-layout-wide{grid-template-columns:minmax(200px,.6fr) minmax(0,1.4fr);gap:28px}
 .nv-round1.nv-r1-goals .nv-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
 .nv-round1.nv-r1-goals .nv-tile{grid-column:auto}
 .nv-round1.nv-r1-goals .nv-tile:nth-child(n+4){grid-column:auto}
 .nv-round1.nv-r1-goals .nv-tile:last-child{grid-column:1/-1}
}
@media(max-width:800px){
 .nv-round1.nv-r1-reading .nv-content-layout,.nv-round1.nv-r1-product .nv-detail-layout.nv-detail-layout-wide,.nv-round1.nv-r1-contact .nv-service-layout{grid-template-columns:minmax(0,1fr)}
 .nv-round1.nv-r1-reading .nv-toc{position:static;max-height:none;max-width:none;padding:20px 24px}
 .nv-round1.nv-r1-product .nv-r1-details-intro{position:static}
 .nv-round1.nv-r1-product .nv-r1-details-intro nav{display:flex;flex-wrap:wrap;gap:0 20px;max-width:none}
 .nv-round1.nv-r1-product .nv-r1-details-intro nav a{font-size:12px}
 .nv-round1.nv-r1-product .nv-gallery:not(.is-lifestyle) .nv-gallery-main{max-height:none;aspect-ratio:1.15}
 .nv-round1.nv-r1-product .nv-buy-panel{padding-top:0}
 .nv-round1.nv-r1-product .nv-buy-panel .nv-page-title{font-size:37px}
}
@media(max-width:600px){
 .nv-round1:not(.nv-r1-home) .nv-intro{padding-block:14px 28px}
 .nv-round1:not(.nv-r1-home) .nv-intro .eyebrow{font-size:10px;gap:10px;margin-bottom:15px}
 .nv-round1:not(.nv-r1-home) .nv-intro .nv-page-title{font-size:37px;line-height:1.15;letter-spacing:-.035em;max-width:21ch}
 .nv-round1:not(.nv-r1-home) .nv-intro .nv-lead{font-size:15px;line-height:1.85}
 .nv-round1.nv-r1-product .nv-short-description{font-size:15px;padding-left:15px}
 .nv-round1.nv-r1-product .nv-buy-panel .nv-page-title{font-size:34px;line-height:1.18}
 .nv-round1.nv-r1-product .nv-detail-layout.nv-detail-layout-wide{padding-top:28px;gap:23px}
 .nv-round1.nv-r1-product .nv-r1-details-intro h2{font-size:32px;margin-bottom:16px}
 .nv-round1.nv-r1-product .nv-detail-stack{padding-inline:18px}
 .nv-round1.nv-r1-product .nv-detail-stack>details>summary{font-size:16px;min-height:67px;padding-block:18px}
 .nv-round1.nv-r1-product .nv-detail-body{font-size:14px;line-height:1.9}
 .nv-round1.nv-r1-reading .nv-prose{font-size:15px;line-height:1.9}
 .nv-round1.nv-r1-reading .nv-prose h2{font-size:28px;margin-top:34px}
 .nv-round1.nv-r1-reading .nv-prose h3{font-size:21px}
 .nv-round1.nv-r1-reading .nv-toc{padding:18px 20px}
 .nv-round1.nv-r1-article .nv-intro .nv-page-title{font-size:34px;max-width:25ch}
 .nv-round1.nv-r1-article .nv-article-hero img{height:230px}
 .nv-round1.nv-r1-journal .nv-article-grid{grid-template-columns:minmax(0,1fr);gap:38px}
 .nv-round1.nv-r1-journal .nv-article-card h2{font-size:26px}
 .nv-round1.nv-r1-journal .nv-article-card p:not(.eyebrow){font-size:14px}
 .nv-round1.nv-r1-faq .nv-prose details{padding-inline:18px}
 .nv-round1.nv-r1-faq .nv-prose summary{font-size:15px;line-height:1.7;min-height:68px;padding-block:18px}
 .nv-round1.nv-r1-faq .nv-prose summary::after{top:14px}
 .nv-round1.nv-r1-faq .nv-prose details p{font-size:14px}
 .nv-round1.nv-r1-contact .nv-service-layout>.nv-prose{padding:26px 23px}
 .nv-round1.nv-r1-contact .nv-service-layout>aside{padding:0}
 .nv-round1.nv-r1-goals .nv-tiles{grid-template-columns:minmax(0,1fr);gap:16px}
 .nv-round1.nv-r1-goals .nv-tile,.nv-round1.nv-r1-goals .nv-tile:nth-child(n+4){grid-column:auto;padding:25px;min-height:205px}
 .nv-round1.nv-r1-goals .nv-tile h2{font-size:26px}
 .nv-round1.nv-r1-recovery .nv-not-found{padding-block:38px 52px}
 .nv-round1.nv-r1-recovery .nv-inline-search{padding:20px;margin-block:26px 24px}
}
@media(max-width:350px){
 .nv-round1:not(.nv-r1-home) .nv-intro .nv-page-title{font-size:33px}
 .nv-round1.nv-r1-product .nv-buy-panel .nv-page-title{font-size:31px}
 .nv-round1.nv-r1-product .nv-detail-stack{padding-inline:14px}
 .nv-round1.nv-r1-contact .nv-service-layout>.nv-prose{padding-inline:19px}
}
