/* Scoped to the homepage; other pages keep their existing presentation. */
.home-page { --ink:#15242f; --ink-soft:#394956; --paper:#dfe5ee; --paper-2:#e9ecf3; --white:#fff; --home-deep:#102b40; --home-copper:#9e5133; --line:rgba(21,36,47,.2); background:var(--paper); color:var(--ink); }
.home-page .site-header, .home-page .site-header.is-scrolled { background:var(--home-deep); box-shadow:none; }
.home-page .site-nav a { color:#f1f4f8; }
.home-page .hero { min-height:0; background:var(--home-deep); }
.home-page .hero-content { width:min(640px,calc(100% - 48px)); padding:164px 0 68px; }
.home-page .hero h1 { max-width:20ch; font-size:clamp(2.2rem,4vw,3.25rem); line-height:1.08; }
.home-page .hero-overlay { background:linear-gradient(90deg,#102b40 0%,rgba(16,43,64,.96) 29%,rgba(21,36,47,.72) 48%,rgba(16,43,64,.08) 76%,transparent); }
.home-page .hero-copy { color:#f1f4f8; font-size:1.2rem; }
.home-page .hero .eyebrow { color:#e4b69c; font-size:.9rem; letter-spacing:.07em; }
.home-page .section, .home-page .contact-section { padding-block:44px; background:var(--paper); }
.home-page h2 { font-size:clamp(1.8rem,2.8vw,2.35rem); line-height:1.18; }
.home-page .section-kicker, .home-page .eyebrow { color:var(--home-copper); font-size:.85rem; letter-spacing:.07em; }
.home-page .button.primary, .home-page .inline-button, .home-page .contact-actions .button { background:var(--home-copper); border-color:var(--home-copper); color:#fff; }
.home-page .button.secondary { color:#fff; }
.home-page .button:hover { filter:brightness(.94); }
.home-page .service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:28px; border:0; background:transparent; }
.home-page .service-card { padding:20px 0 0; border:0; border-top:2px solid var(--home-copper); background:transparent; min-height:0; }
.home-page .service-card h3 { font-size:1.18rem; line-height:1.35; }
.home-page .service-card p { margin-bottom:0; color:var(--ink-soft); }
.home-page .card-index { display:none; }
.home-page .proof-section { background:var(--paper-2); border-block:1px solid var(--line); overflow-anchor:none; }
.home-page .section-heading-row { align-items:center; gap:20px; }
.home-page .carousel-controls { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.home-page [hidden] { display:none !important; }
.home-page .carousel-position { margin:0 8px 0 0; color:var(--ink-soft); font-size:.85rem; min-width:7ch; }
.home-page .carousel-arrow { width:48px; height:48px; border:1px solid var(--home-copper); background:var(--home-copper); color:#fff; font:1.65rem/1 system-ui; cursor:pointer; border-radius:3px; }
.home-page .carousel-arrow:hover { background:#803f27; }
.home-page .client-letters { display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; padding:5px 2px 10px; align-items:stretch; }
.home-page .carousel-ready .client-letters { scrollbar-width:none; touch-action:pan-y; user-select:none; }
.home-page .carousel-ready .client-letters::-webkit-scrollbar { display:none; }
.home-page .client-letter { flex:0 0 calc((100% - 44px)/3); display:flex; flex-direction:column; gap:20px; padding:24px; border:1px solid var(--line); border-radius:4px; background:var(--paper); scroll-snap-align:start; min-width:0; }
.home-page .testimonial-featured { border-top:3px solid var(--home-copper); padding-top:22px; }
.home-page .client-identity { display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.home-page .client-letter .testimonial-logo { width:160px; height:48px; margin:0 0 18px; object-fit:contain; }
.home-page .client-letter .testimonial-logo-square { width:54px; }
.home-page .client-author { font-size:.9rem; line-height:1.45; }
.home-page .client-author strong { color:var(--ink); font-size:1rem; }
.home-page .client-author span { color:var(--ink-soft); }
.home-page .testimonial-content { flex:1; display:flex; flex-direction:column; min-width:0; gap:20px; }
.home-page .testimonial-excerpt p { font-size:1.12rem; line-height:1.5; font-weight:650; color:var(--ink); }
.home-page .testimonial-toggle, .home-page .full-testimonial > summary { width:fit-content; max-width:100%; min-height:34px; padding:6px 10px; border:1px solid var(--home-copper); border-radius:2px; background:transparent; color:var(--home-copper); font-family:inherit; font-size:.875rem; font-weight:700; line-height:1.45; cursor:pointer; }
.home-page .testimonial-toggle { margin-top:auto; }
.home-page .testimonial-toggle[aria-expanded="true"] { background:var(--home-copper); color:#fff; }
.home-page .full-testimonial { margin-top:24px; padding:24px 30px; border:1px solid var(--line); border-left:3px solid var(--home-copper); border-radius:3px; background:var(--paper); }
.home-page .full-testimonial .collapse-full { display:none; }
.home-page .full-testimonial[open] .collapse-full { display:inline; }
.home-page .full-testimonial[open] .read-full { display:none; }
.home-page .full-testimonial-text { max-width:78ch; padding-top:22px; }
.home-page .full-testimonial-text .client-author { margin-bottom:20px; }
.home-page .full-testimonial-text blockquote { margin:0; }
.home-page .full-testimonial-text p { margin-bottom:.85em; font-size:1rem; line-height:1.7; color:var(--ink); font-weight:400; }
.home-page .testimonials-footer { text-align:center; margin-top:24px; }
.home-page .testimonials-all { min-height:48px; padding:12px 20px; font-size:.95rem; text-align:center; }
.home-page .logo-proof { max-width:640px; padding:0; border:0; background:transparent; }
.home-page .logo-proof img { mix-blend-mode:multiply; }
.home-page .logo-proof figcaption { font-size:.85rem; color:var(--ink-soft); }
.home-page .proof-categories { gap:8px 24px; justify-content:center; }
.home-page .proof-categories span { padding:0; border:0; background:transparent; color:var(--ink-soft); font-size:.8rem; }
.home-page .customer-products { max-width:1560px; margin-inline:auto; }
.home-page .customer-products .section-heading-row { align-items:flex-end; margin-bottom:28px; }
.home-page .products-intro { max-width:40ch; margin:0; color:var(--ink-soft); line-height:1.6; }
.home-page .customer-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px 24px; }
.home-page .customer-product { min-width:0; }
.home-page .product-photo { position:relative; display:block; aspect-ratio:4/3; background:#fff; border:1px solid var(--line); overflow:hidden; }
.home-page .product-photo img { display:block; width:100%; height:100%; object-fit:contain; }
.home-page .product-visit { position:absolute; right:10px; bottom:10px; padding:6px 9px; background:var(--home-deep); color:#fff; font-size:.75rem; line-height:1.4; }
.home-page .product-photo:hover, .home-page .product-photo:focus-visible { border-color:var(--home-copper); }
.home-page .product-photo:hover .product-visit, .home-page .product-photo:focus-visible .product-visit { background:var(--home-copper); }
.home-page .product-caption { padding-top:14px; }
.home-page .product-customer { margin:0 0 3px; color:var(--ink-soft); font-size:.85rem; }
.home-page .product-caption h3 { margin:0; font-size:1.3rem; line-height:1.3; }
.home-page .product-contribution { margin:8px 0 0; font-size:.9rem; line-height:1.5; color:var(--ink-soft); }
.home-page .client-range { padding-top:8px; }
.home-page .client-range .logo-proof { margin-top:0; }
.home-page .signal-band { background:var(--paper-2); color:var(--ink); border-block:1px solid var(--line); }
.home-page .signal-band div { padding-block:24px; min-height:0; border-color:var(--line); }
.home-page .signal-band span { color:var(--home-copper); }
.home-page .efl-teaser, .home-page .team-section { background:var(--paper-2); }
.home-page .body-copy p, .home-page .team-card p { color:var(--ink-soft); }
.home-page .process-list { background:transparent; }
.home-page .process-item { grid-template-columns:32px minmax(0,1fr); gap:16px; padding:18px 0; border-bottom:1px solid var(--line); }
.home-page .process-item > span { display:block; width:auto; height:auto; background:transparent; color:var(--home-copper); }
.home-page .rescue-note { padding:0 0 0 22px; border-left:3px solid var(--home-copper); background:transparent; color:var(--ink); }
.home-page .rescue-note h3 { color:var(--ink); }
.home-page .rescue-note p { color:var(--ink-soft); }
.home-page .team-grid { display:block; margin-top:24px; }
.home-page .team-card { display:grid; grid-template-columns:minmax(220px,.4fr) minmax(0,1fr); gap:24px; padding:18px 0; background:transparent; border:0; border-top:1px solid var(--line); }
.home-page .team-card :is(h3,p) { margin:0; }
.home-page .engagement-details { border-bottom:1px solid var(--line); background:var(--paper); }
.home-page .engagement-details > summary { color:var(--home-copper); }
.home-page .outcome-list > div, .home-page .next-grid > article { border:0; border-top:1px solid var(--line); padding:18px 0; background:transparent; }
.home-page .next-grid { gap:24px; }
.home-page .next-grid article > span { display:none; }
.home-page .contact-section { background:var(--paper-2); color:var(--ink); gap:32px; }
.home-page .contact-section p { color:var(--ink-soft); font-size:1rem; }
.home-page .contact-panel { padding:0 0 0 28px; border:0; border-left:2px solid var(--line); background:transparent; box-shadow:none; }
.home-page .contact-panel h3 { font-size:1.15rem; color:var(--ink); }
.home-page .contact-link, .home-page .contact-phone { color:var(--home-copper); }
.home-page .contact-options { border-top:1px solid var(--line); padding-top:24px; }
.home-page .contact-options article { border:0; padding:0; background:transparent; }
.home-page .contact-options h3 { font-size:1.1rem; color:var(--ink); }
.home-page .site-footer { background:var(--home-deep); color:#f1f4f8; }
.home-page :focus-visible { outline:3px solid var(--home-deep); outline-offset:3px; }
.home-page :is(.site-header,.hero,.site-footer) :focus-visible { outline-color:#fff; }
@media (max-width:1100px) {
  .home-page .site-nav { background:var(--home-deep); }
  .home-page .hero-content { padding-top:136px; }
  .home-page .proof-section .section-heading-row { display:flex; }
  .home-page .client-letter { padding-inline:18px; }
}
@media (max-width:760px) {
  .home-page .section, .home-page .contact-section { padding-block:32px; }
  .home-page .hero { display:block; }
  .home-page .hero-image { position:relative; display:block; margin-top:86px; height:230px; object-position:75% center; }
  .home-page .hero-overlay { top:86px; height:230px; background:linear-gradient(0deg,#102b40,transparent 50%); }
  .home-page .hero-content { width:auto; margin:0; padding:12px 24px 36px; }
  .home-page .hero h1 { font-size:2.1rem; }
  .home-page .hero-copy { font-size:1.05rem; }
  .home-page .service-grid { grid-template-columns:1fr; gap:22px; }
  .home-page .proof-section .section-heading-row { display:block; }
  .home-page .carousel-controls { justify-content:flex-end; margin-block:12px 20px; }
  .home-page .carousel-position { margin-right:auto; }
  .home-page .client-letter { flex-basis:100%; padding:22px; }
  .home-page .testimonial-featured { padding-top:20px; }
  .home-page .testimonial-excerpt p { font-size:1.08rem; }
  .home-page .testimonial-toggle, .home-page .full-testimonial > summary { min-height:44px; }
  .home-page .full-testimonial { padding:20px; }
  .home-page .testimonials-all { width:100%; }
  .home-page .team-card { grid-template-columns:1fr; gap:8px; }
  .home-page .contact-panel { padding-left:0; border:0; }
}
@media (max-width:1000px) {
  .home-page .customer-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-page .customer-products .section-heading-row { display:block; }
  .home-page .products-intro { margin-top:12px; max-width:55ch; }
}
@media (max-width:640px) {
  .home-page .customer-product-grid { grid-template-columns:1fr; gap:28px; }
}
@media (pointer:coarse) {
  .home-page .testimonial-toggle, .home-page .full-testimonial > summary { min-height:44px; }
}
