:root {
  --ink:#172033; --ink-soft:#39445a; --muted:#6d778b; --line:#dfe4ec; --line-dark:#cbd2de;
  --paper:#fff; --surface:#f5f7fa; --surface-2:#eef2f7; --navy:#111827; --blue:#4f5bd5; --blue-dark:#3842b8;
  --orange:#f47c48; --green:#17875d; --shadow:0 12px 30px rgba(31,42,68,.08); --shadow-sm:0 6px 18px rgba(31,42,68,.06);
  --radius:8px; --radius-lg:12px; --shell:min(1220px, calc(100% - 40px));
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.58;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit}.shell{width:var(--shell);margin-inline:auto}.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}.skip-link{position:fixed;top:8px;left:8px;z-index:1000;padding:10px 14px;color:white;background:var(--navy);transform:translateY(-140%);transition:transform .15s}.skip-link:focus{transform:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.kicker{display:block;margin-bottom:10px;color:var(--muted);font-size:.74rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.kicker-accent{color:var(--blue)}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(3rem,7vw,5.9rem);max-width:900px;margin-bottom:22px}h2{font-size:clamp(2rem,4.4vw,3.7rem);margin-bottom:18px}h3{font-size:1.35rem;margin-bottom:10px}p{color:var(--ink-soft)}.section{padding:96px 0}.section-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:60px;align-items:end;margin-bottom:38px}.section-heading h2{margin-bottom:0}.section-heading p{margin:0;max-width:520px;justify-self:end}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.button{min-height:44px;padding:11px 17px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:6px;font-size:.88rem;font-weight:750;text-decoration:none;transition:background .16s,border-color .16s,color .16s,transform .16s}.button:hover{transform:translateY(-1px)}.button-primary{color:#fff;background:var(--blue)}.button-primary:hover{background:var(--blue-dark)}.button-secondary{color:var(--ink);background:#fff;border-color:var(--line-dark)}.button-secondary:hover{background:var(--surface)}.text-link{color:var(--blue-dark);font-weight:750;text-decoration:none}.text-link:hover{text-decoration:underline}.plain-list{padding:0;margin:24px 0;list-style:none}.plain-list li{padding:9px 0 9px 22px;position:relative;border-bottom:1px solid var(--line);color:var(--ink-soft)}.plain-list li::before{content:"";position:absolute;left:2px;top:17px;width:7px;height:7px;border-radius:50%;background:var(--blue)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.93);border-bottom:1px solid rgba(223,228,236,.85);backdrop-filter:blur(14px);transition:box-shadow .16s}.site-header.is-scrolled{box-shadow:0 5px 18px rgba(31,42,68,.07)}.nav-shell{height:72px;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:10px;font-size:.93rem;font-weight:850;text-decoration:none;letter-spacing:-.025em}.brand>span:last-child>span{color:var(--orange)}.brand-icon{width:30px;height:30px;color:var(--navy)}.brand-icon svg{width:100%;height:100%}.site-nav{display:flex;align-items:center;gap:5px}.site-nav>a{padding:9px 11px;border-radius:5px;color:var(--ink-soft);font-size:.82rem;font-weight:650;text-decoration:none}.site-nav>a:hover,.site-nav>a[aria-current="page"]{color:var(--ink);background:var(--surface)}.site-nav .nav-github{margin-left:7px;color:white;background:var(--navy)}.site-nav .nav-github:hover{color:white;background:#242e43}.menu-button{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:6px;background:white}.menu-button>span:not(.sr-only){display:block;width:18px;height:2px;margin:4px auto;background:var(--ink)}
.home-hero{padding:82px 0 72px;background:linear-gradient(180deg,#f9fafc 0%,#fff 100%);border-bottom:1px solid var(--line)}.home-hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:74px;align-items:center}.hero-copy>p{max-width:720px;font-size:1.08rem}.hero-facts{display:flex;flex-wrap:wrap;gap:20px;margin-top:38px;padding-top:22px;border-top:1px solid var(--line)}.hero-facts span{color:var(--muted);font-size:.76rem}.hero-facts strong{display:block;color:var(--ink);font-size:1.04rem}.hero-module-index{border:1px solid var(--line-dark);background:white;box-shadow:var(--shadow-sm)}.hero-module-index-head{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:.75rem;font-weight:750}.hero-module-index-head a{color:var(--blue);text-decoration:none}.hero-module-row{padding:15px 16px;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;text-decoration:none;border-bottom:1px solid var(--line);transition:background .15s}.hero-module-row:hover{background:var(--surface)}.hero-module-row strong,.hero-module-row small{display:block}.hero-module-row strong{font-size:.88rem}.hero-module-row small{color:var(--muted);font-size:.72rem}.hero-module-row b{color:var(--blue)}.module-monogram{width:38px;height:38px;display:grid;place-items:center;border:1px solid #cfd5ff;border-radius:6px;color:var(--blue-dark);background:#f0f2ff;font-size:.72rem;font-weight:850;letter-spacing:.02em}.paid-index-row{padding:15px 16px;display:grid;grid-template-columns:1fr auto;gap:2px 12px;text-decoration:none;background:#fff8f4}.paid-index-row span{font-size:.82rem;font-weight:800}.paid-index-row small{grid-column:1;color:#8c6553;font-size:.7rem}.paid-index-row b{grid-column:2;grid-row:1/3;align-self:center;color:var(--orange)}
.section-modules{background:#fff}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.module-card{min-width:0;display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line-dark);background:white;box-shadow:var(--shadow-sm);transition:transform .17s,box-shadow .17s,border-color .17s}.module-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#c1c9d7}.module-image{height:250px;position:relative;overflow:hidden;background:var(--surface-2);border-bottom:1px solid var(--line)}.module-image img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .22s}.module-card:hover .module-image img{transform:scale(1.015)}[data-image-frame].image-failed{display:grid;place-items:center}[data-image-frame].image-failed::after{content:attr(data-image-frame);color:var(--muted);font-size:.78rem}.image-failed img{display:none}.module-card-content{padding:22px;display:flex;flex-direction:column}.module-card-top{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:start}.module-card-top h3{margin:1px 0 0;font-size:1.22rem}.module-card-top h3 a{text-decoration:none}.module-card-content>p{margin:18px 0 16px}.free-badge{padding:5px 8px;border:1px solid #bcd9cc;border-radius:5px;color:var(--green);background:#f2fbf6;font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.module-best{margin-top:auto;padding:12px 0;display:grid;grid-template-columns:68px 1fr;gap:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.73rem}.module-best strong{color:var(--ink)}.module-best span{color:var(--muted)}.module-card-actions{padding-top:15px;display:flex;justify-content:space-between;gap:14px}.module-card-actions a{color:var(--blue-dark);font-size:.76rem;font-weight:750;text-decoration:none}.module-card-actions a:last-child{color:var(--muted)}.module-card-compact .module-image{height:220px}.section-footer-link{margin-top:28px;text-align:right}
.section-showcase{background:var(--surface);border-block:1px solid var(--line)}.showcase-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.45fr);gap:30px;align-items:start}.gallery-viewer{min-width:0}.gallery-stage{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--line-dark);background:#e9edf3;box-shadow:var(--shadow)}.gallery-panel{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .22s}.gallery-panel.is-active{opacity:1}.gallery-panel img{width:100%;height:100%;object-fit:contain;background:#edf1f6}.gallery-tabs{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line-dark);border-top:0;background:#fff}.gallery-tab{min-width:0;padding:13px 14px;text-align:left;border:0;border-right:1px solid var(--line);background:white}.gallery-tab:last-child{border-right:0}.gallery-tab strong,.gallery-tab span{display:block}.gallery-tab strong{font-size:.76rem}.gallery-tab span{margin-top:2px;color:var(--muted);font-size:.66rem}.gallery-tab.is-active{box-shadow:inset 0 3px var(--blue);background:#f8f9ff}.showcase-copy{padding:25px;border:1px solid var(--line-dark);background:white}.showcase-copy h3{font-size:1.85rem}.showcase-copy .text-link{display:inline-block;margin-top:5px}
.section-platform{background:white}.platform-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:80px}.platform-copy p{max-width:740px}.platform-stack{border-top:1px solid var(--line-dark)}.platform-stack article{padding:22px 0;display:grid;grid-template-columns:36px 1fr;gap:16px;border-bottom:1px solid var(--line)}.platform-stack article>span{width:30px;height:30px;display:grid;place-items:center;border-radius:5px;color:var(--blue);background:#f0f2ff;font-size:.7rem;font-weight:850}.platform-stack h3{margin:0 0 4px;font-size:1rem}.platform-stack p{margin:0;font-size:.82rem}.platform-stack .platform-credit>span{color:#a54a27;background:#fff2eb}
.section-about{background:var(--navy)}.section-about .kicker,.section-about p{color:#aeb7c8}.section-about h2{color:#fff}.about-grid{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);gap:80px}.about-body>p{max-width:750px;font-size:1rem}.experience-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.experience-tags span{padding:7px 10px;border:1px solid #354057;border-radius:5px;color:#d9deea;background:#1a2438;font-size:.7rem}.section-cta{padding:68px 0}.cta-bar{padding:32px;display:flex;align-items:center;justify-content:space-between;gap:35px;border:1px solid var(--line-dark);background:var(--surface)}.cta-bar h2{margin:0;font-size:clamp(1.7rem,3vw,2.5rem)}.cta-bar .button-row{margin-top:0;flex-shrink:0}
.page-intro{padding:72px 0;background:var(--surface);border-bottom:1px solid var(--line)}.page-intro-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:80px;align-items:end}.page-intro h1{font-size:clamp(3.2rem,7vw,5.7rem);margin-bottom:18px}.page-intro p{max-width:720px}.catalog-summary{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line-dark);background:white}.catalog-summary span{padding:18px;border-right:1px solid var(--line);color:var(--muted);font-size:.7rem}.catalog-summary span:last-child{border-right:0}.catalog-summary strong{display:block;color:var(--ink);font-size:1rem}.section-catalog{padding-top:62px}.catalog-toolbar{display:flex;justify-content:space-between;gap:20px;margin-bottom:22px}.catalog-tabs{display:flex;border:1px solid var(--line-dark);background:white}.catalog-tab{padding:10px 14px;border:0;border-right:1px solid var(--line);background:white;color:var(--muted);font-size:.78rem;font-weight:750}.catalog-tab:last-child{border-right:0}.catalog-tab span{margin-left:7px;padding:2px 6px;border-radius:4px;background:var(--surface-2);font-size:.65rem}.catalog-tab.is-active{color:var(--ink);box-shadow:inset 0 -3px var(--blue)}.module-search{width:min(330px,100%);height:43px;padding:0 12px;display:flex;align-items:center;gap:8px;border:1px solid var(--line-dark);background:white}.module-search svg{width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:1.8}.module-search input{width:100%;border:0;outline:0;color:var(--ink);background:transparent}.filter-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}.filter-chip{padding:7px 11px;border:1px solid var(--line-dark);border-radius:5px;color:var(--muted);background:white;font-size:.72rem;font-weight:700}.filter-chip.is-active{color:white;border-color:var(--navy);background:var(--navy)}.empty-state{padding:40px;text-align:center;border:1px dashed var(--line-dark);background:var(--surface)}.paid-placeholder{min-height:390px;padding:48px;display:grid;grid-template-columns:1fr 320px;gap:80px;align-items:center;border:1px solid var(--line-dark);background:#fffaf7}.paid-placeholder>div:first-child{max-width:720px}.paid-placeholder-mark{min-height:250px;display:grid;place-items:center;align-content:center;border:1px solid #f1c8b5;color:#9a4f31;background:white}.paid-placeholder-mark span{font-size:.7rem;letter-spacing:.12em}.paid-placeholder-mark strong{font-size:2.1rem}.paid-placeholder-mark small{color:#946b59}
.breadcrumbs{padding-top:24px;display:flex;gap:8px;color:var(--muted);font-size:.72rem}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{color:var(--blue)}.module-hero{padding:52px 0 64px}.module-hero-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(430px,1.15fr);gap:60px;align-items:center}.module-heading-row{display:grid;grid-template-columns:58px 1fr;gap:16px;align-items:start}.module-monogram-large{width:58px;height:58px;font-size:.9rem}.module-hero h1{font-size:clamp(2.7rem,6vw,5rem);margin:0}.module-hero-copy>p{margin-top:25px;max-width:650px;font-size:1.04rem}.detail-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}.detail-badges>span:not(.free-badge){padding:5px 8px;border:1px solid var(--line-dark);border-radius:5px;color:var(--muted);font-size:.67rem}.module-hero-shot{margin:0;aspect-ratio:16/10;overflow:hidden;border:1px solid var(--line-dark);background:var(--surface);box-shadow:var(--shadow)}.module-hero-shot img{width:100%;height:100%;object-fit:contain;object-position:top center}.module-meta{border-block:1px solid var(--line);background:var(--surface)}.module-meta-grid{display:grid;grid-template-columns:repeat(4,1fr)}.module-meta-grid>div{padding:18px;border-right:1px solid var(--line)}.module-meta-grid>div:last-child{border-right:0}.module-meta-grid span,.module-meta-grid strong{display:block}.module-meta-grid span{color:var(--muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.06em}.module-meta-grid strong{margin-top:4px;font-size:.8rem}.module-story{padding-bottom:76px}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.story-grid h2{font-size:clamp(1.8rem,3.4vw,3rem)}.story-grid article:nth-child(2){padding-top:28px}.module-best-detail{max-width:560px;margin-top:28px}.section-gallery{background:var(--surface);border-block:1px solid var(--line)}.module-gallery-viewer .gallery-stage{aspect-ratio:16/9}.module-gallery-viewer .gallery-tabs{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.module-details-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:70px}.feature-checklist{padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;list-style:none}.feature-checklist li{padding:13px 14px 13px 35px;position:relative;border:1px solid var(--line);background:white;color:var(--ink-soft);font-size:.8rem}.feature-checklist li::before{content:"✓";position:absolute;left:13px;color:var(--green);font-weight:900}.technical-card{padding:28px;border:1px solid var(--line-dark);background:var(--surface)}.technical-card ul{padding-left:18px}.technical-card li{margin:10px 0;color:var(--ink-soft);font-size:.8rem}.module-install{background:var(--navy)}.module-install h2{color:white}.module-install p,.module-install .kicker{color:#aeb7c8}.install-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:80px}.install-steps{padding:0;margin:0;display:grid;gap:8px;list-style:none;counter-reset:step}.install-steps li{padding:14px;display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center;border:1px solid #354057;background:#182238}.install-steps li>span{width:30px;height:30px;display:grid;place-items:center;color:#fff;background:var(--blue);font-size:.7rem;font-weight:850}.install-steps p{margin:0;color:#e1e5ed;font-size:.8rem}.module-pagination{padding:44px 0;display:grid;grid-template-columns:1fr auto 1fr;gap:10px}.module-pagination a{padding:15px;border:1px solid var(--line-dark);text-decoration:none;background:white}.module-pagination a:last-child{text-align:right}.module-pagination span,.module-pagination strong{display:block}.module-pagination span{color:var(--muted);font-size:.64rem}.module-pagination strong{margin-top:3px;font-size:.77rem}.module-pagination a:hover{background:var(--surface)}.error-page{min-height:62vh;padding:110px 0}.error-page p{max-width:600px}
.site-footer{padding:56px 0 22px;color:#d9deea;background:var(--navy)}.footer-main{display:flex;justify-content:space-between;gap:70px}.brand-footer{color:white}.brand-footer .brand-icon{color:white}.footer-brand p{max-width:440px;color:#8f9aad;font-size:.76rem}.footer-columns{display:grid;grid-template-columns:repeat(2,150px);gap:40px}.footer-columns>div{display:grid;align-content:start;gap:7px}.footer-columns strong{margin-bottom:4px;font-size:.72rem}.footer-columns a{color:#9da7b9;font-size:.72rem;text-decoration:none}.footer-columns a:hover{color:white}.footer-bottom{margin-top:38px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #303a50;color:#7f8a9e;font-size:.65rem}
:focus-visible{outline:3px solid rgba(79,91,213,.28);outline-offset:3px}
@media (max-width:980px){.home-hero-grid,.platform-grid,.page-intro-grid,.module-hero-grid,.story-grid,.module-details-grid,.install-grid,.about-grid{grid-template-columns:1fr}.home-hero-grid{gap:45px}.hero-module-index{max-width:720px}.showcase-layout{grid-template-columns:1fr}.showcase-copy{max-width:none}.platform-grid,.about-grid,.story-grid,.module-details-grid,.install-grid{gap:42px}.module-hero-shot{max-width:820px}.catalog-summary{max-width:680px}.paid-placeholder{grid-template-columns:1fr}.paid-placeholder-mark{min-height:180px}.section-heading{grid-template-columns:1fr;gap:15px}.section-heading p{justify-self:start}.cta-bar{align-items:flex-start;flex-direction:column}.cta-bar .button-row{margin-top:10px}.gallery-tabs{grid-template-columns:repeat(2,1fr)}.gallery-tab:nth-child(2){border-right:0}.gallery-tab:nth-child(-n+2){border-bottom:1px solid var(--line)} }
@media (max-width:760px){:root{--shell:min(1220px, calc(100% - 28px))}html{scroll-padding-top:70px}.site-header{position:sticky}.nav-shell{height:64px}.menu-button{display:block}.site-nav{position:fixed;inset:64px 0 auto 0;padding:14px;display:none;align-items:stretch;flex-direction:column;background:white;border-bottom:1px solid var(--line-dark);box-shadow:var(--shadow)}.site-nav.is-open{display:flex}.site-nav>a{padding:12px}.site-nav .nav-github{margin-left:0}.section{padding:72px 0}.home-hero{padding:58px 0}.home-hero-grid{grid-template-columns:1fr}h1{font-size:clamp(2.7rem,13vw,4.4rem)}h2{font-size:clamp(1.9rem,9vw,3rem)}.hero-facts{display:grid;grid-template-columns:repeat(2,1fr)}.module-grid{grid-template-columns:1fr}.module-image,.module-card-compact .module-image{height:210px}.catalog-toolbar{align-items:stretch;flex-direction:column}.module-search{width:100%}.catalog-tabs{width:100%}.catalog-tab{flex:1}.catalog-summary{grid-template-columns:1fr}.catalog-summary span{border-right:0;border-bottom:1px solid var(--line)}.catalog-summary span:last-child{border-bottom:0}.gallery-tabs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.gallery-tab{min-width:170px;border-right:1px solid var(--line)!important;border-bottom:0!important;scroll-snap-align:start}.gallery-stage{aspect-ratio:4/3}.module-meta-grid{grid-template-columns:repeat(2,1fr)}.module-meta-grid>div:nth-child(2){border-right:0}.module-meta-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.feature-checklist{grid-template-columns:1fr}.module-pagination{grid-template-columns:1fr}.module-pagination a:last-child{text-align:left}.footer-main,.footer-bottom{flex-direction:column}.footer-columns{grid-template-columns:repeat(2,minmax(120px,1fr));width:100%}.button-row{width:100%}.button-row .button{flex:1}.module-hero{padding-top:38px}.module-heading-row{grid-template-columns:48px 1fr}.module-monogram-large{width:48px;height:48px}.module-hero h1{font-size:clamp(2.35rem,11vw,3.6rem)}.module-hero-shot{aspect-ratio:4/3}.showcase-copy{padding:20px}.paid-placeholder{padding:28px}.cta-bar{padding:24px}.section-footer-link{text-align:left}}
@media (max-width:440px){:root{--shell:min(1220px, calc(100% - 22px))}.brand{font-size:.83rem}.brand-icon{width:27px;height:27px}.hero-facts{grid-template-columns:1fr}.hero-module-row{grid-template-columns:38px 1fr auto}.module-card-content{padding:18px}.module-card-top{grid-template-columns:36px 1fr}.module-card-top .free-badge{grid-column:2;justify-self:start}.module-best{grid-template-columns:1fr;gap:3px}.button-row .button{flex-basis:100%}.module-meta-grid{grid-template-columns:1fr}.module-meta-grid>div{border-right:0!important;border-bottom:1px solid var(--line)}.module-meta-grid>div:last-child{border-bottom:0}.footer-columns{grid-template-columns:1fr}.page-intro{padding:52px 0}.filter-row{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.filter-chip{flex:0 0 auto}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* v4.1 services, contact, and support */
.site-nav .nav-request{color:var(--blue-dark);border:1px solid #cfd5ff;background:#f5f6ff}.site-nav .nav-request:hover,.site-nav .nav-request[aria-current="page"]{color:#fff;border-color:var(--blue);background:var(--blue)}
.section-services{background:#fff;border-bottom:1px solid var(--line)}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service-card{padding:26px;border:1px solid var(--line-dark);background:var(--surface);position:relative}.service-number{display:block;margin-bottom:24px;color:var(--blue);font-size:.72rem;font-weight:850;letter-spacing:.08em}.service-card h3{font-size:1.3rem}.service-card p{max-width:560px}.service-card ul{padding:16px 0 0;margin:18px 0 0;display:flex;flex-wrap:wrap;gap:7px;border-top:1px solid var(--line);list-style:none}.service-card li{padding:5px 8px;border:1px solid var(--line);border-radius:4px;color:var(--muted);background:#fff;font-size:.68rem}.service-process{margin-top:22px;padding:17px 20px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1px solid var(--line-dark);background:#fff;font-size:.74rem}.service-process strong{margin-right:8px}.service-process span{color:var(--ink-soft)}.service-process i{color:var(--blue);font-style:normal;font-weight:800}
.section-support{padding:70px 0;background:#fff8f2;border-block:1px solid #f0d2c2}.support-panel{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:70px;align-items:center}.support-panel h2{margin-bottom:12px}.support-panel p{max-width:720px;margin-bottom:0}.support-actions{display:grid;justify-items:start;gap:12px}.support-actions small{max-width:420px;color:#8a6858;font-size:.67rem}.button-coffee{color:#2c1b13;border-color:#f2a97f;background:#ffddc8}.button-coffee:hover{color:#21130e;background:#ffd1b5}.button-coffee-small{font-size:.78rem}
.platform-credit .text-link{display:inline-block;margin-top:8px}.cta-bar>div:first-child p{max-width:650px;margin-bottom:0}.footer-columns{grid-template-columns:repeat(3,150px)}
.module-service-cta{padding:56px 0;background:#fff8f2;border-top:1px solid #f0d2c2}.module-service-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:45px}.module-service-cta h2{margin-bottom:10px;font-size:clamp(1.8rem,3vw,2.8rem)}.module-service-cta p{max-width:720px;margin-bottom:0}.module-service-cta .button-row{margin-top:0;flex-shrink:0}
.request-intro{background:linear-gradient(180deg,#f8f9fc,#fff)}.request-summary{display:grid;border:1px solid var(--line-dark);background:#fff}.request-summary span{padding:16px 18px;display:grid;gap:2px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.72rem}.request-summary span:last-child{border-bottom:0}.request-summary strong{color:var(--ink);font-size:.82rem}.request-section{background:var(--surface)}.request-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:28px;align-items:start}.request-form-wrap{padding:30px;border:1px solid var(--line-dark);background:#fff}.request-form-wrap>h2{font-size:clamp(2rem,4vw,3rem)}.request-form{display:grid;gap:17px}.request-form label{display:grid;gap:7px}.request-form label>span{color:var(--ink);font-size:.74rem;font-weight:750}.request-form input,.request-form select,.request-form textarea{width:100%;padding:11px 12px;border:1px solid var(--line-dark);border-radius:5px;color:var(--ink);background:#fff;outline:0;transition:border-color .14s,box-shadow .14s}.request-form input,.request-form select{min-height:44px}.request-form textarea{resize:vertical;line-height:1.5}.request-form input:focus,.request-form select:focus,.request-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(79,91,213,.12)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:3px}.form-status{min-height:1.4em;margin:0;color:var(--green);font-size:.75rem;font-weight:700}.form-status.is-error{color:#b42318}.form-privacy{padding-top:14px;margin:0;border-top:1px solid var(--line);color:var(--muted);font-size:.68rem}.form-privacy a{color:var(--blue-dark)}.request-sidebar{display:grid;gap:18px}.request-sidebar article{padding:24px;border:1px solid var(--line-dark);background:#fff}.request-sidebar h3{font-size:1.15rem}.request-sidebar .plain-list{margin-bottom:0}.request-steps{padding:0;margin:18px 0 0;display:grid;gap:10px;list-style:none}.request-steps li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start}.request-steps li>span{width:26px;height:26px;display:grid;place-items:center;color:#fff;border-radius:4px;background:var(--blue);font-size:.65rem;font-weight:850}.request-steps p{margin:2px 0 0;font-size:.76rem}.request-support{background:#fff8f2!important;border-color:#f0d2c2!important}.request-support .button{margin-top:8px;width:100%}
@media (max-width:980px){.support-panel,.request-layout{grid-template-columns:1fr}.support-panel{gap:30px}.module-service-cta-inner{align-items:flex-start;flex-direction:column}.module-service-cta .button-row{margin-top:0}.footer-columns{grid-template-columns:repeat(3,minmax(120px,1fr));width:100%}}
@media (max-width:760px){.service-grid{grid-template-columns:1fr}.service-card{padding:22px}.service-process{align-items:flex-start;flex-direction:column;gap:6px}.service-process i{display:none}.support-panel{gap:25px}.module-service-cta{padding:44px 0}.form-grid{grid-template-columns:1fr}.request-form-wrap{padding:22px}.request-sidebar article{padding:21px}.form-actions .button{flex:1}.footer-columns{grid-template-columns:repeat(2,minmax(120px,1fr))}}
@media (max-width:440px){.footer-columns{grid-template-columns:1fr}.form-actions .button{flex-basis:100%}.support-actions .button{width:100%}}

/* v5.0.0: explicit independent-project disclosure */
.footer-disclaimer{max-width:760px;margin:0;text-align:right;line-height:1.55}
.request-independent p{margin-bottom:0}
@media (max-width:760px){.footer-disclaimer{max-width:none;text-align:left}}


/* v5.2.0: install guide, local workspace gallery, and footer legibility */
.gallery-panel.image-failed{display:grid;place-items:center;background:#eef2f7}
.gallery-panel.image-failed img{display:none}
.gallery-panel.image-failed::after{content:attr(data-image-frame);max-width:360px;padding:20px;color:var(--muted);text-align:center;font-size:.82rem}
.module-install-callout{margin-top:30px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid var(--line-dark);background:var(--surface)}
.module-install-callout .kicker{margin-bottom:3px}.module-install-callout strong{display:block;font-size:.95rem}
.install-guide-link{margin-top:24px}.install-guide-link .button{color:#fff;border-color:#59657a;background:#182238}.install-guide-link .button:hover{background:#263249}
.install-page-intro{padding:64px 0 76px;background:linear-gradient(180deg,#f7f8fb 0%,#fff 100%);border-bottom:1px solid var(--line)}
.install-page-intro h1{font-size:clamp(3rem,7vw,5.4rem)}.install-page-intro .page-intro-grid{align-items:center}
.install-summary{display:grid;border:1px solid var(--line-dark);background:#fff;box-shadow:var(--shadow-sm)}
.install-summary span{padding:16px 18px;display:grid;grid-template-columns:minmax(130px,.7fr) 1fr;gap:16px;border-bottom:1px solid var(--line);font-size:.78rem}
.install-summary span:last-child{border-bottom:0}.install-summary strong{color:var(--ink)}.install-summary code{font-size:.76rem}
.install-scope{background:#fff}.install-path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.install-path-grid article{padding:28px;border:1px solid var(--line-dark);background:var(--surface)}.install-path-grid h3{font-size:1.45rem}
.install-path-label,.hosting-badge{display:inline-flex;margin-bottom:20px;padding:5px 8px;border:1px solid #cfd5ff;border-radius:4px;color:var(--blue-dark);background:#f3f4ff;font-size:.68rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.install-hosting{background:var(--surface);border-block:1px solid var(--line)}.hosting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.hosting-card{padding:30px;border:1px solid var(--line-dark);background:#fff}.hosting-card-featured{border-top:4px solid var(--blue)}.hosting-card h3{font-size:1.7rem}.hosting-note{padding-top:15px;margin-top:18px;border-top:1px solid var(--line);font-size:.78rem}
.compact-list{margin:16px 0}.compact-list li{padding-block:7px}.resource-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:18px}
.install-procedure{background:#fff}.procedure-list{padding:0;margin:0;display:grid;border-top:1px solid var(--line-dark);list-style:none}
.procedure-list li{padding:28px 0;display:grid;grid-template-columns:70px minmax(0,1fr);gap:24px;border-bottom:1px solid var(--line)}
.procedure-number{color:var(--blue);font-size:1.15rem;font-weight:900;letter-spacing:.04em}.procedure-list h3{margin-bottom:7px;font-size:1.18rem}.procedure-list p{max-width:920px;margin-bottom:0}
.install-checks{background:var(--surface)}.install-check-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:60px;align-items:start}
.install-feature-list{margin-top:25px}.install-warning{background:#fff}.install-warning code{font-size:.74rem}.install-rollback .text-link-light{display:inline-block;margin-top:12px;color:#cbd3ff}
.site-footer{padding-top:52px}.footer-columns{grid-template-columns:repeat(4,minmax(120px,1fr));gap:28px}.footer-brand p{color:#b2bccd}
.footer-legal{margin-top:34px;padding:20px 22px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);gap:35px;border:1px solid #38445a;background:#182238}
.footer-legal strong{display:block;margin-bottom:5px;color:#fff;font-size:.78rem}.footer-legal p{margin:0;color:#d9e0eb;font-size:.74rem;line-height:1.65}
.footer-legal .footer-thanks{align-self:center;color:#b9c3d2}.footer-bottom{margin-top:18px;color:#aeb8c8}.footer-bottom span:last-child{text-align:right}
@media (max-width:1100px){.site-nav>a{padding-inline:8px;font-size:.77rem}.footer-columns{grid-template-columns:repeat(2,minmax(140px,1fr))}}
@media (max-width:980px){.install-path-grid,.hosting-grid,.install-check-grid{grid-template-columns:1fr}.footer-legal{grid-template-columns:1fr;gap:12px}}
@media (max-width:760px){.module-install-callout{align-items:flex-start;flex-direction:column}.module-install-callout .button{width:100%}.install-summary span{grid-template-columns:1fr;gap:3px}.procedure-list li{grid-template-columns:48px 1fr;gap:12px}.hosting-card{padding:23px}.footer-columns{grid-template-columns:repeat(2,minmax(120px,1fr))}.footer-bottom span:last-child{text-align:left}}
@media (max-width:440px){.procedure-list li{grid-template-columns:1fr;gap:6px}.procedure-number{font-size:.82rem}.footer-columns{grid-template-columns:1fr}}


/* v5.4.0 — refined white AdamCoffeeOverflow identity */
:root{
  --ink:#151b2b;--ink-soft:#445064;--muted:#6c7688;--line:#e3e6ec;--line-dark:#d5dae4;
  --paper:#fff;--surface:#f7f8fb;--surface-2:#eef1f6;--navy:#161d2d;--blue:#5148d8;--blue-dark:#3830aa;
  --orange:#c96a3d;--green:#157454;--shadow:0 18px 44px rgba(26,34,53,.09);--shadow-sm:0 8px 24px rgba(26,34,53,.06);
  --radius:12px;--radius-lg:18px;--shell:min(1240px,calc(100% - 44px));
}
body{background:#fcfcfd;color:var(--ink)}
.site-header{background:rgba(255,255,255,.94);border-color:rgba(221,225,233,.9)}
.nav-shell{height:76px}.brand{font-size:.98rem}.brand-icon{width:32px;height:32px;color:var(--blue)}
.site-nav>a{padding:9px 12px;border-radius:8px}.site-nav>a:hover,.site-nav>a[aria-current="page"]{background:#f3f2ff;color:var(--blue-dark)}
.site-nav .nav-request{color:var(--blue-dark);border:1px solid #ddd9ff;background:#f5f3ff}.site-nav .nav-request:hover{background:#ece9ff}
.site-nav .nav-github{border-radius:8px;background:var(--navy)}
.home-hero{padding:92px 0 78px;background:radial-gradient(circle at 82% 15%,rgba(81,72,216,.09),transparent 30%),radial-gradient(circle at 8% 88%,rgba(201,106,61,.08),transparent 26%),linear-gradient(180deg,#fbfaf8 0%,#fff 72%)}
.home-hero-grid{gap:72px}.hero-copy h1{max-width:820px;font-size:clamp(3.4rem,6.6vw,5.4rem)}.hero-copy>p{max-width:760px;font-size:1.12rem;line-height:1.7}
.hero-facts{gap:0;margin-top:36px;padding-top:0;border-top:0;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.76);overflow:hidden}
.hero-facts span{min-width:0;flex:1;padding:16px 18px;border-right:1px solid var(--line);font-size:.72rem}.hero-facts span:last-child{border-right:0}.hero-facts strong{margin-bottom:2px;font-size:.96rem}
.hero-module-index{overflow:hidden;border-radius:18px;border-color:var(--line-dark);box-shadow:0 24px 60px rgba(31,38,60,.12)}
.hero-module-index-head{padding:16px 18px;background:#fbfbfd}.hero-module-row{padding:16px 18px;transition:background .16s,transform .16s}.hero-module-row:hover{background:#f7f6ff;transform:translateX(2px)}
.module-monogram{border-radius:10px;background:#f2f0ff;border-color:#d9d4ff}.paid-index-row{padding:16px 18px;background:#fff8f3}
.section{padding:90px 0}.section-heading{gap:42px;margin-bottom:34px}.section-heading p{font-size:.98rem;line-height:1.7}
.button{min-height:46px;padding:12px 18px;border-radius:10px}.button-primary{box-shadow:0 7px 18px rgba(81,72,216,.18)}
.module-grid{gap:24px}.module-card{overflow:hidden;border-radius:18px;border-color:var(--line);box-shadow:0 2px 4px rgba(20,27,43,.03),0 12px 30px rgba(20,27,43,.05)}
.module-card:hover{transform:translateY(-4px);border-color:#cacfe0;box-shadow:0 22px 46px rgba(20,27,43,.11)}
.module-card:nth-child(4n+1){border-top:3px solid #6158dd}.module-card:nth-child(4n+2){border-top:3px solid #d97845}.module-card:nth-child(4n+3){border-top:3px solid #26946c}.module-card:nth-child(4n+4){border-top:3px solid #74809a}
.module-image{background:#f0f2f6}.module-card-content{padding:24px}.module-card-top h3{font-size:1.3rem}.free-badge{border-radius:999px;padding:5px 9px}
.module-proof{display:flex;flex-wrap:wrap;gap:7px;margin:-2px 0 18px}.module-proof span{padding:5px 8px;border:1px solid #e1e4eb;border-radius:999px;color:#657083;background:#fafbfc;font-size:.65rem;font-weight:750}
.module-best{border-color:#e6e9ef}.module-card-actions a{font-size:.79rem}
.section-services{background:#fbfaf8;border-block:1px solid #ebe8e3}.service-grid{gap:18px}.service-card{position:relative;overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(20,27,43,.05)}
.service-card::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--blue),var(--orange))}.service-number{color:var(--blue-dark)}
.section-showcase{background:#f7f8fb}.showcase-layout{grid-template-columns:minmax(0,1.5fr) minmax(310px,.5fr);gap:26px}.gallery-stage{border-radius:16px 16px 0 0;box-shadow:0 18px 42px rgba(20,27,43,.1)}
.gallery-tabs{overflow:hidden;border-radius:0 0 16px 16px}.gallery-tab{padding:14px 15px}.showcase-copy{border-radius:16px;padding:28px;box-shadow:0 12px 30px rgba(20,27,43,.05)}
.section-platform{background:linear-gradient(180deg,#fff 0%,#fbfbfd 100%)}.platform-stack{display:grid;gap:10px;border-top:0}.platform-stack article{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.platform-stack article>span{border-radius:9px}.platform-stack .platform-credit{border-color:#ecd8cc;background:#fffaf7}
.section-about{background:#f7f8fb}.about-grid{align-items:start}.experience-tags span{border-radius:999px;background:#fff}
.section-support{background:#fff7f1}.support-panel{padding-block:4px}.cta-bar{border-radius:18px}
.page-intro,.install-page-intro,.request-intro{background:radial-gradient(circle at 86% 10%,rgba(81,72,216,.08),transparent 28%),linear-gradient(180deg,#fbfaf8,#fff)}
.catalog-summary,.install-summary,.request-summary{overflow:hidden;border-radius:16px;box-shadow:var(--shadow-sm)}
.catalog-toolbar{border-radius:14px}.catalog-tab,.filter-chip,.module-search input{border-radius:9px}.catalog-tab.is-active,.filter-chip.is-active{background:#f0eeff;color:var(--blue-dark)}
.module-hero{background:radial-gradient(circle at 85% 20%,rgba(81,72,216,.08),transparent 30%),linear-gradient(180deg,#fbfaf8,#fff)}
.module-hero-shot{overflow:hidden;border-radius:18px;box-shadow:0 20px 48px rgba(20,27,43,.1)}.identity-kicker{display:block;margin-bottom:6px;color:var(--orange);font-size:.68rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.detail-badges span{border-radius:999px}.technical-card,.hosting-card,.request-form-wrap,.request-sidebar article{border-radius:16px;box-shadow:0 10px 28px rgba(20,27,43,.05)}
.install-path-grid article{border-radius:16px}.hosting-card-featured{border-top-width:3px}.procedure-list{border-top-color:var(--line-dark)}
.site-footer{padding-top:58px;background:#171e2e}.footer-brand p{color:#c5ccda;font-size:.78rem;line-height:1.7}.footer-columns strong{color:#fff}.footer-columns a{color:#b7c0d0}.footer-columns a:hover{color:#fff}
.footer-legal{border-color:#48546a;border-radius:14px;background:#222b3e}.footer-legal strong{font-size:.8rem}.footer-legal p{color:#eef2f8;font-size:.76rem}.footer-legal .footer-thanks{color:#d3daE6}
.footer-bottom{color:#aab4c5}.footer-bottom span:last-child{color:#b9c2d1}
@media (max-width:980px){.hero-facts{max-width:760px}.showcase-layout{grid-template-columns:1fr}.home-hero-grid{gap:44px}}
@media (max-width:760px){:root{--shell:min(100% - 28px,1240px)}.home-hero{padding:64px 0 52px}.hero-copy h1{font-size:clamp(2.8rem,14vw,4.2rem)}.hero-facts{display:grid;grid-template-columns:1fr}.hero-facts span{border-right:0;border-bottom:1px solid var(--line)}.hero-facts span:last-child{border-bottom:0}.section{padding:68px 0}.module-card{border-radius:15px}.gallery-tabs{display:flex;overflow-x:auto}.gallery-tab{min-width:160px;flex:0 0 auto}.site-nav .nav-request{border:0;background:transparent}.site-nav .nav-request:hover{background:var(--surface)}}
@media (max-width:440px){.hero-copy h1{font-size:2.65rem}.hero-module-index{border-radius:14px}.button-row .button{width:100%}.module-proof{margin-bottom:15px}}


/* v5.5.0 — module presentation and experience-section refinement */
.section-modules .section-heading{
  grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);
  align-items:center;
}
.section-modules .section-heading h2{max-width:760px}
.featured-module-grid{align-items:stretch}

/* Screenshots now sit in a neutral product frame instead of carrying the category accent. */
.module-card{
  border-top:1px solid var(--line)!important;
  border-radius:18px;
  background:#fff;
}
.module-image,
.module-card-compact .module-image{
  height:246px;
  padding:30px 12px 12px;
  display:block;
  position:relative;
  background:linear-gradient(180deg,#f4f6f9 0%,#eef1f5 100%);
  border-bottom:1px solid var(--line);
}
.module-image::before{
  content:"";
  position:absolute;
  top:12px;
  left:15px;
  width:42px;
  height:8px;
  background:
    radial-gradient(circle at 4px 4px,#c7ccd6 0 3px,transparent 3.5px),
    radial-gradient(circle at 21px 4px,#c7ccd6 0 3px,transparent 3.5px),
    radial-gradient(circle at 38px 4px,#c7ccd6 0 3px,transparent 3.5px);
}
.module-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:top center;
  border:1px solid #d9dee7;
  border-radius:9px;
  background:#fff;
  box-shadow:0 8px 20px rgba(20,27,43,.08);
}
.module-card:hover .module-image img{transform:none}
.module-card-content{
  position:relative;
  border-top:0;
}
.module-card-top{align-items:center}
.module-card[data-category="search"] .module-monogram{
  color:#4338ca;background:#f1efff;border-color:#d9d4ff;
}
.module-card[data-category="aging"] .module-monogram{
  color:#a64b20;background:#fff2e9;border-color:#f1d1bf;
}
.module-card[data-category="routing"] .module-monogram{
  color:#176e51;background:#edf9f4;border-color:#cce9dc;
}
.module-card[data-category="engagement"] .module-monogram{
  color:#4d5c78;background:#f0f3f8;border-color:#d9dee8;
}
.module-proof span{
  color:#566176;
  background:#f8f9fb;
  border-color:#e1e5ec;
}
.module-best{
  background:#fbfcfd;
  margin-inline:-2px;
  padding-inline:10px;
  border-radius:8px;
}
.module-card-actions{align-items:center}
.module-card-actions a:first-child{
  color:var(--blue-dark);
  font-weight:800;
}
.module-card-actions a:last-child{
  padding:6px 9px;
  border-radius:7px;
}
.module-card-actions a:last-child:hover{
  background:#f3f4f7;
  color:var(--ink);
  text-decoration:none;
}

/* Rebuilt experience section: readable, compact, and proof-led. */
.section-about{
  background:linear-gradient(180deg,#fff 0%,#f7f8fb 100%);
}
.section-about .kicker{color:var(--muted)}
.section-about h2{color:var(--ink)}
.section-about p{color:var(--ink-soft)}
.about-panel{
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);
  border:1px solid var(--line-dark);
  border-radius:20px;
  background:#fff;
  box-shadow:0 18px 46px rgba(20,27,43,.07);
}
.about-intro{
  padding:38px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  background:
    radial-gradient(circle at 18% 12%,rgba(81,72,216,.10),transparent 34%),
    radial-gradient(circle at 92% 88%,rgba(201,106,61,.09),transparent 30%),
    #fbfaf8;
  border-right:1px solid var(--line);
}
.about-intro h2{
  max-width:500px;
  margin-bottom:18px;
  font-size:clamp(2.3rem,4.4vw,4rem);
}
.about-intro p{
  max-width:560px;
  margin-bottom:22px;
  font-size:1rem;
  line-height:1.72;
}
.experience-grid{
  padding:28px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-content:center;
}
.experience-card{
  min-width:0;
  padding:22px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}
.experience-card-wide{grid-column:1/-1}
.experience-number{
  display:block;
  margin-bottom:20px;
  color:var(--blue);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.09em;
}
.experience-card h3{
  margin-bottom:9px;
  font-size:1.18rem;
}
.experience-card p{
  margin:0;
  font-size:.86rem;
  line-height:1.65;
}
.experience-strip{
  grid-column:1/-1;
  padding:18px 24px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  border-top:1px solid var(--line);
  background:#fafbfc;
}
.experience-strip strong{
  margin-right:8px;
  color:var(--ink);
  font-size:.72rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.experience-strip span{
  padding:6px 9px;
  border:1px solid #dde2ea;
  border-radius:7px;
  color:#596579;
  background:#fff;
  font-size:.69rem;
  font-weight:700;
}

@media (max-width:980px){
  .about-panel{grid-template-columns:1fr}
  .about-intro{border-right:0;border-bottom:1px solid var(--line)}
}
@media (max-width:760px){
  .section-modules .section-heading{grid-template-columns:1fr}
  .module-image,.module-card-compact .module-image{height:230px}
  .about-intro{padding:28px}
  .experience-grid{grid-template-columns:1fr;padding:20px}
  .experience-card-wide{grid-column:auto}
  .experience-strip{padding:16px 20px}
}
@media (max-width:440px){
  .module-image,.module-card-compact .module-image{height:205px;padding:28px 9px 9px}
  .about-panel{border-radius:15px}
  .about-intro{padding:23px}
  .about-intro h2{font-size:2.25rem}
  .experience-grid{padding:14px}
  .experience-card{padding:18px}
  .experience-strip strong{width:100%;margin-bottom:3px}
}


/* v5.6.0 — supplied module artwork as the module identity system */
.module-icon{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid #dce1e9;
  border-radius:12px;
  background:#fff;
  box-shadow:0 7px 18px rgba(20,27,43,.09);
}
.module-icon img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.module-icon-small{
  width:42px;
  height:42px;
  border-radius:10px;
}
.module-icon-card{
  width:48px;
  height:48px;
}
.module-icon-large{
  width:78px;
  height:78px;
  border-radius:18px;
  box-shadow:0 12px 28px rgba(20,27,43,.12);
}
.hero-module-row{
  grid-template-columns:42px 1fr auto;
}
.hero-module-row:hover .module-icon{
  transform:translateY(-1px);
  box-shadow:0 9px 22px rgba(20,27,43,.12);
}
.module-card-top{
  grid-template-columns:48px minmax(0,1fr) auto;
}
.module-card-top .module-icon{
  align-self:start;
}
.module-heading-row{
  grid-template-columns:78px minmax(0,1fr);
  align-items:center;
}
.module-heading-row .identity-kicker{
  display:block;
}
.module-heading-row h1{
  text-wrap:balance;
}
.module-card:hover .module-icon{
  box-shadow:0 10px 24px rgba(20,27,43,.13);
}
.module-icon,
.hero-module-row .module-icon{
  transition:transform .16s ease,box-shadow .16s ease;
}

/* The supplied marks carry their own palettes, so no extra category color bars are needed. */
.module-card[data-category] .module-icon{
  color:inherit;
  background:#fff;
  border-color:#dce1e9;
}

@media (max-width:760px){
  .module-icon-large{
    width:64px;
    height:64px;
    border-radius:15px;
  }
  .module-heading-row{
    grid-template-columns:64px minmax(0,1fr);
    gap:14px;
  }
}
@media (max-width:440px){
  .module-icon-small{
    width:38px;
    height:38px;
  }
  .module-icon-card{
    width:44px;
    height:44px;
  }
  .module-card-top{
    grid-template-columns:44px minmax(0,1fr);
  }
  .module-card-top .free-badge{
    grid-column:2;
    justify-self:start;
  }
  .module-icon-large{
    width:56px;
    height:56px;
    border-radius:13px;
  }
  .module-heading-row{
    grid-template-columns:56px minmax(0,1fr);
  }
}


/* v5.7.0 — compact catalogue controls and local language switcher */
.language-switcher{
  min-width:88px;height:36px;padding:0 8px;display:flex;align-items:center;gap:6px;
  border:1px solid var(--line-dark);border-radius:9px;background:#fff;color:var(--ink-soft);
}
.language-switcher svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.65;flex:0 0 auto}
.language-switcher select{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:.72rem;font-weight:800;cursor:pointer}
.language-switcher:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(81,72,216,.12)}
.catalog-control-panel{
  margin-bottom:24px;padding:10px;border:1px solid var(--line-dark);border-radius:15px;
  background:#fff;box-shadow:0 10px 28px rgba(20,27,43,.055);
}
.catalog-control-main{display:flex;align-items:center;justify-content:space-between;gap:14px}
.catalog-tabs{padding:4px;gap:3px;border:0;border-radius:11px;background:#f1f3f7}
.catalog-tab{min-height:38px;padding:8px 13px;border:1px solid transparent!important;border-radius:8px!important;background:transparent;color:#657084;box-shadow:none!important}
.catalog-tab span{margin-left:7px;background:#e4e8ef;color:#5d687c}
.catalog-tab.is-active{color:var(--blue-dark);border-color:#d7d3ff!important;background:#fff;box-shadow:0 3px 10px rgba(20,27,43,.08)!important}
.catalog-tab.is-active span{background:#eeeaff;color:var(--blue-dark)}
.module-search{height:40px;border-radius:10px;background:#fafbfc}
.catalog-filter-bar{margin-top:10px;padding-top:10px;display:flex;align-items:center;gap:14px;border-top:1px solid var(--line)}
.catalog-filter-label{flex:0 0 auto;color:var(--muted);font-size:.66rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.catalog-filter-bar .filter-row{margin:0;gap:6px}
.filter-chip{padding:7px 11px;border-radius:8px;background:#f7f8fa}
.filter-chip.is-active{color:#fff;border-color:var(--navy);background:var(--navy)}
.catalog-control-panel.is-paid .catalog-control-main{justify-content:flex-start}
[hidden]{display:none!important}
@media (max-width:980px){
  .site-nav{gap:5px}.language-switcher{margin-left:auto}
}
@media (max-width:760px){
  .language-switcher{width:100%;height:42px;margin:4px 0 0;padding:0 12px}.language-switcher select{font-size:.78rem}
  .catalog-control-main{align-items:stretch;flex-direction:column}.catalog-tabs{width:100%}.catalog-tab{flex:1}
  .catalog-filter-bar{align-items:flex-start;flex-direction:column;gap:8px}.catalog-filter-bar .filter-row{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}
}
@media (max-width:440px){
  .catalog-control-panel{padding:8px;border-radius:12px}.catalog-tab{padding:8px 9px;font-size:.71rem}.catalog-tab span{margin-left:4px;padding:2px 5px}
}

.clipboard-helper{position:fixed;left:-9999px;top:0;width:1px;height:1px;opacity:0;pointer-events:none}
@media (min-width:761px) and (max-width:1120px){
  .menu-button{display:block}
  .site-nav{position:fixed;top:72px;right:20px;width:min(360px,calc(100% - 40px));padding:12px;display:none;align-items:stretch;flex-direction:column;border:1px solid var(--line-dark);border-radius:12px;background:#fff;box-shadow:var(--shadow)}
  .site-nav.is-open{display:flex}
  .site-nav>a{padding:11px 12px}
  .site-nav .nav-github{margin-left:0}
  .language-switcher{width:100%;height:42px;margin:3px 0}
}


/* v5.8.0 — About section with a useful development-workspace visual */
.section-about{
  background:linear-gradient(180deg,#f7f8fb 0%,#fff 100%);
}
.about-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.62fr);
  align-items:end;
  gap:48px;
  margin-bottom:30px;
}
.about-heading h2{
  max-width:700px;
  margin:0;
  color:var(--ink);
  font-size:clamp(2.45rem,5vw,4.6rem);
  line-height:.98;
  letter-spacing:-.045em;
}
.about-heading > p{
  max-width:590px;
  margin:0 0 5px;
  color:var(--ink-soft);
  font-size:1rem;
  line-height:1.75;
}
.about-workspace{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(320px,.72fr);
  overflow:hidden;
  border:1px solid var(--line-dark);
  border-radius:20px;
  background:#fff;
  box-shadow:0 22px 58px rgba(20,27,43,.09);
}
.about-workspace-visual{
  min-width:0;
  min-height:510px;
  position:relative;
  overflow:hidden;
  margin:0;
  background:#edf0f5;
  border-right:1px solid var(--line);
}
.about-workspace-visual::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(17,24,39,0) 45%,rgba(17,24,39,.84) 100%),
    linear-gradient(90deg,rgba(255,255,255,.06),transparent 28%);
}
.about-workspace-visual img{
  width:100%;
  height:100%;
  min-height:510px;
  display:block;
  object-fit:cover;
  object-position:center top;
  transform:scale(1.015);
}
.about-workspace-caption{
  position:absolute;
  z-index:1;
  left:28px;
  right:28px;
  bottom:26px;
  max-width:700px;
  color:#fff;
}
.about-workspace-caption span{
  display:block;
  margin-bottom:7px;
  color:#d9d5ff;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.about-workspace-caption strong{
  display:block;
  max-width:640px;
  font-size:clamp(1.5rem,2.6vw,2.35rem);
  line-height:1.05;
  letter-spacing:-.025em;
}
.about-workspace-caption p{
  max-width:680px;
  margin:10px 0 0;
  color:rgba(255,255,255,.82);
  font-size:.84rem;
  line-height:1.58;
}
.about-workspace-details{
  min-width:0;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:0;
  background:#fff;
}
.about-proof-card{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:12px;
  padding:21px 16px;
  border-bottom:1px solid var(--line);
}
.about-proof-card > span{
  padding-top:3px;
  color:var(--blue);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
}
.about-proof-card h3{
  margin:0 0 7px;
  color:var(--ink);
  font-size:1.05rem;
}
.about-proof-card p{
  margin:0;
  color:var(--ink-soft);
  font-size:.79rem;
  line-height:1.63;
}
.about-workspace-cta{
  width:100%;
  margin-top:auto;
  justify-content:space-between;
  min-height:48px;
}
.about-experience-strip{
  margin-top:16px;
  border:1px solid var(--line);
  border-radius:13px;
}
@media (max-width:1020px){
  .about-heading{grid-template-columns:1fr;gap:18px}
  .about-heading > p{max-width:760px}
  .about-workspace{grid-template-columns:1fr}
  .about-workspace-visual{min-height:430px;border-right:0;border-bottom:1px solid var(--line)}
  .about-workspace-visual img{min-height:430px}
  .about-workspace-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
  .about-proof-card{grid-template-columns:1fr;padding:20px;border-bottom:0;border-right:1px solid var(--line)}
  .about-proof-card:last-of-type{border-right:0}
  .about-workspace-cta{grid-column:1/-1;margin-top:8px}
}
@media (max-width:760px){
  .about-heading{margin-bottom:22px}
  .about-heading h2{font-size:clamp(2.35rem,12vw,3.7rem)}
  .about-workspace{border-radius:16px}
  .about-workspace-visual,.about-workspace-visual img{min-height:350px}
  .about-workspace-caption{left:20px;right:20px;bottom:19px}
  .about-workspace-caption p{font-size:.76rem}
  .about-workspace-details{display:flex;padding:12px}
  .about-proof-card{grid-template-columns:34px minmax(0,1fr);padding:18px 12px;border-right:0;border-bottom:1px solid var(--line)}
  .about-workspace-cta{margin-top:10px}
}
@media (max-width:460px){
  .about-workspace-visual,.about-workspace-visual img{min-height:310px}
  .about-workspace-visual img{object-position:44% top}
  .about-workspace-caption strong{font-size:1.45rem}
  .about-workspace-caption p{display:none}
  .about-experience-strip{margin-top:12px}
}


/* v5.9.0 — expandable workspace imagery */
[data-lightbox-frame]{
  position:relative;
  cursor:zoom-in;
  outline:none;
}
[data-lightbox-frame]:focus-visible{
  box-shadow:0 0 0 4px rgba(79,70,229,.22);
}
.media-zoom-hint{
  position:absolute;
  right:14px;
  bottom:14px;
  z-index:5;
  padding:8px 11px;
  border:1px solid rgba(255,255,255,.52);
  border-radius:999px;
  color:#fff;
  background:rgba(13,20,34,.78);
  box-shadow:0 7px 20px rgba(13,20,34,.24);
  backdrop-filter:blur(8px);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.02em;
  pointer-events:none;
}
.gallery-panel .media-zoom-hint{
  bottom:12px;
}
.media-lightbox{
  width:100vw;
  max-width:none;
  height:100vh;
  max-height:none;
  padding:0;
  border:0;
  background:rgba(7,11,20,.88);
  color:#fff;
}
.media-lightbox::backdrop{
  background:rgba(7,11,20,.88);
}
.media-lightbox[open]{
  display:grid;
  place-items:center;
}
.media-lightbox-shell{
  width:min(96vw,1700px);
  height:min(94vh,1050px);
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  background:#111827;
  box-shadow:0 30px 90px rgba(0,0,0,.48);
}
.media-lightbox-toolbar{
  min-width:0;
  padding:13px 15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-bottom:1px solid rgba(255,255,255,.12);
  background:#151e30;
}
.media-lightbox-heading{
  min-width:0;
  display:flex;
  align-items:baseline;
  gap:12px;
}
.media-lightbox-caption{
  overflow:hidden;
  color:#f8fafc;
  font-size:.82rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.media-lightbox-counter{
  flex:0 0 auto;
  color:#aeb9cb;
  font-size:.68rem;
}
.media-lightbox-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:8px;
}
.media-lightbox-actions button{
  min-height:38px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:8px;
  color:#f8fafc;
  background:#202b40;
  font:inherit;
  cursor:pointer;
}
.media-lightbox-size{
  padding:8px 11px;
  font-size:.7rem;
  font-weight:800;
}
.media-lightbox-close{
  width:40px;
  font-size:1.5rem;
  line-height:1;
}
.media-lightbox-actions button:hover,
.media-lightbox-actions button:focus-visible{
  background:#2b3850;
}
.media-lightbox-stage{
  position:relative;
  min-width:0;
  min-height:0;
  overflow:auto;
  display:grid;
  place-items:center;
  background:
    linear-gradient(45deg,rgba(255,255,255,.025) 25%,transparent 25%),
    linear-gradient(-45deg,rgba(255,255,255,.025) 25%,transparent 25%),
    #0b1220;
  background-size:26px 26px;
}
.media-lightbox-image{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  cursor:zoom-in;
}
.media-lightbox-stage.is-actual-size{
  display:block;
  padding:22px;
}
.media-lightbox-stage.is-actual-size .media-lightbox-image{
  max-width:none;
  max-height:none;
  cursor:zoom-out;
}
.media-lightbox-nav{
  position:sticky;
  top:50%;
  z-index:4;
  width:46px;
  height:54px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:10px;
  color:#fff;
  background:rgba(17,24,39,.78);
  font-size:2rem;
  cursor:pointer;
  backdrop-filter:blur(8px);
}
.media-lightbox-previous{
  justify-self:start;
  left:14px;
  margin-left:14px;
}
.media-lightbox-next{
  justify-self:end;
  right:14px;
  margin-right:14px;
  margin-top:-54px;
}
.media-lightbox-help{
  margin:0;
  padding:9px 15px 11px;
  color:#aeb9cb;
  background:#151e30;
  text-align:center;
  font-size:.66rem;
}
body.lightbox-open{
  overflow:hidden;
}
@media (max-width:760px){
  .media-zoom-hint{
    right:9px;
    bottom:9px;
    padding:6px 8px;
    font-size:.61rem;
  }
  .media-lightbox-shell{
    width:100vw;
    height:100dvh;
    border:0;
    border-radius:0;
  }
  .media-lightbox-toolbar{
    padding:10px;
    gap:8px;
  }
  .media-lightbox-heading{
    display:block;
  }
  .media-lightbox-caption{
    display:block;
    max-width:58vw;
  }
  .media-lightbox-counter{
    display:block;
    margin-top:2px;
  }
  .media-lightbox-help{
    display:none;
  }
  .media-lightbox-size{
    padding:7px 8px;
  }
  .media-lightbox-nav{
    width:40px;
    height:48px;
  }
  .media-lightbox-next{
    margin-top:-48px;
  }
}


/* v5.9.1 — adaptive module screenshot framing */
.module-hero-grid,
.module-hero-copy,
.module-heading-row,
.module-heading-row > div {
  min-width: 0;
}

.module-hero-shot {
  position: relative;
  aspect-ratio: 16 / 9;
  max-height: 540px;
  background: linear-gradient(180deg, #f8f9fc 0%, #eef2f7 100%);
}

.module-hero-shot img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: top center;
  background: #fff;
}

/* Frames selected from each image's natural dimensions. */
.module-hero-shot.ratio-ultrawide {
  aspect-ratio: 21 / 8;
  max-height: 390px;
}

.module-hero-shot.ratio-wide {
  aspect-ratio: 16 / 9;
}

.module-hero-shot.ratio-standard {
  aspect-ratio: 3 / 2;
}

.module-hero-shot.ratio-compact {
  aspect-ratio: 4 / 3;
}

.module-hero-shot.ratio-portrait {
  aspect-ratio: 5 / 4;
}

/* Module galleries follow the active screenshot rather than forcing 16:9. */
.module-gallery-viewer .gallery-stage {
  aspect-ratio: 16 / 9;
  max-height: min(720px, 76vh);
  transition: aspect-ratio .18s ease;
}

.module-gallery-viewer .gallery-stage.ratio-ultrawide {
  aspect-ratio: 21 / 8;
}

.module-gallery-viewer .gallery-stage.ratio-wide {
  aspect-ratio: 16 / 9;
}

.module-gallery-viewer .gallery-stage.ratio-standard {
  aspect-ratio: 3 / 2;
}

.module-gallery-viewer .gallery-stage.ratio-compact {
  aspect-ratio: 4 / 3;
}

.module-gallery-viewer .gallery-stage.ratio-portrait {
  aspect-ratio: 5 / 4;
}

.module-gallery-viewer .gallery-panel img {
  object-fit: cover;
  object-position: top center;
  background: #fff;
}

/* A subtle frame gives screenshots a deliberate product-preview treatment. */
.module-hero-shot::before,
.module-gallery-viewer .gallery-stage::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(27, 36, 53, .04);
  pointer-events: none;
}

.module-hero-shot .media-zoom-hint,
.module-gallery-viewer .media-zoom-hint {
  opacity: 0;
  transform: translateY(3px);
  transition: opacity .16s ease, transform .16s ease;
}

.module-hero-shot:hover .media-zoom-hint,
.module-hero-shot:focus-within .media-zoom-hint,
.module-gallery-viewer .gallery-panel:hover .media-zoom-hint,
.module-gallery-viewer .gallery-panel:focus-within .media-zoom-hint {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 980px) {
  .module-hero-shot {
    width: 100%;
    max-width: none;
    max-height: 620px;
  }
}

@media (max-width: 760px) {
  .module-hero-shot,
  .module-hero-shot.ratio-wide,
  .module-hero-shot.ratio-standard {
    aspect-ratio: 4 / 3;
    max-height: none;
  }

  .module-hero-shot.ratio-ultrawide {
    aspect-ratio: 16 / 7;
    max-height: none;
  }

  .module-hero-shot.ratio-portrait {
    aspect-ratio: 1 / 1;
  }

  .module-gallery-viewer .gallery-stage,
  .module-gallery-viewer .gallery-stage.ratio-wide,
  .module-gallery-viewer .gallery-stage.ratio-standard {
    aspect-ratio: 4 / 3;
    max-height: 68vh;
  }

  .module-gallery-viewer .gallery-stage.ratio-ultrawide {
    aspect-ratio: 16 / 7;
  }

  .module-gallery-viewer .gallery-stage.ratio-portrait {
    aspect-ratio: 1 / 1;
  }

  .module-hero-shot .media-zoom-hint,
  .module-gallery-viewer .media-zoom-hint {
    opacity: 1;
    transform: none;
  }
}


/* v5.9.2 — preserve every module screenshot in full */
.module-hero-shot,
.module-hero-shot.ratio-ultrawide,
.module-hero-shot.ratio-wide,
.module-hero-shot.ratio-standard,
.module-hero-shot.ratio-compact,
.module-hero-shot.ratio-portrait {
  aspect-ratio: auto !important;
  max-height: none !important;
  min-height: 0;
  display: block;
  overflow: hidden;
  background: #fff;
}

.module-hero-shot img,
.module-hero-shot.ratio-ultrawide img,
.module-hero-shot.ratio-wide img,
.module-hero-shot.ratio-standard img,
.module-hero-shot.ratio-compact img,
.module-hero-shot.ratio-portrait img {
  width: 100%;
  height: auto !important;
  max-height: none !important;
  display: block;
  object-fit: contain !important;
  object-position: center top !important;
  background: #fff;
}

.module-gallery-viewer .gallery-stage,
.module-gallery-viewer .gallery-stage.ratio-ultrawide,
.module-gallery-viewer .gallery-stage.ratio-wide,
.module-gallery-viewer .gallery-stage.ratio-standard,
.module-gallery-viewer .gallery-stage.ratio-compact,
.module-gallery-viewer .gallery-stage.ratio-portrait {
  aspect-ratio: auto !important;
  max-height: none !important;
  min-height: 0;
  overflow: hidden;
  background: #fff;
}

.module-gallery-viewer .gallery-panel {
  position: relative !important;
  inset: auto !important;
  width: 100%;
  height: auto;
  opacity: 1;
}

.module-gallery-viewer .gallery-panel[hidden] {
  display: none !important;
}

.module-gallery-viewer .gallery-panel img {
  width: 100%;
  height: auto !important;
  max-height: none !important;
  display: block;
  object-fit: contain !important;
  object-position: center top !important;
  background: #fff;
}

/* Keep interface screenshots visually separate without padding them into a fake ratio. */
.module-hero-shot,
.module-gallery-viewer .gallery-stage {
  border-color: #d8dee8;
  box-shadow: 0 18px 44px rgba(20,27,43,.09);
}

.module-hero-shot::before,
.module-gallery-viewer .gallery-stage::before {
  border-radius: inherit;
}

@media (max-width: 760px) {
  .module-hero-shot,
  .module-hero-shot.ratio-ultrawide,
  .module-hero-shot.ratio-wide,
  .module-hero-shot.ratio-standard,
  .module-hero-shot.ratio-compact,
  .module-hero-shot.ratio-portrait,
  .module-gallery-viewer .gallery-stage,
  .module-gallery-viewer .gallery-stage.ratio-ultrawide,
  .module-gallery-viewer .gallery-stage.ratio-wide,
  .module-gallery-viewer .gallery-stage.ratio-standard,
  .module-gallery-viewer .gallery-stage.ratio-compact,
  .module-gallery-viewer .gallery-stage.ratio-portrait {
    aspect-ratio: auto !important;
    max-height: none !important;
  }
}


/* v6.0.0 — dedicated About Adam experience */
.section-about-teaser{
  background:
    radial-gradient(circle at 82% 18%,rgba(81,72,216,.08),transparent 28%),
    linear-gradient(180deg,#f8f9fc 0%,#fff 100%);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.about-teaser{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);
  gap:62px;
  align-items:center;
}
.about-teaser-copy h2{
  max-width:760px;
  margin-bottom:18px;
  font-size:clamp(2.5rem,5vw,4.5rem);
}
.about-teaser-copy > p{
  max-width:780px;
  margin-bottom:22px;
  font-size:1rem;
}
.about-teaser-facts{
  margin:0 0 25px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.about-teaser-facts span{
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  color:var(--ink-soft);
  background:#fff;
  font-size:.71rem;
  font-weight:750;
}
.about-principle{
  margin:0;
  padding:34px;
  border:1px solid var(--line-dark);
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 48px rgba(20,27,43,.08);
}
.about-principle span{
  display:block;
  margin-bottom:17px;
  color:var(--coffee);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.about-principle p{
  margin:0;
  color:var(--ink);
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(1.45rem,2.5vw,2.15rem);
  line-height:1.35;
}

.about-hero{
  padding:88px 0 72px;
  background:
    radial-gradient(circle at 88% 12%,rgba(81,72,216,.10),transparent 30%),
    linear-gradient(180deg,#fbfaf8 0%,#fff 100%);
  border-bottom:1px solid var(--line);
}
.about-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);
  gap:74px;
  align-items:center;
}
.about-hero-copy h1{
  max-width:900px;
  margin-bottom:22px;
  font-size:clamp(3.4rem,7vw,6.6rem);
  line-height:.95;
}
.about-hero-copy > p{
  max-width:850px;
}
.about-hero-lead{
  color:var(--ink);
  font-size:1.15rem;
}
.about-hero-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border:1px solid var(--line-dark);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 20px 55px rgba(20,27,43,.08);
}
.about-hero-facts article{
  min-height:150px;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.about-hero-facts article:nth-child(2n){border-right:0}
.about-hero-facts article:nth-last-child(-n+2){border-bottom:0}
.about-hero-facts strong{
  margin-bottom:8px;
  color:var(--ink);
  font-size:1rem;
}
.about-hero-facts span{
  color:var(--muted);
  font-size:.78rem;
  line-height:1.55;
}

.about-workspace-section{
  padding-top:54px;
  padding-bottom:54px;
}
.about-page-workspace{
  position:relative;
  margin:0;
  min-height:560px;
  overflow:hidden;
  border:1px solid var(--line-dark);
  border-radius:20px;
  background:#eef1f6;
  box-shadow:0 24px 64px rgba(20,27,43,.11);
  cursor:zoom-in;
}
.about-page-workspace::after{
  content:"";
  position:absolute;
  inset:42% 0 0;
  background:linear-gradient(180deg,transparent,rgba(11,18,32,.88));
  pointer-events:none;
}
.about-page-workspace img{
  width:100%;
  min-height:560px;
  display:block;
  object-fit:cover;
  object-position:center top;
}
.about-page-workspace figcaption{
  position:absolute;
  left:34px;
  right:34px;
  bottom:28px;
  z-index:3;
  max-width:780px;
  color:#fff;
}
.about-page-workspace figcaption span{
  display:block;
  margin-bottom:8px;
  color:#f7b58f;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.about-page-workspace figcaption strong{
  display:block;
  margin-bottom:7px;
  font-size:clamp(1.45rem,3vw,2.55rem);
  line-height:1.12;
}
.about-page-workspace figcaption small{
  color:#d8dfeb;
  font-size:.72rem;
}

.about-section-heading{
  align-items:start;
}
.about-section-heading > div:last-child p + p{
  margin-top:14px;
}
.about-story-section{
  background:#fff;
}
.about-timeline{
  margin-top:36px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid var(--line-dark);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
}
.about-timeline article{
  min-height:285px;
  padding:27px;
  border-right:1px solid var(--line);
}
.about-timeline article:last-child{border-right:0}
.about-timeline article > span,
.about-method-grid article > span{
  display:block;
  margin-bottom:48px;
  color:var(--blue);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
}
.about-timeline h3,
.about-method-grid h3{
  margin-bottom:11px;
  font-size:1.24rem;
}
.about-timeline p,
.about-method-grid p{
  margin:0;
  font-size:.85rem;
  line-height:1.65;
}

.about-experience-section{
  background:#f6f7fa;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.experience-domain-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px;
}
.experience-domain{
  padding:26px;
  border:1px solid var(--line-dark);
  border-radius:15px;
  background:#fff;
}
.experience-domain-number{
  display:block;
  margin-bottom:22px;
  color:var(--coffee);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
}
.experience-domain h3{
  margin-bottom:18px;
  font-size:1.18rem;
}
.experience-chip-grid{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.experience-chip-grid span{
  padding:7px 9px;
  border:1px solid #e0e4eb;
  border-radius:7px;
  color:#536075;
  background:#fafbfc;
  font-size:.69rem;
  font-weight:720;
}
.experience-context-note{
  margin-top:15px;
  padding:28px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.65fr);
  gap:48px;
  align-items:end;
  border:1px solid #d9d5ff;
  border-radius:15px;
  background:linear-gradient(135deg,#f7f5ff,#fff);
}
.experience-context-note h3{
  max-width:820px;
  margin:0;
  font-size:clamp(1.6rem,3vw,2.6rem);
}
.experience-context-note p{
  margin:0;
  font-size:.86rem;
}

.about-method-section{
  background:#fff;
}
.about-method-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border:1px solid var(--line-dark);
  border-radius:18px;
  overflow:hidden;
}
.about-method-grid article{
  min-height:300px;
  padding:25px;
  border-right:1px solid var(--line);
  background:#fff;
}
.about-method-grid article:last-child{border-right:0}

.about-capabilities-section{
  background:linear-gradient(180deg,#fbfaf8,#fff);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.about-capabilities{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:78px;
  align-items:start;
}
.about-capabilities h2{
  margin-bottom:16px;
  font-size:clamp(2.4rem,5vw,4.3rem);
}
.about-capabilities p{
  max-width:660px;
  margin-bottom:24px;
}
.about-capability-list{
  border-top:1px solid var(--line-dark);
}
.about-capability-list a{
  padding:18px 4px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  border-bottom:1px solid var(--line);
  color:var(--ink);
  font-size:1rem;
  font-weight:800;
}
.about-capability-list a:hover{
  padding-left:10px;
  color:var(--blue-dark);
  text-decoration:none;
}

.about-community-section{
  background:var(--navy);
}
.about-community-section .kicker,
.about-community-section p{
  color:#aeb7c8;
}
.about-community-section h2{
  color:#fff;
}
.about-community-grid{
  display:grid;
  grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
  gap:78px;
}
.about-community-grid p{
  max-width:800px;
}
.about-community-grid p + p{
  margin-top:15px;
}

@media (max-width:1100px){
  .about-hero-grid,
  .about-capabilities,
  .about-community-grid{
    grid-template-columns:1fr;
    gap:40px;
  }
  .about-hero-facts{
    max-width:820px;
  }
  .about-timeline{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .about-timeline article:nth-child(2){
    border-right:0;
  }
  .about-timeline article:nth-child(-n+2){
    border-bottom:1px solid var(--line);
  }
  .about-method-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .about-method-grid article{
    border-bottom:1px solid var(--line);
  }
  .about-method-grid article:nth-child(2n){
    border-right:0;
  }
  .about-method-grid article:last-child{
    grid-column:1/-1;
    min-height:220px;
    border-bottom:0;
  }
}
@media (max-width:820px){
  .about-teaser{
    grid-template-columns:1fr;
    gap:28px;
  }
  .experience-domain-grid,
  .experience-context-note{
    grid-template-columns:1fr;
  }
  .about-page-workspace,
  .about-page-workspace img{
    min-height:430px;
  }
}
@media (max-width:620px){
  .about-hero{
    padding:62px 0 54px;
  }
  .about-hero-copy h1{
    font-size:clamp(3rem,15vw,4.7rem);
  }
  .about-hero-facts,
  .about-timeline,
  .about-method-grid{
    grid-template-columns:1fr;
  }
  .about-hero-facts article,
  .about-timeline article,
  .about-method-grid article{
    min-height:auto;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .about-hero-facts article:last-child,
  .about-timeline article:last-child,
  .about-method-grid article:last-child{
    border-bottom:0;
  }
  .about-method-grid article:last-child{
    grid-column:auto;
  }
  .about-timeline article > span,
  .about-method-grid article > span{
    margin-bottom:24px;
  }
  .about-page-workspace,
  .about-page-workspace img{
    min-height:360px;
  }
  .about-page-workspace img{
    object-position:42% top;
  }
  .about-page-workspace figcaption{
    left:20px;
    right:20px;
    bottom:18px;
  }
  .about-page-workspace figcaption small{
    display:none;
  }
  .experience-domain,
  .experience-context-note{
    padding:21px;
  }
  .about-principle{
    padding:25px;
  }
}


/* v6.0.1 — AI-assisted development positioning */
.experience-domain-ai{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);
  gap:28px 42px;
  align-items:start;
  background:
    radial-gradient(circle at 90% 10%,rgba(81,72,216,.09),transparent 30%),
    linear-gradient(135deg,#fff 0%,#faf9ff 100%);
}
.experience-domain-ai .experience-domain-number{
  grid-column:1;
}
.experience-domain-ai h3{
  grid-column:1;
  margin-bottom:0;
  font-size:clamp(1.45rem,2.5vw,2.15rem);
}
.experience-domain-ai .experience-domain-copy{
  grid-column:2;
  grid-row:1 / span 2;
  margin:0;
  color:var(--ink-soft);
  font-size:.91rem;
  line-height:1.72;
}
.experience-domain-ai .experience-chip-grid{
  grid-column:1 / -1;
}
.ai-development-callout{
  margin-top:18px;
  padding:30px;
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:48px;
  border:1px solid #d9d5ff;
  border-radius:16px;
  background:
    radial-gradient(circle at 12% 20%,rgba(201,106,61,.08),transparent 30%),
    linear-gradient(135deg,#fbfaf8,#f7f5ff);
}
.ai-development-callout h3{
  max-width:660px;
  margin:0;
  font-size:clamp(1.7rem,3.1vw,2.75rem);
}
.ai-development-callout p{
  margin:0;
  color:var(--ink-soft);
  font-size:.88rem;
  line-height:1.72;
}
.ai-development-callout p + p{
  margin-top:14px;
}
@media (max-width:820px){
  .experience-domain-ai,
  .ai-development-callout{
    grid-template-columns:1fr;
  }
  .experience-domain-ai .experience-domain-number,
  .experience-domain-ai h3,
  .experience-domain-ai .experience-domain-copy,
  .experience-domain-ai .experience-chip-grid{
    grid-column:auto;
    grid-row:auto;
  }
}


/* v6.0.2 — refined About page hierarchy */
.about-hero-refined{
  padding:84px 0 70px;
}
.about-hero-refined .about-hero-grid{
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  gap:70px;
}
.about-hero-refined .about-hero-copy h1{
  max-width:920px;
  font-size:clamp(3.25rem,6.7vw,6.15rem);
}
.about-snapshot{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border:1px solid var(--line-dark);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 20px 55px rgba(20,27,43,.08);
}
.about-snapshot article{
  min-height:166px;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.about-snapshot article:nth-child(2n){border-right:0}
.about-snapshot article:nth-last-child(-n+2){border-bottom:0}
.about-snapshot article > span{
  margin-bottom:auto;
  color:var(--blue);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
}
.about-snapshot strong{
  margin-bottom:7px;
  color:var(--ink);
  font-size:1rem;
}
.about-snapshot p{
  margin:0;
  font-size:.76rem;
  line-height:1.55;
}

.about-value-section{
  background:#fff;
}
.about-value-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border:1px solid var(--line-dark);
  border-radius:18px;
  overflow:hidden;
}
.about-value-grid article{
  min-height:260px;
  padding:27px;
  border-right:1px solid var(--line);
}
.about-value-grid article:last-child{border-right:0}
.about-value-grid article > span{
  display:block;
  margin-bottom:48px;
  color:var(--coffee);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.08em;
}
.about-value-grid h3{
  margin-bottom:12px;
  font-size:1.25rem;
}
.about-value-grid p{
  margin:0;
  font-size:.85rem;
  line-height:1.68;
}
.about-principle-wide{
  margin-top:18px;
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:32px;
  align-items:start;
  box-shadow:none;
  background:linear-gradient(135deg,#fbfaf8,#fff);
}
.about-principle-wide span{
  margin:8px 0 0;
}
.about-principle-wide p{
  max-width:980px;
}

.about-experience-refined{
  background:#f6f7fa;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.experience-accordion{
  border-top:1px solid var(--line-dark);
}
.experience-accordion details{
  border-bottom:1px solid var(--line-dark);
  background:transparent;
}
.experience-accordion summary{
  position:relative;
  padding:24px 4px;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  list-style:none;
  cursor:pointer;
}
.experience-accordion summary::-webkit-details-marker{display:none}
.experience-accordion summary::after{
  content:"+";
  position:absolute;
  right:4px;
  top:50%;
  transform:translateY(-50%);
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid var(--line-dark);
  border-radius:50%;
  color:var(--ink);
  background:#fff;
  font-size:1rem;
  font-weight:700;
}
.experience-accordion details[open] summary::after{content:"−"}
.experience-summary-number{
  color:var(--coffee);
  font-size:.69rem;
  font-weight:900;
  letter-spacing:.08em;
}
.experience-summary-copy{
  min-width:0;
  display:grid;
  gap:5px;
}
.experience-summary-copy strong{
  color:var(--ink);
  font-size:1.12rem;
}
.experience-summary-copy small{
  color:var(--muted);
  font-size:.75rem;
  line-height:1.5;
}
.experience-summary-action{
  padding-right:48px;
  color:var(--blue-dark);
  font-size:.68rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.experience-detail-body{
  padding:0 4px 24px 70px;
}
.experience-detail-body .experience-chip-grid{
  max-width:1120px;
}
.experience-detail-body .experience-chip-grid span{
  background:#fff;
}
.experience-context-note-refined{
  margin-top:22px;
  grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);
}

.about-method-refined{
  background:#fff;
}
.about-method-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid var(--line-dark);
  border-radius:18px;
  overflow:hidden;
}
.about-method-steps article{
  min-height:300px;
  padding:27px;
  border-right:1px solid var(--line);
}
.about-method-steps article:last-child{border-right:0}
.about-method-steps article > span{
  display:block;
  margin-bottom:48px;
  color:var(--blue);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.08em;
}
.about-method-steps h3{
  margin-bottom:11px;
  font-size:1.22rem;
}
.about-method-steps p{
  margin:0;
  font-size:.84rem;
  line-height:1.66;
}

.about-help-section{
  background:linear-gradient(180deg,#fbfaf8,#fff);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.about-help-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.about-help-grid a{
  min-height:225px;
  padding:25px;
  display:grid;
  grid-template-rows:auto 1fr auto;
  border:1px solid var(--line-dark);
  border-radius:15px;
  color:var(--ink);
  background:#fff;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.about-help-grid a:hover{
  transform:translateY(-3px);
  border-color:#c8c3ff;
  box-shadow:0 18px 42px rgba(20,27,43,.08);
  text-decoration:none;
}
.about-help-grid strong{
  margin-bottom:12px;
  font-size:1.16rem;
}
.about-help-grid span{
  color:var(--muted);
  font-size:.82rem;
  line-height:1.62;
}
.about-help-grid b{
  justify-self:end;
  color:var(--blue);
  font-size:1.2rem;
}

@media (max-width:1100px){
  .about-hero-refined .about-hero-grid{
    grid-template-columns:1fr;
    gap:38px;
  }
  .about-snapshot{
    max-width:820px;
  }
  .about-method-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .about-method-steps article:nth-child(2){
    border-right:0;
  }
  .about-method-steps article:nth-child(-n+2){
    border-bottom:1px solid var(--line);
  }
  .about-help-grid{
    grid-template-columns:1fr;
  }
  .about-help-grid a{
    min-height:170px;
  }
}
@media (max-width:820px){
  .about-value-grid{
    grid-template-columns:1fr;
  }
  .about-value-grid article{
    min-height:auto;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .about-value-grid article:last-child{border-bottom:0}
  .about-value-grid article > span{margin-bottom:24px}
  .about-principle-wide,
  .experience-context-note-refined{
    grid-template-columns:1fr;
  }
  .experience-accordion summary{
    grid-template-columns:42px minmax(0,1fr);
  }
  .experience-summary-action{
    display:none;
  }
  .experience-detail-body{
    padding-left:46px;
  }
}
@media (max-width:620px){
  .about-snapshot{
    grid-template-columns:1fr;
  }
  .about-snapshot article{
    min-height:125px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .about-snapshot article:last-child{border-bottom:0}
  .about-method-steps{
    grid-template-columns:1fr;
  }
  .about-method-steps article{
    min-height:auto;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .about-method-steps article:last-child{border-bottom:0}
  .about-method-steps article > span{margin-bottom:24px}
  .experience-accordion summary{
    padding:20px 2px;
    grid-template-columns:34px minmax(0,1fr);
    gap:10px;
  }
  .experience-accordion summary::after{
    right:2px;
  }
  .experience-summary-copy{
    padding-right:38px;
  }
  .experience-summary-copy strong{
    font-size:1rem;
  }
  .experience-detail-body{
    padding:0 2px 20px;
  }
}
