:root{--primary:#2563eb;--primary-dark:#1d4ed8;--primary-deep:#1e40af;--primary-soft:#eff6ff;--text:#0f172a;--text-soft:#475569;--text-muted:#64748b;--white:#fff;--surface:#f8fafc;--surface-blue:#f4f8ff;--border:#e2e8f0;--border-blue:#dbeafe;--success:#16a34a;--warning:#d97706;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--shadow-sm:0 8px 24px rgba(15,23,42,.05);--shadow-md:0 18px 50px rgba(15,23,42,.08);--shadow-blue:0 20px 60px rgba(37,99,235,.16);--container:1180px;--transition:220ms ease}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--white);line-height:1.65;overflow-x:hidden}body.nav-open{overflow:hidden}a{color:inherit;text-decoration:none}.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}.section{position:relative;padding:100px 0}.section-light{background:var(--surface)}.section-blue{color:var(--white);background:radial-gradient(circle at 10% 10%,rgba(255,255,255,.12),transparent 32%),radial-gradient(circle at 90% 90%,rgba(255,255,255,.1),transparent 35%),linear-gradient(135deg,var(--primary-deep),var(--primary))}.eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:16px;color:var(--primary);font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.eyebrow:before{content:"";width:24px;height:2px;background:currentColor;border-radius:999px}.eyebrow-light{color:rgba(255,255,255,.88)}.section-heading{max-width:760px;margin-bottom:50px}.section-heading.centered{margin-inline:auto;text-align:center}.section-heading.centered .eyebrow{justify-content:center}.section-heading h2,.about-copy h2,.development-copy h2,.ecosystem-copy h2,.cta-box h2{margin:0;font-size:clamp(2rem,5vw,3.35rem);line-height:1.08;letter-spacing:-.045em}.section-heading h2 span,.about-copy h2 span,.development-copy h2 span,.ecosystem-copy h2 span,.cta-box h2 span{color:var(--primary)}.section-heading p,.about-copy p,.development-copy p,.ecosystem-copy p{color:var(--text-soft);font-size:1.05rem;max-width:700px;margin:18px 0 0}

/* nav */
.site-header{position:fixed;inset:0 0 auto;z-index:1000;background:rgba(255,255,255,.84);border-bottom:1px solid transparent;backdrop-filter:blur(18px);transition:var(--transition)}.site-header.scrolled{border-bottom-color:var(--border);box-shadow:0 8px 30px rgba(15,23,42,.05)}.nav-wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:900;letter-spacing:-.04em}.brand-mark{display:grid;place-items:center;width:38px;height:38px;color:var(--white);background:linear-gradient(135deg,var(--primary),var(--primary-deep));border-radius:11px;box-shadow:0 8px 22px rgba(37,99,235,.22);font-size:1.1rem}.brand-name{font-size:1.12rem}.site-nav{display:flex;align-items:center;gap:26px;font-size:.9rem;font-weight:650}.site-nav>a:not(.nav-cta){color:var(--text-soft);transition:var(--transition)}.site-nav>a:not(.nav-cta):hover{color:var(--primary)}.nav-cta{color:var(--white);background:var(--primary);padding:11px 18px;border-radius:10px;transition:var(--transition)}.nav-cta:hover{background:var(--primary-dark);transform:translateY(-1px)}.nav-toggle{display:none;width:44px;height:44px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--white);cursor:pointer}.nav-toggle span{display:block;height:2px;margin:5px 0;background:var(--text);border-radius:99px}

/* hero */
.hero{min-height:auto;display:flex;align-items:center;padding-top:165px;padding-bottom:100px;overflow:hidden;background:radial-gradient(circle at 80% 20%,rgba(37,99,235,.1),transparent 32%),linear-gradient(180deg,#fff,#f8fbff)}.hero-grid{position:relative}.hero-content{position:relative;z-index:2}.hero h1{max-width:750px;margin:0;font-size:clamp(3rem,6vw,5.7rem);line-height:.98;letter-spacing:-.065em}.hero h1 span{color:var(--primary)}.hero-title{max-width:690px;margin:28px 0 0;font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.25;font-weight:750;letter-spacing:-.03em}.hero-description{max-width:650px;margin:20px 0 0;color:var(--text-soft);font-size:1.06rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:0 20px;border-radius:11px;border:1px solid transparent;font-weight:750;font-size:.92rem;transition:var(--transition)}.btn-primary{color:var(--white);background:var(--primary);box-shadow:0 12px 30px rgba(37,99,235,.22)}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px)}.btn-secondary{color:var(--text);background:var(--white);border-color:var(--border)}.btn-secondary:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}.hero-note{display:flex;align-items:center;gap:9px;margin-top:25px;color:var(--text-muted);font-size:.84rem}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 5px rgba(22,163,74,.1)}.core-center span{font-size:3.8rem;font-weight:900;line-height:1}.core-center small{margin-top:6px;font-weight:750;letter-spacing:.12em}

/* shared cards */
.focus-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.focus-card{padding:25px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);transition:var(--transition)}.focus-card:hover{border-color:var(--border-blue);transform:translateY(-4px);box-shadow:var(--shadow-sm)}.focus-icon{display:inline-grid;place-items:center;width:38px;height:38px;margin-bottom:18px;color:var(--primary);background:var(--primary-soft);border-radius:10px;font-size:.75rem;font-weight:850}.focus-card h3,.solution-card h3,.product-body h3,.why-card h3,.process-step h3,.info-panel h3{margin:0;font-size:1.15rem;letter-spacing:-.02em}.focus-card p,.solution-card p,.product-body p,.why-card p,.process-step p,.info-panel p{margin:9px 0 0;color:var(--text-muted);font-size:.9rem}

/* about */
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.about-copy{position:sticky;top:120px}.about-panels{display:grid;gap:18px}.info-panel{position:relative;padding:34px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-sm)}.info-panel:after{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--primary);border-radius:24px 0 0 24px}.panel-number{display:block;margin-bottom:20px;color:var(--primary);font-size:.76rem;font-weight:850;letter-spacing:.12em}

/* solutions */
.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.solution-card{min-height:270px;display:flex;flex-direction:column;padding:28px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);transition:var(--transition)}.solution-card:hover{transform:translateY(-5px);border-color:var(--border-blue);box-shadow:var(--shadow-md)}.solution-card.featured{border-color:#bfdbfe;box-shadow:0 18px 45px rgba(37,99,235,.08)}.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:25px}.card-icon{display:grid;place-items:center;width:46px;height:46px;color:var(--primary);background:var(--primary-soft);border-radius:13px;font-weight:900}.badge{display:inline-flex;width:fit-content;padding:5px 9px;border-radius:999px;font-size:.68rem;font-weight:800;white-space:nowrap}.badge-live{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.badge-soon{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.solution-card a,.text-link{display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding-top:22px;color:var(--primary);font-size:.88rem;font-weight:800}.solution-card a span,.text-link span{transition:transform var(--transition)}.solution-card a:hover span,.text-link:hover span{transform:translateX(4px)}

/* products */
.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.product-card{overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-sm);transition:var(--transition)}.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}.product-featured{border-color:#bfdbfe}.product-visual{min-height:190px;display:flex;align-items:flex-start;justify-content:space-between;padding:28px;background:radial-gradient(circle at 80% 25%,rgba(255,255,255,.22),transparent 25%),linear-gradient(135deg,var(--primary-deep),var(--primary));color:var(--white)}.product-visual-alt{background:radial-gradient(circle at 80% 25%,rgba(37,99,235,.08),transparent 28%),linear-gradient(135deg,#f8fbff,#eef5ff);color:var(--text)}.product-symbol{font-size:clamp(2.4rem,5vw,4rem);line-height:1;font-weight:950;letter-spacing:-.07em}.product-body{padding:28px}.product-category{color:var(--primary);font-size:.72rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.product-body h3{margin-top:7px;font-size:1.35rem}

/* ecosystem */
.ecosystem-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.ecosystem-copy p{color:rgba(255,255,255,.78)}.ecosystem-copy h2 span{color:#bfdbfe}.ecosystem-map{position:relative;min-height:460px;display:grid;place-items:center}.eco-center{position:relative;z-index:3;width:140px;height:140px;display:grid;place-items:center;color:var(--primary-deep);background:var(--white);border-radius:50%;box-shadow:0 25px 70px rgba(0,0,0,.2);font-weight:950;letter-spacing:-.03em}.eco-node{position:absolute;z-index:4;min-width:125px;padding:12px 16px;text-align:center;color:var(--white);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:999px;backdrop-filter:blur(10px);font-size:.82rem;font-weight:800}.eco-business{top:35px;left:50%;transform:translateX(-50%)}.eco-education{right:0;top:50%;transform:translateY(-50%)}.eco-commerce{bottom:35px;left:50%;transform:translateX(-50%)}.eco-services{left:0;top:50%;transform:translateY(-50%)}.eco-line{position:absolute;z-index:1;background:rgba(255,255,255,.25);transform-origin:center}.line-one{width:1px;height:150px;top:95px}.line-two{width:150px;height:1px;right:92px}.line-three{width:1px;height:150px;bottom:95px}.line-four{width:150px;height:1px;left:92px}

/* development */
.development-grid{display:grid;grid-template-columns:1fr .9fr;gap:80px;align-items:center}.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.service-item{padding:18px;background:var(--surface-blue);border:1px solid var(--border-blue);border-radius:13px;font-size:.88rem;font-weight:700}.service-item span{color:var(--primary);margin-right:8px}

/* why/process/cta/footer */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.why-card{padding:28px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--white)}.why-card>span,.process-step>span{display:block;margin-bottom:25px;color:var(--primary);font-size:.72rem;font-weight:900;letter-spacing:.12em}.process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.process-step{position:relative;padding:24px 18px;border-top:2px solid var(--border)}.process-step:before{content:"";position:absolute;top:-6px;left:0;width:10px;height:10px;background:var(--primary);border-radius:50%;box-shadow:0 0 0 5px var(--primary-soft)}.cta{padding-top:40px;padding-bottom:100px}.cta-box{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:58px;color:var(--white);border-radius:var(--radius-xl);background:radial-gradient(circle at 90% 20%,rgba(255,255,255,.15),transparent 28%),linear-gradient(135deg,var(--primary-deep),var(--primary));box-shadow:var(--shadow-blue)}.cta-box h2 span{color:#dbeafe}.cta-box p{max-width:600px;margin:15px 0 0;color:rgba(255,255,255,.78)}.cta-actions{display:flex;flex-wrap:wrap;gap:10px;flex-shrink:0}.btn-white{color:var(--primary-deep);background:var(--white)}.btn-white:hover{transform:translateY(-2px)}.btn-outline-white{color:var(--white);border-color:rgba(255,255,255,.45);background:transparent}.btn-outline-white:hover{background:rgba(255,255,255,.1)}.site-footer{color:rgba(255,255,255,.78);background:#07142f;padding-top:70px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:45px;padding-bottom:55px}.brand-footer .brand-name{color:var(--white)}.footer-brand p{max-width:360px;margin:18px 0 0;font-size:.9rem}.footer-column{display:flex;flex-direction:column;gap:10px}.footer-column h3{margin:0 0 9px;color:var(--white);font-size:.85rem;text-transform:uppercase;letter-spacing:.1em}.footer-column a{width:fit-content;font-size:.84rem;transition:var(--transition)}.footer-column a:hover,.footer-bottom a:hover{color:var(--white)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-top:1px solid rgba(255,255,255,.1);font-size:.78rem}.footer-bottom div{display:flex;gap:18px}

/* animation */
.reveal{opacity:0;transform:translateY(18px);transition:opacity 650ms ease,transform 650ms ease}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-delay{transition-delay:120ms}@keyframes rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* responsive */
@media(max-width:1050px){.site-nav{gap:17px}.about-grid,.ecosystem-grid,.development-grid{gap:45px}.focus-grid,.why-grid{grid-template-columns:repeat(2,1fr)}.solution-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.container{width:min(calc(100% - 28px),var(--container))}.section{padding:76px 0}.nav-wrap{min-height:68px}.nav-toggle{display:block}.site-nav{position:fixed;top:68px;left:14px;right:14px;display:grid;gap:4px;padding:12px;background:rgba(255,255,255,.98);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-md);transform:translateY(-15px);opacity:0;pointer-events:none;transition:var(--transition)}.site-nav.open{transform:translateY(0);opacity:1;pointer-events:auto}.site-nav>a:not(.nav-cta){padding:12px;border-radius:9px}.site-nav>a:not(.nav-cta):hover{background:var(--primary-soft)}.nav-cta{margin-top:5px;text-align:center}.hero{min-height:auto;padding-top:110px;padding-bottom:70px}.about-grid,.ecosystem-grid,.development-grid{grid-template-columns:1fr}.about-copy{position:static}.ecosystem-map{min-height:400px}.cta-box{align-items:flex-start;flex-direction:column;padding:40px 28px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:560px){.section{padding:62px 0}.hero h1{font-size:clamp(2.8rem,15vw,4rem)}.hero-actions,.cta-actions{width:100%}.hero-actions .btn,.cta-actions .btn{flex:1}.focus-grid,.solution-grid,.product-grid,.why-grid,.service-list,.process-grid{grid-template-columns:1fr}.solution-card{min-height:245px}.product-visual{min-height:155px}.ecosystem-map{min-height:330px;transform:scale(.88);margin:-20px 0}.eco-business{top:10px}.eco-commerce{bottom:10px}.eco-services{left:-5px}.eco-education{right:-5px}.line-one,.line-three{height:105px}.line-two,.line-four{width:105px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px 18px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column}}

/* HERLEAX brand identity — static wordmark artwork. No external webfont is loaded. */
.herleax-wordmark{
  display:inline-block;
  width:auto;
  height:1em;
  max-width:none;
  vertical-align:-0.12em;
  object-fit:contain;
}
.herleax-name-nav{height:1.08rem}
.herleax-name-hero{height:.72em;vertical-align:-.08em}
.herleax-name-inline{height:.92em;vertical-align:-.08em}
.herleax-name-button{height:.72em;vertical-align:-.06em;margin-left:5px}
.herleax-name-button-white{height:.72em;vertical-align:-.06em;margin-left:5px}
.herleax-name-core{height:9px;margin-top:7px;line-height:1;max-width:105px;transform:scaleX(.86);transform-origin:center}
.herleax-name-heading{height:.78em;vertical-align:-.08em}
.herleax-name-product{height:.72em;vertical-align:-.08em}
.herleax-name-light{height:.9em;vertical-align:-.08em}
.herleax-name-eco{height:1.05rem;vertical-align:-.08em}
.herleax-name-eyebrow{height:.9em;vertical-align:-.08em}
.herleax-name-footer{height:1.08rem;vertical-align:-.08em}
.herleax-name-footer-inline{height:.92em;vertical-align:-.08em}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero-title{font-weight:800}
.hero h1,.section-heading h2,.about-copy h2,.development-copy h2,.ecosystem-copy h2,.cta-box h2{font-weight:850}
.focus-card h3,.solution-card h3,.product-body h3,.why-card h3,.process-step h3,.info-panel h3{font-weight:800}
.eyebrow{font-weight:850}
.nav-cta,.btn{font-weight:800}

/* Multi-page corporate site */
.page-hero{padding-top:155px;padding-bottom:85px;background:radial-gradient(circle at 80% 20%,rgba(37,99,235,.10),transparent 34%),linear-gradient(180deg,#fff,#f8fbff)}
.page-hero h1{max-width:850px;margin:12px 0 0;font-size:clamp(2.8rem,6vw,5.4rem);line-height:1.02;letter-spacing:-.055em;font-weight:850}
.page-hero h1 span{color:var(--primary)}
.page-hero p{max-width:700px;margin:22px 0 0;color:var(--text-soft);font-size:1.12rem;line-height:1.8}
.page-hero .btn{margin-top:30px}
.site-nav a.active:not(.nav-cta){color:var(--primary);font-weight:800}
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:start}
.contact-copy h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.08;letter-spacing:-.045em;margin:10px 0 18px;font-weight:850}
.contact-copy h2 span{color:var(--primary)}
.contact-copy>p{max-width:650px;color:var(--text-soft);line-height:1.8}
.contact-item{display:flex;flex-direction:column;gap:5px;margin-top:28px;padding:22px;border:1px solid var(--border);border-radius:16px;background:#fff;color:var(--text);max-width:500px}
.contact-item span{color:var(--primary)}
.contact-card{padding:34px;border:1px solid var(--border);border-radius:20px;background:#fff;box-shadow:var(--shadow-sm)}
.contact-card .panel-number{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:12px;background:var(--primary-soft);color:var(--primary);font-weight:800}
.contact-card h3{font-size:1.5rem;margin:20px 0 10px}
.contact-card p{color:var(--text-soft);line-height:1.7;margin-bottom:24px}
@media(max-width:820px){.page-hero{padding-top:110px}.contact-grid{grid-template-columns:1fr}}

/* Accessibility and production polish */
.skip-link{position:fixed;left:16px;top:-60px;z-index:9999;padding:10px 14px;border-radius:10px;background:var(--primary);color:#fff;font-weight:800;transition:top .2s}.skip-link:focus{top:16px}.nav-cta.active{box-shadow:0 0 0 2px rgba(255,255,255,.35) inset}.site-nav a[aria-current="page"]{font-weight:800}

/* V1.8 real contact details */
.cta-contact-strip{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18)}
.cta-contact-strip a{color:rgba(255,255,255,.9);font-size:.88rem}
.cta-contact-strip a:hover{color:#fff}
.contact-card-detail{margin-top:18px!important;margin-bottom:0!important;font-size:.88rem!important}
.contact-card-detail a{color:var(--primary)}
@media(max-width:560px){.cta-contact-strip{flex-direction:column;gap:8px}.contact-card-detail{line-height:1.7}}

/* V1.9 Official HERLEAX Logo */
.brand-logo{display:block;width:150px;height:auto;max-height:54px;object-fit:contain;object-position:left center}
.brand-footer .brand-logo-footer{width:185px;max-height:62px;filter:invert(1) brightness(3)}
@media(max-width:760px){
  .brand-logo{width:145px;max-height:48px}
  .brand-footer .brand-logo-footer{width:175px;max-height:58px}
}

/* V1.9.1 logo visibility fix */
.brand-logo{display:block;width:150px;height:auto;max-height:58px;object-fit:contain;object-position:left center}
.brand-footer .brand-logo-footer{width:190px;max-height:66px;filter:invert(1)}
@media(max-width:760px){
  .brand-logo{width:145px;max-height:52px}
  .brand-footer .brand-logo-footer{width:175px;max-height:60px}
}

/* V1.10 legal pages */
.legal-content{max-width:900px;margin:0 auto}
.legal-content h2{font-size:1.25rem;margin:34px 0 10px}
.legal-content p{max-width:820px;line-height:1.85}
.legal-content a{color:var(--primary);font-weight:700}
.legal-updated{font-size:.9rem!important;opacity:.7;border-bottom:1px solid var(--border);padding-bottom:18px}

/* V1.10.1 contrast fix: service cards inside the blue ecosystem section */
.section-blue .service-item{
  color:var(--text);
}
.section-blue .service-item span{
  color:var(--primary);
}


/* V1.11 Brand cleanup: official logo is used only for the brand mark; inline branding uses normal bold text. */
.brand-text{font-weight:900;letter-spacing:-.035em;color:var(--text);white-space:nowrap}
.brand-text-light{color:#fff}
.brand-logo{width:96px!important;max-height:40px!important}
.brand-footer .brand-logo-footer{width:125px!important;max-height:46px!important;filter:invert(1)!important}
@media(max-width:760px){
  .brand-logo{width:88px!important;max-height:36px!important}
  .brand-footer .brand-logo-footer{width:120px!important;max-height:44px!important}
}
