/* Homepage only: validated hierarchy, approved mockups, tonic #d9ff62. */
.home-page{--hp-dark:#0d100f;--hp-paper:#f4f3ed;--hp-tonic:#d9ff62;--hp-muted:#b2b7ad;--hp-border:#343934;background:var(--hp-dark);color:var(--hp-paper)}
.home-page :focus-visible{outline:3px solid var(--hp-tonic);outline-offset:5px}
.home-page .hp-light :focus-visible,.home-page .hp-contact :focus-visible{outline-color:#435714}
.hp-shell{max-width:1440px;margin-inline:auto;padding-inline:clamp(22px,5.2vw,76px)}
.home-page h1,.home-page h2,.home-page h3,.home-page p,.home-page figure{margin:0}
.home-page em{font-style:normal;color:var(--hp-tonic)}
.home-page svg{width:22px;height:22px;flex-shrink:0}
.home-page .hp-header{min-height:108px;border-bottom:1px solid var(--hp-border);position:relative}
.home-page .hp-wordmark{font-size:21px;letter-spacing:-1px}
.hp-wordmark span{color:var(--hp-tonic)}
.home-page .site-nav{font-size:13px;gap:28px}
.home-page .site-nav a{min-height:44px;display:inline-flex;align-items:center}
.home-page .site-nav .hp-nav-contact{background:var(--hp-tonic);color:var(--hp-dark);border-radius:40px;padding:13px 20px;gap:24px;text-decoration:none}
.hp-label{font:12px/1.7 var(--mono);letter-spacing:.045em;text-transform:uppercase}
.hp-kicker{display:flex;align-items:center;gap:12px;color:var(--hp-tonic)}
.hp-kicker>span,.hp-dot{display:inline-block;width:7px;height:7px;background:var(--hp-tonic);border-radius:50%;flex-shrink:0}
.hp-hero{display:grid;grid-template-columns:1fr 1.12fr;gap:42px;align-items:center;padding-block:76px 74px}
.hp-hero h1{font-size:clamp(52px,5.4vw,78px);letter-spacing:-.062em;line-height:1.08;font-weight:600;margin-top:24px}
.hp-intro{max-width:440px;font-size:17px;line-height:1.8;color:#ced2c9;margin-top:27px!important}
.hp-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:23px;margin-top:33px}
.hp-button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:17px 23px;min-height:54px;border-radius:40px;font-size:13px;font-weight:700;transition:transform .2s,background .2s;white-space:nowrap}
.hp-button-lime{background:var(--hp-tonic);color:var(--hp-dark)}
.hp-button:hover{transform:translateY(-3px);background:#e5ff99}
.hp-link{display:inline-flex;align-items:center;gap:12px;padding-block:12px;min-height:44px;font-size:13px;font-weight:600}
.hp-link:hover{text-decoration:underline;text-underline-offset:5px}
.hp-hero-note{font:12px/1.9 var(--mono);color:var(--hp-muted);margin-top:30px!important;max-width:390px}
.hp-hero-visual{min-width:0}
.hp-hero-image{overflow:hidden;border-radius:8px;background:#e2e6dd}
.hp-hero-image picture,.hp-case-image picture{display:block}
.hp-hero-image img,.hp-case-image img{width:100%;height:auto;aspect-ratio:1.5;object-fit:contain}
.hp-hero-image-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;font:12px/1.8 var(--mono);color:var(--hp-muted)}
.hp-hero-image-caption>span:first-child{display:flex;align-items:center;gap:9px;color:var(--hp-paper);font-family:var(--font);font-size:12px;font-weight:500}
.hp-light{background:var(--hp-paper);color:var(--hp-dark)}
.hp-proof{padding-block:49px 38px}
.hp-proof-intro{display:grid;grid-template-columns:1.35fr 1fr;gap:70px;align-items:center}
.hp-proof h2{font-size:clamp(26px,2.55vw,36px);line-height:1.3;letter-spacing:-1.25px;font-weight:600}
.hp-proof-intro>p{font-size:15px;line-height:1.8;color:#5a6056;max-width:450px}
.hp-client-list{list-style:none;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:22px 32px;margin:35px 0 0;padding:27px 0 0;border-top:1px solid #ced2c7}
.hp-client-list li{font-size:18px;letter-spacing:-.5px;font-weight:700}
.hp-client-list li:first-child{font-size:25px;letter-spacing:-1.6px}
.hp-client-list li:nth-child(4),.hp-client-list li:nth-child(6),.hp-client-list li:nth-child(7){font-size:15px;letter-spacing:-.3px}
.hp-work{padding-block:84px 78px}
.hp-section-top{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-top:20px;border-top:1px solid var(--hp-border);color:var(--hp-muted)}
.hp-section-top>.hp-label:first-child{color:var(--hp-tonic)}
.hp-section-heading{display:grid;grid-template-columns:1.45fr 1fr;gap:70px;align-items:end;margin-block:37px 40px}
.hp-section-heading h2{font-size:clamp(34px,3.8vw,54px);line-height:1.15;letter-spacing:-2px;font-weight:500}
.hp-section-heading>p{font-size:16px;line-height:1.8;color:var(--hp-muted);max-width:365px;padding-bottom:4px}
.hp-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.hp-case{display:flex;flex-direction:column;min-width:0;padding-bottom:28px;border-bottom:1px solid var(--hp-border)}
.hp-case-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;color:var(--hp-tonic)}
.hp-case-arrow{width:35px;height:35px;border:1px solid var(--hp-border);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}
.hp-case-arrow svg{width:17px;height:17px}
.hp-case-image{overflow:hidden;border-radius:6px;background:#d9ddd4}
.hp-case-image img{transition:transform .45s cubic-bezier(.2,.65,.2,1)}
.hp-case:hover .hp-case-image img{transform:scale(1.025)}
.hp-case:hover .hp-case-arrow{background:var(--hp-tonic);color:var(--hp-dark)}
.hp-case-copy{display:flex;flex:1;flex-direction:column;padding-top:24px}
.hp-case-copy h3{font-size:32px;line-height:1.2;letter-spacing:-1.4px;font-weight:600}
.hp-case-copy .hp-case-claim{color:var(--hp-paper);font-size:16px;font-weight:600;margin-top:13px}
.hp-case-copy p{font-size:15px;line-height:1.75;color:var(--hp-muted);margin-top:10px}
.hp-case-scope{display:block;font:12px/1.9 var(--mono);color:var(--hp-muted);padding-top:23px;margin-top:auto}
.hp-other-work{margin-top:42px}
.hp-other-work>.hp-label{color:var(--hp-muted)}
.hp-other-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:27px;margin-top:17px}
.hp-other-grid>a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:17px;border-top:1px solid var(--hp-border);min-width:0}
.hp-other-grid strong{font-size:17px;letter-spacing:-.6px;display:block;font-weight:600}
.hp-other-grid small{display:block;margin-top:7px;font:12px/1.8 var(--mono);color:var(--hp-muted)}
.hp-other-grid svg{width:18px;height:18px;color:var(--hp-tonic)}
.hp-other-grid a:hover strong{text-decoration:underline;text-underline-offset:5px}
.hp-expertise{padding-block:74px 76px}
.hp-light .hp-section-top{border-color:#c9cec1;color:#596151}
.hp-light .hp-section-top>.hp-label:first-child{color:var(--hp-dark)}
.hp-light .hp-section-heading>p{color:#5b6354}
.hp-offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid #cbd1c2;border-radius:7px;overflow:hidden}
.hp-offer{padding:29px 28px 26px;display:flex;flex-direction:column;min-width:0}
.hp-offer+.hp-offer{border-left:1px solid #cbd1c2}
.hp-offer>.hp-label{color:#5b6354}
.hp-offer-icon{height:67px;margin-block:28px 20px;font-size:49px;letter-spacing:-4px;font-weight:500;line-height:1;display:flex;align-items:center}
.hp-evolution{gap:7px;align-items:flex-end;padding-bottom:7px}
.hp-evolution span{width:21px;height:23px;border:1.5px solid var(--hp-dark);border-radius:3px;background:var(--hp-tonic)}
.hp-evolution span:nth-child(2){height:38px}.hp-evolution span:nth-child(3){height:55px}
.hp-leadership{position:relative;width:84px}
.hp-leadership span{position:absolute;border:1.5px solid var(--hp-dark);border-radius:50%;width:45px;height:45px;background:#d9ff6266;top:6px;left:0}
.hp-leadership span:nth-child(2){left:33px}.hp-leadership span:nth-child(3){top:24px;left:17px;background:transparent}
.hp-offer h3{font-size:36px;line-height:1.1;letter-spacing:-1.5px;font-weight:600}
.hp-offer>p:not(.hp-label){font-size:15px;line-height:1.8;color:#535d4b;margin-top:24px}
.hp-offer ul{list-style:none;padding:0;margin:24px 0 28px;font:12px/1.85 var(--mono);color:#3d4734}
.hp-offer li{border-top:1px solid #d5dacd;padding-block:10px}
.hp-offer-link{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;font-size:12px;font-weight:700}
.hp-offer-link:hover{text-decoration:underline;text-underline-offset:5px}
.hp-offer-link svg{width:18px;height:18px}
.hp-audit{background:var(--hp-dark);color:var(--hp-paper);display:flex;align-items:center;justify-content:space-between;gap:45px;margin-top:24px;padding:33px 35px;border-radius:7px}
.hp-audit .hp-label{color:var(--hp-tonic)}
.hp-audit h3{font-size:29px;letter-spacing:-1px;line-height:1.3;margin-top:12px}
.hp-audit p{font-size:15px;line-height:1.8;color:var(--hp-muted);margin-top:10px;max-width:690px}
.hp-audit .hp-button{flex-shrink:0}
.hp-approach{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;padding-block:92px 87px}
.hp-approach-copy>.hp-label{color:var(--hp-muted)}
.hp-approach h2{font-size:clamp(36px,3.65vw,52px);line-height:1.16;letter-spacing:-2px;font-weight:500;margin-top:29px}
.hp-approach-copy>p:not(.hp-label){color:var(--hp-muted);font-size:16px;line-height:1.8;max-width:495px;margin-top:25px}
.hp-approach .hp-link{margin-top:20px;color:var(--hp-tonic)}
.hp-diagram{position:relative;width:100%;max-width:490px;aspect-ratio:1/1.04;justify-self:center}
.hp-circle{width:58%;aspect-ratio:1;position:absolute;border:1px solid #a5bd70;border-radius:50%;display:flex;align-items:center;flex-direction:column;font:12px/1.7 var(--mono);color:#c3cbb8;background:radial-gradient(ellipse at center,#d9ff6209,transparent 68%)}
.hp-circle strong{font-size:14px;letter-spacing:.08em;font-weight:500;color:var(--hp-tonic)}
.hp-circle span{margin-top:4px}
.hp-circle-brand{top:3%;left:21%;padding-top:17%}
.hp-circle-product{top:32%;left:0;padding-top:26%;padding-right:6%}
.hp-circle-systems{top:32%;right:0;padding-top:26%;padding-left:6%}
.hp-diagram-center{position:absolute;top:43%;left:calc(50% - 14px);font-size:41px;line-height:1;color:var(--hp-tonic);font-weight:300}
.hp-diagram figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;font:12px/1.8 var(--mono);color:var(--hp-muted)}
.hp-diagram figcaption strong{font-weight:500;letter-spacing:.07em;color:var(--hp-paper)}
.hp-contact{background:var(--hp-tonic);color:var(--hp-dark);padding-block:72px 43px}
.hp-contact-top{display:flex;align-items:center;justify-content:space-between;gap:40px}
.hp-contact h2{font-size:clamp(40px,6.25vw,88px);line-height:1.06;letter-spacing:-.055em;font-weight:500;margin-top:27px}
.hp-contact em{color:var(--hp-dark);font-style:italic}
.hp-contact-arrow{width:120px;height:120px;border-radius:50%;background:var(--hp-dark);color:var(--hp-tonic);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s}
.hp-contact-arrow svg{width:48px;height:48px}
.hp-contact-arrow:hover{transform:rotate(6deg)}
.hp-contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:27px;margin-top:46px;border-top:1px solid #829b39}
.hp-contact-bottom>a:first-child{font-size:clamp(15px,1.65vw,23px);letter-spacing:-.5px;overflow-wrap:anywhere;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:7px}
.hp-footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-block:30px;color:var(--hp-muted);font:12px/1.8 var(--mono)}
.hp-footer>a{min-height:44px;display:flex;align-items:center}
@media(max-width:1150px){.home-page .site-nav{gap:19px}.hp-hero{gap:30px}.hp-hero-actions{gap:10px 20px}.hp-hero-image-caption>span:last-child{font-size:11px}.hp-offer{padding-inline:23px}.hp-offer-link{font-size:12px}.hp-other-grid{gap:20px}.hp-other-grid small{font-size:11px}.hp-approach{gap:40px}}
@media(max-width:1000px){.hp-hero{grid-template-columns:1fr;padding-top:55px;gap:38px}.hp-hero-copy{max-width:780px}.hp-hero h1{font-size:clamp(54px,7.4vw,76px)}.hp-intro{max-width:570px}.hp-hero-note{max-width:none}.hp-hero-visual{max-width:780px}.hp-hero-image-caption>span:last-child{font-size:12px}.hp-proof-intro,.hp-section-heading{gap:35px}.hp-case-grid{gap:21px}.hp-case-copy h3{font-size:27px}.hp-case-copy .hp-case-claim{font-size:14px}.hp-case-copy p{font-size:14px}.hp-other-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 35px}.hp-offer{padding-inline:20px}.hp-offer h3{font-size:31px}.hp-offer>p:not(.hp-label){font-size:14px}.hp-offer-link{line-height:1.7}.hp-audit{gap:30px;padding:30px}.hp-approach{grid-template-columns:1fr;gap:45px}.hp-approach-copy>p:not(.hp-label){max-width:630px}.hp-diagram{max-width:450px}.hp-contact-arrow{width:95px;height:95px}}
@media(max-width:767px){.home-page .hp-header{min-height:88px}.home-page .menu-toggle{color:var(--hp-paper);border-color:#68715f;min-height:44px;font-size:12px}.home-page .site-nav{background:var(--hp-dark);border-bottom-color:var(--hp-border);padding:18px 22px 25px;gap:7px;top:87px}.home-page .site-nav.is-open{display:flex}.home-page .site-nav a{font-size:15px}.home-page .site-nav .hp-nav-contact{align-self:flex-start;margin-top:7px;font-size:13px}.hp-shell{padding-inline:24px}.hp-hero{padding-block:39px 46px;gap:31px}.hp-hero h1{font-size:clamp(45px,8.7vw,65px);margin-top:22px}.hp-kicker{font-size:12px}.hp-intro{font-size:16px;margin-top:23px!important}.hp-hero-actions{margin-top:25px;gap:8px 22px}.hp-hero-note{margin-top:21px!important}.hp-hero-image-caption{margin-top:13px;gap:12px}.hp-hero-image-caption>span:last-child{font-size:11px}.hp-proof{padding-block:34px 30px}.hp-proof-intro,.hp-section-heading{grid-template-columns:1fr;gap:20px}.hp-proof h2{font-size:28px;letter-spacing:-1px}.hp-proof-intro>p{font-size:15px}.hp-client-list{margin-top:27px;padding-top:23px;justify-content:flex-start;gap:19px 27px}.hp-client-list li{font-size:17px}.hp-client-list li:first-child{font-size:22px}.hp-client-list li:nth-child(4),.hp-client-list li:nth-child(6),.hp-client-list li:nth-child(7){font-size:14px}.hp-work{padding-block:49px 45px}.hp-section-top{align-items:start;gap:18px}.hp-section-top>.hp-label:last-child{max-width:140px;text-align:right;font-size:11px}.hp-section-heading{margin-block:25px 30px;gap:18px}.hp-section-heading h2{font-size:36px;letter-spacing:-1.4px}.hp-section-heading>p{font-size:15px;max-width:470px}.hp-case-grid{grid-template-columns:1fr;gap:33px}.hp-case-top{margin-bottom:12px}.hp-case-copy{padding-top:19px}.hp-case-copy h3{font-size:31px}.hp-case-copy .hp-case-claim,.hp-case-copy p{font-size:16px}.hp-case-scope{font-size:12px;padding-top:18px}.hp-case{padding-bottom:25px}.hp-other-work{margin-top:32px}.hp-other-grid{gap:0 25px;margin-top:14px}.hp-other-grid strong{font-size:17px}.hp-other-grid small{font-size:11px}.hp-expertise{padding-block:45px}.hp-offer-grid{grid-template-columns:1fr}.hp-offer{padding:26px}.hp-offer+.hp-offer{border-left:0;border-top:1px solid #cbd1c2}.hp-offer-icon{margin-block:23px 20px}.hp-offer h3{font-size:36px}.hp-offer>p:not(.hp-label){font-size:16px;margin-top:19px;max-width:560px}.hp-offer ul{font-size:12px;margin-block:20px}.hp-offer-link{font-size:13px}.hp-audit{display:block;padding:26px}.hp-audit h3{font-size:27px}.hp-audit p{font-size:16px}.hp-audit .hp-button{margin-top:23px}.hp-approach{padding-block:50px}.hp-approach h2{font-size:38px;letter-spacing:-1.5px;margin-top:23px}.hp-approach-copy>p:not(.hp-label){font-size:16px;margin-top:23px}.hp-diagram{max-width:420px;margin-top:2px!important}.hp-contact{padding-block:47px 29px}.hp-contact-top{align-items:flex-start;gap:20px}.hp-contact h2{font-size:clamp(38px,7.3vw,56px);margin-top:23px}.hp-contact-top .hp-label{font-size:11px}.hp-contact-arrow{width:64px;height:64px;margin-top:52px}.hp-contact-arrow svg{width:29px;height:29px}.hp-contact-bottom{flex-direction:column;align-items:flex-start;gap:9px;padding-top:21px;margin-top:32px}.hp-contact-bottom>a:first-child{font-size:17px}.hp-footer{flex-wrap:wrap;gap:12px 23px;padding-block:22px}.hp-footer-signature{display:none}html:not(.js) .home-page .hp-header{padding-block:22px}html:not(.js) .home-page .site-nav{display:flex;position:static;padding:0;gap:5px 23px;border:0;box-shadow:none}html:not(.js) .home-page .site-nav .hp-nav-contact{margin-top:5px}}
@media(max-width:420px){.hp-shell{padding-inline:20px}.home-page .hp-wordmark{font-size:18px}.hp-hero h1{font-size:clamp(34px,10vw,42px)}.hp-hero-image-caption{flex-wrap:wrap;gap:5px 16px}.hp-section-heading h2{font-size:32px}.hp-proof h2{font-size:25px}.hp-other-grid{grid-template-columns:1fr;gap:0}.hp-other-grid small{font-size:12px}.hp-circle strong{font-size:12px}.hp-circle span{font-size:11px}.hp-diagram figcaption{font-size:11px}.hp-approach h2{font-size:33px}.hp-contact-top{position:relative;display:block}.hp-contact h2{font-size:38px}.hp-contact-arrow{width:54px;height:54px;margin-top:23px}.hp-contact-bottom>a:first-child{font-size:15px}.hp-footer{font-size:11px}}
@media(prefers-reduced-motion:reduce){.home-page *{transition:none!important}.hp-case:hover .hp-case-image img,.hp-button:hover,.hp-contact-arrow:hover{transform:none}}
