/* A tighter homepage rhythm. Space follows the content, not the screen height. */
html{scroll-padding-top:24px}
.home-page .section{padding-block:clamp(48px,5vw,72px)}
/* Share one compact gap between the service list and the process section. */
.home-page{--services-approach-gap:clamp(24px,2.5vw,36px)}
.home-page #services{padding-bottom:var(--services-approach-gap)}
.home-page #services + #approach{padding-top:var(--services-approach-gap)}
.home-page .eyebrow{margin-bottom:20px}
.home-page .proof-bar{padding-block:26px}
.home-page .services{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:6%;align-items:start}
.home-page .services .section-intro>.services-lead{margin-top:20px}
.home-page .service-outcomes{margin-top:22px;padding-top:18px;max-width:none;scroll-margin-top:0}
.home-page .service-outcomes>h3{margin-bottom:16px}
.home-page .outcomes-list{gap:16px}
.home-page .outcomes-list>li{grid-template-columns:58px minmax(0,1fr);gap:14px;align-items:center}
.home-page .output-art{display:block;width:58px;height:44px;overflow:visible}
.home-page .outcomes-list h4{margin-bottom:4px}
.home-page .service-outcomes>.outcomes-scope{margin-top:17px}
.home-page .service-list summary{padding-block:22px}
.home-page .service-body{padding-bottom:24px}
.home-page .service-list details[open]{border-top-color:#b98787}
.home-page .approach-heading{margin-bottom:28px}
.home-page .approach-heading>p{max-width:350px}
.home-page .approach-grid{gap:7%;grid-template-columns:1fr 1.08fr;align-items:start}
.home-page .steps{gap:32px;align-self:stretch;justify-content:space-between}
/* A readable process: a clear step, its output, and the people behind it. */
.home-page .steps p{max-width:calc(410px + var(--wide) * .2)}
.home-page #approach .steps h3{margin:3px 0 10px;font-size:var(--fs-h4);line-height:var(--lh-h4);letter-spacing:var(--ls-h4)}
.home-page .steps article>div{min-width:0}
.home-page #approach .steps .step-output{display:flex;align-items:center;gap:10px;max-width:none;margin-top:17px;color:#6e2939;font-size:var(--fs-body);line-height:var(--lh-title)}
.home-page .step-output svg{flex:none;width:24px;height:24px;color:#9a4e5c}
.home-page .step-output strong{font-weight:var(--fw-semibold)}
.home-page .step-detail{max-width:calc(440px + var(--wide) * .2);margin-top:18px;padding-top:16px;border-top:1px solid #d8c5b8}
.home-page .step-detail ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.home-page .step-detail li{position:relative;padding-left:14px;color:#735d60}
.home-page .step-detail li:before{content:'';position:absolute;left:0;top:.7em;width:3px;height:3px;border-radius:50%;background:#a46f76}
.home-page .steps .step-people{max-width:none;margin-top:15px;color:#735d60}
@media(max-width:800px){.home-page .step-detail{max-width:none;margin-top:16px;padding-top:13px}}
.motion-on .home-page .process-cue{margin:0 0 24px}
.home-page .roadmap-card.approach-preview{padding:24px}
.home-page .approach-preview .roadmap-top{margin-bottom:16px}
.home-page .approach-canvas{margin-top:20px}
.home-page .approach-preview .roadmap-deliverables{gap:9px;padding-top:14px;margin-top:18px}
.home-page .roadmap-deliverables>span{display:block;position:relative;padding-left:13px}
.motion-on .home-page .roadmap-deliverables>span{opacity:1;transform:none}
.home-page .roadmap-deliverables>span:before{content:'';position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:#c8a29a;transition:background .4s,box-shadow .4s}
.home-page .roadmap-card[data-story-stage="1"] .roadmap-deliverables>span:first-child:before,
.home-page .roadmap-card[data-story-stage="2"] .roadmap-deliverables>span:nth-child(-n+2):before,
.home-page .roadmap-card[data-story-stage="3"] .roadmap-deliverables>span:before{background:#812635;box-shadow:0 0 0 3px #81263510}
.home-page .engagement-heading{margin-bottom:25px}
.home-page .support-wayfinding{padding:20px 30px 0}
.home-page .support-switch{padding:22px 30px 18px}
.home-page .support-node{width:52px;height:52px;margin-bottom:4px}
.home-page .support-node svg{width:28px;height:28px}
.home-page .support-route{top:48px}
.home-page .support-panel{min-height:365px}
.home-page .support-copy{padding:27px 32px}
.home-page .support-question{margin-bottom:13px}
.home-page .support-description{margin-top:15px}
.home-page .support-outcome{margin:19px 0 18px;padding-top:16px}
.home-page .support-visual{padding:22px 25px;margin:16px 16px 16px 0}
.home-page .support-visual-top{margin-bottom:20px}
.home-page .focus-document{transform:none;padding:16px}
.home-page .focus-document-head{padding-bottom:11px}
.home-page .focus-item{padding-top:9px}
.home-page .support-continuity{padding:20px 30px;gap:20px}
.home-page .support-continuity p{margin-top:5px;max-width:none}
.home-page .contact-section{padding-block:38px;margin-bottom:42px}
.home-page .contact-section>div:first-child{flex:1;min-width:0;width:100%}
.home-page .contact-section .eyebrow{margin-bottom:16px}
.home-page .contact-section p:not(.eyebrow){margin-top:16px}
.motion-on .home-page .outcomes-list .is-visible .output-draw{stroke-dasharray:100;animation:output-line .9s ease-out both}
.motion-on .home-page .outcomes-list .is-visible .output-cells{animation:output-form .65s ease-out both}
@keyframes output-line{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes output-form{from{opacity:.15;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(min-width:800px){.home-page .hero{min-height:min(570px,calc(100svh - 116px));padding-block:30px}}
@media(min-width:800px) and (max-height:680px){.home-page .hero{min-height:0;padding-block:20px}}
@media(min-width:1600px){.home-page .section{padding-block:80px}}
@media(max-width:1050px){
  .home-page .services{gap:5%;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
  .home-page .outcomes-list>li{grid-template-columns:48px minmax(0,1fr);gap:11px}
  .home-page .output-art{width:48px;height:38px}
  .home-page .support-copy{padding:25px}.home-page .support-visual{padding:20px}
}
@media(max-width:800px){
  .home-page .services{grid-template-columns:1fr;gap:30px}
  .home-page .services .section-intro>.services-lead{max-width:580px}
  .home-page .outcomes-list{grid-template-columns:1fr 1fr;gap:20px 25px}
  .home-page .outcomes-list>li{grid-template-columns:48px minmax(0,1fr);align-items:start}
  .home-page .service-list{border-top:0;max-width:none}
  .motion-on .home-page .approach-grid,.home-page .approach-grid{grid-template-columns:1fr;gap:28px}
  .home-page .steps,.motion-on .home-page .steps{gap:28px;max-width:none}
  .home-page .steps p{max-width:none}
  .home-page #approach .steps .step-output{margin-top:14px}
  .motion-on .home-page .roadmap-card{position:relative;top:auto;max-width:580px;width:100%;margin:auto}
}
@media(max-width:700px){
  .home-page .section{padding-block:46px}
  .home-page .hero{padding-block:24px;row-gap:22px}
  .home-page .proof-bar{padding-block:24px;gap:21px}
  .home-page .approach-heading>p{margin-top:18px;max-width:none}
  .home-page .support-wayfinding{padding:18px 23px 0;gap:7px}
  .home-page .support-switch{padding:20px 13px 16px;gap:5px}
  .home-page .support-route{top:44px}.home-page .support-node{width:48px;height:48px}
  .home-page .support-panel{min-height:0}
  .home-page .support-copy{padding:25px 24px}
  .home-page .support-visual{margin:0 16px 20px;padding:22px}
  .home-page .support-continuity{padding:22px;gap:13px}
  .home-page .contact-section{padding-block:30px;margin-bottom:30px}
}
@media(max-width:480px){
  .home-page .outcomes-list{grid-template-columns:1fr;gap:16px}
  .home-page .outcomes-list>li{grid-template-columns:58px minmax(0,1fr);gap:13px;align-items:center}
  .home-page .output-art{width:58px;height:44px}
  .home-page .roadmap-card.approach-preview{padding:20px}
  .home-page .support-switch{padding-inline:9px}
  .home-page .support-visual{padding:21px 17px}
}
@media(prefers-reduced-motion:reduce){.home-page .output-art *{animation:none!important}.home-page .step-output,.home-page .roadmap-deliverables>span:before{transition:none!important}}
.motion-off .home-page .output-art *,.site-reduced-motion .home-page .output-art *{animation:none!important}

/* A quiet, full-width invitation to the four-capability assessment. */
.lite-assessment-banner{display:flex;align-items:center;justify-content:center;gap:max(20px,1.5em);font-size:var(--banner-fs);min-height:var(--banner-h);padding:5px 5%;background:#4b111b;color:#fff5e9}
.lite-banner-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:max(30px,2.3em);padding:3px max(14px,1.07em);border:1px solid #f5e5d5;border-radius:999px;background:#f5e5d5;color:#4b111b;transition:background .2s,border-color .2s}
.lite-banner-button:hover{background:#fffaf3;border-color:#fffaf3}
.lite-banner-button:focus-visible{outline:2px solid #fffaf3;outline-offset:2px}
@media(max-width:760px){.lite-assessment-banner{gap:16px}}
@media(max-width:420px){.lite-assessment-banner{gap:14px;padding-inline:4%}.lite-banner-intro{display:none}.lite-banner-button{padding-inline:11px}}
@media(prefers-reduced-motion:reduce){.lite-banner-button{transition:none}}

/* Team band: a compact dark band. The intro sits beside two horizontal person cards (portrait, name, role);
   below 1280px the intro sits above the cards, and phones stack the cards. */
.home-page .people-section{--person-card:clamp(328px,16vw + 72px,460px);--portrait-w:clamp(92px,3vw + 48px,128px);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px clamp(40px,4vw,112px);padding-top:clamp(40px,4vw,64px);padding-bottom:clamp(40px,4vw,64px);margin-bottom:40px;background:#340a12;color:#f5efe5}
.people-intro .eyebrow{margin-bottom:16px;color:#e2b0aa}
.people-contact{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:14px;color:#f5efe5;text-decoration:underline;text-decoration-color:#b98287;text-underline-offset:6px;text-decoration-thickness:1px;transition:text-decoration-color .2s,color .2s}
.people-contact:hover{color:#e2b0aa;text-decoration-color:currentColor}
.people-contact:focus-visible{outline-color:#e2b0aa}
.people-contact-icon{flex-shrink:0;transition:transform .2s cubic-bezier(.22,1,.36,1)}
.people-contact:hover .people-contact-icon{transform:translateX(3px)}
.people-profiles{display:grid;grid-template-columns:repeat(2,var(--person-card));gap:clamp(14px,1.2vw,24px)}
.person-card{display:grid;grid-template-columns:var(--portrait-w) minmax(0,1fr);align-items:center;gap:clamp(16px,1.3vw,26px);min-width:0;padding:clamp(12px,.9vw,16px);background:#4b111b;border:1px solid #ffffff17;border-radius:18px}
.person-portrait{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:12px;background:#5c2530}
.person-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.person-portrait img.portrait-top{object-position:50% 0}
.person-caption{min-width:0}
.person-caption h3{color:#f5efe5}
.person-role{margin-top:8px;color:#e2b0aa}
/* On reveal, each portrait settles from a slight zoom; the photo is always visible, with or without motion. */
.motion-on .person-card.reveal .person-portrait img{transform:scale(1.08);transition:transform .9s cubic-bezier(.22,1,.36,1) calc(var(--reveal-delay,0ms) + 80ms)}
.motion-on .person-card.reveal.is-visible .person-portrait img,.motion-on .person-card.reveal:focus-within .person-portrait img{transform:none}
@media(max-width:1279px){.home-page .people-section{grid-template-columns:minmax(0,1fr)}.people-profiles{grid-template-columns:repeat(2,minmax(0,1fr));max-width:800px}}
@media(max-width:600px){.home-page .people-section{--portrait-w:76px;gap:24px;margin-bottom:30px}.people-intro .eyebrow{margin-bottom:12px}.people-contact{margin-top:8px}.people-profiles{grid-template-columns:minmax(0,1fr);gap:12px}.person-card{gap:16px;padding:12px;border-radius:16px}.person-portrait{border-radius:10px}.person-role{margin-top:6px}}
@media(prefers-reduced-motion:reduce){.people-contact,.people-contact-icon,.person-portrait img{transition:none!important}.people-contact:hover .people-contact-icon,.motion-on .person-card.reveal .person-portrait img{transform:none}}
@media print{.home-page .people-section,.people-intro .eyebrow,.people-intro h2,.people-contact,.person-caption h3,.person-role{color:#32181c!important}.home-page .people-section,.person-card{background:none!important}.person-card{border-color:#dccfc4}.people-contact{text-decoration-color:currentColor!important}}


/* Proof bar on wide screens: the three items spread edge to edge, so the last one ends on the art's right edge. */
@media(min-width:1600px){.home-page .proof-bar{grid-template-columns:repeat(3,max-content);justify-content:space-between;column-gap:40px}.home-page .proof-bar>div+div{padding-left:clamp(40px,3vw,72px)}}

/* Contact panel: even space around it and more room inside. */
@media(min-width:901px){.home-page .people-section{margin-bottom:0}.home-page .contact-section{margin-top:clamp(40px,4vw,80px);margin-bottom:clamp(40px,4vw,80px);padding:clamp(40px,3vw,72px) clamp(32px,4vw,96px)}}
