/* ActualWoodworking v4 landing layout (SITE/v4/DESIGN_BRIEF.md §4). Base type/colour come from style.css. */
.landing h1,.landing h2{font-family:var(--sans);font-weight:700;letter-spacing:0;font-style:normal}
.landing h1{font-size:32px;line-height:1.12}
.landing .eyebrow{letter-spacing:0}
.landing .btn{border-radius:0;transition:background-color 150ms ease}
.landing .btn:active,.landing .btn:focus-visible{background:var(--action-hi)}
body:has(.landing) #sticky .btn{padding:12px 16px}
.landing h2{max-width:24ch;font-size:28px;line-height:1.15}
.landing .section>.wrap>.scope-note{margin-bottom:28px}

/* hero: answer, native plan proof, decision card, optional questions */
.section.hero{border-top:0;padding:12px 0 24px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "proof" "card" "more";gap:12px;align-items:start}
.hero-grid>*{min-width:0}
.opening-copy{grid-area:copy}
.decision-card{grid-area:card}
.hero-more{grid-area:more}
.opening-copy .eyebrow{margin-bottom:6px}
.opening-copy h1{margin-bottom:8px}
.deck{max-width:62ch;margin:0;color:var(--ink)}

.decision-card{padding:12px;border:0;border-top:2px solid var(--action);border-radius:0;background:var(--sheet)}
.decision-terms{display:grid;grid-template-columns:minmax(72px,max-content) minmax(0,1fr);column-gap:12px;margin:0;border:0}
.decision-terms dt,.decision-terms dd{min-width:0;margin:0;padding:4px 0;border-top:1px solid var(--rule);font-size:18px;line-height:23px}
.decision-terms dt:first-of-type,.decision-terms dt:first-of-type+dd{padding-top:0;border-top:0}
.decision-terms dt{color:var(--muted);font-weight:700;white-space:nowrap;overflow-wrap:normal;hyphens:none}
.decision-terms dd{color:var(--ink)}
.decision-card .cta-block{margin:12px 0 0}
.decision-card .cta-note{max-width:none}

/* Native closed disclosures keep optional browsing out of the buying path. */
.landing .question-chooser>summary,.landing .project-inspiration>summary{box-sizing:border-box;min-height:44px;padding:8px 0;font-size:16px;line-height:23px}
.landing .question-paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(120px,100%),1fr));gap:0 12px;min-width:0;margin:8px 0 0}
.landing .question-paths a{display:flex;align-items:center;min-width:44px;min-height:44px;padding:8px 0;box-sizing:border-box;font-size:16px;line-height:23px;font-weight:400;white-space:normal;overflow-wrap:anywhere;color:var(--action);text-decoration:underline;text-underline-offset:3px}

.hero-more>p{max-width:62ch;margin:0 0 8px;font-size:18px;line-height:26px}
.hero-more>.byline{color:var(--muted);font-size:16px;line-height:23px}
.byline a{white-space:normal}
.landing .hero-sample{grid-area:proof;display:grid;grid-template-columns:minmax(0,140px) minmax(0,1fr);gap:12px;min-width:0;width:100%;max-width:none;margin:0}
.hero-sample img{display:block;min-width:0;width:100%;max-width:140px;height:auto}
.hero-sample figcaption{min-width:0;margin:0;align-self:center;font-size:16px;line-height:23px;color:var(--muted)}
.hero-sample .enlarge{display:flex;align-items:center;width:fit-content;max-width:100%;min-width:44px;min-height:44px;margin-top:2px;white-space:normal;color:var(--action)}

@media (max-width:1099px){
body:has(.landing) .top>.wrap{padding-block:4px}
.hero h1{font-size:28px;line-height:1.12}
.hero .deck{font-size:19px;line-height:1.3}
}
@media (max-width:359px){
.landing .hero-sample{grid-template-columns:minmax(0,120px) minmax(0,1fr)}
.hero-sample img{max-width:120px}
}
@media (max-width:239px){
.landing .hero-sample,.decision-terms{grid-template-columns:minmax(0,1fr)}
.decision-terms dt{white-space:normal}
.decision-terms dd{border-top:0;padding-top:0}
}
@media (min-width:1100px){
.landing h1{font-size:48px;line-height:1.1}
.landing h2{font-size:36px;line-height:1.15}
.hero .hero-grid{grid-template-columns:minmax(0,1fr) 390px;grid-template-areas:"copy card" "proof card" "more more";column-gap:40px;row-gap:24px}
.hero h1{max-width:22ch;margin-bottom:16px}
.hero .deck{font-size:23px;line-height:1.45}
.landing .hero-sample{grid-template-columns:242px minmax(0,1fr);max-width:650px}
.hero-sample img{max-width:242px}
}

/* package: numbered rows; copy first, then the seller's own exhibit at natural size or smaller */
.package-rows{counter-reset:pkg;margin:0 0 32px;padding:0;list-style:none}
.package-row{counter-increment:pkg;margin:0;padding:24px 0;border-top:1px solid var(--rule)}
.package-row:first-child{border-top:0;padding-top:8px}
.row-copy{min-width:0;max-width:66ch}
.row-copy::before{content:counter(pkg,decimal-leading-zero);display:block;margin-bottom:4px;color:var(--forest);font-size:16px;line-height:23px;font-weight:700;letter-spacing:0;font-variant-numeric:tabular-nums}
.row-copy h3{margin-bottom:8px}
.row-copy p{margin:0}
.seller-exhibit{min-width:0;max-width:366px;margin:20px 0 0}
.package-row--split .seller-exhibit{max-width:361px}
.seller-exhibit img{width:100%;height:auto;padding:12px;border:1px solid var(--rule);border-radius:4px;background:#FFFFFF}
.seller-exhibit figcaption{max-width:46ch;margin-top:8px}
.seller-exhibit .enlarge{display:flex;align-items:center;width:fit-content;min-height:44px;min-width:44px;margin-top:2px;white-space:normal;overflow-wrap:anywhere;color:var(--action)}
.package-terms{max-width:66ch;padding-top:24px;border-top:1px solid var(--rule)}
.package-terms p:last-child{margin-bottom:0}

/* projects: illustrative photos, lead image larger; captions sit below, never on the photo */
.project-inspiration>.scope-note{margin:8px 0 28px}
.landing .project-inspiration>.project-gallery{max-width:none}
.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px;margin:0}
.project-photo{min-width:0;margin:0}
.project-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:50% 50%;border-radius:4px}
.project-photo figcaption{margin-top:6px}
.project-photo--lead{grid-column:1/-1}

@media (max-width:1099px){
.package .package-row{padding:24px 0}
.package .seller-exhibit{max-width:366px}
.package .package-row--split .seller-exhibit{max-width:361px}
.projects .project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.projects .project-gallery>.project-photo:last-child{grid-column:1/-1}
.projects .project-gallery>.project-photo:last-child img{aspect-ratio:2/1}
}
@media (max-width:379px){
.projects .project-gallery{grid-template-columns:minmax(0,1fr)}
.projects .project-gallery>.project-photo:last-child img{aspect-ratio:4/3}
}
@media (min-width:1100px){
.package .package-row{display:grid;column-gap:64px;align-items:start;padding:32px 0}
.package .package-row:first-child{padding-top:16px}
.package .seller-exhibit{margin:0}
.package .package-row--feature{grid-template-columns:minmax(0,1fr) 386px}
.package .package-row--feature .seller-exhibit{max-width:386px}
.package .package-row--split{grid-template-columns:361px minmax(0,1fr)}
.package .package-row--split .seller-exhibit{grid-area:1/1}
.package .package-row--split .row-copy{grid-area:1/2}
.package .package-row--wide{grid-template-columns:minmax(0,1fr) 566px}
.package .package-row--wide .seller-exhibit{max-width:566px}
.package .package-row--type .row-copy,.package .package-row--list .row-copy{display:grid;grid-template-columns:280px minmax(0,62ch);column-gap:64px;max-width:none}
.package .package-row--type .row-copy::before,.package .package-row--list .row-copy::before{grid-area:1/1}
.package .package-row--type h3,.package .package-row--list h3{grid-area:2/1}
.package .package-row--type p,.package .package-row--list p{grid-area:1/2/3/3}
.projects .project-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px}
.projects .project-photo img{height:300px;aspect-ratio:auto}
.projects .project-photo--lead{grid-column:1/3}
.projects .project-gallery>.project-photo:nth-child(4){grid-column:2/-1}
}

/* fit: two plain ruled lists */
.fit-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:36px 64px;margin-bottom:28px}
.fit-list{min-width:0}
.fit-list h3{margin:0;padding-bottom:10px;border-bottom:2px solid var(--ink)}
.fit-list--other h3{border-bottom-color:var(--muted)}
.fit-list ul{margin:0;padding:0;list-style:none}
.fit-list li{margin:0;padding:12px 0;border-bottom:1px solid var(--rule)}
.fit-alt{max-width:66ch;margin:0}
@media (min-width:800px){.fit-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* cost: cut-list ledger, label left, amount right */
.cost-section .price-intro,.price-caveat,.price-updates{max-width:62ch}
.cost-section .price-updates,.cost-section .price-standard{max-width:760px;margin:0;padding:16px 0;border-top:1px solid var(--rule)}
.cost-section .price-updates{margin-top:24px}
.cost-section .price-standard{border-bottom:1px solid var(--rule)}
.price-standard strong{color:var(--ink);font-weight:700}
.cost-ledger{display:block;max-width:760px;margin:24px 0;border-top:2px solid var(--ink);border-bottom:1px solid var(--rule)}
.cost-ledger .cost-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);column-gap:16px;padding:12px 0;border-top:1px solid var(--rule)}
.cost-ledger .cost-row:first-child{border-top:0}
.cost-ledger dt,.cost-ledger dd{margin:0;padding:0;border:0;min-width:0}
.cost-ledger dt{color:var(--ink);font-size:18px;line-height:24px}
.cost-ledger dd{font-size:18px;line-height:24px}
.seller-label{display:block;margin-top:2px;color:var(--muted);font-size:16px;line-height:23px;font-weight:400}
.cost-ledger .amount{display:block;color:var(--ink);font-family:var(--serif);font-size:24px;line-height:30px;font-weight:600;font-variant-numeric:tabular-nums lining-nums}
.cost-section h3{margin-top:40px}

/* numbered step lists: counter sits in its own gutter so inline citations stay in the text */
.click-steps,.refund-steps{max-width:62ch;margin:0 0 20px;padding:0;list-style:none}
.click-steps{counter-reset:click}
.refund-steps{counter-reset:refund}
.click-steps>li,.refund-steps>li{position:relative;margin:0;padding:12px 0 12px 44px;border-top:1px solid var(--rule)}
.click-steps>li:last-child,.refund-steps>li:last-child{border-bottom:1px solid var(--rule)}
.click-steps>li{counter-increment:click}
.refund-steps>li{counter-increment:refund}
.click-steps>li::before,.refund-steps>li::before{position:absolute;left:0;top:12px;color:var(--forest);font-family:var(--serif);font-size:22px;line-height:28px;font-weight:650;font-variant-numeric:tabular-nums lining-nums}
.click-steps>li::before{content:counter(click)}
.refund-steps>li::before{content:counter(refund)}

/* critics: two selected reviews in vertical editorial figures */
.critics .scope-note{max-width:66ch}
.critics .return-links{min-width:0}
.critics .return-links a{white-space:normal;max-width:100%;overflow-wrap:anywhere;min-height:44px}
.critic-rows{max-width:66ch;margin:0 0 32px;padding:0;list-style:none}
.critic-row{margin:0;padding:20px 0;border-top:1px solid var(--rule)}
.critic-row:last-child{border-bottom:1px solid var(--rule)}
.critic-row h3{margin-bottom:6px}
.critic-row p{margin:0}
.critics .critic-quote{max-width:58ch;border-top:1px solid var(--rule);padding:24px 0;margin:0}
.critics .critic-quote blockquote{margin:12px 0;border:0;padding:0;font-family:var(--sans);font-size:22px;line-height:1.4}
.critics .critic-quote figcaption{font-size:16px;line-height:23px}

/* closing: refunds, FAQ, final step */
.refunds .wrap>p,.faq details,.final-section .wrap>p{max-width:66ch}
.refund-help{margin:0}
.final-section{background:var(--sheet);border-top:2px solid var(--forest)}
.final-section h2{color:var(--forest)}
.final-summary{color:var(--ink);font-size:21px;line-height:1.45}
.final-section .cta-block{margin:28px 0 0}

@media (min-width:1100px){
.landing .section>.wrap>h2:first-child{margin-bottom:28px}
.critic-rows{max-width:940px}
.critic-row{display:grid;grid-template-columns:220px minmax(0,62ch);column-gap:48px;padding:24px 0}
.critic-row h3{margin:0}
.critic-quote{margin-left:268px}
.cost-ledger .cost-row{column-gap:32px;padding:14px 0}
.final-summary{font-size:23px}
.final-section .cta-block .btn{min-width:360px}
}

/* Comparison: one semantic table, with real product labels on narrow screens. */
.comparison-section h2{max-width:32ch}
.comparison-section .comparison-lead{max-width:62ch;font-size:19px;line-height:29px;margin-bottom:24px}
.comparison-section .comparison-table{width:100%;max-width:100%;min-width:0;table-layout:fixed;border-collapse:collapse;margin:0 0 16px}
.comparison-section .comparison-table caption{text-align:left;padding:0 0 12px;color:var(--muted);font-size:16px;line-height:23px;overflow-wrap:anywhere}
.comparison-section .comparison-table th,.comparison-section .comparison-table td{min-width:0;padding:12px;border:0;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;white-space:normal;overflow-wrap:anywhere;background:var(--paper)}
.comparison-section .comparison-table th{font-size:18px;line-height:24px;color:var(--ink)}
.comparison-section .comparison-table td{font-size:18px;line-height:27px}
.comparison-section .comparison-table thead th:first-child{width:16%}
.comparison-section .comparison-table thead th:not(:first-child){width:28%}
.comparison-section .comparison-table th.pick-column{background:var(--action);color:var(--paper)}
.comparison-section .comparison-table td.pick-column{background:var(--sheet);color:var(--action)}
.comparison-section .comparison-label{display:block;min-width:0;font-size:16px;line-height:23px;font-weight:700}
.comparison-section .comparison-value{display:block;min-width:0;overflow-wrap:anywhere}
.comparison-section .comparison-table .src,.comparison-section .comparison-table .cite{font-size:16px;line-height:23px;white-space:normal;overflow-wrap:anywhere}
.comparison-section .comparison-pick{max-width:62ch;margin:0 0 12px;padding-top:12px;border-top:1px solid var(--rule);font-size:19px;line-height:28px;font-weight:700;color:var(--action)}
.comparison-section .comparison-method{max-width:66ch;margin:0 0 12px;color:var(--muted);font-size:16px;line-height:23px}
.comparison-section .comparison-method a,.comparison-section .fit-alt a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere}
.comparison-section .fit-check{max-width:66ch;margin-top:12px;padding-top:12px;border-top:1px solid var(--rule)}
.comparison-section .fit-check p{margin:0 0 8px;font-size:18px;line-height:27px}
.comparison-section .fit-check p:last-child{margin-bottom:0}
@media (min-width:800px){
.comparison-section .comparison-table .comparison-label{display:none}
}
@media (max-width:799px){
.comparison-section .comparison-table{display:block;position:relative}
.comparison-section .comparison-table caption{display:block;width:100%}
.comparison-section .comparison-table thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}
.comparison-section .comparison-table tbody{display:block;width:100%;min-width:0}
.comparison-section .comparison-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-width:0}
.comparison-section .comparison-table tbody th,.comparison-section .comparison-table td{display:block;width:100%}
.comparison-section .comparison-table tbody th{border-top:2px solid var(--ink);border-bottom:0;color:var(--ink)}
.comparison-section .comparison-table tbody th .comparison-label{display:none}
.comparison-section .comparison-label{margin-bottom:4px}
}

/* Recommendation: editorial copy beside one plain, complete decision pane. */
.editor-recommendation h2{max-width:32ch;font-size:28px;line-height:36px;color:var(--action)}
.editor-recommendation .recommendation-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
.editor-recommendation .recommendation-copy,.editor-recommendation .recommendation-decision{min-width:0;overflow-wrap:anywhere}
.editor-recommendation .recommendation-copy p{max-width:66ch}
.editor-recommendation .recommendation-copy .recommendation-verdict{max-width:30ch;font-size:24px;line-height:1.2;font-weight:700;color:var(--action)}
.editor-recommendation .final-summary,.editor-recommendation .recommendation-value{font-size:19px;line-height:29px;color:var(--ink)}
.editor-recommendation .recommendation-basis{margin-bottom:0;font-size:16px;line-height:23px;color:var(--muted)}
.editor-recommendation .recommendation-basis a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere}
.editor-recommendation .recommendation-decision{padding:16px;border:0;border-top:2px solid var(--action);border-radius:0;background:var(--paper)}
.editor-recommendation .recommendation-decision p{margin:0 0 16px;font-size:18px;line-height:27px;white-space:normal;overflow-wrap:anywhere}
.editor-recommendation .recommendation-price{font-weight:700;color:var(--ink)}
.editor-recommendation .src,.editor-recommendation .cite{font-size:16px;line-height:23px;white-space:normal;overflow-wrap:anywhere}
.editor-recommendation .recommendation-decision .cta-block{width:100%;max-width:390px;min-width:0;margin:16px 0 0}
.editor-recommendation .recommendation-decision .cta-block .btn{width:100%;max-width:390px;min-width:0;min-height:52px;padding:14px 16px;font-size:18px;line-height:24px;white-space:normal;overflow-wrap:anywhere}
.editor-recommendation .recommendation-decision .btn span{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.editor-recommendation .recommendation-decision .cta-note{max-width:none;margin:8px 0 0;font-size:16px;line-height:23px;color:var(--muted)}
@media (min-width:1100px){
.editor-recommendation h2{font-size:36px;line-height:44px}
.editor-recommendation .recommendation-grid{grid-template-columns:minmax(0,1fr) 390px;column-gap:64px}
.editor-recommendation .recommendation-copy .recommendation-verdict{font-size:26px}
.editor-recommendation .final-summary{font-size:23px;line-height:34px}
.editor-recommendation .recommendation-decision{padding:20px}
}
.editor-recommendation .recommendation-decision .cta-block--pre-note .cta-note{margin:0 0 12px}
.editor-recommendation .recommendation-decision .cta-block--pre-note .btn{margin-top:0}

/* Native in-page sample inspection, at original image size or smaller. */
.landing .sample-preview summary{box-sizing:border-box;min-height:44px;font-size:16px;line-height:23px;cursor:pointer}
.landing .sample-preview img{width:auto;max-width:100%;height:auto}
.landing .sample-preview a{display:flex;align-items:center;box-sizing:border-box;min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}

/* Optional guide navigation follows, rather than interrupts, help and policies. */
.guide-continuation{margin-block:24px;padding-block:24px;border-top:1px solid var(--rule);font:inherit}
.guide-continuation p{max-width:62ch;margin:0 0 12px;font:inherit}
.guide-continuation .btn{box-sizing:border-box;min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}

/* Keep inspected samples within their native widths despite package overrides. */
.landing .seller-exhibit .sample-preview img.sample-preview-image{width:auto;max-width:100%;height:auto}
.landing .seller-exhibit .sample-preview img.sample-preview-image[src$="seller-cut-list.webp"]{max-width:min(100%,335px)}
.landing .seller-exhibit .sample-preview img.sample-preview-image[src$="seller-plan-sheet.webp"]{max-width:min(100%,674px)}
.landing .seller-exhibit .sample-preview img.sample-preview-image[src$="seller-members-search.webp"]{max-width:min(100%,672px)}

.alternative-list .cta-block--pre-note .cta-note{margin:0 0 12px}
.alternative-list .funnel-secondary{display:inline-flex;align-items:center;min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere;font-size:18px;line-height:27px;text-decoration:underline;color:var(--action)}
