.project-detail{--project-accent:var(--color-rest);--project-accent-ink:var(--rest-ink);--project-dim:var(--color-text-dim);padding-top:var(--space-10);background:var(--color-bg);color:var(--color-text)}@media (prefers-color-scheme:light){.project-detail{--project-dim:var(--color-text-muted)}}.project-detail[data-accent=coral]{--project-accent:var(--color-kweezzie);--project-accent-ink:var(--kweezzie-ink)}.project-detail[data-accent=aqua]{--project-accent:var(--color-ics);--project-accent-ink:var(--ics-ink)}.project-detail[data-accent=blue]{--project-accent:var(--color-rest);--project-accent-ink:var(--rest-ink)}.project-detail[data-accent=cyan]{--project-accent:var(--color-canvas);--project-accent-ink:var(--canvas-ink)}.project-detail .eyebrow:before{color:var(--project-accent)}.project-detail .eyebrow{color:var(--project-dim)}.project-detail :where(a[href],button,summary):focus-visible{outline:2px solid var(--project-accent);outline-offset:3px}.project-detail button:disabled,.project-detail [aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.project-detail .button{border-color:var(--color-border-strong)}.project-detail .button:hover{border-color:var(--project-accent);background:var(--project-accent);color:var(--project-accent-ink)}.project-detail .button:active{transform:translateY(1px)}.project-detail .button-secondary{border-color:var(--project-accent);color:var(--color-text)}.project-detail .button-secondary:hover{background:var(--project-accent);color:var(--project-accent-ink)}.project-hero{border:1px solid var(--color-border-strong);border-top:2px solid var(--project-accent);border-radius:var(--radius-sm);background:var(--color-bg);grid-template-columns:minmax(320px,5fr) minmax(0,7fr);min-height:620px;display:grid}.project-hero-copy{min-width:0;padding:var(--space-6);border-right:1px solid var(--color-border-strong);grid-template-rows:auto 1fr auto;display:grid}.back-link{align-items:center;gap:var(--space-2);width:fit-content;min-height:44px;color:var(--color-text-muted);font-size:var(--text-sm);transition:color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);text-decoration:underline;display:inline-flex}.back-link svg{fill:none;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.7px;width:16px;height:16px;transition:transform var(--duration-fast) var(--ease-standard);flex:none}.back-link:hover{color:var(--project-accent);background:0 0}.back-link:hover svg{transform:translate(-4px)}.back-link:active{color:var(--color-text)}.project-title-group{padding-block:var(--space-8);align-self:center}.project-title-group h1{max-width:14ch;margin-top:var(--space-3);color:var(--color-text);font-size:var(--text-3xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.project-summary{max-width:48ch;margin-top:var(--space-5);color:var(--color-text-muted);font-size:var(--text-lead);line-height:var(--leading-normal)}.project-hero-footer{padding-top:var(--space-5);border-top:1px solid var(--color-border)}.project-technologies{gap:var(--space-1) var(--space-2);color:var(--project-dim);font-size:var(--text-xs);flex-wrap:wrap;list-style:none;display:flex}.project-technologies li{align-items:center;display:inline-flex}.project-technologies li+li:before{margin-right:var(--space-2);color:var(--project-accent);content:"/"}.project-actions{margin-top:var(--space-5);gap:var(--space-3);flex-wrap:wrap;display:flex}.project-hero .product-install-link{border-color:var(--project-accent);background:var(--project-accent);color:var(--project-accent-ink)}.project-hero .product-install-link:hover{border-color:var(--project-accent);color:var(--color-text);background:0 0}.project-hero .product-install-link svg{width:16px;height:16px}.project-hero .product-release-status{min-height:40px;padding:0 var(--space-4);align-items:center;gap:var(--space-2);border:1px solid var(--project-accent);color:var(--color-text);font-size:var(--text-sm);letter-spacing:var(--tracking-label);text-transform:uppercase;display:inline-flex}.project-hero .product-release-status:before{background:var(--project-accent);content:"";width:6px;height:6px}.project-hero-media{min-width:0;min-height:618px;padding:var(--space-6);background:var(--color-surface);place-items:center;display:grid;overflow:hidden}.project-hero-media img{object-fit:contain;object-position:center;width:100%;height:100%;max-height:556px}.project-hero-media[data-media=portrait] img{width:auto;max-width:100%}.project-hero-media[data-media=landscape] img{height:auto;max-height:none}.project-overview,.decisions-section,.privacy-section,.project-support{padding-block:var(--space-10);gap:var(--space-8);border-bottom:1px solid var(--color-border-strong);grid-template-columns:minmax(220px,.75fr) minmax(0,1.75fr);display:grid}.overview-intro,.decisions-intro,.privacy-intro,.project-support>:first-child{min-width:0}.overview-body,.decision-list,.privacy-body,.project-support>:last-child{min-width:0;max-width:var(--reading)}.overview-intro h2,.decisions-intro h2,.privacy-intro h2,.project-support h2,.gallery-heading h2,.features-section .section-heading h2{margin-top:var(--space-2);color:var(--color-text);font-size:var(--text-2xl);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.overview-body>p,.privacy-benefit{max-width:68ch;color:var(--color-text-muted);font-size:var(--text-base)}.project-facts{margin-top:var(--space-7);border-top:1px solid var(--color-border);border-left:1px solid var(--color-border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.project-facts>div{min-width:0;padding:var(--space-4);border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.project-facts dt{color:var(--project-dim);font-size:var(--text-xs)}.project-facts dd{margin-top:var(--space-2);color:var(--color-text);font-size:var(--text-sm)}.decisions-intro>p:last-child{max-width:44ch;margin-top:var(--space-5);color:var(--color-text-muted);font-size:var(--text-sm)}.decision-list{border-top:1px solid var(--color-border-strong);list-style:none}.decision-list li{padding-block:var(--space-5);gap:var(--space-4);border-bottom:1px solid var(--color-border);grid-template-columns:48px minmax(0,1fr);display:grid}.decision-list li>span{color:var(--project-accent);font-size:var(--text-xs)}.decision-list h3{color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:var(--leading-normal)}.decision-list p{max-width:62ch;margin-top:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm)}.project-highlights{padding-block:var(--space-7)}.project-highlights ul{border-top:1px solid var(--color-border-strong);border-bottom:1px solid var(--color-border-strong);grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;display:grid}.project-highlights li{min-width:0;min-height:72px;padding:var(--space-4);align-items:center;gap:var(--space-3);color:var(--color-text);font-size:var(--text-sm);display:flex}.project-highlights li+li{border-left:1px solid var(--color-border)}.project-highlights li:before{background:var(--project-accent);content:"";flex:none;width:8px;height:8px}.privacy-section{scroll-margin-top:calc(var(--masthead-height) + var(--space-4));border-top:1px solid var(--color-border-strong)}.privacy-body details{margin-top:var(--space-6);border-top:1px solid var(--color-border-strong);border-bottom:1px solid var(--color-border-strong)}.privacy-body summary{min-height:52px;padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);color:var(--color-text);cursor:pointer;font-size:var(--text-sm);transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);list-style:none;display:flex}.privacy-body summary::-webkit-details-marker{display:none}.privacy-body summary:hover{background:var(--color-surface);color:var(--project-accent)}.privacy-body summary:active{background:var(--color-surface-strong)}.summary-icon{flex:none;width:16px;height:16px;position:relative}.summary-icon:before,.summary-icon:after{content:"";background:currentColor;width:12px;height:1px;position:absolute;top:7px;left:2px}.summary-icon:after{transition:transform var(--duration-fast) var(--ease-standard);transform:rotate(90deg)}.privacy-body details[open] .summary-icon:after{transform:rotate(0)}.legal-content{padding:var(--space-5) var(--space-4);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-sm)}.legal-content>*{max-width:66ch}.legal-content h3{margin-top:var(--space-5);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.legal-content p{margin-top:var(--space-2)}.legal-content>p:first-child{margin-top:0}.legal-content a{color:var(--project-accent)}.legal-content a:hover{background:var(--project-accent);color:var(--project-accent-ink)}.gallery-band{border-bottom:1px solid var(--color-border-strong);background:var(--color-surface)}.gallery-shell{padding-block:var(--space-10)}.gallery-heading{margin-bottom:var(--space-7);align-items:end;gap:var(--space-8);grid-template-columns:minmax(0,1fr) minmax(240px,360px);display:grid}.gallery-heading>p{color:var(--project-dim);font-size:var(--text-sm)}.gallery-grid{gap:var(--space-6) var(--space-4);counter-reset:gallery-item;display:grid}.gallery[data-orientation=portrait] .gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.gallery[data-orientation=landscape] .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-thumb{min-width:0;color:var(--color-text);cursor:zoom-in;text-align:left;counter-increment:gallery-item;background:0 0;border:0;border-radius:0;padding:0;text-decoration:none}.thumb-image{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);width:100%;transition:border-color var(--duration-fast) var(--ease-standard);place-items:center;display:grid;overflow:hidden}.gallery-thumb.portrait .thumb-image{aspect-ratio:900/1948}.gallery-thumb.landscape .thumb-image{aspect-ratio:3/2}.thumb-image img{object-fit:contain;width:100%;height:100%}.thumb-meta{min-height:48px;padding:var(--space-3) 0;gap:var(--space-2);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-xs);transition:border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);grid-template-columns:32px minmax(0,1fr);line-height:1.4;display:grid}.thumb-meta:before{color:var(--project-accent);content:counter(gallery-item, decimal-leading-zero)}.gallery-thumb:hover .thumb-image,.gallery-thumb:focus-visible .thumb-image{border-color:var(--project-accent)}.gallery-thumb:hover .thumb-meta,.gallery-thumb:focus-visible .thumb-meta{border-color:var(--project-accent);color:var(--color-text)}.gallery-thumb:active .thumb-image{border-color:var(--color-text)}.features-section{padding-block:var(--space-10);border-bottom:1px solid var(--color-border-strong)}.features-section .section-heading{margin-bottom:var(--space-7);align-items:start;gap:var(--space-8);grid-template-columns:minmax(220px,.75fr) minmax(0,1.75fr)}.features-section .section-heading>p{max-width:68ch;color:var(--color-text-muted);font-size:var(--text-sm)}.feature-grid{border-top:1px solid var(--color-border-strong);counter-reset:capability;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;display:grid}.feature-grid li{min-height:112px;padding:var(--space-5);gap:var(--space-4);border-bottom:1px solid var(--color-border);counter-increment:capability;grid-template-columns:40px minmax(0,1fr);display:grid}.feature-grid li:nth-child(odd){border-right:1px solid var(--color-border)}.feature-grid li:before{color:var(--project-accent);content:counter(capability, decimal-leading-zero);font-size:var(--text-xs)}.feature-grid p{max-width:54ch;color:var(--color-text-muted);font-size:var(--text-sm)}.project-support>div:last-child>p{max-width:66ch;color:var(--color-text-muted);font-size:var(--text-sm)}.project-support .button{margin-top:var(--space-5)}.project-nav{padding-block:var(--space-10);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-nav-link{min-height:112px;padding:var(--space-5);border:1px solid var(--color-border-strong);color:var(--color-text);transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);align-content:space-between;text-decoration:none;display:grid;position:relative}.project-nav-link+.project-nav-link{border-left:0}.project-nav-link.previous{text-align:left}.project-nav-link.next{text-align:right}.project-nav-link.next:only-child{grid-column:2}.project-nav-link:after{right:var(--space-5);bottom:var(--space-5);color:var(--project-accent);content:"→";position:absolute}.project-nav-link.previous:after{right:auto;left:var(--space-5);content:"←"}.project-nav-link:hover{border-color:var(--project-accent);background:var(--project-accent);color:var(--project-accent-ink)}.project-nav-link:hover:after{color:currentColor}.project-nav-link:active{background:var(--color-surface-strong);color:var(--color-text)}.project-nav-link span{color:var(--project-dim);font-size:var(--text-xs)}.project-nav-link:hover span{color:currentColor}.project-nav-link strong{padding-inline:var(--space-7);font-size:var(--text-base);font-weight:var(--weight-semibold)}@media (width<=980px){.project-detail{padding-top:var(--space-8)}.project-hero{grid-template-columns:1fr;min-height:0}.project-hero-copy{border-right:0;border-bottom:1px solid var(--color-border-strong);min-height:520px}.project-hero-media{min-height:0}.project-hero-media[data-media=portrait]{min-height:600px}.project-hero-media[data-media=portrait] img{max-height:536px}.project-hero-media[data-media=landscape]{aspect-ratio:3/2}.gallery[data-orientation=portrait] .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery[data-orientation=landscape] .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.project-overview,.decisions-section,.privacy-section,.project-support{gap:var(--space-6);grid-template-columns:1fr}.overview-body,.decision-list,.privacy-body,.project-support>:last-child{max-width:none}.features-section .section-heading{gap:var(--space-4);grid-template-columns:1fr;display:grid}.gallery-heading{gap:var(--space-4);grid-template-columns:1fr}.gallery[data-orientation=landscape] .gallery-grid{grid-template-columns:1fr}}@media (width<=560px){.project-detail{padding-top:var(--space-6)}.project-hero-copy{min-height:480px;padding:var(--space-5)}.project-title-group{padding-block:var(--space-6)}.project-title-group h1{font-size:var(--text-2xl)}.project-summary{margin-top:var(--space-4);font-size:var(--text-base)}.project-hero-media{padding:var(--space-4)}.project-hero-media[data-media=portrait]{min-height:500px}.project-hero-media[data-media=portrait] img{max-height:468px}.project-overview,.decisions-section,.privacy-section,.features-section,.project-support,.gallery-shell{padding-block:var(--space-7)}.overview-intro h2,.decisions-intro h2,.privacy-intro h2,.project-support h2,.gallery-heading h2,.features-section .section-heading h2{font-size:var(--text-xl)}.project-facts{grid-template-columns:1fr}.decision-list li{grid-template-columns:32px minmax(0,1fr)}.project-highlights{padding-block:var(--space-6)}.project-highlights ul{grid-template-columns:1fr}.project-highlights li+li{border-top:1px solid var(--color-border);border-left:0}.gallery-grid{gap:var(--space-5) var(--space-3)}.gallery[data-orientation=portrait] .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.thumb-meta{grid-template-columns:24px minmax(0,1fr)}.feature-grid{grid-template-columns:1fr}.feature-grid li{min-height:0;padding:var(--space-4)}.feature-grid li:nth-child(odd){border-right:0}.project-nav{padding-block:var(--space-7);grid-template-columns:1fr}.project-nav-link+.project-nav-link{border-top:0;border-left:1px solid var(--color-border-strong)}.project-nav-link.next:only-child{grid-column:1}}@media (prefers-reduced-motion:reduce){.project-detail *,.project-detail :before,.project-detail :after{scroll-behavior:auto!important;transition-duration:.01ms!important}.back-link:hover svg{transform:none}}
