/* Full-width product gallery, with utility layouts for the planning work. */
:root{font:100%/1.47 var(--font-text);color:var(--label);background:var(--canvas);font-optical-sizing:auto}
*{box-sizing:border-box}body{margin:0}html{scroll-behavior:auto;scroll-padding-top:7rem}html.anchor-navigation{scroll-behavior:smooth}
[hidden]{display:none!important}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}
button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
button{cursor:pointer}button:disabled{cursor:default;opacity:.45}h1,h2,h3,h4,p{margin:0}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:-.025em;line-height:1.07;color:inherit}
h1{font-size:3.5rem}h2{font-size:2.5rem}h3{font-size:1.75rem}h4{font-size:1.125rem}
.wrap{width:min(980px,calc(100% - 3rem));margin-inline:auto}
.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.035em;color:var(--muted);margin-bottom:1rem;line-height:1.5}
.caption{font-size:.875rem;line-height:1.5;color:var(--muted);margin-top:1rem}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;border:1px solid transparent;border-radius:9999px;padding:11px 22px;min-height:44px;font-size:1.0625rem;font-weight:400;line-height:1.3;text-align:center;max-width:100%}
.button:hover{text-decoration:none}.primary{background:var(--accent);color:#fff}.primary:hover{background:#0071e3}.secondary{background:transparent;color:var(--accent);border-color:var(--accent)}
.subtle-link{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;font-size:1.0625rem;font-weight:400;padding:.5rem 0}
.text-button{border:0;background:none;color:var(--accent);padding:.5rem 0;font-size:.875rem;min-height:44px}
.skip-link{position:fixed;top:.5rem;left:1rem;z-index:100;background:#fff;padding:.7rem 1rem;transform:translateY(-200%)}.skip-link:focus{transform:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:sticky;top:0;z-index:30}.nav{height:44px;background:#000;color:#fff}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;height:100%;position:relative}
.brand{font-size:1rem;font-weight:600;letter-spacing:-.03em;color:#fff}.nav-links{display:flex;align-items:center;gap:2.5rem;font-size:.75rem;height:100%}.nav-links a{position:relative;color:#d2d2d7;min-height:44px;display:inline-flex;align-items:center}.nav-links a:hover,.nav-links a[aria-current]{color:#fff;text-decoration:none}
.sub-nav{background:rgba(245,245,247,.88);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.08)}
.sub-nav-inner{display:flex;align-items:center;gap:1.5rem;min-height:52px;padding-block:4px}.category-name{font-size:1.3125rem;font-weight:600;letter-spacing:-.03em;color:var(--label);margin-right:auto}.category-name:hover{text-decoration:none}.sub-nav-link{font-size:.875rem;color:var(--label)}.nav-cta{font-size:.875rem;min-height:36px;padding:7px 16px}
.mobile-menu{display:none}.mobile-menu>summary{color:#fff;padding:0;gap:.75rem;min-height:44px;font-size:.875rem}.mobile-menu:not([open])>.mobile-menu-links{display:none}.mobile-menu-links{position:fixed;z-index:50;left:0;right:0;top:44px;background:#000;padding:1.5rem;display:grid;gap:.25rem;max-height:calc(100dvh - 44px);overflow:auto}.mobile-menu-links>a{display:flex;align-items:center;color:#fff;min-height:44px;font-size:1.25rem;overflow-wrap:anywhere}
.hero{background:#fff;overflow:hidden}.hero-grid{padding-block:80px 32px;display:flex;flex-direction:column;align-items:center;text-align:center}.hero-copy{position:relative;z-index:1;max-width:48rem}.hero-copy .eyebrow{color:var(--label)}.hero h1{font-size:3.5rem}.hero-description{font-size:1.75rem;line-height:1.2;letter-spacing:.005em;margin-top:1.25rem;color:var(--label)}
.hero-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1.5rem;margin-top:1.5rem}.hero-note{font-size:.875rem;line-height:1.5;color:var(--muted);margin-top:1.5rem}.hero-footnote{font-size:.75rem;line-height:1.5;color:var(--muted)}
.hero-art{width:100%;height:auto;margin:2.5rem 0 1.5rem}.hero-art img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.hero-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.hero-gallery figure{margin:0;min-width:0}.hero-gallery img{display:block;height:220px}.hero-gallery figcaption{font-size:.875rem;font-weight:600;color:var(--label);margin-top:.75rem}
.projects-section{background:var(--parchment);padding-top:80px;scroll-margin-top:6rem}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:3rem;margin-bottom:64px}.section-heading h2{font-size:2.5rem}.section-description{font-size:1.3125rem;line-height:1.4;margin-top:1.25rem;color:var(--muted)}
.planning-note{display:flex;gap:.75rem;max-width:18rem;color:var(--muted);font-size:.875rem;line-height:1.5}.planning-note strong{color:var(--label);font-weight:600}.planning-note p{margin-top:.4rem}.info-icon{display:grid;place-items:center;width:18px;height:18px;border:1px solid currentColor;border-radius:50%;font-size:.75rem;flex-shrink:0;margin-top:.2rem}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 12px 12px}.project-card{min-width:0;position:relative;background:#fff}.project-card.recommended{grid-column:1/-1;background:var(--tile-dark);color:#fff}.card-surface{display:flex;flex-direction:column;align-items:center;min-width:0;padding:48px 32px 32px;text-align:center;height:100%}
.card-top{display:flex;justify-content:center;align-items:center;gap:.75rem;margin-bottom:1.5rem;font-size:.75rem;color:var(--muted)}.project-letter{font-weight:600}.rank-badge{font-weight:400}.rank-badge:before{content:'·';margin-right:.75rem}.card-copy{width:100%;max-width:45rem}.card-copy>.eyebrow{font-size:.75rem;margin-bottom:.6rem}.project-card h3{font-size:2.5rem}.project-card h3>a{color:inherit}.card-subtitle{font-size:1.3125rem;line-height:1.25;margin-top:.75rem;letter-spacing:.005em}.card-description{font-size:1.0625rem;color:var(--muted);max-width:25rem;margin:.8rem auto 0;line-height:1.47}
.card-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;margin-top:.75rem}.card-link,.card-demo-link{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-height:44px;font-size:1.0625rem}.round-arrow{display:grid;place-items:center;font-size:1.5rem;min-width:18px}
.project-art{display:block;width:100%;height:300px;margin-block:2.5rem 1.25rem}.project-art img{height:100%;width:100%;object-fit:contain;mix-blend-mode:multiply}.technical-route{margin-top:auto;padding-top:1rem;color:var(--muted)}.technical-route>span{font-size:.75rem;display:block;margin-bottom:.25rem}.technical-route p{font-size:.875rem;line-height:1.5}.card-status{font-size:.75rem;color:var(--muted);margin-top:.5rem;line-height:1.5}
.tile-dark .card-top,.tile-dark .eyebrow,.tile-dark .card-description,.tile-dark .technical-route,.tile-dark .card-status{color:#ccc}.tile-dark a{color:var(--link-dark)}.recommended h3{font-size:3.5rem}.recommended .card-subtitle{font-size:1.75rem}.recommended .card-description{max-width:none}
.project-card[data-selected=true] .card-top:after{content:'Your choice';color:var(--accent);font-weight:600}.tile-dark[data-selected=true] .card-top:after{color:var(--link-dark)}
.lesson-product{width:min(840px,100%);display:grid;grid-template-columns:1.15fr 1fr;align-items:center;margin-block:3rem 2.5rem;gap:0;text-align:left;padding:0 1rem}
.product-transcript{background:#353537;padding:2rem 2.5rem;border-radius:18px 0 0 18px;min-height:320px}.product-label{display:block;font-size:.625rem;letter-spacing:.06em;font-weight:600;color:#b4b4bc;margin-bottom:1.25rem}.product-transcript h4{font-size:1.5rem;line-height:1.1;margin-bottom:1.5rem}.product-transcript p{font-size:.875rem;line-height:1.5;color:#ccc;padding:.75rem 0}.product-transcript p>span{font-size:.625rem;color:#a1a1aa;margin-right:.5rem}.product-transcript .selected-line{color:#fff;border-block:1px solid #5c5c60}
.product-summary{background:#fafafc;color:var(--label);border-radius:18px;padding:2.5rem;min-height:355px;margin-left:-1rem;position:relative}.product-summary .product-label{color:var(--muted)}.product-summary h4{font-size:2rem;margin-bottom:1.75rem}.product-source{display:inline-block;font-size:.75rem;color:var(--accent);margin-bottom:.5rem}.product-summary p{font-size:1.0625rem}.product-summary small{display:block;font-size:.75rem;color:var(--muted);margin-top:2rem}
.assessed-band{background:var(--tile-dark);color:#fff}.assessed-core{padding-block:80px;display:flex;align-items:center;justify-content:space-between;gap:3rem}.assessed-core .eyebrow{color:#ccc}.assessed-core h2{font-size:3.5rem}.assessed-core>div>p:last-of-type{font-size:1.3125rem;line-height:1.4;margin-top:1.5rem;color:#ccc}.assessed-core a{color:var(--link-dark);margin-top:.75rem}.technique-count{text-align:center;flex-shrink:0;width:230px}.number-tile{display:block;font-size:8rem;line-height:1;font-weight:600;letter-spacing:-.04em;color:#fff}.technique-count strong{display:block;font-size:1.3125rem;line-height:1.3;margin-top:.5rem;font-weight:600}.technique-count p{color:#ccc;font-size:.875rem;line-height:1.5;margin-top:1rem}
.planning-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding-block:80px}.planning-grid>section{min-width:0;scroll-margin-top:7rem}.planning-grid h2{font-size:2rem;line-height:1.1;margin-bottom:1.75rem}.requirement-list{padding:0;margin:0;list-style:none}.requirement-list li{display:flex;align-items:flex-start;gap:.75rem;margin:1rem 0;font-size:1.0625rem;line-height:1.47}.check{display:grid;place-items:center;width:22px;height:22px;flex-shrink:0;font-size:.875rem;color:var(--accent);margin-top:2px}
.roadmap-list{list-style:none;margin:0;padding:0}.roadmap-list li{display:grid;grid-template-columns:2rem 1fr;gap:.15rem .75rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.roadmap-list li:last-child{border:0}.step-number{font-size:.75rem;color:var(--muted);grid-row:1/3;padding-top:.2rem}.roadmap-list strong{font-weight:600;font-size:1.0625rem}.roadmap-list p{grid-column:2;font-size:.875rem;color:var(--muted);line-height:1.5}.planning-grid .subtle-link{margin-top:1rem}
.planning-tools{padding-bottom:80px}.tools-heading{border-top:1px solid var(--line);padding-block:3rem 1.5rem}.tools-heading>span{display:block;font-size:.75rem;font-weight:600;color:var(--muted);margin-bottom:.75rem}.tools-heading p{font-size:2rem;line-height:1.1;letter-spacing:-.025em;font-weight:600}
.reference-details{border-bottom:1px solid var(--line);scroll-margin-top:7rem}summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 0}summary>span:first-child{min-width:0}summary::-webkit-details-marker{display:none}.detail-kicker{display:block;font-size:.75rem;color:var(--muted);margin-bottom:.4rem;letter-spacing:0}summary strong{font-size:1.3125rem;line-height:1.3;font-weight:600;letter-spacing:-.02em}.expand-icon{display:grid;place-items:center;width:1.5rem;height:1.5rem;line-height:1;font-size:1.5rem;font-weight:300;color:var(--accent);flex-shrink:0}details[open] .expand-icon{transform:rotate(45deg)}.disclosure-body{padding:1rem 0 2.5rem;min-width:0}.schedule-note{font-size:.875rem;color:var(--muted);margin-top:1.5rem}
.table-scroll{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:8px}table{border-collapse:collapse;width:100%;text-align:left;font-size:.875rem;line-height:1.5;min-width:700px}th,td{padding:1rem;vertical-align:top;border-bottom:1px solid var(--line)}thead th{font-weight:600;background:var(--parchment)}tbody th{font-weight:600}td{color:var(--muted)}tr:last-child>td,tr:last-child>th{border-bottom:0}[data-column][data-selected=true]{background:#eff6ff}
.reference-content{font-size:1.0625rem;line-height:1.6;color:var(--label);max-width:65rem;min-width:0}.reference-content h3{font-size:1.75rem;line-height:1.2;margin:2rem 0 1rem}.reference-content h4{margin:1.5rem 0 .75rem}.reference-content p{margin-bottom:1rem}.reference-content ul,.reference-content ol{padding-left:1.25rem}.reference-content li{margin:.6rem 0}.reference-content .table-scroll{margin-block:1rem}.local-source small{display:block;font-size:.75rem;color:var(--muted)}code{font:.85em ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;background:var(--parchment);padding:.1rem .25rem;border-radius:5px}pre{padding:1.5rem;background:var(--parchment);border-radius:8px;overflow:auto;max-width:100%;font-size:.875rem;line-height:1.6}pre code{white-space:pre;background:none;padding:0}.disclosure-note{font-size:.875rem;line-height:1.5;color:var(--muted);margin-top:1.5rem}.source-downloads{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:1rem;font-size:.875rem}
.choose-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;background:var(--parchment);padding:2rem;border-radius:18px}.choose-grid>div{min-width:0}.choose-grid h3{font-size:2rem;line-height:1.1;margin-bottom:1.25rem}.choose-grid>div>p{font-size:1.0625rem;line-height:1.5;color:var(--muted)}.choose-grid .privacy-note{font-size:.875rem;margin-top:1.5rem}.selection-panel{min-width:0}fieldset{border:0;padding:0;margin:0;min-width:0}legend{padding:0;font-size:1.0625rem;font-weight:600;margin-bottom:1rem}
.choice-option{position:relative;display:flex;align-items:center;gap:.75rem;padding:1rem;border:1px solid var(--line);border-radius:18px;background:#fff;margin-bottom:.75rem;cursor:pointer;min-height:80px}.choice-option input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.choice-option:has(input:checked){border:2px solid var(--focus);padding:calc(1rem - 1px)}.choice-option:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:4px}.radio-visual{width:18px;height:18px;min-width:18px;flex-shrink:0;border:1px solid #86868b;border-radius:50%}.choice-option input:checked+.radio-visual{border:5px solid var(--accent);background:#fff}.choice-option strong{display:block;font-size:1.0625rem;font-weight:600}.choice-option small{display:block;font-size:.75rem;line-height:1.5;color:var(--muted);margin-top:.25rem}.choice-letter{margin-left:auto;color:var(--muted);font-size:.75rem}.choice-option>span{min-width:0}.selection-result{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.25rem}.selection-result h3{font-size:1.3125rem}.selection-result h4{font-size:1.0625rem;margin:1.5rem 0 .75rem}.selection-result ol{padding-left:1.25rem;font-size:.875rem;line-height:1.5;color:var(--muted)}.selection-result li{margin:.6rem 0}.selection-result a{font-size:.875rem}.empty-choice{font-size:.875rem;color:var(--muted)}.selection-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.selection-actions .button{font-size:.875rem}.storage-note{font-size:.75rem;color:var(--muted);margin-top:.75rem}.storage-note:empty{display:none}.project-status{font-size:.875rem;line-height:1.5;margin:1rem 0}.project-status dt{font-weight:600;margin-top:1rem}.project-status dd{margin:.4rem 0 0;color:var(--muted);overflow-wrap:anywhere}.scope-note{font-size:.875rem;line-height:1.5;color:var(--muted)}.repository-review{display:grid;gap:2rem}.repository-review article{padding-bottom:2rem;border-bottom:1px solid var(--line)}.repository-review article:last-child{border:0}.repository-review h3{font-size:1.75rem}
.detail-hero{padding-block:32px 64px;text-align:center}.back-link{display:flex;align-items:center;width:fit-content;min-height:44px;font-size:.875rem;margin-bottom:2.5rem}.detail-hero-grid{display:flex;flex-direction:column;align-items:center;gap:3rem}.detail-hero-grid>div{min-width:0}.detail-hero-grid>div:first-child{max-width:48rem}.detail-subtitle{font-size:1.75rem;line-height:1.2;margin-top:1rem}.detail-description{font-size:1.0625rem;line-height:1.5;color:var(--muted);max-width:36rem;margin:1rem auto 0}.detail-art{width:min(640px,100%);height:300px}.detail-art img{width:100%;height:100%;object-fit:contain}.detail-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line);text-align:left}.detail-facts span{display:block;color:var(--muted);font-size:.75rem;margin-bottom:.75rem}.detail-facts strong{font-size:1.0625rem;line-height:1.5;font-weight:600;display:block}
.pipeline-section{background:var(--tile-dark);color:#fff;padding-block:64px}.pipeline-section .eyebrow,.pipeline-section .caption{color:#ccc}.pipeline{list-style:none;padding:0;margin:2.5rem 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}.pipeline li{position:relative;min-width:0}.pipeline li:not(:last-child):after{content:'›';position:absolute;right:0;top:0;color:#ccc}.pipeline li>span{display:block;color:#ccc;font-size:.75rem;margin-bottom:1rem}.pipeline strong{font-size:1.3125rem;font-weight:600;line-height:1.25;display:block;padding-right:.5rem}.pipeline-example{display:flex;align-items:center;gap:2rem;border-top:1px solid #4f4f53;padding-top:1.5rem;font-size:1.0625rem}.pipeline-example>div{flex:1;min-width:0}.pipeline-example small{display:block;font-size:.75rem;color:#ccc;margin-bottom:.5rem}.pipeline-example>span{color:var(--link-dark)}
.detail-layout{display:grid;grid-template-columns:12rem minmax(0,1fr);gap:3rem;padding-block:80px}.on-this-page{position:sticky;top:8rem;align-self:start;min-width:0}.on-this-page nav{display:grid;gap:.75rem}.on-this-page nav a{font-size:.875rem;line-height:1.5;display:block}.on-this-page .subtle-link{font-size:.875rem;margin-top:1.5rem}.option-content{min-width:0;font-size:1.0625rem;line-height:1.6}.option-content a:not(.button):not(.other-options a){text-decoration:underline;text-underline-offset:4px}.detail-cta{background:var(--parchment);padding:2rem;border-radius:18px;margin-top:2rem}.detail-cta h2{font-size:2rem}.detail-cta p:not(.eyebrow){font-size:1.0625rem;line-height:1.5;margin:1rem 0 1.5rem}.other-options{margin-top:3rem}.other-options>a{display:flex;align-items:center;gap:.75rem;padding:1rem 0;border-top:1px solid var(--line)}.other-options>a>span:first-child{font-size:.75rem;color:var(--muted)}.other-options strong{font-size:1.0625rem;font-weight:600}.other-options>a>span:last-child{margin-left:auto}
.site-footer{background:var(--parchment);padding-block:64px 24px}.footer-statement{font-family:var(--font-display);font-size:2rem;font-weight:600;line-height:1.15;letter-spacing:-.025em;padding-bottom:3rem}.footer-columns{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:3rem;font-size:.875rem}.footer-brand{color:var(--label);font-size:1.3125rem;font-weight:600}.footer-columns p{font-size:.875rem;line-height:1.5;color:var(--muted);margin-top:.75rem}.footer-columns nav{display:grid;align-content:start}.footer-columns nav strong{font-weight:600;margin-bottom:.5rem}.footer-columns nav a{color:#333;line-height:2.4}.footer-legal{display:flex;justify-content:space-between;gap:2rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:3rem;font-size:.75rem;line-height:1.5;color:var(--muted)}
.hero-grid>*,.project-grid>*,.planning-grid>*,.detail-layout>*,.lesson-product>*,.footer-columns>*,.technique-count>div{min-width:0}h1,h2,h3,h4,p,li,dd,figcaption,summary strong,.technique-count strong,.category-name,.choice-option,.footer-columns,.card-top{overflow-wrap:anywhere}
@media(max-width:1068px){.hero h1,.detail-hero h1{font-size:2.5rem}.hero-grid{padding-top:64px}.nav-links{gap:1.5rem}.card-surface{padding-inline:24px}.recommended h3{font-size:2.5rem}.assessed-core h2{font-size:2.5rem}.lesson-product{padding:0}.product-transcript,.product-summary{padding:2rem}.project-art{height:250px}}
@media(max-width:833px){.nav-links{display:none}.mobile-menu{display:block}.section-heading{gap:2rem}.project-grid{grid-template-columns:minmax(0,1fr)}.project-card.recommended{grid-column:auto}.planning-grid{gap:2.5rem}.planning-note{max-width:15rem}.detail-layout{display:block}.on-this-page{position:static;border-bottom:1px solid var(--line);padding-bottom:2rem;margin-bottom:2rem}.on-this-page nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.project-art{height:300px}.card-description{max-width:none}.assessed-core{gap:2rem}.technique-count{width:180px}.number-tile{font-size:6rem}.footer-columns{gap:2rem}.category-name{font-size:1.125rem}.detail-art{height:250px}}
@media(max-width:640px){.wrap{width:calc(100% - 3rem)}.hero-grid{padding-block:48px 24px}.hero h1,.detail-hero h1{font-size:2.125rem}.hero-description,.detail-subtitle{font-size:1.3125rem;line-height:1.3}.hero-actions{gap:1rem;margin-top:1.5rem}.hero-actions .button,.hero-actions .subtle-link{font-size:1.0625rem}.hero-note{font-size:.75rem;max-width:20rem;margin-inline:auto}.hero-art{height:220px;margin:2rem 0 1rem}.hero-art img{object-fit:contain}.hero-footnote{font-size:.75rem}.sub-nav-link{display:none}.sub-nav-inner{gap:1rem}.nav-cta{font-size:.75rem;flex-shrink:0;padding:8px 12px}.category-name{font-size:1.0625rem}.projects-section{padding-top:48px}.section-heading{display:block;margin-bottom:32px}.section-heading h2{font-size:2.125rem}.section-description{font-size:1.0625rem}.planning-note{max-width:none;font-size:.875rem;margin-top:1.5rem}.project-grid{gap:12px;padding:0 0 12px}.card-surface{padding:48px 24px 32px}.project-card h3,.recommended h3{font-size:2.125rem}.card-subtitle,.recommended .card-subtitle{font-size:1.3125rem}.card-description{font-size:1.0625rem}.card-top{font-size:.75rem;flex-wrap:wrap;gap:.5rem}.card-actions{gap:1.25rem}.project-art{height:240px;margin-block:2rem 1rem}.lesson-product{grid-template-columns:minmax(0,1fr);gap:0;margin-block:2rem}.product-transcript{border-radius:18px 18px 0 0;min-height:0;padding:1.5rem}.product-transcript h4{font-size:1.3125rem}.product-transcript p{font-size:.875rem}.product-summary{margin:0;padding:1.5rem;min-height:0;border-radius:0 0 18px 18px}.product-summary h4{font-size:1.75rem;margin-bottom:1rem}.product-summary small{margin-top:1.5rem}.assessed-core{display:block;padding-block:48px}.assessed-core h2{font-size:2.125rem}.assessed-core>div>p:last-of-type{font-size:1.0625rem}.technique-count{display:flex;align-items:center;text-align:left;gap:1.5rem;width:auto;margin-top:2.5rem}.number-tile{font-size:5rem}.technique-count strong{font-size:1.0625rem;margin:0}.technique-count p{font-size:.875rem;margin-top:.5rem}.desktop-only{display:none}.planning-grid{grid-template-columns:minmax(0,1fr);gap:3rem;padding-block:48px}.planning-grid h2{font-size:1.75rem}.tools-heading{padding-top:2rem}.tools-heading p{font-size:1.75rem}.planning-tools{padding-bottom:48px}summary strong{font-size:1.125rem}.detail-kicker{font-size:.625rem}.choose-grid{grid-template-columns:minmax(0,1fr);padding:1.25rem;gap:2rem}.choose-grid h3{font-size:1.75rem}.choice-option{padding:.875rem}.choice-option:has(input:checked){padding:calc(.875rem - 1px)}.choice-option strong{font-size:.875rem}.choice-letter{display:none}.detail-hero{padding-block:24px 48px}.back-link{margin-bottom:2rem}.detail-hero-grid{gap:2rem}.detail-art{height:220px}.detail-facts{grid-template-columns:minmax(0,1fr);gap:1.5rem;margin-top:1rem}.detail-facts strong{font-size:1.0625rem}.detail-facts span{margin-bottom:.4rem}.pipeline-section{padding-block:48px}.pipeline{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1.5rem;margin-block:2rem}.pipeline li:nth-child(2):after{display:none}.pipeline strong{font-size:1.0625rem}.pipeline-example{gap:1rem;font-size:.875rem;align-items:flex-start}.pipeline-example small{font-size:.625rem}.detail-layout{padding-block:48px}.on-this-page nav{grid-template-columns:minmax(0,1fr)}.detail-cta{padding:1.5rem}.detail-cta h2{font-size:1.75rem}.other-options>a{flex-wrap:wrap}.site-footer{padding-block:48px 24px}.footer-statement{font-size:1.75rem;padding-bottom:2rem}.footer-columns{grid-template-columns:1fr;gap:2rem}.footer-legal{display:block;margin-top:2rem}.footer-legal a{display:inline-flex;align-items:center;min-height:44px;margin-top:.5rem}}
@media(max-width:419px){.hero h1,.detail-hero h1{font-size:1.75rem}.hero-art{height:200px}.hero-description{font-size:1.25rem}.sub-nav-inner{gap:.75rem}.category-name{font-size:.875rem}.nav-cta{font-size:.75rem}.hero-actions{gap:.5rem 1rem}.card-surface{padding-inline:24px}.card-link,.card-demo-link{font-size:.875rem}.rank-badge:before{margin-right:.5rem}.selection-actions .button{padding-inline:14px}}
@media(max-width:640px){.hero-art{height:auto;margin-block:2rem 1.5rem}.hero-gallery{gap:.5rem}.hero-gallery img{height:100px}.hero-gallery figcaption{font-size:.625rem;line-height:1.5;font-weight:600;margin-top:.5rem}}
@media(max-width:419px){.hero-art{height:auto}.hero-gallery img{height:90px}.nav-inner{gap:1rem}}
@media(prefers-reduced-motion:reduce){html,html.anchor-navigation{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.press{transform:none!important}}
@media(prefers-reduced-transparency:reduce){.sub-nav{background:var(--parchment);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-contrast:more){.tile-dark{background:#000}.tile-dark .card-top,.tile-dark .eyebrow,.tile-dark .card-description,.tile-dark .technical-route,.tile-dark .card-status{color:#fff}}
/* Keep navigation usable when system text is enlarged on narrow screens. */
@media(max-width:639px){.site-header .wrap{width:calc(100% - 32px)}.nav-inner,.sub-nav-inner{gap:12px}.category-name{min-width:0}.nav-cta{flex-shrink:0;max-width:55%}.mobile-menu summary{gap:8px}}
@media print{.site-header,.skip-link,.on-this-page,.selection-actions,.mobile-menu{display:none}.wrap{width:100%}.hero-grid,.detail-hero{padding-top:0}.project-card{break-inside:avoid}.tile-dark,.assessed-band,.pipeline-section{background:#fff!important;color:#000!important}.tile-dark p,.assessed-band p,.pipeline-section p{color:#333!important}.detail-layout{display:block}.table-scroll{overflow:visible}.site-footer{background:#fff}}
