/* ===========================================
   COATING TECH - CONSOLIDATED STYLES
   =========================================== */

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:'DM Sans',sans-serif;color:#3a3a4a;background:#fff;line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased}

/* ===========================================
   NAV
   =========================================== */
.nv{position:fixed;top:0;left:0;right:0;z-index:1000;background:#fff;border-bottom:1px solid rgba(34,61,115,.08);transition:box-shadow .3s}
.nv.sc{box-shadow:0 2px 20px rgba(0,0,0,.06)}
.nv-i{max-width:1240px;margin:0 auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;height:80px}
.nv-logo{display:flex;align-items:center;text-decoration:none}
.nv-logo img{height:48px;width:auto}
.nv-links{display:flex;align-items:center;gap:36px}
.nv-link{font-size:14px;font-weight:500;color:#3a3a4a;text-decoration:none;letter-spacing:.3px;transition:color .2s;cursor:pointer;display:flex;align-items:center;gap:4px}
.nv-link:hover{color:#223D73}
.nv-link .chv{width:12px;height:12px}
.nv-ph{display:flex;align-items:center;gap:6px;padding:10px 16px;border:1.5px solid #223D73;border-radius:6px;color:#223D73;text-decoration:none;font-size:14px;font-weight:500;transition:all .2s}
.nv-ph:hover{background:#223D73;color:#fff}
.nv-ph svg{flex-shrink:0}
.nv-cta{background:#F2D22E;color:#1a2f5a;padding:10px 24px;border-radius:6px;font-size:14px;font-weight:600;text-decoration:none;letter-spacing:.3px;transition:all .2s}
.nv-cta:hover{background:#D9C45B;transform:translateY(-1px)}

/* Hamburger button (mobile only) */
.nv-hb{display:none;width:40px;height:40px;background:transparent;border:1.5px solid #223D73;border-radius:6px;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px;cursor:pointer;transition:background .15s}
.nv-hb:hover{background:rgba(34,61,115,.06)}
.nv-hb span{display:block;width:16px;height:1.5px;background:#223D73;transition:transform .25s,opacity .15s}
.nv-hb[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.nv-hb[aria-expanded="true"] span:nth-child(2){opacity:0}
.nv-hb[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}

/* Slide-in drawer */
.nv-dr{position:fixed;inset:0;z-index:1100;visibility:hidden;pointer-events:none}
.nv-dr.open{visibility:visible;pointer-events:auto}
.nv-dr-bg{position:absolute;inset:0;background:rgba(26,47,90,0);transition:background .3s ease}
.nv-dr.open .nv-dr-bg{background:rgba(26,47,90,.5)}
.nv-dr-panel{position:absolute;top:0;right:0;bottom:0;width:min(360px,88vw);background:#fff;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);overflow-y:auto;-webkit-overflow-scrolling:touch}
.nv-dr.open .nv-dr-panel{transform:translateX(0)}
.nv-dr-top{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid rgba(34,61,115,.08);position:sticky;top:0;background:#fff;z-index:1}
.nv-dr-close{background:transparent;border:none;color:#223D73;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .15s}
.nv-dr-close:hover{background:rgba(34,61,115,.08)}
.nv-dr-nav{display:flex;flex-direction:column;padding:8px 20px;flex:1}
.nv-dr-nav > a{display:block;padding:14px 0;font-size:16px;color:#1a1a2e;text-decoration:none;border-bottom:1px solid rgba(34,61,115,.06);font-weight:500;transition:color .15s}
.nv-dr-nav > a:hover{color:#223D73}
.nv-dr-sec{padding:6px 0;border-bottom:1px solid rgba(34,61,115,.06)}
.nv-dr-sec h4{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:#6a6a7a;padding:14px 0 6px;margin:0}
.nv-dr-sec a{display:block;padding:9px 0 9px 14px;font-size:15px;color:#3a3a4a;text-decoration:none;transition:color .15s}
.nv-dr-sec a:hover{color:#223D73}
.nv-dr-foot{padding:20px;border-top:1px solid rgba(34,61,115,.08);background:#f8f8fb}
.nv-dr-cta{display:block;text-align:center;background:#F2D22E;color:#1a2f5a;padding:14px 24px;border-radius:6px;font-size:14px;font-weight:600;text-decoration:none;letter-spacing:.3px;margin-bottom:14px;transition:background .2s}
.nv-dr-cta:hover{background:#D9C45B}
.nv-dr-meta{display:flex;flex-direction:column;gap:8px}
.nv-dr-meta a{font-size:13px;color:#6a6a7a;text-decoration:none;transition:color .15s}
.nv-dr-meta a:hover{color:#223D73}

body.nv-locked{overflow:hidden}

/* ===========================================
   MEGA MENU
   =========================================== */
.mm-t{position:relative}
.mm-t::after{content:'';position:absolute;top:100%;left:-20px;right:-20px;height:30px}
.mm{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(8px);background:#fff;border:1px solid rgba(34,61,115,.08);border-radius:12px;padding:32px 40px;min-width:520px;box-shadow:0 12px 40px rgba(0,0,0,.08);opacity:0;pointer-events:none;transition:all .25s ease}
.mm-t:hover .mm,.mm-t:focus-within .mm{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.mm-cols{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.mm-col h4{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:#6a6a7a;margin-bottom:16px}
.mm-col a{display:block;font-size:14px;color:#3a3a4a;text-decoration:none;padding:6px 0;transition:color .15s}
.mm-col a:hover{color:#223D73}

/* ===========================================
   HOMEPAGE HERO
   =========================================== */
.hero{margin-top:80px;position:relative;min-height:85vh;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:url('/images/hero-bg.png') center/cover no-repeat;z-index:0}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,47,90,.88) 0%,rgba(34,61,115,.65) 50%,rgba(34,61,115,.35) 100%)}
.hero-in{position:relative;z-index:1;max-width:1240px;margin:0 auto;padding:80px 40px;width:100%}
.hero-lab{font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:2.5px;color:#F2D22E;margin-bottom:24px}
.hero-h1{font-size:58px;line-height:1.08;color:#fff;margin-bottom:24px;font-weight:700;max-width:620px;letter-spacing:-.5px}
.hero-p{font-size:17px;color:rgba(255,255,255,.8);line-height:1.75;max-width:480px;margin-bottom:40px}
.hero-btn{display:inline-flex;align-items:center;gap:8px;padding:16px 32px;background:#F2D22E;color:#1a2f5a;font-size:15px;font-weight:600;text-decoration:none;border-radius:6px;transition:all .2s}
.hero-btn:hover{background:#D9C45B;transform:translateY(-1px)}
.hero-btn svg{width:14px;height:14px}

/* ===========================================
   TRUST BAR (Carousel)
   =========================================== */
.tbar{background:#fff;padding:20px 0;border-bottom:1px solid rgba(34,61,115,.08);overflow:hidden;position:relative}
.tbar::before,.tbar::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}
.tbar::before{left:0;background:linear-gradient(90deg,#fff 0%,transparent 100%)}
.tbar::after{right:0;background:linear-gradient(270deg,#fff 0%,transparent 100%)}
.tbar-in{display:flex;align-items:center;gap:0;animation:tscroll 30s linear infinite;width:max-content}
.tbar-set{display:flex;align-items:center;gap:64px;padding-right:64px}
.tb{height:90px;opacity:.6;flex-shrink:0;transition:opacity .2s}
.tb:hover{opacity:.8}
.tb img{height:90px;width:auto}
@keyframes tscroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ===========================================
   ROUTING CARDS
   =========================================== */
.rout{padding:100px 40px;background:#F2F2F2}
.rout-in{max-width:1240px;margin:0 auto}
.rout-hd{text-align:center;margin-bottom:56px}
.rout-h2{font-size:38px;color:#223D73;font-weight:700;line-height:1.15;margin-bottom:16px;letter-spacing:-.3px}
.rout-sub{font-size:16px;color:#3a3a4a;line-height:1.7;max-width:520px;margin:0 auto}
.rout-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rc{background:#fff;border-radius:12px;overflow:hidden;text-decoration:none;transition:all .3s ease;box-shadow:0 1px 3px rgba(0,0,0,.04);border:1px solid rgba(34,61,115,.06)}
.rc:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(34,61,115,.1);border-color:#F2D22E}
.rc-img{aspect-ratio:16/10;overflow:hidden}
.rc-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.rc:hover .rc-img img{transform:scale(1.05)}
.rc-body{padding:28px 28px 32px}
.rc-num{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:#D9C45B;margin-bottom:8px}
.rc-h3{font-size:22px;color:#223D73;margin-bottom:10px;font-weight:700;letter-spacing:-.2px}
.rc-p{font-size:14px;color:#3a3a4a;line-height:1.7}
.rc-lnk{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#223D73;margin-top:16px}
.rc-lnk svg{width:14px;height:14px;transition:transform .2s}
.rc:hover .rc-lnk svg{transform:translateX(3px)}

/* ===========================================
   WHY COATING TECH
   =========================================== */
.why{padding:120px 40px;background:#223D73;color:#fff}
.why-in{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.why-lab{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:#F2D22E;margin-bottom:16px}
.why-h2{font-size:38px;font-weight:700;line-height:1.15;margin-bottom:12px;letter-spacing:-.3px;color:#fff}
.why-hl{font-size:17px;font-weight:600;color:#F2D22E;margin-bottom:24px;line-height:1.5}
.why-p{font-size:15px;color:rgba(255,255,255,.75);line-height:1.8;margin-bottom:16px}
.why-img{border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:#3C4E73;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.2);font-size:14px;letter-spacing:1px}

/* ===========================================
   PROCESS
   =========================================== */
.proc{padding:100px 40px;background:#fff}
.proc-in{max-width:1080px;margin:0 auto}
.proc-hd{text-align:center;margin-bottom:64px}
.proc-h2{font-size:38px;color:#223D73;font-weight:700;line-height:1.15;letter-spacing:-.3px}
.proc-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative}
.proc-steps::before{content:'';position:absolute;top:52px;left:16.66%;right:16.66%;height:2px;background:rgba(34,61,115,.08)}
.ps{text-align:center;padding:0 28px;position:relative}
.ps-num{font-size:12px;font-weight:600;color:#D9C45B;letter-spacing:1.5px;margin-bottom:16px;text-transform:uppercase}
.ps-icon{width:64px;height:64px;border-radius:50%;background:#F2D22E;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;position:relative;z-index:1;box-shadow:0 0 0 6px #fff}
.ps-icon svg{width:28px;height:28px;color:#1a2f5a}
.ps-h3{font-size:18px;color:#223D73;margin-bottom:12px;font-weight:700;letter-spacing:-.2px}
.ps-p{font-size:14px;color:#3a3a4a;line-height:1.75}
.proc-cta{text-align:center;margin-top:56px}

/* ===========================================
   CONTACT SECTION (Homepage)
   =========================================== */
.ctc{padding:100px 40px;background:#F2F2F2;position:relative;overflow:hidden}
.ctc::before{content:'';position:absolute;left:0;top:0;bottom:0;width:42%;background:#223D73;clip-path:polygon(0 0,100% 0,82% 100%,0 100%);z-index:0}
.ctc-in{max-width:1240px;margin:0 auto;position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:start}
.ctc-lab{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:#F2D22E;margin-bottom:16px}
.ctc-h2{font-size:38px;color:#fff;font-weight:700;line-height:1.15;margin-bottom:32px;letter-spacing:-.3px}
.ctc-det{font-size:15px;color:rgba(255,255,255,.75);line-height:1.8}
.ctc-det a{color:rgba(255,255,255,.9);text-decoration:none}
.ctc-det a:hover{color:#F2D22E}
.ctc-di{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}
.ctc-di svg{width:20px;height:20px;color:#F2D22E;flex-shrink:0;margin-top:2px}
.ctc-form{background:#fff;border-radius:12px;padding:40px;box-shadow:0 4px 24px rgba(0,0,0,.06)}
.ctc-form h3{font-size:24px;color:#223D73;margin-bottom:8px;font-weight:700}
.ctc-form .sub{font-size:14px;color:#6a6a7a;margin-bottom:28px;line-height:1.6}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.fg{display:flex;flex-direction:column}
.fg.fw{grid-column:1/-1}
.fg label{font-size:13px;font-weight:500;color:#1a1a2e;margin-bottom:6px}
.fg input,.fg select,.fg textarea{padding:10px 14px;border:1px solid rgba(34,61,115,.08);border-radius:6px;font-size:14px;font-family:'DM Sans',sans-serif;color:#3a3a4a;background:#fff;outline:none;transition:border-color .2s}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:#223D73}
.fg input::placeholder,.fg textarea::placeholder{color:#6a6a7a}
.fg textarea{resize:vertical;min-height:100px}
.fg select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%236a6a7a' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}

/* ===========================================
   INDUSTRY PAGE HERO
   =========================================== */
.ind-hero{margin-top:80px;padding:80px 40px 100px;background:#F2F2F2}
.ind-hero-in{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.ind-hero-img{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:#3C4E73}
.ind-hero-img img{width:100%;height:100%;object-fit:cover}
.ind-hero-img-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.3);font-size:14px;letter-spacing:1px}
.ind-hero-accent{position:absolute;bottom:-2px;left:0;right:0;height:4px;background:#F2D22E}
.ind-hero-content{padding:20px 0}
.ind-hero-lab{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:#3C4E73;margin-bottom:16px}
.ind-hero-h1{font-size:48px;line-height:1.15;color:#223D73;margin-bottom:16px;font-weight:700;letter-spacing:-.3px}
.ind-hero-intro{font-size:17px;color:#3a3a4a;line-height:1.7;margin-bottom:36px;max-width:440px}
.ind-hero-para{font-size:15px;color:#3a3a4a;line-height:1.75;max-width:440px}

/* Jump Links */
.jl{list-style:none;margin-bottom:36px}
.jl-item{border-top:1px solid rgba(34,61,115,.08)}
.jl-item:last-child{border-bottom:1px solid rgba(34,61,115,.08)}
.jl-link{display:flex;align-items:center;justify-content:space-between;padding:14px 4px;text-decoration:none;color:#1a1a2e;font-size:15px;font-weight:500;transition:all .2s}
.jl-link:hover{color:#223D73;padding-left:8px}
.jl-arrow{width:16px;height:16px;opacity:0;transform:translateX(-4px);transition:all .2s;color:#223D73}
.jl-link:hover .jl-arrow{opacity:1;transform:translateX(0)}

/* ===========================================
   APPLICATION SECTIONS (Industry Pages)
   =========================================== */
.app-sec{padding:120px 40px;border-bottom:1px solid rgba(34,61,115,.08)}
.app-sec:last-of-type{border-bottom:none}
.app-in{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.app-sec:nth-child(odd) .app-in{direction:ltr}
.app-sec:nth-child(even) .app-in{direction:rtl}
.app-sec:nth-child(even) .app-content{direction:ltr}
.app-sec:nth-child(even) .app-img-wrap{direction:ltr}
.app-img-wrap{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:#F2F2F2}
.app-img-wrap img{width:100%;height:100%;object-fit:cover}
.app-img-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#6a6a7a;font-size:13px;letter-spacing:.5px}
.app-content{padding:20px 0}
.app-num{font-size:12px;font-weight:600;color:#D9C45B;letter-spacing:2px;margin-bottom:12px}
.app-h2{font-size:36px;color:#223D73;margin-bottom:28px;font-weight:700;line-height:1.2;letter-spacing:-.2px}
.app-block{margin-bottom:24px}
.app-block p{font-size:15px;line-height:1.75;color:#3a3a4a}
.app-div{width:40px;height:1px;background:rgba(34,61,115,.08);margin:24px 0}
.app-cta{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:12px 28px;background:#F2D22E;color:#1a2f5a;font-size:14px;font-weight:600;text-decoration:none;border-radius:6px;letter-spacing:.3px;transition:all .2s}
.app-cta:hover{background:#D9C45B;transform:translateY(-1px)}
.app-cta svg{width:14px;height:14px}

/* ===========================================
   BOTTOM CTA (Industry Pages)
   =========================================== */
.bot-cta{background:#223D73;padding:100px 40px;text-align:center}
.bot-cta-in{max-width:600px;margin:0 auto}
.bot-cta h2{font-size:36px;color:#fff;margin-bottom:16px;font-weight:700;line-height:1.25;letter-spacing:-.3px}
.bot-cta p{font-size:16px;color:rgba(255,255,255,.7);line-height:1.7;margin-bottom:36px}

/* ===========================================
   SHARED BUTTON
   =========================================== */
.btn-g{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;background:#F2D22E;color:#1a2f5a;font-size:15px;font-weight:600;text-decoration:none;border-radius:6px;transition:all .2s;border:none;font-family:'DM Sans',sans-serif;cursor:pointer}
.btn-g:hover{background:#D9C45B;transform:translateY(-1px)}

/* ===========================================
   FOOTER
   =========================================== */
.ft{background:#1a2f5a;padding:60px 40px 40px;color:rgba(255,255,255,.5)}
.ft-in{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.4fr .8fr 1fr 1.2fr;gap:40px}
.ft-brand{font-size:14px;line-height:1.7;margin-top:16px;max-width:280px}
.ft-contact{margin-top:24px;font-size:14px;line-height:1.8}
.ft-contact a{color:inherit;text-decoration:none;transition:color .15s}
.ft-contact a:hover{color:#F2D22E}
.ft h4{font-size:14px;font-weight:600;color:#fff;margin-bottom:20px}
.ft-links{list-style:none}
.ft-links li{margin-bottom:10px}
.ft-links a{font-size:14px;color:rgba(255,255,255,.5);text-decoration:none;transition:color .15s}
.ft-links a:hover{color:#F2D22E}
.ft-form{font-size:14px;line-height:1.7;margin-bottom:16px}
.ft-email{display:flex}
.ft-email input{flex:1;padding:10px 14px;border:1px solid rgba(255,255,255,.15);border-right:none;border-radius:6px 0 0 6px;background:rgba(255,255,255,.05);color:#fff;font-size:14px;font-family:'DM Sans',sans-serif;outline:none}
.ft-email input::placeholder{color:rgba(255,255,255,.3)}
.ft-email button{padding:10px 20px;background:#F2D22E;color:#1a2f5a;border:none;border-radius:0 6px 6px 0;font-size:13px;font-weight:600;font-family:'DM Sans',sans-serif;cursor:pointer;transition:background .2s;white-space:nowrap}
.ft-email button:hover{background:#D9C45B}
.ft-bot{max-width:1240px;margin:40px auto 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center;font-size:13px}
.ft-soc{display:flex;gap:16px}
.ft-soc a{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);text-decoration:none;font-size:12px;transition:all .2s}
.ft-soc a:hover{border-color:#F2D22E;color:#F2D22E}

/* ===========================================
   ANIMATIONS
   =========================================== */
.fi{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.fi.vis{opacity:1;transform:translateY(0)}
.fi-1{transition-delay:.1s}
.fi-2{transition-delay:.2s}
.fi-3{transition-delay:.3s}

/* ===========================================
   RESPONSIVE
   =========================================== */
@media(max-width:900px){
  .hero-h1{font-size:36px}
  .hero-in{padding:60px 24px}
  .rout-cards{grid-template-columns:1fr}
  .rout{padding:80px 24px}
  .why-in{grid-template-columns:1fr;gap:40px}
  .why{padding:80px 24px}
  .proc-steps{grid-template-columns:1fr;gap:40px}
  .proc{padding:80px 24px}
  .proc-steps::before{display:none}
  .ctc-in{grid-template-columns:1fr;gap:40px}
  .ctc{padding:80px 24px;background:#223D73}
  .ctc::before{display:none}
  .ctc-h2{font-size:30px}
  .fr{grid-template-columns:1fr}
  .tbar-in{gap:24px}
  .nv-links{display:flex;gap:8px;align-items:center}
  .nv-links > .nv-link,
  .nv-links > .mm-t,
  .nv-links > .nv-cta{display:none}
  .nv-ph{padding:9px 14px;font-size:13px;gap:6px;background:#223D73;color:#fff;border-color:#223D73;font-weight:600}
  .nv-ph:hover{background:#1a2f5a;border-color:#1a2f5a;color:#fff}
  .nv-ph span{display:none}
  .nv-ph::after{content:"Call Now"}
  .nv-hb{display:flex}
  .nv-i{padding:0 16px}
  .ft-in{grid-template-columns:1fr 1fr;gap:40px}
  .ind-hero-in{grid-template-columns:1fr;gap:40px}
  .ind-hero-h1{font-size:36px}
  .ind-hero{padding:60px 24px 80px}
  .app-in{grid-template-columns:1fr;gap:40px}
  .app-sec:nth-child(even) .app-in{direction:ltr}
  .app-sec{padding:80px 24px}
  .app-h2{font-size:28px}
  .bot-cta{padding:80px 24px}
  .ind-hero-img{order:-1}
  .ind-hero-intro,.ind-hero-para{max-width:100%}
}

/* ===========================================
   TECHNICAL RESOURCES — ACCORDION
   =========================================== */
.acc-sec{padding:100px 40px;background:#fff}
.acc-in{max-width:1240px;margin:0 auto}
.acc-item{border-top:1px solid rgba(34,61,115,.1);overflow:hidden}
.acc-item:last-child{border-bottom:1px solid rgba(34,61,115,.1)}
.acc-trigger{width:100%;display:flex;align-items:center;gap:20px;padding:36px 0;background:none;border:none;cursor:pointer;text-align:left;font-family:'DM Sans',sans-serif;transition:color .2s}
.acc-trigger:hover .acc-tit{color:#223D73}
.acc-num{font-size:12px;font-weight:600;color:#D9C45B;letter-spacing:2px;min-width:28px;flex-shrink:0}
.acc-tit{font-size:28px;color:#1a1a2e;font-weight:700;letter-spacing:-.2px;flex:1;line-height:1.2;transition:color .2s}
.acc-item.open .acc-tit{color:#223D73}
.acc-icon{width:24px;height:24px;flex-shrink:0;color:#223D73;transition:transform .35s ease}
.acc-item.open .acc-icon{transform:rotate(45deg)}
.acc-body{max-height:0;overflow:hidden;visibility:hidden;transition:max-height .55s cubic-bezier(0.4,0,0.2,1),visibility 0s .55s}
.acc-item.open .acc-body{max-height:2400px;visibility:visible;transition:max-height .55s cubic-bezier(0.4,0,0.2,1),visibility 0s 0s}
.acc-body-in{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;padding:0 0 64px}
.acc-body-content p{font-size:15px;line-height:1.8;color:#3a3a4a;margin-bottom:20px}
.acc-body-content p:last-child{margin-bottom:0}
.acc-body-content h4{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:#223D73;margin:28px 0 10px}
.acc-body-content ul{list-style:none;margin-bottom:20px}
.acc-body-content ul li{font-size:15px;line-height:1.75;color:#3a3a4a;padding:6px 0 6px 20px;border-bottom:1px solid rgba(34,61,115,.06);position:relative}
.acc-body-content ul li::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:#F2D22E}
.acc-body-content ul li:last-child{border-bottom:none}
.acc-body-img{border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:#F2F2F2;position:sticky;top:100px}
.acc-body-img img{width:100%;height:100%;object-fit:cover}

/* Comparison Table */
.acc-table{width:100%;border-collapse:collapse;margin:20px 0 20px}
.acc-table th{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:#6a6a7a;padding:10px 14px;text-align:left;border-bottom:2px solid rgba(34,61,115,.12);background:#f8f8fb}
.acc-table th:first-child{border-radius:8px 0 0 0}
.acc-table th:last-child{border-radius:0 8px 0 0}
.acc-table td{font-size:14px;color:#3a3a4a;padding:12px 14px;border-bottom:1px solid rgba(34,61,115,.07);line-height:1.5;vertical-align:top}
.acc-table tr:last-child td{border-bottom:none}
.acc-table .col-label{font-weight:500;color:#1a1a2e}
.acc-table .col-good{color:#1a6b3a;font-weight:600}
.acc-table .col-less{color:#6a6a7a}
.acc-table-wrap{border:1px solid rgba(34,61,115,.1);border-radius:8px;overflow:hidden;margin:24px 0}

/* Document Library */
.doc-lib{padding:100px 40px;background:#F2F2F2}
.doc-lib-in{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.doc-lib-lab{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:#3C4E73;margin-bottom:16px}
.doc-lib-h2{font-size:36px;color:#223D73;font-weight:700;line-height:1.2;margin-bottom:20px;letter-spacing:-.3px}
.doc-lib-p{font-size:15px;color:#3a3a4a;line-height:1.8;margin-bottom:32px}
.doc-items{display:flex;flex-direction:column;gap:12px}
.doc-item{display:flex;align-items:center;gap:16px;padding:18px 20px;background:#fff;border-radius:8px;border:1px solid rgba(34,61,115,.08)}
.doc-item-icon{width:40px;height:40px;background:#223D73;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.doc-item-icon svg{width:20px;height:20px;color:#fff}
.doc-item-name{font-size:14px;font-weight:600;color:#1a1a2e;margin-bottom:2px}
.doc-item-sub{font-size:13px;color:#6a6a7a}
.doc-note{background:#fff;border-radius:10px;padding:28px 32px;border:1px solid rgba(34,61,115,.08)}
.doc-note-h3{font-size:18px;color:#223D73;font-weight:700;margin-bottom:12px}
.doc-note-p{font-size:14px;color:#3a3a4a;line-height:1.75;margin-bottom:20px}

/* Accordion responsive */
@media(max-width:900px){
  .acc-sec{padding:60px 24px}
  .acc-tit{font-size:20px}
  .acc-trigger{padding:24px 0;gap:14px}
  .acc-body-in{grid-template-columns:1fr;gap:36px}
  .acc-body-img{position:static;aspect-ratio:16/9}
  .acc-body-in{padding:0 0 48px}
  .doc-lib{padding:60px 24px}
  .doc-lib-in{grid-template-columns:1fr;gap:40px}
}

/* ===========================================
   FOOTER FORM — MOBILE FIX
   Replace nothing; add these rules at the END of /css/style.css
   =========================================== */
 
/* Allow the email input to shrink inside its flex parent.
   Without min-width:0, flex:1 won't shrink the input below its intrinsic
   placeholder width, which is what causes the overflow you saw. */
.ft-email{min-width:0}
.ft-email input{min-width:0;width:100%}
 
/* At narrow viewports, stack the footer to a single column and reduce
   horizontal padding to match the rest of the mobile site (24px).
   The 1fr 1fr grid set at <900px gives each column too little room on
   a phone, which is what pushes the form off-screen. */
@media(max-width:700px){
  .ft{padding:48px 24px 32px}
  .ft-in{grid-template-columns:1fr;gap:32px}
  .ft-bot{margin-top:32px;flex-direction:column;gap:16px;text-align:center}
}
