/* ================================================================
   CorroChem — Stylesheet
   Palette: Navy #1B3A6B (Corro) · Crimson #8B1A1A (Chem)
   Type: Barlow Condensed (display) · Barlow (body)
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Barlow+Condensed:wght@300;400;600;700;800;900&display=swap');

:root {
  --navy:          #1B3A6B;
  --navy-dark:     #0F2347;
  --navy-mid:      #24508A;
  --crimson:       #8B1A1A;
  --crimson-bright:#A82424;
  --crimson-muted: #7A1616;
  --warm-white:    #F6F4F0;
  --warm-grey:     #EAE6DE;
  --warm-grey-2:   #D8D3C8;
  --iron:          #1A1C26;
  --text:          #1C2133;
  --text-2:        #4A5168;
  --muted:         #7A829A;
  --white:         #FFFFFF;
  --bg:            var(--warm-white);
  --bg-card:       var(--white);
  --border:        #C5C0B5;
  --container:     1160px;
  --radius:        2px;
  --trans:         0.22s ease;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg:        #0E1420;
    --bg-card:   #151D2E;
    --text:      #E4E0D8;
    --text-2:    #8E9AB4;
    --muted:     #556080;
    --border:    #232E44;
    --warm-grey: #1A2238;
    --warm-grey-2:#202A3E;
  }
}
:root[data-theme="dark"] {
  --bg:        #0E1420;
  --bg-card:   #151D2E;
  --text:      #E4E0D8;
  --text-2:    #8E9AB4;
  --muted:     #556080;
  --border:    #232E44;
  --warm-grey: #1A2238;
  --warm-grey-2:#202A3E;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body { font-family: 'Barlow', system-ui, sans-serif; background: var(--bg); color: var(--text); line-height: 1.65; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; display: block; }
a { color: var(--crimson); text-decoration: none; transition: color var(--trans); }
a:hover { color: var(--crimson-bright); }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
ul, ol { list-style: none; }

h1,h2,h3,h4,h5 { font-family:'Barlow Condensed','Arial Narrow',sans-serif; font-weight:800; line-height:1.05; text-wrap:balance; color:var(--text); }
.display { font-size:clamp(3.5rem,8vw,7rem); font-weight:900; letter-spacing:-0.02em; text-transform:uppercase; line-height:0.92; }
h1 { font-size:clamp(2.5rem,5.5vw,4.2rem); font-weight:800; }
h2 { font-size:clamp(2rem,4vw,3rem); font-weight:800; }
h3 { font-size:clamp(1.5rem,3vw,2.1rem); font-weight:700; }
h4 { font-size:1.2rem; font-weight:700; }
.eyebrow { font-family:'Barlow',sans-serif; font-size:0.68rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--crimson); display:block; }
.lead { font-size:clamp(1.05rem,2vw,1.22rem); line-height:1.7; color:var(--text-2); }

.container { width:100%; max-width:var(--container); margin:0 auto; padding:0 2.5rem; }
.section { padding:6rem 0; }
.section--dark { background:var(--navy-dark); }
.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4 { color:var(--white); }
.section--dark .eyebrow { color:var(--crimson-bright); }
.section--dark p,.section--dark li { color:rgba(255,255,255,0.78); }
.section--dark .lead { color:rgba(255,255,255,0.72); }
.section--navy { background:var(--navy); }
.section--navy h2,.section--navy h3 { color:var(--white); }
.section--navy p { color:rgba(255,255,255,0.76); }
.section--navy .eyebrow { color:rgba(255,255,255,0.45); }
.section--grey { background:var(--warm-grey); }

.grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }

/* ── Navigation ── */
.nav { position:sticky; top:0; z-index:1000; background:var(--white); border-bottom:3px solid var(--navy); }
.nav__inner { display:flex; align-items:center; justify-content:space-between; height:72px; gap:2rem; }
.nav__logo { display:flex; align-items:center; flex-shrink:0; }
.nav__logo-img { height:48px; max-height:54px; width:auto; max-width:220px; display:block; object-fit:contain; }
.nav__brand { display:flex; align-items:center; gap:0.9rem; flex-shrink:0; }
.nav__brand-name { font-family:'Barlow Condensed',sans-serif; font-size:1.75rem; font-weight:900; letter-spacing:0.02em; text-transform:uppercase; color:var(--navy); }
.nav__brand-sub { font-family:'Barlow',sans-serif; font-size:0.56rem; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--muted); }
.nav__links { display:flex; gap:0; align-items:center; }
.nav__link { font-family:'Barlow',sans-serif; font-size:0.8rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:var(--text-2); padding:0.5rem 1.1rem; border-right:1px solid var(--warm-grey); transition:color var(--trans),background var(--trans); position:relative; }
.nav__link::after { content:''; position:absolute; bottom:-3px; left:0; right:0; height:3px; background:var(--crimson); transform:scaleX(0); transition:transform var(--trans); }
.nav__link:hover { color:var(--navy); }
.nav__link:hover::after,.nav__link.active::after { transform:scaleX(1); }
.nav__link.active { color:var(--navy); font-weight:700; }
.nav__link--cta { background:var(--navy); color:var(--white)!important; border-right:none; margin-left:1rem; padding:0.5rem 1.4rem; border-bottom:3px solid var(--navy-dark); }
.nav__link--cta:hover { background:var(--navy-mid); color:var(--white)!important; }
.nav__link--cta::after { display:none; }
.nav__toggle { display:none; flex-direction:column; gap:5px; padding:8px; }
.nav__toggle span { display:block; width:22px; height:2px; background:var(--navy); }

/* ── Hero ── */
.hero { position:relative; background:var(--navy-dark); overflow:hidden; min-height:540px; display:flex; align-items:center; }
.hero__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:left center; opacity:0.6; filter:brightness(0.35); z-index:0; }
.hero__overlay { display:none; }
.hero__accent { position:absolute; right:0; top:0; bottom:0; width:8px; background:var(--crimson); z-index:2; }
.hero__watermark { position:absolute; inset:0; display:flex; align-items:center; justify-content:flex-end; padding-right:3rem; z-index:2; pointer-events:none; overflow:hidden; }
.hero__wm-text { font-family:'Barlow Condensed',sans-serif; font-size:clamp(5rem,20vw,18rem); font-weight:900; letter-spacing:-0.02em; text-transform:uppercase; color:var(--white); opacity:0.045; white-space:nowrap; user-select:none; line-height:1; }
.hero__content { position:relative; z-index:3; padding:6rem 0; }
.hero__kicker { display:inline-flex; align-items:center; gap:0.75rem; margin-bottom:1.75rem; }
.hero__kicker-line { display:block; width:32px; height:2px; background:var(--crimson); }
.hero__kicker-text { font-family:'Barlow',sans-serif; font-size:0.68rem; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:rgba(255,255,255,0.55); }
.hero h1 { color:var(--white); }
.hero h1 em { font-style:normal; color:var(--crimson-bright); }
.hero .lead { color:rgba(255,255,255,0.68); max-width:520px; margin-top:1.5rem; font-size:1.05rem; }
.hero__actions { margin-top:2.75rem; display:flex; gap:1rem; flex-wrap:wrap; }
.hero__rule { width:60px; height:3px; background:var(--crimson); margin-top:1.5rem; }

/* ── Buttons ── */
.btn { display:inline-flex; align-items:center; gap:0.5rem; font-family:'Barlow',sans-serif; font-size:0.78rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; padding:0.85rem 2rem; border-radius:var(--radius); transition:var(--trans); white-space:nowrap; border:2px solid transparent; }
.btn--navy { background:var(--navy); color:var(--white); border-color:var(--navy-dark); border-bottom:3px solid var(--navy-dark); }
.btn--navy:hover { background:var(--navy-mid); color:var(--white); }
.btn--crimson { background:var(--crimson); color:var(--white); border-color:var(--crimson-muted); border-bottom:3px solid var(--crimson-muted); }
.btn--crimson:hover { background:var(--crimson-bright); color:var(--white); }
.btn--outline-white { border:2px solid rgba(255,255,255,0.35); color:var(--white); background:transparent; }
.btn--outline-white:hover { border-color:var(--white); background:rgba(255,255,255,0.07); color:var(--white); }
.btn--outline-navy { border:2px solid var(--navy); color:var(--navy); background:transparent; }
.btn--outline-navy:hover { background:var(--navy); color:var(--white); }

/* ── Stats Strip ── */
.stats-strip { background:var(--navy); border-top:3px solid var(--crimson); }
.stats-strip__inner { display:grid; grid-template-columns:repeat(4,1fr); }
.stat-cell { padding:2.25rem 2rem; border-right:1px solid rgba(255,255,255,0.1); }
.stat-cell:last-child { border-right:none; }
.stat-cell__num { font-family:'Barlow Condensed',sans-serif; font-size:3rem; font-weight:900; color:var(--white); line-height:1; display:block; }
.stat-cell__num em { font-style:normal; color:var(--crimson-bright); }
.stat-cell__label { font-family:'Barlow',sans-serif; font-size:0.72rem; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,255,255,0.45); margin-top:0.4rem; display:block; }

/* ── Section heading ── */
.section-intro { margin-bottom:4rem; }
.section-intro__header { display:flex; align-items:flex-start; gap:2rem; margin-bottom:1.25rem; }
.section-intro__num { font-family:'Barlow Condensed',sans-serif; font-size:5rem; font-weight:900; color:var(--warm-grey-2); line-height:1; flex-shrink:0; user-select:none; margin-top:-0.5rem; }
.section-intro__num--dark { color:rgba(255,255,255,0.07); }
.section-intro p { max-width:640px; color:var(--text-2); }

/* ── Service list ── */
.service-list { border-top:2px solid var(--navy); }
.service-row { display:grid; grid-template-columns:40px 1fr auto; gap:1.5rem; align-items:center; padding:1.5rem 0; border-bottom:1px solid var(--border); transition:background var(--trans),padding var(--trans); }
.service-row:hover { background:var(--warm-grey); margin:0 -1rem; padding:1.5rem 1rem; }
.service-row__num { font-family:'Barlow Condensed',sans-serif; font-size:1.4rem; font-weight:700; color:var(--crimson); line-height:1; }
.service-row__title { font-family:'Barlow Condensed',sans-serif; font-size:1.3rem; font-weight:700; color:var(--text); }
.service-row__desc { font-size:0.88rem; color:var(--text-2); margin-top:0.2rem; }
.service-row__arrow { color:var(--muted); font-size:1.25rem; transition:color var(--trans),transform var(--trans); }
.service-row:hover .service-row__arrow { color:var(--crimson); transform:translateX(4px); }
.service-list--dark { border-top-color:rgba(255,255,255,0.2); }
.service-list--dark .service-row { border-bottom-color:rgba(255,255,255,0.08); }
.service-list--dark .service-row:hover { background:rgba(255,255,255,0.04); }
.service-list--dark .service-row__title { color:var(--white); }
.service-list--dark .service-row__desc { color:rgba(255,255,255,0.55); }

/* ── Feature split ── */
.feature-split { display:grid; grid-template-columns:1fr 1fr; }
.feature-split__panel { padding:5rem; display:flex; flex-direction:column; justify-content:center; }
.feature-split__panel--dark { background:var(--navy-dark); }
.feature-split__panel--dark h2,.feature-split__panel--dark h3 { color:var(--white); }
.feature-split__panel--dark p { color:rgba(255,255,255,0.74); }
.feature-split__panel--dark .eyebrow { color:rgba(255,255,255,0.4); }

/* ── Pull quote ── */
.pull-quote { font-family:'Barlow Condensed',sans-serif; font-size:clamp(1.6rem,3.5vw,2.4rem); font-weight:700; color:var(--navy); line-height:1.2; border-left:5px solid var(--crimson); padding:1.25rem 0 1.25rem 1.75rem; margin:2rem 0; }
.pull-quote--dark { color:var(--white); }

/* ── KPI block ── */
.kpi-block { padding:2rem 0; border-bottom:1px solid var(--border); }
.kpi-block:first-child { border-top:2px solid var(--navy); }
.kpi-block__num { font-family:'Barlow Condensed',sans-serif; font-size:4rem; font-weight:900; color:var(--navy); line-height:1; }
.kpi-block__num em { font-style:normal; color:var(--crimson); }
.kpi-block__label { font-size:0.85rem; color:var(--text-2); margin-top:0.3rem; }

/* ── Industry grid ── */
.industry-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:2px solid rgba(255,255,255,0.15); border-left:2px solid rgba(255,255,255,0.15); }
.industry-cell { padding:1.5rem; border-right:1px solid rgba(255,255,255,0.1); border-bottom:1px solid rgba(255,255,255,0.1); transition:background var(--trans); }
.industry-cell:hover { background:rgba(255,255,255,0.05); }
.industry-cell__name { font-family:'Barlow Condensed',sans-serif; font-size:1rem; font-weight:700; color:var(--white); text-transform:uppercase; letter-spacing:0.04em; }
.industry-cell__sub { font-size:0.75rem; color:rgba(255,255,255,0.38); margin-top:0.25rem; }

/* ── Why grid ── */
.why-grid { display:grid; grid-template-columns:1fr 1fr; gap:0; border-top:2px solid var(--navy); }
.why-item { padding:2rem 2.5rem 2rem 0; border-bottom:1px solid var(--border); border-right:1px solid var(--border); transition:background var(--trans); }
.why-item:nth-child(even) { padding-left:2.5rem; padding-right:0; border-right:none; }
.why-item:hover { background:var(--warm-grey); }
.why-item__heading { font-family:'Barlow Condensed',sans-serif; font-size:1.3rem; font-weight:800; color:var(--navy); text-transform:uppercase; margin-bottom:0.6rem; display:flex; align-items:center; gap:0.6rem; }
.why-item__heading::before { content:''; display:block; width:18px; height:3px; background:var(--crimson); flex-shrink:0; }
.why-item p { font-size:0.93rem; color:var(--text-2); line-height:1.6; }

/* ── Case cards ── */
.case-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:2px; background:var(--border); border:2px solid var(--border); }
.case-card { background:var(--bg-card); overflow:hidden; }
.case-card__img-wrap { height:220px; overflow:hidden; background:var(--warm-grey); position:relative; }
.case-card__img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform 0.4s ease; }
.case-card:hover .case-card__img-wrap img { transform:scale(1.04); }
.case-card__placeholder { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.6rem; background:linear-gradient(135deg,var(--navy-dark) 0%,#2a3a5c 100%); }
.case-card__placeholder-icon { width:48px; height:48px; opacity:0.18; }
.case-card__placeholder-text { font-size:0.65rem; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:rgba(255,255,255,0.25); }
.case-card__industry-bar { position:absolute; bottom:0; left:0; right:0; background:var(--navy); padding:0.35rem 1rem; }
.case-card__industry-bar span { font-size:0.65rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.7); }
.case-card__body { padding:1.5rem; }
.case-card h3 { font-size:1.15rem; color:var(--text); margin-bottom:0.6rem; }
.case-card p { font-size:0.9rem; color:var(--text-2); line-height:1.6; }

/* ── Contact ── */
.contact-layout { display:grid; grid-template-columns:1fr 1.5fr; gap:0; border:2px solid var(--border); }
.contact-info-panel { background:var(--navy-dark); padding:3.5rem; }
.contact-info-panel h2 { color:var(--white); }
.contact-detail { margin-top:2rem; border-top:1px solid rgba(255,255,255,0.1); }
.contact-row { padding:1rem 0; border-bottom:1px solid rgba(255,255,255,0.08); }
.contact-row__label { font-size:0.65rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.38); }
.contact-row__value { font-family:'Barlow Condensed',sans-serif; font-size:1.25rem; font-weight:700; color:var(--white); }
.contact-row__value a { color:var(--white); }
.contact-row__value a:hover { color:var(--crimson-bright); }
.contact-form-panel { padding:3.5rem; background:var(--bg-card); }
.form-row-2 { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }
.field { margin-bottom:1.25rem; }
.field label { display:block; font-size:0.68rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--text-2); margin-bottom:0.4rem; }
.field input,.field select,.field textarea { width:100%; background:var(--warm-white); border:1.5px solid var(--border); border-bottom:2px solid var(--navy); border-radius:0; padding:0.75rem 0.9rem; font-family:'Barlow',sans-serif; font-size:0.97rem; color:var(--text); outline:none; transition:border-color var(--trans),background var(--trans); appearance:none; }
.field input:focus,.field select:focus,.field textarea:focus { border-bottom-color:var(--crimson); background:var(--white); }
.field textarea { resize:vertical; min-height:130px; }
.alert { padding:0.85rem 1.25rem; font-size:0.88rem; font-weight:500; margin-bottom:1.25rem; display:none; border-left:4px solid; }
.alert.show { display:block; }
.alert--success { background:rgba(27,58,107,0.08); border-color:var(--navy); color:var(--navy); }
.alert--error { background:rgba(139,26,26,0.08); border-color:var(--crimson); color:var(--crimson); }

/* ── Service Cards Grid ── */
.svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:2rem; }
.svc-card { background:var(--bg-card); border:1px solid var(--border); border-radius:4px; overflow:hidden; transition:transform 0.25s ease,box-shadow 0.25s ease; display:flex; flex-direction:column; }
.svc-card:hover { transform:translateY(-6px); box-shadow:0 18px 52px rgba(0,0,0,0.13); }
.svc-card__img { height:200px; background-size:cover; background-position:center; background-color:var(--navy-dark); position:relative; }
.svc-card__img::after { content:''; position:absolute; inset:0; background:linear-gradient(to bottom,transparent 50%,rgba(27,58,107,0.45)); }
.svc-card__accent { height:3px; background:var(--crimson); flex-shrink:0; }
.svc-card__body { padding:1.4rem 1.5rem 1.6rem; flex:1; display:flex; flex-direction:column; }
.svc-card__num { font-family:'Barlow Condensed',sans-serif; font-size:0.65rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--crimson); margin-bottom:0.45rem; }
.svc-card__title { font-family:'Barlow Condensed',sans-serif; font-size:1.25rem; font-weight:700; color:var(--text); line-height:1.2; margin-bottom:0.6rem; text-transform:uppercase; letter-spacing:0.01em; }
.svc-card__desc { font-size:0.86rem; color:var(--text-2); line-height:1.65; flex:1; }
.svc-card__cta { display:inline-flex; align-items:center; gap:0.4rem; margin-top:1.1rem; font-family:'Barlow',sans-serif; font-size:0.73rem; font-weight:700; letter-spacing:0.09em; text-transform:uppercase; color:var(--crimson); text-decoration:none; transition:gap 0.18s,color 0.18s; }
.svc-card__cta:hover { gap:0.7rem; color:var(--navy); }
@media(max-width:960px){.svc-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:580px){.svc-grid{grid-template-columns:1fr;}.svc-card__img{height:160px;}}

/* ── Page header ── */
.page-header { background:var(--navy-dark) url('../images/hero.jpg') center/cover no-repeat; padding:5rem 0; position:relative; overflow:hidden; }
.page-header__overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(26,28,38,0.82) 0%,rgba(27,58,107,0.65) 100%); z-index:0; }
.page-header .container { position:relative; z-index:1; }
.page-header__wm { position:absolute; right:-2rem; bottom:-1rem; font-family:'Barlow Condensed',sans-serif; font-size:9rem; font-weight:900; text-transform:uppercase; color:var(--white); opacity:0.05; white-space:nowrap; user-select:none; pointer-events:none; line-height:1; z-index:1; }
.page-header h1 { color:var(--white); }
.page-header .eyebrow { margin-bottom:0.75rem; color:rgba(255,255,255,0.5); }
.page-header p { color:rgba(255,255,255,0.72); max-width:640px; margin-top:0.9rem; }
.page-header__rule { width:50px; height:3px; background:var(--crimson); margin:1.25rem 0 0; }

/* ── CTA Banner ── */
.cta-banner { background:var(--crimson); padding:3.5rem 0; position:relative; overflow:hidden; }
.cta-banner__wm { position:absolute; right:2rem; top:50%; transform:translateY(-50%); font-family:'Barlow Condensed',sans-serif; font-size:8rem; font-weight:900; color:var(--white); opacity:0.07; user-select:none; pointer-events:none; white-space:nowrap; }
.cta-banner__inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; position:relative; z-index:1; }
.cta-banner h2 { color:var(--white); font-size:clamp(1.5rem,3.5vw,2.4rem); }
.cta-banner p { color:rgba(255,255,255,0.78); max-width:500px; margin-top:0.5rem; }

/* ── Bullet list ── */
.bullet-list { border-top:1px solid var(--border); }
.bullet-list li { padding:0.75rem 0 0.75rem 1.25rem; border-bottom:1px solid var(--border); font-size:0.95rem; color:var(--text-2); position:relative; }
.bullet-list li::before { content:''; position:absolute; left:0; top:1.15rem; width:6px; height:6px; border-radius:50%; background:var(--crimson); }
.bullet-list--dark li { border-bottom-color:rgba(255,255,255,0.08); color:rgba(255,255,255,0.75); }
.bullet-list--dark li::before { background:var(--crimson-bright); }
.bullet-list--dense li { padding-top:0.55rem; padding-bottom:0.55rem; }

/* ── Client exposure ── */
.client-group { margin-bottom:2.5rem; }
.client-group__sector { font-size:0.65rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--crimson-bright); border-bottom:1px solid rgba(255,255,255,0.12); padding-bottom:0.5rem; margin-bottom:0.75rem; }
.client-name-list { display:flex; flex-wrap:wrap; gap:0.35rem 1.5rem; }
.client-name { font-family:'Barlow Condensed',sans-serif; font-size:1rem; font-weight:600; color:rgba(255,255,255,0.72); text-transform:uppercase; letter-spacing:0.04em; }

/* ── Product cards ── */
.product-card { border-top:3px solid var(--navy); padding:1.75rem 0 1.5rem; border-bottom:1px solid var(--border); }
.product-card h4 { font-size:1.05rem; color:var(--navy); margin-bottom:0.5rem; text-transform:uppercase; letter-spacing:0.02em; }
.product-card p { font-size:0.9rem; color:var(--text-2); line-height:1.6; }
.product-card--featured { background:var(--navy-dark); border-top-color:var(--crimson); padding:2rem; margin-bottom:2rem; }
.product-card--featured h4 { color:var(--white); }
.product-card--featured p { color:rgba(255,255,255,0.72); }

/* ── Approach flow ── */
.approach-flow { display:flex; flex-wrap:wrap; gap:0.5rem; align-items:center; padding:1.5rem 0; border-top:1px solid rgba(255,255,255,0.1); border-bottom:1px solid rgba(255,255,255,0.1); }
.approach-step { font-family:'Barlow Condensed',sans-serif; font-size:0.95rem; font-weight:700; padding:0.3rem 0.85rem; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12); color:rgba(255,255,255,0.82); text-transform:uppercase; letter-spacing:0.04em; }
.approach-arrow { color:var(--crimson-bright); font-size:1rem; }

/* ── Notice ── */
.notice { border-left:4px solid var(--navy); background:rgba(27,58,107,0.07); padding:1rem 1.25rem; font-size:0.9rem; color:var(--text-2); }
.notice strong { color:var(--navy); }
.notice--crimson { border-left-color:var(--crimson); background:rgba(139,26,26,0.06); }
.notice--crimson strong { color:var(--crimson); }

/* ── Warranty badge ── */
.warranty-badge { display:inline-flex; flex-direction:column; align-items:center; background:var(--crimson); color:var(--white); padding:1.25rem 1.75rem; border-bottom:4px solid var(--crimson-muted); }
.warranty-badge__num { font-family:'Barlow Condensed',sans-serif; font-size:3.5rem; font-weight:900; line-height:1; }
.warranty-badge__label { font-size:0.65rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.72); margin-top:0.35rem; text-align:center; }

/* ── Tag cloud ── */
.tag-set { display:flex; flex-wrap:wrap; gap:0.5rem; }
.tag { font-size:0.75rem; font-weight:600; padding:0.3rem 0.85rem; letter-spacing:0.04em; border-radius:var(--radius); }
.tag--dark { border:1px solid rgba(255,255,255,0.15); color:rgba(255,255,255,0.68); background:rgba(255,255,255,0.05); }

/* ── Footer ── */
.footer { background:var(--iron); color:rgba(255,255,255,0.58); border-top:4px solid var(--crimson); }
.footer__main { display:grid; grid-template-columns:2fr 1fr 1fr 1.3fr; gap:3rem; padding:4rem 0 3rem; border-bottom:1px solid rgba(255,255,255,0.07); }
.footer__logo-img { height:40px; width:auto; max-width:180px; display:block; filter:brightness(0) invert(1) opacity(0.85); margin-bottom:1rem; }
.footer__tagline { font-style:italic; font-size:0.88rem; color:rgba(255,255,255,0.38); margin-bottom:1.1rem; }
.footer__desc { font-size:0.85rem; line-height:1.65; color:rgba(255,255,255,0.52); }
.footer__col-heading { font-size:0.63rem; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:rgba(255,255,255,0.32); margin-bottom:1.1rem; padding-bottom:0.5rem; border-bottom:1px solid rgba(255,255,255,0.07); }
.footer__link { display:block; color:rgba(255,255,255,0.52); font-size:0.87rem; padding:0.28rem 0; transition:color var(--trans); }
.footer__link:hover { color:var(--crimson-bright); }
.footer__contact-row { display:flex; gap:0.65rem; margin-bottom:0.65rem; font-size:0.85rem; align-items:flex-start; line-height:1.4; color:rgba(255,255,255,0.52); }
.footer__contact-icon { color:var(--crimson-bright); flex-shrink:0; font-size:0.88rem; margin-top:0.1rem; }
.footer__contact-row a { color:rgba(255,255,255,0.52); }
.footer__contact-row a:hover { color:var(--crimson-bright); }
.footer__wa-btn { display:inline-flex; align-self:flex-start; align-items:center; gap:0.5rem; margin-top:1rem; padding:0.45rem 0.85rem; background:#25D366; color:#fff; font-family:'Barlow',sans-serif; font-size:0.72rem; font-weight:700; letter-spacing:0.07em; text-transform:uppercase; border-radius:2px; white-space:nowrap; transition:background var(--trans); }
.footer__wa-btn:hover { background:#1ebe5c; color:#fff; }
.footer__wa-btn svg { width:16px; height:16px; fill:#fff; flex-shrink:0; }
.footer__bottom { display:flex; justify-content:space-between; align-items:center; padding:1.25rem 0; font-size:0.76rem; flex-wrap:wrap; gap:0.75rem; color:rgba(255,255,255,0.32); }
.footer__bottom a { color:rgba(255,255,255,0.32); }
.footer__bottom a:hover { color:rgba(255,255,255,0.65); }
.footer__reg { color:rgba(255,255,255,0.22); font-size:0.7rem; }

/* ── Animations ── */
@media (prefers-reduced-motion: no-preference) {
  .fade-up { opacity:0; transform:translateY(20px); transition:opacity 0.5s ease,transform 0.5s ease; }
  .fade-up.visible { opacity:1; transform:translateY(0); }
}

/* ── Responsive ── */
@media (max-width: 960px) {
  .grid-2 { grid-template-columns:1fr; gap:2.5rem; }
  .feature-split { grid-template-columns:1fr; }
  .feature-split__panel { padding:3rem 2.5rem; }
  .contact-layout { grid-template-columns:1fr; }
  .footer__main { grid-template-columns:1fr 1fr; gap:2rem; }
  .stats-strip__inner { grid-template-columns:1fr 1fr; }
  .industry-grid { grid-template-columns:1fr 1fr; }
  .why-grid { grid-template-columns:1fr; }
  .why-item { border-right:none!important; padding-left:0!important; }
  .section-intro__header { gap:1.25rem; }
  .section-intro__num { font-size:4rem; }
}
@media (max-width: 640px) {
  /* Layout */
  .section { padding:3.5rem 0; }
  .container { padding:0 1.1rem; }
  .form-row-2 { grid-template-columns:1fr; }
  .industry-grid { grid-template-columns:1fr 1fr; }
  .footer__main { grid-template-columns:1fr 1fr; gap:1.5rem; }
  .case-grid { grid-template-columns:1fr; }

  /* Nav / hamburger */
  .nav__links { display:none; flex-direction:column; position:absolute; top:72px; left:0; right:0; background:var(--white); border-bottom:3px solid var(--navy); z-index:999; box-shadow:0 8px 24px rgba(0,0,0,0.1); }
  .nav__links.open { display:flex; }
  .nav__link { border-right:none; border-bottom:1px solid var(--warm-grey); padding:1rem 1.5rem; font-size:0.85rem; }
  .nav__link--cta { margin-left:0; border-radius:0; border-bottom:none; }
  .nav__toggle { display:flex; }
  .nav { position:sticky; }

  /* Hero */
  .hero { min-height:320px; }
  .hero__content { padding:3.5rem 0 3rem; }
  .hero__kicker { margin-bottom:1.25rem; }
  .hero__rule { margin-top:1rem; }
  .hero .lead { font-size:0.95rem; margin-top:1rem; }
  .hero__actions { flex-direction:column; gap:0.75rem; margin-top:2rem; }
  .hero__actions .btn { text-align:center; justify-content:center; }
  .hero__wm-text { font-size:clamp(4rem,28vw,18rem); }

  /* Stats */
  .stats-strip__inner { grid-template-columns:1fr 1fr; }
  .stat-cell { padding:1.5rem 1rem; }
  .stat-cell__num { font-size:2.25rem; }

  /* Sections */
  .section-intro { margin-bottom:2rem; }
  .section-intro__header { gap:0.75rem; flex-wrap:wrap; }
  .section-intro__num { font-size:3rem; }
  .feature-split__panel { padding:2.5rem 1.25rem; }
  .pull-quote { font-size:1.4rem; padding-left:1.1rem; }

  /* Services */
  .service-row { grid-template-columns:36px 1fr auto; gap:0.75rem; }
  .service-row__title { font-size:1.1rem; }

  /* CTA banner */
  .cta-banner__inner { flex-direction:column; gap:1.5rem; }
  .cta-banner__inner .btn { align-self:flex-start; }

  /* Contact */
  .contact-info-panel,.contact-form-panel { padding:2.5rem 1.25rem; }

  /* Footer */
  .footer__bottom { flex-direction:column; align-items:flex-start; gap:0.4rem; padding-top:1rem; }
}
@media (max-width: 480px) {
  .industry-grid { grid-template-columns:1fr; }
  .footer__main { grid-template-columns:1fr; gap:2rem; }
  .stats-strip__inner { grid-template-columns:1fr 1fr; }
  .stat-cell__num { font-size:2rem; }
  .why-grid { grid-template-columns:1fr; }
}

/* ── WhatsApp FAB ── */
.whatsapp-fab { position:fixed; bottom:1.75rem; right:1.75rem; z-index:800; width:58px; height:58px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 20px rgba(37,211,102,0.45),0 2px 8px rgba(0,0,0,0.22); transition:transform 0.2s ease,box-shadow 0.2s ease; text-decoration:none; }
.whatsapp-fab:hover { transform:scale(1.1); box-shadow:0 6px 28px rgba(37,211,102,0.6),0 4px 14px rgba(0,0,0,0.28); color:#fff; }
.whatsapp-fab svg { width:30px; height:30px; fill:#fff; display:block; }
.whatsapp-fab__tip { position:absolute; right:70px; top:50%; transform:translateY(-50%); background:rgba(26,28,38,0.92); color:#fff; font-family:'Barlow',sans-serif; font-size:0.72rem; font-weight:700; letter-spacing:0.07em; text-transform:uppercase; white-space:nowrap; padding:0.45rem 0.9rem; border-radius:2px; opacity:0; pointer-events:none; transition:opacity 0.2s; }
.whatsapp-fab:hover .whatsapp-fab__tip { opacity:1; }
@media (max-width:640px) { .whatsapp-fab { width:50px; height:50px; bottom:1.1rem; right:1.1rem; } .whatsapp-fab svg { width:26px; height:26px; } .whatsapp-fab__tip { display:none; } }

/* ── Client logo carousel ── */
.sector-pills { display:flex; flex-wrap:wrap; gap:0.5rem; margin-bottom:2.5rem; }
.sector-pill { font-size:0.62rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:rgba(255,255,255,0.55); border:1px solid rgba(255,255,255,0.18); padding:0.3rem 0.8rem; border-radius:2px; }
.logo-carousel { overflow:hidden; padding:0.75rem 0; mask-image:linear-gradient(to right,transparent 0,black 6%,black 94%,transparent 100%); -webkit-mask-image:linear-gradient(to right,transparent 0,black 6%,black 94%,transparent 100%); }
.logo-carousel:hover .logo-track { animation-play-state:paused; }
.logo-track { display:flex; gap:1.25rem; width:max-content; animation:logo-scroll-left 50s linear infinite; }
.logo-track--reverse { animation:logo-scroll-right 55s linear infinite; }
.logo-item { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0.5rem; background:rgba(255,255,255,0.96); border-radius:3px; padding:0.85rem 1.1rem; width:138px; flex-shrink:0; min-height:78px; }
.logo-item img { height:34px; width:auto; max-width:110px; object-fit:contain; }
.logo-item__name { font-family:'Barlow',sans-serif; font-size:0.6rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:rgba(0,0,0,0.45); text-align:center; line-height:1.3; }
@keyframes logo-scroll-left { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes logo-scroll-right { from{transform:translateX(-50%)} to{transform:translateX(0)} }
@media(prefers-reduced-motion:reduce){ .logo-track,.logo-track--reverse{animation:none;flex-wrap:wrap;width:auto;} }
