/* Homepage review: scoped composition, established Spidrly palette and type. */
.home-page { --home-space:clamp(56px,7vw,112px); }
.home-page .home-hero { padding-bottom:48px; }
.home-page .home-hero .micro { max-width:46em; line-height:1.7; }
.home-page .section { max-width:none; padding:var(--home-space) 5%; }
.home-page .home-section-heading { display:flex; justify-content:space-between; align-items:end; gap:48px; margin-bottom:40px; }
.home-page .home-section-heading h2,.home-page .home-next h2 { font-size:clamp(32px,3.8vw,58px); line-height:1.12; letter-spacing:-1.9px; margin:18px 0 0; }
.home-page h2 em { color:var(--blue); font-style:normal; }
.home-page .home-section-heading>p { max-width:390px; margin:0; }
.home-page .home-proof { background:var(--paper); border-bottom:1px solid var(--line); }
.home-page .home-projects { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.home-page .home-project { min-width:0; }
.home-page .home-project-image { position:relative; display:block; height:clamp(300px,32vw,470px); overflow:hidden; border-radius:12px; background:#101827; }
.home-page .home-project-image img { width:100%;height:100%;display:block;object-fit:contain; transition:transform .35s; }
.home-page .website-preview { background:#e9e4dc; padding:30px 18px; display:flex; align-items:center; }
.home-page .website-preview img {height:auto;max-height:100%;object-fit:contain;box-shadow:0 16px 36px #0003;border-radius:5px;}
.home-page .home-project-image:hover img {transform:scale(1.025);}
.home-page .project-kind { position:absolute;top:16px;left:16px;border-radius:30px;background:#fff;color:#111827;padding:8px 12px;font-size:11px;font-weight:700;letter-spacing:.3px; }
.home-page .project-arrow { position:absolute;right:16px;bottom:16px;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;background:#fff;color:#111827;font-size:24px; }
.home-page .home-project-copy { padding:25px 0 0; }
.home-page .home-project-copy h3 { font-size:clamp(24px,2.2vw,34px);line-height:1.2;margin:14px 0;letter-spacing:-1px; }
.home-page .home-project-copy p { margin:0 0 18px;font-size:16px; }
.home-page .home-project-copy .eyebrow {font-size:11px;}
.home-page .home-proof-footer {border-top:1px solid var(--line);margin-top:40px;padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:30px;}
.home-page .home-proof-footer p {font-size:15px;max-width:620px;margin:0;}
.home-page .home-proof-footer .text-link {flex-shrink:0;}
.home-page .home-services {background:var(--paper);}
.home-page .home-service-row {display:grid;grid-template-columns:42px minmax(0,1.2fr) minmax(0,1fr) 40px;gap:28px;align-items:center;border-top:1px solid var(--line);padding:30px 8px;transition:background .2s;}
.home-page .home-service-row:last-child {border-bottom:1px solid var(--line);}
.home-page .home-service-row:hover {background:var(--surface);}
.home-page .service-index {color:var(--blue);font-size:13px;font-weight:700;align-self:start;margin-top:4px;}
.home-page .service-label {font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:700;}
.home-page .home-service-row h3 {font-size:clamp(23px,2vw,30px);margin:10px 0 0;line-height:1.25;}
.home-page .home-service-row p {font-size:16px;margin:0;}
.home-page .service-arrow {color:var(--blue);font-size:28px;text-align:right;}
.home-page .home-process {background:var(--surface);border-block:1px solid var(--line);}
.home-page .home-steps {list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;}
.home-page .home-steps li {border-top:2px solid var(--blue);padding-top:22px;}
.home-page .step-number {color:var(--blue);font-size:12px;letter-spacing:1px;text-transform:uppercase;font-weight:800;}
.home-page .home-steps h3 {font-size:24px;line-height:1.3;}
.home-page .home-steps p {font-size:16px;margin-bottom:0;}
.home-page .home-next {display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:center;background:var(--paper);}
.home-page .home-next p {max-width:620px;}
.home-page .home-next .hero-actions {margin-top:28px;flex-wrap:wrap;}
.home-page .home-next-note {font-size:13px;margin-top:22px;}
.home-page .home-next-aside {border-left:1px solid var(--line);padding:30px 0 30px 40px;}
.home-page .home-next-aside>span {color:var(--blue);text-transform:uppercase;letter-spacing:1.5px;font-size:12px;font-weight:800;}
.home-page .home-next-aside ul {padding-left:20px;line-height:2.3;font-size:18px;}
/* One closing invitation on the homepage; the shared footer retains contacts and navigation. */
.home-page .footer-top {display:none;}
.home-page .site-footer {padding-top:16px;}
@media(max-width:1050px){
 .home-page .home-projects {gap:20px;}
 .home-page .home-section-heading {gap:28px;}
 .home-page .home-section-heading>p {max-width:320px;}
 .home-page .home-service-row {grid-template-columns:30px 1.1fr 1fr 24px;gap:18px;}
 .home-page .home-next {gap:30px;}
}
@media(max-width:850px){
 .home-page .home-section-heading {display:block;}
 .home-page .home-section-heading>p {max-width:600px;margin-top:22px;}
 .home-page .home-projects {grid-template-columns:1fr;gap:38px;}
 .home-page .home-project {display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;}
 .home-page .home-project-image {height:350px;}
 .home-page .home-project-copy {padding:0;}
 .home-page .home-proof-footer {align-items:start;flex-direction:column;gap:16px;}
 .home-page .home-steps {grid-template-columns:1fr;gap:26px;}
 .home-page .home-steps h3 {margin:12px 0;}
 .home-page .home-next {grid-template-columns:1fr;}
 .home-page .home-next-aside {border-left:0;border-top:1px solid var(--line);padding:25px 0 0;}
}
@media(max-width:600px){
 .home-page header {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;min-height:0;padding:16px 5%;}
 .home-page header .brand-lockup {grid-column:1;grid-row:1;}
 .home-page header #theme-toggle {grid-column:2;grid-row:1;margin:0;align-self:center;}
 .home-page header .header-search {grid-column:1/-1;grid-row:2;width:100%;height:40px;}
 .home-page header .header-search:focus-within {width:100%;}
 .home-page header nav {grid-column:1/-1;grid-row:3;display:flex;justify-content:flex-start;gap:18px;margin:0;width:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;}
 .home-page header nav a {min-height:36px;display:flex;align-items:center;white-space:nowrap;flex-shrink:0;}
 .home-page .home-project {display:block;}
 .home-page .home-project-image {height:380px;}
 .home-page .home-project-copy {padding-top:22px;}
 .home-page .home-project-copy h3 {font-size:28px;}
 .home-page .home-service-row {grid-template-columns:25px minmax(0,1fr) 22px;gap:12px;padding-block:24px;}
 .home-page .home-service-row p {grid-column:2;}
 .home-page .service-arrow {grid-column:3;grid-row:1;}
 .home-page .home-section-heading h2,.home-page .home-next h2 {letter-spacing:-1.3px;}
 .home-page .home-next .button {gap:16px;}
 .home-page .home-next-aside ul {font-size:16px;}
}
@media(prefers-reduced-motion:reduce){.home-page .home-project-image img,.home-page .home-service-row{transition:none;}.home-page .home-project-image:hover img{transform:none;}}

.home-menu-toggle{display:none;}
@media(max-width:600px){
 .home-page header.home-menu-ready {position:relative;grid-template-columns:minmax(0,1fr) 80px;}
 .home-page header.home-menu-ready .header-search{grid-column:1;min-width:0;}
 .home-page header.home-menu-ready .home-menu-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;grid-column:2;grid-row:2;border:1px solid var(--line);border-radius:22px;background:var(--paper);color:var(--ink);height:42px;padding:0 12px;font-size:14px;cursor:pointer;}
 .home-page header.home-menu-ready nav{display:none;}
 .home-page header.home-menu-ready .home-menu-toggle[aria-expanded=true]+nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 10px;overflow:visible;padding-top:8px;border-top:1px solid var(--line);}
 .home-page header.home-menu-ready nav a{min-height:44px;}
}
