/* ===== IPSONS Lovable clone – shared styles ===== */
:root{
  --background:0 0% 100%;
  --foreground:218 45% 12%;
  --primary:342 82% 44%;
  --primary-foreground:0 0% 100%;
  --muted-foreground:217 14% 40%;
  --card:0 0% 100%;
  --border:214 22% 88%;
  --section-alt:210 33% 97%;
  --dark-section:218 55% 9%;
  --dark-section-foreground:210 30% 94%;
  --radius:.75rem;
  --navy:#0A1B33;
  --navy-2:#12294A;
  --nav-text:#0A1B33;
  --nav-muted:#4A586B;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Inter',system-ui,sans-serif;
  color:hsl(var(--foreground));
  background:hsl(var(--background));
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,h5,h6,.font-heading{font-family:'Sora','Inter',sans-serif;letter-spacing:-.015em;}

/* ---- helpers ---- */
.container-max{max-width:1320px;margin-inline:auto;padding-inline:1rem;}
@media (min-width:640px){.container-max{padding-inline:1.5rem;}}
@media (min-width:1024px){.container-max{padding-inline:2rem;}}
.section-padding{padding-block:5rem;}
.section-alt{background:hsl(var(--section-alt));}
.section-dark{background:hsl(var(--dark-section));color:hsl(var(--dark-section-foreground));}
.bg-background{background:hsl(var(--background));}
.text-primary{color:hsl(var(--primary));}
.text-foreground{color:hsl(var(--foreground));}
.text-muted-foreground{color:hsl(var(--muted-foreground));}
.bg-primary{background:hsl(var(--primary));}
.bg-card{background:hsl(var(--card));}
.border-border{border-color:hsl(var(--border));}

.text-gradient{
  background:linear-gradient(90deg,hsl(var(--primary)),#ff5c8a);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}

/* ---- navbar ---- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(255,255,255,.98);backdrop-filter:blur(10px);box-shadow:0 8px 24px rgba(17,24,39,.06);border-bottom:1px solid rgba(17,24,39,.05);} 
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:80px;gap:.75rem;}
.nav-logo{display:flex;align-items:center;gap:.5rem;font-family:'Sora','Inter',system-ui,sans-serif;font-weight:800;font-size:1rem;line-height:1;color:var(--nav-text);text-decoration:none;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;}
.nav-logo-img{height:42px;width:auto;object-fit:contain;}
.nav-links{display:none;align-items:center;justify-content:flex-end;gap:2rem;margin-left:auto;}
@media (min-width:768px){.nav-links{display:flex;}}
.nav-links a{color:#262626;text-decoration:none;font-size:.875rem;font-weight:600;letter-spacing:.02em;transition:color .3s;position:relative;padding:.15rem 0;font-family:'Sora','Inter',system-ui,sans-serif;white-space:nowrap;}
.nav-links a:hover,.nav-links a.active{color:hsl(var(--primary));}
.nav-links a.active::after{display:none;}
.btn-catalogue{display:inline-flex;align-items:center;gap:.5rem;background:hsl(var(--primary));color:#fff;padding:.6rem 1.25rem;border-radius:.55rem;font-family:'Sora','Inter',system-ui,sans-serif;font-weight:600;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:transform .2s,opacity .2s;box-shadow:0 12px 24px -14px rgba(232,17,68,.5);margin-left:2rem;flex-shrink:0;}
.btn-catalogue::before{content:"";width:12px;height:12px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3Cpath d='M12 15V3'/%3E%3C/svg%3E") center/contain no-repeat;}
.btn-catalogue:hover{opacity:.95;transform:translateY(-1px);} 
.nav-toggle{display:inline-flex;background:none;border:none;cursor:pointer;color:var(--nav-text);padding:.25rem;}
@media (min-width:768px){.nav-toggle{display:none;}}
.nav-mobile{display:none;flex-direction:column;gap:.25rem;padding:1rem;border-top:1px solid hsl(var(--border));background:#fff;}
.nav-mobile.open{display:flex;}
.nav-mobile a{padding:.7rem .25rem;color:#262626;text-decoration:none;font-weight:600;font-family:'Sora','Inter',system-ui,sans-serif;font-size:.9rem;letter-spacing:.02em;}
.nav-mobile a:hover{color:hsl(var(--primary));}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-family:'Sora','Inter',system-ui,sans-serif;font-weight:800;letter-spacing:0;text-transform:none;font-size:1rem;padding:1rem 1.8rem;border-radius:999px;text-decoration:none;cursor:pointer;transition:all .3s;border:1px solid transparent;}
.btn-primary{background:hsl(var(--primary));color:#fff;box-shadow:0 16px 30px -12px hsla(var(--primary)/.6);}
.btn-primary:hover{opacity:.95;transform:translateY(-1px);}
.btn-outline{border-color:hsl(var(--border));background:#fff;color:inherit;}
.btn-outline:hover{background:hsl(var(--primary));border-color:hsl(var(--primary));color:#fff;}

/* Large full-width submit bar used on contact page */
.btn-submit{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.95rem 1rem;border-radius:1rem;background:linear-gradient(90deg,hsl(var(--primary)),#b80f3d);color:#fff;font-weight:800;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 14px 28px -12px hsla(var(--primary)/.6);border:2px solid transparent}
.btn-submit svg{opacity:.95}

/* Right column small action widgets */
.side-widget{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:1rem;background:#fff;border:1px solid hsl(var(--border));box-shadow:0 6px 18px rgba(0,0,0,.04)}
.side-widget .icon{width:3rem;height:3rem;border-radius:.8rem;display:flex;align-items:center;justify-content:center;background:hsla(var(--primary)/.08);color:hsl(var(--primary));flex-shrink:0}
.side-widget .label{font-weight:700;color:hsl(var(--foreground));}
.side-widget .sub{color:hsl(var(--muted-foreground));font-size:.92rem}

/* floating actions (WhatsApp / LinkedIn) */
.floating-actions{position:fixed;right:1rem;bottom:1rem;display:flex;flex-direction:column;gap:.6rem;z-index:60}
.floating-btn{display:flex;align-items:center;gap:.65rem;padding:.7rem 1rem;border-radius:1rem;background:#fff;border:1px solid hsl(var(--border));box-shadow:0 10px 20px rgba(0,0,0,.08);text-decoration:none;color:hsl(var(--foreground));font-weight:700;font-size:.95rem}
.floating-btn svg{width:20px;height:20px;flex-shrink:0}
.floating-btn.whatsapp{border-left:4px solid #25D366}
.floating-btn.linkedin{border-left:4px solid #0A66C2}

/* ---- kicker ---- */
.kicker{font-family:'Sora','Inter',system-ui,sans-serif;font-weight:700;font-size:.86rem;letter-spacing:.24em;text-transform:uppercase;color:hsl(var(--primary));}
.kicker-wide{letter-spacing:.3em;}
.hero-kicker{font-size:.82rem;letter-spacing:.28em;color:#c85a7e;margin-bottom:1rem;}
.section-heading{font-size:clamp(2rem,3.2vw,3rem);line-height:1.06;letter-spacing:-.025em;font-weight:800;margin-bottom:1rem;}
.section-lead{font-size:1.04rem;line-height:1.78;color:#626a78;max-width:760px;margin-inline:auto;}

/* ---- cards ---- */
.card-hover{transition:box-shadow .3s,transform .3s,border-color .3s;}
.card-hover:hover{box-shadow:0 24px 48px -16px rgba(0,0,0,.18);transform:translateY(-4px);}
.bg-card{border-radius:1.2rem;box-shadow:0 12px 28px -18px rgba(17,19,24,.16);}
.feature-icon{width:3.7rem;height:3.7rem;border-radius:1rem;display:flex;align-items:center;justify-content:center;background:hsla(var(--primary)/.12);color:hsl(var(--primary));transition:all .5s;}
.group:hover .feature-icon{background:hsl(var(--primary));color:#fff;}
.image-zoom{transition:transform .6s;}
.group:hover .image-zoom{transform:scale(1.06);}

/* badge */
.badge{position:absolute;top:.8rem;left:.8rem;background:hsl(var(--primary));color:#fff;font-family:'Sora','Inter',system-ui,sans-serif;font-weight:700;font-size:.78rem;padding:.18rem .58rem;border-radius:999px;z-index:2;}

/* filter chips */
.chip{font-family:'Sora','Inter',system-ui,sans-serif;font-weight:700;font-size:.88rem;padding:.72rem 1.55rem;border-radius:999px;border:1px solid transparent;background:#f8f8f8;color:hsl(var(--foreground));cursor:pointer;transition:all .25s;}
.chip:hover{border-color:hsl(var(--primary));color:hsl(var(--primary));}
.chip.active{background:hsl(var(--primary));border-color:hsl(var(--primary));color:#fff;}

/* line clamp */
.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* reveal animation */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:none;}

/* logo marquee */
.marquee{overflow:hidden;position:relative;}
.marquee-track{display:flex;gap:2rem;width:max-content;animation:marquee 28s linear infinite;}
.marquee:hover .marquee-track{animation-play-state:paused;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.logo-card{flex:0 0 auto;width:11rem;height:7rem;background:#fff;border:1px solid hsl(var(--border));border-radius:.9rem;display:flex;align-items:center;justify-content:center;padding:1rem;box-shadow:0 2px 8px rgba(0,0,0,.04);}
.logo-card img{max-width:100%;max-height:100%;object-fit:contain;}

/* hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;padding-top:105px;background:
  radial-gradient(circle at 66% 45%,rgba(234,20,76,.14) 0 2px,transparent 3px),
  linear-gradient(90deg,#fff 0%,#fff 44%,#fff4f6 100%);}
.hero-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(230,17,68,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(230,17,68,.035) 1px,transparent 1px);background-size:54px 54px;}
.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 73% 50%,rgba(236,18,78,.12),transparent 28%),linear-gradient(180deg,rgba(255,255,255,.25),rgba(255,255,255,.55));}
.hero .hero-shell{padding-block:2.4rem 1.1rem;}
.hero-home-layout{display:block;}
.hero-title{max-width:760px;color:#1f2024;line-height:.95;letter-spacing:-.03em;font-size:clamp(3rem,5.55vw,5.45rem);font-weight:800;margin:0 0 1.15rem;}
.hero-title span{color:hsl(var(--primary));}
.hero-copy{max-width:680px;color:#61656f;font-size:1.04rem;line-height:1.75;margin:0 0 1.9rem;}
.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:1.8rem;}
.hero-actions .btn{padding:.9rem 1.25rem;font-size:.95rem;border-radius:999px;}
.hero-actions .btn-outline{background:#fff;border-color:rgba(17,19,24,.16);color:#111;box-shadow:none;}
.hero-actions .btn-outline:hover{background:hsl(var(--primary));color:#fff;border-color:hsl(var(--primary));}
.hero-bottom-row{display:flex;flex-wrap:wrap;gap:.7rem .85rem;margin-top:.6rem;}
.hero-bottom-pill{display:inline-flex;align-items:center;gap:.58rem;min-width:0;padding:.62rem .82rem;border:1px solid hsl(var(--border));border-radius:999px;background:rgba(255,255,255,.78);color:#3f3f46;font-family:'Sora','Inter',system-ui,sans-serif;font-size:.82rem;font-weight:600;box-shadow:0 8px 20px rgba(0,0,0,.03);} 
.hero-bottom-pill svg{width:17px;height:17px;color:hsl(var(--primary));}
.hero-fact svg{width:17px;height:17px;color:hsl(var(--primary));}
.hero-down{position:absolute;left:50%;bottom:1.15rem;transform:translateX(-50%);color:#b3b3b3;}
.page-hero{background:linear-gradient(90deg,#111 0%,#151515 72%,#dfe3e8 72%,#e9edf2 100%);color:#fff;overflow:hidden;}
.page-hero .page-machine{max-height:300px;object-fit:contain;filter:brightness(.72) grayscale(.12);}
.page-intro-light{background:#fff;color:hsl(var(--foreground));}
.page-intro-light h1{color:hsl(var(--foreground)) !important;}
.page-intro-light p{color:hsl(var(--muted-foreground)) !important;}
.product-card .product-image{height:250px;background:#fff;}
.product-card .product-body{padding:1.2rem 1rem 1rem;}
.product-card h3{font-size:1.08rem;margin-bottom:.45rem;}
.product-card p{font-size:.92rem;line-height:1.6;}
.product-card .btn{border-radius:.35rem;font-size:.82rem;padding:.64rem 1rem;text-transform:none;}
.industry-card{min-height:230px;border-radius:.75rem;padding:2.65rem 2rem;}
.metric-row span{font-size:3.6rem;}
.logo-card{width:12.25rem;height:7.7rem;border-radius:.55rem;}
.contact-strip .feature-icon{margin-inline:auto;width:4rem;height:4rem;border-radius:.8rem;}

@media (max-width:900px){
  .nav-inner{height:82px;}
  .nav-logo-img{height:44px;}
  .hero{padding-top:82px;}
  .hero-home-layout{grid-template-columns:1fr;}
  .hero-card-grid{display:none !important;}
  .hero-title{font-size:clamp(2.7rem,10vw,4.2rem);}
  .hero-copy{font-size:1rem;}
  .hero-actions .btn{width:100%;}
  .page-hero{background:#111;}
}

/* footer */
.footer{background:hsl(var(--dark-section));color:hsl(var(--dark-section-foreground));}
.footer a{color:#b3b3b3;text-decoration:none;transition:color .2s;}
.footer a:hover{color:#fff;}

/* hero kicker pill */
.hero-kicker-pill{display:inline-flex;align-items:center;gap:.55rem;padding:.375rem 1rem;margin-bottom:1.5rem;border-radius:999px;border:1px solid hsla(var(--primary)/.18);background:hsla(var(--primary)/.05);color:hsl(var(--primary));font-family:'Sora','Inter',system-ui,sans-serif;font-weight:600;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;}
.hero-kicker-dot{width:7px;height:7px;border-radius:999px;background:hsl(var(--primary));flex-shrink:0;}

/* product model toggle */
.model-toggle{display:inline-flex;gap:.4rem;margin:0 auto 3rem;padding:0;justify-content:center;width:100%;}
.model-btn{font-family:'Sora','Inter',system-ui,sans-serif;font-weight:600;font-size:.85rem;padding:.55rem 1.4rem;border-radius:999px;border:none;cursor:pointer;background:transparent;color:hsl(var(--foreground));transition:all .25s;}
.model-btn:not(.active):hover{background:hsl(var(--section-alt));}
.model-btn.active{background:hsl(var(--primary));color:#fff;box-shadow:0 10px 22px -12px hsla(var(--primary)/.6);}

/* client logo wordmarks */
.logo-word{font-family:'Sora','Inter',system-ui,sans-serif;font-weight:700;font-size:1.05rem;letter-spacing:.01em;color:#4b5563;text-align:center;line-height:1.2;}

/* utility text sizes are provided by Tailwind CDN */

/* =====================================================================
   2026 REDESIGN LAYER  (navy + one crimson accent, Sora + Inter)
   ===================================================================== */
body{font-size:16px;line-height:1.6;color:hsl(var(--foreground));}
.section-padding{padding-block:clamp(3.5rem,7vw,6rem);}
.section-alt{background:hsl(var(--section-alt));}
.kicker{font-size:.8rem;letter-spacing:.02em;text-transform:none;font-weight:700;color:hsl(var(--primary));display:inline-flex;align-items:center;gap:.6rem;}
.kicker::before{content:"";width:1.6rem;height:2px;background:hsl(var(--primary));border-radius:2px;}
.text-center .kicker{justify-content:center;}
.section-heading{font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1.1;letter-spacing:-.03em;color:var(--navy);}
.section-lead{color:hsl(var(--muted-foreground));}
.text-gradient{background:none;-webkit-text-fill-color:currentColor;color:hsl(var(--primary));}

/* nav – clean glass, navy text, crimson CTA */
.nav{background:rgba(255,255,255,.86);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);box-shadow:none;border-bottom:1px solid rgba(10,27,51,.08);transition:box-shadow .3s,background .3s;}
.nav.scrolled{background:rgba(255,255,255,.96);box-shadow:0 10px 30px -18px rgba(10,27,51,.35);}
.nav-inner{height:72px;}
.nav-logo-img{height:38px;}
.nav-links{gap:2.2rem;}
.nav-links a{color:var(--navy);font-weight:600;font-size:.88rem;letter-spacing:0;}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:hsl(var(--primary));transition:width .3s;display:block !important;}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-links a:hover,.nav-links a.active{color:hsl(var(--primary));}
.btn-catalogue{margin-left:1.2rem;border-radius:.6rem;background:var(--navy);box-shadow:none;font-size:.78rem;letter-spacing:.02em;text-transform:none;}
.btn-catalogue:hover{background:hsl(var(--primary));opacity:1;}

/* buttons */
.btn{border-radius:.7rem;font-size:.95rem;font-weight:700;letter-spacing:0;padding:.9rem 1.5rem;}
.btn-primary{background:hsl(var(--primary));box-shadow:0 14px 28px -14px hsl(var(--primary));}
.btn-primary:hover{background:#b80f3d;opacity:1;transform:translateY(-2px);}
.btn-outline{background:transparent;border-color:hsl(var(--border));color:var(--navy);}
.btn-outline:hover{background:var(--navy);border-color:var(--navy);color:#fff;}

/* HERO – real factory photo, navy scrim, one entrance sequence */
.hero{min-height:min(100vh,860px);padding-top:72px;background:var(--navy);color:#fff;}
.hero-bg{background:url("../img/hero-slide-1.jpeg") 100% center/cover no-repeat;animation:heroZoom 14s ease-out both;}
.hero-overlay{background:linear-gradient(95deg,rgba(10,27,51,.96) 0%,rgba(10,27,51,.9) 42%,rgba(10,27,51,.45) 62%,rgba(10,27,51,.05) 85%),linear-gradient(0deg,rgba(10,27,51,.55),transparent 35%);}
@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero .hero-shell{padding-block:3rem 2rem;width:100%;}
.hero-kicker-pill{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;font-size:.78rem;letter-spacing:.01em;text-transform:none;backdrop-filter:blur(6px);}
.hero-kicker-dot{background:#ff5c8a;box-shadow:0 0 0 4px rgba(255,92,138,.25);}
.hero-title{color:#fff;font-size:clamp(2.4rem,4.6vw,4.1rem);line-height:1.02;letter-spacing:-.04em;font-weight:800;max-width:720px;}
.hero-title span{color:#ff5c8a;}
.hero-copy{color:rgba(232,238,247,.88);font-size:1.08rem;max-width:520px;}
.hero .max-w-3xl{max-width:600px;}
.hero-actions .btn{padding:.95rem 1.5rem;border-radius:.7rem;font-size:.95rem;}
.hero-actions .btn-outline{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.35);color:#fff;backdrop-filter:blur(6px);}
.hero-actions .btn-outline:hover{background:#fff;color:var(--navy);border-color:#fff;}
.hero-bottom-pill{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#e8eef7;box-shadow:none;backdrop-filter:blur(8px);}
.hero-bottom-pill svg{color:#ff5c8a;}
.hero-kicker-pill,.hero-title,.hero-copy,.hero-actions,.hero-bottom-row{animation:heroIn .9s cubic-bezier(.2,.7,.2,1) both;}
.hero-title{animation-delay:.12s}.hero-copy{animation-delay:.24s}.hero-actions{animation-delay:.36s}.hero-bottom-row{animation-delay:.5s}
@keyframes heroIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* inner-page banners: same navy, no black/grey split */
.page-hero{background:radial-gradient(900px 400px at 85% 0%,rgba(214,18,79,.22),transparent 60%),linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%);color:#fff;}
.page-hero .page-machine{filter:none;}
.page-intro-light{background:hsl(var(--section-alt));color:var(--navy);}
.page-intro-light h1{color:var(--navy) !important;}

/* cards, chips, icons – one radius, one shadow, one accent */
.bg-card{border-radius:1rem;border:1px solid hsl(var(--border));box-shadow:0 1px 2px rgba(10,27,51,.04),0 14px 30px -22px rgba(10,27,51,.28);}
.card-hover:hover{box-shadow:0 26px 50px -24px rgba(10,27,51,.35);transform:translateY(-4px);border-color:hsla(var(--primary)/.35);}
.feature-icon{background:hsla(var(--primary)/.09);border-radius:.8rem;}
.badge{background:var(--navy);border-radius:.4rem;font-size:.72rem;padding:.25rem .6rem;}
.chip,.model-btn{border-radius:.6rem;}
.chip{background:#fff;border:1px solid hsl(var(--border));}
.chip.active,.model-btn.active{background:var(--navy);border-color:var(--navy);box-shadow:none;}
.product-card .btn,.btn-primary[style*=".72rem"]{border-radius:.5rem;}
.logo-card{border-radius:.8rem;box-shadow:none;background:#fff;filter:grayscale(1);opacity:.75;transition:filter .3s,opacity .3s;}
.logo-card:hover{filter:none;opacity:1;}
.section-dark{background:var(--navy);}

/* FOOTER – compact one-band layout */
.footer{background:var(--navy);color:#cbd6e6;padding-block:2.2rem 1.2rem !important;}
.footer a{color:#cbd6e6;}
.footer a:hover{color:#fff;}
.footer-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.2rem 2rem;}
.footer-logo{height:34px;width:auto;filter:brightness(0) invert(1);}
.footer-links{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;font-size:.9rem;font-weight:500;}
.footer-contact{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;font-size:.9rem;}
.footer-copy{margin-top:1.4rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;font-size:.8rem;color:#8ea0b8;}

/* floating actions */
.floating-btn{border-radius:.8rem;box-shadow:0 12px 26px -12px rgba(10,27,51,.4);font-size:.85rem;}

/* mobile */
@media (max-width:900px){
  .hero-overlay{background:linear-gradient(180deg,rgba(10,27,51,.88),rgba(10,27,51,.72));}
  .hero-actions .btn{width:100%;}
  .page-hero{background:var(--navy);}
  .footer-row{flex-direction:column;align-items:flex-start;}
}
:focus-visible{outline:3px solid hsl(var(--primary));outline-offset:3px;}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none !important;transition:none !important;}.reveal{opacity:1;transform:none;}}
.section-dark .text-primary,.section-dark .text-gradient,.metric-row span{color:#ff5c8a !important;}

/* ---- logos: original colours ---- */
.logo-card{filter:none !important;opacity:1 !important;background:#fff;}
.logo-card img{object-fit:contain;}

/* ---- contact banner (no machine image) ---- */
.page-hero .grid{grid-template-columns:1fr !important;}
.page-hero .max-w-3xl{max-width:46rem;}

/* ---- footer: fuller, still compact ---- */
.footer{padding-block:3rem 1.2rem !important;}
.footer-grid{display:grid;gap:2rem 2.2rem;grid-template-columns:1.3fr .7fr .9fr 1.4fr 1.3fr;align-items:start;}
.footer h4{font-family:'Sora','Inter',sans-serif;color:#fff;font-size:.92rem;font-weight:700;margin:0 0 .9rem;letter-spacing:0;}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;font-size:.9rem;}
.footer address{font-style:normal;font-size:.9rem;line-height:1.6;display:grid;gap:.6rem;}
.footer address p{margin:0;}
.footer-brand p{font-size:.9rem;line-height:1.65;margin:1rem 0 1.1rem;color:#aebcd0;max-width:22rem;}
.footer-cta{display:inline-block;padding:.55rem 1rem;border:1px solid rgba(255,255,255,.3);border-radius:.6rem;font-size:.85rem;font-weight:600;color:#fff !important;transition:background .25s,border-color .25s;}
.footer-cta:hover{background:hsl(var(--primary));border-color:hsl(var(--primary));}
.fa-row{display:flex;gap:.55rem;align-items:flex-start;}
.fa-row svg{flex:none;margin-top:.2rem;color:#ff5c8a;}
.footer-map iframe{width:100%;height:170px;border:0;border-radius:.8rem;filter:saturate(.85) contrast(1.05);}
@media (max-width:1100px){.footer-grid{grid-template-columns:repeat(3,1fr);}.footer-brand{grid-column:1/-1;}.footer-map{grid-column:span 2;}}
@media (max-width:640px){.footer-grid{grid-template-columns:1fr 1fr;}.footer-map{grid-column:1/-1;}.footer address{grid-column:auto;}}

/* ---- forms: modal + inline ---- */
.lf-row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
@media (max-width:560px){.lf-row{grid-template-columns:1fr;}}
.lead-card label,.bg-card form label,.lead-inline label{display:block;font-size:.84rem;font-weight:600;color:var(--navy);margin-bottom:.9rem;}
.lead-card input,.lead-card select,.bg-card form input,.bg-card form select,.bg-card form textarea,.lead-inline input,.lead-inline select{display:block;width:100%;margin-top:.35rem;padding:.75rem .85rem;border:1px solid hsl(var(--border));border-radius:.6rem;font:400 .95rem 'Inter',sans-serif;color:var(--navy);background:#fff;transition:border-color .2s,box-shadow .2s;}
.lead-card input:focus,.lead-card select:focus,.bg-card form input:focus,.bg-card form select:focus,.bg-card form textarea:focus,.lead-inline input:focus,.lead-inline select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 4px hsla(var(--primary)/.14);}
.lf-hp{position:absolute !important;left:-9999px;width:1px;height:1px;opacity:0;}
.lead-msg{min-height:1.3rem;margin:.2rem 0 .8rem;font-size:.9rem;font-weight:600;}
.lead-msg.ok{color:#0a7a45;}.lead-msg.err{color:#c0123c;}
.lead-modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:1rem;}
.lead-modal.open{display:flex;}
.lead-backdrop{position:absolute;inset:0;background:rgba(6,16,32,.66);backdrop-filter:blur(6px);}
.lead-card{position:relative;width:min(30rem,100%);max-height:94vh;overflow:auto;background:#fff;border-radius:1.2rem;padding:2rem 1.8rem 1.4rem;box-shadow:0 40px 90px -30px rgba(0,0,0,.6);animation:leadIn .35s cubic-bezier(.2,.8,.2,1);}
@keyframes leadIn{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}
.lead-card h2{font-size:1.45rem;color:var(--navy);margin:0 0 .3rem;}
.lead-sub{color:hsl(var(--muted-foreground));font-size:.92rem;margin:0 0 1.3rem;}
.lead-go{width:100%;}
.lead-fine{font-size:.76rem;color:#7a8799;text-align:center;margin:.9rem 0 0;}
.lead-x{position:absolute;right:.9rem;top:.7rem;border:0;background:none;font-size:1.9rem;line-height:1;color:#7a8799;cursor:pointer;}
.btn-submit{background:hsl(var(--primary)) !important;border-radius:.7rem !important;text-transform:none !important;letter-spacing:0 !important;font-size:1rem !important;cursor:pointer;}
.btn-submit:hover{background:#b80f3d !important;}

/* ---- team page ---- */
.team-hero{position:relative;overflow:hidden;}
.team-hero::before{content:"";position:absolute;right:-8rem;top:-9rem;width:30rem;height:30rem;border-radius:50%;border:1px solid rgba(255,255,255,.1);box-shadow:0 0 0 3rem rgba(255,255,255,.025),0 0 0 6rem rgba(255,255,255,.02);pointer-events:none;}
.team-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,hsl(var(--primary)),#ff5c8a 40%,transparent 80%);}
.team-hero .container-max{position:relative;z-index:1;}
.team-hero-meta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem;}
.team-hero-meta span{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);color:#dbe5f2;font-size:.82rem;font-weight:600;backdrop-filter:blur(6px);}
.team-hero-meta span::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:#ff5c8a;}

.team-head{max-width:40rem;margin:0 0 2.75rem;}
.team-head h2{margin:.8rem 0 .6rem;font-size:clamp(1.8rem,3.2vw,2.5rem);line-height:1.15;color:var(--navy);}
.team-head p{margin:0;color:hsl(var(--muted-foreground));line-height:1.7;}

.team-grid{display:grid;gap:1.75rem;}
.team-grid-lead{grid-template-columns:repeat(3,1fr);}
.team-grid-core{grid-template-columns:repeat(4,1fr);}

.team-card{position:relative;background:#fff;border:1px solid hsl(var(--border));border-radius:1.25rem;overflow:hidden;display:flex;flex-direction:column;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;}
.team-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,hsl(var(--primary)),#ff5c8a);transform:scaleX(0);transform-origin:left;transition:transform .45s ease;z-index:2;}
.team-card:hover,.team-card:focus-within{transform:translateY(-6px);box-shadow:0 30px 56px -28px rgba(10,27,51,.45);border-color:hsla(var(--primary)/.35);}
.team-card:hover::before,.team-card:focus-within::before{transform:scaleX(1);}

.team-photo{position:relative;aspect-ratio:1/1;overflow:hidden;background:linear-gradient(180deg,#f4f6fa 0%,#e7ecf3 100%);}
.team-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .6s ease;}
.team-card:hover .team-photo img{transform:scale(1.045);}
.team-photo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(180deg,transparent,rgba(10,27,51,.16));pointer-events:none;}
.team-tag{position:absolute;left:1rem;top:1rem;z-index:1;padding:.32rem .75rem;border-radius:999px;background:var(--navy);color:#fff;font:700 .68rem 'Sora',sans-serif;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 8px 18px -8px rgba(10,27,51,.6);}

.team-info{position:relative;padding:1.2rem 1.4rem 1.45rem;display:flex;flex-direction:column;gap:.35rem;}
.team-info h3{margin:0;font-size:1.15rem;line-height:1.25;color:var(--navy);}
.team-info p{margin:0;font-size:.9rem;font-weight:600;color:hsl(var(--primary));}
.team-info::after{content:"";width:2rem;height:2px;margin-top:.55rem;background:hsl(var(--border));border-radius:2px;transition:width .4s ease,background .4s ease;}
.team-card:hover .team-info::after{width:3.4rem;background:hsl(var(--primary));}

.team-grid-lead .team-photo{aspect-ratio:4/4.4;}
.team-grid-lead .team-info h3{font-size:1.3rem;}
.team-grid-lead .team-info{padding:1.4rem 1.6rem 1.7rem;}

.team-cta{position:relative;overflow:hidden;border-radius:1.5rem;padding:3.25rem 2.5rem;text-align:center;color:#fff;background:radial-gradient(700px 300px at 85% 0%,rgba(214,18,79,.28),transparent 60%),linear-gradient(135deg,var(--navy),var(--navy-2));}
.team-cta h2{margin:.7rem 0 .8rem;color:#fff;font-size:clamp(1.6rem,3vw,2.3rem);}
.team-cta p{max-width:34rem;margin:0 auto 1.8rem;color:#cbd6e6;line-height:1.7;}
.team-cta .kicker{color:#ff5c8a;}
.team-cta-actions{display:flex;flex-wrap:wrap;gap:.9rem;justify-content:center;}
.team-cta .btn-outline{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.35);color:#fff;}
.team-cta .btn-outline:hover{background:#fff;color:var(--navy);border-color:#fff;}

@media (max-width:1100px){.team-grid-core{grid-template-columns:repeat(2,1fr);}}
@media (max-width:900px){.team-grid-lead{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.team-grid,.team-grid-lead,.team-grid-core{grid-template-columns:1fr;gap:1.25rem;}.team-grid-lead .team-photo,.team-photo{aspect-ratio:1/1;}.team-cta{padding:2.5rem 1.4rem;}.team-hero-meta{margin-top:1.5rem;}}

/* ---- landing page ---- */
.lp-hero{position:relative;min-height:100vh;padding:7.5rem 0 4rem;background:var(--navy);color:#fff;overflow:hidden;}
.lp-hero::before{content:"";position:absolute;inset:0;background:url("../img/hero-slide-1.jpeg") right center/cover;opacity:.35;animation:heroZoom 14s ease-out both;}
.lp-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(10,27,51,.97) 30%,rgba(10,27,51,.7));}
.lp-wrap{position:relative;z-index:2;display:grid;gap:3rem;grid-template-columns:1.15fr .85fr;align-items:center;}
@media (max-width:900px){.lp-wrap{grid-template-columns:1fr;}}
.lp-hero h1{font-size:clamp(2.2rem,4.4vw,3.8rem);line-height:1.05;letter-spacing:-.035em;margin:0 0 1.2rem;color:#fff;}
.lp-hero h1 em{font-style:normal;color:#ff5c8a;}
.lp-hero p.lead{color:rgba(232,238,247,.88);font-size:1.1rem;max-width:34rem;}
.lp-points{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;gap:.7rem;}
.lp-points li{display:flex;gap:.7rem;align-items:center;font-weight:600;}
.lp-points li::before{content:"";width:1.3rem;height:1.3rem;border-radius:50%;background:hsl(var(--primary)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/70% no-repeat;flex:none;}
.lp-form{background:#fff;color:var(--navy);border-radius:1.2rem;padding:1.8rem 1.6rem 1.4rem;box-shadow:0 40px 90px -30px rgba(0,0,0,.6);}
.lp-form h2{margin:0 0 .3rem;font-size:1.4rem;color:var(--navy);}
.lp-form .lead-sub{margin-bottom:1.1rem;}
.lp-strip{display:flex;flex-wrap:wrap;gap:1rem 2.5rem;justify-content:center;padding:1.4rem 0;background:#fff;border-bottom:1px solid hsl(var(--border));font:600 .95rem 'Sora',sans-serif;color:var(--navy);}
.lp-grid{display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));}
.lp-item{background:#fff;border:1px solid hsl(var(--border));border-radius:1rem;padding:1rem;text-align:center;transition:transform .3s,box-shadow .3s;}
.lp-item:hover{transform:translateY(-4px);box-shadow:0 26px 50px -26px rgba(10,27,51,.4);}
.lp-item img{height:170px;width:100%;object-fit:contain;}
.lp-item h3{font-size:1rem;margin:.6rem 0 .8rem;color:var(--navy);}
.lp-item .btn{padding:.6rem 1.1rem;font-size:.85rem;}
.lp-top{position:absolute;top:0;left:0;right:0;z-index:5;}
.lp-top .container-max{display:flex;justify-content:space-between;align-items:center;height:72px;}
.lp-top img{height:38px;filter:brightness(0) invert(1);}
.lp-form label{display:block;font-size:.84rem;font-weight:600;color:var(--navy);margin-bottom:.9rem;}
.lp-form input,.lp-form select{display:block;width:100%;margin-top:.35rem;padding:.75rem .85rem;border:1px solid hsl(var(--border));border-radius:.6rem;font:400 .95rem 'Inter',sans-serif;color:var(--navy);background:#fff;}
.lp-form input:focus,.lp-form select:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 4px hsla(var(--primary)/.14);}
.lp-form .lead-go{width:100%;}

/* ---- product details popup ---- */
.pm{position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;padding:1rem;}
.pm.open{display:flex;}
.pm-backdrop{position:absolute;inset:0;background:rgba(6,16,32,.66);backdrop-filter:blur(6px);}
.pm-card{position:relative;width:min(52rem,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:1.4rem;box-shadow:0 40px 90px -30px rgba(0,0,0,.6);animation:leadIn .35s cubic-bezier(.2,.8,.2,1);}
.pm-x{position:absolute;right:1rem;top:1rem;z-index:2;width:2.6rem;height:2.6rem;border-radius:50%;border:0;background:#fff;box-shadow:0 4px 14px rgba(10,27,51,.2);font-size:1.6rem;line-height:1;color:var(--navy);cursor:pointer;}
.pm-img{display:flex;justify-content:center;padding:2.2rem 1rem 0;}
.pm-img img{height:250px;max-width:100%;object-fit:contain;}
.pm-txt{padding:1.6rem 2.2rem 2.2rem;}
.pm-cat{margin:0 0 .4rem;font:700 .82rem 'Sora','Inter',sans-serif;color:hsl(var(--primary));}
.pm-txt h2{margin:0 0 .8rem;font-size:clamp(1.7rem,3vw,2.3rem);color:var(--navy);}
.pm-desc{color:hsl(var(--muted-foreground));font-size:1.05rem;line-height:1.65;margin:0 0 1.6rem;}
.pm-txt h3{font-size:1.1rem;color:var(--navy);margin:1.5rem 0 .8rem;}
.pm-feat{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;}
.pm-feat li{display:flex;gap:.7rem;color:#3d4a5c;}
.pm-feat li::before{content:"";flex:none;width:.42rem;height:.42rem;margin-top:.6rem;border-radius:50%;background:hsl(var(--primary));}
.pm-spec{border:1px solid hsl(var(--border));border-radius:.9rem;overflow:hidden;}
.pm-spec div{display:flex;justify-content:space-between;gap:1.2rem;padding:.85rem 1.1rem;font-size:.95rem;}
.pm-spec div+div{border-top:1px solid hsl(var(--border));}
.pm-spec span{font-weight:600;color:var(--navy);}.pm-spec b{font-weight:500;color:#3d4a5c;text-align:right;}
.pm-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem;}
@media (max-width:560px){.pm-txt{padding:1.2rem 1.2rem 1.6rem;}.pm-img img{height:190px;}.pm-spec div{flex-direction:column;gap:.15rem;}.pm-spec b{text-align:left;}}
.pm-txt h2{font-weight:800;letter-spacing:-.02em;}.pm-txt h3{font-weight:700;}
