/*
Theme Name: Infinity Project Services
Theme URI: https://infinityprojectservices.com.au
Author: Infinity Project Services
Description: True dashboard-editable WordPress theme for Infinity Project Services.
Version: 6.5.9
Text Domain: infinity-project-services
*/

:root{
  --blue:#007BFF;
  --blue-dark:#0064D2;
  --navy:#07111F;
  --navy-2:#0B1829;
  --ink:#111827;
  --slate:#526071;
  --light:#F4F7FA;
  --white:#FFFFFF;
  --red:#E31B23;
  --line:rgba(17,24,39,.12);
  --max:1380px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
.wrap{width:min(var(--max),calc(100% - 64px));margin:auto}
.eyebrow{display:block;margin:0 0 14px;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.site-header{position:sticky;z-index:1000;top:0;color:#fff;background:rgba(3,8,15,.96);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(12px)}
.header-inner{min-height:70px;display:flex;align-items:center;gap:28px;width:min(1480px,calc(100% - 52px));margin:auto}
.brand{display:flex;align-items:center;gap:12px;min-width:260px}
.brand img{width:54px;height:54px;object-fit:contain;background:#fff;border-radius:50%}
.brand-copy{display:grid;line-height:1}
.brand-copy strong{font-size:18px;letter-spacing:.13em}
.brand-copy small{margin-top:6px;font-size:8px;letter-spacing:.25em}
.site-nav{margin-left:auto}
.site-nav ul{display:flex;gap:29px;align-items:center;list-style:none;margin:0;padding:0}
.site-nav a{font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.035em}
.site-nav a:hover,.site-nav .current-menu-item>a{color:var(--blue)}
.site-nav .piranha-nav-item>a{color:var(--red);font-weight:850;letter-spacing:.055em}
.site-nav .piranha-nav-item>a:hover,.site-nav .piranha-nav-item.current-menu-item>a{color:#ff3940}
.header-cta{padding:13px 19px;border-radius:4px;background:var(--blue);font-size:12px;font-weight:800;text-transform:uppercase}
.header-cta:hover{background:var(--blue-dark)}
.menu-toggle{display:none;margin-left:auto;padding:10px;border:0;background:transparent;color:white;cursor:pointer;position:relative;z-index:120}
.menu-toggle span{display:block;width:25px;height:2px;margin:5px;background:currentColor;transition:transform .2s ease,opacity .2s ease}

.editable-page{padding-top:0}
.mobile-contact-item{display:none}

.hero{min-height:760px;display:grid;grid-template-columns:1.05fr .95fr;padding-top:0;color:white;background:linear-gradient(130deg,#02070E 0%,#07111F 55%,#0C1A2A 100%);overflow:hidden}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:80px max(7vw,40px) 70px}
.hero h1{max-width:740px;margin:0 0 24px;font-size:clamp(54px,6vw,96px);line-height:.96;letter-spacing:-.055em}
.hero-rule{width:56px;height:4px;margin:0 0 22px;background:var(--blue)}
.hero-tags{margin:0 0 22px;font-size:18px}
.hero-tags b{color:var(--blue)}
.hero-copy>p{max-width:650px;margin:0 0 28px;color:#D4DCE7;font-size:18px}
.actions{display:flex;flex-wrap:wrap;gap:14px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:50px;padding:0 22px;border-radius:4px;font-size:12px;font-weight:850;letter-spacing:.035em;text-transform:uppercase}
.button-blue{background:var(--blue);color:white}
.button-blue:hover{background:var(--blue-dark)}
.button-outline{border:1px solid rgba(255,255,255,.72);color:white}
.button-outline:hover{background:white;color:var(--ink)}
.hero-visual{position:relative;min-height:690px;background:#111}
.hero-visual img{width:100%;height:100%;object-fit:cover}
.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,17,31,.52),transparent 35%),linear-gradient(0deg,rgba(7,17,31,.28),transparent 45%)}

.section{padding:95px 0}
.section-heading{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start;margin-bottom:42px}
.section-heading h2{margin:0;font-size:clamp(42px,5vw,72px);line-height:1.02;letter-spacing:-.045em}
.section-heading p{margin:0;color:var(--slate);font-size:18px}
.who-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:65px;align-items:center}
.who-copy h2{margin:0 0 20px;font-size:48px;line-height:1.05}
.who-copy p{color:#313C4B}
.who-image img{width:100%;height:330px;object-fit:cover;border-radius:6px}
.text-link{display:inline-flex;gap:10px;align-items:center;margin-top:12px;color:var(--blue);font-size:12px;font-weight:850;text-transform:uppercase}

.services{background:var(--light)}
.services-intro{display:grid;grid-template-columns:.65fr 1.35fr;gap:65px;align-items:end;margin-bottom:30px}
.services-intro h2{margin:0;font-size:37px;line-height:1.08}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.service-card{position:relative;min-height:310px;padding:25px;color:white;border-radius:6px;overflow:hidden;background:#111A25}
.service-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,8,15,.96),rgba(4,12,22,.18))}
.service-card>*{position:relative;z-index:2}
.service-card .icon{display:grid;place-items:center;width:54px;height:54px;margin-bottom:105px;border-radius:5px;background:var(--blue);font-size:22px}
.service-card h3{margin:0 0 8px;font-size:21px}
.service-card p{margin:0;color:#E4E9EF;font-size:13px}
.service-card .arrow{position:absolute;right:22px;bottom:18px;font-size:25px}
.service-card.electrical{background:linear-gradient(130deg,#152235,#060B11)}
.service-card.automation{background:linear-gradient(130deg,#0C2A47,#050B11)}
.service-card.projects{background:linear-gradient(130deg,#253A46,#070B0F)}
.service-card.product{background-image:url("assets/images/piranha-product.jpg");background-size:cover;background-position:center}
.service-card.product .icon{background:var(--red)}
.service-card.product{border-bottom:4px solid var(--red)}

.proof-strip{background:#061221;color:white}
.proof-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.proof-item{display:grid;grid-template-columns:58px 1fr;gap:15px;align-items:center;padding:26px;border-right:1px solid rgba(255,255,255,.14)}
.proof-item:last-child{border-right:0}
.proof-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.56);border-radius:50%;font-weight:800}
.proof-item strong{display:block;color:var(--blue);font-size:21px;line-height:1}
.proof-item b{display:block;margin-top:4px;font-size:12px;text-transform:uppercase}
.proof-item small{display:block;margin-top:2px;color:#B7C2CF;font-size:11px}

.projects-section{background:white}
.project-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}
.project-card{position:relative;min-height:440px;padding:30px;overflow:hidden;border-radius:7px;color:white;background:linear-gradient(145deg,#07111F,#143351)}
.project-card.secondary{background:linear-gradient(145deg,#191D23,#4B1015)}
.project-card:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:42px 42px}
.project-card>*{position:relative;z-index:2}
.project-card h3{max-width:620px;margin:180px 0 14px;font-size:38px;line-height:1.05}
.project-card p{max-width:600px;color:#D7DFE8}



.contact-band{padding:85px 0;background:var(--blue);color:white}
.contact-inner{display:flex;justify-content:space-between;align-items:center;gap:50px}
.contact-inner h2{max-width:840px;margin:0;font-size:clamp(42px,5vw,72px);line-height:1}
.contact-inner .button{background:white;color:var(--blue);white-space:nowrap}

.site-footer{padding:58px 0 24px;background:#030A12;color:white}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:70px}
.footer-brand{display:flex;gap:17px}
.footer-brand img{width:64px;height:64px;object-fit:contain;background:white;border-radius:50%}
.footer-brand p{max-width:460px;color:#AAB5C2}
.footer-grid h3{font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.footer-grid a,.footer-grid span{display:block;margin:9px 0;color:#AAB5C2;font-size:14px}
.footer-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:42px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);color:#7E8A99;font-size:12px}

.page-hero{padding:160px 0 90px;background:var(--navy);color:white}
.page-hero h1{margin:0;font-size:clamp(50px,6vw,88px);line-height:1}
.content-page{padding:85px 0;background:white;min-height:500px}
.content-page h2{font-size:40px}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s ease}
.reveal.visible{opacity:1;transform:none}

@media(max-width:1100px){
  .site-nav,.header-cta{display:none}
  .menu-toggle{display:block}
  .site-nav.open{display:block;position:absolute;z-index:1100;top:100%;left:0;right:0;max-height:calc(100vh - 70px);overflow-y:auto;background:#050C15;padding:14px 28px 24px;border-top:1px solid rgba(255,255,255,.08);box-shadow:0 18px 35px rgba(0,0,0,.35)}
  .site-nav.open ul{display:grid;gap:0}
  .site-nav.open li{border-bottom:1px solid rgba(255,255,255,.10)}
  .site-nav.open li:last-child{border-bottom:0}
  .site-nav.open a{display:block;padding:17px 2px;font-size:14px}
  .site-nav.open .mobile-contact-item{display:block}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  body.menu-open{overflow:hidden}
  .hero{grid-template-columns:1fr}
  .hero-visual{min-height:460px}
  .who-grid,.services-intro,.section-heading{grid-template-columns:1fr;gap:28px}
  .service-grid,.proof-grid{grid-template-columns:repeat(2,1fr)}
  .project-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
}
@media(max-width:700px){
  .wrap{width:min(var(--max),calc(100% - 34px))}
  .header-inner{width:calc(100% - 28px)}
  .brand{min-width:0}
  .brand-copy{display:none}
  .hero{padding-top:0}
  .hero-copy{padding:70px 22px 55px}
  .hero h1{font-size:52px}
  .hero-tags{font-size:15px}
  .hero-copy>p{font-size:16px}
  .hero-visual{min-height:380px}
  .button{width:100%}
  .section{padding:70px 0}
  .who-copy h2{font-size:39px}
  .who-image img{height:260px}
  .service-grid,.proof-grid,.footer-grid{grid-template-columns:1fr}
  .proof-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .project-card{min-height:390px}
  .project-card h3{margin-top:140px;font-size:31px}
  .contact-inner,.footer-bottom{align-items:flex-start;flex-direction:column}
}


/* ===== Infinity Design System v2.0 ===== */
.page-hero p.page-lead,.page-hero-grid p{max-width:760px;margin:24px 0 0;color:#CAD3DE;font-size:20px}
.page-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:center}
.hero-panel{min-height:260px;display:flex;align-items:flex-end;padding:34px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:linear-gradient(145deg,rgba(0,123,255,.3),rgba(255,255,255,.03))}
.hero-panel span{max-width:250px;font-size:28px;font-weight:800;line-height:1.1}
.alt-section{background:var(--light)}
.statement-grid{display:grid;grid-template-columns:.55fr 1fr 1.15fr;gap:55px;align-items:start}
.statement-grid h2{margin:0;font-size:clamp(50px,6vw,82px);line-height:.94;letter-spacing:-.055em}
.statement-grid p{margin:0;color:var(--slate);font-size:19px}
.process-grid,.standard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.process-card,.standard-card{min-height:270px;padding:30px;border:1px solid var(--line);border-radius:7px;background:white}
.process-card span{display:block;margin-bottom:78px;color:var(--blue);font-size:14px;font-weight:850;letter-spacing:.12em}
.process-card h3,.standard-card h3{margin:0 0 12px;font-size:25px}
.process-card p,.standard-card p{margin:0;color:var(--slate)}
.standard-card{border-top:4px solid var(--blue)}
.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.industry-grid span{min-height:130px;display:flex;align-items:flex-end;padding:24px;border-radius:6px;background:linear-gradient(145deg,#07111F,#173650);color:white;font-size:20px;font-weight:800}
.optional-editor-content:has(.wrap:empty),.optional-editor-content .wrap:empty{display:none}
.service-detail-section{padding:115px 0}
.service-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.service-detail-grid h2{margin:10px 0 0;font-size:clamp(43px,5vw,68px);line-height:1}
.service-detail-grid>div>p{font-size:19px;color:var(--slate)}
.service-number{display:block;margin-bottom:45px;color:#CBD3DC;font-size:54px;font-weight:850}
.clean-list{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid var(--line)}
.clean-list li{padding:17px 0;border-bottom:1px solid var(--line);font-weight:750}
.clean-list li:before{content:"→";margin-right:14px;color:var(--blue)}
.case-study-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}
.case-study-card{min-height:500px;display:flex;flex-direction:column;justify-content:flex-end;padding:38px;border-radius:8px;background:linear-gradient(145deg,#07111F,#153B60);color:white}
.case-study-card.muted{background:var(--light);color:var(--ink)}
.case-study-card h2{margin:0 0 14px;font-size:46px;line-height:1.03}
.case-study-card p{max-width:700px;color:inherit;opacity:.82}
.case-framework{text-align:center}
.case-framework h2{margin:10px auto 20px;font-size:clamp(38px,5vw,68px)}
.product-page-hero{border-bottom:4px solid var(--red)}
.red-eyebrow{color:var(--red)}
.product-intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:center}
.product-intro-grid h2{margin:0 0 20px;font-size:clamp(44px,5vw,70px);line-height:1}
.product-intro-grid p{font-size:19px;color:var(--slate)}
.product-visual img{width:100%;height:430px;object-fit:cover;border-radius:8px}
.product-dark-section{background:#090B0F;color:white}
.product-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.product-feature-grid article{min-height:240px;padding:28px;border:1px solid rgba(255,255,255,.14);border-radius:6px}
.product-feature-grid h3{font-size:23px}
.product-feature-grid p{color:#B9C2CD}
.product-cta{background:var(--red)}
.support-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.support-card{min-height:300px;padding:34px;border-radius:7px;background:white;border:1px solid var(--line)}
.support-card>span{color:var(--blue);font-size:13px;font-weight:850}
.support-card h2{margin:80px 0 10px;font-size:34px}
.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.insight-card{min-height:380px;padding:30px;border:1px solid var(--line);border-radius:7px}
.insight-card h2{margin:120px 0 15px;font-size:29px;line-height:1.12}
.contact-page-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}
.contact-page-grid h2{margin:0 0 20px;font-size:clamp(44px,5vw,66px);line-height:1}
.contact-details{margin-top:40px;border-top:1px solid var(--line)}
.contact-details span{display:block;padding:17px 0;border-bottom:1px solid var(--line);color:var(--slate)}
.contact-details b{display:block;color:var(--ink)}
.editor-form-panel{padding:38px;border-radius:8px;background:var(--light)}
.form-note{color:var(--slate)}
.form-placeholder{display:grid;gap:12px}
.form-placeholder span{display:block;padding:15px;border:1px solid var(--line);border-radius:4px;background:white;color:#7B8490}
.form-placeholder .large{min-height:130px}
.form-placeholder button{min-height:50px;border:0;border-radius:4px;background:var(--blue);color:white;font-weight:800;text-transform:uppercase}
@media(max-width:1100px){
  .page-hero-grid,.statement-grid,.service-detail-grid,.product-intro-grid,.contact-page-grid{grid-template-columns:1fr;gap:38px}
  .process-grid,.standard-grid,.product-feature-grid{grid-template-columns:repeat(2,1fr)}
  .industry-grid,.insight-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .process-grid,.standard-grid,.industry-grid,.product-feature-grid,.support-grid,.insight-grid,.case-study-grid{grid-template-columns:1fr}
  .page-hero{padding:135px 0 70px}
  .page-hero h1{font-size:48px}
  .service-detail-section{padding:75px 0}
  .case-study-card{min-height:390px}
  .product-visual img{height:300px}
}

/* ===== Launch Edition — Sprint 1 ===== */
.photo-frame{position:relative;overflow:hidden;border-radius:8px;background:#07111F}
.photo-frame img{width:100%;height:100%;object-fit:cover}
.photo-label{position:absolute;left:18px;bottom:18px;padding:9px 12px;border:1px solid rgba(255,255,255,.25);border-radius:3px;background:rgba(3,8,15,.72);color:white;font-size:10px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.about-launch-hero{padding-bottom:90px}
.about-launch-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.about-launch-grid .photo-frame{height:520px}
.story-grid,.capability-row,.case-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}
.story-grid .photo-frame,.capability-row .photo-frame{height:420px}
.story-copy h2,.capability-copy h2{margin:0 0 22px;font-size:clamp(42px,5vw,68px);line-height:1}
.story-copy p,.capability-copy p{color:var(--slate);font-size:18px}
.quote-panel{padding:45px;border-left:5px solid var(--blue);background:var(--light)}
.quote-panel p{margin:0;font-size:28px;font-weight:750;line-height:1.35}
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.timeline article{padding:30px;border-top:3px solid var(--blue);background:white}
.timeline span{display:block;margin-bottom:42px;color:var(--blue);font-size:13px;font-weight:850;letter-spacing:.12em}
.timeline h3{font-size:26px}
.team-placeholder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.team-card{min-height:390px;display:flex;align-items:flex-end;padding:26px;border-radius:7px;color:white;background:linear-gradient(145deg,#07111F,#173650)}
.team-card h3{margin:0 0 5px;font-size:27px}
.team-card p{margin:0;color:#CAD3DE}
.capability-row{padding:46px 0;border-bottom:1px solid var(--line)}
.capability-row:nth-child(even) .photo-frame{order:2}
.capability-row .photo-frame{height:360px}
.capability-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:25px}
.capability-list span{padding:13px 0;border-top:1px solid var(--line);font-size:14px;font-weight:750}
.delivery-band{background:var(--navy);color:white}
.delivery-band .capability-copy p{color:#C9D3DF}
.delivery-band .capability-list span{border-color:rgba(255,255,255,.15)}
.case-hero-card{display:grid;grid-template-columns:1.1fr .9fr;min-height:590px;border-radius:8px;overflow:hidden;background:#07111F;color:white}
.case-hero-card .photo-frame{border-radius:0}
.case-hero-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:55px}
.case-hero-copy h2{margin:8px 0 18px;font-size:clamp(44px,5vw,72px);line-height:.98}
.case-hero-copy p{color:#CCD6E1;font-size:18px}
.case-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.case-meta span{padding:9px 12px;border:1px solid rgba(255,255,255,.18);border-radius:3px;font-size:11px;font-weight:800;text-transform:uppercase}
.case-detail-grid{align-items:start}
.case-detail-grid article{padding:30px 0;border-top:3px solid var(--blue)}
.case-detail-grid h3{font-size:28px}
.case-detail-grid p{color:var(--slate)}
.work-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.work-card{min-height:410px;position:relative;display:flex;align-items:flex-end;padding:34px;border-radius:8px;overflow:hidden;background:#07111F;color:white}
.work-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,8,15,.95),rgba(2,8,15,.1))}
.work-card>*{position:relative;z-index:1}
.work-card h3{margin:0 0 10px;font-size:34px}
.work-card p{margin:0;color:#CDD7E2}
.acquisition-panel{display:grid;grid-template-columns:.75fr 1.25fr;gap:65px;padding:48px;border-radius:8px;background:var(--navy);color:white}
.acquisition-panel p{color:#C8D2DE}
@media(max-width:1000px){
 .about-launch-grid,.story-grid,.capability-row,.case-hero-card,.case-detail-grid,.acquisition-panel{grid-template-columns:1fr}
 .capability-row:nth-child(even) .photo-frame{order:0}
 .timeline,.team-placeholder-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
 .about-launch-grid .photo-frame{height:340px}
 .story-grid .photo-frame,.capability-row .photo-frame{height:290px}
 .capability-list,.work-card-grid{grid-template-columns:1fr}
 .case-hero-copy{padding:34px}
}

/* ===== Launch Edition — Sprint 2A: Piranha Pro Series ===== */
.piranha-launch{--piranha:#d51d29;--piranha-dark:#08090c}
.piranha-hero{min-height:790px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#090b0f;color:#fff}
.piranha-hero-media,.piranha-hero-overlay{position:absolute;inset:0}
.piranha-hero-media img{width:100%;height:100%;object-fit:cover}
.piranha-hero-overlay{background:linear-gradient(90deg,rgba(4,5,8,.96) 0%,rgba(4,5,8,.78) 43%,rgba(4,5,8,.16) 75%),linear-gradient(0deg,rgba(4,5,8,.82),transparent 45%)}
.piranha-hero-content{position:relative;z-index:2;padding-top:210px;padding-bottom:100px}
.piranha-hero h1{max-width:900px;margin:12px 0 26px;font-size:clamp(62px,8vw,116px);line-height:.88;letter-spacing:-.055em}
.piranha-hero p{max-width:720px;color:#d7dce2;font-size:21px;line-height:1.65}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.piranha-button{background:var(--piranha)}
.button-outline-light{border:1px solid rgba(255,255,255,.55);background:transparent;color:#fff}
.piranha-photo-label{z-index:3;right:20px;left:auto}
.product-story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:95px}
.product-story-grid h2{margin:8px 0 0;font-size:clamp(48px,6vw,78px);line-height:.97}
.product-story-copy>p{color:var(--slate);font-size:19px}
.product-proof{display:grid;gap:0;margin-top:35px;border-top:1px solid var(--line)}
.product-proof span{padding:17px 0;border-bottom:1px solid var(--line);color:var(--slate)}
.product-proof strong{display:inline-block;min-width:170px;color:var(--ink)}
.product-black{background:var(--piranha-dark);color:#fff}
.light-heading p{color:#bfc6cf}
.piranha-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.piranha-feature{min-height:300px;padding:30px;border:1px solid rgba(255,255,255,.13);border-radius:7px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.01))}
.piranha-feature>span{display:block;margin-bottom:72px;color:var(--piranha);font-size:13px;font-weight:850;letter-spacing:.14em}
.piranha-feature h3{margin:0 0 14px;font-size:28px}
.piranha-feature p{color:#bfc6cf}
.machine-explorer{display:grid;grid-template-columns:1.35fr .65fr;overflow:hidden;border-radius:9px;background:#0a0c10;color:#fff}
.machine-explorer-visual{min-height:610px;position:relative}
.machine-explorer-visual img{width:100%;height:100%;object-fit:cover}
.machine-hotspot{position:absolute;width:46px;height:46px;border:4px solid rgba(255,255,255,.8);border-radius:50%;background:var(--piranha);color:#fff;font-weight:850;cursor:pointer;box-shadow:0 0 0 9px rgba(213,29,41,.16);transition:.2s}
.machine-hotspot:hover,.machine-hotspot.active{transform:scale(1.12);box-shadow:0 0 0 13px rgba(213,29,41,.24)}
.machine-explorer-copy{display:flex;align-items:flex-end;padding:46px}
.machine-panel{display:none}
.machine-panel.active{display:block}
.machine-panel>span{color:var(--piranha);font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.machine-panel h3{margin:18px 0;font-size:38px;line-height:1.05}
.machine-panel p{color:#c4cbd4}
.wash-program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.wash-program{min-height:410px;padding:30px;border:1px solid var(--line);border-radius:7px;background:#fff}
.wash-program.featured{border-top:5px solid var(--piranha);box-shadow:0 20px 50px rgba(8,9,12,.09)}
.wash-program>span{color:var(--piranha);font-size:12px;font-weight:850;letter-spacing:.14em}
.wash-program h3{margin:70px 0 25px;font-size:31px}
.wash-program ul{list-style:none;margin:0;padding:0}
.wash-program li{padding:13px 0;border-top:1px solid var(--line);color:var(--slate)}
.wash-program li:before{content:"✓";margin-right:10px;color:var(--piranha);font-weight:850}
.spec-disclaimer{margin:25px 0 0;color:var(--slate);font-size:13px}
.product-split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}
.product-media{height:570px}
.product-split-copy h2{margin:8px 0 23px;font-size:clamp(45px,5.5vw,72px);line-height:.98}
.product-split-copy>p{font-size:18px;color:inherit;opacity:.8}
.iq-list{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin-top:32px}
.iq-list span{padding:15px 0;border-top:1px solid rgba(255,255,255,.16);font-weight:720}
.fine-print{font-size:12px!important;opacity:.58!important}
.option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.option-card{min-height:275px;padding:30px;border-radius:7px;background:var(--light)}
.option-card>span{color:var(--piranha);font-size:11px;font-weight:850;letter-spacing:.13em}
.option-card h3{margin:65px 0 14px;font-size:27px}
.option-card p{color:var(--slate)}
.specification-table{border-top:1px solid var(--line)}
.specification-table>div{display:grid;grid-template-columns:.35fr .65fr;gap:30px;padding:21px 0;border-bottom:1px solid var(--line)}
.specification-table strong{font-size:16px}
.specification-table span{color:var(--slate)}
.delivery-steps{list-style:none;margin:32px 0 0;padding:0}
.delivery-steps li{display:grid;grid-template-columns:50px 1fr;gap:18px;padding:20px 0;border-top:1px solid var(--line)}
.delivery-steps li>span{color:var(--piranha);font-weight:850}
.delivery-steps strong{font-size:18px}
.delivery-steps p{margin:5px 0 0;color:var(--slate)}
.product-download-section{background:#11141a;color:#fff}
.download-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.download-card{min-height:340px;padding:30px;border:1px solid rgba(255,255,255,.14);border-radius:7px}
.download-card>span{display:inline-flex;padding:8px 10px;border-radius:3px;background:var(--piranha);font-size:11px;font-weight:850}
.download-card h3{margin:75px 0 14px;font-size:27px}
.download-card p{color:#bac2cc}
.download-card a{display:inline-block;margin-top:18px;color:#fff;font-weight:800;text-decoration:none}
.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:85px;align-items:start}
.faq-intro{position:sticky;top:120px}
.faq-intro h2{margin:10px 0 20px;font-size:clamp(42px,5vw,67px);line-height:1}
.faq-intro p{color:var(--slate)}
.faq-item{border-top:1px solid var(--line)}
.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-item button{width:100%;display:flex;justify-content:space-between;gap:20px;padding:25px 0;border:0;background:none;color:var(--ink);font:inherit;font-size:19px;font-weight:780;text-align:left;cursor:pointer}
.faq-item button b{color:var(--piranha);font-size:25px;transition:.2s}
.faq-item.open button b{transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .28s ease}
.faq-answer p{margin:0;padding:0 48px 26px 0;color:var(--slate)}
.piranha-final-cta{padding:100px 0;background:var(--piranha);color:#fff}
.piranha-final-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end}
.piranha-final-grid h2{margin:8px 0 0;font-size:clamp(48px,6vw,82px);line-height:.94}
.piranha-final-grid p{font-size:18px}
.piranha-final-grid .button{background:#08090c}
@media(max-width:1100px){
 .product-story-grid,.machine-explorer,.product-split,.faq-layout,.piranha-final-grid{grid-template-columns:1fr}
 .piranha-feature-grid,.option-grid{grid-template-columns:repeat(2,1fr)}
 .wash-program-grid,.download-grid{grid-template-columns:repeat(2,1fr)}
 .machine-explorer-copy{min-height:330px}
 .faq-intro{position:static}
}
@media(max-width:700px){
 .piranha-hero{min-height:690px}
 .piranha-hero-content{padding-top:170px;padding-bottom:75px}
 .piranha-feature-grid,.option-grid,.wash-program-grid,.download-grid{grid-template-columns:1fr}
 .machine-explorer-visual{min-height:380px}
 .machine-explorer-copy{padding:30px}
 .product-media{height:370px}
 .iq-list{grid-template-columns:1fr}
 .specification-table>div{grid-template-columns:1fr;gap:7px}
 .piranha-photo-label{display:none}
}

/* ===== Launch Edition — Sprint 2B: Support Centre ===== */
.support-launch{--support-blue:#007bff;--support-dark:#08101a}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.support-hero{min-height:760px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#07101b;color:#fff}
.support-hero-media,.support-hero-overlay{position:absolute;inset:0}
.support-hero-media img{width:100%;height:100%;object-fit:cover}
.support-hero-overlay{background:linear-gradient(90deg,rgba(3,8,14,.96) 0%,rgba(3,8,14,.8) 48%,rgba(3,8,14,.18) 80%),linear-gradient(0deg,rgba(3,8,14,.8),transparent 50%)}
.support-hero-content{position:relative;z-index:2;padding-top:190px;padding-bottom:90px}
.support-hero h1{max-width:900px;margin:12px 0 24px;font-size:clamp(62px,8vw,112px);line-height:.89;letter-spacing:-.055em}
.support-hero p{max-width:700px;color:#d7dde5;font-size:20px}
.support-photo-label{z-index:3;right:20px;left:auto}
.support-search{display:flex;max-width:790px;margin-top:38px;padding:7px;border:1px solid rgba(255,255,255,.2);border-radius:7px;background:rgba(255,255,255,.1);backdrop-filter:blur(12px)}
.support-search input{flex:1;min-width:0;padding:17px 18px;border:0;background:transparent;color:#fff;font:inherit;font-size:17px;outline:none}
.support-search input::placeholder{color:#bdc7d2}
.support-search button{padding:15px 25px;border:0;border-radius:5px;background:var(--support-blue);color:#fff;font:inherit;font-weight:800;cursor:pointer}
.support-search-status{min-height:24px;margin:12px 0 0!important;font-size:14px!important;color:#aecdff!important}
.support-dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.support-path-card{min-height:360px;position:relative;padding:30px;border:1px solid var(--line);border-radius:7px;background:#fff;transition:.22s}
.support-path-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(7,16,27,.1)}
.support-path-number{color:var(--support-blue);font-size:12px;font-weight:850;letter-spacing:.13em}
.support-path-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;margin:52px 0 26px;border-radius:50%;background:#e9f3ff;color:var(--support-blue);font-size:25px;font-weight:850}
.support-path-card h3{margin:0 0 14px;font-size:28px}
.support-path-card p{color:var(--slate)}
.support-path-card a{position:absolute;left:30px;bottom:28px;color:var(--ink);font-weight:800;text-decoration:none}
.support-no-results{padding:35px;margin-top:20px;border:1px dashed var(--line);text-align:center}
.support-dark{background:var(--support-dark);color:#fff}
.technical-support-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.technical-support-card{min-height:430px;padding:29px;border:1px solid rgba(255,255,255,.13);border-radius:7px;background:rgba(255,255,255,.025)}
.technical-support-card>span{color:#71b6ff;font-size:12px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.technical-support-card h3{margin:70px 0 25px;font-size:28px;line-height:1.08}
.technical-support-card ul{list-style:none;margin:0;padding:0}
.technical-support-card li{padding:13px 0;border-top:1px solid rgba(255,255,255,.12);color:#c3ccd6}
.technical-support-card li:before{content:"—";margin-right:9px;color:#71b6ff}
.support-safety-note{display:grid;grid-template-columns:180px 1fr;gap:25px;margin-top:25px;padding:25px 30px;border-left:4px solid #ffbf47;background:rgba(255,191,71,.08)}
.support-safety-note strong{color:#ffcf73;font-size:20px}
.support-safety-note p{margin:0;color:#d5dae0}
.support-filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px}
.support-filter-row button{padding:12px 18px;border:1px solid var(--line);border-radius:100px;background:#fff;color:var(--ink);font:inherit;font-size:14px;font-weight:750;cursor:pointer}
.support-filter-row button.active{border-color:var(--support-blue);background:var(--support-blue);color:#fff}
.support-download-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.support-download-card{min-height:355px;position:relative;padding:28px;border:1px solid var(--line);border-radius:7px;background:#fff}
.support-download-card .file-type{display:inline-flex;padding:7px 9px;border-radius:3px;background:var(--support-blue);color:#fff;font-size:10px;font-weight:850}
.support-download-card small{float:right;color:var(--slate);font-weight:750}
.support-download-card h3{margin:73px 0 14px;font-size:26px}
.support-download-card p{color:var(--slate)}
.support-download-card a{position:absolute;left:28px;bottom:27px;color:var(--ink);font-weight:800;text-decoration:none}
.maintenance-layout{display:grid;grid-template-columns:.35fr .65fr;overflow:hidden;border-radius:8px;background:#fff;box-shadow:0 22px 65px rgba(7,16,27,.08)}
.maintenance-tabs{display:flex;flex-direction:column;background:#101720}
.maintenance-tabs button{display:flex;gap:18px;padding:27px;border:0;border-bottom:1px solid rgba(255,255,255,.1);background:transparent;color:#cbd3dc;font:inherit;font-size:18px;font-weight:780;text-align:left;cursor:pointer}
.maintenance-tabs button span{color:#6ab2ff;font-size:12px}
.maintenance-tabs button.active{background:var(--support-blue);color:#fff}
.maintenance-tabs button.active span{color:#fff}
.maintenance-panels{padding:55px}
.maintenance-panel{display:none}
.maintenance-panel.active{display:block}
.maintenance-panel>span{color:var(--support-blue);font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.maintenance-panel h3{margin:15px 0 28px;font-size:43px}
.maintenance-panel ul{list-style:none;margin:0;padding:0}
.maintenance-panel li{padding:15px 0;border-top:1px solid var(--line);color:var(--slate)}
.maintenance-panel li:before{content:"✓";margin-right:11px;color:var(--support-blue);font-weight:850}
.support-feature-split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}
.support-feature-media{height:590px}
.support-feature-copy h2{margin:8px 0 22px;font-size:clamp(48px,5.8vw,76px);line-height:.96}
.support-feature-copy>p{color:#c3ccd6;font-size:18px}
.remote-checklist{margin:30px 0}
.remote-checklist span{display:block;padding:16px 0;border-top:1px solid rgba(255,255,255,.14);color:#c3ccd6}
.remote-checklist strong{display:inline-block;min-width:150px;color:#fff}
.training-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.training-card{min-height:365px;padding:29px;border-radius:7px;background:var(--light)}
.training-card>span{color:var(--support-blue);font-size:11px;font-weight:850;letter-spacing:.13em}
.training-card h3{margin:72px 0 15px;font-size:28px}
.training-card p{color:var(--slate)}
.training-card strong{display:block;margin-top:26px;padding-top:17px;border-top:1px solid var(--line);font-size:14px}
.service-request-section{background:#0b1a2a;color:#fff}
.service-request-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}
.service-request-grid h2{margin:10px 0 20px;font-size:clamp(48px,6vw,78px);line-height:.96}
.service-request-grid>div:first-child p{color:#c7d0da;font-size:18px}
.service-request-card{padding:38px;border-radius:8px;background:#fff;color:var(--ink)}
.service-request-card h3{margin:0 0 20px;font-size:30px}
.service-request-card ol{list-style:none;margin:0 0 30px;padding:0}
.service-request-card li{display:grid;grid-template-columns:44px 1fr;gap:10px;padding:15px 0;border-top:1px solid var(--line);color:var(--slate)}
.service-request-card li span{color:var(--support-blue);font-weight:850}
.support-final-cta{padding:100px 0;background:var(--support-blue);color:#fff}
.support-final-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end}
.support-final-grid h2{margin:8px 0 0;font-size:clamp(48px,6vw,82px);line-height:.94}
.support-final-grid p{font-size:18px}
.support-final-grid .button{background:#08101a}
[data-searchable].support-search-hidden{display:none!important}
@media(max-width:1150px){
 .support-dashboard{grid-template-columns:repeat(2,1fr)}
 .technical-support-grid,.support-download-grid,.training-grid{grid-template-columns:repeat(2,1fr)}
 .support-feature-split,.service-request-grid,.support-final-grid{grid-template-columns:1fr}
}
@media(max-width:800px){
 .support-hero{min-height:700px}
 .support-hero-content{padding-top:170px;padding-bottom:70px}
 .support-dashboard,.technical-support-grid,.support-download-grid,.training-grid{grid-template-columns:1fr}
 .maintenance-layout{grid-template-columns:1fr}
 .maintenance-tabs{display:grid;grid-template-columns:repeat(2,1fr)}
 .maintenance-panels{padding:32px}
 .support-safety-note{grid-template-columns:1fr}
 .support-feature-media{height:390px}
 .support-photo-label{display:none}
}
@media(max-width:560px){
 .support-search{display:block}
 .support-search button{width:100%}
 .maintenance-tabs{grid-template-columns:1fr}
 .remote-checklist strong{display:block;margin-bottom:4px}
}

/* ===== Launch Edition — Sprint 3: Technical Knowledge Centre ===== */
.knowledge-launch,.knowledge-single{--knowledge-blue:#007bff;--knowledge-dark:#07101a}
.knowledge-hero{min-height:790px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#07101a;color:#fff}
.knowledge-hero-media,.knowledge-hero-overlay{position:absolute;inset:0}
.knowledge-hero-media img{width:100%;height:100%;object-fit:cover}
.knowledge-hero-overlay{background:linear-gradient(90deg,rgba(3,8,14,.97) 0%,rgba(3,8,14,.8) 50%,rgba(3,8,14,.12) 82%),linear-gradient(0deg,rgba(3,8,14,.82),transparent 50%)}
.knowledge-hero-content{position:relative;z-index:2;padding-top:200px;padding-bottom:90px}
.knowledge-hero h1{max-width:1060px;margin:12px 0 25px;font-size:clamp(61px,7.7vw,112px);line-height:.89;letter-spacing:-.055em}
.knowledge-hero p{max-width:790px;color:#d5dce5;font-size:20px}
.knowledge-photo-label{z-index:3;right:20px;left:auto}
.knowledge-search{display:flex;max-width:820px;margin-top:38px;padding:7px;border:1px solid rgba(255,255,255,.2);border-radius:7px;background:rgba(255,255,255,.1);backdrop-filter:blur(12px)}
.knowledge-search input{flex:1;min-width:0;padding:17px 18px;border:0;background:transparent;color:#fff;font:inherit;font-size:17px;outline:none}
.knowledge-search input::placeholder{color:#bcc6d1}
.knowledge-search button{padding:15px 25px;border:0;border-radius:5px;background:var(--knowledge-blue);color:#fff;font:inherit;font-weight:800;cursor:pointer}
.knowledge-search-status{min-height:24px;margin:12px 0 0!important;color:#aecdff!important;font-size:14px!important}
.knowledge-topic-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.knowledge-topic-card{min-height:225px;padding:25px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:.22s}
.knowledge-topic-card:hover,.knowledge-topic-card.active{transform:translateY(-4px);border-color:var(--knowledge-blue);box-shadow:0 20px 45px rgba(7,16,26,.09)}
.knowledge-topic-card.active{background:var(--knowledge-blue);color:#fff}
.knowledge-topic-card>span{display:block;color:var(--knowledge-blue);font-size:11px;font-weight:850;letter-spacing:.13em}
.knowledge-topic-card.active>span{color:#fff}
.knowledge-topic-card strong{display:block;margin:70px 0 8px;font-size:23px}
.knowledge-topic-card small{display:block;color:var(--slate);line-height:1.5}
.knowledge-topic-card.active small{color:#dcecff}
.knowledge-library-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:42px}
.knowledge-library-heading h2{margin:8px 0 0;font-size:clamp(46px,5.7vw,76px);line-height:.97}
.knowledge-count{color:var(--slate);font-weight:750}
.knowledge-article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.knowledge-card{min-height:440px;display:flex;flex-direction:column;padding:29px;border:1px solid var(--line);border-radius:7px;background:#fff}
.knowledge-card-meta{display:flex;justify-content:space-between;gap:15px;color:var(--knowledge-blue);font-size:11px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.knowledge-card-meta small{color:var(--slate);font-size:11px;letter-spacing:0;text-transform:none}
.knowledge-card h3{margin:72px 0 17px;font-size:30px;line-height:1.08}
.knowledge-card h3 a{color:inherit;text-decoration:none}
.knowledge-card p{color:var(--slate)}
.knowledge-card-footer{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-top:auto;padding-top:24px;border-top:1px solid var(--line)}
.knowledge-card-footer span{max-width:58%;color:var(--slate);font-size:12px}
.knowledge-card-footer a{color:var(--ink);font-weight:800;text-decoration:none}
.knowledge-empty{padding:50px;border:1px dashed var(--line);text-align:center;background:#fff}
.knowledge-dark{background:var(--knowledge-dark);color:#fff}
.knowledge-principles-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}
.knowledge-principles-grid h2{margin:10px 0 0;font-size:clamp(48px,6vw,82px);line-height:.94}
.knowledge-principles{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.knowledge-principles article{min-height:275px;padding:27px;border:1px solid rgba(255,255,255,.13);border-radius:7px}
.knowledge-principles article>span{color:#67afff;font-size:12px;font-weight:850}
.knowledge-principles h3{margin:55px 0 13px;font-size:26px}
.knowledge-principles p{color:#bdc7d2}
.knowledge-tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.knowledge-tool-card{min-height:325px;padding:28px;border-radius:7px;background:var(--light)}
.knowledge-tool-card>span{color:var(--knowledge-blue);font-size:11px;font-weight:850;letter-spacing:.13em}
.knowledge-tool-card h3{margin:70px 0 14px;font-size:27px}
.knowledge-tool-card p{color:var(--slate)}
.knowledge-tool-card small{display:block;margin-top:24px;padding-top:16px;border-top:1px solid var(--line);font-weight:750}
.knowledge-final-cta{padding:100px 0;background:var(--knowledge-blue);color:#fff}
.knowledge-final-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end}
.knowledge-final-grid h2{margin:8px 0 0;font-size:clamp(48px,6vw,82px);line-height:.94}
.knowledge-final-grid p{font-size:18px}
.knowledge-final-grid .button{background:#07101a}
.knowledge-card.knowledge-hidden{display:none}
.article-hero{padding:190px 0 90px;background:#08111c;color:#fff}
.article-hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:80px;align-items:end}
.article-back{display:inline-block;margin-bottom:45px;color:#a8d0ff;text-decoration:none;font-weight:760}
.article-hero h1{max-width:970px;margin:10px 0 24px;font-size:clamp(59px,7.3vw,105px);line-height:.9;letter-spacing:-.05em}
.article-hero p{max-width:820px;color:#c6d0db;font-size:20px;line-height:1.65}
.article-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}
.article-meta span{padding:9px 13px;border:1px solid rgba(255,255,255,.16);border-radius:100px;color:#d6dde5;font-size:12px}
.article-summary{padding:30px;border-left:4px solid var(--knowledge-blue);background:rgba(255,255,255,.06)}
.article-summary>span{color:#71b7ff;font-size:11px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.article-summary strong{display:block;margin:28px 0 14px;font-size:24px;line-height:1.25}
.article-summary p{font-size:14px;color:#bdc7d2}
.article-layout{display:grid;grid-template-columns:280px minmax(0,790px);gap:85px;justify-content:center;align-items:start}
.article-side{position:sticky;top:115px}
.article-side-card,.article-safety-card{padding:24px;border:1px solid var(--line);border-radius:7px;background:#fff}
.article-side-card>span{display:block;margin-bottom:17px;color:var(--knowledge-blue);font-size:11px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.article-side-card nav a{display:block;padding:10px 0;border-top:1px solid var(--line);color:var(--slate);font-size:14px;text-decoration:none}
.article-safety-card{margin-top:14px;border-left:4px solid #ffb62e}
.article-safety-card strong{font-size:17px}
.article-safety-card p{margin-bottom:0;color:var(--slate);font-size:13px}
.article-content{font-size:19px;line-height:1.76}
.article-content h2{margin:65px 0 20px;font-size:43px;line-height:1.08;scroll-margin-top:130px}
.article-content h2:first-child{margin-top:0}
.article-content p,.article-content li{color:#3f4a56}
.article-content ul,.article-content ol{padding-left:23px}
.article-content li{margin:10px 0}
.article-content strong{color:var(--ink)}
.article-related-heading h2{margin:8px 0 38px;font-size:clamp(44px,5vw,68px)}
.article-help-cta{padding:95px 0;background:var(--knowledge-blue);color:#fff}
.article-help-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end}
.article-help-grid h2{margin:8px 0 0;font-size:clamp(48px,6vw,80px);line-height:.95}
.article-help-grid p{font-size:18px}
.article-help-grid .button{background:#07101a}
@media(max-width:1150px){
 .knowledge-topic-grid{grid-template-columns:repeat(3,1fr)}
 .knowledge-article-grid{grid-template-columns:repeat(2,1fr)}
 .knowledge-principles-grid,.knowledge-final-grid,.article-hero-grid,.article-help-grid{grid-template-columns:1fr}
 .knowledge-tool-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:850px){
 .knowledge-hero{min-height:720px}
 .knowledge-hero-content{padding-top:175px;padding-bottom:72px}
 .knowledge-topic-grid,.knowledge-article-grid,.knowledge-principles,.knowledge-tool-grid{grid-template-columns:1fr}
 .knowledge-topic-card{min-height:175px}
 .knowledge-topic-card strong{margin-top:38px}
 .article-layout{grid-template-columns:1fr}
 .article-side{position:static}
 .article-side-card{display:none}
 .knowledge-photo-label{display:none}
}
@media(max-width:570px){
 .knowledge-search{display:block}
 .knowledge-search button{width:100%}
 .knowledge-library-heading{display:block}
 .knowledge-count{display:block;margin-top:15px}
}

/* Sprint 4 — Our Work */
.work-page-hero{border-bottom:4px solid var(--blue)}
.work-page-hero h1{max-width:1050px}
.featured-work-section{padding-top:80px}
.featured-work{display:grid;grid-template-columns:1.05fr .95fr;min-height:640px;border-radius:10px;overflow:hidden;background:var(--navy);color:#fff;box-shadow:0 24px 70px rgba(7,17,31,.16)}
.featured-work-media{position:relative;min-height:520px;background:#10243b}
.featured-work-media img{width:100%;height:100%;object-fit:cover}
.featured-work-badge{position:absolute;top:24px;left:24px;padding:10px 14px;border-radius:100px;background:var(--blue);font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.featured-work-copy{display:flex;flex-direction:column;justify-content:center;padding:58px}
.featured-work-copy h2{margin:4px 0 16px;font-size:clamp(44px,5vw,70px);line-height:.98;letter-spacing:-.035em}
.featured-work-copy h3{margin:0 0 20px;color:#a8d0ff;font-size:22px;line-height:1.3}
.featured-work-copy p{margin:0 0 15px;color:#cbd5e1;font-size:17px}
.scope-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.scope-chip-row span{padding:8px 11px;border:1px solid rgba(255,255,255,.17);border-radius:100px;color:#e5edf6;font-size:11px;font-weight:700}
.project-highlights-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.highlight-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.highlight-card{min-height:230px;padding:28px;border:1px solid var(--line);border-radius:8px;background:#fff}
.highlight-card>span{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:50%;background:#e9f3ff;color:var(--blue);font-size:12px;font-weight:850}
.highlight-card h3{margin:38px 0 10px;font-size:24px;line-height:1.1}
.highlight-card p{margin:0;color:var(--slate)}
.concise-work-grid .work-card{min-height:390px;background:linear-gradient(145deg,#07111f,#173657)}
.concise-work-grid .recovery-work-card{background:linear-gradient(145deg,#171b22,#541018)}
.concise-work-grid .work-card:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:38px 38px}
.concise-work-grid .work-card>div{position:relative;z-index:2}
.project-services{margin-top:18px;color:#8fbff3;font-size:12px;font-weight:750;letter-spacing:.025em}
.recovery-work-card .project-services{color:#f2a4a7}
@media(max-width:1050px){
 .featured-work{grid-template-columns:1fr}
 .featured-work-media{min-height:420px}
 .highlight-card-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
 .featured-work-copy{padding:34px 26px}
 .featured-work-copy h2{font-size:42px}
 .featured-work-media{min-height:310px}
 .highlight-card-grid{grid-template-columns:1fr}
 .highlight-card{min-height:190px}
}

/* Our Work storytelling update v3.4.1 */
.project-intro{font-size:18px;line-height:1.7;color:var(--muted)}
.project-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:26px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.project-facts div{display:flex;flex-direction:column;gap:6px;padding:18px;background:#fff}
.project-facts strong{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--blue)}
.project-facts span{font-size:14px;font-weight:650;color:var(--ink)}
.story-section{padding-top:30px}
.story-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px;align-items:start}
.story-heading{position:sticky;top:110px}
.story-heading h2{font-size:46px;line-height:1.06;margin-top:12px}
.story-copy{max-width:790px}
.story-copy p{font-size:18px;line-height:1.8;color:var(--muted);margin:0 0 22px}
.journey-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}
.journey-card{padding:28px 25px;background:#fff;border:1px solid var(--line);border-radius:7px;min-height:255px}
.journey-card>span{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;background:var(--blue);color:#fff;border-radius:4px;font-size:12px;font-weight:800}
.journey-card h3{font-size:22px;margin:22px 0 12px}
.journey-card p{margin:0;color:var(--muted);line-height:1.65}
.outcome-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:65px;align-items:start}
.outcome-copy h2{font-size:46px;line-height:1.06;margin:12px 0 22px}
.outcome-copy p{font-size:17px;line-height:1.75;color:var(--muted)}
.outcome-panel{padding:34px;background:var(--navy);color:#fff;border-radius:8px;box-shadow:0 22px 50px rgba(5,18,35,.16)}
.outcome-panel h3{font-size:26px;margin:0 0 20px}
.compact-check-list{margin:0;padding:0;list-style:none}
.compact-check-list li{position:relative;padding:11px 0 11px 27px;border-bottom:1px solid rgba(255,255,255,.11);color:#dce8f4}
.compact-check-list li:before{content:'✓';position:absolute;left:0;color:#68adf4;font-weight:900}
.dark-section{background:var(--navy);color:#fff}
.dark-section .section-heading p,.dark-section .highlight-card p{color:#c7d5e4}
.dark-section .highlight-card{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.12)}
.dark-section .highlight-card h3{color:#fff}
.dark-section .highlight-card>span{color:#78b9ff}
.contact-inner p{margin:8px 0 0;color:#cbd7e3}
@media(max-width:980px){
 .story-grid,.outcome-grid{grid-template-columns:1fr;gap:35px}
 .story-heading{position:static}
 .journey-grid{grid-template-columns:repeat(2,1fr)}
 .project-facts{grid-template-columns:1fr}
}
@media(max-width:620px){
 .story-heading h2,.outcome-copy h2{font-size:35px}
 .story-copy p{font-size:16px}
 .journey-grid{grid-template-columns:1fr}
 .journey-card{min-height:auto}
 .outcome-panel{padding:26px}
}


/* Sprint 5 — Projects equal-feature redesign */
.projects-page-hero{padding-bottom:72px;border-bottom:4px solid var(--blue)}
.projects-hero-inner{max-width:1180px;margin-left:auto;margin-right:auto;text-align:center}
.projects-page-hero h1{max-width:1050px;margin-left:auto;margin-right:auto}
.projects-page-hero .page-lead{max-width:880px;margin-left:auto;margin-right:auto}
.projects-featured-section{padding-top:72px}
.compact-section-heading{margin-bottom:34px}
.compact-section-heading h2{max-width:850px}
.equal-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:stretch}
.equal-project-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 18px 48px rgba(7,17,31,.09)}
.equal-project-media{position:relative;height:330px;background:#0d2238;overflow:hidden}
.equal-project-media img{width:100%;height:100%;object-fit:cover}
.equal-project-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(5,13,23,.82))}
.equal-project-media>span{position:absolute;z-index:2;left:25px;bottom:22px;color:#fff;font-size:11px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.qtc-project-media{background:#102d46}
.equal-project-body{display:flex;flex:1;flex-direction:column;padding:34px}
.equal-project-body h2{margin:5px 0 17px;font-size:clamp(32px,3vw,46px);line-height:1.02;letter-spacing:-.035em}
.equal-project-body>p{margin:0 0 14px;color:var(--slate);line-height:1.68}
.project-detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:23px;margin-top:17px;padding-top:23px;border-top:1px solid var(--line)}
.project-detail-columns h3{margin:0 0 12px;font-size:18px}
.project-tick-list{list-style:none;margin:0;padding:0}
.project-tick-list li{position:relative;padding:6px 0 6px 20px;color:var(--slate);font-size:14px;line-height:1.45}
.project-tick-list li:before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:900}
.outcome-list li:before{color:var(--red)}
.project-fact-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:auto;padding-top:25px;background:var(--line);border-top:1px solid var(--line)}
.project-fact-strip span{padding:13px 10px;background:#f7f9fb;color:var(--slate);font-size:11px;text-align:center}
.project-fact-strip strong{display:block;margin-bottom:3px;color:var(--ink);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.expertise-band{padding:76px 0;background:var(--navy);color:#fff}
.expertise-band .section-heading{margin-bottom:30px}
.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.expertise-card{min-height:205px;padding:27px;border:1px solid rgba(255,255,255,.12);border-radius:7px;background:rgba(255,255,255,.055)}
.expertise-card>span{color:#78b9ff;font-size:11px;font-weight:850}
.expertise-card h3{margin:45px 0 9px;font-size:23px}
.expertise-card p{margin:0;color:#c6d1dd;font-size:15px}
.additional-projects-section{padding-top:78px}
.additional-project-list{border-top:1px solid var(--line)}
.additional-project{display:grid;grid-template-columns:90px 1fr;gap:28px;padding:34px 0;border-bottom:1px solid var(--line)}
.additional-project-number{color:#b9c1cb;font-size:13px;font-weight:850;letter-spacing:.12em}
.additional-project h3{margin:3px 0 10px;font-size:30px}
.additional-project p{max-width:1000px;margin:0;color:var(--slate);line-height:1.7}
.additional-project .project-services{margin-top:13px}
@media(max-width:1050px){
 .equal-project-grid{grid-template-columns:1fr}
 .equal-project-media{height:410px}
 .expertise-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
 .projects-page-hero{padding-bottom:50px}
 .projects-featured-section{padding-top:52px}
 .equal-project-media{height:280px}
 .equal-project-body{padding:25px}
 .project-detail-columns{grid-template-columns:1fr}
 .project-fact-strip{grid-template-columns:1fr}
 .expertise-grid{grid-template-columns:1fr}
 .expertise-card{min-height:170px}
 .additional-project{grid-template-columns:1fr;gap:8px;padding:28px 0}
 .additional-project h3{font-size:25px}
}


/* Sprint 6 — Piranha Pro Series flagship product page */
.pro-audience-section{padding-top:78px;padding-bottom:78px}
.pro-audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pro-audience-card{min-height:235px;padding:28px;border:1px solid var(--line);border-radius:8px;background:#fff}
.pro-audience-card>span{color:var(--blue);font-size:11px;font-weight:850;letter-spacing:.1em}
.pro-audience-card h3{margin:52px 0 11px;font-size:24px}
.pro-audience-card p{margin:0;color:var(--slate);font-size:15px;line-height:1.65}
.pro-technology{background:#fff}
.technology-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.technology-item{border:1px solid var(--line);border-radius:7px;background:#f8fafc;overflow:hidden}
.technology-item>button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:18px;padding:21px 23px;border:0;background:transparent;color:var(--ink);text-align:left;font:inherit;font-weight:800;cursor:pointer}
.technology-item>button span{display:flex;align-items:center;gap:14px}
.technology-item>button b{color:var(--blue);font-size:11px;letter-spacing:.08em}
.technology-item>button strong{color:var(--red);font-size:22px}
.technology-item .faq-answer{padding:0 23px}
.technology-item .faq-answer p{padding-bottom:21px;color:var(--slate);line-height:1.65}
.pro-process-section{padding-top:80px;padding-bottom:82px;background:#f4f7fa}
.pro-process-track{display:grid;grid-template-columns:repeat(9,1fr);border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}
.pro-process-track>div{position:relative;min-height:190px;padding:22px 16px;border-right:1px solid var(--line)}
.pro-process-track>div:last-child{border-right:0}
.pro-process-track span{display:block;margin-bottom:44px;color:var(--blue);font-size:11px;font-weight:850}
.pro-process-track strong{display:block;font-size:15px;line-height:1.3}
.pro-process-track small{display:block;margin-top:7px;color:var(--slate);font-size:12px;line-height:1.45}
.pro-future-section{padding:78px 0;background:var(--navy);color:#fff}
.pro-future-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.pro-future-grid h2{max-width:570px;margin:8px 0 0;font-size:clamp(38px,5vw,64px);line-height:1.02}
.pro-future-grid p{margin:0 0 18px;color:#cad6e2;font-size:18px;line-height:1.72}
.pro-gallery-section{padding-top:78px}
.pro-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.pro-gallery-grid figure{position:relative;height:360px;margin:0;overflow:hidden;border-radius:8px;background:#0b2035}
.pro-gallery-grid img{width:100%;height:100%;object-fit:cover}
.pro-gallery-grid figcaption{position:absolute;left:20px;bottom:18px;padding:8px 11px;border-radius:4px;background:rgba(6,16,27,.82);color:#fff;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:1100px){
 .pro-audience-grid{grid-template-columns:repeat(2,1fr)}
 .pro-process-track{grid-template-columns:repeat(3,1fr)}
 .pro-process-track>div{border-bottom:1px solid var(--line)}
 .pro-process-track>div:nth-child(3n){border-right:0}
 .pro-future-grid{grid-template-columns:1fr;gap:30px}
}
@media(max-width:720px){
 .pro-audience-grid,.technology-grid,.pro-gallery-grid{grid-template-columns:1fr}
 .pro-audience-card{min-height:auto}
 .pro-audience-card h3{margin-top:28px}
 .pro-process-track{grid-template-columns:1fr}
 .pro-process-track>div{min-height:auto;border-right:0}
 .pro-process-track span{margin-bottom:18px}
 .pro-gallery-grid figure{height:280px}
}


/* ================================================================
   Piranha Pro Series flagship experience — v4.0
   ================================================================ */
.pps-v4{--pps-red:#e31b23;--pps-black:#05080d;--pps-charcoal:#0b1119;--pps-grey:#eef2f5;overflow:hidden;background:#fff}
.pps-v4 .wrap{width:min(1320px,calc(100% - 64px))}.pps-kicker{display:block;margin-bottom:18px;color:#ff3940;font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.pps-kicker--dark{color:var(--pps-red)}
.pps-hero{position:relative;min-height:850px;padding-top:70px;display:flex;align-items:center;color:#fff;background:#05080d}.pps-hero__media,.pps-hero__veil{position:absolute;inset:0}.pps-hero__media img{width:100%;height:100%;object-fit:cover}.pps-hero__veil{background:linear-gradient(90deg,rgba(2,5,9,.98) 0%,rgba(2,5,9,.9) 40%,rgba(2,5,9,.34) 72%,rgba(2,5,9,.58) 100%),linear-gradient(0deg,rgba(2,5,9,.72),transparent 46%)}.pps-hero__inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr);gap:80px;align-items:end;padding:120px 0 115px}.pps-hero__copy h1{max-width:970px;margin:0 0 28px;font-size:clamp(58px,6.5vw,104px);line-height:.92;letter-spacing:-.06em}.pps-hero__lead{max-width:760px;margin:0;color:#dce3eb;font-size:20px;line-height:1.65}.pps-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.pps-btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:54px;padding:0 24px;border:1px solid transparent;border-radius:3px;font-size:12px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;transition:.2s ease}.pps-btn:hover{transform:translateY(-2px)}.pps-btn--red{background:var(--pps-red);color:#fff}.pps-btn--red:hover{background:#bf1017}.pps-btn--ghost{border-color:rgba(255,255,255,.55);color:#fff;background:rgba(0,0,0,.16)}.pps-btn--ghost:hover{background:#fff;color:#10151c}.pps-btn--dark{background:#0b1119;color:#fff}.pps-hero__statement{padding:28px;border-top:3px solid var(--pps-red);background:rgba(3,7,12,.76);backdrop-filter:blur(10px)}.pps-hero__statement span,.pps-hero__statement strong{display:block;font-size:25px;line-height:1.15}.pps-hero__statement strong{color:#ff3940}.pps-hero__statement p{margin:20px 0 0;color:#cbd4df}.pps-scroll{position:absolute;z-index:3;bottom:28px;left:50%;transform:translateX(-50%);display:flex;gap:14px;color:#fff;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.pps-proof{background:var(--pps-red);color:#fff}.pps-proof__grid{display:grid;grid-template-columns:repeat(4,1fr)}.pps-proof__grid>div{display:grid;grid-template-columns:auto 1fr;column-gap:16px;padding:28px 26px;border-right:1px solid rgba(255,255,255,.25)}.pps-proof__grid>div:last-child{border:0}.pps-proof b{grid-row:1/3;font-size:12px;opacity:.62}.pps-proof strong{font-size:15px;text-transform:uppercase;letter-spacing:.04em}.pps-proof span{margin-top:5px;color:#ffe1e2;font-size:13px;line-height:1.45}
.pps-section{padding:110px 0}.pps-split{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.pps-heading h2,.pps-heading--wide h2,.pps-cta h2{margin:0;font-size:clamp(45px,5vw,74px);line-height:.98;letter-spacing:-.05em}.pps-heading p{color:#657180}.pps-copy{font-size:17px;color:#3b4653}.pps-intro{font-size:21px;line-height:1.55;color:#121923}.pps-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:42px;background:#dce2e8}.pps-mini-grid div{padding:25px;background:#fff}.pps-mini-grid strong,.pps-mini-grid span{display:block}.pps-mini-grid strong{margin-bottom:7px;color:#111923}.pps-mini-grid span{font-size:14px;color:#657180}
.pps-dark{background:var(--pps-black);color:#fff}.pps-heading--wide{display:grid;grid-template-columns:1.2fr .8fr;gap:90px;align-items:end;margin-bottom:55px}.pps-heading--wide>p{margin:0;color:#aeb9c6;font-size:18px}.pps-programs .pps-heading--wide>p,.pps-delivery .pps-heading--wide>p{color:#657180}.pps-explorer{border:1px solid rgba(255,255,255,.12);background:#0a1018}.pps-explorer .machine-explorer-copy{background:#0d141e}.pps-explorer .machine-panel h3{color:#fff}.pps-explorer .machine-panel p{color:#b4c0cd}.pps-explorer .machine-hotspot{background:var(--pps-red);border-color:#fff}
.pps-programs{background:#f1f4f6}.pps-program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.pps-program-grid article{position:relative;min-height:270px;padding:32px;background:#fff;border-top:4px solid #17202b}.pps-program-grid article.is-featured{background:#101720;color:#fff;border-top-color:var(--pps-red);transform:translateY(-12px)}.pps-program-grid small{color:var(--pps-red);font-weight:900;letter-spacing:.14em}.pps-program-grid h3{margin:45px 0 15px;font-size:34px}.pps-program-grid p{color:#657180}.pps-program-grid .is-featured p{color:#c4ced8}.pps-note{margin:28px 0 0;color:#657180;font-size:13px}
.pps-iq{background:#09101a;color:#fff}.pps-iq__grid{display:grid;grid-template-columns:1.08fr .92fr;gap:90px;align-items:center}.pps-iq__visual{padding:22px;background:linear-gradient(145deg,#111c29,#05080d);border:1px solid rgba(255,255,255,.12)}.pps-iq__copy h2{margin:0 0 24px;font-size:clamp(45px,5vw,70px);line-height:1;letter-spacing:-.05em}.pps-iq__copy p{color:#b8c3cf;font-size:18px}.pps-iq__copy ul{display:grid;grid-template-columns:1fr 1fr;gap:14px 30px;margin:30px 0 0;padding:0;list-style:none}.pps-iq__copy li{position:relative;padding-left:21px;color:#e1e7ee}.pps-iq__copy li:before{content:"";position:absolute;left:0;top:.58em;width:7px;height:7px;background:var(--pps-red)}
.pps-timeline{display:grid;grid-template-columns:repeat(6,1fr);margin:0;padding:0;list-style:none;border-top:1px solid #cdd4dc}.pps-timeline li{position:relative;padding:32px 22px 0 0}.pps-timeline li:before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;border-radius:50%;background:var(--pps-red)}.pps-timeline span{color:var(--pps-red);font-size:12px;font-weight:900}.pps-timeline strong{display:block;margin:34px 0 10px;font-size:21px}.pps-timeline p{margin:0;color:#657180;font-size:14px}
.pps-sites{background:#101720;color:#fff}.pps-sites .pps-heading p{font-size:18px;color:#aab6c3}.pps-specs{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.17);border-left:1px solid rgba(255,255,255,.17)}.pps-specs div{padding:27px;border-right:1px solid rgba(255,255,255,.17);border-bottom:1px solid rgba(255,255,255,.17)}.pps-specs strong,.pps-specs span{display:block}.pps-specs strong{margin-bottom:8px;color:#ff3940}.pps-specs span{font-size:14px;color:#b9c3ce}
.pps-support{background:#fff}.pps-support__grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.pps-support__grid h2{margin:0;font-size:clamp(44px,5vw,72px);line-height:1;letter-spacing:-.05em}.pps-cta{position:relative;min-height:650px;display:flex;align-items:center;color:#fff;background:#06090d}.pps-cta__media,.pps-cta__veil{position:absolute;inset:0}.pps-cta__media img{width:100%;height:100%;object-fit:cover}.pps-cta__veil{background:linear-gradient(90deg,rgba(3,6,10,.96),rgba(3,6,10,.72) 55%,rgba(3,6,10,.35))}.pps-cta__inner{position:relative;z-index:2}.pps-cta h2{max-width:900px}.pps-cta p{max-width:680px;color:#d2dbe4;font-size:19px}
@media(max-width:1100px){.pps-hero__inner{grid-template-columns:1fr}.pps-hero__statement{max-width:460px}.pps-proof__grid{grid-template-columns:1fr 1fr}.pps-proof__grid>div:nth-child(2){border-right:0}.pps-proof__grid>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.25)}.pps-split,.pps-iq__grid,.pps-support__grid{grid-template-columns:1fr;gap:50px}.pps-heading--wide{grid-template-columns:1fr;gap:24px}.pps-timeline{grid-template-columns:repeat(3,1fr);row-gap:45px}.pps-program-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.pps-v4 .wrap{width:min(100% - 36px,1320px)}.pps-hero{min-height:760px}.pps-hero__inner{padding:100px 0 90px}.pps-hero__copy h1{font-size:clamp(48px,15vw,70px)}.pps-hero__lead{font-size:17px}.pps-hero__statement{display:none}.pps-scroll{display:none}.pps-proof__grid{grid-template-columns:1fr}.pps-proof__grid>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.25)!important}.pps-section{padding:75px 0}.pps-heading h2,.pps-heading--wide h2,.pps-cta h2{font-size:clamp(40px,12vw,58px)}.pps-mini-grid,.pps-program-grid,.pps-iq__copy ul,.pps-specs{grid-template-columns:1fr}.pps-program-grid article.is-featured{transform:none}.pps-timeline{grid-template-columns:1fr 1fr}.pps-cta{min-height:600px}}
@media(max-width:440px){.pps-actions{display:grid}.pps-btn{width:100%}.pps-timeline{grid-template-columns:1fr}.pps-hero__copy h1{font-size:46px}.pps-proof__grid>div{padding-left:0;padding-right:0}}

/* ================================================================
   Compact page rhythm — v4.0.1
   Reduces unnecessary vertical whitespace across the site while
   preserving content, hierarchy and responsive behaviour.
   ================================================================ */
:root{--compact-section:72px;--compact-section-mobile:52px}
.section{padding:var(--compact-section) 0}
.section-heading{margin-bottom:30px}
.page-hero{padding:132px 0 62px}
.content-page{padding:62px 0;min-height:0}
.service-detail-section{padding:78px 0}
.contact-band{padding:62px 0}
.site-footer{padding:44px 0 20px}

/* Reduce decorative empty height in cards and media. */
.service-card{min-height:260px}
.service-card .icon{margin-bottom:72px}
.project-card{min-height:360px}
.project-card h3{margin-top:135px}
.process-card,.standard-card{min-height:220px}
.industry-grid span{min-height:105px}
.case-study-card{min-height:410px}
.product-visual img{height:360px}
.product-feature-grid article{min-height:205px}
.support-card{min-height:245px}
.support-card h2{margin-top:48px}
.insight-card{min-height:310px}
.insight-card h2{margin-top:78px}
.team-card{min-height:325px}
.capability-row{padding:34px 0}
.case-hero-card{min-height:485px}
.work-card{min-height:340px}

/* General page imagery. */
.about-launch-grid .photo-frame{height:430px}
.story-grid .photo-frame,.capability-row .photo-frame{height:340px}
.capability-row .photo-frame{height:300px}
.quote-panel{padding:34px}
.timeline article{padding:24px}
.acquisition-panel{gap:46px;padding:38px}

/* Piranha legacy and flagship layouts. */
.piranha-hero{min-height:680px}
.product-media{height:470px}
.wash-program{min-height:340px}
.wash-program h3{margin-top:44px}
.option-card{min-height:225px}
.option-card h3{margin-top:40px}
.download-card{min-height:275px}
.download-card h3{margin-top:45px}
.piranha-final-cta{padding:72px 0}
.pro-audience-section,.pro-future-section{padding-top:62px;padding-bottom:62px}
.pro-process-section{padding-top:62px;padding-bottom:64px}
.pro-gallery-section{padding-top:62px}
.pro-audience-card{min-height:205px}
.pro-audience-card h3{margin-top:34px}
.pro-process-track>div{min-height:160px}
.pro-process-track span{margin-bottom:28px}
.pro-gallery-grid figure{height:315px}

/* Flagship v4 experience: approximately 25% tighter. */
.pps-hero{min-height:700px}
.pps-hero__inner{padding:92px 0 78px}
.pps-hero__copy h1{margin-bottom:22px}
.pps-actions{margin-top:26px}
.pps-hero__statement{padding:23px}
.pps-proof__grid>div{padding:22px 24px}
.pps-section{padding:78px 0}
.pps-split{gap:72px}
.pps-heading--wide{gap:64px;margin-bottom:38px}
.pps-mini-grid{margin-top:30px}
.pps-mini-grid div{padding:20px}
.pps-program-grid article{min-height:235px;padding:26px}
.pps-program-grid h3{margin:30px 0 12px}
.pps-iq__grid{gap:65px}
.pps-iq__copy ul{margin-top:22px}
.pps-timeline li{padding-top:25px}
.pps-timeline strong{margin-top:24px}
.pps-specs div{padding:21px}
.pps-support__grid{gap:70px}
.pps-cta{min-height:500px}

/* Support and Knowledge Centre. */
.support-hero,.knowledge-hero{min-height:650px}
.support-path-card{min-height:285px}
.support-path-icon{margin:30px 0 20px}
.technical-support-card{min-height:350px}
.technical-support-card h3{margin-top:42px}
.support-download-card{min-height:290px}
.support-download-card h3{margin-top:45px}
.maintenance-panels{padding:40px}
.support-feature-media{height:470px}
.training-card{min-height:300px}
.training-card h3{margin-top:44px}
.support-final-cta,.knowledge-final-cta{padding:72px 0}
.knowledge-topic-card{min-height:185px}
.knowledge-topic-card strong{margin-top:42px}
.knowledge-card{min-height:355px}
.knowledge-card h3{margin-top:45px}
.knowledge-principles article{min-height:225px}
.knowledge-principles h3{margin-top:34px}
.knowledge-tool-card{min-height:265px}
.knowledge-tool-card h3{margin-top:42px}
.article-hero{padding:150px 0 65px}

@media(max-width:720px){
 .section{padding:var(--compact-section-mobile) 0}
 .page-hero{padding:112px 0 48px}
 .content-page,.service-detail-section{padding:50px 0}
 .section-heading{margin-bottom:24px}
 .contact-band{padding:52px 0}
 .project-card,.case-study-card,.work-card{min-height:320px}
 .product-visual img{height:260px}
 .about-launch-grid .photo-frame,.story-grid .photo-frame,.capability-row .photo-frame{height:270px}
 .pps-hero{min-height:650px}
 .pps-hero__inner{padding:85px 0 68px}
 .pps-section{padding:56px 0}
 .pps-split,.pps-iq__grid,.pps-support__grid{gap:38px}
 .pps-heading--wide{margin-bottom:28px}
 .pps-program-grid article{min-height:auto}
 .pps-cta{min-height:440px}
 .support-hero,.knowledge-hero{min-height:570px}
 .support-path-card,.technical-support-card,.support-download-card,.training-card,.knowledge-card,.knowledge-tool-card{min-height:auto}
 .maintenance-panels{padding:26px}
 .support-feature-media{height:320px}
 .article-hero{padding:125px 0 52px}
}


/* ===== v5.1 visual-editor / condensed-site refinements ===== */
.editable-page{min-height:50vh}
.text-link{display:inline-block;margin-top:14px;font-weight:800;text-decoration:none}
.contact-form-card{padding:38px;border-radius:8px;background:var(--light);border:1px solid var(--line)}
.contact-form-card h3{font-size:30px;margin:10px 0 12px}
.support-final-cta>.wrap{display:flex;align-items:end;justify-content:space-between;gap:40px}
@media(max-width:700px){.support-final-cta>.wrap{display:block}.support-final-cta .button{margin-top:20px}}

/* ===== v5.5.1 compact Support + Contact layouts ===== */
.compact-support-hero{min-height:520px}
.compact-support-hero .support-hero-content{padding-top:150px;padding-bottom:58px}
.compact-support-hero h1{max-width:940px;font-size:clamp(52px,6vw,86px);margin-bottom:18px}
.compact-support-hero p{font-size:18px}
.support-services-section{padding-top:58px;padding-bottom:58px}
.compact-heading{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:end;margin-bottom:28px}
.compact-heading h2{margin:6px 0 0;font-size:clamp(38px,4.5vw,60px);line-height:1}
.compact-heading>p{margin:0;color:var(--slate);font-size:17px}
.support-compact-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.support-compact-grid article{display:grid;grid-template-columns:42px 1fr;gap:16px;padding:24px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.support-compact-grid article>span,.support-checklist article>span,.contact-service-matrix article>span{color:var(--blue);font-size:12px;font-weight:850;letter-spacing:.12em}
.support-compact-grid h3,.support-checklist h3,.contact-service-matrix h3{margin:0 0 6px;font-size:23px}
.support-compact-grid p,.support-checklist p,.contact-service-matrix p{margin:0;color:var(--slate);font-size:14px;line-height:1.55}
.support-checklist-section{padding:58px 0}
.support-checklist-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.support-checklist-layout h2{margin:7px 0 14px;font-size:clamp(38px,4.5vw,60px);line-height:1}
.support-checklist-layout>div:first-child>p{color:#bfc8d2}
.support-checklist{border-top:1px solid rgba(255,255,255,.16)}
.support-checklist article{display:grid;grid-template-columns:42px 1fr;gap:15px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.support-checklist article>span{color:#4ca4ff}
.support-checklist h3{color:#fff;font-size:20px}
.support-checklist p{color:#bfc8d2}
.support-systems-section{padding-top:58px;padding-bottom:58px}
.compact-product-split{gap:60px}
.compact-product-split h2{font-size:clamp(34px,4vw,52px)}
.compact-final-cta{padding:54px 0}
.compact-final-cta h2{margin:5px 0 0;font-size:clamp(35px,4.5vw,56px);line-height:1}
.compact-contact-hero{padding-top:120px;padding-bottom:48px}
.contact-main-section{padding-top:55px;padding-bottom:55px}
.compact-contact-grid{gap:55px;align-items:start}
.compact-contact-grid h2{font-size:clamp(38px,4.5vw,58px)}
.direct-contact-list{margin-top:24px;border-top:1px solid var(--line)}
.direct-contact-list p{display:grid;grid-template-columns:130px 1fr;gap:15px;margin:0;padding:14px 0;border-bottom:1px solid var(--line)}
.direct-contact-list strong{color:var(--ink)}
.direct-contact-list a,.direct-contact-list span{color:var(--slate)}
.compact-contact-details{display:grid;grid-template-columns:1fr 1fr;margin-top:20px;border-top:0;gap:10px}
.compact-contact-details span{padding:13px 15px;border:1px solid var(--line);background:var(--light)}
.compact-enquiry-card{padding:30px}
.compact-enquiry-card h3{font-size:28px}
.enquiry-notes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}
.enquiry-notes p{margin:0;padding:15px;background:#fff;border:1px solid var(--line);font-size:14px}
.enquiry-notes strong,.enquiry-notes span{display:block}
.enquiry-notes span{margin-top:5px;color:var(--slate)}
.contact-help-section{padding:55px 0}
.contact-help-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:65px;align-items:start}
.contact-help-heading h2{margin:7px 0 14px;font-size:clamp(38px,4.5vw,58px);line-height:1}
.contact-help-heading p{margin:0;color:#f1f4f7;font-weight:500}
.contact-service-matrix{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.16)}
.contact-service-matrix article{display:grid;grid-template-columns:34px 1fr;gap:13px;padding:20px;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.contact-service-matrix article>span{color:#4ca4ff}
.contact-service-matrix h3{color:#fff;font-size:21px}
.contact-service-matrix p{color:#f1f4f7;font-weight:500}
@media(max-width:900px){
 .compact-heading,.support-checklist-layout,.contact-help-layout{grid-template-columns:1fr;gap:26px}
 .compact-contact-grid{gap:32px}
}
@media(max-width:700px){
 .compact-support-hero{min-height:500px}
 .compact-support-hero .support-hero-content{padding-top:135px;padding-bottom:48px}
 .support-compact-grid,.contact-service-matrix,.enquiry-notes,.compact-contact-details{grid-template-columns:1fr}
 .support-compact-grid article,.contact-service-matrix article{padding:18px}
 .support-checklist-section,.contact-help-section,.support-services-section,.support-systems-section,.contact-main-section{padding-top:44px;padding-bottom:44px}
 .direct-contact-list p{grid-template-columns:1fr;gap:4px}
 .compact-final-cta{padding:44px 0}
}

/* ===== v5.5.3 Support readability ===== */
.support-checklist-layout>div:first-child>p{color:#eef2f6}
.support-checklist p{color:#e1e7ed}


/* ===== v5.5.4 Support checklist contrast fix =====
   This section intentionally uses a white background with dark text so it
   remains readable regardless of inherited Support-page colour variables. */
.support-checklist-section{
  background:#ffffff !important;
  color:#111827 !important;
}
.support-checklist-layout h2{
  color:#111827 !important;
  font-weight:800;
}
.support-checklist-layout>div:first-child>p{
  color:#374151 !important;
  font-size:16px;
  font-weight:500;
  line-height:1.6;
}
.support-checklist{
  border-top:1px solid #cbd5e1 !important;
}
.support-checklist article{
  border-bottom:1px solid #cbd5e1 !important;
}
.support-checklist h3{
  color:#111827 !important;
  font-weight:750;
}
.support-checklist p{
  color:#374151 !important;
  font-size:15px;
  font-weight:500;
  line-height:1.6;
}
.support-checklist article>span{
  color:#006fe6 !important;
  font-weight:850;
}
.support-checklist-section .eyebrow{
  color:#006fe6 !important;
}


/* ===== v5.5.5 Contact "What Can We Help With?" ===== */
.contact-help-dark{
  background:#08101a !important;
  color:#ffffff !important;
  padding:58px 0 !important;
}
.contact-help-dark .contact-help-heading-wide{
  max-width:780px;
  margin-bottom:30px;
}
.contact-help-dark .contact-help-heading-wide .eyebrow{
  color:#2f91ff !important;
  font-weight:850;
}
.contact-help-dark .contact-help-heading-wide h2{
  margin:8px 0 12px;
  color:#ffffff !important;
  font-size:clamp(38px,4.6vw,60px);
  line-height:1.02;
  font-weight:850;
}
.contact-help-dark .contact-help-heading-wide p{
  margin:0;
  color:#e5e7eb !important;
  font-size:18px;
  line-height:1.55;
  font-weight:500;
}
.contact-help-dark .contact-service-matrix{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  border:0 !important;
}
.contact-help-dark .contact-service-matrix article{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:18px;
  padding:24px 26px;
  min-height:150px;
  align-items:start;
  background:#0d1621 !important;
  border:1px solid #44505d !important;
  border-radius:8px;
}
.contact-help-dark .contact-service-matrix article>span{
  display:flex;
  width:48px;
  height:48px;
  align-items:center;
  justify-content:center;
  border-radius:6px;
  background:#087cf0;
  color:#ffffff !important;
  font-size:18px;
  font-weight:850;
  letter-spacing:.04em;
}
.contact-help-dark .contact-service-matrix h3{
  margin:2px 0 9px;
  color:#ffffff !important;
  font-size:22px;
  line-height:1.2;
  font-weight:800;
}
.contact-help-dark .contact-service-matrix p{
  margin:0;
  color:#e5e7eb !important;
  font-size:15px;
  line-height:1.6;
  font-weight:500;
}
@media(max-width:760px){
  .contact-help-dark .contact-service-matrix{grid-template-columns:1fr}
  .contact-help-dark .contact-service-matrix article{min-height:0}
}


/* ===== v5.5.6 Strong Support services format ===== */
.support-services-strong{
  background:#08101a !important;
  color:#ffffff !important;
  padding:58px 0 !important;
}
.support-services-strong .support-services-heading{
  max-width:820px;
  margin-bottom:30px;
}
.support-services-strong .support-services-heading .eyebrow{
  color:#2f91ff !important;
  font-weight:850;
}
.support-services-strong .support-services-heading h2{
  margin:8px 0 12px;
  color:#ffffff !important;
  font-size:clamp(34px,4.2vw,54px);
  line-height:1.04;
  font-weight:850;
}
.support-services-strong .support-services-heading p{
  margin:0;
  color:#e5e7eb !important;
  font-size:18px;
  line-height:1.55;
  font-weight:500;
}
.support-service-matrix{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.support-service-matrix article{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:18px;
  padding:24px 26px;
  min-height:150px;
  align-items:start;
  background:#0d1621 !important;
  border:1px solid #44505d !important;
  border-radius:8px;
}
.support-service-matrix article>span{
  display:flex;
  width:48px;
  height:48px;
  align-items:center;
  justify-content:center;
  border-radius:6px;
  background:#087cf0;
  color:#ffffff !important;
  font-size:18px;
  font-weight:850;
  letter-spacing:.04em;
}
.support-service-matrix h3{
  margin:2px 0 9px;
  color:#ffffff !important;
  font-size:22px;
  line-height:1.2;
  font-weight:800;
}
.support-service-matrix p{
  margin:0;
  color:#e5e7eb !important;
  font-size:15px;
  line-height:1.6;
  font-weight:500;
}
@media(max-width:760px){
  .support-service-matrix{grid-template-columns:1fr}
  .support-service-matrix article{min-height:0}
}


/* =========================================================
   v5.6.0 SITE-WIDE HEADER / NAV / FOOTER
   ========================================================= */

/* Header */
.header-inner{
  gap:22px;
}
.site-nav ul{
  gap:23px;
}
.site-nav .piranha-nav-item>a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(255,55,61,.75);
  border-radius:4px;
  background:rgba(227,30,36,.08);
  color:#ff4b50 !important;
  font-weight:850;
  letter-spacing:.045em;
}
.site-nav .piranha-nav-item>a:hover,
.site-nav .piranha-nav-item.current-menu-item>a{
  background:#e31e24;
  border-color:#e31e24;
  color:#fff !important;
}
.header-actions{
  display:flex;
  align-items:center;
  gap:14px;
}
.header-phone{
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  color:#d9e1ea;
  font-size:12px;
  font-weight:750;
}
.header-phone span{
  color:#7f8d9c;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.header-phone:hover{
  color:#fff;
}
.header-cta{
  white-space:nowrap;
}

/* Contact page Facebook link */
.direct-contact-list p a[target="_blank"]{
  display:inline-flex;
  align-items:center;
  gap:7px;
}

/* Footer */
.site-footer{
  padding:52px 0 22px;
}
.footer-grid-v560{
  display:grid;
  grid-template-columns:2.15fr .72fr 1.12fr 1.18fr;
  gap:54px;
  align-items:start;
}
.footer-grid-v560 .footer-brand{
  display:flex;
  gap:18px;
  align-items:flex-start;
}
.footer-grid-v560 .footer-brand img{
  width:78px;
  height:auto;
  margin-top:2px;
}
.footer-grid-v560 .footer-brand h3,
.footer-grid-v560 .footer-column h3{
  margin:0 0 12px;
  color:#fff;
  font-size:13px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.footer-grid-v560 .footer-brand p{
  max-width:460px;
  margin:0 0 13px;
  color:#aab5c2;
  font-size:14px;
  line-height:1.65;
}
.footer-grid-v560 .footer-location{
  display:block;
  margin:0;
  color:#748293;
  font-size:12px;
  font-weight:650;
}
.footer-grid-v560 .footer-column>a,
.footer-grid-v560 .footer-column>span{
  display:block;
  margin:8px 0;
  color:#b9c3ce;
  font-size:14px;
  line-height:1.45;
}
.footer-grid-v560 .footer-column>a:hover{
  color:#fff;
}
.footer-grid-v560 .footer-piranha{
  padding-left:19px;
  border-left:2px solid #e31e24;
}
.footer-grid-v560 .footer-piranha h3{
  color:#ff4b50;
}
.footer-grid-v560 .footer-piranha p{
  margin:0 0 11px;
  color:#aab5c2;
  font-size:13px;
  line-height:1.55;
}
.footer-grid-v560 .footer-piranha .footer-piranha-link{
  color:#fff;
  font-weight:750;
}
.footer-grid-v560 .footer-piranha .footer-piranha-link span{
  display:inline;
  margin-left:4px;
  color:#ff4b50;
}
.footer-grid-v560 .footer-contact>a:first-of-type{
  color:#fff;
  font-size:17px;
  font-weight:800;
}
.footer-grid-v560 .footer-contact>a[href^="mailto:"]{
  overflow-wrap:anywhere;
}
.footer-grid-v560 .footer-facebook{
  display:inline-flex !important;
  align-items:center;
  gap:6px;
  margin-top:13px !important;
  color:#53a1ff !important;
  font-weight:800;
}
.footer-grid-v560 .footer-facebook span{
  display:inline;
  margin:0;
  color:inherit;
}
.footer-bottom{
  margin-top:38px;
}

@media(max-width:1180px){
  .header-phone{display:none}
  .footer-grid-v560{
    grid-template-columns:1.7fr .8fr 1fr;
  }
  .footer-grid-v560 .footer-contact{
    grid-column:2 / 4;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:24px;
  }
  .footer-grid-v560 .footer-contact h3{
    grid-column:1 / -1;
  }
}
@media(max-width:900px){
  .header-actions{display:none}
  .footer-grid-v560{
    grid-template-columns:1fr 1fr;
    gap:36px;
  }
  .footer-grid-v560 .footer-contact{
    grid-column:auto;
    display:block;
  }
}
@media(max-width:640px){
  .footer-grid-v560{
    grid-template-columns:1fr;
    gap:30px;
  }
  .footer-grid-v560 .footer-piranha{
    padding-left:15px;
  }
}


/* =========================================================
   v5.7.0 HOME LANDING PAGE
   ========================================================= */
.home-hero-v570{
  padding:78px 0 64px;
  background:
    radial-gradient(circle at 78% 22%,rgba(227,30,36,.13),transparent 28%),
    linear-gradient(135deg,#07101a 0%,#0b1520 100%);
  color:#fff;
}
.home-hero-grid-v570{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);
  gap:58px;
  align-items:center;
}
.home-hero-copy-v570 h1{
  max-width:790px;
  margin:10px 0 20px;
  color:#fff;
  font-size:clamp(46px,6vw,78px);
  line-height:.98;
  letter-spacing:-.035em;
}
.home-hero-copy-v570>p{
  max-width:760px;
  color:#cbd5df;
  font-size:17px;
  line-height:1.65;
}
.home-hero-copy-v570 .hero-lead-v570{
  color:#fff;
  font-size:21px;
  font-weight:650;
}
.hero-actions-v570{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}
.home-piranha-hero-v570{
  padding:32px;
  border:1px solid #394553;
  border-top:4px solid #e31e24;
  background:#0d1722;
  box-shadow:0 20px 50px rgba(0,0,0,.22);
}
.piranha-kicker-v570{
  color:#ff4b50;
  font-size:12px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.home-piranha-hero-v570 h2{
  margin:10px 0 13px;
  color:#fff;
  font-size:30px;
  line-height:1.08;
}
.home-piranha-hero-v570 p{
  color:#c6d0da;
  font-size:14px;
  line-height:1.65;
}
.piranha-tags-v570{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:20px 0;
}
.piranha-tags-v570 span{
  padding:6px 9px;
  border:1px solid #394553;
  border-radius:3px;
  color:#dce4ec;
  font-size:11px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.home-piranha-hero-v570>a{
  color:#fff;
  font-size:14px;
  font-weight:800;
}
.home-piranha-hero-v570>a span{color:#ff4b50}

.home-capability-strip-v570{
  background:#fff;
  border-bottom:1px solid #dfe4e9;
}
.home-capability-grid-v570{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.home-capability-grid-v570 a{
  padding:23px 22px;
  border-right:1px solid #dfe4e9;
}
.home-capability-grid-v570 a:first-child{border-left:1px solid #dfe4e9}
.home-capability-grid-v570 strong{
  display:block;
  margin-bottom:5px;
  color:#101820;
  font-size:15px;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.home-capability-grid-v570 span{
  color:#536170;
  font-size:13px;
}

.split-v570{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:80px;
  align-items:start;
}
.split-v570 h2,
.section-heading-row-v570 h2,
.home-why-v570>div>h2{
  margin:8px 0 0;
  font-size:clamp(34px,4vw,52px);
  line-height:1.05;
}
.section-lead-v570{
  margin-top:0;
  color:#17212b;
  font-size:20px;
  font-weight:650;
  line-height:1.55;
}
.text-link-v570{
  display:inline-block;
  margin-top:10px;
  color:#0b6fc8;
  font-weight:800;
}

.home-projects-v570{background:#f3f5f7}
.section-heading-row-v570{
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:end;
  margin-bottom:30px;
}
.project-proof-grid-v570{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.project-proof-grid-v570 article{
  padding:27px;
  background:#fff;
  border:1px solid #dce2e8;
  border-top:3px solid #1a7dd2;
}
.project-proof-grid-v570 article>span{
  color:#1a7dd2;
  font-size:12px;
  font-weight:850;
}
.project-proof-grid-v570 h3{
  margin:9px 0;
  color:#111820;
  font-size:21px;
}
.project-proof-grid-v570 p{
  margin:0;
  color:#4a5866;
  line-height:1.6;
}

.home-piranha-feature-v570{
  padding:68px 0;
  background:#08101a;
  color:#fff;
}
.home-piranha-feature-grid-v570{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:75px;
  align-items:center;
}
.home-piranha-feature-v570 h2{
  margin:8px 0 15px;
  color:#fff;
  font-size:clamp(38px,4.5vw,58px);
  line-height:1.02;
}
.home-piranha-feature-v570 p{
  max-width:650px;
  color:#c7d0da;
  font-size:17px;
  line-height:1.65;
}
.home-piranha-feature-v570 .button{margin-top:12px}
.piranha-feature-list-v570{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.piranha-feature-list-v570 span{
  padding:17px 18px;
  background:#0e1925;
  border:1px solid #394553;
  border-left:3px solid #e31e24;
  color:#fff;
  font-weight:750;
}

.why-grid-v570{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:30px;
}
.why-grid-v570 article{
  padding:24px 22px;
  border-top:3px solid #1a7dd2;
  background:#f4f6f8;
}
.why-grid-v570 h3{
  margin:0 0 9px;
  font-size:18px;
}
.why-grid-v570 p{
  margin:0;
  color:#52606e;
  font-size:14px;
  line-height:1.6;
}

.home-final-cta-v570{
  padding:45px 0;
  background:#e9eef3;
  border-top:1px solid #d5dde5;
}
.home-final-cta-v570>.wrap{
  display:flex;
  justify-content:space-between;
  gap:35px;
  align-items:center;
}
.home-final-cta-v570 h2{
  margin:6px 0 5px;
  font-size:34px;
}
.home-final-cta-v570 p{
  margin:0;
  color:#4b5967;
}

@media(max-width:900px){
  .home-hero-grid-v570,
  .split-v570,
  .home-piranha-feature-grid-v570{
    grid-template-columns:1fr;
    gap:35px;
  }
  .home-capability-grid-v570,
  .why-grid-v570{grid-template-columns:1fr 1fr}
  .project-proof-grid-v570{grid-template-columns:1fr}
}
@media(max-width:620px){
  .home-hero-v570{padding:55px 0 45px}
  .home-capability-grid-v570,
  .why-grid-v570,
  .piranha-feature-list-v570{grid-template-columns:1fr}
  .section-heading-row-v570,
  .home-final-cta-v570>.wrap{
    display:block;
  }
  .section-heading-row-v570>a{margin-top:18px}
  .home-final-cta-v570 .button{margin-top:22px}
}


/* v5.7.1 — pages contain their own designed hero headings.
   Hide the separate WordPress editor title field so the editor mirrors the live page. */
.editor-styles-wrapper .edit-post-visual-editor__post-title-wrapper,
.editor-styles-wrapper .wp-block-post-title,
.edit-post-visual-editor__post-title-wrapper,
.editor-visual-editor__post-title-wrapper{
  display:none !important;
}

/* Defensive front-end rule: never render a WordPress post-title block above
   the custom page content if one has been inserted by WordPress/editor markup. */
body.page .editable-page > .wp-block-post-title,
body.page .editable-page > h1.entry-title,
body.page .editable-page > header.entry-header{
  display:none !important;
}


/* =========================================================
   v5.7.3 HOME CAPABILITY STRIP LAYOUT FIX
   ========================================================= */
.home-capability-strip-v570{
  background:#ffffff !important;
  border-top:1px solid #dfe4e9 !important;
  border-bottom:1px solid #dfe4e9 !important;
  padding:0 !important;
}
.home-capability-grid-v570{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:0 !important;
  align-items:stretch !important;
}
.home-capability-grid-v570 a{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-height:104px !important;
  padding:19px 22px !important;
  margin:0 !important;
  border-left:1px solid #dfe4e9 !important;
  border-right:0 !important;
  border-top:0 !important;
  border-bottom:0 !important;
  background:#ffffff !important;
  text-decoration:none !important;
}
.home-capability-grid-v570 a:last-child{border-right:1px solid #dfe4e9 !important;}
.home-capability-grid-v570 a:hover{background:#f7f9fb !important;}
.home-capability-grid-v570 strong{
  display:block !important;
  margin:0 0 6px !important;
  color:#0c1722 !important;
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:850 !important;
  text-transform:uppercase !important;
  letter-spacing:.045em !important;
}
.home-capability-grid-v570 span{
  display:block !important;
  margin:0 !important;
  color:#425263 !important;
  font-size:13px !important;
  line-height:1.45 !important;
  font-weight:500 !important;
}
@media(max-width:900px){
  .home-capability-grid-v570{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .home-capability-grid-v570 a{min-height:92px !important;border-bottom:1px solid #dfe4e9 !important;}
  .home-capability-grid-v570 a:nth-child(2n){border-right:1px solid #dfe4e9 !important;}
}
@media(max-width:560px){
  .home-capability-grid-v570{grid-template-columns:1fr !important;}
  .home-capability-grid-v570 a{min-height:0 !important;padding:17px 18px !important;border-right:1px solid #dfe4e9 !important;}
}


/* =========================================================
   v5.7.4 HOME CAPABILITIES — MATCH SUPPORT / CONTACT FORMAT
   ========================================================= */
.home-capability-strip-v570{
  background:#08101a !important;
  border:0 !important;
  padding:42px 0 !important;
}

.home-capability-grid-v570{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px !important;
  align-items:stretch !important;
}

.home-capability-grid-v570 a{
  position:relative !important;
  display:grid !important;
  grid-template-columns:52px 1fr !important;
  grid-template-rows:auto auto !important;
  column-gap:18px !important;
  row-gap:7px !important;
  align-content:center !important;
  min-height:132px !important;
  padding:23px 25px !important;
  margin:0 !important;
  background:#0d1621 !important;
  border:1px solid #44505d !important;
  border-radius:8px !important;
  text-decoration:none !important;
  box-sizing:border-box !important;
}

.home-capability-grid-v570 a::before{
  grid-column:1 !important;
  grid-row:1 / 3 !important;
  display:flex !important;
  width:48px !important;
  height:48px !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:start !important;
  border-radius:6px !important;
  background:#087cf0 !important;
  color:#ffffff !important;
  font-size:18px !important;
  font-weight:850 !important;
  letter-spacing:.04em !important;
}

.home-capability-grid-v570 a:nth-child(1)::before{content:"01";}
.home-capability-grid-v570 a:nth-child(2)::before{content:"02";}
.home-capability-grid-v570 a:nth-child(3)::before{content:"03";}
.home-capability-grid-v570 a:nth-child(4)::before{content:"04";}

.home-capability-grid-v570 a:hover{
  background:#111d2a !important;
  border-color:#5a6876 !important;
  transform:none !important;
}

.home-capability-grid-v570 strong{
  grid-column:2 !important;
  grid-row:1 !important;
  display:block !important;
  margin:1px 0 0 !important;
  color:#ffffff !important;
  font-size:21px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  letter-spacing:.025em !important;
}

.home-capability-grid-v570 span{
  grid-column:2 !important;
  grid-row:2 !important;
  display:block !important;
  margin:0 !important;
  color:#e5e7eb !important;
  font-size:15px !important;
  line-height:1.55 !important;
  font-weight:500 !important;
}

@media(max-width:760px){
  .home-capability-grid-v570{
    grid-template-columns:1fr !important;
  }
  .home-capability-grid-v570 a{
    min-height:118px !important;
  }
}

@media(max-width:480px){
  .home-capability-strip-v570{
    padding:28px 0 !important;
  }
  .home-capability-grid-v570 a{
    grid-template-columns:46px 1fr !important;
    column-gap:14px !important;
    min-height:0 !important;
    padding:20px !important;
  }
  .home-capability-grid-v570 a::before{
    width:42px !important;
    height:42px !important;
    font-size:16px !important;
  }
  .home-capability-grid-v570 strong{
    font-size:18px !important;
  }
}


/* =========================================================
   v5.7.5 FORCE TRUE 2 × 2 HOME CAPABILITY GRID
   ========================================================= */
body.home .home-capability-strip-v570 .wrap.home-capability-grid-v570,
body.home .home-capability-grid-v570,
.editable-page .home-capability-grid-v570{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  grid-template-rows:auto auto !important;
  gap:16px !important;
  width:100% !important;
  max-width:none !important;
  align-items:stretch !important;
}

body.home .home-capability-grid-v570 > a,
.editable-page .home-capability-grid-v570 > a{
  display:grid !important;
  grid-template-columns:52px minmax(0,1fr) !important;
  grid-template-rows:auto auto !important;
  column-gap:18px !important;
  row-gap:6px !important;
  width:auto !important;
  max-width:none !important;
  min-width:0 !important;
  min-height:132px !important;
  margin:0 !important;
  padding:24px 26px !important;
  box-sizing:border-box !important;
  align-content:center !important;
  float:none !important;
  clear:none !important;
  position:relative !important;
}

body.home .home-capability-grid-v570 > a:nth-child(1),
.editable-page .home-capability-grid-v570 > a:nth-child(1){
  grid-column:1 !important;
  grid-row:1 !important;
}
body.home .home-capability-grid-v570 > a:nth-child(2),
.editable-page .home-capability-grid-v570 > a:nth-child(2){
  grid-column:2 !important;
  grid-row:1 !important;
}
body.home .home-capability-grid-v570 > a:nth-child(3),
.editable-page .home-capability-grid-v570 > a:nth-child(3){
  grid-column:1 !important;
  grid-row:2 !important;
}
body.home .home-capability-grid-v570 > a:nth-child(4),
.editable-page .home-capability-grid-v570 > a:nth-child(4){
  grid-column:2 !important;
  grid-row:2 !important;
}

/* Keep all four number badges visible and correctly numbered */
body.home .home-capability-grid-v570 > a::before,
.editable-page .home-capability-grid-v570 > a::before{
  display:flex !important;
  grid-column:1 !important;
  grid-row:1 / span 2 !important;
  width:48px !important;
  height:48px !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:start !important;
  justify-self:start !important;
  background:#087cf0 !important;
  color:#fff !important;
  border-radius:6px !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:850 !important;
}

body.home .home-capability-grid-v570 > a:nth-child(1)::before,
.editable-page .home-capability-grid-v570 > a:nth-child(1)::before{content:"01" !important;}
body.home .home-capability-grid-v570 > a:nth-child(2)::before,
.editable-page .home-capability-grid-v570 > a:nth-child(2)::before{content:"02" !important;}
body.home .home-capability-grid-v570 > a:nth-child(3)::before,
.editable-page .home-capability-grid-v570 > a:nth-child(3)::before{content:"03" !important;}
body.home .home-capability-grid-v570 > a:nth-child(4)::before,
.editable-page .home-capability-grid-v570 > a:nth-child(4)::before{content:"04" !important;}

body.home .home-capability-grid-v570 > a > strong,
.editable-page .home-capability-grid-v570 > a > strong{
  grid-column:2 !important;
  grid-row:1 !important;
}
body.home .home-capability-grid-v570 > a > span,
.editable-page .home-capability-grid-v570 > a > span{
  grid-column:2 !important;
  grid-row:2 !important;
}

@media(max-width:760px){
  body.home .home-capability-strip-v570 .wrap.home-capability-grid-v570,
  body.home .home-capability-grid-v570,
  .editable-page .home-capability-grid-v570{
    grid-template-columns:1fr !important;
  }

  body.home .home-capability-grid-v570 > a,
  .editable-page .home-capability-grid-v570 > a{
    grid-column:1 !important;
    grid-row:auto !important;
  }
}


/* =========================================================
   v5.7.7 HOME 2x2 FIX — IGNORE WORDPRESS WPAUTOP <br> ITEMS
   ========================================================= */
body.home .home-capability-grid-v570 > br,
body.home .home-capability-grid-v570 > p:empty,
.editable-page .home-capability-grid-v570 > br,
.editable-page .home-capability-grid-v570 > p:empty{
  display:none !important;
}

body.home .home-capability-strip-v570 .home-capability-grid-v570,
.editable-page .home-capability-grid-v570{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-auto-flow:row !important;
  gap:16px !important;
  width:100% !important;
}

body.home .home-capability-grid-v570 > a,
.editable-page .home-capability-grid-v570 > a{
  grid-column:auto !important;
  grid-row:auto !important;
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}

/* nth-of-type counts only the four anchor cards, unlike nth-child which was
   also counting WordPress-generated BR elements. */
body.home .home-capability-grid-v570 > a:nth-of-type(1)::before,
.editable-page .home-capability-grid-v570 > a:nth-of-type(1)::before{content:"01" !important;}
body.home .home-capability-grid-v570 > a:nth-of-type(2)::before,
.editable-page .home-capability-grid-v570 > a:nth-of-type(2)::before{content:"02" !important;}
body.home .home-capability-grid-v570 > a:nth-of-type(3)::before,
.editable-page .home-capability-grid-v570 > a:nth-of-type(3)::before{content:"03" !important;}
body.home .home-capability-grid-v570 > a:nth-of-type(4)::before,
.editable-page .home-capability-grid-v570 > a:nth-of-type(4)::before{content:"04" !important;}

@media(max-width:760px){
  body.home .home-capability-strip-v570 .home-capability-grid-v570,
  .editable-page .home-capability-grid-v570{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   v5.7.8 ABOUT — DIRECTOR PROFILE
   ========================================================= */
.about-director-v578{
  padding:68px 0;
  background:#08101a;
  color:#fff;
}
.director-card-v578{
  display:grid;
  grid-template-columns:minmax(270px,.72fr) minmax(0,1.28fr);
  gap:58px;
  align-items:start;
}
.director-intro-v578{
  padding:30px;
  border:1px solid #3e4a57;
  border-top:4px solid #e31e24;
  background:#0d1722;
}
.director-intro-v578 .eyebrow{
  color:#2f91ff !important;
}
.director-intro-v578 h2{
  margin:8px 0 7px;
  color:#fff !important;
  font-size:clamp(38px,4.5vw,56px);
  line-height:1;
}
.director-role-v578{
  margin:0 0 28px;
  color:#d7dfe7 !important;
  font-size:14px;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.director-role-v578 span{
  margin:0 5px;
  color:#e31e24;
}
.director-stat-v578{
  display:flex;
  gap:15px;
  align-items:center;
  padding-top:22px;
  border-top:1px solid #35414d;
}
.director-stat-v578 strong{
  color:#fff;
  font-size:52px;
  line-height:.9;
}
.director-stat-v578 span{
  color:#aeb9c4;
  font-size:12px;
  line-height:1.35;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.director-copy-v578 p{
  color:#d5dde5 !important;
  font-size:16px;
  line-height:1.7;
}
.director-copy-v578 .director-lead-v578{
  margin-top:0;
  color:#fff !important;
  font-size:19px;
  line-height:1.65;
}
.director-copy-v578 strong{
  color:#fff;
}
.director-capabilities-v578{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:26px;
}
.director-capabilities-v578 span{
  padding:8px 11px;
  border:1px solid #44515e;
  border-radius:4px;
  background:#0d1722;
  color:#e7edf3;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
@media(max-width:800px){
  .director-card-v578{
    grid-template-columns:1fr;
    gap:28px;
  }
}


/* =========================================================
   v5.7.9 BUSINESS CREDENTIALS + PIRANHA CONVERSION PATH
   ========================================================= */
.footer-bottom{
  flex-wrap:wrap;
}
.footer-bottom .footer-credentials{
  width:100%;
  color:#8996a4;
  font-size:11px;
  font-weight:650;
  letter-spacing:.025em;
}

/* About credentials */
.business-credentials-v579{
  padding:44px 0;
  background:#f1f4f6;
  border-top:1px solid #d8e0e6;
  border-bottom:1px solid #d8e0e6;
}
.business-credentials-inner-v579{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:55px;
  align-items:center;
}
.business-credentials-v579 h2{
  margin:7px 0 0;
  color:#101820;
  font-size:clamp(30px,3.5vw,44px);
  line-height:1.05;
}
.credential-list-v579{
  display:grid;
  grid-template-columns:1.6fr .9fr .9fr;
  border:1px solid #d2dae2;
  background:#fff;
}
.credential-list-v579 p{
  margin:0;
  padding:20px;
  border-right:1px solid #d2dae2;
}
.credential-list-v579 p:last-child{border-right:0}
.credential-list-v579 span{
  display:block;
  margin-bottom:6px;
  color:#657483;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.credential-list-v579 strong{
  display:block;
  color:#101820;
  font-size:14px;
  line-height:1.35;
}

/* Piranha enquiry conversion */
.piranha-conversion-v579{
  padding:66px 0;
  background:#08101a;
  color:#fff;
}
.piranha-conversion-heading-v579{
  max-width:840px;
  margin-bottom:30px;
}
.piranha-conversion-heading-v579 .eyebrow{
  color:#ff4b50 !important;
}
.piranha-conversion-heading-v579 h2{
  margin:8px 0 13px;
  color:#fff !important;
  font-size:clamp(38px,4.6vw,58px);
  line-height:1.03;
}
.piranha-conversion-heading-v579 p{
  margin:0;
  color:#d5dde5 !important;
  font-size:17px;
  line-height:1.65;
}
.piranha-conversion-grid-v579{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.piranha-conversion-grid-v579 article{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:18px;
  padding:28px;
  background:#0d1722;
  border:1px solid #44515e;
  border-top:3px solid #e31e24;
  border-radius:8px;
}
.conversion-number-v579{
  display:flex;
  width:48px;
  height:48px;
  align-items:center;
  justify-content:center;
  border-radius:6px;
  background:#e31e24;
  color:#fff;
  font-size:18px;
  font-weight:850;
}
.piranha-conversion-grid-v579 h3{
  margin:1px 0 10px;
  color:#fff !important;
  font-size:24px;
}
.piranha-conversion-grid-v579 p{
  margin:0 0 20px;
  color:#d8e0e7 !important;
  font-size:15px;
  line-height:1.65;
}
.piranha-conversion-grid-v579 .button{
  display:inline-flex;
}
.piranha-conversion-note-v579{
  margin:20px 0 0;
  color:#8795a4 !important;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.055em;
}

@media(max-width:900px){
  .business-credentials-inner-v579,
  .piranha-conversion-grid-v579{
    grid-template-columns:1fr;
  }
  .credential-list-v579{
    grid-template-columns:1fr;
  }
  .credential-list-v579 p{
    border-right:0;
    border-bottom:1px solid #d2dae2;
  }
  .credential-list-v579 p:last-child{border-bottom:0}
}


/* =========================================================
   v5.8.0 ABOUT — CRAIG MARRIOTT PORTRAIT
   ========================================================= */
.about-director-v578 .director-card-v578{
  grid-template-columns:minmax(330px,.82fr) minmax(0,1.18fr) !important;
  gap:48px !important;
}
.director-profile-v580{
  min-width:0;
}
.director-photo-v580{
  margin:0 0 16px;
  overflow:hidden;
  border:1px solid #3e4a57;
  border-bottom:0;
  border-radius:8px 8px 0 0;
  background:#0d1722;
}
.director-photo-v580 img{
  display:block;
  width:100%;
  height:390px;
  object-fit:cover;
  object-position:50% 24%;
}
.director-profile-v580 .director-intro-v578{
  border-top:4px solid #e31e24 !important;
  border-radius:0 0 8px 8px;
}
@media(max-width:800px){
  .about-director-v578 .director-card-v578{grid-template-columns:1fr !important;}
  .director-photo-v580 img{height:auto; max-height:520px; object-position:center top;}
}


/* =========================================================
   v5.8.1 PRIVACY POLICY + FOOTER LEGAL LINK
   ========================================================= */
.privacy-hero-v581{
  padding:68px 0 54px;
  background:#08101a;
  color:#fff;
}
.privacy-hero-v581 h1{
  margin:8px 0 14px;
  color:#fff;
  font-size:clamp(44px,5.5vw,68px);
  line-height:1;
}
.privacy-hero-v581 p{
  max-width:820px;
  margin:0;
  color:#d3dce5;
  font-size:18px;
  line-height:1.65;
}
.privacy-wrap-v581{max-width:900px}
.privacy-content-v581 h2{
  margin:34px 0 10px;
  color:#111820;
  font-size:25px;
}
.privacy-content-v581 p{
  color:#3e4d5b;
  line-height:1.72;
}
.privacy-updated-v581{
  padding-bottom:18px;
  border-bottom:1px solid #dce2e8;
}
.privacy-contact-v581{
  display:grid;
  gap:5px;
  margin-top:40px;
  padding:24px;
  background:#f1f4f6;
  border-left:4px solid #167ef0;
}
.privacy-contact-v581 strong{color:#111820}
.privacy-contact-v581 span{color:#536270}
.privacy-contact-v581 a{
  margin-top:8px;
  color:#0b6fc8;
  font-weight:800;
}
.footer-privacy-link,
.footer-legal-link a{
  color:#9ba8b5 !important;
  font-size:11px;
  text-decoration:none;
}
.footer-privacy-link:hover,
.footer-legal-link a:hover{color:#fff !important}


/* =========================================================
   v5.8.3 HEADER — STRONGER INFINITY BRANDING
   ========================================================= */
.site-header .header-inner{
  min-height:82px;
}

.site-header .brand{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  flex-shrink:0 !important;
  text-decoration:none !important;
}

.site-header .brand > img,
.site-header .brand .custom-logo-link img,
.site-header .brand img.custom-logo{
  display:block !important;
  width:auto !important;
  height:66px !important;
  max-height:66px !important;
  max-width:112px !important;
  object-fit:contain !important;
}

.site-header .brand-copy{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-width:max-content !important;
  line-height:1 !important;
}

.site-header .brand-copy strong{
  display:block !important;
  margin:0 !important;
  color:#007BFF !important;
  font-size:25px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.055em !important;
}

.site-header .brand-copy small{
  display:block !important;
  margin-top:4px !important;
  color:#007BFF !important;
  font-size:16px !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.09em !important;
}

@media(max-width:1180px){
  .site-header .brand > img,
  .site-header .brand .custom-logo-link img,
  .site-header .brand img.custom-logo{
    height:58px !important;
    max-height:58px !important;
    max-width:96px !important;
  }
  .site-header .brand-copy strong{font-size:20px !important;}
  .site-header .brand-copy small{font-size:13px !important;}
}

@media(max-width:760px){
  .site-header .header-inner{min-height:68px;}
  .site-header .brand{gap:9px !important;}
  .site-header .brand > img,
  .site-header .brand .custom-logo-link img,
  .site-header .brand img.custom-logo{
    height:48px !important;
    max-height:48px !important;
    max-width:78px !important;
  }
  .site-header .brand-copy strong{font-size:16px !important;}
  .site-header .brand-copy small{
    margin-top:3px !important;
    font-size:10px !important;
    letter-spacing:.065em !important;
  }
}


/* =========================================================
   v5.8.4 HOME — PIRANHA PRO SERIES LOGO
   ========================================================= */
.home-piranha-hero-v570 .piranha-home-logo-v584{
  display:block;
  width:190px;
  max-width:62%;
  height:auto;
  margin:0 0 18px;
  object-fit:contain;
}
@media(max-width:620px){
  .home-piranha-hero-v570 .piranha-home-logo-v584{
    width:170px;
    max-width:70%;
    margin-bottom:15px;
  }
}


/* v5.8.5 — transparent Piranha logo replacement */
.home-piranha-hero-v570 .piranha-home-logo-v584{
  width:220px !important;
  max-width:70% !important;
  background:transparent !important;
}


/* v5.8.6 — deterministic primary menu + Piranha logo cache bust */
.site-nav > ul.ips-primary-menu{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.site-nav > ul.ips-primary-menu > li{margin:0 !important;padding:0 !important;}
.home-piranha-hero-v570 .piranha-home-logo-v584{
  display:block !important;
  width:220px !important;
  max-width:70% !important;
  height:auto !important;
  background:transparent !important;
  margin:0 0 18px !important;
}
@media(max-width:900px){
  .site-nav > ul.ips-primary-menu{display:none !important;}
}


/* v5.8.7 — new tightly framed Piranha Pro Series logo */
.home-piranha-hero-v570 .piranha-home-logo-v584{
  display:block !important;
  width:290px !important;
  max-width:88% !important;
  height:auto !important;
  margin:0 0 20px !important;
  background:transparent !important;
  object-fit:contain !important;
}
@media(max-width:620px){
  .home-piranha-hero-v570 .piranha-home-logo-v584{
    width:250px !important;
    max-width:90% !important;
  }
}


/* =========================================================
   v5.8.8 HOME — PROFESSIONAL CAPABILITY ICONS + PIRANHA LOGO
   ========================================================= */

/* Remove old number badges completely */
.home-capability-grid-v570 > a::before{
  content:none !important;
  display:none !important;
}

/* Keep a true 2 × 2 desktop layout */
body.home .home-capability-grid-v570,
.editable-page .home-capability-grid-v570{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px !important;
}

body.home .home-capability-grid-v570 > a.home-capability-card-v588,
.editable-page .home-capability-grid-v570 > a.home-capability-card-v588{
  display:grid !important;
  grid-template-columns:56px minmax(0,1fr) !important;
  grid-template-rows:1fr !important;
  gap:18px !important;
  align-items:center !important;
  min-height:132px !important;
  padding:24px 26px !important;
  background:#0d1722 !important;
  border:1px solid #44515e !important;
  border-radius:8px !important;
}

.home-capability-icon-v588{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:50px !important;
  height:50px !important;
  border-radius:6px !important;
  background:#007BFF !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

.home-capability-icon-v588 img{
  display:block !important;
  width:30px !important;
  height:30px !important;
  object-fit:contain !important;
}

.home-capability-icon-v588.piranha-icon-v588{
  padding:4px !important;
}
.home-capability-icon-v588.piranha-icon-v588 img{
  width:44px !important;
  height:44px !important;
}

.home-capability-copy-v588{
  display:block !important;
  min-width:0 !important;
}
.home-capability-copy-v588 > strong{
  display:block !important;
  margin:0 0 6px !important;
  color:#fff !important;
  font-size:21px !important;
  font-weight:850 !important;
  line-height:1.15 !important;
  text-transform:uppercase !important;
}
.home-capability-copy-v588 > span{
  display:block !important;
  margin:0 !important;
  color:#e5e7eb !important;
  font-size:15px !important;
  line-height:1.5 !important;
}

/* Piranha feature logo replaces the text eyebrow only.
   The six feature rows stay exactly as text-only cards. */
.piranha-feature-logo-v588{
  display:block !important;
  width:250px !important;
  max-width:72% !important;
  height:auto !important;
  margin:0 0 18px !important;
  object-fit:contain !important;
  background:transparent !important;
}

.piranha-feature-list-v570 span::before,
.piranha-feature-list-v570 span::after{
  content:none !important;
  display:none !important;
}

@media(max-width:760px){
  body.home .home-capability-grid-v570,
  .editable-page .home-capability-grid-v570{
    grid-template-columns:1fr !important;
  }
  body.home .home-capability-grid-v570 > a.home-capability-card-v588,
  .editable-page .home-capability-grid-v570 > a.home-capability-card-v588{
    min-height:112px !important;
  }
  .piranha-feature-logo-v588{
    width:220px !important;
    max-width:82% !important;
  }
}


/* =========================================================
   v5.8.9 HOME — FINAL NUMBER REMOVAL / ICON CARD FIX
   ========================================================= */

/* Kill every legacy 01–04 pseudo badge, including the high-specificity
   v5.7.x nth-child and nth-of-type rules. */
body.home .home-capability-grid-v570 > a.home-capability-card-v588::before,
.editable-page .home-capability-grid-v570 > a.home-capability-card-v588::before,
body.home .home-capability-grid-v570 > a.home-capability-card-v588:nth-child(1)::before,
body.home .home-capability-grid-v570 > a.home-capability-card-v588:nth-child(2)::before,
body.home .home-capability-grid-v570 > a.home-capability-card-v588:nth-child(3)::before,
body.home .home-capability-grid-v570 > a.home-capability-card-v588:nth-child(4)::before,
body.home .home-capability-grid-v570 > a.home-capability-card-v588:nth-of-type(1)::before,
body.home .home-capability-grid-v570 > a.home-capability-card-v588:nth-of-type(2)::before,
body.home .home-capability-grid-v570 > a.home-capability-card-v588:nth-of-type(3)::before,
body.home .home-capability-grid-v570 > a.home-capability-card-v588:nth-of-type(4)::before,
.editable-page .home-capability-grid-v570 > a.home-capability-card-v588:nth-child(1)::before,
.editable-page .home-capability-grid-v570 > a.home-capability-card-v588:nth-child(2)::before,
.editable-page .home-capability-grid-v570 > a.home-capability-card-v588:nth-child(3)::before,
.editable-page .home-capability-grid-v570 > a.home-capability-card-v588:nth-child(4)::before,
.editable-page .home-capability-grid-v570 > a.home-capability-card-v588:nth-of-type(1)::before,
.editable-page .home-capability-grid-v570 > a.home-capability-card-v588:nth-of-type(2)::before,
.editable-page .home-capability-grid-v570 > a.home-capability-card-v588:nth-of-type(3)::before,
.editable-page .home-capability-grid-v570 > a.home-capability-card-v588:nth-of-type(4)::before{
  content:none !important;
  display:none !important;
  width:0 !important;
  height:0 !important;
}

/* Use flex for the new cards so legacy grid placement rules cannot push
   the icon and text on top of each other. */
body.home .home-capability-grid-v570 > a.home-capability-card-v588,
.editable-page .home-capability-grid-v570 > a.home-capability-card-v588{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:22px !important;
  min-height:132px !important;
  padding:24px 26px !important;
}

/* Explicitly neutralise old direct-child span/strong grid rules. */
body.home .home-capability-grid-v570 > a.home-capability-card-v588 > .home-capability-icon-v588,
body.home .home-capability-grid-v570 > a.home-capability-card-v588 > .home-capability-copy-v588,
.editable-page .home-capability-grid-v570 > a.home-capability-card-v588 > .home-capability-icon-v588,
.editable-page .home-capability-grid-v570 > a.home-capability-card-v588 > .home-capability-copy-v588{
  grid-column:auto !important;
  grid-row:auto !important;
  margin:0 !important;
}

body.home .home-capability-grid-v570 .home-capability-icon-v588,
.editable-page .home-capability-grid-v570 .home-capability-icon-v588{
  display:flex !important;
  flex:0 0 54px !important;
  width:54px !important;
  height:54px !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  border-radius:7px !important;
  background:#007BFF !important;
  overflow:hidden !important;
}

body.home .home-capability-grid-v570 .home-capability-icon-v588 > img,
.editable-page .home-capability-grid-v570 .home-capability-icon-v588 > img{
  display:block !important;
  width:32px !important;
  height:32px !important;
  max-width:32px !important;
  object-fit:contain !important;
}

body.home .home-capability-grid-v570 .piranha-icon-v588 > img,
.editable-page .home-capability-grid-v570 .piranha-icon-v588 > img{
  width:48px !important;
  height:48px !important;
  max-width:48px !important;
}

body.home .home-capability-grid-v570 .home-capability-copy-v588,
.editable-page .home-capability-grid-v570 .home-capability-copy-v588{
  display:block !important;
  flex:1 1 auto !important;
  min-width:0 !important;
}

body.home .home-capability-grid-v570 .home-capability-copy-v588 > strong,
.editable-page .home-capability-grid-v570 .home-capability-copy-v588 > strong{
  display:block !important;
  grid-column:auto !important;
  grid-row:auto !important;
  margin:0 0 6px !important;
  color:#fff !important;
  font-size:21px !important;
  line-height:1.15 !important;
}

body.home .home-capability-grid-v570 .home-capability-copy-v588 > span,
.editable-page .home-capability-grid-v570 .home-capability-copy-v588 > span{
  display:block !important;
  grid-column:auto !important;
  grid-row:auto !important;
  margin:0 !important;
  color:#e5e7eb !important;
  font-size:15px !important;
  line-height:1.45 !important;
}

@media(max-width:760px){
  body.home .home-capability-grid-v570 > a.home-capability-card-v588,
  .editable-page .home-capability-grid-v570 > a.home-capability-card-v588{
    min-height:110px !important;
    padding:20px !important;
    gap:16px !important;
  }
}


/* =========================================================
   v5.9.0 ABOUT — COMPACT INTRO / NO GENERIC ABOUT PHOTO
   ========================================================= */
.about-launch-hero-v590{
  padding:52px 0 38px !important;
  min-height:0 !important;
}
.about-launch-hero-v590 .about-launch-copy-v590{
  max-width:900px;
}
.about-launch-hero-v590 h1{
  margin-bottom:0 !important;
}
.about-story-v590{
  padding-top:46px !important;
}
.about-company-intro-v590{
  margin-top:0 !important;
  color:#18232e !important;
  font-size:18px !important;
  line-height:1.65 !important;
  font-weight:650 !important;
}
.about-story-v590 .story-grid{
  align-items:center !important;
  gap:48px !important;
}
.about-story-v590 .quote-panel{
  margin:0 !important;
}
@media(max-width:800px){
  .about-launch-hero-v590{
    padding:42px 0 30px !important;
  }
  .about-story-v590{
    padding-top:36px !important;
  }
}


/* =========================================================
   v5.9.1 ABOUT — CUSTOMER TESTIMONIALS
   ========================================================= */
.about-testimonials-v591{
  padding:66px 0;
  background:#08101a;
  color:#fff;
}
.testimonials-heading-v591{
  margin-bottom:28px;
}
.testimonials-heading-v591 h2{
  margin:8px 0 0;
  color:#fff !important;
  font-size:clamp(34px,4vw,50px);
  line-height:1.05;
}
.testimonial-grid-v591{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.testimonial-card-v591{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:30px;
  border:1px solid #44515e;
  border-top:3px solid #007BFF;
  border-radius:8px;
  background:#0d1722;
}
.testimonial-mark-v591{
  position:absolute;
  top:14px;
  right:22px;
  color:#1e90ff;
  font-size:58px;
  line-height:1;
  font-weight:900;
  opacity:.45;
}
.testimonial-card-v591 blockquote{
  margin:0;
  padding:0;
  border:0;
}
.testimonial-card-v591 blockquote p{
  margin:0 0 14px;
  color:#e5e7eb !important;
  font-size:16px;
  line-height:1.7;
}
.testimonial-card-v591 footer{
  margin-top:auto;
  padding-top:20px;
  border-top:1px solid #35414d;
}
.testimonial-card-v591 footer a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#fff !important;
  font-size:16px;
  font-weight:850;
}
.testimonial-card-v591 footer a span{
  color:#2f91ff;
}
.testimonial-card-v591 footer>span{
  display:block;
  margin-top:5px;
  color:#8f9dab;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
}
@media(max-width:800px){
  .testimonial-grid-v591{
    grid-template-columns:1fr;
  }
}


/* v5.9.2 — testimonial names are plain text, not external links */
.testimonial-name-v592{
  display:block;
  color:#fff !important;
  font-size:16px;
  font-weight:850;
}


/* =========================================================
   v5.9.4 ABOUT — COMPACT WHO WE ARE SECTION
   ========================================================= */
.about-story-v594{
  padding:48px 0 !important;
  background:#fff;
}
.about-story-grid-v594{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
  gap:44px;
  align-items:start;
}
.about-story-main-v594 h2{
  max-width:760px;
  margin:8px 0 18px;
  color:#111827;
  font-size:clamp(32px,3.7vw,48px);
  line-height:1.06;
  letter-spacing:-.02em;
}
.about-story-main-v594 p{
  max-width:780px;
  margin:0 0 13px;
  color:#3f4d5b;
  font-size:16px;
  line-height:1.65;
}
.about-story-main-v594 .about-company-intro-v594{
  color:#17212b;
  font-size:18px;
  font-weight:700;
}
.about-story-side-v594{
  margin-top:28px;
  padding:24px 26px;
  background:#f2f5f8;
  border-left:4px solid #007BFF;
}
.about-story-side-v594 blockquote{
  margin:0;
  padding:0;
  border:0;
  color:#111827;
  font-size:20px;
  line-height:1.45;
  font-weight:750;
}
.about-story-points-v594{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.about-story-points-v594 span{
  padding:7px 10px;
  border:1px solid #cfd8e2;
  border-radius:4px;
  background:#fff;
  color:#334150;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.045em;
}

@media(max-width:800px){
  .about-story-v594{
    padding:38px 0 !important;
  }
  .about-story-grid-v594{
    grid-template-columns:1fr;
    gap:24px;
  }
  .about-story-side-v594{
    margin-top:0;
  }
}


/* =========================================================
   v5.9.6 ABOUT — COMPACT BUSINESS CREDENTIALS
   ========================================================= */
.business-credentials-v579 .credentials-grid-v579{
  grid-template-columns:1.25fr .85fr 1.35fr !important;
}

.business-credentials-v579 .credentials-grid-v579 > p{
  min-width:0 !important;
  padding:20px 22px !important;
}

.business-credentials-v579 .credentials-grid-v579 > p > span{
  display:block !important;
  margin-bottom:8px !important;
  color:#596b7c !important;
  font-size:11px !important;
  line-height:1.1 !important;
  font-weight:800 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.business-credentials-v579 .credentials-grid-v579 > p > strong{
  display:block !important;
  color:#111827 !important;
  font-size:14px !important;
  line-height:1.25 !important;
  font-weight:850 !important;
  white-space:nowrap !important;
}

@media(max-width:900px){
  .business-credentials-v579 .credentials-grid-v579{
    grid-template-columns:1fr !important;
  }
  .business-credentials-v579 .credentials-grid-v579 > p > span,
  .business-credentials-v579 .credentials-grid-v579 > p > strong{
    white-space:normal !important;
  }
}


/* =========================================================
   v5.9.7 PIRANHA — HERO BRANDING + STANDARD SYSTEM CLEANUP
   ========================================================= */
.piranha-hero-content .piranha-page-hero-logo-v597{
  display:block !important;
  width:290px !important;
  max-width:62% !important;
  height:auto !important;
  margin:0 0 20px !important;
  object-fit:contain !important;
  background:transparent !important;
}

#platform .piranha-feature{
  padding-top:26px !important;
}

#platform .piranha-feature > h3{
  margin-top:0 !important;
}

@media(max-width:700px){
  .piranha-hero-content .piranha-page-hero-logo-v597{
    width:235px !important;
    max-width:76% !important;
    margin-bottom:16px !important;
  }
}


/* =========================================================
   v5.9.8 PIRANHA — HERO SCALE + EXPANDED STANDARD SYSTEM
   ========================================================= */
.piranha-hero-content h1{
  font-size:clamp(38px,4.6vw,62px) !important;
  line-height:1.02 !important;
  max-width:820px !important;
}

#platform .piranha-feature-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:16px !important;
}

#platform .piranha-feature{
  min-height:250px !important;
}

#platform .piranha-feature h3{
  font-size:20px !important;
  line-height:1.2 !important;
}

#platform .piranha-feature p{
  font-size:14px !important;
  line-height:1.6 !important;
}

@media(max-width:980px){
  #platform .piranha-feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:640px){
  .piranha-hero-content h1{
    font-size:clamp(34px,10vw,48px) !important;
  }
  #platform .piranha-feature-grid{
    grid-template-columns:1fr !important;
  }
  #platform .piranha-feature{
    min-height:0 !important;
  }
}


/* =========================================================
   v5.9.9 PIRANHA — CUSTOMER EXPERIENCE / NO NUMBER TILES
   ========================================================= */

/* Delivery steps no longer reserve a column for 01–06 badges */
.delivery-steps li{
  grid-template-columns:1fr !important;
  gap:0 !important;
  padding-left:0 !important;
}
.delivery-steps li > div{
  grid-column:1 !important;
}

/* Piranha conversion cards no longer reserve a badge column */
.piranha-conversion-grid-v579 article{
  grid-template-columns:1fr !important;
  gap:0 !important;
}
.piranha-conversion-grid-v579 article > div{
  grid-column:1 !important;
}

/* Defensive: hide any legacy generated numeric badges if old content survives cache */
.piranha-launch .conversion-number-v579,
.piranha-launch .delivery-steps li > span:first-child{
  display:none !important;
}


/* =========================================================
   v6.0.0 PIRANHA IQ TELEGRAM + AUTOMATION CLEANUP
   ========================================================= */

.piranha-automation-v600{
  background:#fff;
}

.piranha-automation-heading-v600{
  margin-bottom:28px !important;
}

.piranha-automation-grid-v600{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.piranha-automation-card-v600{
  padding:24px;
  background:#f5f7f9;
  border:1px solid #d9e0e7;
  border-top:3px solid #007BFF;
  border-radius:8px;
}

.automation-label-v600{
  display:inline-block;
  margin-bottom:12px;
  color:#007BFF;
  font-size:11px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.piranha-automation-card-v600 h3{
  margin:0 0 9px;
  color:#111827;
  font-size:20px;
  line-height:1.2;
}

.piranha-automation-card-v600 p{
  margin:0;
  color:#4a5866;
  font-size:14px;
  line-height:1.6;
}

.iq-list{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
}
.iq-list span{
  display:block !important;
  min-width:0 !important;
}

@media(max-width:900px){
  .piranha-automation-grid-v600{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .piranha-automation-grid-v600,
  .iq-list{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   v6.0.1 PROJECTS — FOUR MAJOR PROJECTS
   ========================================================= */
.projects-featured-section .equal-project-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:22px !important;
  align-items:start !important;
}

.projects-featured-section .equal-project-card{
  height:100%;
}

.project-media-placeholder-v601{
  min-height:230px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:28px;
  background:
    linear-gradient(145deg,rgba(0,123,255,.16),rgba(227,30,36,.09)),
    #101923;
  color:#fff;
}

.project-media-placeholder-v601 .project-media-kicker-v601{
  display:block;
  margin-bottom:8px;
  color:#3d9cff;
  font-size:11px;
  line-height:1.1;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.project-media-placeholder-v601 strong{
  max-width:500px;
  color:#fff;
  font-size:clamp(28px,3vw,40px);
  line-height:1.02;
  font-weight:850;
}

@media(max-width:900px){
  .projects-featured-section .equal-project-grid{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   v6.0.3 PROJECTS — NO EXPERTISE NUMBERS + HOME FOUR PROJECTS
   ========================================================= */

/* Technical Expertise: remove any legacy number presentation and close spacing */
.expertise-grid .expertise-card > span:first-child{
  display:none !important;
}
.expertise-grid .expertise-card{
  padding-top:24px !important;
}
.expertise-grid .expertise-card h3{
  margin-top:0 !important;
}

/* Home: four major projects matching the Projects page */
.home-major-project-grid-v603{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.home-major-project-v603{
  display:block;
  min-height:190px;
  padding:26px;
  background:#0d1722;
  border:1px solid #44515e;
  border-top:3px solid #007BFF;
  border-radius:8px;
  text-decoration:none !important;
  transition:transform .2s ease,border-color .2s ease;
}

.home-major-project-v603:hover{
  transform:translateY(-2px);
  border-color:#007BFF;
}

.home-project-type-v603{
  display:block;
  margin-bottom:12px;
  color:#3297ff;
  font-size:11px;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.075em;
  text-transform:uppercase;
}

.home-major-project-v603 h3{
  margin:0 0 10px;
  color:#fff !important;
  font-size:22px;
  line-height:1.2;
}

.home-major-project-v603 p{
  margin:0;
  color:#d7dee6 !important;
  font-size:14px;
  line-height:1.6;
}

@media(max-width:760px){
  .home-major-project-grid-v603{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   v6.0.4 HOME — COMPACT PROJECT TILES
   ========================================================= */
.home-projects-v604{
  padding:44px 0 !important;
  background:#f3f5f7;
}
.home-projects-heading-v604{
  margin-bottom:20px !important;
}
.home-projects-heading-v604 h2{
  font-size:clamp(30px,3.5vw,44px) !important;
}
.home-project-mini-grid-v604{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.home-project-mini-v604{
  display:block;
  min-height:112px;
  padding:18px 18px 16px;
  background:#0d1722;
  border:1px solid #44515e;
  border-top:3px solid #007BFF;
  border-radius:7px;
  text-decoration:none !important;
}
.home-project-mini-v604:hover{
  border-color:#007BFF;
  background:#111d29;
}
.home-project-mini-v604 > span{
  display:block;
  margin-bottom:8px;
  color:#3c9cff;
  font-size:10px;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.home-project-mini-v604 > strong{
  display:block;
  color:#fff;
  font-size:17px;
  line-height:1.25;
  font-weight:850;
}
@media(max-width:900px){
  .home-project-mini-grid-v604{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:560px){
  .home-project-mini-grid-v604{
    grid-template-columns:1fr;
  }
  .home-project-mini-v604{
    min-height:0;
  }
}


/* =========================================================
   v6.0.5 HOME — FORCE PROJECT TILES 4 / 2 / 1
   ========================================================= */
body.home .home-project-mini-grid-v604,
.editable-page .home-project-mini-grid-v604{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
  width:100% !important;
  align-items:stretch !important;
}

body.home .home-project-mini-grid-v604 > .home-project-mini-v604,
.editable-page .home-project-mini-grid-v604 > .home-project-mini-v604{
  display:block !important;
  width:auto !important;
  min-width:0 !important;
  min-height:112px !important;
  margin:0 !important;
  float:none !important;
  clear:none !important;
  grid-column:auto !important;
  grid-row:auto !important;
  box-sizing:border-box !important;
}

@media(max-width:1024px){
  body.home .home-project-mini-grid-v604,
  .editable-page .home-project-mini-grid-v604{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:767px){
  body.home .home-project-mini-grid-v604,
  .editable-page .home-project-mini-grid-v604{
    grid-template-columns:1fr !important;
  }

  body.home .home-project-mini-grid-v604 > .home-project-mini-v604,
  .editable-page .home-project-mini-grid-v604 > .home-project-mini-v604{
    min-height:0 !important;
  }
}


/* =========================================================
   v6.0.6 HOME PROJECTS — ROBUST 4 / 2 / 1 FLEX LAYOUT
   WordPress may inject BR/P elements inside editable content,
   so use flex and suppress those elements explicitly.
   ========================================================= */
body.home .home-project-mini-grid-v604,
.editable-page .home-project-mini-grid-v604{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  gap:14px !important;
  width:100% !important;
}

/* Ignore WordPress-generated formatting nodes inside the project row */
body.home .home-project-mini-grid-v604 > br,
body.home .home-project-mini-grid-v604 > p:empty,
.editable-page .home-project-mini-grid-v604 > br,
.editable-page .home-project-mini-grid-v604 > p:empty{
  display:none !important;
  flex:0 0 0 !important;
  width:0 !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
}

/* Four equal cards on desktop */
body.home .home-project-mini-grid-v604 > a.home-project-mini-v604,
.editable-page .home-project-mini-grid-v604 > a.home-project-mini-v604{
  display:block !important;
  flex:1 1 0 !important;
  width:0 !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:112px !important;
  margin:0 !important;
  float:none !important;
  clear:none !important;
  box-sizing:border-box !important;
}

/* Tablet: exactly 2 × 2 */
@media(max-width:1024px){
  body.home .home-project-mini-grid-v604,
  .editable-page .home-project-mini-grid-v604{
    flex-wrap:wrap !important;
  }

  body.home .home-project-mini-grid-v604 > a.home-project-mini-v604,
  .editable-page .home-project-mini-grid-v604 > a.home-project-mini-v604{
    flex:0 0 calc(50% - 7px) !important;
    width:calc(50% - 7px) !important;
  }
}

/* Mobile: one card per row */
@media(max-width:767px){
  body.home .home-project-mini-grid-v604,
  .editable-page .home-project-mini-grid-v604{
    display:block !important;
  }

  body.home .home-project-mini-grid-v604 > a.home-project-mini-v604,
  .editable-page .home-project-mini-grid-v604 > a.home-project-mini-v604{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    margin:0 0 12px !important;
  }

  body.home .home-project-mini-grid-v604 > a.home-project-mini-v604:last-of-type,
  .editable-page .home-project-mini-grid-v604 > a.home-project-mini-v604:last-of-type{
    margin-bottom:0 !important;
  }
}


/* =========================================================
   v6.0.7 HOME PROJECTS — EQUAL TILE WIDTHS
   ========================================================= */
body.home .home-project-mini-grid-v604,
.editable-page .home-project-mini-grid-v604{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  grid-auto-flow:row !important;
  gap:14px !important;
  width:100% !important;
  align-items:stretch !important;
}

body.home .home-project-mini-grid-v604 > a.home-project-mini-v604,
.editable-page .home-project-mini-grid-v604 > a.home-project-mini-v604{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:112px !important;
  margin:0 !important;
  padding:18px 18px 16px !important;
  box-sizing:border-box !important;
  grid-column:auto !important;
  grid-row:auto !important;
  align-self:stretch !important;
}

/* Neutralise any legacy flex sizing from v6.0.6 */
body.home .home-project-mini-grid-v604 > a.home-project-mini-v604,
.editable-page .home-project-mini-grid-v604 > a.home-project-mini-v604{
  flex:none !important;
}

/* Tablet: exactly 2 × 2 */
@media(max-width:1024px){
  body.home .home-project-mini-grid-v604,
  .editable-page .home-project-mini-grid-v604{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mobile: one card per row */
@media(max-width:767px){
  body.home .home-project-mini-grid-v604,
  .editable-page .home-project-mini-grid-v604{
    grid-template-columns:1fr !important;
  }

  body.home .home-project-mini-grid-v604 > a.home-project-mini-v604,
  .editable-page .home-project-mini-grid-v604 > a.home-project-mini-v604{
    width:100% !important;
    min-height:0 !important;
  }
}


/* =========================================================
   v6.0.8 HOME PROJECTS — FINAL EQUAL TILE SIZE + HEADING
   ========================================================= */
.home-projects-heading-v608{
  align-items:end !important;
  margin-bottom:22px !important;
}
.home-projects-heading-v608 h2{
  margin:7px 0 8px !important;
  font-size:clamp(34px,4vw,50px) !important;
  line-height:1.03 !important;
}
.home-projects-heading-v608 p{
  max-width:620px !important;
  margin:0 !important;
  color:#526171 !important;
  font-size:15px !important;
  line-height:1.55 !important;
}

/* Desktop: exactly four equal columns and exactly equal card heights. */
body.home .home-project-mini-grid-v604,
.editable-page .home-project-mini-grid-v604{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  grid-auto-rows:1fr !important;
  gap:14px !important;
  align-items:stretch !important;
}

body.home .home-project-mini-grid-v604 > a.home-project-mini-v604,
.editable-page .home-project-mini-grid-v604 > a.home-project-mini-v604{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:156px !important;
  min-height:156px !important;
  max-height:156px !important;
  margin:0 !important;
  padding:20px !important;
  box-sizing:border-box !important;
  align-self:stretch !important;
  flex:none !important;
}

/* Neutralise legacy first-child sizing if it survives from earlier revisions. */
body.home .home-project-mini-grid-v604 > a.home-project-mini-v604:first-child,
.editable-page .home-project-mini-grid-v604 > a.home-project-mini-v604:first-child{
  width:100% !important;
  height:156px !important;
  min-height:156px !important;
  max-height:156px !important;
  padding:20px !important;
  margin:0 !important;
}

/* Tablet: 2 x 2, equal sizes */
@media(max-width:1024px){
  body.home .home-project-mini-grid-v604,
  .editable-page .home-project-mini-grid-v604{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  body.home .home-project-mini-grid-v604 > a.home-project-mini-v604,
  .editable-page .home-project-mini-grid-v604 > a.home-project-mini-v604,
  body.home .home-project-mini-grid-v604 > a.home-project-mini-v604:first-child,
  .editable-page .home-project-mini-grid-v604 > a.home-project-mini-v604:first-child{
    height:142px !important;
    min-height:142px !important;
    max-height:142px !important;
  }
}

/* Mobile: full width and consistent compact height */
@media(max-width:767px){
  .home-projects-heading-v608{
    display:block !important;
  }
  .home-projects-heading-v608 .text-link-v570{
    display:inline-block !important;
    margin-top:16px !important;
  }

  body.home .home-project-mini-grid-v604,
  .editable-page .home-project-mini-grid-v604{
    grid-template-columns:1fr !important;
  }

  body.home .home-project-mini-grid-v604 > a.home-project-mini-v604,
  .editable-page .home-project-mini-grid-v604 > a.home-project-mini-v604,
  body.home .home-project-mini-grid-v604 > a.home-project-mini-v604:first-child,
  .editable-page .home-project-mini-grid-v604 > a.home-project-mini-v604:first-child{
    height:108px !important;
    min-height:108px !important;
    max-height:108px !important;
  }
}


/* =========================================================
   v6.0.9 HOME PROJECTS — GUARANTEED EQUAL DESKTOP TILES
   ========================================================= */
.home-projects-heading-v608 > div{
  width:auto !important;
  max-width:none !important;
}
.home-projects-intro-v609{
  max-width:none !important;
  width:max-content !important;
  white-space:nowrap !important;
}

/* Table layout guarantees four identical column widths. */
body.home .home-project-mini-grid-v604,
.editable-page .home-project-mini-grid-v604{
  display:table !important;
  table-layout:fixed !important;
  width:calc(100% + 42px) !important;
  margin-left:-14px !important;
  border-collapse:separate !important;
  border-spacing:14px 0 !important;
}

body.home .home-project-mini-grid-v604 > a.home-project-mini-v604,
.editable-page .home-project-mini-grid-v604 > a.home-project-mini-v604,
body.home .home-project-mini-grid-v604 > a.home-project-mini-v604:first-child,
body.home .home-project-mini-grid-v604 > a.home-project-mini-v604:last-child,
.editable-page .home-project-mini-grid-v604 > a.home-project-mini-v604:first-child,
.editable-page .home-project-mini-grid-v604 > a.home-project-mini-v604:last-child{
  display:table-cell !important;
  width:25% !important;
  min-width:25% !important;
  max-width:25% !important;
  height:156px !important;
  min-height:156px !important;
  max-height:156px !important;
  padding:20px !important;
  margin:0 !important;
  vertical-align:middle !important;
  box-sizing:border-box !important;
  float:none !important;
  position:static !important;
  transform:none !important;
}

/* Tablet returns to a strict 2-column grid. */
@media(max-width:1024px){
  .home-projects-intro-v609{
    width:auto !important;
    white-space:normal !important;
  }

  body.home .home-project-mini-grid-v604,
  .editable-page .home-project-mini-grid-v604{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
    width:100% !important;
    margin-left:0 !important;
  }

  body.home .home-project-mini-grid-v604 > a.home-project-mini-v604,
  .editable-page .home-project-mini-grid-v604 > a.home-project-mini-v604,
  body.home .home-project-mini-grid-v604 > a.home-project-mini-v604:first-child,
  body.home .home-project-mini-grid-v604 > a.home-project-mini-v604:last-child,
  .editable-page .home-project-mini-grid-v604 > a.home-project-mini-v604:first-child,
  .editable-page .home-project-mini-grid-v604 > a.home-project-mini-v604:last-child{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:142px !important;
    min-height:142px !important;
    max-height:142px !important;
  }
}

/* Mobile: stacked equal-width compact cards. */
@media(max-width:767px){
  body.home .home-project-mini-grid-v604,
  .editable-page .home-project-mini-grid-v604{
    grid-template-columns:1fr !important;
  }

  body.home .home-project-mini-grid-v604 > a.home-project-mini-v604,
  .editable-page .home-project-mini-grid-v604 > a.home-project-mini-v604,
  body.home .home-project-mini-grid-v604 > a.home-project-mini-v604:first-child,
  body.home .home-project-mini-grid-v604 > a.home-project-mini-v604:last-child,
  .editable-page .home-project-mini-grid-v604 > a.home-project-mini-v604:first-child,
  .editable-page .home-project-mini-grid-v604 > a.home-project-mini-v604:last-child{
    height:108px !important;
    min-height:108px !important;
    max-height:108px !important;
  }
}


/* =========================================================
   v6.1.0 HOME PROJECTS — CLEAN REBUILD
   Entirely new class names to avoid legacy layout conflicts
   ========================================================= */

.home-projects-v610{
  padding:48px 0 !important;
  background:#f3f5f7;
}

.home-projects-head-v610{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:28px;
}

.home-projects-head-copy-v610{
  min-width:0;
}

.home-projects-head-v610 h2{
  margin:7px 0 8px;
  color:#111827;
  font-size:clamp(36px,4vw,54px);
  line-height:1.02;
  letter-spacing:-.025em;
}

.home-projects-head-v610 p{
  margin:0;
  color:#526171;
  font-size:15px;
  line-height:1.5;
  white-space:nowrap;
}

.home-projects-viewall-v610{
  flex:0 0 auto;
  margin-bottom:4px;
}

.home-projects-grid-v610{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  align-items:stretch;
}

.home-project-card-v610{
  min-width:0;
  margin:0;
}

.home-project-card-v610 > a{
  position:relative;
  display:flex;
  flex-direction:column;
  width:100%;
  height:100%;
  min-height:290px;
  padding:28px;
  box-sizing:border-box;
  background:#0b1621;
  border:1px solid #42515f;
  border-top:3px solid #007BFF;
  border-radius:8px;
  text-decoration:none !important;
  overflow:hidden;
}

.home-project-card-v610 > a:hover{
  border-color:#007BFF;
  background:#0e1b28;
}

.home-project-icon-v610{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:54px;
  height:54px;
  margin-bottom:24px;
  color:#1688ff;
}

.home-project-icon-v610 svg{
  width:54px;
  height:54px;
  display:block;
}

.home-project-category-v610{
  display:block;
  color:#3c9cff;
  font-size:11px;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.075em;
  text-transform:uppercase;
}

.home-project-divider-v610{
  width:100%;
  height:1px;
  margin:16px 0 20px;
  background:#4b5966;
}

.home-project-card-v610 h3{
  margin:0;
  padding-right:28px;
  color:#fff !important;
  font-size:22px;
  line-height:1.25;
  font-weight:850;
}

.home-project-arrow-v610{
  position:absolute;
  right:26px;
  bottom:22px;
  color:#1688ff;
  font-size:32px;
  line-height:1;
  font-weight:500;
}

@media(max-width:1024px){
  .home-projects-grid-v610{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .home-project-card-v610 > a{
    min-height:210px;
  }

  .home-project-icon-v610{
    margin-bottom:16px;
  }
}

@media(max-width:767px){
  .home-projects-v610{
    padding:38px 0 !important;
  }

  .home-projects-head-v610{
    display:block;
    margin-bottom:20px;
  }

  .home-projects-head-v610 p{
    white-space:normal;
  }

  .home-projects-viewall-v610{
    display:inline-block;
    margin-top:14px;
  }

  .home-projects-grid-v610{
    grid-template-columns:1fr;
    gap:10px;
  }

  .home-project-card-v610 > a{
    display:grid;
    grid-template-columns:58px minmax(0,1fr) 30px;
    grid-template-rows:auto auto;
    column-gap:14px;
    align-items:center;
    min-height:96px;
    padding:16px 18px;
  }

  .home-project-icon-v610{
    grid-column:1;
    grid-row:1 / span 2;
    width:46px;
    height:46px;
    margin:0;
  }

  .home-project-icon-v610 svg{
    width:46px;
    height:46px;
  }

  .home-project-category-v610{
    grid-column:2;
    grid-row:1;
    align-self:end;
    margin-bottom:5px;
  }

  .home-project-divider-v610{
    display:none;
  }

  .home-project-card-v610 h3{
    grid-column:2;
    grid-row:2;
    align-self:start;
    padding:0;
    font-size:18px;
  }

  .home-project-arrow-v610{
    position:static;
    grid-column:3;
    grid-row:1 / span 2;
    justify-self:end;
    align-self:center;
    font-size:28px;
  }
}


/* =========================================================
   v6.1.1 HOME PROJECTS — COMPACT TILE SCALE
   ========================================================= */
.home-projects-v610{
  padding:42px 0 !important;
}

.home-projects-head-v610{
  margin-bottom:22px !important;
}

.home-project-card-v610 > a{
  min-height:220px !important;
  padding:22px !important;
}

.home-project-icon-v610{
  width:42px !important;
  height:42px !important;
  margin-bottom:16px !important;
}

.home-project-icon-v610 svg{
  width:42px !important;
  height:42px !important;
}

.home-project-category-v610{
  font-size:10px !important;
}

.home-project-divider-v610{
  margin:12px 0 15px !important;
}

.home-project-card-v610 h3{
  font-size:19px !important;
  line-height:1.22 !important;
  padding-right:24px !important;
}

.home-project-arrow-v610{
  right:20px !important;
  bottom:17px !important;
  font-size:27px !important;
}

@media(max-width:1024px){
  .home-project-card-v610 > a{
    min-height:175px !important;
    padding:20px !important;
  }

  .home-project-icon-v610{
    width:38px !important;
    height:38px !important;
    margin-bottom:12px !important;
  }

  .home-project-icon-v610 svg{
    width:38px !important;
    height:38px !important;
  }

  .home-project-card-v610 h3{
    font-size:18px !important;
  }
}

@media(max-width:767px){
  .home-project-card-v610 > a{
    min-height:88px !important;
    padding:14px 16px !important;
  }

  .home-project-icon-v610{
    width:40px !important;
    height:40px !important;
  }

  .home-project-icon-v610 svg{
    width:40px !important;
    height:40px !important;
  }

  .home-project-card-v610 h3{
    font-size:17px !important;
  }
}

/* v6.1.2 Support numbering removed */
.support-service-matrix article,
.support-checklist article{grid-template-columns:1fr !important;}
.support-service-matrix article > div,
.support-checklist article > div{grid-column:1 !important;}

/* =========================================================
   v6.1.3 SUPPORT PAGE REBUILD — NO ICONS / NO RESOURCES
   ========================================================= */
.support-systems-v613{padding:48px 0 34px!important;background:#f7f9fb}
.support-system-grid-v613{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.support-system-card-v613{display:flex;flex-direction:column;min-height:340px;padding:42px;background:#fff;border:1px solid #cbd9e8;border-radius:10px;box-shadow:0 5px 18px rgba(15,30,45,.05);box-sizing:border-box}
.support-system-card-v613 h2{margin:22px 0 22px;font-size:clamp(31px,3vw,44px);line-height:1.15;color:#111827}
.support-system-card-v613 p{margin:0 0 26px;font-size:16px;line-height:1.65;color:#263444}
.support-system-card-v613 .text-link{margin-top:auto}

.support-help-v613{padding:34px 0 48px!important;background:#fff}
.support-help-grid-v613{display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:22px;align-items:stretch}
.support-help-intro-v613{padding:20px 12px 20px 4px}
.support-help-intro-v613 h2{margin:10px 0 14px;font-size:38px;line-height:1.1;color:#111827}
.support-help-intro-v613 p{max-width:430px;margin:0;font-size:16px;line-height:1.6;color:#39495a}
.support-help-card-v613{min-height:150px;padding:30px;background:#f4f6f8;border-radius:8px;box-sizing:border-box}
.support-help-card-v613 h3{margin:0 0 12px;font-size:19px;color:#111827}
.support-help-card-v613 p{margin:0;font-size:15px;line-height:1.55;color:#263444}

.support-contact-strip-v613{display:grid;grid-template-columns:1.4fr 1.2fr auto;align-items:center;gap:28px;margin-top:26px;padding:26px 32px;background:#071727;border-radius:9px;color:#fff}
.support-contact-strip-v613>div{display:flex;flex-direction:column;gap:5px}
.support-contact-strip-v613 strong{font-size:19px}
.support-contact-strip-v613 span{font-size:14px;color:#d6dee7}
.support-contact-strip-v613 div:nth-child(2){padding-left:28px;border-left:1px solid #285276}
.support-contact-strip-v613 div:nth-child(2) a{color:#1688ff;font-size:20px;font-weight:800;text-decoration:none}
.support-contact-button-v613{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:1px solid #1688ff;border-radius:5px;color:#1688ff!important;font-weight:800;text-transform:uppercase;text-decoration:none!important;white-space:nowrap}

@media(max-width:1024px){
 .support-system-grid-v613{grid-template-columns:1fr}
 .support-system-card-v613{min-height:0}
 .support-help-grid-v613{grid-template-columns:repeat(3,1fr)}
 .support-help-intro-v613{grid-column:1/-1}
 .support-contact-strip-v613{grid-template-columns:1fr 1fr}
 .support-contact-button-v613{grid-column:1/-1}
}
@media(max-width:700px){
 .support-systems-v613{padding-top:32px!important}
 .support-system-card-v613{padding:28px 24px}
 .support-system-card-v613 h2{font-size:30px}
 .support-help-grid-v613{grid-template-columns:1fr}
 .support-help-intro-v613{grid-column:auto}
 .support-help-card-v613{min-height:0}
 .support-contact-strip-v613{grid-template-columns:1fr;padding:24px}
 .support-contact-strip-v613 div:nth-child(2){padding:16px 0 0;border-left:0;border-top:1px solid #285276}
 .support-contact-button-v613{grid-column:auto}
}


/* =========================================================
   v6.1.4 HOME — REAL IPS / PIRANHA PHOTOGRAPHY
   ========================================================= */

/* Hero: genuine Infinity team / Piranha installation */
.home-hero-photo-v614{
  position:relative;
  margin:0;
  min-height:500px;
  overflow:hidden;
  border:1px solid #3d4b59;
  border-top:3px solid #007BFF;
  border-radius:8px;
  background:#0d1722;
}
.home-hero-photo-v614 img{
  display:block;
  width:100%;
  height:100%;
  min-height:500px;
  object-fit:cover;
  object-position:50% 31%;
}

/* One Team: actual electrical/control work */
.home-integrated-v614{
  padding:58px 0 !important;
  background:#fff;
}
.home-integrated-grid-v614{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);
  gap:48px;
  align-items:center;
}
.home-integrated-copy-v614 h2{
  margin:8px 0 18px;
}
.home-technical-gallery-v614{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:14px;
  height:340px;
}
.home-technical-photo-v614{
  margin:0;
  overflow:hidden;
  border:1px solid #d2dbe4;
  border-radius:8px;
  background:#e9eef3;
}
.home-technical-photo-v614 img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.home-wall-photo-v614 img{
  object-position:center;
}
.home-cabinet-photo-v614 img{
  object-position:50% 42%;
}

/* Piranha: real machine operating */
.home-piranha-feature-v614{
  padding:62px 0;
  background:#08121d;
}
.home-piranha-feature-grid-v614{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);
  gap:44px;
  align-items:center;
}
.home-piranha-feature-copy-v614 h2{
  margin:12px 0 16px;
  color:#fff;
  font-size:clamp(36px,4.1vw,54px);
  line-height:1.04;
}
.home-piranha-feature-copy-v614 > p{
  margin:0 0 20px;
  max-width:610px;
  color:#d6dee7;
  font-size:16px;
  line-height:1.65;
}
.home-piranha-feature-copy-v614 .piranha-feature-list-v570{
  margin:0 0 24px;
}
.home-piranha-action-v614{
  margin:0;
  height:470px;
  overflow:hidden;
  border:1px solid #3d4b59;
  border-radius:8px;
  background:#0d1722;
}
.home-piranha-action-v614 img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 50%;
}

/* Tablet */
@media(max-width:1024px){
  .home-hero-photo-v614,
  .home-hero-photo-v614 img{
    min-height:420px;
  }
  .home-integrated-grid-v614{
    grid-template-columns:1fr;
    gap:28px;
  }
  .home-technical-gallery-v614{
    height:300px;
  }
  .home-piranha-feature-grid-v614{
    grid-template-columns:1fr;
    gap:28px;
  }
  .home-piranha-action-v614{
    height:390px;
  }
}

/* Mobile */
@media(max-width:700px){
  .home-hero-photo-v614{
    min-height:340px;
  }
  .home-hero-photo-v614 img{
    min-height:340px;
    object-position:50% 27%;
  }
  .home-integrated-v614{
    padding:42px 0 !important;
  }
  .home-technical-gallery-v614{
    grid-template-columns:1fr 1fr;
    height:220px;
    gap:10px;
  }
  .home-piranha-feature-v614{
    padding:46px 0;
  }
  .home-piranha-action-v614{
    height:290px;
  }
}


/* =========================================================
   v6.1.5 HOME — REVISED PIRANHA FEATURE PHOTOGRAPH
   ========================================================= */
.home-piranha-action-v614{
  height:470px !important;
  background:#07111c !important;
}
.home-piranha-action-v614 img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:50% 48% !important;
}
@media(max-width:1024px){
  .home-piranha-action-v614{height:390px !important;}
}
@media(max-width:700px){
  .home-piranha-action-v614{height:300px !important;}
  .home-piranha-action-v614 img{object-position:50% 45% !important;}
}


/* =========================================================
   v6.1.6 HOME — FINAL TWO-PHOTO LAYOUT
   ========================================================= */

/* Approved team image: compact, wide crop without excess floor. */
.home-hero-photo-v614{
  min-height:0 !important;
  height:390px !important;
}
.home-hero-photo-v614 img{
  min-height:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:50% 46% !important;
}

/* One Team returns to text-only layout — no unrelated technical photos. */
.home-integrated-v570{
  padding:48px 0 !important;
}

/* Keep the Piranha feature photograph compact. */
.home-piranha-action-v614{
  height:390px !important;
}

@media(max-width:1024px){
  .home-hero-photo-v614{height:350px !important;}
  .home-piranha-action-v614{height:350px !important;}
}

@media(max-width:700px){
  .home-hero-photo-v614{height:285px !important;}
  .home-hero-photo-v614 img{object-position:50% 45% !important;}
  .home-piranha-action-v614{height:270px !important;}
}


/* =========================================================
   v6.1.7 PROJECT PHOTOGRAPHY — PROJECTS + HOME
   ========================================================= */

/* Projects page gallery */
.project-gallery-v617{
  position:relative;
  overflow:hidden;
  background:#0c1620;
  border-radius:8px 8px 0 0;
}
.project-gallery-images-v617{
  display:grid;
  grid-template-columns:2fr 1fr;
  grid-template-rows:repeat(6,1fr);
  gap:4px;
  height:365px;
  background:#dbe2e8;
}
.project-gallery-v617 figure{
  margin:0;
  overflow:hidden;
  background:#dfe5ea;
}
.project-gallery-v617 img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .25s ease;
}
.project-gallery-main-v617{
  grid-column:1;
  grid-row:1 / 7;
}
.project-gallery-thumb-v617{
  grid-column:2;
}
/* Three supporting images */
.project-gallery-images-v617:has(figure:nth-child(4)) figure:nth-child(2){grid-row:1 / 3;}
.project-gallery-images-v617:has(figure:nth-child(4)) figure:nth-child(3){grid-row:3 / 5;}
.project-gallery-images-v617:has(figure:nth-child(4)) figure:nth-child(4){grid-row:5 / 7;}
/* Two supporting images */
.project-gallery-images-v617:not(:has(figure:nth-child(4))) figure:nth-child(2){grid-row:1 / 4;}
.project-gallery-images-v617:not(:has(figure:nth-child(4))) figure:nth-child(3){grid-row:4 / 7;}

.project-gallery-badge-v617{
  position:absolute;
  left:18px;
  bottom:16px;
  z-index:2;
  padding:8px 11px;
  background:rgba(6,17,28,.90);
  border-left:3px solid #007BFF;
  color:#fff;
  font-size:10px;
  font-weight:850;
  letter-spacing:.055em;
  text-transform:uppercase;
}

.equal-project-card:hover .project-gallery-main-v617 img{
  transform:scale(1.015);
}

/* Home project cards: use the same four primary project photographs */
.home-project-card-v610 > a{
  min-height:205px !important;
  padding:0 !important;
  justify-content:flex-start !important;
}
.home-project-photo-v617{
  flex:0 0 92px;
  width:100%;
  height:92px;
  margin:0 !important;
  overflow:hidden;
  background:#111c27;
  border-bottom:1px solid #334454;
}
.home-project-photo-v617 img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.home-project-card-v610 .home-project-category-v610{
  margin:13px 16px 0 !important;
}
.home-project-card-v610 .home-project-divider-v610{
  width:auto !important;
  margin:9px 16px 10px !important;
}
.home-project-card-v610 h3{
  margin:0 40px 16px 16px !important;
  padding:0 !important;
  font-size:18px !important;
  line-height:1.18 !important;
}
.home-project-card-v610 .home-project-arrow-v610{
  right:15px !important;
  bottom:12px !important;
  font-size:24px !important;
}

/* Remove any legacy icon footprint */
.home-project-card-v610 .home-project-icon-v610{
  display:none !important;
}

@media(max-width:1024px){
  .project-gallery-images-v617{height:330px;}
  .home-project-card-v610 > a{min-height:195px !important;}
  .home-project-photo-v617{height:88px;flex-basis:88px;}
}

@media(max-width:700px){
  .project-gallery-images-v617{
    grid-template-columns:1fr 1fr;
    grid-template-rows:220px 105px 105px;
    height:auto;
  }
  .project-gallery-main-v617{
    grid-column:1 / 3;
    grid-row:1 !important;
  }
  .project-gallery-thumb-v617{
    grid-column:auto;
    grid-row:auto !important;
  }
  .project-gallery-images-v617:has(figure:nth-child(4)) figure:nth-child(4){
    grid-column:1 / 3;
  }
  .project-gallery-badge-v617{
    left:12px;
    bottom:10px;
  }

  .home-project-card-v610 > a{
    display:grid !important;
    grid-template-columns:104px minmax(0,1fr) 30px !important;
    grid-template-rows:auto auto !important;
    min-height:92px !important;
    padding:0 !important;
    align-items:center !important;
  }
  .home-project-photo-v617{
    grid-column:1;
    grid-row:1 / 3;
    width:104px;
    height:92px;
    margin:0 !important;
  }
  .home-project-card-v610 .home-project-category-v610{
    grid-column:2;
    grid-row:1;
    margin:12px 8px 3px 14px !important;
    align-self:end;
  }
  .home-project-card-v610 .home-project-divider-v610{
    display:none !important;
  }
  .home-project-card-v610 h3{
    grid-column:2;
    grid-row:2;
    margin:0 8px 12px 14px !important;
    align-self:start;
    font-size:16px !important;
  }
  .home-project-card-v610 .home-project-arrow-v610{
    position:static !important;
    grid-column:3;
    grid-row:1 / 3;
    justify-self:center;
    align-self:center;
  }
}


/* =========================================================
   v6.1.8 PROJECT PHOTOGRAPHY — LARGER HOME TILE IMAGES
   ========================================================= */

/* Desktop: image occupies approximately half of each tile */
.home-project-card-v610 > a{
  min-height:220px !important;
}
.home-project-photo-v617{
  flex:0 0 110px !important;
  height:110px !important;
}
.home-project-photo-v617 img{
  object-fit:cover !important;
  object-position:center !important;
}

/* Keep copy compact below the larger image */
.home-project-card-v610 .home-project-category-v610{
  margin:11px 16px 0 !important;
}
.home-project-card-v610 .home-project-divider-v610{
  margin:8px 16px 9px !important;
}
.home-project-card-v610 h3{
  margin:0 38px 13px 16px !important;
}

/* Tablet: preserve roughly half-tile image balance */
@media(max-width:1024px){
  .home-project-card-v610 > a{
    min-height:210px !important;
  }
  .home-project-photo-v617{
    flex-basis:104px !important;
    height:104px !important;
  }
}

/* Mobile remains compact, with image on the left */
@media(max-width:700px){
  .home-project-card-v610 > a{
    grid-template-columns:122px minmax(0,1fr) 30px !important;
    min-height:102px !important;
  }
  .home-project-photo-v617{
    width:122px !important;
    height:102px !important;
  }
}


/* =========================================================
   v6.1.9 — CACHE-SAFE CONVEYOR IMAGE + TRUE 50% HOME PHOTOS
   ========================================================= */
body.home .home-project-card-v610 > a,
.editable-page .home-project-card-v610 > a{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  height:230px !important;
  min-height:230px !important;
  max-height:230px !important;
  padding:0 !important;
  box-sizing:border-box !important;
}

body.home .home-project-photo-v617,
.editable-page .home-project-photo-v617{
  display:block !important;
  flex:0 0 115px !important;
  width:100% !important;
  height:115px !important;
  min-height:115px !important;
  max-height:115px !important;
  margin:0 !important;
  overflow:hidden !important;
}

body.home .home-project-photo-v617 img,
.editable-page .home-project-photo-v617 img{
  display:block !important;
  width:100% !important;
  height:115px !important;
  object-fit:cover !important;
  object-position:center !important;
}

body.home .home-project-card-v610 .home-project-category-v610,
.editable-page .home-project-card-v610 .home-project-category-v610{
  margin:11px 15px 0 !important;
}

body.home .home-project-card-v610 .home-project-divider-v610,
.editable-page .home-project-card-v610 .home-project-divider-v610{
  margin:8px 15px 8px !important;
}

body.home .home-project-card-v610 h3,
.editable-page .home-project-card-v610 h3{
  margin:0 38px 12px 15px !important;
  font-size:17px !important;
  line-height:1.18 !important;
}

@media(max-width:1024px){
  body.home .home-project-card-v610 > a,
  .editable-page .home-project-card-v610 > a{
    height:220px !important;
    min-height:220px !important;
    max-height:220px !important;
  }
  body.home .home-project-photo-v617,
  .editable-page .home-project-photo-v617,
  body.home .home-project-photo-v617 img,
  .editable-page .home-project-photo-v617 img{
    flex-basis:110px !important;
    height:110px !important;
    min-height:110px !important;
    max-height:110px !important;
  }
}

@media(max-width:700px){
  body.home .home-project-card-v610 > a,
  .editable-page .home-project-card-v610 > a{
    display:grid !important;
    grid-template-columns:122px minmax(0,1fr) 30px !important;
    grid-template-rows:auto auto !important;
    height:102px !important;
    min-height:102px !important;
    max-height:102px !important;
  }
  body.home .home-project-photo-v617,
  .editable-page .home-project-photo-v617{
    grid-column:1 !important;
    grid-row:1 / 3 !important;
    width:122px !important;
    height:102px !important;
    min-height:102px !important;
    max-height:102px !important;
  }
  body.home .home-project-photo-v617 img,
  .editable-page .home-project-photo-v617 img{
    height:102px !important;
    min-height:102px !important;
    max-height:102px !important;
  }
}


/* =========================================================
   v6.2.0 HOME PROJECTS — ISOLATED 50/50 PHOTO TILE REBUILD
   ========================================================= */

.home-projects-grid-v620{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  align-items:stretch;
}

.home-project-card-v620{
  min-width:0;
  height:230px;
  margin:0;
}

.home-project-card-v620 > a{
  display:grid;
  grid-template-rows:50% 50%;
  width:100%;
  height:100%;
  padding:0;
  margin:0;
  overflow:hidden;
  box-sizing:border-box;
  background:#0b1621;
  border:1px solid #42515f;
  border-top:3px solid #007BFF;
  border-radius:8px;
  text-decoration:none !important;
}

.home-project-photo-v620{
  display:block;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden;
  background:#111c27;
}

.home-project-photo-v620 img{
  display:block;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  object-fit:cover;
  object-position:center;
}

/* Slight crop tuning by project */
.home-project-card-v620:nth-child(1) .home-project-photo-v620 img{object-position:50% 48%;}
.home-project-card-v620:nth-child(2) .home-project-photo-v620 img{object-position:50% 50%;}
.home-project-card-v620:nth-child(3) .home-project-photo-v620 img{object-position:50% 50%;}
.home-project-card-v620:nth-child(4) .home-project-photo-v620 img{object-position:50% 48%;}

.home-project-copy-v620{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:0;
  padding:14px 42px 14px 16px;
  box-sizing:border-box;
}

.home-project-category-v620{
  display:block;
  margin:0 0 10px;
  color:#3c9cff;
  font-size:10px;
  line-height:1.15;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.home-project-card-v620 h3{
  margin:0;
  color:#fff !important;
  font-size:17px;
  line-height:1.2;
  font-weight:850;
}

.home-project-arrow-v620{
  position:absolute;
  right:15px;
  bottom:14px;
  color:#1688ff;
  font-size:24px;
  line-height:1;
}

.home-project-card-v620 > a:hover{
  border-color:#007BFF;
  background:#0e1b28;
}

/* Tablet: 2 x 2, still exact 50/50 photo/content */
@media(max-width:1024px){
  .home-projects-grid-v620{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }
  .home-project-card-v620{
    height:220px;
  }
}

/* Mobile: stacked, still photo in top 50% */
@media(max-width:700px){
  .home-projects-grid-v620{
    grid-template-columns:1fr;
    gap:12px;
  }
  .home-project-card-v620{
    height:190px;
  }
  .home-project-copy-v620{
    padding:12px 42px 12px 15px;
  }
  .home-project-card-v620 h3{
    font-size:16px;
  }
}


/* =========================================================
   v6.2.1 HOME PROJECTS — ABSOLUTE 50/50 SPLIT
   Guarantees photo top half / copy bottom half.
   ========================================================= */

body.home .home-projects-grid-v620,
.editable-page .home-projects-grid-v620{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:20px !important;
  align-items:stretch !important;
}

body.home .home-project-card-v620,
.editable-page .home-project-card-v620{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:230px !important;
  min-height:230px !important;
  max-height:230px !important;
  margin:0 !important;
  padding:0 !important;
}

body.home .home-project-card-v620 > a,
.editable-page .home-project-card-v620 > a{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:230px !important;
  max-height:230px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  background:#0b1621 !important;
  border:1px solid #42515f !important;
  border-top:3px solid #007BFF !important;
  border-radius:8px !important;
  text-decoration:none !important;
}

/* PHOTO = exact top 50% */
body.home .home-project-card-v620 > a > .home-project-photo-v620,
.editable-page .home-project-card-v620 > a > .home-project-photo-v620{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  bottom:auto !important;
  display:block !important;
  width:100% !important;
  height:50% !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:transparent !important;
  z-index:1 !important;
}

body.home .home-project-card-v620 > a > .home-project-photo-v620 > img,
.editable-page .home-project-card-v620 > a > .home-project-photo-v620 > img{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:cover !important;
  object-position:center !important;
}

/* COPY = exact bottom 50% */
body.home .home-project-card-v620 > a > .home-project-copy-v620,
.editable-page .home-project-card-v620 > a > .home-project-copy-v620{
  position:absolute !important;
  top:50% !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  width:100% !important;
  height:50% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:14px 42px 14px 16px !important;
  box-sizing:border-box !important;
  background:#0b1621 !important;
  z-index:2 !important;
}

/* Suppress any WordPress formatting nodes between the two halves */
body.home .home-project-card-v620 > a > br,
body.home .home-project-card-v620 > a > p:empty,
.editable-page .home-project-card-v620 > a > br,
.editable-page .home-project-card-v620 > a > p:empty{
  display:none !important;
}

/* Crop tuning */
body.home .home-project-card-v620:nth-child(1) .home-project-photo-v620 img{object-position:50% 46% !important;}
body.home .home-project-card-v620:nth-child(2) .home-project-photo-v620 img{object-position:50% 50% !important;}
body.home .home-project-card-v620:nth-child(3) .home-project-photo-v620 img{object-position:50% 50% !important;}
body.home .home-project-card-v620:nth-child(4) .home-project-photo-v620 img{object-position:50% 48% !important;}

@media(max-width:1024px){
  body.home .home-projects-grid-v620,
  .editable-page .home-projects-grid-v620{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
  }

  body.home .home-project-card-v620,
  .editable-page .home-project-card-v620,
  body.home .home-project-card-v620 > a,
  .editable-page .home-project-card-v620 > a{
    height:220px !important;
    min-height:220px !important;
    max-height:220px !important;
  }
}

@media(max-width:700px){
  body.home .home-projects-grid-v620,
  .editable-page .home-projects-grid-v620{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  body.home .home-project-card-v620,
  .editable-page .home-project-card-v620,
  body.home .home-project-card-v620 > a,
  .editable-page .home-project-card-v620 > a{
    height:190px !important;
    min-height:190px !important;
    max-height:190px !important;
  }

  body.home .home-project-card-v620 > a > .home-project-copy-v620,
  .editable-page .home-project-card-v620 > a > .home-project-copy-v620{
    padding:12px 42px 12px 15px !important;
  }
}


/* =========================================================
   v6.2.2 HOME — COLLAGE HERO + PIRANHA SECOND
   ========================================================= */
.home-hero-photo-v614{
  height:390px !important;
  min-height:390px !important;
  background:#0b1621 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.home-hero-photo-v614 img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  object-fit:cover !important;
  object-position:center !important;
}
.home-hero-v570{
  padding-bottom:48px !important;
}
.home-piranha-feature-v614{
  margin-top:0 !important;
}
@media(max-width:1024px){
  .home-hero-photo-v614{
    height:340px !important;
    min-height:340px !important;
  }
}
@media(max-width:700px){
  .home-hero-photo-v614{
    height:250px !important;
    min-height:250px !important;
  }
}


/* =========================================================
   v6.2.3 HOME — PIRANHA PHOTO + 2 x 3 FEATURE TILE GRID
   Order remains identical to v6.2.2.
   ========================================================= */

/* Keep the Piranha image at the same display height, using the revised crop. */
.home-piranha-action-v614{
  height:390px !important;
}
.home-piranha-action-v614 img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}

/* Force exactly two columns and three rows for the six Piranha feature tiles. */
.home-piranha-feature-copy-v614 .piranha-feature-list-v570{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-template-rows:repeat(3,auto) !important;
  gap:10px !important;
  margin:0 0 24px !important;
}
.home-piranha-feature-copy-v614 .piranha-feature-list-v570 > span{
  display:flex !important;
  align-items:center !important;
  min-height:58px !important;
  padding:14px 16px !important;
  box-sizing:border-box !important;
  margin:0 !important;
}

/* Tablet retains two columns; mobile stacks for readability. */
@media(max-width:1024px){
  .home-piranha-action-v614{
    height:350px !important;
  }
  .home-piranha-feature-copy-v614 .piranha-feature-list-v570{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:700px){
  .home-piranha-action-v614{
    height:270px !important;
  }
  .home-piranha-feature-copy-v614 .piranha-feature-list-v570{
    grid-template-columns:1fr !important;
    grid-template-rows:none !important;
  }
}


/* =========================================================
   v6.2.4 HOME — FINAL PIRANHA SECTION
   Photo left / logo + copy right / compact 2x3 tiles
   ========================================================= */

.home-piranha-feature-v624{
  padding:48px 0 !important;
  background:#08121d !important;
}

.home-piranha-feature-grid-v624{
  display:grid !important;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) !important;
  gap:34px !important;
  align-items:center !important;
}

.home-piranha-action-v624{
  margin:0 !important;
  height:390px !important;
  overflow:hidden !important;
  border:1px solid #3d4b59 !important;
  border-radius:8px !important;
  background:#07111c !important;
}

.home-piranha-action-v624 img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}

.home-piranha-feature-copy-v624{
  min-width:0 !important;
}

.piranha-feature-logo-v624{
  display:block !important;
  width:220px !important;
  max-width:58% !important;
  height:auto !important;
  margin:0 0 12px !important;
  object-fit:contain !important;
  background:transparent !important;
}

.home-piranha-feature-copy-v624 h2{
  margin:0 0 12px !important;
  color:#fff !important;
  font-size:clamp(32px,3.5vw,48px) !important;
  line-height:1.04 !important;
}

.home-piranha-feature-copy-v624 > p{
  margin:0 0 16px !important;
  color:#d6dee7 !important;
  font-size:15px !important;
  line-height:1.55 !important;
}

/* Six compact text-only tiles: 2 columns x 3 rows */
.piranha-feature-list-v624{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
  margin:0 0 18px !important;
}

.piranha-feature-list-v624 > span{
  display:flex !important;
  align-items:center !important;
  min-height:42px !important;
  margin:0 !important;
  padding:9px 11px !important;
  box-sizing:border-box !important;
  background:#0e1925 !important;
  border:1px solid #394553 !important;
  border-left:3px solid #e31e24 !important;
  color:#fff !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:750 !important;
}

/* Explicitly suppress any inherited generated/icon pseudo-elements */
.piranha-feature-list-v624 > span::before,
.piranha-feature-list-v624 > span::after{
  content:none !important;
  display:none !important;
}

.home-piranha-feature-copy-v624 .button{
  margin-top:0 !important;
}

/* Tablet */
@media(max-width:1024px){
  .home-piranha-feature-grid-v624{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  .home-piranha-action-v624{
    height:350px !important;
  }

  .piranha-feature-logo-v624{
    width:200px !important;
  }

  .piranha-feature-list-v624{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* Mobile */
@media(max-width:700px){
  .home-piranha-feature-v624{
    padding:38px 0 !important;
  }

  .home-piranha-action-v624{
    height:270px !important;
  }

  .piranha-feature-logo-v624{
    width:175px !important;
    max-width:70% !important;
  }

  .piranha-feature-list-v624{
    grid-template-columns:1fr !important;
    gap:7px !important;
  }

  .piranha-feature-list-v624 > span{
    min-height:38px !important;
    padding:8px 10px !important;
    font-size:11px !important;
  }
}


/* =========================================================
   v6.2.5 HOME — PIRANHA PHOTO FULL-FRAME FIX
   Preserve the complete photograph instead of cropping it.
   ========================================================= */

.home-piranha-action-v624{
  height:390px !important;
  background:#07111c !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.home-piranha-action-v624 img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  background:#07111c !important;
}

/* Slightly increase available image width so the full photo reads better */
.home-piranha-feature-grid-v624{
  grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr) !important;
}

/* Tablet */
@media(max-width:1024px){
  .home-piranha-action-v624{
    height:350px !important;
  }
}

/* Mobile */
@media(max-width:700px){
  .home-piranha-action-v624{
    height:270px !important;
  }
}


/* =========================================================
   v6.2.6 HOME — FULL PIRANHA PHOTO + TALLER PROJECT TILES
   ========================================================= */

/* Preserve the full Piranha photo, including the left-side screen. */
.home-piranha-action-v624{
  height:390px !important;
  background:#07111c !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.home-piranha-action-v624 img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  background:#07111c !important;
}

/* Give the four Home project cards more vertical room so more of each photo is visible. */
body.home .home-project-card-v620,
.editable-page .home-project-card-v620,
body.home .home-project-card-v620 > a,
.editable-page .home-project-card-v620 > a{
  height:270px !important;
  min-height:270px !important;
  max-height:270px !important;
}

/* Keep the exact 50/50 split at the increased height. */
body.home .home-project-card-v620 > a > .home-project-photo-v620,
.editable-page .home-project-card-v620 > a > .home-project-photo-v620{
  height:50% !important;
}
body.home .home-project-card-v620 > a > .home-project-copy-v620,
.editable-page .home-project-card-v620 > a > .home-project-copy-v620{
  top:50% !important;
  height:50% !important;
}

/* Tablet */
@media(max-width:1024px){
  .home-piranha-action-v624{
    height:350px !important;
  }

  body.home .home-project-card-v620,
  .editable-page .home-project-card-v620,
  body.home .home-project-card-v620 > a,
  .editable-page .home-project-card-v620 > a{
    height:245px !important;
    min-height:245px !important;
    max-height:245px !important;
  }
}

/* Mobile */
@media(max-width:700px){
  .home-piranha-action-v624{
    height:270px !important;
  }

  body.home .home-project-card-v620,
  .editable-page .home-project-card-v620,
  body.home .home-project-card-v620 > a,
  .editable-page .home-project-card-v620 > a{
    height:210px !important;
    min-height:210px !important;
    max-height:210px !important;
  }
}


/* =========================================================
   v6.2.7 HOME — APPROVED PIRANHA SECTION
   Full photo left / logo + copy right / compact feature stack
   ========================================================= */

.home-piranha-feature-v627{
  padding:42px 0 !important;
  background:#07121d !important;
}

.home-piranha-feature-grid-v627{
  display:grid !important;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr) !important;
  gap:34px !important;
  align-items:center !important;
}

/* Tight frame: border hugs the full photograph */
.home-piranha-action-v627{
  margin:0 !important;
  padding:0 !important;
  height:500px !important;
  overflow:hidden !important;
  border:1px solid #40505e !important;
  border-radius:7px !important;
  background:#07121d !important;
  box-sizing:border-box !important;
}

.home-piranha-action-v627 img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:cover !important;
  object-position:center !important;
}

/* Right-side product content */
.home-piranha-feature-copy-v627{
  min-width:0 !important;
}

.piranha-feature-logo-v627{
  display:block !important;
  width:250px !important;
  max-width:62% !important;
  height:auto !important;
  margin:0 0 20px !important;
  background:transparent !important;
}

.home-piranha-feature-copy-v627 h2{
  margin:0 0 14px !important;
  color:#fff !important;
  font-size:clamp(40px,4vw,62px) !important;
  line-height:1.02 !important;
  letter-spacing:-.02em !important;
}

.home-piranha-feature-copy-v627 > p{
  margin:0 0 24px !important;
  max-width:680px !important;
  color:#e1e7ed !important;
  font-size:15px !important;
  line-height:1.55 !important;
}

/* Compact single-column feature stack matching approved mockup */
.piranha-feature-list-v627{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  max-width:460px !important;
  margin:0 0 24px !important;
}

.piranha-feature-list-v627 > span{
  display:flex !important;
  align-items:center !important;
  min-height:54px !important;
  margin:0 !important;
  padding:12px 18px !important;
  box-sizing:border-box !important;
  background:#0d1824 !important;
  border:1px solid #394957 !important;
  border-left:3px solid #e31e24 !important;
  color:#fff !important;
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:750 !important;
}

.piranha-feature-list-v627 > span::before,
.piranha-feature-list-v627 > span::after{
  content:none !important;
  display:none !important;
}

.text-link-v627{
  display:inline-flex !important;
  align-items:center !important;
  gap:12px !important;
  color:#fff !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:.03em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
}

.text-link-v627 span{
  color:#e31e24 !important;
  font-size:24px !important;
}

/* Tablet */
@media(max-width:1024px){
  .home-piranha-feature-grid-v627{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  .home-piranha-action-v627{
    height:460px !important;
  }

  .piranha-feature-logo-v627{
    width:220px !important;
  }

  .piranha-feature-list-v627{
    max-width:none !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* Mobile */
@media(max-width:700px){
  .home-piranha-feature-v627{
    padding:34px 0 !important;
  }

  .home-piranha-action-v627{
    height:330px !important;
  }

  .piranha-feature-logo-v627{
    width:180px !important;
    max-width:70% !important;
    margin-bottom:14px !important;
  }

  .home-piranha-feature-copy-v627 h2{
    font-size:34px !important;
  }

  .piranha-feature-list-v627{
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  .piranha-feature-list-v627 > span{
    min-height:46px !important;
    padding:10px 14px !important;
    font-size:12px !important;
  }
}


/* =========================================================
   v6.2.8 HOME — FINAL PIRANHA SECTION CORRECTION
   Full uncropped photo / no text overlay / compact 2x3 tiles
   ========================================================= */

.home-piranha-feature-v628{
  padding:34px 0 !important;
  background:#07121d !important;
}

.home-piranha-grid-v628{
  display:grid !important;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr) !important;
  gap:30px !important;
  align-items:center !important;
}

/* Photo frame hugs the image: no excess internal dark space */
.home-piranha-photo-v628{
  display:block !important;
  width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid #40505e !important;
  border-radius:7px !important;
  background:transparent !important;
  box-sizing:border-box !important;
}

.home-piranha-photo-v628 img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* Right column only: nothing may overlay the photograph */
.home-piranha-copy-v628{
  position:relative !important;
  display:block !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}

.home-piranha-logo-v628{
  display:block !important;
  width:235px !important;
  max-width:58% !important;
  height:auto !important;
  margin:0 0 14px !important;
  padding:0 !important;
  background:transparent !important;
}

.home-piranha-copy-v628 h2{
  margin:0 0 12px !important;
  color:#fff !important;
  font-size:clamp(36px,3.7vw,56px) !important;
  line-height:1.03 !important;
  letter-spacing:-.02em !important;
}

.home-piranha-copy-v628 > p{
  margin:0 0 18px !important;
  color:#e1e7ed !important;
  font-size:14px !important;
  line-height:1.5 !important;
}

/* Compact tiles: tight 2 columns x 3 rows */
.home-piranha-tiles-v628{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:8px !important;
  margin:0 0 18px !important;
  padding:0 !important;
}

.home-piranha-tiles-v628 > span{
  display:flex !important;
  align-items:center !important;
  min-height:46px !important;
  margin:0 !important;
  padding:9px 12px !important;
  box-sizing:border-box !important;
  background:#0d1824 !important;
  border:1px solid #394957 !important;
  border-left:3px solid #e31e24 !important;
  color:#fff !important;
  font-size:12px !important;
  line-height:1.18 !important;
  font-weight:750 !important;
}

.home-piranha-tiles-v628 > span::before,
.home-piranha-tiles-v628 > span::after{
  content:none !important;
  display:none !important;
}

.home-piranha-link-v628{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:850 !important;
  letter-spacing:.03em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
}

.home-piranha-link-v628 span{
  color:#e31e24 !important;
  font-size:21px !important;
}

/* Tablet: stack photo above copy; retain compact 2x3 tiles */
@media(max-width:1024px){
  .home-piranha-grid-v628{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  .home-piranha-logo-v628{
    width:210px !important;
  }

  .home-piranha-tiles-v628{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* Mobile: single-column tiles */
@media(max-width:700px){
  .home-piranha-feature-v628{
    padding:28px 0 !important;
  }

  .home-piranha-logo-v628{
    width:175px !important;
    max-width:68% !important;
  }

  .home-piranha-copy-v628 h2{
    font-size:33px !important;
  }

  .home-piranha-tiles-v628{
    grid-template-columns:1fr !important;
    gap:7px !important;
  }

  .home-piranha-tiles-v628 > span{
    min-height:42px !important;
    padding:8px 10px !important;
    font-size:11px !important;
  }
}


/* =========================================================
   v6.2.9 ABOUT — DIRECTOR PHOTO + AUTOMATION / CAD SHOWCASE
   ========================================================= */

/* Director image: use the new Craig/team photo and crop only excess floor. */
.director-photo-v580 img{
  height:420px !important;
  object-fit:cover !important;
  object-position:50% 23% !important;
}

/* Automation section */
.about-automation-v629{
  padding:48px 0 !important;
  background:#f4f6f8 !important;
}

.about-automation-heading-v629{
  max-width:900px !important;
  margin-bottom:26px !important;
}

.about-automation-heading-v629 h2{
  margin:8px 0 14px !important;
  color:#111827 !important;
  font-size:clamp(34px,4vw,50px) !important;
  line-height:1.04 !important;
}

.about-automation-heading-v629 p{
  margin:0 0 10px !important;
  color:#344454 !important;
  font-size:16px !important;
  line-height:1.6 !important;
}

.about-automation-gallery-v629{
  display:grid !important;
  grid-template-columns:1.15fr 1.15fr .85fr .85fr !important;
  gap:14px !important;
  align-items:stretch !important;
}

.automation-photo-v629{
  position:relative !important;
  margin:0 !important;
  height:310px !important;
  overflow:hidden !important;
  border:1px solid #cbd5df !important;
  border-radius:8px !important;
  background:#111b25 !important;
}

.automation-photo-v629 img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

.automation-panel-main-v629 img{
  object-position:50% 42% !important;
}

.automation-panel-servo-v629 img{
  object-position:50% 50% !important;
}

/* CAD drawings should remain legible rather than being aggressively cropped. */
.automation-cad-br-v629 img,
.automation-cad-pr-v629 img{
  object-fit:contain !important;
  padding:10px !important;
  box-sizing:border-box !important;
  background:#1f2730 !important;
}

.automation-photo-v629 figcaption{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  padding:10px 12px !important;
  background:rgba(5,16,27,.9) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:750 !important;
  line-height:1.2 !important;
}

.about-automation-footer-v629{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
  margin-top:20px !important;
}

.about-automation-footer-v629 p{
  margin:0 !important;
  color:#243545 !important;
  font-size:14px !important;
  font-weight:700 !important;
}

/* Tablet */
@media(max-width:1024px){
  .about-automation-gallery-v629{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .automation-photo-v629{
    height:300px !important;
  }

  .about-automation-footer-v629{
    align-items:flex-start !important;
    flex-direction:column !important;
  }
}

/* Mobile */
@media(max-width:700px){
  .director-photo-v580 img{
    height:330px !important;
    object-position:50% 20% !important;
  }

  .about-automation-v629{
    padding:36px 0 !important;
  }

  .about-automation-gallery-v629{
    grid-template-columns:1fr !important;
  }

  .automation-photo-v629{
    height:260px !important;
  }
}


/* =========================================================
   v6.3.0 ABOUT — RESTORE CRAIG PORTRAIT / MOVE TEAM PHOTO
   ========================================================= */

/* Restore original Craig-only director portrait presentation. */
.director-photo-v580 img{
  height:390px !important;
  object-fit:cover !important;
  object-position:50% 24% !important;
}

/* Small supporting team image within Who We Are. */
.about-who-team-v630{
  width:min(100%, 330px) !important;
  margin:12px 0 18px !important;
  overflow:hidden !important;
  border-radius:7px !important;
  border:1px solid #d6dde5 !important;
  background:#0d1722 !important;
}

.about-who-team-v630 img{
  display:block !important;
  width:100% !important;
  height:185px !important;
  object-fit:cover !important;
  object-position:50% 28% !important;
}

@media(max-width:700px){
  .director-photo-v580 img{
    height:auto !important;
    max-height:520px !important;
    object-position:center top !important;
  }

  .about-who-team-v630{
    width:min(100%, 290px) !important;
    margin-bottom:16px !important;
  }

  .about-who-team-v630 img{
    height:165px !important;
  }
}


/* v6.3.1 About — larger team photo on right of Who We Are */
.about-who-team-v630{display:none !important;}

.about-story-grid-v594{
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr) !important;
  gap:42px !important;
  align-items:start !important;
}

.about-who-team-v631{
  width:100% !important;
  margin:0 0 18px !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid #d6dde5 !important;
  border-radius:8px !important;
  background:#0d1722 !important;
}

.about-who-team-v631 img{
  display:block !important;
  width:100% !important;
  height:440px !important;
  object-fit:cover !important;
  object-position:50% 8% !important;
}

@media(max-width:1024px){
  .about-story-grid-v594{
    grid-template-columns:minmax(0,1fr) minmax(340px,.9fr) !important;
    gap:28px !important;
  }
  .about-who-team-v631 img{
    height:390px !important;
    object-position:50% 7% !important;
  }
}

@media(max-width:760px){
  .about-story-grid-v594{grid-template-columns:1fr !important;}
  .about-who-team-v631 img{
    height:360px !important;
    object-position:50% 6% !important;
  }
}


/* =========================================================
   v6.3.3 PIRANHA — PHOTO / VIDEO PRODUCT SHOWCASE
   ========================================================= */

.piranha-showcase-v633{background:#fff}

/* Hero */
.piranha-showcase-hero-v633{
  position:relative;
  min-height:640px;
  overflow:hidden;
  background:#07121d;
}
.piranha-showcase-hero-image-v633{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 48%;
}
.piranha-showcase-hero-overlay-v633{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(5,13,22,.94) 0%,rgba(5,13,22,.74) 44%,rgba(5,13,22,.14) 78%);
}
.piranha-showcase-hero-content-v633{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:640px;
  max-width:760px;
  padding-top:52px;
  padding-bottom:52px;
}
.piranha-showcase-logo-v633{
  width:270px;
  max-width:52%;
  height:auto;
  margin:0 0 22px;
}
.piranha-showcase-hero-content-v633 h1{
  margin:0 0 20px;
  color:#fff;
  font-size:clamp(46px,5.4vw,76px);
  line-height:.98;
  letter-spacing:-.035em;
}
.piranha-showcase-hero-content-v633 p{
  max-width:700px;
  margin:0 0 28px;
  color:#e3e9ef;
  font-size:18px;
  line-height:1.6;
}

/* Intro */
.piranha-intro-v633{padding:58px 0 !important}
.piranha-intro-grid-v633{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:64px;
  align-items:start;
}
.piranha-intro-grid-v633 h2{
  margin:8px 0 0;
  font-size:clamp(38px,4.2vw,58px);
  line-height:1.02;
}
.piranha-intro-grid-v633 p{font-size:16px;line-height:1.65}
.piranha-lead-v633{font-size:19px !important;font-weight:700;color:#172536}

/* Video */
.piranha-video-section-v633{padding:58px 0 !important}
.piranha-video-heading-v633{margin-bottom:28px !important}
.piranha-video-frame-v633{
  overflow:hidden;
  border:1px solid #3b4b59;
  border-radius:10px;
  background:#000;
  box-shadow:0 18px 50px rgba(0,0,0,.24);
}
.piranha-video-frame-v633 video{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  max-height:720px;
  background:#000;
}
.piranha-video-fallback-v633{
  margin:12px 0 0;
  color:#aab8c5;
  font-size:12px;
}
.piranha-video-fallback-v633 a{color:#61aaff}

/* Wash process */
.piranha-process-v633{padding:60px 0 !important}
.piranha-process-gallery-v633{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  grid-template-rows:repeat(3,205px);
  gap:12px;
}
.piranha-process-gallery-v633 figure{
  position:relative;
  margin:0;
  overflow:hidden;
  border-radius:9px;
  background:#0b1722;
}
.piranha-process-main-v633{grid-row:1 / 4}
.piranha-process-gallery-v633 img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.piranha-process-main-v633 img{object-position:50% 50%}
.piranha-process-gallery-v633 figcaption{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:18px 20px;
  background:linear-gradient(0deg,rgba(2,9,16,.94),rgba(2,9,16,0));
  color:#fff;
}
.piranha-process-gallery-v633 figcaption strong,
.piranha-process-gallery-v633 figcaption span{display:block}
.piranha-process-gallery-v633 figcaption strong{font-size:16px}
.piranha-process-gallery-v633 figcaption span{margin-top:3px;color:#d5dee7;font-size:12px}

/* Standard specs */
.piranha-standard-v633{padding:60px 0 !important}
.piranha-standard-grid-v633{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.piranha-standard-grid-v633 article{
  min-height:150px;
  padding:20px;
  background:#0d1925;
  border:1px solid #344453;
  border-top:3px solid #e31e24;
  border-radius:7px;
}
.piranha-standard-grid-v633 h3{margin:0 0 9px;color:#fff;font-size:17px}
.piranha-standard-grid-v633 p{margin:0;color:#cbd6df;font-size:13px;line-height:1.5}

/* Technical plant section */
.piranha-technical-v633{padding:60px 0 !important}
.piranha-technical-layout-v633{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:14px;
  min-height:650px;
}
.piranha-technical-layout-v633 figure{
  position:relative;
  margin:0;
  overflow:hidden;
  border-radius:8px;
  background:#101b25;
}
.piranha-technical-layout-v633 img{display:block;width:100%;height:100%;object-fit:cover}
.piranha-technical-large-v633 img{object-position:50% 50%}
.piranha-technical-stack-v633{
  display:grid;
  grid-template-rows:repeat(3,1fr);
  gap:14px;
}
.piranha-technical-layout-v633 figcaption{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:11px 14px;
  background:rgba(4,14,24,.88);
  color:#fff;
  font-size:12px;
  font-weight:750;
}

/* Customer experience */
.piranha-customer-v633{padding:58px 0 !important}
.piranha-customer-grid-v633{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:48px;
  align-items:center;
}
.piranha-customer-copy-v633 h2,
.piranha-iq-copy-v633 h2,
.piranha-site-copy-v633 h2{
  margin:8px 0 16px;
  font-size:clamp(36px,4vw,54px);
  line-height:1.03;
}
.piranha-customer-copy-v633 h3{margin:24px 0 8px;font-size:22px}
.piranha-customer-copy-v633 p{font-size:15px;line-height:1.6}
.piranha-robot-image-v633{
  margin:0;
  padding:12px;
  border:1px solid #ccd5df;
  border-radius:9px;
  background:#fff;
}
.piranha-robot-image-v633 img{
  display:block;
  width:100%;
  height:auto;
}
.piranha-robot-image-v633 figcaption{
  margin-top:8px;
  color:#536272;
  font-size:12px;
  font-weight:700;
}

/* IQ */
.piranha-iq-v633{padding:62px 0 !important}
.piranha-iq-grid-v633{
  display:grid;
  grid-template-columns:minmax(280px,.62fr) minmax(0,1.38fr);
  gap:60px;
  align-items:center;
}
.piranha-iq-phone-v633{
  margin:0 auto;
  width:min(100%,390px);
  max-height:690px;
  overflow:hidden;
  border:10px solid #18222c;
  border-radius:28px;
  background:#000;
  box-shadow:0 18px 45px rgba(0,0,0,.35);
}
.piranha-iq-phone-v633 img{
  display:block;
  width:100%;
  height:100%;
  max-height:670px;
  object-fit:cover;
  object-position:50% 0;
}
.piranha-iq-copy-v633 h2{color:#fff}
.piranha-iq-copy-v633 p{color:#d4dde5;font-size:15px;line-height:1.6}
.piranha-iq-list-v633{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:22px;
}
.piranha-iq-list-v633 span{
  padding:11px 13px;
  background:#0d1925;
  border:1px solid #334351;
  border-left:3px solid #e31e24;
  color:#fff;
  font-size:12px;
  font-weight:750;
}

/* Site */
.piranha-site-v633{padding:60px 0 !important}
.piranha-site-grid-v633{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:46px;
  align-items:center;
}
.piranha-site-copy-v633 p{font-size:15px;line-height:1.6}
.piranha-site-list-v633{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:20px;
}
.piranha-site-list-v633 span{
  padding:10px 12px;
  border:1px solid #cfd8e1;
  border-left:3px solid #007BFF;
  background:#f7f9fb;
  font-size:12px;
  font-weight:750;
}
.piranha-site-photo-v633{
  margin:0;
  height:500px;
  overflow:hidden;
  border-radius:9px;
}
.piranha-site-photo-v633 img{width:100%;height:100%;object-fit:cover}

/* Support */
.piranha-support-v633{padding:58px 0 !important}
.piranha-support-layout-v633{
  display:grid;
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
  gap:34px;
  align-items:stretch;
}
.piranha-support-layout-v633>figure{
  margin:0;
  height:470px;
  overflow:hidden;
  border-radius:9px;
}
.piranha-support-layout-v633>figure img{
  width:100%;height:100%;object-fit:cover;object-position:50% 45%;
}
.piranha-support-cards-v633{
  display:grid;
  grid-template-rows:repeat(3,1fr);
  gap:10px;
}
.piranha-support-cards-v633 article{
  padding:22px;
  background:#fff;
  border:1px solid #d4dce4;
  border-left:4px solid #007BFF;
  border-radius:7px;
}
.piranha-support-cards-v633 h3{margin:0 0 8px;font-size:20px}
.piranha-support-cards-v633 p{margin:0;color:#415161;font-size:14px;line-height:1.55}

/* Gallery */
.piranha-gallery-section-v633{padding:58px 0 !important}
.piranha-gallery-v633{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.piranha-gallery-v633 figure{
  margin:0;
  height:245px;
  overflow:hidden;
  border-radius:7px;
  background:#0c1721;
}
.piranha-gallery-v633 img{width:100%;height:100%;object-fit:cover}

/* CTA */
.piranha-final-cta-v633{
  padding:58px 0;
  background:#007BFF;
}
.piranha-final-cta-grid-v633{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:60px;
  align-items:center;
}
.piranha-final-cta-v633 .eyebrow{color:#fff}
.piranha-final-cta-v633 h2{
  margin:8px 0 0;
  color:#fff;
  font-size:clamp(38px,4vw,56px);
  line-height:1.02;
}
.piranha-final-cta-v633 p{color:#eef6ff;font-size:16px;line-height:1.6}

/* Responsive */
@media(max-width:1024px){
  .piranha-showcase-hero-v633,.piranha-showcase-hero-content-v633{min-height:560px}
  .piranha-intro-grid-v633,
  .piranha-customer-grid-v633,
  .piranha-site-grid-v633,
  .piranha-final-cta-grid-v633{grid-template-columns:1fr;gap:28px}
  .piranha-standard-grid-v633{grid-template-columns:repeat(2,minmax(0,1fr))}
  .piranha-technical-layout-v633{grid-template-columns:1fr;min-height:0}
  .piranha-technical-large-v633{height:500px}
  .piranha-technical-stack-v633{grid-template-columns:repeat(3,1fr);grid-template-rows:none}
  .piranha-technical-stack-v633 figure{height:220px}
  .piranha-iq-grid-v633{grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:32px}
  .piranha-support-layout-v633{grid-template-columns:1fr}
  .piranha-support-layout-v633>figure{height:380px}
  .piranha-gallery-v633{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:700px){
  .piranha-showcase-hero-v633,.piranha-showcase-hero-content-v633{min-height:520px}
  .piranha-showcase-hero-overlay-v633{
    background:linear-gradient(0deg,rgba(5,13,22,.96) 0%,rgba(5,13,22,.72) 75%,rgba(5,13,22,.28) 100%);
  }
  .piranha-showcase-hero-content-v633{
    justify-content:flex-end;
    padding-bottom:34px;
  }
  .piranha-showcase-logo-v633{width:190px;max-width:70%;margin-bottom:14px}
  .piranha-showcase-hero-content-v633 h1{font-size:39px}
  .piranha-showcase-hero-content-v633 p{font-size:15px}
  .piranha-process-gallery-v633{
    grid-template-columns:1fr;
    grid-template-rows:none;
  }
  .piranha-process-gallery-v633 figure,
  .piranha-process-main-v633{height:260px;grid-row:auto}
  .piranha-standard-grid-v633{grid-template-columns:1fr}
  .piranha-standard-grid-v633 article{min-height:0}
  .piranha-technical-large-v633{height:330px}
  .piranha-technical-stack-v633{grid-template-columns:1fr;gap:10px}
  .piranha-technical-stack-v633 figure{height:240px}
  .piranha-iq-grid-v633{grid-template-columns:1fr;gap:28px}
  .piranha-iq-phone-v633{width:min(88%,330px)}
  .piranha-iq-list-v633,.piranha-site-list-v633{grid-template-columns:1fr}
  .piranha-site-photo-v633{height:320px}
  .piranha-support-layout-v633>figure{height:330px}
  .piranha-gallery-v633{grid-template-columns:1fr}
  .piranha-gallery-v633 figure{height:250px}
}


/* =========================================================
   v6.3.4 PIRANHA — HERO / PLANT / GUIDANCE / READABILITY
   ========================================================= */

/* HERO: preserve the complete machine rather than cropping it */
.piranha-showcase-hero-v633{
  min-height:620px !important;
  display:grid !important;
  grid-template-columns:minmax(420px,.82fr) minmax(0,1.18fr) !important;
  background:#07121d !important;
}

.piranha-showcase-hero-image-v633{
  position:relative !important;
  inset:auto !important;
  grid-column:2 !important;
  width:100% !important;
  height:620px !important;
  object-fit:contain !important;
  object-position:center !important;
  background:#07121d !important;
  z-index:1 !important;
}

.piranha-showcase-hero-overlay-v633{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:linear-gradient(90deg,#07121d 0%,#07121d 36%,rgba(7,18,29,.93) 44%,rgba(7,18,29,.15) 73%,rgba(7,18,29,0) 100%) !important;
  pointer-events:none !important;
}

.piranha-showcase-hero-content-v633{
  grid-column:1 !important;
  grid-row:1 !important;
  min-height:620px !important;
  max-width:720px !important;
  margin-left:max(24px,calc((100vw - 1320px)/2)) !important;
  margin-right:20px !important;
  padding-left:0 !important;
  padding-right:0 !important;
  z-index:3 !important;
}

/* Plant room: show full image; background treatment is already baked into asset */
.piranha-technical-large-v633{
  background:#eef2f5 !important;
}
.piranha-technical-large-v633 img{
  object-fit:contain !important;
  object-position:center !important;
  background:#eef2f5 !important;
}

/* Automated guidance: extracted screen sequence */
.piranha-customer-grid-v633{
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr) !important;
  gap:34px !important;
}

.piranha-robot-sequence-v634{
  display:grid !important;
  grid-template-columns:repeat(13,auto) !important;
  gap:8px !important;
  align-items:center !important;
  justify-content:center !important;
  padding:16px !important;
  border:1px solid #c9d3dc !important;
  border-radius:9px !important;
  background:#fff !important;
  overflow-x:auto !important;
}

.piranha-robot-sequence-v634 figure{
  width:92px !important;
  min-width:92px !important;
  margin:0 !important;
  text-align:center !important;
}

.piranha-robot-sequence-v634 img{
  display:block !important;
  width:92px !important;
  height:142px !important;
  object-fit:cover !important;
  object-position:top center !important;
  border-radius:5px !important;
  background:#090909 !important;
  box-shadow:0 4px 12px rgba(0,0,0,.16) !important;
}

.piranha-robot-sequence-v634 figcaption{
  margin-top:6px !important;
  color:#1d2731 !important;
  font-size:10px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
}

.piranha-sequence-arrow-v634{
  color:#e31e24 !important;
  font-size:20px !important;
  font-weight:900 !important;
}

/* Darker text throughout light Piranha sections */
.piranha-showcase-v633 .section:not(.product-black) p,
.piranha-showcase-v633 .alt-section p,
.piranha-intro-v633 p,
.piranha-customer-copy-v633 p,
.piranha-site-copy-v633 p,
.piranha-support-cards-v633 p,
.piranha-video-fallback-v633,
.piranha-process-gallery-v633 figcaption span{
  color:#263442 !important;
}

.piranha-showcase-v633 .section:not(.product-black) .section-heading > p{
  color:#263442 !important;
}

.piranha-site-list-v633 span,
.piranha-robot-image-v633 figcaption{
  color:#1d2731 !important;
}

.piranha-standard-grid-v633 p,
.piranha-iq-copy-v633 p{
  color:#dfe7ee !important;
}

/* Keep white text on dark overlay captions */
.piranha-process-gallery-v633 figcaption span{
  color:#e7edf2 !important;
}

/* Tablet */
@media(max-width:1024px){
  .piranha-showcase-hero-v633{
    grid-template-columns:1fr !important;
    min-height:0 !important;
  }

  .piranha-showcase-hero-image-v633{
    grid-column:1 !important;
    grid-row:1 !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
  }

  .piranha-showcase-hero-overlay-v633{
    background:linear-gradient(0deg,rgba(7,18,29,.98) 0%,rgba(7,18,29,.80) 46%,rgba(7,18,29,.05) 80%) !important;
  }

  .piranha-showcase-hero-content-v633{
    grid-column:1 !important;
    grid-row:1 !important;
    min-height:540px !important;
    margin:0 !important;
    padding:230px 28px 34px !important;
    align-self:end !important;
  }

  .piranha-customer-grid-v633{
    grid-template-columns:1fr !important;
  }
}

/* Mobile */
@media(max-width:700px){
  .piranha-showcase-hero-content-v633{
    min-height:500px !important;
    padding:190px 20px 28px !important;
  }

  .piranha-robot-sequence-v634{
    justify-content:flex-start !important;
    padding:12px !important;
  }

  .piranha-robot-sequence-v634 figure{
    width:78px !important;
    min-width:78px !important;
  }

  .piranha-robot-sequence-v634 img{
    width:78px !important;
    height:122px !important;
  }
}


/* =========================================================
   v6.3.5 PIRANHA — TIGHTER HERO / BLACK TEXT / SMALLER MEDIA
   ========================================================= */

/* Hero: tighter crop asset; let it fill the visual half cleanly */
.piranha-showcase-hero-image-v633{
  object-fit:cover !important;
  object-position:center center !important;
  background:#07121d !important;
}

/* BLACK text across all light-background Piranha sections */
.piranha-showcase-v633 .section:not(.product-black),
.piranha-showcase-v633 .section:not(.product-black) p,
.piranha-showcase-v633 .section:not(.product-black) h2,
.piranha-showcase-v633 .section:not(.product-black) h3,
.piranha-showcase-v633 .section:not(.product-black) span,
.piranha-showcase-v633 .section:not(.product-black) .section-heading > p,
.piranha-showcase-v633 .alt-section,
.piranha-showcase-v633 .alt-section p,
.piranha-showcase-v633 .alt-section h2,
.piranha-showcase-v633 .alt-section h3,
.piranha-showcase-v633 .alt-section span,
.piranha-intro-v633 p,
.piranha-customer-copy-v633 p,
.piranha-site-copy-v633 p,
.piranha-support-cards-v633 p,
.piranha-video-fallback-v633{
  color:#000 !important;
}

/* Preserve white/light copy on dark areas */
.piranha-showcase-v633 .product-black,
.piranha-showcase-v633 .product-black p,
.piranha-showcase-v633 .product-black h2,
.piranha-showcase-v633 .product-black h3,
.piranha-showcase-v633 .product-black span,
.piranha-showcase-hero-content-v633,
.piranha-showcase-hero-content-v633 p,
.piranha-showcase-hero-content-v633 h1,
.piranha-process-gallery-v633 figcaption,
.piranha-process-gallery-v633 figcaption span{
  color:#fff !important;
}

/* Plant-room gallery: four equal, smaller images */
.piranha-technical-layout-v633{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  min-height:0 !important;
}

.piranha-technical-large-v633,
.piranha-technical-stack-v633,
.piranha-technical-stack-v633 figure{
  display:contents !important;
}

.piranha-technical-layout-v633 > figure,
.piranha-technical-layout-v633 .piranha-technical-stack-v633 > figure{
  position:relative !important;
  display:block !important;
  height:245px !important;
  margin:0 !important;
  overflow:hidden !important;
  border-radius:8px !important;
  background:#e9eef2 !important;
}

.piranha-technical-layout-v633 > figure img,
.piranha-technical-layout-v633 .piranha-technical-stack-v633 > figure img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}

.piranha-technical-large-v633 img{
  object-fit:contain !important;
}

/* All 21 automated guidance screens */
.piranha-customer-grid-v633{
  grid-template-columns:1fr !important;
  gap:24px !important;
}

.piranha-robot-sequence-v634{display:none !important;}

.piranha-robot-sequence-v635{
  display:grid !important;
  grid-template-columns:repeat(7,minmax(90px,1fr)) !important;
  gap:10px !important;
  padding:16px !important;
  border:1px solid #bfcad3 !important;
  border-radius:9px !important;
  background:#fff !important;
}

.piranha-robot-sequence-v635 figure{
  margin:0 !important;
  min-width:0 !important;
  text-align:center !important;
}

.piranha-robot-sequence-v635 img{
  display:block !important;
  width:100% !important;
  aspect-ratio:9/14 !important;
  object-fit:cover !important;
  object-position:top center !important;
  border-radius:5px !important;
  background:#050505 !important;
  box-shadow:0 3px 10px rgba(0,0,0,.14) !important;
}

.piranha-robot-sequence-v635 figcaption{
  margin-top:6px !important;
  color:#000 !important;
  font-size:10px !important;
  line-height:1.15 !important;
  font-weight:800 !important;
}

/* Piranha IQ image smaller */
.piranha-iq-grid-v633{
  grid-template-columns:minmax(220px,.42fr) minmax(0,1.58fr) !important;
  gap:48px !important;
}
.piranha-iq-phone-v633{
  width:min(100%,280px) !important;
  max-height:520px !important;
  border-width:8px !important;
}
.piranha-iq-phone-v633 img{
  max-height:500px !important;
}

/* Designed Around Your Site photo smaller */
.piranha-site-grid-v633{
  grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr) !important;
}
.piranha-site-photo-v633{
  width:min(100%,520px) !important;
  height:340px !important;
  justify-self:end !important;
}
.piranha-site-photo-v633 img{
  object-fit:cover !important;
  object-position:center !important;
}

/* Installation / Commissioning image smaller */
.piranha-support-layout-v633{
  grid-template-columns:minmax(260px,.52fr) minmax(0,1.48fr) !important;
  gap:28px !important;
}
.piranha-support-layout-v633 > figure{
  width:min(100%,380px) !important;
  height:330px !important;
  justify-self:start !important;
}
.piranha-support-layout-v633 > figure img{
  object-fit:cover !important;
  object-position:50% 42% !important;
}

/* Tablet */
@media(max-width:1024px){
  .piranha-technical-layout-v633{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .piranha-technical-layout-v633 > figure,
  .piranha-technical-layout-v633 .piranha-technical-stack-v633 > figure{
    height:230px !important;
  }

  .piranha-robot-sequence-v635{
    grid-template-columns:repeat(4,minmax(90px,1fr)) !important;
  }

  .piranha-iq-grid-v633,
  .piranha-site-grid-v633,
  .piranha-support-layout-v633{
    grid-template-columns:1fr !important;
  }

  .piranha-iq-phone-v633{
    width:min(78%,270px) !important;
  }

  .piranha-site-photo-v633{
    justify-self:start !important;
    width:min(100%,500px) !important;
  }
}

/* Mobile */
@media(max-width:700px){
  .piranha-technical-layout-v633{
    grid-template-columns:1fr !important;
  }
  .piranha-technical-layout-v633 > figure,
  .piranha-technical-layout-v633 .piranha-technical-stack-v633 > figure{
    height:230px !important;
  }

  .piranha-robot-sequence-v635{
    grid-template-columns:repeat(3,minmax(76px,1fr)) !important;
    gap:8px !important;
    padding:10px !important;
  }

  .piranha-iq-phone-v633{
    width:min(82%,250px) !important;
  }

  .piranha-site-photo-v633{
    width:100% !important;
    height:280px !important;
  }

  .piranha-support-layout-v633 > figure{
    width:100% !important;
    height:280px !important;
  }
}


/* =========================================================
   v6.3.6 PIRANHA — FINAL PAGE REFINEMENTS
   ========================================================= */
.piranha-showcase-v633 .section{
  padding-top:46px !important;
  padding-bottom:46px !important;
}
.piranha-showcase-v633 .section-heading{margin-bottom:24px !important;}
.piranha-showcase-v633 .piranha-intro-v633{padding-top:38px !important;padding-bottom:38px !important;}
.piranha-showcase-hero-v633,
.piranha-showcase-hero-content-v633{min-height:600px !important;}
.piranha-showcase-hero-image-v633{
  object-fit:cover !important;
  object-position:50% 20% !important;
}
.piranha-process-gallery-v633 figcaption,
.piranha-process-gallery-v633 figcaption strong,
.piranha-process-gallery-v633 figcaption span{
  color:#fff !important;
}
.piranha-technical-layout-v633 > figure,
.piranha-technical-layout-v633 .piranha-technical-stack-v633 > figure{
  height:220px !important;
}
.piranha-final-cta-v633{padding-top:42px !important;padding-bottom:42px !important;}
@media(max-width:1024px){
 .piranha-showcase-v633 .section{padding-top:40px !important;padding-bottom:40px !important;}
 .piranha-showcase-hero-v633,.piranha-showcase-hero-content-v633{min-height:540px !important;}
}
@media(max-width:700px){
 .piranha-showcase-v633 .section{padding-top:34px !important;padding-bottom:34px !important;}
 .piranha-showcase-hero-v633,.piranha-showcase-hero-content-v633{min-height:520px !important;}
 .piranha-showcase-hero-image-v633{object-position:52% 18% !important;}
}


/* =========================================================
   v6.3.7 PIRANHA — FINAL SPACING / PLATES / PLANT / IQ
   ========================================================= */

/* Hero: crop asset now retains the top of the gantry while removing
   excess blank wall and wet floor. */
.piranha-showcase-hero-image-v633{
  object-fit:cover !important;
  object-position:center top !important;
}

/* Reduce vertical whitespace across the entire Piranha page. */
.piranha-showcase-v633 > .section,
.piranha-intro-v633,
.piranha-video-section-v633,
.piranha-process-v633,
.piranha-standard-v633,
.piranha-technical-v633,
.piranha-customer-v633,
.piranha-iq-v633,
.piranha-site-v633,
.piranha-support-v633{
  padding-top:34px !important;
  padding-bottom:34px !important;
}

.piranha-showcase-v633 .section-heading{
  margin-bottom:20px !important;
}

.piranha-intro-grid-v633,
.piranha-customer-grid-v633,
.piranha-site-grid-v633,
.piranha-support-layout-v633{
  gap:26px !important;
}

/* Text over Complete Touch-Free Wash photographs must be white. */
.piranha-process-gallery-v633 figcaption,
.piranha-process-gallery-v633 figcaption strong,
.piranha-process-gallery-v633 figcaption span{
  color:#fff !important;
  text-shadow:0 1px 3px rgba(0,0,0,.95) !important;
}

.piranha-process-gallery-v633 figcaption{
  background:linear-gradient(0deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.60) 58%,rgba(0,0,0,0) 100%) !important;
}

/* Plant room: only three unique images, equal size. */
.piranha-technical-layout-v633{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
}

.piranha-technical-layout-v633 > figure,
.piranha-technical-layout-v633 .piranha-technical-stack-v633 > figure{
  height:230px !important;
}

.piranha-technical-large-v633 img,
.piranha-technical-layout-v633 .piranha-technical-stack-v633 > figure img{
  object-fit:cover !important;
  object-position:center !important;
}

/* Dedicated Piranha IQ heading above the content. */
.piranha-iq-heading-v637{
  margin-bottom:20px !important;
}

.piranha-iq-heading-v637 h2{
  margin:6px 0 0 !important;
  color:#fff !important;
}

.piranha-iq-heading-v637 p{
  color:#dfe7ee !important;
}

/* No duplicate gallery at the bottom. */
.piranha-gallery-section-v633{
  display:none !important;
}

@media(max-width:1024px){
  .piranha-showcase-v633 > .section,
  .piranha-intro-v633,
  .piranha-video-section-v633,
  .piranha-process-v633,
  .piranha-standard-v633,
  .piranha-technical-v633,
  .piranha-customer-v633,
  .piranha-iq-v633,
  .piranha-site-v633,
  .piranha-support-v633{
    padding-top:30px !important;
    padding-bottom:30px !important;
  }

  .piranha-technical-layout-v633{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media(max-width:700px){
  .piranha-showcase-v633 > .section,
  .piranha-intro-v633,
  .piranha-video-section-v633,
  .piranha-process-v633,
  .piranha-standard-v633,
  .piranha-technical-v633,
  .piranha-customer-v633,
  .piranha-iq-v633,
  .piranha-site-v633,
  .piranha-support-v633{
    padding-top:26px !important;
    padding-bottom:26px !important;
  }

  .piranha-technical-layout-v633{
    grid-template-columns:1fr !important;
  }

  .piranha-technical-layout-v633 > figure,
  .piranha-technical-layout-v633 .piranha-technical-stack-v633 > figure{
    height:220px !important;
  }
}


/* =========================================================
   v6.3.8 PIRANHA — FINAL WORDPRESS UPLOAD REFINEMENT
   ========================================================= */

/* Further reduce unnecessary vertical whitespace between Piranha sections */
.piranha-showcase-v633 > section:not(.piranha-showcase-hero-v633):not(.piranha-final-cta-v633),
.piranha-showcase-v633 .section{
  padding-top:28px !important;
  padding-bottom:28px !important;
}

.piranha-showcase-v633 .section-heading{
  margin-bottom:16px !important;
}

.piranha-showcase-v633 .section-heading h2{
  margin-bottom:6px !important;
}

/* Compact internal copy spacing */
.piranha-showcase-v633 p{
  margin-top:0 !important;
  margin-bottom:10px !important;
}

/* Complete Touch-Free photo labels remain highly legible */
.piranha-process-gallery-v633 figcaption,
.piranha-process-gallery-v633 figcaption strong,
.piranha-process-gallery-v633 figcaption span{
  color:#fff !important;
  text-shadow:0 1px 4px rgba(0,0,0,.95) !important;
}

/* Three equal plant-room images only */
.piranha-technical-layout-v633{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
}

.piranha-technical-layout-v633 > figure,
.piranha-technical-layout-v633 .piranha-technical-stack-v633 > figure{
  height:220px !important;
}

/* Make section headings consistent and easy to scan */
.piranha-showcase-v633 .section-heading h2,
.piranha-customer-copy-v633 h2,
.piranha-site-copy-v633 h2,
.piranha-iq-heading-v637 h2{
  line-height:1.05 !important;
}

/* Keep final CTA compact */
.piranha-final-cta-v633{
  padding-top:34px !important;
  padding-bottom:34px !important;
}

/* Tablet */
@media(max-width:1024px){
  .piranha-showcase-v633 > section:not(.piranha-showcase-hero-v633):not(.piranha-final-cta-v633),
  .piranha-showcase-v633 .section{
    padding-top:26px !important;
    padding-bottom:26px !important;
  }
}

/* Mobile */
@media(max-width:700px){
  .piranha-showcase-v633 > section:not(.piranha-showcase-hero-v633):not(.piranha-final-cta-v633),
  .piranha-showcase-v633 .section{
    padding-top:22px !important;
    padding-bottom:22px !important;
  }

  .piranha-technical-layout-v633{
    grid-template-columns:1fr !important;
  }

  .piranha-technical-layout-v633 > figure,
  .piranha-technical-layout-v633 .piranha-technical-stack-v633 > figure{
    height:215px !important;
  }
}

/* =========================================================
   v6.3.9 HOME — COMPACT FLOW + CLEARER HEADER BRAND
   ========================================================= */

/* Shared header brand: stronger visual separation and contrast. */
.site-header .brand{
  min-width:258px !important;
  gap:12px !important;
  padding:5px 11px 5px 7px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:7px !important;
  background:rgba(255,255,255,.055) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.site-header .brand:hover{
  background:rgba(255,255,255,.085) !important;
  border-color:rgba(255,255,255,.22) !important;
}
.site-header .brand > .brand-mark{
  display:block !important;
  width:56px !important;
  height:56px !important;
  min-width:56px !important;
  max-width:56px !important;
  max-height:56px !important;
  padding:3px !important;
  object-fit:contain !important;
  border-radius:50% !important;
  background:#fff !important;
}
.site-header .brand-copy strong{
  color:#fff !important;
  font-size:22px !important;
  letter-spacing:.065em !important;
  text-shadow:0 1px 1px rgba(0,0,0,.35) !important;
}
.site-header .brand-copy small{
  color:#70b7ff !important;
  font-size:13px !important;
  letter-spacing:.12em !important;
}

/* Home page only: remove excess vertical air while retaining separation. */
body.home .home-hero-v570{
  padding-top:52px !important;
  padding-bottom:32px !important;
}
body.home .home-piranha-feature-v628{
  padding-top:26px !important;
  padding-bottom:26px !important;
}
body.home .home-capability-grid-v570 a{
  padding-top:17px !important;
  padding-bottom:17px !important;
}
body.home .home-integrated-v570{
  padding-top:40px !important;
  padding-bottom:40px !important;
}
body.home .home-projects-v610{
  padding-top:36px !important;
  padding-bottom:36px !important;
}
body.home .home-why-v570{
  padding-top:40px !important;
  padding-bottom:40px !important;
}
body.home .home-final-cta-v570{
  padding-top:32px !important;
  padding-bottom:32px !important;
}
body.home .home-projects-head-v610,
body.home .section-heading-row-v570{
  margin-bottom:20px !important;
}
body.home .why-grid-v570{
  margin-top:22px !important;
}

@media(max-width:1180px){
  .site-header .brand{min-width:228px !important;}
  .site-header .brand > .brand-mark{
    width:50px !important;height:50px !important;min-width:50px !important;max-width:50px !important;max-height:50px !important;
  }
  .site-header .brand-copy strong{font-size:19px !important;}
  .site-header .brand-copy small{font-size:11px !important;}
}
@media(max-width:760px){
  .site-header .brand{
    min-width:0 !important;
    padding:4px 7px 4px 5px !important;
  }
  .site-header .brand > .brand-mark{
    width:44px !important;height:44px !important;min-width:44px !important;max-width:44px !important;max-height:44px !important;
  }
  .site-header .brand-copy strong{font-size:15px !important;}
  .site-header .brand-copy small{font-size:9px !important;letter-spacing:.08em !important;}
  body.home .home-hero-v570{padding-top:38px !important;padding-bottom:26px !important;}
  body.home .home-piranha-feature-v628{padding-top:22px !important;padding-bottom:22px !important;}
  body.home .home-integrated-v570,
  body.home .home-projects-v610,
  body.home .home-why-v570{padding-top:32px !important;padding-bottom:32px !important;}
  body.home .home-final-cta-v570{padding-top:27px !important;padding-bottom:27px !important;}
}



/* =========================================================
   v6.3.10 BRAND — INFINITY BLUE + LOGO GLOW
   ========================================================= */

/* Header branding: requested Infinity blue #007BFF. */
.site-header .brand-copy strong,
.site-header .brand-copy small{
  color:#007BFF !important;
  text-shadow:
    0 0 5px rgba(0,123,255,.52),
    0 0 12px rgba(0,123,255,.24) !important;
}
.site-header .brand > .brand-mark{
  box-shadow:
    0 0 0 1px rgba(0,123,255,.38),
    0 0 10px rgba(0,123,255,.62),
    0 0 20px rgba(0,123,255,.30) !important;
}
.site-header .brand:hover > .brand-mark{
  box-shadow:
    0 0 0 1px rgba(0,123,255,.55),
    0 0 13px rgba(0,123,255,.78),
    0 0 25px rgba(0,123,255,.38) !important;
}

/* Footer: carry the same blue branding treatment through consistently. */
.footer-grid-v560 .footer-brand h3{
  color:#007BFF !important;
  text-shadow:
    0 0 5px rgba(0,123,255,.40),
    0 0 11px rgba(0,123,255,.18) !important;
}
.footer-grid-v560 .footer-brand img{
  border-radius:8px;
  box-shadow:
    0 0 0 1px rgba(0,123,255,.30),
    0 0 10px rgba(0,123,255,.55),
    0 0 20px rgba(0,123,255,.24) !important;
}


/* =========================================================
   v6.3.11 ABOUT — COMPACT TEAM IMAGE / TWO-LINE HEADINGS
   ========================================================= */

/*
 * Keep the Who We Are team photo at its existing desktop height,
 * but use a narrower portrait frame and shift the crop toward the
 * people/machine to remove more of the unused area at the left.
 */
.about-story-side-v594 .about-who-team-v631{
  width:min(84%, 390px) !important;
  margin:0 0 18px auto !important;
}

.about-story-side-v594 .about-who-team-v631 img{
  height:440px !important;
  object-fit:cover !important;
  object-position:63% 8% !important;
}

/* Requested two-line About headings. */
.about-two-line-heading-v6311,
.about-testimonial-two-line-v6311{
  max-width:none !important;
  white-space:normal !important;
}

/* Give the What Sets Infinity Apart heading enough room to retain two lines. */
.alt-section .section-heading:has(.about-two-line-heading-v6311){
  max-width:760px !important;
}

.testimonials-heading-v591{
  max-width:820px !important;
}

@media(max-width:1024px){
  .about-story-side-v594 .about-who-team-v631{
    width:min(88%, 360px) !important;
  }
  .about-story-side-v594 .about-who-team-v631 img{
    height:390px !important;
    object-position:63% 7% !important;
  }
}

@media(max-width:760px){
  .about-story-side-v594 .about-who-team-v631{
    width:100% !important;
    max-width:390px !important;
    margin:0 auto 18px !important;
  }
  .about-story-side-v594 .about-who-team-v631 img{
    height:360px !important;
    object-position:60% 6% !important;
  }
}


/* =========================================================
   v6.3.12 ABOUT — VERIFIED REFINEMENT
   ========================================================= */

/*
 * WHO WE ARE PHOTO
 * Keep the established 440px desktop height, make the visible photo
 * frame narrower, and bias the crop to the right so unused space is
 * removed primarily from the left while retaining the Piranha machine.
 */
.about-story-side-v594 .about-who-team-v631{
  width:82% !important;
  max-width:430px !important;
  margin:0 0 18px auto !important;
}
.about-story-side-v594 .about-who-team-v631 img{
  width:100% !important;
  height:440px !important;
  object-fit:cover !important;
  object-position:68% 7% !important;
}

/*
 * These heading rows contain only a heading. The base theme gives
 * .section-heading two grid columns, unnecessarily restricting the
 * heading to the first column. Give these two headings the full row
 * so the explicit <br> produces exactly two lines on desktop.
 */
.alt-section .section-heading:has(.about-two-line-heading-v6312),
.about-testimonials-v591 .section-heading:has(.about-testimonial-two-line-v6312){
  display:block !important;
  grid-template-columns:none !important;
  max-width:none !important;
}

.about-two-line-heading-v6312{
  width:100% !important;
  max-width:900px !important;
  font-size:clamp(38px,4.2vw,62px) !important;
  line-height:1.02 !important;
  white-space:nowrap !important;
}

.about-testimonial-two-line-v6312{
  width:100% !important;
  max-width:1000px !important;
  font-size:clamp(34px,4vw,50px) !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
}

/* On smaller screens, allow natural responsive wrapping again. */
@media(max-width:760px){
  .about-story-side-v594 .about-who-team-v631{
    width:100% !important;
    max-width:390px !important;
    margin:0 auto 18px !important;
  }
  .about-story-side-v594 .about-who-team-v631 img{
    height:360px !important;
    object-position:62% 6% !important;
  }
  .about-two-line-heading-v6312,
  .about-testimonial-two-line-v6312{
    white-space:normal !important;
  }
}


/* =========================================================
   v6.3.13 ABOUT — TEAM PHOTO FINAL POSITIONING
   ========================================================= */

/*
 * Crop from the LEFT side only:
 * - keep the same overall photo height
 * - keep the Piranha machine visible across the top
 * - position the source image toward the right so the left edge is what is removed
 * - centre the complete photo/quote block above the quote text
 */
.about-story-side-v594{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
}

.about-story-side-v594 .about-who-team-v631{
  width:78% !important;
  max-width:410px !important;
  margin:0 auto 18px !important;
}

.about-story-side-v594 .about-who-team-v631 img{
  width:100% !important;
  height:440px !important;
  object-fit:cover !important;
  object-position:78% 7% !important;
}

.about-story-side-v594 .about-pullquote-v594{
  width:78% !important;
  max-width:410px !important;
  margin:0 auto !important;
}

@media(max-width:1024px){
  .about-story-side-v594 .about-who-team-v631,
  .about-story-side-v594 .about-pullquote-v594{
    width:84% !important;
    max-width:390px !important;
  }
  .about-story-side-v594 .about-who-team-v631 img{
    height:390px !important;
    object-position:76% 7% !important;
  }
}

@media(max-width:760px){
  .about-story-side-v594 .about-who-team-v631,
  .about-story-side-v594 .about-pullquote-v594{
    width:100% !important;
    max-width:390px !important;
  }
  .about-story-side-v594 .about-who-team-v631 img{
    height:360px !important;
    object-position:72% 6% !important;
  }
}


/* =========================================================
   v6.3.14 PIRANHA — COMPACT PAGE / VIDEO TITLE / CAPTION FIX
   ========================================================= */

/* Reduce blank vertical space between Piranha sections on desktop. */
.piranha-showcase-v633 > section:not(.piranha-showcase-hero-v633):not(.piranha-final-cta-v633),
.piranha-showcase-v633 > .section{
  padding-top:18px !important;
  padding-bottom:18px !important;
}

.piranha-showcase-v633 .section-heading{
  margin-bottom:10px !important;
}

.piranha-showcase-v633 .section-heading h2{
  margin-top:4px !important;
  margin-bottom:4px !important;
}

.piranha-showcase-v633 p{
  margin-top:0 !important;
  margin-bottom:7px !important;
}

.piranha-showcase-v633 .piranha-intro-grid-v633,
.piranha-showcase-v633 .piranha-site-grid-v633,
.piranha-showcase-v633 .piranha-customer-grid-v633,
.piranha-showcase-v633 .piranha-iq-grid-v633{
  row-gap:14px !important;
}

.piranha-final-cta-v633{
  padding-top:24px !important;
  padding-bottom:24px !important;
}

/* Four deliberate desktop lines for the hero heading. */
.piranha-showcase-hero-content-v633 .piranha-hero-title-v6314{
  max-width:620px !important;
  white-space:nowrap !important;
  line-height:1.02 !important;
}

/* The video heading now explicitly describes all three live views. */
.piranha-video-heading-v633{
  margin-bottom:12px !important;
}

/*
 * Complete Touch-Free Wash System:
 * Override the broad light-section black-text rule with greater specificity
 * so every overlay label remains white on the photographs.
 */
.piranha-showcase-v633 .piranha-process-v633 .piranha-process-gallery-v633 figcaption,
.piranha-showcase-v633 .piranha-process-v633 .piranha-process-gallery-v633 figcaption strong,
.piranha-showcase-v633 .piranha-process-v633 .piranha-process-gallery-v633 figcaption span{
  color:#fff !important;
  text-shadow:0 1px 4px rgba(0,0,0,.98) !important;
}

.piranha-showcase-v633 .piranha-process-v633 .piranha-process-gallery-v633 figcaption{
  background:linear-gradient(
    0deg,
    rgba(0,0,0,.94) 0%,
    rgba(0,0,0,.70) 60%,
    rgba(0,0,0,.08) 100%
  ) !important;
}

@media(max-width:760px){
  .piranha-showcase-v633 > section:not(.piranha-showcase-hero-v633):not(.piranha-final-cta-v633),
  .piranha-showcase-v633 > .section{
    padding-top:16px !important;
    padding-bottom:16px !important;
  }

  /* Permit natural mobile wrapping rather than forcing desktop line lengths. */
  .piranha-showcase-hero-content-v633 .piranha-hero-title-v6314{
    white-space:normal !important;
  }

  .piranha-final-cta-v633{
    padding-top:20px !important;
    padding-bottom:20px !important;
  }
}


/* =========================================================
   v6.3.15 PIRANHA — VERIFIED WORDPRESS APPLICATION FIX
   ========================================================= */

/* Remove excessive blank space BETWEEN sections. */
body .piranha-showcase-v633 > section.section,
body .piranha-showcase-v633 > .piranha-intro-v633,
body .piranha-showcase-v633 > .piranha-video-section-v633,
body .piranha-showcase-v633 > .piranha-process-v633,
body .piranha-showcase-v633 > .piranha-standard-v633,
body .piranha-showcase-v633 > .piranha-technical-v633,
body .piranha-showcase-v633 > .piranha-customer-v633,
body .piranha-showcase-v633 > .piranha-iq-v633,
body .piranha-showcase-v633 > .piranha-site-v633,
body .piranha-showcase-v633 > .piranha-support-v633{
  padding-top:12px !important;
  padding-bottom:12px !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}

body .piranha-showcase-v633 .section-heading{
  margin-top:0 !important;
  margin-bottom:8px !important;
}

body .piranha-showcase-v633 .section-heading > div,
body .piranha-showcase-v633 .section-heading > p{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

body .piranha-showcase-v633 .section-heading h2{
  margin-top:3px !important;
  margin-bottom:3px !important;
}

body .piranha-showcase-v633 .piranha-final-cta-v633{
  padding-top:18px !important;
  padding-bottom:18px !important;
  margin:0 !important;
}

/* Exactly four deliberate lines on normal desktop widths. */
body .piranha-showcase-hero-content-v633 .piranha-hero-title-v6315{
  max-width:680px !important;
  white-space:nowrap !important;
  line-height:1.00 !important;
}

/* Clearly identify what is visible in the demonstration video. */
body .piranha-video-section-v633 .piranha-video-title-v6315{
  color:#fff !important;
  margin-bottom:4px !important;
}

/* COMPLETE TOUCH-FREE WASH SYSTEM — ALL TEXT ON PHOTOS MUST BE WHITE. */
body .piranha-showcase-v633 .piranha-process-v633 .piranha-process-gallery-v633 figure figcaption,
body .piranha-showcase-v633 .piranha-process-v633 .piranha-process-gallery-v633 figure figcaption strong,
body .piranha-showcase-v633 .piranha-process-v633 .piranha-process-gallery-v633 figure figcaption span{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-shadow:0 1px 4px rgba(0,0,0,1) !important;
}

body .piranha-showcase-v633 .piranha-process-v633 .piranha-process-gallery-v633 figure figcaption{
  background:linear-gradient(
    0deg,
    rgba(0,0,0,.96) 0%,
    rgba(0,0,0,.76) 62%,
    rgba(0,0,0,.08) 100%
  ) !important;
}

@media(max-width:760px){
  body .piranha-showcase-v633 > section.section{
    padding-top:10px !important;
    padding-bottom:10px !important;
  }

  body .piranha-showcase-hero-content-v633 .piranha-hero-title-v6315{
    white-space:normal !important;
  }
}


/* =========================================================
   v6.3.16 PIRANHA — VIDEO / STANDARD TILES / TECHNICAL HEADING
   ========================================================= */

/* Video title and explanation: make them unmistakably visible above the video. */
body .piranha-showcase-v633 .piranha-video-section-v633 .piranha-video-heading-v633{
  display:block !important;
  margin-bottom:14px !important;
}

body .piranha-showcase-v633 .piranha-video-section-v633 .piranha-video-title-v6316{
  display:block !important;
  color:#fff !important;
  font-size:clamp(28px,3vw,42px) !important;
  line-height:1.08 !important;
  margin:4px 0 8px !important;
  max-width:980px !important;
}

body .piranha-showcase-v633 .piranha-video-section-v633 .piranha-video-explainer-v6316{
  display:block !important;
  color:#e9eef3 !important;
  font-size:16px !important;
  line-height:1.5 !important;
  max-width:980px !important;
  margin:0 0 12px !important;
}

/* Clear title directly above the Standard System equipment tiles. */
body .piranha-showcase-v633 .piranha-standard-tiles-title-v6316{
  margin:4px 0 14px !important;
}

body .piranha-showcase-v633 .piranha-standard-tiles-title-v6316 h3{
  color:#fff !important;
  font-size:clamp(24px,2.5vw,34px) !important;
  line-height:1.08 !important;
  margin:0 !important;
}

/* Reduce the technical section heading so it does not wrap across five lines. */
body .piranha-showcase-v633 .piranha-technical-title-v6316{
  font-size:clamp(30px,3.2vw,44px) !important;
  line-height:1.05 !important;
  max-width:820px !important;
  letter-spacing:-0.02em !important;
}

@media(max-width:760px){
  body .piranha-showcase-v633 .piranha-video-title-v6316{
    font-size:28px !important;
  }

  body .piranha-showcase-v633 .piranha-technical-title-v6316{
    font-size:30px !important;
    max-width:none !important;
  }
}


/* =========================================================
   v6.3.17 PIRANHA — GUARANTEED CONTENT / HEADING LAYOUT FIX
   ========================================================= */

/* Video title and explanatory text above the video. */
body .piranha-video-section-v633 .piranha-video-heading-v633{
  display:block !important;
}

body .piranha-video-section-v633 .piranha-video-title-v6317{
  display:block !important;
  color:#fff !important;
  font-size:36px !important;
  line-height:1.08 !important;
  margin:4px 0 8px !important;
  max-width:1000px !important;
}

body .piranha-video-section-v633 .piranha-video-explainer-v6317{
  display:block !important;
  color:#e9eef3 !important;
  font-size:16px !important;
  line-height:1.5 !important;
  max-width:1000px !important;
  margin:0 0 12px !important;
}

/* Heading immediately above the nine standard-equipment tiles. */
body .piranha-standard-v633 .piranha-standard-tiles-title-v6317{
  display:block !important;
  margin:8px 0 14px !important;
}

body .piranha-standard-v633 .piranha-standard-tiles-title-v6317 h3{
  display:block !important;
  color:#fff !important;
  font-size:30px !important;
  line-height:1.08 !important;
  margin:0 !important;
}

/*
 * Plant-room heading: the original two-column .section-heading was restricting
 * the title width. Give the heading substantially more of the row as well as
 * using a smaller title size.
 */
body .piranha-technical-v633 .piranha-technical-heading-v6317{
  grid-template-columns:minmax(0,1.65fr) minmax(250px,.55fr) !important;
  column-gap:34px !important;
}

body .piranha-technical-v633 .piranha-technical-title-v6317{
  font-size:32px !important;
  line-height:1.08 !important;
  max-width:760px !important;
  letter-spacing:-0.015em !important;
  margin-bottom:4px !important;
}

@media(max-width:900px){
  body .piranha-technical-v633 .piranha-technical-heading-v6317{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:760px){
  body .piranha-video-section-v633 .piranha-video-title-v6317{
    font-size:28px !important;
  }
  body .piranha-standard-v633 .piranha-standard-tiles-title-v6317 h3{
    font-size:26px !important;
  }
  body .piranha-technical-v633 .piranha-technical-title-v6317{
    font-size:28px !important;
    max-width:none !important;
  }
}


/* =========================================================
   v6.3.18 PIRANHA — APPROVED VIDEO / STANDARD EQUIPMENT TEXT
   ========================================================= */

/* Approved video title. */
body .piranha-video-section-v633 .piranha-video-title-v6318{
  display:block !important;
  color:#fff !important;
  font-size:36px !important;
  line-height:1.08 !important;
  margin:4px 0 8px !important;
  max-width:1000px !important;
}

/* Approved explanatory copy in Infinity blue for strong readability. */
body .piranha-video-section-v633 .piranha-video-explainer-v6318{
  display:block !important;
  color:#007BFF !important;
  -webkit-text-fill-color:#007BFF !important;
  font-size:16px !important;
  font-weight:600 !important;
  line-height:1.5 !important;
  max-width:1000px !important;
  margin:0 0 14px !important;
}

/* Approved heading directly above the nine tiles. */
body .piranha-standard-v633 .piranha-standard-tiles-title-v6318{
  display:block !important;
  margin:8px 0 14px !important;
}

body .piranha-standard-v633 .piranha-standard-tiles-title-v6318 h3{
  display:block !important;
  color:#fff !important;
  font-size:30px !important;
  line-height:1.08 !important;
  margin:0 !important;
}

@media(max-width:760px){
  body .piranha-video-section-v633 .piranha-video-title-v6318{
    font-size:28px !important;
  }

  body .piranha-standard-v633 .piranha-standard-tiles-title-v6318 h3{
    font-size:26px !important;
  }
}


/* =========================================================
   v6.3.19 PIRANHA — RENDER-TIME GUARANTEED TITLES
   ========================================================= */

body .piranha-showcase-v633 .piranha-video-title-v6319{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:36px !important;
  font-weight:800 !important;
  line-height:1.08 !important;
  margin:6px 0 8px !important;
  max-width:1000px !important;
}

body .piranha-showcase-v633 .piranha-video-explainer-v6319{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  color:#007BFF !important;
  -webkit-text-fill-color:#007BFF !important;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:1.5 !important;
  margin:0 0 14px !important;
  max-width:1000px !important;
}

body .piranha-showcase-v633 .piranha-standard-tiles-title-v6319{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  margin:8px 0 14px !important;
}

body .piranha-showcase-v633 .piranha-standard-tiles-title-v6319 h3{
  display:block !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:30px !important;
  font-weight:800 !important;
  line-height:1.08 !important;
  margin:0 !important;
}

@media(max-width:760px){
  body .piranha-showcase-v633 .piranha-video-title-v6319{
    font-size:28px !important;
  }
  body .piranha-showcase-v633 .piranha-standard-tiles-title-v6319 h3{
    font-size:26px !important;
  }
}


/* =========================================================
   v6.3.20 PIRANHA — CLIENT-RENDERED VISIBLE HEADINGS
   ========================================================= */

body .piranha-video-live-block-v6320{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:100% !important;
  max-width:1100px !important;
  margin:0 0 16px !important;
  padding:0 !important;
}

body .piranha-video-visible-title-v6320{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:36px !important;
  font-weight:800 !important;
  line-height:1.08 !important;
  margin:0 0 8px !important;
}

body .piranha-video-visible-explainer-v6320{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  color:#007BFF !important;
  -webkit-text-fill-color:#007BFF !important;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:1.5 !important;
  margin:0 !important;
}

body .piranha-standard-visible-title-v6320{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:30px !important;
  font-weight:800 !important;
  line-height:1.08 !important;
  margin:8px 0 14px !important;
  padding:0 !important;
}

/* Prevent duplicate older injected/source titles from showing if present. */
body .piranha-video-title-v6318,
body .piranha-video-title-v6319,
body .piranha-video-title-v6320,
body .piranha-video-explainer-v6318,
body .piranha-video-explainer-v6319,
body .piranha-video-explainer-v6320,
body .piranha-standard-tiles-title-v6318,
body .piranha-standard-tiles-title-v6319,
body .piranha-standard-tiles-title-v6320{
  display:none !important;
}

@media(max-width:760px){
  body .piranha-video-visible-title-v6320{
    font-size:28px !important;
  }
  body .piranha-standard-visible-title-v6320{
    font-size:26px !important;
  }
}


/* =========================================================
   v6.3.21 PIRANHA — DIRECT SOURCE RENDER / CLEAN HEADINGS
   ========================================================= */

/* Re-enable canonical source headings; no JavaScript injection is used. */
body .piranha-showcase-v633 .piranha-video-title-v6321{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:36px !important;
  font-weight:800 !important;
  line-height:1.08 !important;
  margin:4px 0 8px !important;
  max-width:1000px !important;
}

body .piranha-showcase-v633 .piranha-video-explainer-v6321{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  color:#007BFF !important;
  -webkit-text-fill-color:#007BFF !important;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:1.5 !important;
  margin:0 0 14px !important;
  max-width:1000px !important;
}

/* One clear title immediately above the nine tiles. */
body .piranha-showcase-v633 .piranha-standard-title-v6321{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:30px !important;
  font-weight:800 !important;
  line-height:1.08 !important;
  margin:8px 0 14px !important;
}

/* Neutralise the v6.3.20 hide rules only for the new canonical classes. */
body .piranha-video-title-v6321,
body .piranha-video-explainer-v6321,
body .piranha-standard-title-v6321{
  display:block !important;
}

@media(max-width:760px){
  body .piranha-showcase-v633 .piranha-video-title-v6321{
    font-size:28px !important;
  }
  body .piranha-showcase-v633 .piranha-standard-title-v6321{
    font-size:26px !important;
  }
}


/* =========================================================
   v6.5.4 HEADER FLOW FIX — STICKY HEADER, NO CONTENT OVERLAP
   ========================================================= */
.site-header{
  position:sticky !important;
  position:-webkit-sticky !important;
  top:0 !important;
  left:auto !important;
  right:auto !important;
  z-index:1000 !important;
}
.editable-page{padding-top:0 !important;}
@media(max-width:1100px){
  .site-header{overflow:visible !important;}
  .site-nav.open{
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    right:0 !important;
    z-index:1100 !important;
    max-height:calc(100vh - 70px) !important;
  }
}


/* =========================================================
   v6.5.5 MOBILE NAVIGATION VISIBILITY FIX
   Resolves legacy !important rule hiding menu links on phones.
   ========================================================= */
@media(max-width:1100px){
  .site-header .site-nav.open{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-height:calc(100vh - 70px) !important;
    overflow-y:auto !important;
    background:#050C15 !important;
    padding:8px 24px 18px !important;
    border-top:1px solid rgba(255,255,255,.10) !important;
    box-shadow:0 18px 35px rgba(0,0,0,.35) !important;
  }

  .site-header .site-nav.open > ul.ips-primary-menu{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    list-style:none !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .site-header .site-nav.open > ul.ips-primary-menu > li{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border-bottom:1px solid rgba(255,255,255,.10) !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .site-header .site-nav.open > ul.ips-primary-menu > li:last-child{
    border-bottom:0 !important;
  }

  .site-header .site-nav.open > ul.ips-primary-menu > li > a{
    display:block !important;
    width:100% !important;
    min-height:0 !important;
    padding:15px 4px !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    font-size:14px !important;
    font-weight:800 !important;
    line-height:1.3 !important;
    letter-spacing:.035em !important;
    text-transform:uppercase !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .site-header .site-nav.open > ul.ips-primary-menu > li.piranha-nav-item > a{
    color:#ff4b50 !important;
    -webkit-text-fill-color:#ff4b50 !important;
  }

  .site-header .site-nav.open > ul.ips-primary-menu > li.mobile-contact-item{
    display:block !important;
  }

  /* Never lock the page when the mobile menu is open. */
  body.menu-open{
    overflow:auto !important;
    position:static !important;
    width:auto !important;
  }
}

/* =========================================================
   v6.5.8 DEDICATED MOBILE DROPDOWN — CLEAN CSS
   Keeps the mobile menu hidden until the hamburger is tapped.
   ========================================================= */
.ips-mobile-menu-v656{
  display:none;
}

@media (max-width:1100px){
  .site-header .site-nav,
  .site-header .header-cta{
    display:none !important;
  }

  .site-header .menu-toggle{
    display:block !important;
    margin-left:auto !important;
    position:relative !important;
    z-index:6001 !important;
  }

  .site-header .header-inner{
    position:relative !important;
  }

  .site-header .ips-mobile-menu-v656,
  .site-header .ips-mobile-menu-v656[hidden]{
    display:none !important;
  }

  .site-header .ips-mobile-menu-v656.open:not([hidden]){
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    position:absolute !important;
    top:100% !important;
    left:0 !important;
    right:0 !important;
    z-index:6000 !important;
    width:100% !important;
    max-height:calc(100vh - 68px) !important;
    overflow-y:auto !important;
    margin:0 !important;
    padding:8px 20px 18px !important;
    background:#050C15 !important;
    border-top:1px solid rgba(255,255,255,.10) !important;
    box-shadow:0 18px 35px rgba(0,0,0,.35) !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .site-header .ips-mobile-menu-v656.open:not([hidden]) > a{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:15px 4px !important;
    border:0 !important;
    border-bottom:1px solid rgba(255,255,255,.10) !important;
    background:transparent !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    font-size:14px !important;
    font-weight:800 !important;
    line-height:1.3 !important;
    letter-spacing:.035em !important;
    text-transform:uppercase !important;
    text-decoration:none !important;
    text-align:left !important;
    visibility:visible !important;
    opacity:1 !important;
  }

  .site-header .ips-mobile-menu-v656.open:not([hidden]) > a:last-child{
    border-bottom:0 !important;
  }

  .site-header .ips-mobile-menu-v656.open:not([hidden]) > a.piranha-mobile-link-v656{
    color:#ff4b50 !important;
    -webkit-text-fill-color:#ff4b50 !important;
  }
}
