:root{
  --teal:#0E4E5C;
  --cyan:#3FBAC2;
  --steel:#5B7C8D;
  --red:#C8453B;
  --off-white:#F7F9F9;
  --charcoal:#1B2426;
  --white:#FFFFFF;
  --border:#E4E9EA;
  --font-body:'Inter',system-ui,sans-serif;
  --font-mono:'JetBrains Mono',monospace;
}

*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:var(--font-body);color:var(--charcoal);background:var(--white);line-height:1.6;}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px;}
h1,h2,h3{font-weight:700;color:var(--teal);letter-spacing:-0.01em;}
h1{font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.15;}
h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:16px;}
h3{font-size:1.15rem;margin-bottom:8px;color:var(--charcoal);}
.section-title{max-width:640px;}
.eyebrow{font-family:var(--font-mono);font-size:0.78rem;letter-spacing:0.12em;color:var(--cyan);font-weight:600;margin-bottom:12px;}
.eyebrow-light{color:#8FE0E6;}
.body-text{font-size:1rem;color:var(--steel);margin-bottom:12px;}
.body-text.light{color:#CFE3E6;}
.max-60{max-width:640px;}
a{outline-offset:3px;}
:focus-visible{outline:2.5px solid var(--cyan);outline-offset:2px;}
.skip-link{position:absolute;left:-9999px;top:auto;background:var(--teal);color:var(--white);padding:12px 20px;z-index:100;border-radius:0 0 4px 0;}
.skip-link:focus{left:0;top:0;}

/* Header */
.site-header{border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--white);z-index:10;box-shadow:0 1px 0 rgba(0,0,0,0.02);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;max-width:1280px;margin:0 auto;}
.brand{display:flex;align-items:center;gap:12px;}
.logo{height:32px;width:auto;display:block;}
.nav{display:flex;align-items:center;gap:24px;}
.nav a{color:var(--charcoal);text-decoration:none;font-size:0.92rem;font-weight:500;}
.nav a:hover,.nav a.active{color:var(--teal);}
.nav-cta{background:var(--teal);color:var(--white)!important;padding:10px 18px;border-radius:4px;}
.nav-cta:hover{background:var(--cyan)!important;}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:none;border:none;cursor:pointer;}
.nav-toggle span{display:block;height:2px;width:22px;background:var(--teal);}
.mobile-nav{display:none;flex-direction:column;padding:8px 24px 20px;border-top:1px solid var(--border);}
.mobile-nav a{padding:12px 0;color:var(--charcoal);text-decoration:none;font-weight:500;border-bottom:1px solid #EEF2F2;}
.mobile-nav.open{display:flex;}
.mobile-nav .nav-cta{text-align:center;border-bottom:none;background:var(--teal);color:var(--white);border-radius:4px;margin-top:12px;padding:12px;}

/* Hero (home, full-bleed photo) */
.hero{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--teal) 0%,#0A3A45 100%);color:var(--white);padding:140px 0 100px;}
.hero-photo-bg{background-size:cover;background-position:center 30%;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,32,38,0.94) 0%,rgba(8,32,38,0.78) 45%,rgba(8,32,38,0.45) 100%);}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.06) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(180deg,rgba(0,0,0,0.9),transparent);}
.hero-inner{position:relative;}
.hero-copy{max-width:720px;}
.hero h1{color:var(--white);margin-bottom:24px;letter-spacing:-0.02em;}
.hero-sub{color:#CFE3E6;font-size:1.08rem;max-width:620px;margin-bottom:36px;line-height:1.6;}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:28px;}
.btn{display:inline-block;padding:15px 30px;border-radius:4px;font-weight:600;text-decoration:none;font-size:0.95rem;min-height:48px;transition:all .18s ease;}
.btn-primary{background:var(--cyan);color:var(--teal);}
.btn-primary:hover{background:#5DCBD2;transform:translateY(-1px);box-shadow:0 6px 16px rgba(63,186,194,0.32);}
.btn-ghost{border:1.5px solid rgba(255,255,255,0.5);color:var(--white);}
.btn-ghost:hover{border-color:var(--white);background:rgba(255,255,255,0.08);}
.hero-trust{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:var(--font-mono);font-size:0.82rem;color:#B9D6D9;margin-bottom:36px;}
.hero-trust .dot{color:var(--cyan);}
.hero-spec-row{display:flex;gap:16px;flex-wrap:wrap;}
.hero-spec{background:rgba(10,26,30,0.55);border:1px solid rgba(255,255,255,0.18);border-radius:10px;padding:14px 18px;backdrop-filter:blur(6px);}
.hero-spec .spec-label{margin-bottom:4px;}
.hero-spec .spec-mono{margin-bottom:0;font-size:0.82rem;color:var(--white);}

/* Page hero (inner pages, compact banner) */
.page-hero{position:relative;background:linear-gradient(160deg,var(--teal) 0%,#0A3A45 100%);color:var(--white);padding:64px 0;}
.page-hero .eyebrow{margin-bottom:10px;}
.page-hero h1{color:var(--white);font-size:clamp(1.8rem,3.4vw,2.6rem);margin-bottom:12px;}
.page-hero p{color:#CFE3E6;max-width:640px;}
.breadcrumb{font-family:var(--font-mono);font-size:0.78rem;color:#8FE0E6;margin-bottom:16px;}
.breadcrumb a{color:#8FE0E6;text-decoration:none;}
.breadcrumb a:hover{color:var(--white);}

/* Trust strip */
.trust-strip{background:var(--charcoal);padding:16px 0;}
.trust-strip-inner{display:flex;align-items:center;gap:28px;flex-wrap:wrap;}
.trust-strip-label{font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.08em;color:var(--cyan);}
.trust-strip-item{font-size:0.85rem;color:#B7C4C6;}

/* Stats */
.stats{background:var(--off-white);padding:44px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;}
.stat{display:flex;flex-direction:column;gap:6px;padding:0 8px;position:relative;}
.stat:not(:last-child)::after{content:"";position:absolute;right:-16px;top:10%;height:80%;width:1px;background:var(--border);}
.stat-num{font-family:var(--font-mono);font-size:2rem;font-weight:700;color:var(--teal);letter-spacing:-0.02em;}
.stat-num.stat-num-text{font-size:1.15rem;letter-spacing:0.02em;}
.stat-label{font-size:0.88rem;color:var(--steel);line-height:1.45;}

/* Pillars */
.pillars{padding:96px 0;}
.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px;}
.pillar{padding:32px 28px;border:1px solid var(--border);border-radius:10px;background:var(--white);transition:border-color .2s,transform .2s,box-shadow .2s;}
.pillar:hover{border-color:var(--cyan);transform:translateY(-3px);box-shadow:0 12px 24px rgba(8,32,38,0.08);}
.pillar-icon{width:48px;height:48px;border-radius:10px;background:linear-gradient(135deg,#E8F5F6,#D2ECEE);color:var(--teal);display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.pillar-icon svg{width:26px;height:26px;}
.pillar-num{font-family:var(--font-mono);color:var(--cyan);font-weight:600;font-size:0.9rem;display:block;margin-bottom:8px;}

/* Sections */
.section{padding:96px 0;}
.section-alt{background:var(--off-white);}
.section-dark{background:var(--teal);color:var(--white);text-align:center;position:relative;overflow:hidden;}
.section-dark::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.05) 1px,transparent 1px);background-size:48px 48px;opacity:0.6;pointer-events:none;}
.section-dark > .wrap{position:relative;}
.section-dark h2{color:var(--white);}
.section-split{display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:start;}
.section-split.reverse{grid-template-columns:0.9fr 1.1fr;}
.section-split.reverse > .plant-visual{grid-column:2;grid-row:1;}
.section-split.reverse > div:not(.plant-visual){grid-column:1;grid-row:1;}

/* Spec card */
.spec-card{background:var(--teal);color:var(--white);padding:32px;border-radius:8px;}
.spec-label{font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.1em;color:var(--cyan);margin-bottom:10px;}
.spec-mono{font-family:var(--font-mono);font-size:0.95rem;margin-bottom:20px;}
.spec-list{list-style:none;}
.spec-list li{padding:8px 0;border-top:1px solid rgba(255,255,255,0.15);font-size:0.92rem;}
.spec-list li:first-child{border-top:none;}

/* Link arrow */
.link-arrow{display:inline-block;margin-top:8px;color:var(--teal);font-weight:600;text-decoration:none;font-size:0.95rem;}
.link-arrow:hover{color:var(--cyan);}

/* Capability cards */
.cap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:32px;}
.cap-card{background:var(--white);border:1px solid var(--border);border-radius:10px;padding:26px 22px;transition:border-color .2s,box-shadow .2s;}
.cap-card:hover{border-color:var(--cyan);box-shadow:0 8px 18px rgba(8,32,38,0.06);}
.cap-meta{font-size:0.88rem;color:var(--steel);margin-bottom:14px;}
.cap-tag{font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.04em;color:var(--teal);background:var(--off-white);display:inline-block;padding:6px 10px;border-radius:4px;}

/* Certificates */
.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:32px 0;}
.cert-card{background:var(--white);border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:transform .2s,box-shadow .2s;}
.cert-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(8,32,38,0.08);}
.cert-card img{width:100%;height:240px;object-fit:cover;object-position:top;display:block;background:var(--off-white);}
.cert-card figcaption{padding:14px 16px;font-size:0.85rem;color:var(--steel);border-top:1px solid var(--border);}

/* Badges */
.badge-row{display:flex;gap:16px;margin:12px 0 20px;flex-wrap:wrap;}
.badge{font-family:var(--font-mono);font-weight:600;font-size:0.85rem;border:1.5px solid var(--teal);color:var(--teal);padding:10px 20px;border-radius:4px;}

/* Plant visual */
.plant-visual{border-radius:10px;overflow:hidden;border:1px solid var(--border);margin:0;position:relative;}
.plant-visual img{display:block;width:100%;height:380px;object-fit:cover;}
.plant-visual::after{content:"";position:absolute;left:0;right:0;bottom:0;height:50%;background:linear-gradient(180deg,transparent,rgba(0,0,0,0.45));pointer-events:none;}
.plant-visual figcaption{position:absolute;left:0;right:0;bottom:0;padding:14px 18px;font-family:var(--font-mono);font-size:0.78rem;color:#FFFFFF;z-index:1;background:transparent;}

/* Timeline (Process page) */
.timeline{display:flex;flex-direction:column;gap:0;margin-top:32px;}
.timeline-step{display:grid;grid-template-columns:56px 1fr;gap:20px;padding-bottom:32px;position:relative;}
.timeline-step::before{content:"";position:absolute;left:27px;top:44px;bottom:0;width:2px;background:var(--border);}
.timeline-step:last-child::before{display:none;}
.timeline-num{width:44px;height:44px;border-radius:50%;background:var(--teal);color:var(--white);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;}

/* Form (Inquiry page) */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px;}
.form-grid.full{grid-template-columns:1fr;}
.field{display:flex;flex-direction:column;gap:6px;}
.field label{font-size:0.85rem;font-weight:600;color:var(--charcoal);}
.field input,.field select,.field textarea{border:1.5px solid var(--border);border-radius:6px;padding:12px 14px;font-family:var(--font-body);font-size:0.95rem;color:var(--charcoal);min-height:44px;}
.field textarea{min-height:110px;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{outline:2.5px solid var(--cyan);outline-offset:1px;border-color:var(--cyan);}
.form-note{font-size:0.82rem;color:var(--steel);margin-top:16px;}
.checkbox-field{flex-direction:row;align-items:flex-start;gap:10px;}
.checkbox-field input{width:20px;height:20px;flex:none;margin-top:2px;}

/* Cards (Careers / Contact) */
.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:32px;}
.info-card{border:1px solid var(--border);border-radius:10px;padding:28px 24px;background:var(--white);transition:border-color .2s,box-shadow .2s;}
.info-card:hover{border-color:var(--cyan);box-shadow:0 8px 18px rgba(8,32,38,0.06);}
.info-card .eyebrow{margin-bottom:10px;}

/* Plant map */
.plant-map{border-radius:10px;overflow:hidden;border:1px solid var(--border);margin-top:40px;background:var(--off-white);min-height:340px;display:flex;align-items:center;justify-content:center;position:relative;}
.plant-map-pin{display:flex;flex-direction:column;align-items:center;gap:14px;color:var(--steel);text-align:center;padding:24px;}
.plant-map-pin svg{color:var(--cyan);}
.plant-map-pin p{margin:0;font-size:0.92rem;line-height:1.6;}
.plant-map-pin strong{color:var(--charcoal);font-size:1rem;font-weight:600;}

/* Inquiry CTA band */
.inquiry-inner{max-width:640px;margin:0 auto;}
.inquiry-inner h2{margin-bottom:12px;}
.inquiry-inner .btn{margin-top:16px;}

/* Footer */
.site-footer{background:var(--charcoal);color:#9FB0B3;padding:72px 0 28px;border-top:3px solid var(--cyan);}
.footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;align-items:flex-start;}
.footer-brand{display:flex;flex-direction:column;gap:14px;}
.logo-footer{height:auto;width:auto;max-width:200px;display:block;}
.footer-tag{font-size:0.92rem;color:#CFE3E6;line-height:1.5;max-width:280px;}
.footer-tagline-mark{color:var(--cyan);font-weight:600;}
.footer-meta{font-size:0.8rem;color:#647678;margin-top:8px;line-height:1.5;}
.footer-col h4{font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.12em;color:var(--cyan);font-weight:600;margin-bottom:18px;text-transform:uppercase;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.footer-col a{color:#B7C4C6;text-decoration:none;font-size:0.92rem;transition:color .15s;}
.footer-col a:hover{color:var(--cyan);}
.footer-contact-line{display:flex;align-items:center;gap:8px;color:#B7C4C6;font-size:0.88rem;margin-bottom:6px;}
.footer-contact-line svg{flex:none;color:var(--cyan);}
.footer-bottom{border-top:1px solid #2A383A;margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:0.8rem;color:#647678;}
.footer-bottom .footer-legal{display:flex;gap:20px;flex-wrap:wrap;}
.footer-bottom a{color:#7C9295;text-decoration:none;}
.footer-bottom a:hover{color:var(--cyan);}
@media (max-width:900px){
  .footer-inner{grid-template-columns:1fr 1fr;gap:36px;}
  .footer-brand{grid-column:1/-1;}
  .logo-footer{height:auto;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
}

@media (max-width:900px){
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .cap-grid{grid-template-columns:repeat(2,1fr);}
  .cert-grid{grid-template-columns:1fr;}
  .info-grid{grid-template-columns:1fr;}
  .form-grid{grid-template-columns:1fr;}
  .stat:not(:last-child)::after{display:none;}
}

@media (max-width:800px){
  .nav{display:none;}
  .nav-toggle{display:flex;}
  .hero{padding:100px 0 60px;}
  .hero-spec-row{flex-direction:column;}
  .pillars-grid{grid-template-columns:1fr;}
  .section-split,.section-split.reverse{grid-template-columns:1fr;}
  .section-split.reverse > .plant-visual,.section-split.reverse > div:not(.plant-visual){grid-column:auto;grid-row:auto;}
}

@media (prefers-reduced-motion:reduce){
  .pillar{transition:none;}
}

/* WhatsApp floating button */
.whatsapp-float{position:fixed;right:20px;bottom:20px;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(0,0,0,0.25);z-index:50;transition:transform .15s;}
.whatsapp-float:hover{transform:scale(1.06);}
.whatsapp-float svg{width:30px;height:30px;fill:#FFFFFF;}
@media (max-width:800px){
  .whatsapp-float{right:14px;bottom:14px;width:50px;height:50px;}
  .whatsapp-float svg{width:26px;height:26px;}
}
