.main-nav a.active{color:var(--green-2)}
.home-hero{min-height:650px}
.page-hero{min-height:420px;display:flex;align-items:center;position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 78% 36%,rgba(68,150,113,.32),transparent 34%),linear-gradient(120deg,#071f18,#0b3429 65%,#124b38);color:#fff}
.page-hero:after{content:"";position:absolute;inset:0;z-index:-1;opacity:.15;background:linear-gradient(135deg,transparent 48%,#8adcb0 48.2%,transparent 48.5%),linear-gradient(35deg,transparent 61%,#8adcb0 61.2%,transparent 61.5%);background-size:340px 260px,420px 320px}
.about-page-hero{background-image:linear-gradient(90deg,rgba(5,34,25,.93),rgba(5,34,25,.58)),url("/assets/hasa-technology-hero.png");background-position:center;background-size:cover}
.page-hero-content{padding-block:72px 82px;position:relative;z-index:1}
.page-hero h1{font-size:clamp(42px,6vw,68px);line-height:1.2;letter-spacing:-1.5px;font-weight:600;margin:0 0 20px;max-width:800px}
.page-hero h1 em{font-style:normal;color:#82e0ad}
.page-hero-content>p:last-child{max-width:650px;margin:0;color:#d6e5dd;font-size:18px}
.home-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}
.home-intro h2,.home-services h2,.home-sectors h2,.home-contact h2,.about-story h2,.service-image-row h2,.sector-image-row h2{font-size:clamp(34px,4.5vw,55px);line-height:1.27;letter-spacing:-1px;font-weight:600;margin:0}
.home-intro h2 em,.home-services h2 em,.home-sectors h2 em,.home-contact h2 em,.about-story h2 em,.service-image-row h2 em,.sector-image-row h2 em{font-style:normal;color:var(--green-2)}
.home-intro-grid>div:last-child{padding-top:34px}
.home-intro-grid>div:last-child p,.about-story>div:last-child p,.service-image-row>div>p:last-child,.sector-image-row>div>p:last-child{margin:0 0 16px;color:var(--muted);font-size:16px}
.home-services{background:var(--paper)}
.home-services .section-topline{align-items:end}
.home-services .text-link{margin-bottom:8px}
.home-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.home-card{position:relative;background:#fff;border:1px solid var(--line);min-height:230px;padding:26px 25px;transition:transform .2s,border-color .2s,box-shadow .2s}
.home-card:hover{transform:translateY(-4px);border-color:#8ebca1;box-shadow:0 16px 34px rgba(12,56,39,.08)}
.home-card>span{font:600 12px var(--display);color:#799184}
.home-card h3{font-size:19px;margin:25px 0 8px}
.home-card p{font-size:14px;color:var(--muted);margin:0;max-width:290px}
.home-card>b{position:absolute;inset-inline-end:24px;bottom:22px;color:var(--green-2);font:18px var(--display)}
.home-sectors{background:var(--green);color:white}
.home-sectors h2{color:white}.home-contact h2{color:var(--ink)}
.home-sectors h2 em{color:#82e0ad}
.home-sectors .text-link{margin-top:28px}
.text-link-light{color:#9ce5b8}
.sector-chip-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:center}
.sector-chip-grid span{padding:21px 22px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.035);font-size:16px;color:#ecf5ef}
.home-contact{background:#f5f8f6}
.home-contact-row{display:flex;justify-content:space-between;align-items:center;gap:35px}
.home-contact h2 em{color:var(--green-2)}
.home-contact .button{flex:none}
.about-story{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}
.about-story>div:last-child{padding-top:40px}
.service-image-row,.sector-image-row{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.service-image-row img,.sector-image-row img{display:block;width:100%;aspect-ratio:1.45;object-fit:cover;border-radius:6px}
.service-image-row h2,.sector-image-row h2{margin-bottom:20px}
.service-image-row>div>p:last-child,.sector-image-row>div>p:last-child{margin-top:18px}
.service-detail-grid{margin-top:4px}
.sector-heading{align-items:end}
.sector-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:42px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.2)}
.sector-detail-grid article{background:var(--green);padding:30px 32px;min-height:215px}
.sector-detail-grid article>span{font:600 12px var(--display);color:#82e0ad}
.sector-detail-grid h3{font-size:20px;margin:17px 0 8px}
.sector-detail-grid p{color:#c2d5cb;margin:0;font-size:15px;max-width:520px}
.page-cta{padding-block:48px;background:#eef5f0}
.page-cta>.wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.page-cta h2{font-size:clamp(24px,3vw,34px);margin:0}
.contact-page{min-height:calc(100vh - 170px);padding-top:88px}
.contact-page .contact-content{padding-bottom:70px}
@media(max-width:900px){.home-intro-grid,.about-story{gap:45px}.service-image-row,.sector-image-row{gap:35px}.home-card-grid{gap:12px}.home-card{padding:22px 20px}.sector-detail-grid article{padding:25px}}
@media(max-width:640px){.page-hero{min-height:370px}.page-hero-content{padding-block:60px}.page-hero h1{font-size:clamp(38px,10vw,52px)}.page-hero-content>p:last-child{font-size:16px}.home-intro-grid,.about-story,.service-image-row,.sector-image-row{grid-template-columns:1fr;gap:24px}.home-intro-grid>div:last-child,.about-story>div:last-child{padding-top:0}.home-services .section-topline{display:block}.home-services .text-link{margin-top:18px}.home-card-grid{grid-template-columns:1fr}.home-card{min-height:185px}.home-card h3{margin-top:18px}.sector-chip-grid{grid-template-columns:1fr 1fr;gap:8px}.sector-chip-grid span{padding:16px 12px;font-size:14px}.home-contact-row{align-items:flex-start;flex-direction:column}.service-image-row img,.sector-image-row img{aspect-ratio:1.3}.sector-detail-grid{grid-template-columns:1fr;margin-top:28px}.sector-detail-grid article{min-height:0;padding:22px}.page-cta>.wrap{align-items:flex-start;flex-direction:column}.contact-page{padding-top:58px}}

/* Expanded company content and responsive image cards */
.home-showcase{background:#f5f8f6}
.home-showcase .section-topline{align-items:end}
.home-showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.showcase-card{background:#fff;border:1px solid var(--line);overflow:hidden}
.showcase-card img{display:block;width:100%;aspect-ratio:1.52;object-fit:cover}
.showcase-card>div{padding:22px 23px 25px}
.showcase-card>div>span,.process-grid article>span{font:600 12px var(--display);color:#789084}
.showcase-card h3{font-size:19px;margin:12px 0 8px}
.showcase-card p{font-size:14px;color:var(--muted);margin:0;line-height:1.85}
.service-process{background:#f5f8f6}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:35px;border:1px solid var(--line);background:var(--line)}
.process-grid article{background:#fff;padding:25px 22px;min-height:175px}
.process-grid h3{font-size:17px;margin:18px 0 7px}
.process-grid p{font-size:14px;color:var(--muted);margin:0;line-height:1.8}
.office-map{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;align-items:center;padding-top:20px;padding-bottom:76px}
.office-map-copy h2{font-size:clamp(30px,4vw,46px);line-height:1.3;margin:0 0 16px;color:#fff}
.office-map-copy h2 em{font-style:normal;color:#82e0ad}
.office-map-copy>p:not(.eyebrow){color:#c4d8cd;line-height:1.9;margin:0 0 18px}
.map-link{display:inline-flex;align-items:center;gap:12px;color:#91dfb0;font-weight:700;text-decoration:none}
.office-map-frame{overflow:hidden;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:#163c30;min-height:330px}
.office-map-frame iframe{display:block;width:100%;height:330px;border:0}
.service-card .service-icon{font-size:19px;font-weight:700;letter-spacing:-.5px}
@media(max-width:900px){.home-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.showcase-card:last-child{grid-column:1/-1}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.office-map{gap:28px}}
@media(max-width:640px){.home-showcase-grid,.process-grid,.office-map{grid-template-columns:1fr}.showcase-card:last-child{grid-column:auto}.showcase-card img{aspect-ratio:1.45}.process-grid article{min-height:0}.office-map{padding-top:10px;padding-bottom:52px}.office-map-frame,.office-map-frame iframe{min-height:270px;height:270px}}

/* Keep the registered name visible alongside the Hasa brand. */
.legal-name{margin:18px 0 0;color:var(--green-2);font-size:13px;font-weight:700;line-height:1.8;max-width:560px}
.footer-legal-name{max-width:390px;font-size:10px!important;line-height:1.7;color:#9aaca2!important}
.company-focus{background:#f5f8f6}
.focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:35px}
.focus-grid article{background:#fff;border:1px solid var(--line);padding:26px 24px;min-height:185px}
.focus-grid article>span{font:600 12px var(--display);color:#789084}
.focus-grid h3{font-size:18px;margin:20px 0 8px}
.focus-grid p{font-size:14px;color:var(--muted);margin:0;line-height:1.85}
@media(max-width:900px){.focus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.focus-grid article:last-child{grid-column:1/-1}.footer-inner{flex-wrap:wrap;padding-block:18px}.footer-legal-name{flex:1 1 360px}}
@media(max-width:640px){.focus-grid{grid-template-columns:1fr}.focus-grid article:last-child{grid-column:auto}.footer-inner{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding-block:20px}.footer-brand{grid-row:auto}.footer-inner>p{margin:0}.footer-legal-name{max-width:100%;font-size:10px!important}}

/* Keep the mobile footer compact and make the legal name easy to read. */
.footer-legal-name{color:#d9e8df!important;font-size:12px!important;font-weight:500}
@media(max-width:640px){.footer-inner{justify-content:flex-start;flex-wrap:nowrap;min-height:0;height:auto}.footer-legal-name{flex:0 0 auto;margin:0;line-height:1.7}}
