/* Approved shared timeline and compact guide components. */
.nw-reading .nw-stage-timeline{list-style:none;margin:0;padding:0;position:relative}
.nw-stage-timeline::before{content:"";position:absolute;left:15px;top:24px;bottom:34px;width:2px;background:#b8cec5}
.nw-reading .nw-stage-timeline>.nw-stage{display:grid;grid-template-columns:32px minmax(0,1fr);gap:14px;position:relative;margin:0;padding:0 0 14px;list-style:none}
.nw-stage-marker{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-top:12px;border:2px solid #779d91;border-radius:50%;background:#fff;color:#254c45;font-size:15px;font-weight:700;line-height:1;box-sizing:border-box;z-index:1}
.nw-stage-content{padding:12px 14px;min-width:0}
.nw-reading .nw-stage-content>strong{display:block;color:#243b40;font-size:18px;line-height:1.4;font-weight:650}
.nw-reading .nw-stage-content>p{margin:8px 0 0;font-size:17px;line-height:1.65;color:#243b40}
.nw-stage-current .nw-stage-content{background:#eaf4ef;border:1px solid #aec8bd;border-radius:8px}
.nw-stage-current .nw-stage-marker{background:#21665f;border-color:#21665f;color:#fff}
.nw-reading .nw-stage-safety{margin:12px 0 18px;padding:14px 16px;border-left:3px solid #b18b42;background:#faf4e7;color:#433c2e;font-size:16px;line-height:1.6}
@media(max-width:700px){
 .nw-hair-guide .nw-hair-cover{margin-top:14px}

 .nw-hair-guide .nw-hair-cover figcaption{text-align:center}
 .nw-reading .nw-stage-timeline>.nw-stage{gap:10px}
 .nw-stage-content{padding:12px 10px}
}

/* Reusable opt-in article layout. No rule targets the frozen laser-shedding page. */
.nw-reading.nw-compact-guide .nw-section{padding-top:24px;margin-top:28px}
.nw-reading.nw-compact-guide .nw-compact-answer{background:#eef5f1;border:1px solid #c6d9cf;border-radius:10px;padding:24px;margin-top:24px}
.nw-reading.nw-compact-guide .nw-compact-answer h2{font-size:25px;margin:0 0 18px}
.nw-reading.nw-compact-guide .nw-compact-answer p{margin:16px 0;line-height:1.7}
.nw-reading.nw-compact-guide .nw-compact-answer p:last-child{margin-bottom:0}
.nw-reading.nw-compact-guide .nw-compact-caution{background:#faf4e7;border:1px solid #e2cda5;border-left:4px solid #b18b42;color:#433c2e;padding:18px 20px;border-radius:7px}
.nw-reading.nw-compact-guide .nw-compact-caution a{color:#604b25}
.nw-reading.nw-compact-guide .nw-compact-details{background:#fff;border:1px solid #cad8d2;border-radius:8px;margin:14px 0;overflow:hidden}
.nw-reading.nw-compact-guide .nw-compact-details>summary{cursor:pointer;padding:18px 20px;font-size:17px;line-height:1.5;font-weight:650;color:#244c46}
.nw-reading.nw-compact-guide .nw-compact-details>summary:focus-visible{outline:3px solid #37756c;outline-offset:-4px}
.nw-reading.nw-compact-guide .nw-compact-details[open]>summary{border-bottom:1px solid #dce5df}
.nw-reading.nw-compact-guide .nw-compact-details>.nw-table-wrap{margin:0;padding:0;border:0}
.nw-reading.nw-compact-guide .nw-compact-details table caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nw-reading.nw-compact-guide .nw-compact-details>p{padding:0 18px 14px;margin-top:16px}
.nw-reading.nw-compact-guide .nw-technical-detail>summary h3{display:inline;font-size:18px;line-height:1.45;margin:0;color:inherit}
.nw-reading.nw-compact-guide .nw-technical-detail>.nw-example-grid{padding:0 18px}
.nw-reading.nw-compact-guide .nw-device-comparison{margin-bottom:24px}
.nw-reading.nw-compact-guide .nw-device-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.nw-reading.nw-compact-guide .nw-device-card{padding:22px;background:#f6f9f6;border:1px solid #d6e2db;border-radius:9px;min-width:0}
.nw-reading.nw-compact-guide .nw-device-title{display:block;font-size:22px;line-height:1.3;margin-bottom:12px}
.nw-reading.nw-compact-guide .nw-device-card>p{font-size:17px;line-height:1.65;margin:12px 0}
.nw-reading.nw-compact-guide .nw-device-card .nw-compact-details{margin:16px 0 0}
.nw-reading.nw-compact-guide .nw-device-card summary{padding:12px 14px;font-size:15px}
.nw-reading.nw-compact-guide .nw-compact-timeline{padding:24px}
.nw-reading.nw-compact-guide .nw-compact-timeline>figcaption{margin:0 0 18px;font-size:18px;font-weight:650;color:#243b40}
.nw-reading.nw-compact-guide .nw-compact-related{margin:20px 0 28px}
@media(max-width:700px){
 .nw-reading.nw-compact-guide .nw-section{padding-top:20px;margin-top:24px}
 .nw-reading.nw-compact-guide .nw-compact-answer{padding:20px;margin-top:20px}
 .nw-reading.nw-compact-guide .nw-compact-answer h2{font-size:23px}
 .nw-reading.nw-compact-guide .nw-device-grid{grid-template-columns:minmax(0,1fr);gap:14px}
 .nw-reading.nw-compact-guide .nw-device-card{padding:18px}
 .nw-reading.nw-compact-guide .nw-compact-details>summary{padding:15px 16px}
 .nw-reading.nw-compact-guide .nw-compact-caution{padding:16px}
 .nw-reading.nw-compact-guide .nw-compact-timeline{padding:18px 12px}
 .nw-reading.nw-compact-guide .nw-highlight{padding:20px}
 .nw-reading.nw-compact-guide .nw-card{padding:18px}
 .nw-reading.nw-compact-guide .nw-example-grid svg{max-height:170px;display:block;margin:0 auto}
 .nw-reading.nw-compact-guide .nw-hair-table{min-width:0;width:100%}
 .nw-reading.nw-compact-guide .nw-hair-table tbody td{padding:12px 16px}
 .nw-reading.nw-compact-guide .nw-hair-resource{padding:24px 20px}
 .nw-reading.nw-compact-guide .nw-hair-resource .nw-hair-sheet{max-width:115px;margin:20px auto 0}
}
@media print{.nw-reading.nw-compact-guide details:not([open])>*:not(summary){display:block!important}}

/* Theme defaults for consumer articles; private/pro tools are excluded by the renderer. */
.nw-consumer-guide :is(.faq,.pub-faq,.c-faq) details,
.nw-consumer-guide .nw-faq-item{background:#fff;border:1px solid #c1d2cb;border-radius:9px;margin:12px 0;padding:0!important;overflow:hidden}
.nw-consumer-guide :is(.faq,.pub-faq,.c-faq) details>summary,
.nw-consumer-guide .nw-faq-item>summary,
.nw-consumer-guide .nw-faq-item[open]>summary{background:#fff!important;padding:18px 52px 18px 22px;line-height:1.5;min-height:60px;color:#183e40}
.nw-consumer-guide :is(.faq,.pub-faq,.c-faq) details>summary::after,.nw-consumer-guide .nw-faq-item>summary::after{right:20px;top:19px}
.nw-consumer-guide :is(.faq,.pub-faq,.c-faq) details>:not(summary),.nw-consumer-guide .nw-faq-item>:not(summary){margin:0;padding:0 22px 22px;background:#fff}
.nw-consumer-guide :is(.nw-device-card,.nw-product-card,.nw-card,.nw-example-card){background:#fff;border-color:#d6e2db}
.nw-consumer-guide .nw-device-grid{margin-bottom:28px}
.nw-consumer-guide .nw-guide-hero{display:grid!important;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);column-gap:40px;row-gap:0;align-items:start}
.nw-guide-hero>.nw-guide-title{grid-column:1;grid-row:1;min-width:0;align-self:end}
.nw-guide-hero>.nw-guide-intro{grid-column:1;grid-row:2;min-width:0}
.nw-consumer-guide .nw-guide-hero>.nw-hair-cover{grid-column:2;grid-row:1/span 2;align-self:center;width:100%;max-width:none;margin:0 0 24px}
.nw-consumer-guide .nw-guide-hero>.nw-hair-cover img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:10px}
.nw-guide-hero .nw-guide-title h1{margin-top:0}
.nw-guide-hero figcaption{font-size:13px;line-height:1.6;color:#4c6663;margin-top:10px}
.nw-guide-source-list{background:#fff;border:1px solid #c1d2cb;border-radius:9px;margin:20px 0;overflow:hidden}
.nw-consumer-guide .nw-guide-source-list>summary{padding:18px 54px 18px 22px;font-size:17px;line-height:1.5;color:#183e40;background:#fff;min-height:60px}
.nw-consumer-guide .nw-guide-source-list>summary::after{right:20px;top:19px}
.nw-guide-source-body{padding:0 24px 24px;overflow-wrap:anywhere}
.nw-guide-source-body ul,.nw-guide-source-body ol{margin:0;padding-left:22px}
.nw-guide-source-body li{margin:12px 0;line-height:1.75}
.nw-guide-source-body p{margin:12px 0;line-height:1.75}
.nw-consumer-guide .nw-hair-next{margin:36px 0 0;padding-top:24px;border-top:2px solid #578f80}
.nw-consumer-guide .nw-hair-next h2{font-size:27px;line-height:1.3;margin:0 0 12px}
.nw-consumer-guide .nw-hair-next-links small{display:block;font-size:16px;line-height:1.65;color:#476460;grid-column:1}
.nw-consumer-guide .nw-hair-next-links a{min-width:0;padding:18px 0}
.nw-consumer-guide .nw-hair-next-links strong{font-size:19px}
.nw-consumer-guide .nw-hair-newsletter{margin-top:32px}
.nw-consumer-guide :is(.nw-guide-source-list,.nw-faq-item) summary:focus-visible{outline:3px solid #37756c;outline-offset:-4px}
@media(max-width:700px){
 .nw-consumer-guide .nw-guide-hero{display:flex!important;flex-direction:column;gap:0}
 .nw-guide-hero>.nw-guide-title{order:0;align-self:stretch;width:100%}
 .nw-consumer-guide .nw-guide-hero>.nw-hair-cover{order:1;align-self:stretch;width:100%;max-width:none;margin:0 0 22px}
 .nw-consumer-guide .nw-guide-hero>.nw-hair-cover img{width:100%;height:auto;max-width:none;margin:0}
 .nw-consumer-guide .nw-guide-hero>.nw-hair-cover figcaption{text-align:left}
 .nw-guide-hero>.nw-guide-intro{order:2;width:100%}
 .nw-consumer-guide .nw-guide-source-body{padding:0 18px 20px}
 .nw-consumer-guide .nw-hair-next h2{font-size:25px}
 .nw-consumer-guide .nw-hair-next-links strong{font-size:18px}
 .nw-consumer-guide .nw-hair-next-links small{font-size:15px}
}
@media print{.nw-guide-source-list:not([open])>.nw-guide-source-body{display:block!important}.nw-guide-source-list{break-inside:auto}}
/* Match the older opt-in compact component's specificity during migration. */
.nw-reading.nw-consumer-guide :is(.nw-device-card,.nw-product-card,.nw-card,.nw-example-card){background:#fff}
/* 1.22.7: the approved reading frame for legacy consumer guides.
   Deliberately avoid adding nw-hair-guide: its broad descendants would restyle safety/CTA boxes. */
.nw-guide-frame{--hair-line:#cbdad4;max-width:1180px}
.nw-guide-frame>.nw-hero{grid-column:1/-1;padding:8px 0 0;margin:0}
.nw-guide-frame .nw-hero h1{font-size:clamp(34px,3.6vw,49px);line-height:1.1;letter-spacing:-.045em;max-width:25ch;margin:0 0 22px;text-wrap:balance}
.nw-guide-frame .nw-hero .nw-reading-prose,.nw-guide-frame .nw-hero .intro{font-size:19px;line-height:1.65;max-width:62ch}
.nw-guide-frame .nw-editorial{font-size:13px;line-height:1.6;border-top:1px solid var(--hair-line);border-bottom:0;margin:22px 0 0;padding:13px 0 0}
.nw-guide-frame>.nw-reading-toc{border:0;padding:0;margin:32px 0 0}
.nw-guide-frame .nw-inline-contents{border:1px solid var(--hair-line);border-radius:9px;background:#fff;padding:14px 18px}
.nw-guide-frame .nw-inline-contents>summary{font-size:14px;padding:4px 25px 4px 0;min-height:32px}
.nw-guide-frame .nw-inline-contents-links{display:flex;flex-direction:column;gap:12px}
.nw-guide-frame .nw-inline-contents-links>a{font-size:13px;line-height:1.5;padding:5px 0}
.nw-guide-frame>.nw-section,.nw-guide-frame>.article-section{padding:36px 0 0;border-bottom:0;border-top:1px solid #d7e1dc;margin:34px 0 0;scroll-margin-top:30px}
.nw-guide-frame>:is(.nw-section,.article-section)>h2{font-size:clamp(27px,2.6vw,34px);line-height:1.2;letter-spacing:-.032em;max-width:35ch;margin:0 0 24px;text-wrap:balance}
.nw-guide-frame .nw-faq-item{padding:0!important;margin:12px 0;background:#fff;border:1px solid #c1d2cb;border-radius:9px;box-shadow:none;overflow:hidden}
.nw-guide-frame .nw-faq-item>summary{font-size:17px;line-height:1.55;padding:20px 62px 20px 24px;min-height:64px;color:#183e40;font-weight:650;background:#fff}
.nw-guide-frame .nw-faq-item>summary::after{right:23px;top:21px;color:#37756c;font-size:22px}
.nw-guide-frame .nw-faq-item>:not(summary){margin:0;padding:18px 24px 22px;font-size:16px;line-height:1.75;max-width:none}
.nw-guide-frame.nw-review-v5{width:calc(100% - 40px);margin-inline:auto;padding-top:48px}
.nw-guide-frame.nw-review-v5 .mobile-toc[hidden]{display:none}
.nw-guide-frame.nw-review-v5 .nw-reading-toc .eyebrow{font-size:13px;font-weight:700}
.nw-guide-frame .side-note{font-size:13px;line-height:1.6}
@media(min-width:1280px){
 .nw-guide-frame{display:grid;grid-template-columns:minmax(0,1fr) 212px;column-gap:54px;align-items:start}
 /* Every block has an explicit main column. Empty anchors, asides and legacy divs cannot auto-place in the rail. */
 .nw-reading.nw-guide-frame>*{grid-column:1;grid-row:auto;min-width:0}
 .nw-reading.nw-guide-frame>.nw-hero{grid-column:1/-1;grid-row:1}
 .nw-reading.nw-guide-frame>.nw-reading-toc{grid-column:2;grid-row:2/span 1000;position:sticky;top:30px;align-self:start;margin:34px 0 0;max-height:calc(100vh - 70px);overflow:auto}
 .admin-bar .nw-guide-frame>.nw-reading-toc{top:62px;max-height:calc(100vh - 102px)}
 .nw-guide-frame>.nw-section:first-of-type{margin-top:34px}
}
@media(min-width:701px) and (max-width:1279px){.nw-guide-frame{max-width:940px}.nw-guide-frame .nw-inline-contents-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 24px}}
@media(max-width:700px){
 .nw-guide-frame,.nw-guide-frame.nw-review-v5{padding-top:14px;display:block}
 .nw-guide-frame .nw-hero h1{font-size:34px;line-height:1.12;letter-spacing:-.04em;margin-bottom:18px}
 .nw-guide-frame .nw-hero .nw-reading-prose,.nw-guide-frame .nw-hero .intro{font-size:18px;line-height:1.65}
 .nw-guide-frame>.nw-reading-toc{margin-top:22px}
 .nw-guide-frame .nw-inline-contents{padding:10px 16px}.nw-guide-frame .nw-inline-contents-links>a{font-size:14px;padding:8px 0}
 .nw-guide-frame>:is(.nw-section,.article-section){padding-top:28px;margin-top:32px}
 .nw-guide-frame>:is(.nw-section,.article-section)>h2{font-size:27px;line-height:1.23;margin-bottom:20px}
 .nw-guide-frame .nw-faq-item>summary{padding:18px 50px 18px 20px;min-height:62px}
 .nw-guide-frame .nw-faq-item>summary::after{right:19px;top:19px}
 .nw-guide-frame .nw-faq-item>:not(summary){padding:16px 20px 21px}
}
@media print{.nw-guide-frame{display:block;max-width:none}.nw-guide-frame>.nw-reading-toc{display:none}}

.nw-guide-frame>.nw-frame-first{margin-top:34px}
.nw-guide-frame.nw-review-v5{max-width:1160px}
@media(max-width:700px){.nw-guide-frame>.nw-frame-first{margin-top:24px}}

/* Reusable product-comparison disclosure; one real table at every width. */
.nw-hair-guide .nw-mobile-comparison{border:1px solid var(--line,#d8e4e1);border-radius:16px;background:#fff;margin:24px 0;overflow:hidden}
.nw-hair-guide .nw-mobile-comparison>summary{padding:18px 20px;font-weight:700;cursor:pointer;color:var(--ink,#173c3c)}
.nw-hair-guide .nw-mobile-comparison>.nw-table-wrap{margin:0;padding:0 16px 16px;max-width:100%;overflow-x:auto}
.nw-hair-guide .nw-mobile-comparison table{width:100%;min-width:640px}
.nw-hair-guide .nw-product-starts{padding:22px;border:1px solid var(--line,#d8e4e1);border-radius:16px;background:#fff;margin:24px 0}
.nw-hair-guide .nw-product-starts ul{margin:12px 0 0;padding-left:22px}
.nw-hair-guide .nw-product-starts li{margin:9px 0}
.nw-hair-guide .nw-profile-facts dd{margin-left:0}
@media(max-width:767px){.nw-hair-guide .nw-mobile-comparison>.nw-table-wrap{padding:0 12px 12px}.nw-hair-guide .nw-mobile-comparison table{font-size:.9rem}.nw-hair-guide .nw-mobile-comparison>summary{padding:17px}.nw-hair-guide .nw-reading-profile .nw-device-photo{flex-basis:150px!important;width:150px!important}}
