/* Homepage hierarchy and lighting. Shared colors live in brand.css. */
.concept-home,:root[data-theme="after-hours"] .concept-home{--c-paper:var(--surface-page);--c-ink:var(--text-primary);--c-red:var(--brand-accent);--c-bright:var(--brand-lime);--c-blue:var(--brand-blue);--c-line:var(--border-subtle)}
.concept-home .opening{grid-template-columns:1.65fr 1fr;padding-block:32px 38px;gap:48px}
.concept-home .opening h1{font-size:clamp(64px,6.8vw,102px);line-height:1.07;margin:17px 0 20px;max-width:790px}
.concept-home .opening-art{max-width:270px;transform:rotate(2deg)}
.opening-art figcaption{align-items:start;gap:15px}.plate-note{font:12px/1.5 var(--font-mono);max-width:90px}
.concept-home .opening .solid-link{background:transparent;color:var(--c-ink);margin-top:18px;border:0;border-bottom:1px solid var(--c-ink);padding-inline:0;min-height:44px}
.concept-home .shop-strip{background:transparent;color:var(--c-ink);padding:0 52px;gap:0;display:grid;grid-template-columns:repeat(3,1fr);font:12px/1.4 var(--font-mono);letter-spacing:.02em}
.shop-strip a{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;min-height:60px;text-decoration:none;border-right:1px solid var(--c-line)}
.shop-strip a:first-child{border-left:1px solid var(--c-line)}.shop-strip a span{font-size:20px!important;display:inline!important}
.concept-home .shop-strip a:hover{background:var(--brand-lime);color:var(--brand-ink);text-decoration:none}
.concept-home .contact-block{background:var(--surface-recessed);color:var(--c-ink);padding:42px 0 48px;border-bottom:1px solid var(--c-line)}
.contact-block::before{display:none}.concept-home .contact-layout{grid-template-columns:1.1fr 1fr;gap:70px;margin-top:22px;align-items:center}
.concept-home .contact-layout h2{font-size:clamp(45px,5vw,70px);line-height:1.1}.concept-home .contact-layout h2 span{color:var(--brand-accent);text-decoration:none}
.recognition{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:9px;font-size:14px}.recognition li{padding-left:18px;position:relative}.recognition li::before{content:'→';position:absolute;left:0;color:var(--brand-accent)}
.finder-invitation{border-left:3px solid var(--brand-accent);padding-left:28px}.finder-invitation h3{font-size:24px;line-height:1.3;margin:10px 0 15px}.finder-invitation .kicker{font-size:10px}
.concept-home .finder-invitation .solid-link,:root[data-theme="after-hours"] .concept-home .finder-invitation .solid-link{background:var(--brand-lime);color:var(--brand-ink);border-color:var(--brand-ink);font-size:14px;margin-top:20px}
.concept-home .contact-note{color:var(--text-secondary);font-size:12px!important;margin-top:17px!important;max-width:460px;line-height:1.6}
.concept-home .services{padding-block:56px}.service-layout{gap:65px}.service-layout h2{font-size:clamp(40px,4.7vw,65px)}
.service-row{display:flex;align-items:start;gap:19px;padding:22px 8px;border-bottom:1px solid var(--c-line);text-decoration:none}.service-row:first-child{padding-top:4px}.service-row>span:last-child{margin-left:auto;font-size:24px}.service-row p{color:var(--text-secondary)}
.concept-home .service-row:hover{background:var(--accent-soft);text-decoration:none}.service-row:hover h3{text-decoration:underline;text-underline-offset:5px}
.service-detail{margin-top:45px;padding:28px 0 0;border-top:1px solid var(--c-line);display:grid;grid-template-columns:1fr 1fr;gap:65px}.service-detail h3{font-size:24px;margin:12px 0}.service-detail p{font-size:14px;max-width:510px}.service-detail .text-link{display:block;margin-top:12px;min-height:35px}
.concept-home .workbench{background:var(--brand-ink);color:var(--brand-paper);padding:48px 0}.workbench .section-top{margin-bottom:26px}.bench-heading{font-size:clamp(38px,4.7vw,64px);line-height:1.12;margin:0 0 18px}.bench-intro{font-size:15px;max-width:740px;color:#d1d7c7}
.concept-home .featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;border:0;margin-top:30px}
.concept-home .featured-grid>.feature-card{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:25px 22px;border:1px solid #7d8874;background:#293025;min-width:0;text-decoration:none}
.featured-grid .index-num{font:24px/1 var(--font-mono);color:var(--brand-lime);margin-bottom:20px}.featured-grid .project-label{font:11px/1.6 var(--font-mono);color:#d1d7c7;min-height:36px}
.featured-grid h3{font:400 31px/1.16 var(--font-display);letter-spacing:0;margin:13px 0 17px;min-height:73px}.featured-grid .feature-copy{font:14px/1.6 var(--font-sans);color:var(--brand-paper);margin-bottom:25px;min-height:91px}
.mini-preview{background:var(--brand-paper);color:var(--brand-ink);padding:18px;margin-top:auto;min-height:157px;border-top:3px solid var(--brand-lime)}.mini-preview>span{font:9px/1.5 var(--font-mono);display:block;color:#49620b}.featured-grid .mini-preview p{font:600 16px/1.4 var(--font-sans);color:var(--brand-ink);margin:14px 0 9px}.mini-preview small{font-size:11px;line-height:1.6;display:block}
.card-action{display:flex;justify-content:space-between;gap:15px;padding-top:23px;font:600 13px/1.5 var(--font-sans);color:var(--brand-lime)}.card-action>span{font-size:20px}.featured-grid .mode-label{font:9px/1.5 var(--font-mono);margin-top:12px!important;color:#c4cbbd}
.concept-home .featured-grid>.feature-card:hover{border-color:var(--brand-lime);background:#333d2b;text-decoration:none}.featured-grid>.feature-card:hover .card-action{text-decoration:underline;text-underline-offset:5px}
.meeting-feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px;border-block:1px solid #7d8874;padding:42px 0;margin-top:40px}.meeting-feature h3{font:400 clamp(30px,3.5vw,47px)/1.15 var(--font-display);margin:15px 0 20px;letter-spacing:0}.meeting-feature>div>p{font-size:14px;max-width:430px}.meeting-feature .project-label{font:10px/1.6 var(--font-mono);color:#c4cbbd}.meeting-feature .sample-art{max-width:345px;width:100%;margin-inline:auto}.sample-sheet{padding:21px 24px;box-shadow:7px 7px 0 #77816e;transform:rotate(1.5deg)}.sample-sheet h3{font-size:29px;margin:15px 0}.sheet-row{padding:10px 0}.sheet-row b{color:#49620b}.sheet-row p{font-size:12px}.sheet-bottom{padding-top:12px}.art-caption{transform:none;margin-top:20px!important;font-size:11px;max-width:345px}.meeting-feature .mode-label{color:#c4cbbd;font-size:12px}
.concept-home .paper-link{background:transparent;color:var(--brand-paper);border-color:#89947e;min-height:46px}.concept-home .paper-link:hover{box-shadow:3px 3px 0 var(--brand-lime)}
.creative-examples{padding-top:40px}.creative-examples>.kicker{color:#c4cbbd}.creative-examples h3{font:400 36px/1.2 var(--font-display);margin:15px 0}.creative-intro{max-width:710px;font-size:14px;color:#d1d7c7}
.concept-home .experiments{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;padding-top:20px}.experiments a{display:block;padding:20px 0;border-bottom:1px solid #67735f;text-decoration:none;min-height:105px}.experiments strong{display:block;font-size:16px;font-weight:600;margin-bottom:8px}.experiments strong>span{float:right;color:var(--brand-lime)}.experiments a>span{font-size:13px;line-height:1.6;color:#d1d7c7;display:block;max-width:450px}.experiments a:hover strong{text-decoration:underline;text-underline-offset:5px}.visual-credit{font:11px/1.6 var(--font-mono);color:#c4cbbd;margin-top:26px!important}
.concept-home .approach{padding-block:55px}.approach h2{font-size:clamp(38px,4.3vw,60px)}
.concept-footer .footer-mark span{color:var(--brand-lime)}.concept-footer .footer-idea-action{border-color:var(--brand-lime)}.concept-home :focus-visible{outline:3px solid var(--brand-focus);outline-offset:4px}.concept-home .workbench:focus-visible,.concept-home .workbench :focus-visible,.concept-home .concept-footer :focus-visible{outline-color:var(--brand-lime)}
.concept-home .solid-link:hover{box-shadow:3px 3px 0 var(--brand-accent)}.concept-home .shape-form input,.concept-home .shape-form textarea{color:var(--text-primary);background:var(--surface-card);border-color:var(--border-strong)}
@media(max-width:1000px){.concept-home .opening{gap:30px}.concept-home .opening h1{font-size:7.6vw}.concept-home .shop-strip{padding-inline:32px}.shop-strip a{padding-inline:14px;font-size:11px}.concept-home .contact-layout,.service-detail,.service-layout{gap:35px}.concept-home .featured-grid{gap:12px}.concept-home .featured-grid>.feature-card{padding:20px 16px}.featured-grid h3{font-size:27px;min-height:94px}.featured-grid .feature-copy{min-height:113px}.mini-preview{padding:14px;min-height:175px}.meeting-feature{gap:45px}}
@media(max-width:700px){.concept-home .opening{grid-template-columns:1fr;padding-block:28px;gap:22px}.concept-home .opening h1{font-size:clamp(55px,12.8vw,82px);max-width:550px}.concept-home .opening-art{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;align-items:center;width:100%;max-width:440px;margin:0;transform:none}.opening-art .plate-label{grid-column:1/-1}.opening-art>.study-art{max-width:135px;box-shadow:6px 6px 0 var(--brand-blue)}.opening-art figcaption{display:block;margin:0}.plate-note{display:block;margin-bottom:12px;max-width:none}.opening-art figcaption>span:last-child{display:block}.concept-home .shop-strip{padding:0 20px;grid-template-columns:1fr}.shop-strip a{border:0!important;border-bottom:1px solid var(--c-line)!important;padding:12px 0;min-height:46px;font-size:12px}.shop-strip a:last-child{border-bottom:0!important}.concept-home .contact-block{padding-block:30px}.concept-home .contact-layout{grid-template-columns:1fr;gap:26px}.concept-home .contact-layout h2{font-size:47px}.recognition{font-size:13px}.finder-invitation{padding-left:18px}.finder-invitation h3{font-size:23px}.concept-home .finder-invitation .solid-link{width:auto}.concept-home .services{padding-block:38px}.service-layout,.service-detail{grid-template-columns:1fr;gap:24px}.service-row{padding-inline:0}.service-detail{margin-top:30px}.concept-home .workbench{padding-block:35px}.bench-heading{font-size:41px}.bench-intro{font-size:14px}.concept-home .featured-grid{grid-template-columns:1fr;gap:18px}.concept-home .featured-grid>.feature-card{padding:23px}.featured-grid .project-label,.featured-grid h3,.featured-grid .feature-copy{min-height:0}.featured-grid h3{font-size:32px}.featured-grid .index-num{margin-bottom:14px}.mini-preview{min-height:0;padding:19px}.featured-grid .feature-copy{margin-bottom:20px}.meeting-feature{grid-template-columns:1fr;gap:30px;margin-top:30px;padding-block:30px}.meeting-feature .sample-art{max-width:330px;width:calc(100% - 12px)}.meeting-feature h3{font-size:37px}.concept-home .experiments{grid-template-columns:1fr;gap:0}.creative-examples h3{font-size:33px}.experiments a{min-height:0}.concept-home .approach{padding-block:38px}}

/* A real primary link covers each card; the sibling explanation stays independent. */
.concept-home .featured-grid>.feature-card{position:relative;isolation:isolate}
.concept-home .featured-grid .card-action::after{content:"";position:absolute;inset:0;z-index:1;cursor:pointer}
.concept-home .featured-grid .card-action:focus-visible{outline:none}
.concept-home .featured-grid .card-action:focus-visible::after{outline:3px solid var(--brand-lime);outline-offset:4px}
.concept-home .featured-grid .feature-card>a.bench-link{position:relative;z-index:2;box-sizing:border-box;width:100%;max-width:100%;min-height:48px;padding:12px;font-size:15px;line-height:1.5;font-weight:400;color:#d1d7c7;border:1px solid #67735f;text-align:left;transition:background-color .15s,border-color .15s}
.concept-home .featured-grid .feature-card>a.bench-link:hover{background:#414c37;border-color:#a5b391;color:var(--brand-paper)}
.concept-home .featured-grid .feature-card>a.bench-link:focus-visible{background:#414c37;outline:3px solid var(--brand-lime);outline-offset:3px}
.concept-home .featured-grid>.feature-card:has(>.bench-link:hover){background:#293025;border-color:#7d8874}
.concept-home .featured-grid>.feature-card:has(>.bench-link:hover) .card-action{text-decoration:underline;text-underline-offset:4px}

/* Directory rows retain their workshop-note appearance as native links. */
.concept-home .bench-note a.bench-note-toggle{text-decoration:none}

/* Closing thought stays within the existing Friction Finder invitation. */
.concept-home .finder-invitation .finder-closing-thought{margin-top:28px;max-width:34ch;font-size:clamp(20px,1.7vw,22px);font-weight:600;line-height:1.4;letter-spacing:-.02em;color:var(--c-ink)}
