/* Global styles completely refit to new design */
:root {
    --primary: #2bb2ad;
    --navy: #18417c;
    --light-bg: #f7fbff;
    --white: #ffffff;
    --text: #333;
}

* {
    margin: 0; padding: 0; box-sizing: border-box;
    font-family: 'Montserrat', sans-serif;
}

body {
    color: var(--text);
    background: var(--white);
    line-height: 1.6;
}

.container {
    max-width: 1200px; margin: 0 auto; padding: 0 20px;
}

.section {
    padding: 80px 0;
}

.section-heading {
    text-align: center;
    color: var(--navy);
    font-size: 2.5rem;
    font-weight: 800;
    margin-bottom: 10px;
}
.section-subheading {
    text-align: center;
    color: var(--primary);
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 40px;
}

/* Header */
.main-header {
    background: var(--white);
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    position: sticky; top: 0; z-index: 1000;
}
.nav-container {
    display: flex; justify-content: space-between; align-items: center; padding: 15px 20px;
}
.logo {
    display: flex;
    align-items: center;
    gap: 15px;
    min-width: 0;
}
.logo img { height: 50px; flex-shrink: 0; }
.logo-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--navy);
    line-height: 1.15;
}
.main-nav a {
    text-decoration: none; color: var(--navy); margin-left: 25px; font-weight: 600;
    transition: color 0.3s;
}
.main-nav a:hover { color: var(--primary); }

/* Hero */
.hero-section {
    position: relative;
    height: 90vh;
    display: flex; align-items: center;
}
.hero-bg {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background-size: cover; background-position: center;
    z-index: 1;
}
.hero-overlay {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(90deg, rgba(24,65,124,0.9) 0%, rgba(24,65,124,0.4) 100%);
    z-index: 2;
    display: flex; align-items: center;
}
.hero-content {
    color: var(--white); z-index: 3;
}
.hero-content .subtitle { font-size: 1.5rem; color: var(--primary); margin-bottom: 10px; }
.hero-content .main-title { font-size: 4rem; font-weight: 800; line-height: 1.1; margin-bottom: 20px; }
.hero-content .highlight { color: var(--primary); }
.hero-content .features { font-size: 1.2rem; margin-bottom: 40px; opacity: 0.9; }
.contact-info-hero { background: rgba(0,0,0,0.3); padding: 15px 20px; border-left: 4px solid var(--primary); display: inline-block; }

/* Company Profile Slide */
.company-profile-slide { background-color: var(--light-bg); padding: 80px 20px; position: relative; overflow: hidden; }
.cp-header-row { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 40px; }
.cp-mfg-base { line-height: 1.1; border-left: 5px solid var(--primary); padding-left: 15px; }
.cp-mfg-base .cp-over { font-size: 1.6rem; font-weight: 500; color: var(--navy); }
.cp-mfg-base .cp-number { font-size: 4.5rem; font-weight: 800; color: var(--navy); }
.cp-mfg-base .cp-unit { font-size: 1.8rem; font-weight: bold; color: var(--navy); }
.cp-mfg-base .cp-text { font-size: 1.2rem; font-weight: 600; color: var(--primary); display: block; margin-top: 8px; text-transform: uppercase; }
.cp-title-pill { background: linear-gradient(135deg, white 0%, #e8f4f8 100%); padding: 15px 60px; border-radius: 50px 0 50px 50px; box-shadow: 0 4px 15px rgba(0,0,0,0.05); }
.cp-title-pill h2 { color: var(--primary); font-size: 2.8rem; margin: 0; font-weight: 800; }
.cp-content-row { display: flex; gap: 40px; margin-bottom: 50px; align-items: stretch; }
.cp-image-col { flex: 1.2; position: relative; min-height: 450px; background: #fff; box-shadow: 0 10px 30px rgba(0,0,0,0.1); clip-path: polygon(0 0, 100% 0, 80% 100%, 0% 100%); }
.cp-image-wrapper { position: absolute; top:0; left:0; right:0; bottom:0; background-image: url("assets/images/extracted_img_27.jpeg"); background-size: cover; background-position: center; }
.cp-text-col { flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 30px; }
.cp-info-group { border-bottom: 1px solid rgba(43, 178, 173, 0.2); padding-bottom: 15px; }
.cp-info-group h4 { font-size: 1.4rem; color: var(--primary); margin-bottom: 8px; font-weight: 700; }
.cp-info-group.dark h4 { color: var(--navy); }
.cp-info-group p { font-size: 1.05rem; color: #555; }
.highlight-text { color: var(--primary) !important; font-weight: 600; }

.cp-stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; background: rgba(255,255,255,0.8); padding: 40px; border-radius: 20px; box-shadow: 0 5px 25px rgba(0,0,0,0.03); }
.cp-stat-item { display: flex; align-items: center; gap: 20px; }
.cp-stat-icon { width: 75px; height: 75px; flex-shrink: 0; border-radius: 50%; mix-blend-mode: multiply; object-fit: contain; }
.cp-stat-details h5 { color: var(--navy); font-size: 1rem; margin-bottom: 5px; }
.cp-stat-number { color: var(--navy); font-size: 2.2rem; font-weight: 800; line-height: 1; }
.cp-stat-unit { color: var(--primary); font-size: 0.9rem; font-weight: 600; text-transform: uppercase; }

/* Product Cards */
.products-section { background: var(--white); }
.product-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
.prod-card { background: var(--light-bg); border-radius: 12px; overflow: hidden; padding: 20px; text-align: center; box-shadow: 0 5px 15px rgba(0,0,0,0.05); }
.prod-img { width: 100%; height: 200px; object-fit: contain; margin-bottom: 15px; mix-blend-mode: multiply; }
.prod-card h3 { color: var(--navy); margin-bottom: 10px; }
.prod-card ul { list-style: none; padding: 0; color: #666; font-size: 0.9rem; }
.prod-card ul li { margin-bottom: 5px; }

/* Sus */
.sustainability { background: var(--light-bg); }
.sus-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.sus-card { background: white; padding: 30px; border-radius: 12px; border-top: 4px solid var(--primary); box-shadow: 0 5px 15px rgba(0,0,0,0.05); }
.sus-card h3 { color: var(--navy); margin-bottom: 10px; }

/* Quality */
.quality-section { background: var(--white); }
.quality-content-wrapper { display: flex; gap: 40px; align-items: flex-start; }
.quality-image { flex: 1; text-align: center; }
.quality-image img { max-width: 100%; height: auto; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
.quality-text-lists { flex: 1; display: grid; grid-template-columns: 1fr; gap: 20px; }
.q-list h4 { background: var(--primary); color: white; padding: 10px 20px; border-radius: 8px; margin-bottom: 15px; }
.q-list ul { list-style: none; }
.q-list ul li { padding: 8px; border-bottom: 1px solid #eee; }

/* Success */
.success-section { background: var(--light-bg); }
.success-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
.success-card { background: white; border-radius: 12px; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.08); padding-bottom: 20px;}
.success-card img { width: 100%; height: 200px; object-fit: cover; }
.success-card h4 { color: var(--navy); padding: 15px 20px 5px; margin: 0; }
.success-card p { padding: 0 20px; color: #666; font-size: 0.9rem; }
  .success-card .success-features {
      list-style: disc;
      list-style-position: outside;
      padding: 0 20px 0 1.35rem;
      margin: 0 0 20px 0;
  }
  .success-card .success-features li {
      margin: 0 0 8px 0.5em;
      padding-left: 0.15em;
      font-size: 0.9rem;
      color: #00b4d8;
      text-align: left;
      line-height: 1.4;
  }
  .success-card .success-features li::marker {
      color: #00b4d8;
  }




/* Sustainability Section */
.sustainability-section {
    background: #fff;
}
.sus-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1.5fr;
    gap: 40px;
}
.sus-intro {
    font-size: 1.1rem;
    color: var(--text);
    margin-bottom: 30px;
    font-weight: 500;
}
.sus-item h4 {
    font-size: 1.3rem;
    color: var(--navy);
    margin-bottom: 5px;
}
.sus-item p {
    font-size: 1rem;
    color: #666;
    margin-bottom: 20px;
}
.sdg-logos {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 30px;
}
.sdg-logos img {
    width: 80px;
    height: 80px;
    object-fit: contain;
}
.esg-item {
    margin-bottom: 40px;
}
.esg-letter {
    font-size: 5rem;
    font-weight: 800;
    line-height: 1;
    display: flex;
    align-items: baseline;
    color: var(--primary);
    margin-bottom: 10px;
    background: linear-gradient(90deg, rgba(43,178,173,1) 0%, rgba(200,200,200,0.2) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.esg-letter::first-letter {
    font-size: 2.5rem;
    margin-right: 10px;
}
.e-item .esg-letter { background: linear-gradient(90deg, #6BBFA0 0%, transparent 100%); -webkit-background-clip: text;}
.s-item .esg-letter { background: linear-gradient(90deg, #5AB3D8 0%, transparent 100%); -webkit-background-clip: text;}
.g-item .esg-letter { background: linear-gradient(90deg, #44598C 0%, transparent 100%); -webkit-background-clip: text;}

.esg-item h4 {
    font-size: 1.3rem;
    margin-bottom: 15px;
    color: var(--navy);
}
.esg-item ul {
    list-style: none;
    padding: 0;
}
.esg-item ul li {
    font-size: 1rem;
    color: #555;
    margin-bottom: 8px;
    position: relative;
    padding-left: 20px;
}
.esg-item ul li::before {
    content: '';
    color: var(--primary);
    position: absolute;
    left: 0;
    font-weight: bold;
}

.collage-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    position: relative;
    height: 100%;
}
.collage-grid img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
}
.collage-center-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #4FA294; /* matching the image color roughly */
    color: white;
    padding: 20px 30px;
    border-radius: 20px;
    text-align: center;
    font-weight: bold;
    font-size: 1.4rem;
    z-index: 10;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}


/* Contact Section */
.contact {
    background-color: var(--light-bg);
}

.contact-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    margin-top: 3rem;
}

.contact-info h3,
.contact-form h3 {
    color: var(--navy);
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
}

.contact-info p {
    color: #555;
    margin-bottom: 2rem;
    line-height: 1.8;
}

.contact-details {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.contact-item {
    padding: 1rem;
    background-color: var(--white);
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.contact-item h4 {
    color: var(--primary);
    margin-bottom: 0.5rem;
}

.contact-item a {
    color: var(--navy);
    text-decoration: none;
}

.contact-item a:hover {
    color: var(--primary);
}

/* Contact Form */
.contact-form {
    background-color: var(--white);
    padding: 2rem;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

/* Web3Forms honeypot: hidden from view; leave unchecked (bots may tick it). */
.contact-botcheck {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    opacity: 0;
    pointer-events: none;
}

.form-group {
    margin-bottom: 1.5rem;
}

.form-group label {
    display: block;
    margin-bottom: 0.5rem;
    color: var(--navy);
    font-weight: 500;
}

.form-group input,
.form-group textarea {
    width: 100%;
    padding: 0.8rem;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 1rem;
    font-family: inherit;
    transition: border-color 0.3s ease;
}

.form-group input:focus,
.form-group textarea:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(43, 178, 173, 0.1);
}

.submit-button {
    width: 100%;
    padding: 1rem;
    background-color: var(--primary);
    color: var(--white);
    border: none;
    border-radius: 5px;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.submit-button:hover {
    background-color: #218c89;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.submit-button:disabled {
    opacity: 0.65;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.contact-form-status {
    min-height: 1.25em;
    margin-bottom: 1rem;
    font-size: 0.95rem;
    font-weight: 500;
}

.contact-form-status--success {
    color: #1b7f3b;
}

.contact-form-status--error {
    color: #b00020;
}

.contact-form .h-captcha {
    margin-bottom: 1rem;
}

@media (max-width: 768px) {
    .sus-main-title { font-size: 1.4rem; }
    .sus-sub-title { font-size: 1rem; }
    .sustainability-header { padding: 40px 20px; min-height: 250px; }
    .contact-content {
        grid-template-columns: 1fr;
    }
}
/ *   C o m p r e h e n s i v e   R e s p o n s i v e   A d d i t i o n s   * / 
 
 / *   M o b i l e   M e n u   B u t t o n   * / 
 . m o b i l e - m e n u - t o g g l e   { 
         d i s p l a y :   n o n e ; 
         f l e x - d i r e c t i o n :   c o l u m n ; 
         j u s t i f y - c o n t e n t :   s p a c e - b e t w e e n ; 
         w i d t h :   3 0 p x ; 
         h e i g h t :   2 1 p x ; 
         c u r s o r :   p o i n t e r ; 
         z - i n d e x :   1 0 0 1 ; 
 } 
 
 . m o b i l e - m e n u - t o g g l e   s p a n   { 
         d i s p l a y :   b l o c k ; 
         h e i g h t :   3 p x ; 
         w i d t h :   1 0 0 % ; 
         b a c k g r o u n d - c o l o r :   v a r ( - - n a v y ) ; 
         b o r d e r - r a d i u s :   3 p x ; 
         t r a n s i t i o n :   a l l   0 . 3 s   e a s e ; 
 } 
 
 / *   M o b i l e   R e s p o n s i v e n e s s   I m p r o v e m e n t s   * / 
 @ m e d i a   ( m a x - w i d t h :   1 0 2 4 p x )   { 
         . p r o d u c t - c a r d s ,   . s u c c e s s - g r i d   { 
                 g r i d - t e m p l a t e - c o l u m n s :   r e p e a t ( 2 ,   1 f r ) ; 
         } 
         
         . n a v - c o n t a i n e r   . l o g o   s p a n   { 
                 f o n t - s i z e :   1 . 1 r e m   ! i m p o r t a n t ; 
         } 
 } 
 
 @ m e d i a   ( m a x - w i d t h :   9 0 0 p x )   { 
         / *   N a v b a r   H a m b u r g e r   S e t u p   * / 
         . m o b i l e - m e n u - t o g g l e   { 
                 d i s p l a y :   f l e x ; 
         } 
         
         . m a i n - n a v   { 
                 p o s i t i o n :   f i x e d ; 
                 t o p :   0 ; 
                 r i g h t :   - 1 0 0 % ; 
                 w i d t h :   2 5 0 p x ; 
                 h e i g h t :   1 0 0 v h ; 
                 b a c k g r o u n d :   v a r ( - - w h i t e ) ; 
                 f l e x - d i r e c t i o n :   c o l u m n ; 
                 j u s t i f y - c o n t e n t :   f l e x - s t a r t ; 
                 p a d d i n g - t o p :   8 0 p x ; 
                 b o x - s h a d o w :   - 5 p x   0   1 5 p x   r g b a ( 0 , 0 , 0 , 0 . 1 ) ; 
                 t r a n s i t i o n :   r i g h t   0 . 3 s   e a s e ; 
                 d i s p l a y :   f l e x ; 
                 z - i n d e x :   1 0 0 0 ; 
         } 
         
         . m a i n - n a v . a c t i v e   { 
                 r i g h t :   0 ; 
         } 
         
         . m a i n - n a v   a   { 
                 m a r g i n :   1 5 p x   2 0 p x ; 
                 f o n t - s i z e :   1 . 1 r e m ; 
                 b o r d e r - b o t t o m :   1 p x   s o l i d   # f 0 f 0 f 0 ; 
                 p a d d i n g - b o t t o m :   1 0 p x ; 
         } 
         
         / *   T o g g l e   A n i m a t i o n   * / 
         . m o b i l e - m e n u - t o g g l e . a c t i v e   s p a n : n t h - c h i l d ( 1 )   { 
                 t r a n s f o r m :   t r a n s l a t e Y ( 9 p x )   r o t a t e ( 4 5 d e g ) ; 
         } 
         . m o b i l e - m e n u - t o g g l e . a c t i v e   s p a n : n t h - c h i l d ( 2 )   { 
                 o p a c i t y :   0 ; 
         } 
         . m o b i l e - m e n u - t o g g l e . a c t i v e   s p a n : n t h - c h i l d ( 3 )   { 
                 t r a n s f o r m :   t r a n s l a t e Y ( - 9 p x )   r o t a t e ( - 4 5 d e g ) ; 
         } 
 
         / *   G r i d s   &   L a y o u t s   * / 
         . p r o d u c t - c a r d s   { 
                 g r i d - t e m p l a t e - c o l u m n s :   1 f r ; 
         } 
         
         . s u s - g r i d   { 
                 g r i d - t e m p l a t e - c o l u m n s :   1 f r ; 
         } 
         
         . c o l l a g e - g r i d   { 
                 g r i d - t e m p l a t e - c o l u m n s :   1 f r ; 
         } 
         
         / *   T y p o g r a p h y   S c a l i n g   * / 
         . c p - t i t l e - p i l l   h 2   { 
                 f o n t - s i z e :   1 . 8 r e m ; 
         } 
         . s e c t i o n - h e a d i n g   { 
                 f o n t - s i z e :   2 r e m ; 
         } 
         
         . c p - m f g - b a s e   . c p - n u m b e r   {   
                 f o n t - s i z e :   3 r e m ;   
         } 
         
         . l o g o   s p a n   { 
                 d i s p l a y :   n o n e   ! i m p o r t a n t ;   / *   H i d e   l o n g   t e x t   o n   m o b i l e   t o   a v o i d   s q u i s h i n g   * / 
         } 
 } 
 
 @ m e d i a   ( m a x - w i d t h :   4 8 0 p x )   { 
         . s u c c e s s - g r i d   { 
                 g r i d - t e m p l a t e - c o l u m n s :   1 f r ; 
         } 
         . c o n t a c t - c o n t e n t   { 
                 g r i d - t e m p l a t e - c o l u m n s :   1 f r ; 
         } 
         . c p - s t a t s - g r i d   { 
                 g r i d - t e m p l a t e - c o l u m n s :   1 f r ; 
         } 
 } 
 
 / *   E m e r g e n c y   L a y o u t   R e s e t   f o r   S t r i c t   M o b i l e   V i e w p o r t s   * / 
 h t m l ,   b o d y   { 
         o v e r f l o w - x :   h i d d e n ;   / *   F o r c e   p r e v e n t   a n y   s i d e w a y s   s c r o l l i n g   * / 
         w i d t h :   1 0 0 % ; 
 } 
 
 @ m e d i a   ( m a x - w i d t h :   7 6 8 p x )   { 
         . s e c t i o n   { 
                 p a d d i n g :   4 0 p x   0 ;   / *   R e d u c e   m a s s i v e   v e r t i c a l   p a d d i n g   * / 
         } 
         . h e r o - c o n t e n t   . m a i n - t i t l e   { 
                 f o n t - s i z e :   2 . 2 r e m ; 
         } 
         . c p - t i t l e - p i l l   { 
                 p a d d i n g :   1 0 p x   2 0 p x ; 
                 b o r d e r - r a d i u s :   2 5 p x ; 
         } 
         . c p - t i t l e - p i l l   h 2   { 
                 f o n t - s i z e :   1 . 4 r e m   ! i m p o r t a n t ; 
         } 
         . s e c t i o n - h e a d i n g   { 
                 f o n t - s i z e :   1 . 8 r e m   ! i m p o r t a n t ; 
         } 
         . s u s t a i n a b i l i t y - h e a d e r   { 
                 p a d d i n g :   3 0 p x   2 0 p x   ! i m p o r t a n t ; 
         } 
         . s u s t a i n a b i l i t y - h e a d e r   h 2   { 
                 f o n t - s i z e :   2 r e m   ! i m p o r t a n t ; 
         } 
         . s u s t a i n a b i l i t y - h e a d e r   p   { 
                 f o n t - s i z e :   1 . 2 r e m   ! i m p o r t a n t ; 
         } 
         . c o n t a c t - f o r m   { 
                 p a d d i n g :   1 . 5 r e m   1 r e m ; 
         } 
 } 
 
 @ m e d i a   ( m a x - w i d t h :   4 8 0 p x )   { 
         . c o n t a i n e r   { 
                 p a d d i n g :   0   1 5 p x ; 
         } 
         . h e r o - c o n t e n t   . m a i n - t i t l e   { 
                 f o n t - s i z e :   1 . 8 r e m ; 
         } 
         . h e r o - c o n t e n t   . s u b t i t l e   { 
                 f o n t - s i z e :   1 . 1 r e m ; 
         } 
         . c p - m f g - b a s e   . c p - n u m b e r   {   
                 f o n t - s i z e :   2 . 2 r e m   ! i m p o r t a n t ;   / *   P r e v e n t   3 5 0 , 0 0 0   f r o m   o v e r f l o w i n g   * / 
         } 
         . c p - s t a t - g r i d   { 
                 g a p :   1 5 p x ;   / *   L e s s   g a p   o n   s t a t   i c o n s   * / 
                 p a d d i n g :   2 0 p x   ! i m p o r t a n t ; 
         } 
         . c p - s t a t - i t e m   { 
                 f l e x - d i r e c t i o n :   c o l u m n ; 
                 t e x t - a l i g n :   c e n t e r ; 
                 g a p :   1 0 p x ; 
         } 
         . c p - s t a t - i c o n   { 
                 m a r g i n :   0   a u t o ; 
         } 
         
         f o o t e r   . c o n t a i n e r   { 
                 p a d d i n g :   0   1 0 p x ; 
         } 
         f o o t e r   i m g   { 
                 h e i g h t :   4 0 p x   ! i m p o r t a n t ; 
         } 
         f o o t e r   s p a n   { 
                 f o n t - s i z e :   1 . 1 r e m   ! i m p o r t a n t ; 
                 t e x t - a l i g n :   c e n t e r ; 
         } 
 } 
 
 


/* Sustainability Header */

.sustainability-header {
    /* Pamphlet order (img_map): 57 was end-of-doc partners strip, not this section. */
    background-image: linear-gradient(105deg, rgba(24, 65, 124, 0.88) 0%, rgba(24, 65, 124, 0.45) 45%, rgba(43, 178, 173, 0.35) 100%),
        url('assets/images/brochure-hero.jpg');
    background-size: cover;
    background-position: center;
    color: white;
    padding: 60px 40px;
    margin-bottom: 40px;
    min-height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.sus-main-title {
    font-size: 3rem;
    margin-bottom: 10px;
    line-height: 1.1;
}
.sus-sub-title {
    font-size: 1.5rem;
    font-weight: 600;
}

/* Comprehensive Responsive Additions */

.container {
    width: 100%;
    margin: 0 auto;
    padding: 0 5%;
}

.mobile-menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 21px;
    cursor: pointer;
    z-index: 1001;
}

.mobile-menu-toggle span {
    display: block;
    height: 3px;
    width: 100%;
    background: var(--navy);
    transition: 0.3s;
    background-color: var(--navy);
    border-radius: 3px;
    transition: all 0.3s ease;
}

@media (max-width: 1024px) {
    /* Note: .collage-grid excluded from sus-grid — collage stays 2×4. */
    .product-cards, .success-grid, .sus-grid, .cp-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Collage parent loses a definite height when columns stack; height:100% on imgs then = intrinsic photo height (~1 viewport each). */
    .sustainability-section .collage-grid {
        width: min(100%, 400px);
        margin-left: auto;
        margin-right: auto;
        height: clamp(240px, 72vw, 400px) !important;
        max-height: min(420px, 56vh) !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
        gap: 8px;
        overflow: hidden;
        box-sizing: border-box;
    }
    .sustainability-section .collage-grid img {
        min-height: 0 !important;
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }
    .sustainability-section .collage-center-text {
        font-size: clamp(0.8rem, 2.8vw, 1.1rem);
        padding: 10px 14px;
        max-width: 86%;
    }

    /* Company profile: stack with "Company Profile" first (order is reliable across browsers; >1024px unchanged). */
    .company-profile-slide .cp-header-row {
        flex-direction: column;
        justify-content: flex-start;
        align-items: stretch;
        gap: 24px;
    }
    .company-profile-slide .cp-header-row .cp-title-pill {
        order: -1;
    }
    .company-profile-slide .cp-header-row .cp-mfg-base {
        order: 0;
    }

    /* Less top padding under sticky header (desktop keeps 80px). */
    .company-profile-slide {
        padding: 36px 20px 72px;
    }
}

@media (max-width: 900px) {
    .section { padding: 60px 0; }
    .sustainability-header {
        padding: 30px 20px;
        margin-bottom: 20px;
    }
    .sus-main-title {
        font-size: 1.8rem;
    }
    .sus-sub-title {
        font-size: 1.1rem;
    }
    
    .mobile-menu-toggle {
        display: flex;
        position: absolute;
        right: 14px;
        top: 50%;
        transform: translateY(-50%);
        z-index: 10001;
        flex-shrink: 0;
    }
    .main-nav {
        position: absolute; top: 100%; left: 0; width: 100%; height: auto;
        background: var(--white); flex-direction: column; justify-content: flex-start;
        padding-top: 0; box-shadow: 0 10px 15px rgba(0,0,0,0.1);
        transition: all 0.3s ease; display: flex; z-index: 999;
        opacity: 0; visibility: hidden; transform: translateY(-10px);
    }
    .main-nav.active { opacity: 1; visibility: visible; transform: translateY(0); }
    .main-nav a { display: block; margin: 0; padding: 15px 20px; font-size: 0.95rem; text-align: center; border-bottom: 1px solid #f0f0f0; }
    
    .mobile-menu-toggle.active span:nth-child(1) { transform: translateY(9px) rotate(45deg); }
    .mobile-menu-toggle.active span:nth-child(2) { opacity: 0; }
    .mobile-menu-toggle.active span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }

    .nav-container {
        position: relative;
        justify-content: center;
        padding: 15px 48px;
    }
    .logo {
        flex: 0 1 auto;
        max-width: calc(100% - 24px);
        min-width: 0;
        justify-content: center;
    }
    .logo-title {
        font-size: clamp(0.75rem, 3.5vw, 1rem);
        text-align: center;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        word-break: break-word;
    }

    .company-profile-slide {
        padding: 20px 20px 52px;
    }
    .cp-header-row {
        margin-bottom: 24px;
    }

    .cp-content-row, .quality-content-wrapper { flex-direction: column; }
    .contact-content { grid-template-columns: 1fr; }
    .product-cards, .success-grid, .sus-grid, .cp-stats-grid, .quality-text-lists { grid-template-columns: 1fr; }
    .hero-content .main-title { font-size: 3rem; }
    
    .cp-image-col { min-height: 350px; clip-path: none; margin-bottom: 20px;}
}

@media (max-width: 768px) {
    .sus-main-title { font-size: 1.4rem; }
    .sus-sub-title { font-size: 1rem; }
    .sustainability-header { padding: 40px 20px; min-height: 250px; }
    .hero-content .main-title { font-size: 1.8rem; }
    .cp-title-pill { padding: 15px 20px; border-radius: 20px; text-align: center; }
    .cp-title-pill h2 { font-size: 1.8rem !important; }
    .section-heading { font-size: 1.8rem !important; }
    .cp-mfg-base .cp-number { font-size: 2.8rem !important; line-height: 1.2; }
    .highlight-text { display: flex; flex-direction: column; gap: 5px; }
    .ht-sep { display: none; }
    .cp-mfg-base .cp-unit { font-size: 1.4rem; padding-left: 10px; }
    .esg-letter { font-size: 2.5rem; }
}

@media (max-width: 480px) {
    .sustainability-section .collage-grid {
        height: clamp(220px, 68vw, 320px) !important;
        max-height: min(360px, 50vh) !important;
    }
    .sus-main-title { font-size: 1.2rem; }
    .sus-sub-title { font-size: 0.85rem; }
    .sustainability-header { padding: 30px 15px; min-height: 200px; }
    .container { padding: 0 15px; }
    .hero-content .main-title { font-size: 1.5rem; }
    .section-heading { font-size: 1.5rem !important; }
    .cp-title-pill h2 { font-size: 1.5rem !important; }
    .hero-content .subtitle { font-size: 1.1rem; }
    .cp-mfg-base .cp-number { font-size: 2rem !important; line-height: 1.1; }
    .cp-mfg-base .cp-unit { font-size: 1.2rem; }
    .cp-stats-grid { gap: 15px; padding: 20px; }
    .cp-stat-item { flex-direction: column; text-align: center; gap: 10px; }
    
    footer .container { padding: 0 10px; }
    
    html, body { overflow-x: hidden; width: 100vw; }

    h1, h2, h3, h4, p, span { word-wrap: break-word; overflow-wrap: break-word; max-width: 100%; }
}
