.ht-page{--ht-ink:#0b2035;--ht-navy:#071b2d;--ht-green:#168b57;--ht-mint:#e8f5ee;--ht-muted:#536579;--ht-line:#dce6e7;color:var(--ht-ink);font-family:Inter,Arial,sans-serif;overflow:hidden;background:#fff}
.ht-page *{box-sizing:border-box}
.ht-page h1,.ht-page h2,.ht-page h3,.ht-page p,.ht-page figure,.ht-page dl{margin:0}
.ht-page h1,.ht-page h2,.ht-page h3{font-family:"Plus Jakarta Sans",Inter,sans-serif}
.ht-page h1,.ht-page h2{letter-spacing:-.055em}
.ht-page h2{font-size:clamp(2.2rem,4vw,4.3rem);line-height:1.12;font-weight:800}
.ht-page h3{font-weight:750}
.ht-page p{line-height:1.78}
.ht-page img{display:block;max-width:100%}
.ht-page a{text-decoration:none}
.ht-page a:focus-visible,.ht-page button:focus-visible,.ht-page summary:focus-visible{outline:3px solid #23bb78;outline-offset:4px}
.ht-wrap{width:min(100% - 48px,1240px);margin:auto}
.ht-section{padding:112px 0}
.ht-eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--ht-green);font-size:.78rem;font-weight:800;margin-bottom:22px!important}
.ht-page em{font-style:normal;color:var(--ht-green)}
.ht-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:17px 22px;min-height:56px;border-radius:6px;font-weight:750;font-size:.91rem;transition:transform .2s,background .2s,color .2s}
.ht-button:hover{transform:translateY(-3px)}
.ht-button-primary{background:#158956;color:white}
.ht-button-primary:hover{background:#0d6d42;color:white}
.ht-button-outline{color:var(--ht-ink);border:1px solid #bfcfca;background:white}
.ht-button-outline:hover{color:var(--ht-green);border-color:var(--ht-green)}
.ht-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.ht-hero{background:#f6f8f5;padding:32px 0 115px;position:relative}
.ht-hero:before{content:"";position:absolute;left:0;bottom:0;width:35%;height:90px;background:#e8f2e9}
.ht-hero-grid{display:grid;grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr);gap:6%;align-items:center;position:relative}
.ht-breadcrumb{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:.78rem;color:#708093;margin-bottom:76px}
.ht-breadcrumb a{color:#596c76}.ht-breadcrumb a:hover{color:var(--ht-green)}
.ht-hero h1{font-size:clamp(3rem,5.1vw,5.8rem);line-height:1.06;font-weight:800;max-width:640px}
.ht-lead{font-size:1.08rem;color:var(--ht-muted);max-width:590px;margin-top:28px!important}
.ht-hero-foot{display:flex;align-items:center;gap:12px;margin-top:62px;color:#66797c;font-size:.79rem;letter-spacing:.07em;text-transform:uppercase;font-weight:750}
.ht-pulse{width:9px;height:9px;background:#21a76b;border-radius:50%;box-shadow:0 0 0 6px #daf3e4}
.ht-hero-visual{position:relative;min-height:650px;padding-left:12%;padding-bottom:13%}
.ht-hero-photo{width:100%;height:560px;object-fit:cover;border-radius:120px 8px 8px 8px;filter:saturate(.9);box-shadow:0 26px 70px #0821381c}
.ht-hero-photo-label{position:absolute;right:4%;top:28px;width:220px;background:#071e30e9;color:white;padding:22px;border-left:3px solid #23b770;box-shadow:0 12px 35px #041b2740}
.ht-hero-photo-label span{display:block;color:#7ed0a3;text-transform:uppercase;letter-spacing:.12em;font-size:.67rem;font-weight:800;margin-bottom:9px}
.ht-hero-photo-label strong{font-family:"Plus Jakarta Sans",sans-serif;font-size:1.08rem;line-height:1.3}
.ht-hero-screen{position:absolute;width:57%;bottom:0;left:0;border:8px solid white;box-shadow:0 22px 60px #0621323b;border-radius:10px;background:white;overflow:hidden}
.ht-hero-screen img{aspect-ratio:1.65;object-fit:cover;object-position:top}
.ht-challenges{background:white}
.ht-challenges-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}
.ht-challenges-intro>p:not(.ht-eyebrow){color:var(--ht-muted);max-width:545px;margin-top:24px}
.ht-challenges-intro>img{width:90%;height:290px;object-fit:cover;margin-top:42px;border-radius:6px 70px 6px 6px}
.ht-challenge-list{border-top:1px solid var(--ht-line)}
.ht-challenge-list article{display:grid;grid-template-columns:66px 1fr;gap:18px;border-bottom:1px solid var(--ht-line);padding:31px 0}
.ht-challenge-list span{color:var(--ht-green);font-size:.89rem;font-weight:800;letter-spacing:.12em}
.ht-challenge-list h3{font-size:1.25rem;margin-bottom:9px}
.ht-challenge-list p{color:var(--ht-muted);font-size:.95rem}
.ht-featured{background:#eef3ef}
.ht-featured-heading{display:grid;grid-template-columns:1.04fr .74fr;gap:9%;align-items:end;margin-bottom:42px}
.ht-featured-heading h2{font-size:clamp(3rem,5vw,5.5rem)}
.ht-featured-heading h3{font-size:1.3rem;margin-top:16px;letter-spacing:-.025em}
.ht-featured-heading>p{color:var(--ht-muted)}
.ht-featured-stage{position:relative;background:#0a1b2c;border-radius:10px;overflow:hidden;box-shadow:0 30px 65px #0a2b2721}
.ht-stage-top{height:38px;background:#122a3c;display:flex;align-items:center;justify-content:space-between;padding:0 17px;color:#dce9e9;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}
.ht-stage-top span{display:flex;gap:5px}.ht-stage-top i{width:7px;height:7px;border-radius:50%;background:#5d7482}.ht-stage-top i:first-child{background:#6cbd8c}
.ht-featured-stage>img{width:100%;height:620px;object-fit:cover;object-position:top}
.ht-stage-aside{position:absolute;bottom:24px;right:24px;background:#0b2334f0;color:white;padding:25px 28px;max-width:300px;border-top:3px solid #47b980}
.ht-stage-aside span{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:#8addb0;font-weight:800}
.ht-stage-aside strong{display:block;font-family:"Plus Jakarta Sans",sans-serif;font-size:1.3rem;line-height:1.35;margin-top:8px}
.ht-project-bottom{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-top:37px}
.ht-project-bottom dl{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;flex:1}
.ht-project-bottom dt{font-size:.69rem;color:#697f7b;text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}
.ht-project-bottom dd{font-size:.91rem;font-weight:700;line-height:1.5;margin:0}
.ht-text-link{white-space:nowrap;color:var(--ht-green);font-weight:800;border-bottom:1px solid var(--ht-green);padding-bottom:8px}
.ht-text-link:hover{color:#0b5e39}
.ht-section-heading{display:grid;grid-template-columns:1fr .55fr;gap:9%;align-items:end;margin-bottom:42px}
.ht-section-heading>p{color:var(--ht-muted)}
.ht-gallery{background:white}
.ht-gallery-shell{display:grid;grid-template-columns:1fr 235px;gap:20px}
.ht-gallery-main{background:#f1f5f4;padding:20px;min-width:0}
.ht-gallery-image{aspect-ratio:16/10;background:#dce8e6;overflow:hidden}
.ht-gallery-image img{width:100%;height:100%;object-fit:contain;object-position:center top}
.ht-gallery-image img.is-entering{animation:ht-gallery-fade .28s ease-out}
@keyframes ht-gallery-fade{from{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.ht-gallery-caption{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:22px 3px 2px}
.ht-gallery-caption span{color:var(--ht-green);font-size:.72rem;letter-spacing:.13em;font-weight:800}
.ht-gallery-caption h3{font-size:1.35rem;margin:5px 0}
.ht-gallery-caption p{font-size:.89rem;color:var(--ht-muted)}
.ht-gallery-arrows{display:flex;gap:8px}
.ht-gallery-arrows button{width:44px;height:44px;border:1px solid #b9cbc3;background:white;color:var(--ht-ink);font-size:1.3rem;cursor:pointer;border-radius:50%}
.ht-gallery-arrows button:hover{background:var(--ht-green);color:white}
.ht-gallery-rail{display:grid;grid-template-rows:repeat(4,1fr);gap:9px}
.ht-gallery-rail button{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:12px;text-align:left;border:1px solid var(--ht-line);background:white;padding:7px;cursor:pointer;color:#74847e;font-size:.72rem}
.ht-gallery-rail button:hover,.ht-gallery-rail button.is-active{border-color:#168b57;background:#edf6f0}
.ht-gallery-rail img{width:90px;height:82px;object-fit:cover;object-position:top}
.ht-gallery-rail b{display:block;color:var(--ht-ink);font-size:.89rem;margin-top:4px}
.ht-journey{background:#f6f8f6}
.ht-timeline{padding:0;margin:35px 0 0;list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:25px;position:relative}
.ht-timeline:before{content:"";position:absolute;top:28px;left:30px;right:30px;height:1px;background:#b5d8c3}
.ht-timeline li{position:relative;padding-top:86px}
.ht-timeline li>span{position:absolute;top:0;left:0;z-index:1;width:57px;height:57px;display:grid;place-items:center;border-radius:50%;background:#e5f4e9;border:1px solid #9ccdaf;color:var(--ht-green);font-size:.82rem;font-weight:800}
.ht-timeline li:nth-child(even){padding-top:109px}
.ht-timeline h3{font-size:1.1rem;margin-bottom:12px}
.ht-timeline p{font-size:.88rem;color:var(--ht-muted)}
.ht-capabilities{background:#fff}
.ht-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(220px,auto);gap:13px}
.ht-bento article{background:#f2f5f2;padding:27px;border:1px solid #e1e9e4;display:flex;flex-direction:column;justify-content:flex-end;transition:transform .2s}
.ht-bento article:hover{transform:translateY(-4px)}
.ht-bento article>span,.ht-bento-image div>span{color:var(--ht-green);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:auto}
.ht-bento h3{font-size:1.18rem;margin:17px 0 9px}
.ht-bento p{color:var(--ht-muted);font-size:.89rem;line-height:1.6}
.ht-bento .ht-bento-large{grid-column:span 2;grid-row:span 2;background:#0c2a36;color:white;position:relative;overflow:hidden;justify-content:flex-start;padding:35px}
.ht-bento-large>span{color:#9be2ae!important;margin-bottom:20px!important}
.ht-bento-large h3{font-size:2.1rem;max-width:340px;margin:0 0 14px}
.ht-bento-large p{color:#d5e7df;max-width:360px}
.ht-bento-large img{width:64%;height:50%;object-fit:cover;position:absolute;bottom:0;right:0;border-radius:70px 0 0 0}
.ht-bento .ht-bento-image{grid-column:span 2;padding:0;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:#e7eee8}
.ht-bento-image img{width:100%;height:100%;max-height:240px;object-fit:cover;object-position:top}
.ht-bento-image div{padding:25px;display:flex;flex-direction:column}
.ht-services{background:#f6f8f6}
.ht-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ht-service-grid article{background:white;overflow:hidden}
.ht-service-grid img{width:100%;height:290px;object-fit:cover;transition:transform .3s}
.ht-service-grid article:hover img{transform:scale(1.035)}
.ht-service-grid article>div{padding:23px}
.ht-service-grid span{font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:var(--ht-green)}
.ht-service-grid h3{font-size:1.22rem;line-height:1.3;margin:12px 0}
.ht-service-grid p{font-size:.88rem;color:var(--ht-muted)}
.ht-interfaces{background:#fff}
.ht-interface-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.ht-interface-grid figure{background:#f2f6f5;padding:16px}
.ht-interface-grid figure>div{height:405px;overflow:hidden;background:#dce9e8}
.ht-interface-grid img{width:100%;height:100%;object-fit:cover;object-position:top}
.ht-interface-grid figcaption{display:flex;justify-content:space-between;gap:20px;padding:17px 4px 2px;font-size:.83rem}
.ht-interface-grid b{color:var(--ht-green);white-space:nowrap}
.ht-interface-grid span{color:var(--ht-muted)}
.ht-locations{background:#eef3ef}
.ht-locations-grid{display:grid;grid-template-columns:1fr .82fr;gap:10%;align-items:center}
.ht-locations-grid>div>p:not(.ht-eyebrow){color:var(--ht-muted);margin-top:21px}
.ht-location-list{margin-top:32px;border-top:1px solid #cadbd0}
.ht-location-list>div{display:grid;grid-template-columns:95px 150px 1fr;gap:12px;align-items:center;border-bottom:1px solid #cadbd0;padding:22px 0}
.ht-location-list span{color:var(--ht-green);font-size:.72rem;font-weight:800;letter-spacing:.1em}
.ht-location-list strong{font-family:"Plus Jakarta Sans",sans-serif}
.ht-location-list small{color:var(--ht-muted);line-height:1.5}
.ht-location-note{font-size:.79rem!important}
.ht-locations figure{position:relative}
.ht-locations figure img{width:100%;height:585px;object-fit:cover;border-radius:6px 90px 6px 6px}
.ht-locations figcaption{position:absolute;bottom:22px;left:-24px;background:#0a2533;color:white;padding:17px 25px;font-family:"Plus Jakarta Sans",sans-serif;font-weight:700}
.ht-value{background:#071e30;color:white}
.ht-value .ht-eyebrow{color:#6ed59b}
.ht-value h2{max-width:810px}
.ht-value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:68px}
.ht-value-grid article{border-top:1px solid #567181;padding-top:24px}
.ht-value-grid span{color:#6ed59b;font-weight:800;font-size:.75rem}
.ht-value-grid h3{font-size:1.2rem;line-height:1.3;margin:25px 0 12px}
.ht-value-grid p{color:#b3c6cc;font-size:.89rem}
.ht-story{background:#fff}
.ht-story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ht-story-grid figure{background:#f0f4f2}
.ht-story-grid img{width:100%;height:275px;object-fit:cover;object-position:top}
.ht-story-grid figcaption{display:flex;gap:17px;padding:21px}
.ht-story-grid figcaption>span{color:var(--ht-green);font-weight:800;font-size:.78rem}
.ht-story-grid b,.ht-story-grid small{display:block}
.ht-story-grid b{font-family:"Plus Jakarta Sans",sans-serif;font-size:1.02rem}
.ht-story-grid small{color:var(--ht-muted);line-height:1.6;margin-top:5px}
.ht-cta{background:#0b2737;color:white;padding:90px 0;position:relative}
.ht-cta:after{content:"";position:absolute;right:3%;top:0;height:100%;width:17%;opacity:.14;background:repeating-linear-gradient(90deg,transparent 0 27px,#60c18f 28px 29px)}
.ht-cta-grid{display:flex;align-items:center;justify-content:space-between;gap:60px;position:relative;z-index:1}
.ht-cta h2{max-width:750px}.ht-cta p:not(.ht-eyebrow){color:#bad0ce;max-width:670px;margin-top:20px}
.ht-cta .ht-button{flex:none}
.ht-faq{background:#f7f9f7}
.ht-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 22px}
.ht-faq details{background:white;border:1px solid #dce8e0;padding:0 24px;align-self:start}
.ht-faq summary{list-style:none;cursor:pointer;font-weight:700;font-family:"Plus Jakarta Sans",sans-serif;padding:24px 42px 24px 0;position:relative;line-height:1.5}
.ht-faq summary::-webkit-details-marker{display:none}
.ht-faq summary:after{content:"+";position:absolute;right:0;top:18px;color:var(--ht-green);font-size:1.65rem;font-weight:400}
.ht-faq details[open] summary:after{content:"−"}
.ht-faq details[open]{border-color:#98cdaa}
.ht-faq details p{color:var(--ht-muted);border-top:1px solid var(--ht-line);padding:15px 0 22px;font-size:.92rem}
@supports selector(details::details-content){.ht-faq details::details-content{block-size:0;overflow:hidden;transition:block-size .25s ease;transition-behavior:allow-discrete}.ht-faq details[open]::details-content{block-size:auto}}
@media(max-width:1100px){.ht-hero-grid{gap:3%}.ht-hero-visual{min-height:550px}.ht-hero-photo{height:495px}.ht-hero h1{font-size:clamp(2.8rem,5vw,4.5rem)}.ht-featured-stage>img{height:520px}.ht-project-bottom{display:block}.ht-project-bottom dl{margin-bottom:25px}.ht-gallery-shell{grid-template-columns:1fr 185px}.ht-gallery-rail button{grid-template-columns:65px 1fr}.ht-gallery-rail img{width:65px}.ht-service-grid{grid-template-columns:repeat(2,1fr)}.ht-location-list>div{grid-template-columns:70px 130px 1fr}}
@media(max-width:760px){.ht-wrap{width:min(100% - 32px,580px)}.ht-section{padding:74px 0}.ht-page h2{font-size:clamp(2rem,8vw,3.1rem)}.ht-hero{padding:22px 0 70px}.ht-hero-grid,.ht-challenges-grid,.ht-featured-heading,.ht-section-heading,.ht-locations-grid{grid-template-columns:1fr;gap:25px}.ht-breadcrumb{margin-bottom:45px}.ht-hero h1{font-size:clamp(2.65rem,11vw,4.7rem)}.ht-lead{font-size:1rem}.ht-hero-foot{margin-top:35px}.ht-hero-visual{min-height:0;padding-left:9%;padding-bottom:19%;margin-top:24px}.ht-hero-photo{height:440px;border-radius:80px 6px 6px 6px}.ht-hero-photo-label{right:2%;width:180px;padding:16px}.ht-hero-screen{width:60%;border-width:5px}.ht-challenges-intro>img{width:100%;height:250px}.ht-featured-stage>img{height:360px}.ht-stage-aside{position:static;max-width:none}.ht-project-bottom dl{grid-template-columns:1fr 1fr}.ht-gallery-shell{grid-template-columns:1fr}.ht-gallery-rail{grid-template-columns:repeat(4,minmax(130px,1fr));grid-template-rows:none;overflow:auto}.ht-gallery-rail button{grid-template-columns:1fr;min-width:130px}.ht-gallery-rail img{width:100%;height:80px}.ht-timeline{grid-template-columns:1fr;gap:0;margin-left:20px}.ht-timeline:before{left:28px;top:25px;bottom:25px;right:auto;width:1px;height:auto}.ht-timeline li,.ht-timeline li:nth-child(even){padding:0 0 30px 85px;min-height:96px}.ht-timeline li>span{left:0}.ht-bento{grid-template-columns:1fr 1fr}.ht-bento .ht-bento-large{grid-column:span 2;grid-row:span 2;min-height:440px}.ht-bento .ht-bento-image{grid-column:span 2}.ht-interface-grid{grid-template-columns:1fr}.ht-locations figure img{height:350px}.ht-value-grid{grid-template-columns:1fr 1fr;gap:25px}.ht-story-grid{grid-template-columns:1fr}.ht-story-grid img{height:280px}.ht-cta-grid{display:block}.ht-cta .ht-button{margin-top:32px}.ht-faq-grid{grid-template-columns:1fr}}
@media(max-width:520px){.ht-actions{display:grid}.ht-button{width:100%}.ht-hero-photo{height:340px}.ht-hero-screen{width:69%}.ht-hero-photo-label{width:145px;top:18px}.ht-hero-photo-label strong{font-size:.87rem}.ht-featured-stage>img{height:240px}.ht-project-bottom dl{gap:17px}.ht-gallery-main{padding:10px}.ht-gallery-caption h3{font-size:1.1rem}.ht-gallery-caption p{font-size:.8rem}.ht-bento{grid-template-columns:1fr}.ht-bento .ht-bento-large,.ht-bento .ht-bento-image{grid-column:span 1}.ht-bento .ht-bento-image{grid-template-columns:1fr}.ht-bento article{min-height:190px}.ht-service-grid{grid-template-columns:1fr}.ht-service-grid img{height:250px}.ht-interface-grid figure>div{height:310px}.ht-interface-grid figcaption{display:block}.ht-interface-grid span{display:block;margin-top:6px}.ht-location-list>div{grid-template-columns:70px 1fr}.ht-location-list small{grid-column:2}.ht-value-grid{grid-template-columns:1fr}.ht-locations figcaption{left:0}}
@media(prefers-reduced-motion:reduce){.ht-page *{scroll-behavior:auto!important;transition:none!important}}
