/*
Theme Name: CLA EXPERT SSM – Builder v3
Theme URI: https://www.claexpertssm.ro/
Author: CLA EXPERT SSM
Description: Tema WordPress personalizată pentru CLA EXPERT SSM – SSM, SU/PSI, UPA și coordonare șantiere.
Version: 3.0.0
Text Domain: cla-expert-ssm
Requires at least: 6.0
Requires PHP: 7.4
*/


:root{
 --bg:#FFFDF8;--card:#FFFFFF;--text:#172033;--muted:#667085;--navy:#17263A;
 --blue:#3478B9;--blueSoft:#EAF4FC;--red:#E1261C;--redSoft:#FCE7E5;
 --amber:#D19A32;--amberSoft:#FFF4D8;--line:#E8E1D7;--max:1210px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{width:min(calc(100% - 44px),var(--max));margin:auto}
.topbar{background:var(--navy);color:#D8E2EC;font-size:11px}
.topbar .wrap{height:34px;display:flex;align-items:center;justify-content:space-between}
.topcodes{display:flex;align-items:center;gap:8px}
.tag{padding:4px 8px;border-radius:999px;font-weight:800}
.tag.b{background:rgba(52,120,185,.22);color:#E1F1FF}
.tag.r{background:rgba(225,38,28,.20);color:#FFE9E7}
header{position:sticky;top:0;z-index:50;background:rgba(255,253,248,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
nav{height:80px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand img{height:53px;width:auto}
.navlinks{display:flex;align-items:center;gap:27px;font-size:13px;font-weight:650}
.navlinks>a:not(.cta){color:#4D5868}
.navlinks>a:hover{color:var(--blue)}
.cta{padding:12px 18px;background:var(--navy);color:#fff;border-radius:9px;font-weight:750}
.menu{display:none;border:0;background:none;font-size:25px;color:var(--navy)}
.mobile{display:none}
.hero{padding:68px 0 48px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:.93fr 1.07fr;gap:56px;align-items:center}
.eyebrow{display:flex;align-items:center;gap:10px;color:#808896;text-transform:uppercase;letter-spacing:.21em;font-weight:800;font-size:9px;margin-bottom:20px}
.eyebrow:before{content:"";width:30px;height:1px;background:var(--amber)}
h1{font-size:clamp(58px,6.2vw,84px);line-height:.94;letter-spacing:-.055em;margin:0 0 22px;font-weight:680}
h1 span{color:var(--blue)}
.lead{font-size:17px;line-height:1.72;color:var(--muted);max-width:570px;margin:0}
.pills{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}
.pill{padding:7px 13px;border-radius:999px;font-size:10px;font-weight:850;letter-spacing:.045em}
.pill.ssm{background:var(--blueSoft);color:#245D94}
.pill.su{background:var(--redSoft);color:#B51F18}
.pill.upa{background:var(--amberSoft);color:#845E14}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:9px;font-size:13px;font-weight:780}
.btn.primary{background:var(--navy);color:#fff}
.btn.secondary{border:1px solid #D9D1C6;background:#fff;color:var(--text)}
.trust{display:flex;gap:18px;flex-wrap:wrap;margin-top:27px;padding-top:19px;border-top:1px solid var(--line);font-size:11px;color:#7C8490;font-weight:700}
.trust b{display:flex;align-items:center;gap:7px}
.dot{width:6px;height:6px;border-radius:50%;background:var(--blue)}.trust b:nth-child(2) .dot{background:var(--red)}.trust b:nth-child(3) .dot{background:var(--amber)}

/* hero illustration */
.visual{min-height:525px;position:relative;border:1px solid var(--line);background:linear-gradient(145deg,#F4F8FB,#EDF3F7 45%,#FFF8EC);overflow:hidden;box-shadow:0 26px 70px rgba(23,38,58,.11)}
.gridbg{position:absolute;inset:0;background-image:linear-gradient(rgba(23,38,58,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(23,38,58,.035) 1px,transparent 1px);background-size:28px 28px}
.blueprint{position:absolute;right:8%;top:10%;width:67%;height:68%;background:#fff;border:1px solid #DDE4EA;transform:rotate(2deg);box-shadow:0 20px 50px rgba(23,38,58,.10);padding:28px}
.bp-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #E8EDF1;padding-bottom:13px}
.bp-head strong{font-size:12px;letter-spacing:.08em}.bp-head span{font-size:9px;color:#8A929D}
.bp-lines{margin-top:22px;display:grid;gap:14px}
.bp-line{height:8px;border-radius:99px;background:#E7EDF1}.bp-line:nth-child(2){width:73%}.bp-line:nth-child(3){width:86%}
.bp-plan{position:absolute;left:26px;right:26px;bottom:27px;height:125px;border:1px solid #DCE4EA;background:linear-gradient(90deg,transparent 49%,#E9EEF2 50%,transparent 51%),linear-gradient(transparent 49%,#E9EEF2 50%,transparent 51%);background-size:29px 29px}
.bp-plan:before{content:"";position:absolute;width:55%;height:45%;left:13%;top:20%;border:2px solid var(--blue);border-right-color:var(--red);transform:skew(-6deg)}
.helmet{position:absolute;left:8%;bottom:14%;width:190px;height:122px;background:var(--amber);border-radius:96px 96px 34px 34px;box-shadow:0 16px 40px rgba(23,38,58,.16);transform:rotate(-8deg)}
.helmet:before{content:"";position:absolute;left:84px;top:-27px;width:23px;height:54px;border-radius:12px 12px 0 0;background:#B98426}
.helmet:after{content:"";position:absolute;left:-20px;right:-20px;bottom:-8px;height:23px;border-radius:18px;background:#E4AD42}
.clip{position:absolute;left:7%;top:12%;width:122px;height:165px;background:var(--navy);border-radius:12px;transform:rotate(-5deg);box-shadow:0 14px 34px rgba(23,38,58,.19);padding:18px}
.clip:before{content:"";position:absolute;width:50px;height:18px;background:#AAB8C6;left:36px;top:-9px;border-radius:7px}
.clip i{display:block;height:6px;background:rgba(255,255,255,.75);border-radius:99px;margin:14px 0}.clip i:nth-child(2){width:73%}.clip i:nth-child(3){width:85%}
.legend{position:absolute;right:7%;bottom:5%;background:rgba(255,255,255,.92);border:1px solid #E6E0D7;padding:15px 16px;width:270px}
.legend small{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:8px;color:#89919B;font-weight:900}
.legend strong{display:block;font-size:15px;margin:5px 0 8px}.legendbars{display:flex;gap:4px}.legendbars i{height:3px;flex:1;background:var(--blue)}.legendbars i:nth-child(2){background:var(--red)}.legendbars i:nth-child(3){background:var(--amber)}

.clients{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0 21px}
.clients-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}
.clients-head small{font-size:9px;text-transform:uppercase;letter-spacing:.18em;font-weight:850;color:#8B929D}
.clients-head a{font-size:11px;font-weight:750}
.clientgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:0}
.client{min-height:58px;display:flex;align-items:center;justify-content:center;border-right:1px solid #F0ECE5;padding:7px 12px;color:#9AA0A8;font-size:15px;font-weight:800;letter-spacing:.02em;text-align:center}
.client:last-child{border-right:0}

section.block{padding:75px 0}
.section-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:30px;margin-bottom:29px}
.label{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.2em;color:#898F99}
h2{font-size:clamp(39px,4.5vw,58px);line-height:1.02;letter-spacing:-.045em;margin:9px 0 0;font-weight:670}
.section-head p{max-width:350px;color:var(--muted);font-size:13px;margin:0}
.maincards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.mcard{position:relative;background:#fff;border:1px solid var(--line);padding:28px;min-height:270px;box-shadow:0 8px 28px rgba(23,38,58,.035);transition:.2s}
.mcard:hover{transform:translateY(-4px);box-shadow:0 20px 55px rgba(23,38,58,.08)}
.mcard:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--blue)}.mcard.su:before{background:var(--red)}.mcard.upa:before{background:var(--amber)}
.icon{width:47px;height:47px;border-radius:50%;background:var(--blueSoft);color:var(--blue);display:grid;place-items:center;font-weight:900;margin-bottom:31px}
.mcard.su .icon{background:var(--redSoft);color:var(--red)}.mcard.upa .icon{background:var(--amberSoft);color:var(--amber)}
.mcard h3{font-size:27px;margin:0 0 8px;letter-spacing:-.025em}.mcard p{font-size:13px;color:var(--muted);margin:0}.mcard a{display:inline-flex;margin-top:18px;font-size:12px;font-weight:800}
.mcard.ssm a{color:var(--blue)}.mcard.su a{color:var(--red)}.mcard.upa a{color:#A66D07}

.featured{background:#F8F5EF}
.featuregrid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.fcard{background:#fff;border:1px solid var(--line);overflow:hidden;transition:.2s}
.fcard:hover{transform:translateY(-4px);box-shadow:0 20px 55px rgba(23,38,58,.08)}
.fvisual{height:215px;position:relative;overflow:hidden;background:#EEF3F7}
.fbody{padding:22px 23px 24px}.fk{font-size:8px;text-transform:uppercase;letter-spacing:.15em;font-weight:900;color:#8B929C;display:flex;gap:7px;align-items:center}.fk i{width:7px;height:7px;border-radius:50%;background:var(--blue)}.fcard:nth-child(2) .fk i{background:var(--red)}.fcard:nth-child(3) .fk i{background:var(--amber)}
.fbody h3{font-size:22px;margin:8px 0 7px;letter-spacing:-.025em}.fbody p{font-size:13px;color:var(--muted);margin:0}.fbody a{display:inline-flex;margin-top:14px;font-size:12px;font-weight:800}
/* Coordination visual */
.sitevis{position:absolute;inset:0;background:linear-gradient(145deg,#20344D,#17263A)}.sitevis:after{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:22px 22px}
.crane{position:absolute;left:20%;bottom:0;width:9px;height:165px;background:#D8E1E9;z-index:2}.crane:before{content:"";position:absolute;left:0;top:17px;width:185px;height:7px;background:#D8E1E9}.crane:after{content:"";position:absolute;left:156px;top:24px;width:2px;height:78px;background:#D8E1E9}
.building{position:absolute;right:13%;bottom:0;width:45%;height:115px;background:#50677C;z-index:2;clip-path:polygon(0 18%,100% 0,100% 100%,0 100%)}.building:after{content:"";position:absolute;inset:22px 12px 0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.5) 0 2px,transparent 2px 22px),repeating-linear-gradient(rgba(255,255,255,.25) 0 2px,transparent 2px 24px)}
/* risk */
.riskvis{position:absolute;inset:0;background:#F6F2EA;padding:28px}.matrix{width:78%;height:78%;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:5px;transform:rotate(-2deg)}.matrix i{border-radius:5px;background:#E7EEF3}.matrix i:nth-child(4n){background:#F0C9C5}.matrix i:nth-child(n+9){background:#F1D9B0}.matrix i:nth-child(n+13){background:#DFA39C}.matrix i:last-child{background:var(--red)}.riskpin{position:absolute;right:19%;top:31%;width:26px;height:26px;border-radius:50%;background:var(--navy);border:5px solid #fff;box-shadow:0 7px 17px rgba(0,0,0,.15)}
/* accident */
.accvis{position:absolute;inset:0;background:linear-gradient(145deg,#F9EEEE,#F4F7F9)}.flow{position:absolute;left:8%;right:8%;top:48%;height:2px;background:#C9D2DA}.node{position:absolute;top:35%;width:50px;height:50px;border-radius:15px;background:#fff;border:1px solid #DCE2E6;display:grid;place-items:center;font-weight:900;color:var(--blue);box-shadow:0 9px 20px rgba(23,38,58,.08)}.n1{left:7%;background:var(--redSoft);color:var(--red)}.n2{left:34%}.n3{left:61%}.n4{right:7%;background:var(--blue);color:#fff}

.upa-section{padding:66px 0;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.upa-box{position:relative;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;gap:38px;align-items:center;padding:41px 45px;background:linear-gradient(110deg,#FFF8E8,#FFFDF8);border:1px solid #F0DDB3}
.upa-box:after{content:"UPA";position:absolute;right:-12px;bottom:-48px;font-size:175px;font-weight:900;color:rgba(209,154,50,.06)}
.upa-box h2{font-size:clamp(35px,4vw,50px);margin:8px 0 12px}.upa-box p{color:#706858;font-size:14px;max-width:700px;margin:0}.upa-action{position:relative;z-index:2;display:flex;justify-content:flex-end;align-items:center;gap:14px}.upa-note{max-width:210px;text-align:right;font-size:10px;color:#846D40}.btn.amber{background:var(--amber);color:#fff}

.contact{padding:74px 0 82px}
.contactbox{display:grid;grid-template-columns:1fr auto;align-items:center;gap:38px;padding:41px 45px;background:var(--navy);color:#fff}
.contactbox h2{color:#fff;margin:7px 0 8px}.contactbox p{color:#B7C3D0;font-size:14px;margin:0}.contactmeta{display:flex;gap:18px;margin-top:17px;flex-wrap:wrap}.contactmeta a{font-size:12px;font-weight:800}
.contactbox .btn.secondary{background:#fff}
footer{background:var(--navy);color:#AEBACA;padding:50px 0 25px}
.footergrid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:38px}.footerlogo{background:transparent;padding:0;display:inline-flex;align-items:center}.footerlogo img{height:68px;width:auto;max-width:100%;object-fit:contain}footer h4{color:#fff;margin:0 0 13px;font-size:13px}footer a,footer p{font-size:12px;color:#AEBACA;display:block;margin:7px 0}.footbottom{border-top:1px solid rgba(255,255,255,.12);margin-top:32px;padding-top:19px;display:flex;justify-content:space-between;font-size:10px}

@media(max-width:980px){
 .navlinks{display:none}.menu{display:block}
 .hero-grid{grid-template-columns:1fr;gap:32px}.visual{min-height:480px}
 .clientgrid{grid-template-columns:repeat(3,1fr)}.client:nth-child(3){border-right:0}
 .maincards,.featuregrid{grid-template-columns:1fr}
 .fvisual{height:280px}
 .upa-box,.contactbox{grid-template-columns:1fr}.upa-action{justify-content:flex-start}.upa-note{text-align:left}
 .footergrid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
 .wrap{width:min(calc(100% - 28px),var(--max))}.topbar .topright{display:none}nav{height:70px}.brand img{height:44px}
 .hero{padding:43px 0 35px}h1{font-size:49px}.lead{font-size:15px}.actions .btn{width:100%}.visual{min-height:355px}
 .blueprint{right:5%;width:74%;height:64%;padding:18px}.helmet{width:120px;height:80px}.clip{width:85px;height:118px;padding:12px}.legend{width:220px;right:4%;bottom:4%}
 .clientgrid{grid-template-columns:repeat(2,1fr)}.client{border-bottom:1px solid #F0ECE5;border-right:0}
 section.block{padding:58px 0}.section-head{grid-template-columns:1fr}h2{font-size:39px}
 .fvisual{height:210px}.upa-section{padding:53px 0}.upa-box,.contactbox{padding:29px 24px}.upa-box:after{font-size:110px}
 .footergrid{grid-template-columns:1fr}.footbottom{display:block}
}

/* ===== COMPLETE SITE PAGES ===== */
.pagehero{padding:58px 0 48px;background:linear-gradient(180deg,var(--bg),#FFF9F1);border-bottom:1px solid var(--line)}
.pagegrid{display:grid;grid-template-columns:1fr .78fr;gap:52px;align-items:center}
.breadcrumb{font-size:10px;color:#89909A;margin-bottom:18px}.breadcrumb a{color:#657080}.breadcrumb a:hover{color:var(--blue)}
.pagehero h1{font-size:clamp(47px,5.2vw,70px);line-height:.98;letter-spacing:-.05em;margin:10px 0 18px;font-weight:680}
.pagehero .intro{font-size:16px;line-height:1.7;color:var(--muted);max-width:680px;margin:0}.heroactions{display:flex;gap:10px;flex-wrap:wrap;margin-top:23px}
.pagevisual{position:relative;min-height:355px;border:1px solid var(--line);background:#fff;overflow:hidden;box-shadow:0 22px 60px rgba(23,38,58,.08)}
.pagevisual .vlabel{position:absolute;left:18px;top:17px;z-index:5;font-size:8px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#7E8791;background:rgba(255,255,255,.88);border:1px solid rgba(232,225,215,.85);padding:6px 9px;border-radius:999px}
.pagevisual .vfoot{position:absolute;left:18px;right:18px;bottom:16px;z-index:5;background:rgba(255,255,255,.92);border:1px solid rgba(232,225,215,.85);padding:13px 15px}.vfoot strong{display:block;font-size:15px}.vfoot small{color:var(--muted);font-size:10px}
.contentsection{padding:66px 0}.contentsection.alt{background:#F8F5EF}.contentsection.white{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.compacthead{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;margin-bottom:28px}.compacthead .left{max-width:760px}.compacthead p{max-width:350px;margin:0;color:var(--muted);font-size:13px}
.kicker{font-size:9px;text-transform:uppercase;letter-spacing:.18em;font-weight:900;color:#8B919A}.contentsection h2{font-size:clamp(35px,4.1vw,52px);line-height:1.03;letter-spacing:-.04em;margin:8px 0 0;font-weight:670}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.info{background:#fff;border:1px solid var(--line);padding:23px;min-height:170px}.info .num{font-size:9px;font-weight:900;letter-spacing:.13em;color:#9AA1A9}.info h3{font-size:20px;letter-spacing:-.025em;margin:18px 0 7px}.info p{font-size:13px;color:var(--muted);margin:0}
.info.blue{border-top:3px solid var(--blue)}.info.red{border-top:3px solid var(--red)}.info.amber{border-top:3px solid var(--amber)}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}.checks li{position:relative;padding-left:24px;color:var(--muted);font-size:13px}.checks li:before{content:'✓';position:absolute;left:0;color:var(--blue);font-weight:900}.checks.red li:before{color:var(--red)}.checks.amber li:before{color:var(--amber)}
.splitpanel{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panelx{background:#fff;border:1px solid var(--line);padding:27px}.panelx h3{font-size:23px;margin:0 0 10px}.panelx p{font-size:13px;color:var(--muted);margin:0}
.legal{margin-top:20px;padding:16px 18px;border-left:3px solid var(--blue);background:#fff;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.legal strong{color:var(--text)}.legal.amber{border-left-color:var(--amber)}.legal.red{border-left-color:var(--red)}
.faq{display:grid;gap:9px}.faq details{background:#fff;border:1px solid var(--line);padding:16px 18px}.faq summary{cursor:pointer;font-size:13px;font-weight:800}.faq p{font-size:12px;color:var(--muted);margin:10px 0 0}
.bottomcta{padding:58px 0 72px}.bottomctabox{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;background:var(--navy);color:#fff;padding:35px 40px}.bottomctabox h2{color:#fff;font-size:clamp(31px,3.7vw,46px);margin:0 0 7px}.bottomctabox p{color:#BBC6D2;font-size:13px;margin:0;max-width:720px}
/* visual modules */
.triad{position:absolute;inset:0;background:linear-gradient(145deg,#F7FAFC,#FFF9EF)}.triadgrid{position:absolute;inset:73px 24px 75px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.triadcard{display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid var(--line);background:#fff}.triadcard b{font-size:30px}.triadcard small{font-size:9px;text-transform:uppercase;letter-spacing:.12em}.triadcard.b b,.triadcard.b small{color:var(--blue)}.triadcard.r b,.triadcard.r small{color:var(--red)}.triadcard.a b,.triadcard.a small{color:var(--amber)}
.docvis{position:absolute;inset:0;background:linear-gradient(145deg,#F2F7FB,#EAF4FC)}.sheet{position:absolute;width:63%;height:68%;left:20%;top:14%;background:#fff;border:1px solid #DCE5EC;box-shadow:0 17px 40px rgba(23,38,58,.1);padding:23px;transform:rotate(1.5deg)}.sheet:before,.sheet:after{content:'';display:block;height:7px;background:#E1E8ED;border-radius:9px;margin:13px 0}.sheet:after{width:68%}.checkrow{display:flex;align-items:center;gap:9px;margin:14px 0}.checkrow i{width:17px;height:17px;border-radius:5px;background:var(--blue)}.checkrow span{height:6px;background:#E6EBEF;border-radius:9px;flex:1}
.firevis{position:absolute;inset:0;background:linear-gradient(145deg,#FFF7F6,#FCE7E5)}.flame{position:absolute;left:50%;top:46%;width:105px;height:145px;background:var(--red);transform:translate(-50%,-50%) rotate(45deg);border-radius:75% 18% 70% 18%;box-shadow:0 15px 35px rgba(225,38,28,.18)}.flame:after{content:'';position:absolute;width:48px;height:68px;left:31px;top:45px;background:#FFF4D8;border-radius:70% 18% 70% 18%}.firelines{position:absolute;inset:65px 38px 80px;border:1px solid rgba(225,38,28,.15)}
.upavis{position:absolute;inset:0;background:linear-gradient(145deg,#FFF9EC,#FFF4D8)}.upa50{position:absolute;left:12%;top:22%;font-size:84px;font-weight:900;color:var(--amber);letter-spacing:-.06em}.upacalc{position:absolute;right:11%;top:18%;width:43%;height:52%;background:#fff;border:1px solid #ECD8A7;padding:20px;box-shadow:0 15px 35px rgba(110,80,20,.09)}.upacalc i{display:block;height:7px;background:#EEE5D2;border-radius:9px;margin:13px 0}.upacalc i:nth-child(2){width:70%}.upacalc .bar{position:absolute;left:20px;right:20px;bottom:20px;height:8px;background:linear-gradient(90deg,var(--navy) 0 50%,var(--amber) 50%)}
.portvis{position:absolute;inset:0;background:var(--navy)}.portgrid{position:absolute;inset:66px 25px 75px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.portlogo{display:grid;place-items:center;background:#fff;color:#7E8790;font-size:13px;font-weight:900;letter-spacing:.04em}.portvis .vfoot{background:rgba(255,255,255,.94)}
.aboutvis{position:absolute;inset:0;background:linear-gradient(135deg,#F4F8FB,#FFF8EC)}.roles{position:absolute;inset:76px 30px 79px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.role{background:#fff;border:1px solid var(--line);display:flex;align-items:center;gap:11px;padding:14px}.role i{width:34px;height:34px;border-radius:50%;background:var(--blueSoft);display:grid;place-items:center;color:var(--blue);font-style:normal;font-size:10px;font-weight:900}.role:nth-child(2) i{background:var(--redSoft);color:var(--red)}.role:nth-child(3) i{background:var(--amberSoft);color:var(--amber)}.role:nth-child(4) i{background:#EDF0F4;color:var(--navy)}.role span{font-size:11px;font-weight:800}
.auditvis{position:absolute;inset:0;background:var(--navy)}.dashboard{position:absolute;inset:64px 24px 76px;background:#fff;padding:20px}.dashrow{display:grid;grid-template-columns:76px 1fr 55px;gap:9px;align-items:center;margin:13px 0;font-size:9px;font-weight:800}.track{height:7px;border-radius:9px;background:#E9EDF0;overflow:hidden}.fill{height:100%;background:var(--blue)}.dashrow:nth-child(2) .fill{background:var(--amber)}.dashrow:nth-child(3) .fill{background:var(--red)}.dashrow:nth-child(4) .fill{background:#75869A}
.sitevis2{position:absolute;inset:0;background:var(--navy);background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:25px 25px}.network{position:absolute;inset:72px 28px 82px}.netnode{position:absolute;background:#fff;color:var(--text);font-size:9px;font-weight:850;padding:9px 11px;border-radius:10px;z-index:2}.netnode.main{left:35%;top:35%;background:var(--amber);color:#fff;font-size:11px}.netnode.n1{left:2%;top:5%}.netnode.n2{right:2%;top:7%}.netnode.n3{left:3%;bottom:7%}.netnode.n4{right:1%;bottom:7%}.netline{position:absolute;height:1px;background:rgba(239,211,154,.8);transform-origin:left}.nl1{left:18%;top:25%;width:31%;transform:rotate(23deg)}.nl2{left:52%;top:43%;width:33%;transform:rotate(-28deg)}.nl3{left:18%;top:70%;width:32%;transform:rotate(-23deg)}.nl4{left:53%;top:55%;width:31%;transform:rotate(28deg)}
.riskvis2{position:absolute;inset:0;background:#F7F3EB}.riskmatrix{position:absolute;inset:72px 32px 78px;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:6px}.riskmatrix i{background:#E9F0F5;border-radius:7px}.riskmatrix i:nth-child(4n){background:#F5D0CD}.riskmatrix i:nth-child(n+9){background:#F5E0B8}.riskmatrix i:nth-child(n+13){background:#E4AAA5}.riskmatrix i:last-child{background:var(--red)}
.accvis2{position:absolute;inset:0;background:linear-gradient(145deg,#FFF4F3,#F1F6FA)}.flowline{position:absolute;left:9%;right:9%;top:49%;height:2px;background:#CCD5DC}.flownode{position:absolute;top:38%;width:48px;height:48px;border-radius:15px;background:#fff;border:1px solid #DAE1E6;display:grid;place-items:center;font-size:10px;font-weight:900;color:var(--blue);box-shadow:0 8px 18px rgba(23,38,58,.08)}.fn1{left:8%;background:var(--redSoft);color:var(--red)}.fn2{left:34%}.fn3{left:60%}.fn4{right:8%;background:var(--blue);color:#fff}
/* portfolio */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.filterbtn{border:1px solid var(--line);background:#fff;padding:8px 12px;border-radius:999px;font-size:10px;font-weight:800;cursor:pointer;color:#5D6775}.filterbtn.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.logowall{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.company{background:#fff;border:1px solid var(--line);min-height:135px;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transition:.2s}.company:hover{transform:translateY(-3px);box-shadow:0 17px 40px rgba(23,38,58,.07)}.company .mark{font-size:16px;font-weight:900;color:#7D8692;letter-spacing:.03em}.company small{font-size:9px;color:#A0A6AE;margin-top:7px;text-transform:uppercase;letter-spacing:.12em}.company.hidden{display:none}
/* contact */
.contactgrid{display:grid;grid-template-columns:.78fr 1.22fr;gap:18px}.contactinfo{background:var(--navy);color:#fff;padding:31px}.contactinfo h2{color:#fff;font-size:39px;margin:8px 0 10px}.contactinfo p{color:#B8C4D0;font-size:13px}.details{display:grid;gap:11px;margin-top:23px}.details a,.details span{font-size:13px;font-weight:800}.form{background:#fff;border:1px solid var(--line);padding:28px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:grid;gap:5px}.field.full{grid-column:1/-1}.field label{font-size:10px;font-weight:800;color:#5E6876}.field input,.field select,.field textarea{border:1px solid #DED9D1;background:#FFFEFC;padding:11px 12px;min-height:44px;font:inherit;color:var(--text);font-size:12px}.field textarea{min-height:105px;resize:vertical}.formnote{font-size:9px;color:#8D949D;margin:10px 0 13px}
@media(max-width:980px){.pagegrid{grid-template-columns:1fr}.pagevisual{min-height:330px}.compacthead{grid-template-columns:1fr}.grid3,.grid4{grid-template-columns:repeat(2,1fr)}.logowall{grid-template-columns:repeat(3,1fr)}.contactgrid{grid-template-columns:1fr}}
@media(max-width:620px){.pagehero{padding:42px 0 36px}.pagehero h1{font-size:43px}.pagevisual{min-height:300px}.grid2,.grid3,.grid4,.splitpanel,.logowall,.formgrid{grid-template-columns:1fr}.field.full{grid-column:auto}.contentsection{padding:52px 0}.bottomctabox{grid-template-columns:1fr;padding:28px 24px}.pagevisual .vfoot{left:12px;right:12px;bottom:11px}.contactinfo,.form{padding:24px}}


/* ===== V9 PROFESSIONAL — editorial corporate refinement ===== */
body.prosite{
  background:#FFFDF8;
  color:#172033;
  letter-spacing:-.002em;
}
.prosite .topbar{
  background:#142235;
  color:#C9D4DF;
  font-size:10px;
}
.prosite .topbar .wrap{height:30px}
.prosite .tag{padding:3px 7px;font-size:9px;letter-spacing:.05em}
.prosite header{
  background:rgba(255,253,248,.965);
  border-bottom:1px solid rgba(23,32,51,.08);
  box-shadow:none;
}
.prosite nav{height:76px}
.prosite .brand img{height:49px}
.prosite .navlinks{gap:30px;font-size:12px}
.prosite .navlinks>a:not(.cta){color:#394558;font-weight:650}
.prosite .cta{
  border-radius:3px;
  padding:13px 19px;
  letter-spacing:.015em;
  box-shadow:0 8px 20px rgba(23,38,58,.08)
}
.prosite .btn{
  border-radius:3px;
  min-height:47px;
  padding:0 20px;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.prosite .btn:hover{transform:translateY(-2px)}
.prosite .btn.primary{box-shadow:0 12px 26px rgba(23,38,58,.12)}
.prosite .btn.secondary{background:transparent}
.prosite .eyebrow,
.prosite .kicker,
.prosite .label{
  letter-spacing:.19em;
}
.prosite h1{
  font-weight:640;
  letter-spacing:-.055em;
}
.prosite h2{
  font-weight:630;
  letter-spacing:-.045em;
}
.prosite h3{font-weight:650}
.prosite .pagehero{
  padding:66px 0 72px;
  background:
    radial-gradient(circle at 10% 12%,rgba(209,154,50,.04),transparent 25%),
    #FFFDF8;
}
.prosite .pagegrid{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(500px,1.12fr);
  gap:68px;
  align-items:center;
}
.prosite .pagehero h1{
  font-size:clamp(47px,5vw,68px);
  line-height:1;
  max-width:720px;
}
.prosite .intro{
  color:#667085;
  font-size:16px;
  line-height:1.75;
  max-width:620px;
}
.prosite .breadcrumb{
  color:#8A929C;
  font-size:10px;
  margin-bottom:22px;
}
.prosite .pills{margin:0 0 18px}
.prosite .pill{
  border-radius:999px;
  font-size:9px;
  padding:6px 10px;
}
.prosite .pagevisual{
  min-height:430px;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.pro-media{
  position:relative;
  height:430px;
  overflow:hidden;
  background:#1A2737;
  box-shadow:0 28px 70px rgba(23,38,58,.14);
}
.pro-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(.90) contrast(.98) brightness(.99);
  transform:scale(1.015);
}
.pro-media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(23,38,58,.07),transparent 38%,rgba(23,38,58,.04));
  pointer-events:none;
}
.pro-media::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:4px;
  z-index:2;
  background:linear-gradient(90deg,#3478B9 0 33.33%,#E1261C 33.33% 66.66%,#D19A32 66.66%);
}
.prosite .vfoot{display:none!important}

/* content is editorial rather than a wall of cards */
.prosite .contentsection{padding:72px 0}
.prosite .contentsection.alt{background:#F8F5EF}
.prosite .contentsection.white{background:#fff}
.prosite .compacthead{margin-bottom:28px}
.prosite .compacthead h2{
  font-size:clamp(34px,3.8vw,49px);
  line-height:1.05;
  max-width:760px;
}
.prosite .compacthead p{color:#667085;max-width:700px}
.prosite .grid2{gap:28px}
.prosite .grid3{gap:28px}
.prosite .grid4{gap:25px}
.prosite .info{
  background:transparent!important;
  border:0!important;
  border-top:1px solid #E4DED5!important;
  border-radius:0!important;
  padding:22px 0 6px!important;
  box-shadow:none!important;
}
.prosite .info:hover{transform:none!important;box-shadow:none!important}
.prosite .info h3{
  margin-top:12px;
  font-size:19px;
}
.prosite .info p{color:#667085;font-size:13px;line-height:1.65}
.prosite .num{
  width:31px!important;height:31px!important;
  border-radius:50%!important;
  font-size:10px!important;
  background:#fff!important;
  border:1px solid #DDD7CE!important;
}
.prosite .panelx{
  border-radius:0!important;
  background:#fff!important;
  border:1px solid #E5DED5!important;
  box-shadow:0 12px 35px rgba(23,38,58,.045)!important;
  padding:30px!important;
}
.prosite .splitpanel{gap:18px}
.prosite .legal{
  border-radius:0!important;
  background:#FFF9EB!important;
  border-color:#EFD9AA!important;
}
.prosite .checks li{color:#5F6876}
.prosite .faq details{
  border:0!important;
  border-top:1px solid #E5DED5!important;
  border-radius:0!important;
  background:transparent!important;
  padding:18px 0!important;
}
.prosite .faq details:last-child{border-bottom:1px solid #E5DED5!important}
.prosite .bottomcta{padding:0 0 76px}
.prosite .bottomctabox{
  border-radius:0!important;
  background:#17263A!important;
  padding:39px 42px!important;
  box-shadow:0 22px 55px rgba(23,38,58,.12)
}
.prosite .bottomctabox h2{color:#fff}
.prosite .bottomctabox p{color:#BEC8D3}

/* Portfolio */
.prosite .filters{gap:7px}
.prosite .filterbtn{
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid #E4DED5!important;
  font-size:10px!important;
}
.prosite .filterbtn.active{
  background:#17263A!important;color:#fff!important;border-color:#17263A!important
}
.prosite .logowall{
  gap:12px!important;
}
.prosite .company{
  border-radius:0!important;
  min-height:128px!important;
  background:#fff!important;
  border:1px solid #E8E2DA!important;
  box-shadow:none!important;
  transition:.2s ease;
}
.prosite .company:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 35px rgba(23,38,58,.06)!important;
}
.prosite .company .mark{font-weight:750;color:#172033}

/* homepage */
.prosite .hero{
  padding:64px 0 48px;
  background:
    radial-gradient(circle at 9% 12%,rgba(209,154,50,.045),transparent 24%),
    #FFFDF8;
}
.prosite .hero-grid{
  grid-template-columns:minmax(0,.9fr) minmax(510px,1.1fr);
  gap:62px;
  align-items:center;
}
.prosite .hero h1{
  font-size:clamp(58px,6vw,82px);
}
.prosite .hero .visual{
  min-height:520px!important;
  height:520px!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.prosite .hero .pro-media{height:520px}
.prosite .trust{
  color:#7B8491;
  border-top-color:#E4DED5;
}
.prosite .clients{
  padding:18px 0 20px;
  background:#fff;
}
.prosite .client{
  color:#7A828C!important;
  font-size:13px!important;
  letter-spacing:.035em!important;
  min-height:54px!important;
}
.prosite section.block{padding:74px 0}
.prosite .section-head{margin-bottom:27px}
.prosite .section-head p{font-size:13px;line-height:1.65}
.prosite .maincards{gap:0;border-top:1px solid #E4DED5;border-bottom:1px solid #E4DED5}
.prosite .mcard{
  border:0!important;
  border-right:1px solid #E4DED5!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:30px 30px 31px!important;
  min-height:280px!important;
}
.prosite .mcard:last-child{border-right:0!important}
.prosite .mcard:before{height:3px}
.prosite .mcard:hover{transform:none!important;box-shadow:none!important;background:#FFFEFC!important}
.prosite .icon{
  width:44px;height:44px;
  border-radius:0!important;
  background:transparent!important;
  margin-bottom:30px!important;
}
.prosite .icon svg{width:38px;height:38px;stroke:currentColor;fill:none;stroke-width:1.55}
.prosite .mcard h3{font-size:26px}
.prosite .mcard p{line-height:1.65}
.prosite .featured{background:#F8F5EF}
.prosite .featuregrid{gap:15px}
.prosite .fcard{
  border-radius:0!important;
  border:1px solid #E4DED5!important;
  box-shadow:none!important;
}
.prosite .fcard:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(23,38,58,.07)!important}
.prosite .fvisual{
  height:235px!important;
  background:#1A2737!important;
}
.prosite .fvisual img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:saturate(.88) contrast(.98);
}
.prosite .fbody{padding:22px 23px 25px}
.prosite .upa-box{
  border-radius:0!important;
  box-shadow:none!important;
}
.prosite .contactbox{
  border-radius:0!important;
  box-shadow:0 22px 55px rgba(23,38,58,.11);
}
.prosite footer{padding-top:47px}

/* mobile navigation */
.mobile-panel{
  display:none;
  position:absolute;
  left:0;right:0;top:76px;
  background:#FFFDF8;
  border-top:1px solid #E8E2DA;
  border-bottom:1px solid #E8E2DA;
  padding:12px 22px 18px;
  box-shadow:0 18px 35px rgba(23,38,58,.08);
}
.mobile-panel.open{display:block}
.mobile-panel a{display:block;padding:11px 0;border-bottom:1px solid #EEE8E0;font-size:13px;font-weight:700}
.mobile-panel a:last-child{border-bottom:0;color:#3478B9}
.prosite header .wrap{position:relative}

@media(max-width:980px){
  .prosite .pagegrid,.prosite .hero-grid{grid-template-columns:1fr;gap:34px}
  .prosite .pagevisual,.prosite .pro-media{min-height:0;height:410px}
  .prosite .hero .visual,.prosite .hero .pro-media{height:460px!important}
  .prosite .maincards{display:grid;grid-template-columns:1fr}
  .prosite .mcard{border-right:0!important;border-bottom:1px solid #E4DED5!important;min-height:0!important}
  .prosite .mcard:last-child{border-bottom:0!important}
}
@media(max-width:680px){
  .prosite .topbar{display:none}
  .prosite nav{height:68px}
  .prosite .brand img{height:44px}
  .mobile-panel{top:68px}
  .prosite .pagehero{padding:43px 0 52px}
  .prosite .pagehero h1{font-size:43px}
  .prosite .intro{font-size:15px}
  .prosite .pagevisual,.prosite .pro-media{height:285px}
  .prosite .hero{padding-top:42px}
  .prosite .hero h1{font-size:49px}
  .prosite .hero .visual,.prosite .hero .pro-media{height:315px!important}
  .prosite .contentsection{padding:54px 0}
  .prosite section.block{padding:56px 0}
  .prosite .bottomctabox{padding:29px 24px!important}
}


/* ===== V10 BRIGHT / NATURAL ===== */
.prosite{
  --bg:#FFFDF8;
  --surface:#FFFFFF;
  --soft:#F7F8F8;
  --soft-warm:#FAF8F4;
  --line:#E7E8EA;
  --text:#172033;
  --muted:#657080;
}
.prosite body, body.prosite{background:var(--bg)}
.prosite .pagehero,.prosite .hero{
  background:
    radial-gradient(circle at 0% 20%, rgba(52,120,185,.045), transparent 26%),
    linear-gradient(180deg,#FFFDF8 0%,#FFFFFF 100%);
}
.prosite header{box-shadow:0 5px 22px rgba(23,38,58,.035)}
.prosite .pagegrid,.prosite .hero-grid{gap:64px}
.prosite .pro-media{
  border-radius:18px;
  box-shadow:0 22px 55px rgba(23,38,58,.10);
  background:#F4F5F6;
}
.prosite .pro-media::after{
  height:3px;
  border-radius:0 0 18px 18px;
}
.prosite .pro-media img{
  filter:saturate(.92) contrast(.97) brightness(1.02);
}
.prosite .pagehero .pro-media,
.prosite .hero .pro-media{border:1px solid rgba(23,38,58,.055)}
.prosite .featured{background:#F8F9F9}
.prosite .contentsection.alt{background:#F8F9F9}
.prosite .contentsection.white{background:#fff}
.prosite .panelx,
.prosite .fcard,
.prosite .company{
  border-color:#E6E8EA!important;
}
.prosite .panelx{box-shadow:0 10px 26px rgba(23,38,58,.035)!important}
.prosite .bottomctabox,
.prosite .contactbox{
  background:linear-gradient(115deg,#17263A,#20344D)!important;
}

/* Buttons: subtle agency-like motion */
.prosite .btn,
.prosite .cta{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:
    transform .22s cubic-bezier(.2,.8,.2,1),
    box-shadow .22s ease,
    background-color .22s ease,
    border-color .22s ease,
    color .22s ease;
}
.prosite .btn::before,
.prosite .cta::before{
  content:"";
  position:absolute;
  top:0;bottom:0;
  left:-45%;
  width:34%;
  z-index:-1;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.22),transparent);
  transform:skewX(-18deg);
  transition:left .48s ease;
}
.prosite .btn:hover::before,
.prosite .cta:hover::before{left:120%}
.prosite .btn:hover,
.prosite .cta:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(23,38,58,.14);
}
.prosite .btn:active,
.prosite .cta:active{
  transform:translateY(0) scale(.985);
  box-shadow:0 5px 14px rgba(23,38,58,.10);
}
.prosite .btn.secondary:hover{
  border-color:#3478B9;
  color:#245D94;
  background:#F6FAFD;
}
.prosite .mcard a,
.prosite .fbody a,
.prosite .clients-head a,
.prosite .company a{
  transition:color .18s ease, transform .18s ease;
}
.prosite .mcard a:hover,
.prosite .fbody a:hover,
.prosite .clients-head a:hover{
  transform:translateX(3px);
}

/* Real client logos */
.logo-card{
  position:relative;
  min-height:145px;
  padding:18px 18px 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:#fff;
  border:1px solid #E7E8EA;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.logo-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 36px rgba(23,38,58,.075);
  border-color:#D7DDE2;
}
.logo-frame{
  height:70px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:10px;
}
.logo-frame img{
  max-width:145px;
  max-height:62px;
  width:auto;
  height:auto;
  object-fit:contain;
  filter:grayscale(1);
  opacity:.74;
  transition:filter .25s ease,opacity .25s ease,transform .25s ease;
}
.logo-card:hover .logo-frame img{
  filter:grayscale(0);
  opacity:1;
  transform:scale(1.035);
}
.logo-card strong{font-size:12px;font-weight:720;color:#354153}
.logo-card small{
  margin-top:4px;
  font-size:8px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#9AA2AD;
}
.logo-card.hidden{display:none}
.logo-fallback{
  display:flex;
  align-items:center;
  justify-content:center;
  height:62px;
  width:100%;
  color:#6C7684;
  font-size:15px;
  font-weight:760;
}

/* Homepage client logos */
.home-logo-strip{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  border-top:1px solid #ECECEF;
  border-bottom:1px solid #ECECEF;
  background:#fff;
}
.home-logo{
  min-height:66px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border-right:1px solid #ECECEF;
}
.home-logo:last-child{border-right:0}
.home-logo img{
  max-width:105px;
  max-height:38px;
  object-fit:contain;
  filter:grayscale(1);
  opacity:.62;
  transition:.22s ease;
}
.home-logo:hover img{filter:grayscale(0);opacity:1;transform:scale(1.04)}
@media(max-width:980px){
  .home-logo-strip{grid-template-columns:repeat(3,1fr)}
  .home-logo:nth-child(3n){border-right:0}
}
@media(max-width:620px){
  .prosite .pro-media{border-radius:12px}
  .home-logo-strip{grid-template-columns:repeat(2,1fr)}
  .home-logo:nth-child(n){border-right:0;border-bottom:1px solid #ECECEF}
  .logo-card{min-height:128px}
}
@media (prefers-reduced-motion: reduce){
  .prosite *, .prosite *::before, .prosite *::after{
    transition:none!important;
    animation:none!important;
    scroll-behavior:auto!important;
  }
}


/* ===== FINAL BUTTON / INTERACTION PASS ===== */
:root{
  --cla-navy:#17263A;
  --cla-blue:#3478B9;
  --cla-blue-dark:#245D94;
  --cla-red:#E1261C;
  --cla-red-dark:#BA1E16;
  --cla-amber:#D19A32;
  --cla-amber-dark:#A97518;
}
.prosite .btn,
.prosite .cta{
  min-height:48px;
  border:1.5px solid transparent;
  border-radius:6px;
  font-weight:800;
  letter-spacing:.005em;
  box-shadow:none;
}
.prosite .btn.primary,
.prosite .cta{
  background:var(--cla-navy);
  color:#fff;
  border-color:var(--cla-navy);
}
.prosite .btn.primary:hover,
.prosite .cta:hover{
  background:var(--cla-blue);
  border-color:var(--cla-blue);
  color:#fff;
  box-shadow:0 12px 28px rgba(52,120,185,.22);
}
.prosite .btn.secondary{
  background:#fff;
  color:var(--cla-navy);
  border-color:#BFC8D3;
}
.prosite .btn.secondary:hover{
  background:#EEF6FC;
  color:var(--cla-blue-dark);
  border-color:var(--cla-blue);
  box-shadow:0 10px 24px rgba(52,120,185,.12);
}
.prosite .btn.btn-ssm,
.prosite a.btn-ssm{
  background:var(--cla-blue);
  color:#fff;
  border-color:var(--cla-blue);
}
.prosite .btn.btn-ssm:hover,
.prosite a.btn-ssm:hover{
  background:var(--cla-blue-dark);
  border-color:var(--cla-blue-dark);
  box-shadow:0 12px 28px rgba(52,120,185,.22);
}
.prosite .btn.btn-su,
.prosite a.btn-su{
  background:var(--cla-red);
  color:#fff;
  border-color:var(--cla-red);
}
.prosite .btn.btn-su:hover,
.prosite a.btn-su:hover{
  background:var(--cla-red-dark);
  border-color:var(--cla-red-dark);
  box-shadow:0 12px 28px rgba(225,38,28,.19);
}
.prosite .btn.amber,
.prosite .btn.btn-upa,
.prosite a.btn-upa{
  background:var(--cla-amber);
  color:#fff;
  border-color:var(--cla-amber);
}
.prosite .btn.amber:hover,
.prosite .btn.btn-upa:hover,
.prosite a.btn-upa:hover{
  background:var(--cla-amber-dark);
  border-color:var(--cla-amber-dark);
  box-shadow:0 12px 28px rgba(209,154,50,.22);
}

/* Different highlight tones in the animation */
.prosite .btn.primary::before,
.prosite .cta::before{background:linear-gradient(105deg,transparent,rgba(120,188,241,.33),transparent)}
.prosite .btn.secondary::before{background:linear-gradient(105deg,transparent,rgba(52,120,185,.12),transparent)}
.prosite .btn.btn-ssm::before{background:linear-gradient(105deg,transparent,rgba(255,255,255,.31),transparent)}
.prosite .btn.btn-su::before{background:linear-gradient(105deg,transparent,rgba(255,220,216,.34),transparent)}
.prosite .btn.amber::before,
.prosite .btn.btn-upa::before{background:linear-gradient(105deg,transparent,rgba(255,244,216,.38),transparent)}

.prosite .filterbtn{
  background:#fff!important;
  color:#364153!important;
  border:1.5px solid #CDD4DC!important;
  font-weight:750!important;
}
.prosite .filterbtn:hover{
  border-color:var(--cla-blue)!important;
  color:var(--cla-blue-dark)!important;
  background:#F1F7FC!important;
}
.prosite .filterbtn.active{
  background:var(--cla-navy)!important;
  color:#fff!important;
  border-color:var(--cla-navy)!important;
}

/* Portfolio originals */
.prosite .logo-frame{
  background:#fff;
  min-height:76px;
  padding:6px;
}
.prosite .logo-frame img{
  display:block;
  max-width:150px;
  max-height:66px;
  width:auto;
  height:auto;
  object-fit:contain;
}
.prosite .logo-card:hover .logo-frame img{
  filter:none;
  opacity:1;
}
.logo-loading{
  font-size:10px;
  color:#949CA7;
  text-transform:uppercase;
  letter-spacing:.08em;
}

/* ===== FINAL VISUAL TWEAKS ===== */
body{font-size:17px;line-height:1.65}
p, li{font-size:1.02rem;line-height:1.7}
.lead{font-size:1.14rem!important;line-height:1.78!important;max-width:760px}
.intro,.compacthead p,.panelx p,.mcard p,.fbody p,.contactinfo p,.details a,.details span,.legal,.trust b,.checks li,.info p,.company small,.logo-card small{font-size:.98rem!important;line-height:1.7}
.pill{font-size:.84rem!important}
.btn,.cta{font-size:.98rem}
.brand img{height:66px!important;width:auto}
.footerlogo img{height:62px!important;width:auto}
.hero-heading-row{display:grid;grid-template-columns:minmax(195px,240px) 1fr;gap:24px;align-items:center;margin:16px 0 14px}
.hero-title-logo{display:flex;align-items:center;justify-content:flex-start}
.hero-title-logo img{width:100%;max-width:225px;height:auto;filter:drop-shadow(0 6px 16px rgba(23,38,58,.08))}
.hero-headings h1{margin:0}
.logo-card{transition:box-shadow .18s ease!important}
.logo-card:hover{transform:none!important;box-shadow:0 12px 28px rgba(23,38,58,.08)!important}
.logo-frame img{filter:none!important;opacity:1!important;transition:transform .18s ease!important}
.logo-card:hover .logo-frame img{transform:scale(1.035)!important}
.logowall{grid-template-columns:repeat(4,1fr)!important}
@media(max-width:1100px){.logowall{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:860px){.hero-heading-row{grid-template-columns:1fr;gap:14px}.hero-title-logo img{max-width:210px}.logowall{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:620px){body{font-size:16px}.lead{font-size:1.05rem!important}.logo-card strong{font-size:.95rem}.logowall{grid-template-columns:1fr!important}.hero-title-logo{justify-content:flex-start}.brand img{height:58px!important}}


/* ===== FINAL V3 NAV / LOGO PASS ===== */

/* Homepage client logos stay permanently in original color */
.home-logo img{
  filter:none!important;
  opacity:1!important;
  transition:transform .18s ease!important;
}
.home-logo:hover img{
  filter:none!important;
  opacity:1!important;
  transform:scale(1.035)!important;
}

/* Service dropdown */
.nav-services{
  position:relative;
  display:flex;
  align-items:center;
  height:76px;
}
.nav-services-trigger{
  appearance:none;
  border:0;
  background:transparent;
  color:#394558;
  font:inherit;
  font-weight:650;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:7px;
  padding:0;
}
.nav-services-trigger:hover,
.nav-services:focus-within .nav-services-trigger{
  color:var(--blue);
}
.nav-services-trigger .chev{
  width:7px;
  height:7px;
  border-right:1.6px solid currentColor;
  border-bottom:1.6px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .18s ease;
}
.nav-services:hover .chev,
.nav-services:focus-within .chev{
  transform:rotate(225deg) translate(-1px,-1px);
}
.nav-services-menu{
  position:absolute;
  top:calc(100% - 3px);
  left:-20px;
  min-width:300px;
  padding:10px;
  background:#fff;
  border:1px solid #E3E7EB;
  border-radius:10px;
  box-shadow:0 20px 48px rgba(23,38,58,.12);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
  z-index:120;
}
.nav-services:hover .nav-services-menu,
.nav-services:focus-within .nav-services-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.nav-services-menu a{
  display:flex;
  align-items:center;
  min-height:40px;
  padding:8px 11px;
  border-radius:7px;
  color:#354153;
  font-size:13px;
  font-weight:650;
  white-space:nowrap;
  transition:background .16s ease,color .16s ease,transform .16s ease;
}
.nav-services-menu a:hover{
  background:#EEF6FC;
  color:#245D94;
  transform:translateX(2px);
}
.nav-services-menu a:first-child{
  font-weight:800;
  color:#17263A;
  border-bottom:1px solid #E9EDF0;
  border-radius:7px 7px 3px 3px;
  margin-bottom:5px;
}

/* Mobile nested services */
.mobile-services{
  border-bottom:1px solid #EEE8E0;
}
.mobile-services summary{
  list-style:none;
  cursor:pointer;
  padding:11px 0;
  font-size:13px;
  font-weight:750;
  color:#354153;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.mobile-services summary::-webkit-details-marker{display:none}
.mobile-services summary::after{
  content:"+";
  font-size:17px;
  font-weight:500;
  color:#3478B9;
}
.mobile-services[open] summary::after{content:"–"}
.mobile-services-links{
  padding:0 0 9px 11px;
}
.mobile-services-links a{
  padding:8px 0!important;
  border-bottom:0!important;
  font-size:12.5px!important;
  font-weight:650!important;
  color:#5B6675!important;
}
.mobile-services-links a:hover{color:#245D94!important}

@media(max-width:980px){
  .nav-services{display:none}
}

/* The extra homepage title logo was removed; keep old styles inert */
.hero-heading-row,
.hero-title-logo{display:contents}

.footerbrand-text{
  color:#fff;
  font-size:18px;
  font-weight:800;
  letter-spacing:.04em;
}


/* WordPress integration */
body.admin-bar header{top:32px}
@media(max-width:782px){body.admin-bar header{top:46px}}
.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}
.cla-form-status{padding:13px 15px;margin:0 0 18px;border:1px solid #CDE5D2;background:#F0FAF2;color:#276137;font-size:14px}
.cla-form-status.error{border-color:#F0C9C6;background:#FFF3F2;color:#9C261F}
.footerbrand-text{color:#fff;font-size:18px;font-weight:800;letter-spacing:.04em}
.wp-page-content{min-height:45vh;padding:70px 0}
.wp-page-content .entry-title{font-size:clamp(38px,4vw,56px);margin:0 0 25px}
.wp-page-content .entry-content{font-size:17px;color:#566171}

/* ===== CLA editable content ===== */
.cla-editable-content{padding:12px 0 66px}
.cla-editable-content .cla-editor-inner{max-width:930px}
.cla-editable-content h2,.cla-editable-content h3,.cla-editable-content h4{color:var(--text);letter-spacing:-.025em;margin:1.3em 0 .45em}
.cla-editable-content h2{font-size:clamp(30px,3.3vw,44px)}
.cla-editable-content h3{font-size:clamp(23px,2.4vw,31px)}
.cla-editable-content p,.cla-editable-content li{color:var(--muted);font-size:1rem;line-height:1.78}
.cla-editable-content ul,.cla-editable-content ol{padding-left:1.3em}
.cla-editable-content a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.cla-editable-content blockquote{margin:24px 0;padding:18px 22px;border-left:3px solid var(--blue);background:#fff;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.cla-editable-content img{height:auto;border-radius:2px;margin:24px 0}

/* Footer CLA transparent logo */
.prosite footer .footerlogo{
  background:transparent!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
}
.prosite footer .footerlogo img{
  display:block;
  width:auto!important;
  max-width:min(100%,340px);
  height:var(--cla-footer-logo-height,68px)!important;
}


/* =========================================================
   CLA BUILDER v3 — front-end sections + preserved animations
   ========================================================= */
.cla-builder-area{position:relative}
.cla-builder-section{padding:70px 0;border-top:1px solid rgba(232,225,215,.72)}
.cla-builder-section:first-child{border-top:0}
.cla-builder-section.alt{background:#F8F5EF}
.cla-builder-section.navy{background:var(--navy);color:#fff}
.cla-builder-inner{width:min(calc(100% - 44px),var(--max));margin:auto}
.cla-builder-label{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.19em;color:#8B919A;margin:0 0 10px}
.cla-builder-title{font-size:clamp(31px,3.8vw,47px);line-height:1.04;letter-spacing:-.04em;margin:0 0 18px;font-weight:680}
.cla-builder-text{max-width:850px;color:var(--muted);font-size:18px;line-height:1.78}
.cla-builder-text p:first-child{margin-top:0}.cla-builder-text p:last-child{margin-bottom:0}
.cla-builder-text ul,.cla-builder-text ol{padding-left:1.3em}
.cla-builder-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}
.cla-builder-image{overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 18px 50px rgba(23,38,58,.07)}
.cla-builder-image img{width:100%;height:auto;max-height:560px;object-fit:cover;transition:transform .5s ease}
.cla-builder-image:hover img{transform:scale(1.025)}
.cla-builder-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.cla-builder-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 19px;border-radius:9px;background:var(--navy);color:#fff!important;font-size:14px;font-weight:800;transition:.2s}
.cla-builder-btn:hover{transform:translateY(-2px);background:var(--blue);box-shadow:0 12px 28px rgba(23,38,58,.13)}
.cla-builder-btn.amber{background:var(--amber);color:var(--text)!important}
.cla-builder-btn.amber:hover{background:#BC8627}
.cla-builder-btn.red{background:var(--red)}
.cla-builder-btn.red:hover{background:#BD2018}
.cla-builder-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.cla-builder-card{background:#fff;border:1px solid var(--line);padding:25px;min-height:210px;transition:transform .22s ease,box-shadow .22s ease}
.cla-builder-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(23,38,58,.08)}
.cla-builder-card h3{font-size:24px;letter-spacing:-.025em;margin:0 0 10px}
.cla-builder-card p{font-size:16px;line-height:1.68;color:var(--muted);margin:0}
.cla-builder-card a{display:inline-flex;margin-top:16px;font-size:14px;font-weight:800;color:var(--blue)}
.cla-builder-gallery{position:relative}
.cla-builder-gallery-viewport{overflow:hidden}
.cla-builder-gallery-track{display:flex;transition:transform .42s cubic-bezier(.22,.61,.36,1)}
.cla-builder-slide{flex:0 0 100%;min-width:0;display:grid;place-items:center;background:#fff;border:1px solid var(--line);overflow:hidden}
.cla-builder-slide img{width:100%;height:min(68vh,660px);object-fit:contain;background:#fff}
.cla-builder-gallery-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px}
.cla-builder-gallery-arrow{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--text);font-size:20px;cursor:pointer;transition:.2s}
.cla-builder-gallery-arrow:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.cla-builder-gallery-count{min-width:64px;text-align:center;font-size:13px;color:var(--muted);font-weight:750}
.cla-builder-dots{display:flex;gap:6px;justify-content:center;margin-top:11px}
.cla-builder-dot{width:7px;height:7px;border:0;border-radius:50%;background:#D1D5DB;padding:0;cursor:pointer}
.cla-builder-dot.is-active{background:var(--blue)}
.cla-builder-faq{max-width:900px}
.cla-builder-faq details{background:#fff;border:1px solid var(--line);margin:0 0 10px;padding:0 18px;transition:.2s}
.cla-builder-faq details[open]{box-shadow:0 12px 30px rgba(23,38,58,.05)}
.cla-builder-faq summary{cursor:pointer;list-style:none;font-size:17px;font-weight:750;padding:17px 32px 17px 0;position:relative}
.cla-builder-faq summary::-webkit-details-marker{display:none}
.cla-builder-faq summary:after{content:"+";position:absolute;right:0;top:14px;font-size:24px;color:var(--blue)}
.cla-builder-faq details[open] summary:after{content:"–"}
.cla-builder-faq .answer{color:var(--muted);font-size:16px;line-height:1.7;padding:0 0 18px}
.cla-builder-cta{background:var(--navy);color:#fff;border-radius:2px;padding:42px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
.cla-builder-cta h2{font-size:clamp(30px,3.5vw,45px);margin:0 0 9px;letter-spacing:-.035em}
.cla-builder-cta p{font-size:17px;color:#BBC6D2;margin:0;max-width:760px}
.cla-builder-doc{background:#fff;border:1px solid var(--line);padding:28px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.cla-builder-doc h3{font-size:25px;margin:0 0 7px;letter-spacing:-.025em}
.cla-builder-doc p{font-size:16px;color:var(--muted);margin:0}
.cla-builder-legacy{padding:24px 0}
.cla-builder-legacy .cla-editor-inner{max-width:930px}

/* reveal animations used automatically by builder sections */
.cla-animate{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s cubic-bezier(.22,.61,.36,1)}
.cla-animate.anim-left{transform:translateX(-30px)}
.cla-animate.anim-right{transform:translateX(30px)}
.cla-animate.anim-zoom{transform:scale(.97)}
.cla-animate.anim-none{opacity:1;transform:none;transition:none}
.cla-animate.is-visible{opacity:1;transform:none}

/* Requested typography adjustment: smaller titles, larger body copy */
.prosite .lead,.prosite .intro{font-size:19px!important;line-height:1.72!important}
.prosite .section-head p,.prosite .compacthead p,.prosite .mcard p,.prosite .fbody p,
.prosite .info p,.prosite .checks li,.prosite .panelx p,.prosite .legal,
.prosite .faq summary,.prosite .faq p,.prosite .bottomctabox p,.prosite .contactinfo p,
.prosite .details a,.prosite .details span,.prosite .upa-box p{font-size:15px!important;line-height:1.7!important}
.prosite .mcard a,.prosite .fbody a{font-size:13px!important}
.prosite .contactbox p,footer p,footer a{font-size:14px}

@media(max-width:900px){
 .cla-builder-section{padding:55px 0}
 .cla-builder-grid{grid-template-columns:1fr;gap:26px}
 .cla-builder-grid.image-left .cla-builder-image{order:0}
 .cla-builder-grid.image-left .cla-builder-copy{order:1}
 .cla-builder-cards{grid-template-columns:1fr}
 .cla-builder-cta{grid-template-columns:1fr;padding:30px}
 .cla-builder-doc{align-items:flex-start;flex-direction:column}
}
@media(max-width:600px){
 .cla-builder-inner{width:min(calc(100% - 28px),var(--max))}
 .cla-builder-section{padding:44px 0}
 .cla-builder-title{font-size:31px}
 .cla-builder-text{font-size:17px}
 .cla-builder-card p,.cla-builder-faq .answer,.cla-builder-doc p{font-size:15px}
 .cla-builder-gallery-arrow{width:38px;height:38px}
 .prosite .lead,.prosite .intro{font-size:17px!important}
}
@media(prefers-reduced-motion:reduce){
 .cla-animate{opacity:1!important;transform:none!important;transition:none!important}
 .cla-builder-image img,.cla-builder-card,.cla-builder-btn,.cla-builder-gallery-track{transition:none!important}
}
