/* Homepage composition only. The original Circuit Shop assets and shared rules stay intact. */
.fp-home{--fp-gap:clamp(24px,3vw,42px);--fp-pad:clamp(26px,3.4vw,46px);--fp-copy:var(--ink);--fp-soft:var(--muted);--fp-block:#071923;margin-top:18px;color:var(--fp-copy)}
.fp-home :is(section,article,figure,div){min-width:0}
.fp-home h1,.fp-home h2,.fp-home h3{color:inherit}
.fp-home h2{font-size:clamp(28px,2.8vw,36px);line-height:1.16;margin:0 0 22px}
.fp-home h3{font-size:24px;line-height:1.2;margin:0 0 18px}
.fp-home p{font-size:18px;line-height:1.5;margin:0 0 18px}
.fp-home a{overflow-wrap:anywhere}
.fp-home figure{margin:0}
.fp-home .fp-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:24px 0 20px}
.fp-home .fp-button{font-size:18px;font-weight:600;line-height:1.25;text-decoration:none;min-height:52px;padding:14px 22px;gap:16px;max-width:100%;text-align:center}
.fp-home .fp-button .enclosure-button-outline{position:absolute;inset:2px;width:calc(100% - 4px);height:calc(100% - 4px);pointer-events:none}
.fp-home .fp-secondary{display:inline-flex;align-items:center;min-height:44px;font-size:18px}
.fp-home .fp-open{padding:0 var(--fp-pad);margin:64px 0}
.fp-home .fp-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--fp-gap)}
.fp-home .fp-service{display:flex;flex-direction:column;padding:22px 0 0;box-shadow:inset 0 3px var(--steel)}
.fp-home .fp-service h3{font-size:26px;color:var(--cyan)}
.fp-home .fp-service>p{font-size:18px}
.fp-home .fp-service .fp-examples{font-size:17px;color:var(--fp-soft);margin-bottom:14px}
.fp-home .fp-service-links{list-style:none;padding:0;margin:0 0 16px}
.fp-home .fp-service-links a{display:flex;align-items:center;min-height:38px;font-size:17px;line-height:1.35;padding:6px 0}
.fp-home .fp-path-link{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;min-height:44px;margin-top:0}
.fp-home .fp-service .fp-note{font-size:16px;color:var(--fp-soft);margin:12px 0 0}
.circuit-shop .fp-home .fp-work{display:block;padding:var(--fp-pad);margin:0;min-height:0}
.circuit-shop .fp-home .fp-work>.armor-surface:not(.armor-shutters){width:100%;max-width:none}
.circuit-shop .fp-home .fp-work>.fp-work-main,.circuit-shop .fp-home .fp-work>.fp-bench{max-width:none}
.fp-home .fp-work-main{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:var(--fp-gap)}
.circuit-shop .fp-home .fp-work h2{font-size:clamp(28px,2.8vw,36px);max-width:16ch;line-height:1.16}
.circuit-shop .fp-home .fp-work p{font-size:18px;line-height:1.5}
.fp-home .fp-project-choices{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 12px}
.fp-home .fp-project-choices button{min-height:46px;font-size:17px;padding:9px 16px;background:#102935;color:#e2f1f6;border:0;box-shadow:inset 0 1px #648697,inset 0 -2px #426879;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px)}
.fp-home .fp-project-choices button[aria-pressed=true]{color:#00dfff;background:#083b4e;box-shadow:inset 0 2px #9bf4ff,inset 0 -2px #00c8e5}
.fp-home .fp-project-choices button:hover{background:#164359;color:#f2fbff}
.fp-home .fp-project-choices button:focus-visible{outline-offset:-5px}
.circuit-shop .fp-home .fp-featured .exhibit{width:100%;max-width:100%;padding:12px;margin:0;transform:none}
.circuit-shop .fp-home .fp-featured .exhibit img{display:block;width:100%;height:300px;max-height:none;object-fit:contain;object-position:center;background:#010609}
.fp-home .fp-featured figcaption{padding:14px 6px 0;font-size:16px;line-height:1.4}
.circuit-shop .fp-home .fp-featured [data-fp-caption]{font-size:16px;margin:0 0 7px}
.fp-home .fp-bench{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,.8fr));gap:24px;align-items:start;margin-top:38px;padding-top:30px;box-shadow:inset 0 1px #345463}
.fp-home .fp-bench h3{font-size:25px}
.circuit-shop .fp-home .fp-bench-copy>p{font-size:17px;max-width:33ch}
.fp-home .fp-proof-links{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:17px}
.fp-home .fp-proof-links a{display:flex;align-items:center;min-height:36px}
.fp-home .fp-bench figure img{width:100%;height:166px;object-fit:cover;background:#071923}
.fp-home .fp-bench figure figcaption{font-size:15px;line-height:1.4;color:var(--fp-soft);padding-top:10px}
.fp-home .fp-about{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--fp-gap);align-items:start}
.fp-home .fp-person{max-width:50ch}
.fp-home .fp-process{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 28px;list-style:none;padding:0;margin:0}
.fp-home .fp-process li{padding-top:15px;box-shadow:inset 0 3px #365e70}
.fp-home .fp-process h3{font-size:22px;margin:0 0 13px}
.fp-home .fp-process p{font-size:17px;margin:0}
.fp-home .fp-contact{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,.55fr);align-items:center;gap:var(--fp-gap);background:var(--fp-block);margin:0 18px 38px;padding:34px 28px;box-shadow:inset 4px 0 var(--cyan)}
.fp-home .fp-contact h2{font-size:30px;max-width:26ch}
.fp-home .fp-contact p{max-width:60ch}
.fp-home .fp-contact .fp-actions{margin-bottom:0}
.fp-home .fp-coverage p,.fp-home .fp-coverage a{font-size:16px;line-height:1.5}
.fp-home .fp-coverage p{color:var(--fp-soft)}
.light-mode .fp-home{--fp-copy:#102734;--fp-soft:#355465;--fp-block:#c4d8e3;background:#dbe7ec}
.light-mode .fp-home .fp-work{color:#102734;--fp-soft:#355465}
.light-mode .fp-home .fp-service h3{color:#00576b}
.light-mode .fp-home a:not(.fp-button){color:#00576b}
@media(max-width:1099px){.fp-home{--fp-gap:26px;--fp-pad:36px}
.fp-home .fp-service h3{font-size:23px}
.fp-home .fp-service>p{font-size:17px}
.fp-home .fp-service .fp-examples,.fp-home .fp-service-links a{font-size:16px}
.fp-home .fp-service .fp-note{font-size:15px}
.fp-home .fp-path-link{font-size:17px}
.fp-home .fp-project-choices button{font-size:16px;padding:9px 13px}
.circuit-shop .fp-home .fp-featured .exhibit img{height:260px}
.fp-home .fp-bench{grid-template-columns:minmax(0,1fr) repeat(2,minmax(0,.8fr));gap:20px}
.fp-home .fp-bench figure img{height:155px}
.fp-home .fp-process{gap:24px 20px}
.fp-home .fp-process h3{font-size:21px}
.fp-home .fp-contact{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}
}
@media(max-width:800px){.fp-home{--fp-gap:24px;--fp-pad:36px}
.fp-home .fp-button{font-size:17px;padding-inline:18px}
.fp-home .fp-service-grid{grid-template-columns:1fr}
.fp-home .fp-service{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 28px;padding-top:24px}
.fp-home .fp-service h3{grid-column:1/-1;font-size:27px}
.fp-home .fp-service>p{grid-column:1}
.fp-home .fp-service-links{grid-column:2;grid-row:2/4;margin:0 0 14px}
.fp-home .fp-service-links a{font-size:17px;min-height:44px}
.fp-home .fp-service .fp-path-link{grid-column:2}
.fp-home .fp-service .fp-note{grid-column:1/-1}
.fp-home .fp-work-main{grid-template-columns:1fr}
.circuit-shop .fp-home .fp-work h2{max-width:none}
.fp-home .fp-project-choices{margin-top:18px}
.circuit-shop .fp-home .fp-featured .exhibit img{height:310px}
.fp-home .fp-bench{grid-template-columns:1fr 1fr}
.fp-home .fp-bench-copy{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.fp-home .fp-bench-copy h3{grid-column:1}
.fp-home .fp-proof-links{grid-column:2;grid-row:1/3}
.fp-home .fp-bench figure img{height:190px}
.fp-home .fp-about{grid-template-columns:1fr}
.fp-home .fp-person{max-width:65ch}
.fp-home .fp-contact{grid-template-columns:1fr}
.fp-home .fp-coverage{padding-top:20px;box-shadow:inset 0 1px #527080}
.fp-home .fp-coverage p{margin-bottom:8px}
}
@media(max-width:600px){.fp-home{--fp-pad:25px;--fp-gap:24px;margin-top:12px}
.fp-home .fp-button{width:100%;font-size:17px;padding:13px 17px;min-height:50px}
.fp-home .fp-secondary{font-size:17px}
.fp-home .fp-open{margin:42px 0;padding-inline:25px}
.fp-home h2{font-size:28px;line-height:1.16}
.fp-home .fp-service{display:flex;padding-top:22px}
.fp-home .fp-service h3{font-size:25px}
.fp-home .fp-service-links{margin:0 0 8px}
.fp-home .fp-service-links a{font-size:17px;min-height:44px}
.fp-home .fp-service .fp-path-link{margin-top:0;min-height:46px}
.fp-home .fp-service .fp-note{font-size:15px;margin-top:8px}
.circuit-shop .fp-home .fp-work{padding:30px 25px}
.circuit-shop .fp-home .fp-work h2{font-size:28px}
.circuit-shop .fp-home .fp-work p{font-size:17px}
.fp-home .fp-project-choices{gap:7px}
.fp-home .fp-project-choices button{font-size:15px;padding:8px 12px;min-height:44px}
.circuit-shop .fp-home .fp-featured .exhibit{padding:10px}
.circuit-shop .fp-home .fp-featured .exhibit img{height:205px}
.fp-home .fp-featured figcaption{font-size:16px;padding-inline:2px}
.fp-home .fp-bench{gap:18px;margin-top:30px;padding-top:26px}
.fp-home .fp-bench-copy{display:block}
.fp-home .fp-bench-copy p{margin-bottom:10px}
.fp-home .fp-proof-links a{min-height:44px}
.fp-home .fp-bench figure img{height:145px}
.fp-home .fp-bench figure figcaption{font-size:14px}
.fp-home .fp-person p{font-size:17px}
.fp-home .fp-process{grid-template-columns:1fr;gap:24px}
.fp-home .fp-process h3{font-size:22px}
.fp-home .fp-process p{font-size:17px}
.fp-home .fp-contact{margin:0 14px 30px;padding:28px 20px;gap:24px}
.fp-home .fp-contact h2{font-size:27px}
.fp-home .fp-contact p{font-size:17px}
.fp-home .fp-contact .fp-actions{gap:6px;margin-top:20px}
.fp-home .fp-coverage p,.fp-home .fp-coverage a{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.fp-home{scroll-behavior:auto}
.fp-home *{scroll-behavior:auto}
}
/* The original light footer keeps its content/geometry; this homepage scopes readable ink to its pale surface. */
.light-mode .fp-home+.site-footer{color:#102734;--muted:#355465}
.light-mode .fp-home+.site-footer :is(a,button:not(:disabled)){color:#00576b}
/* Light steel needs a dark focus ring; dark beveled controls keep an inset white ring. */
.page-home.light-mode :is(.site-header,.fp-home,.site-footer) :focus-visible{outline:3px solid #00576b;outline-offset:3px}
.page-home.light-mode :is(.armor-button,.fp-project-choices button,.nav-disclosure>summary,.site-header .dropdown a):focus-visible{outline:3px solid #fff;outline-offset:-6px}
@media(max-width:1279px){.page-home.light-mode .site-header .nav :focus-visible{outline:3px solid #fff;outline-offset:3px}
.page-home.light-mode .site-header .nav .armor-button:focus-visible{outline-offset:-6px}
}
.circuit-shop .fp-home .fp-hero{display:block;padding:var(--fp-pad);min-height:0}
.fp-home .fp-hero-copy{width:100%;max-width:none;padding:4px 0}
.fp-home .fp-hero-copy .fp-kicker{font-size:15px;font-weight:600;line-height:1.4;text-transform:uppercase;letter-spacing:.04em;color:var(--cyan);margin:0 0 18px;max-width:none}
.fp-home .fp-hero-copy h1{font-size:clamp(32px,3.05vw,44px);line-height:1.16;letter-spacing:-.025em;margin:0 0 24px;max-width:none}
.fp-home .fp-pitch{max-width:106ch}
.fp-home .fp-hero-copy .fp-intro{font-size:21px;line-height:1.45;margin:0 0 15px}
.fp-home .fp-hero-copy .fp-support{font-size:18px;line-height:1.5;color:var(--fp-soft);margin:0}
.fp-home .fp-hero-copy .fp-actions{margin:24px 0 18px;gap:22px}
.fp-home .fp-hero-copy .fp-button{padding-inline:24px}
.fp-home .fp-hero-copy .fp-local{font-size:17px;line-height:1.45;margin:0}
.fp-home .fp-ticker{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 24px;list-style:none;padding:18px 8px 6px;margin:20px 0 0;box-shadow:inset 0 1px #426879;color:var(--fp-soft);font-size:16px;line-height:1.4}
.fp-home .fp-ticker li{margin:0;min-width:0;max-width:100%}.fp-home .fp-ticker a{color:#b9e4ef;text-decoration:underline;text-decoration-color:#78a9b8;text-decoration-thickness:1px;text-underline-offset:3px}
.fp-home .fp-ticker a:is(:hover,:focus-visible){color:#fff;text-decoration-color:currentColor}
.page-home .fp-home .fp-ticker a:focus-visible{outline:3px solid #fff;outline-offset:3px}
.fp-home .fp-ticker a:active{color:#dcccf3;text-decoration-color:currentColor}
.light-mode .fp-home .fp-ticker a{color:#00576b;text-decoration-color:#47788a}
.light-mode .fp-home .fp-ticker a:is(:hover,:focus-visible){color:#003e50;text-decoration-color:currentColor}
.page-home.light-mode .fp-home .fp-ticker a:focus-visible{outline-color:#003e50}
.light-mode .fp-home .fp-ticker a:active{color:#5d397f;text-decoration-color:currentColor}
.fp-home .fp-anchor{display:block;height:0;scroll-margin-top:20px}
.fp-home .fp-supporting-services{font-size:17px;line-height:1.6;margin:28px 0 0;max-width:100ch}
.light-mode .fp-home .fp-hero-copy{color:#102734;--fp-soft:#355465}
.light-mode .fp-home .fp-hero-copy .fp-kicker{color:#00576b}
@media(max-width:1099px){.fp-home .fp-hero-copy h1{font-size:35px}.fp-home .fp-hero-copy .fp-intro{font-size:20px}.fp-home .fp-ticker{gap:12px 18px;font-size:15px}}
@media(max-width:800px){.fp-home .fp-hero-copy h1{font-size:31px}.fp-home .fp-hero-copy .fp-intro{font-size:19px}.fp-home .fp-ticker{display:grid;grid-template-columns:1fr 1fr}.fp-home .fp-supporting-services{font-size:17px}}
@media(max-width:600px){.circuit-shop .fp-home .fp-hero{padding:27px 25px 30px}.fp-home .fp-hero-copy{padding:0}.fp-home .fp-hero-copy .fp-kicker{font-size:13px;line-height:1.4;letter-spacing:.02em;margin-bottom:16px}.fp-home .fp-hero-copy h1{font-size:27px;line-height:1.16;margin-bottom:18px}.fp-home .fp-hero-copy .fp-intro{font-size:17px;line-height:1.45;margin-bottom:13px}.fp-home .fp-hero-copy .fp-support{font-size:16px;line-height:1.45}.fp-home .fp-hero-copy .fp-actions{gap:4px;margin:18px 0 13px}.fp-home .fp-hero-copy .fp-button{padding-inline:14px;font-size:16px}.fp-home .fp-hero-copy .fp-secondary{padding:6px 0;font-size:17px}.fp-home .fp-hero-copy .fp-local{font-size:16px}.fp-home .fp-ticker{gap:12px 18px;padding-top:15px;margin-top:16px;font-size:15px}}

@media(min-width:801px) and (max-width:950px){.fp-home .fp-ticker{display:grid;grid-template-columns:1fr 1fr;row-gap:4px;margin-top:16px}}
