/* =====================================================================
   SecurityBlog-style recreation — self-contained live preview.
   Faithful to the theme tokens: Atkinson Hyperlegible body + Source Serif 4 headings,
   accent maroon #6B0A06, beige surface, #fff / #f9f9f9 / #000, pill buttons.
   Photos are shown as gradient image-frames (real photos slot in later).
   ===================================================================== */
:root{
  /* SecurityBlogs palette — beige background · navy primary · blue secondary · maroon accent (gold removed) */
  --sb-navy:#1D3A54; --sb-dark:#001526; --sb-blue:#1A5578; --sb-lightblue:#D5E3F2;
  --sb-maroon:#6B0A06; --sb-gold:#6B0A06; /* legacy name retired → maroon */
  --sb-light:#FBF5E5; --sb-black:#000000; --sb-white:#FFFFFF;
  /* accent token now points to maroon; kept named so existing rules recolour automatically */
  --green:var(--sb-maroon); --green-dark:#520805;
  --black:var(--sb-black); --ink:var(--sb-navy); --text:#3d4a52; --text-2:#2a3b45; --muted:#6a7780;
  --white:var(--sb-white); --raised:var(--sb-light); --line:#e6dcc6; --line-dark:#12324a;
  --shadow:rgba(0,0,0,.08) 0 10px 30px -8px;
  --shadow-sm:rgba(0,0,0,.3) 0 1px 4px -1px;
  --pill:50px; --radius:6px;
  --font:"Atkinson Hyperlegible Next","Atkinson Hyperlegible",-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-head:"Source Serif 4",Georgia,serif;
  --t:300ms ease;
  --g1:linear-gradient(135deg,#1d3a54,#1a5578);
  --g2:linear-gradient(135deg,#1a5578,#1d3a54);
  --g3:linear-gradient(135deg,#22384f,#1a5578);
  --g4:linear-gradient(135deg,#1d3a54,#2a4a66);
  --g5:linear-gradient(135deg,#001526,#1a5578);
  --g6:linear-gradient(135deg,#3d1418,#6b0a06);
  color-scheme:light;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
img{max-width:100%;height:auto;}
.nd{font-family:var(--font);font-size:1.125rem;font-weight:400;line-height:1.75;color:var(--text);background:var(--sb-light);-webkit-font-smoothing:antialiased;}
.nd h1,.nd h2,.nd h3{font-family:var(--font-head);color:var(--ink);margin:0 0 .5em;line-height:1.2;font-weight:700;letter-spacing:-.02em;text-wrap:balance;text-transform:none;}
.nd h1{font-size:clamp(3rem,6vw,5.5rem);line-height:1.1;}
.nd h2{font-size:clamp(2.25rem,4vw,3.5rem);line-height:1.2;}
.nd h3{font-size:1.5rem;font-weight:600;line-height:1.3;}
.nd h4{font-family:var(--font);font-size:1.25rem;font-weight:600;line-height:1.4;color:var(--ink);margin:0 0 .5em;text-transform:none;}
.nd p{margin:0 0 1rem;}
.nd a{color:inherit;text-decoration:none;transition:color var(--t);}
.nd ul{margin:0;padding:0;list-style:none;}
.nd img{max-width:100%;display:block;}
.wrap{width:min(1170px,92%);margin-inline:auto;}
.accent{color:var(--sb-maroon);}
.eyebrow{display:inline-block;color:var(--sb-maroon);font-size:.9rem;font-weight:700;letter-spacing:.02em;text-transform:none;margin-bottom:.7rem;}
.section-head{text-align:center;max-width:640px;margin:0 auto 3rem;}
.section-head h2{margin:0;}
:focus-visible{outline:3px solid var(--green);outline-offset:2px;}

/* image placeholders */
.ph{position:relative;overflow:hidden;background:var(--g1);}
.ph::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.14) 1px,transparent 1.4px);background-size:12px 12px;opacity:.5;}
.ph--1{background:var(--g1);}.ph--2{background:var(--g2);}.ph--3{background:var(--g3);}
.ph--4{background:var(--g4);}.ph--5{background:var(--g5);}.ph--6{background:var(--g6);}
.ph__person{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:62%;opacity:.85;z-index:1;}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font);font-weight:700;font-size:.95rem;padding:.8rem 1.7rem;border-radius:var(--pill);border:2px solid transparent;cursor:pointer;transition:all var(--t);white-space:nowrap;}
.btn--lg{padding:1rem 2.1rem;font-size:1rem;}
.btn--solid{background:var(--green);color:#fff;box-shadow:0 8px 22px -8px rgba(184,159,105,.9);}
.btn--solid:hover{background:var(--green-dark);transform:translateY(-2px);}
.btn--outline{background:transparent;color:var(--ink);border-color:var(--ink);}
.btn--outline:hover{background:var(--ink);color:#fff;}
.btn--outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.7);}
.btn--outline-light:hover{background:#fff;color:var(--ink);border-color:#fff;}

/* header — measured to SecurityBlog: 80px, transparent overlay, sticky slides in dark #1F445E */
.header{position:absolute;top:0;left:0;right:0;z-index:30;height:80px;background:transparent;transition:.4s background;}
.header.is-stuck{position:fixed;background:#1F445E;box-shadow:0 6px 24px rgba(0,0,0,.22);animation:ndDrop .4s ease;}
@keyframes ndDrop{from{transform:translateY(-100%)}to{transform:translateY(0)}}
.header__inner{display:flex;align-items:center;height:80px;}
.logo{font-size:1.5rem;font-weight:800;color:#fff;letter-spacing:-.01em;line-height:80px;}
.logo span{color:var(--green);}
.logo--light{color:#fff;}
.nav{flex:1;display:flex;justify-content:center;}
.nav>ul{display:flex;align-items:center;}
.nav>ul>li{margin-right:25px;}
.nav>ul>li:last-child{margin-right:0;}
.nav>ul>li>a{position:relative;display:inline-block;height:80px;line-height:80px;font-size:.75rem;font-weight:400;letter-spacing:0;text-transform:uppercase;color:#fff;transition:.2s color;}
.nav>ul>li>a:hover{color:var(--green);}
.nav>ul>li>a::after{content:"";position:absolute;left:0;right:0;margin:0 auto;bottom:22px;width:0;height:1px;background:var(--green);transition:width .6s;}
.nav>ul>li.current>a::after,.nav>ul>li>a:hover::after{width:100%;}
.caret{display:inline-block;margin-left:5px;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.7;vertical-align:middle;}
.has-sub{position:relative;}
.sub{position:absolute;top:100%;left:0;min-width:180px;background:#1F445E;border-radius:0;padding:8px 0;opacity:0;visibility:hidden;transform:translateY(20px);transition:.3s;z-index:40;}
.has-sub:hover .sub{opacity:1;visibility:visible;transform:translateY(0);}
.sub li a{display:block;height:40px;line-height:40px;padding:0 25px 0 15px;color:#fff;font-size:.75rem;text-transform:capitalize;white-space:nowrap;transition:.4s;}
.sub li a:hover{color:var(--green);background:rgba(255,255,255,.05);}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px;margin-left:auto;z-index:50;}
.burger span{width:26px;height:2px;background:#fff;border-radius:3px;transition:.25s;}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
/* mobile off-canvas drawer — 260px from right, #1F445E, 0.4s */
.nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:.4s;z-index:45;}
.nav-overlay.open{opacity:1;visibility:visible;}
.mobile{position:fixed;top:0;right:0;height:100vh;width:260px;background:#1F445E;padding:92px 0 30px;transform:translateX(100%);transition:.4s cubic-bezier(1,0,.95,1);z-index:46;overflow-y:auto;}
.mobile.open{transform:translateX(0);}
.mobile a{display:block;line-height:32px;padding:6px 30px;color:#fff;font-size:.8125rem;transition:.4s;}
.mobile a:hover{color:var(--green);}

/* hero — measured: 1170px container, LEFT-aligned, title 2.25rem uppercase, eyebrow 9px/5.6px, square outline buttons; 3-slide fade slider */
.hero{position:relative;min-height:88vh;overflow:hidden;background:#001526;}
.hero__slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;pointer-events:none;transition:opacity 1s ease;}
.hero__slide.active{opacity:1;pointer-events:auto;}
.hero__slide .ph{position:absolute;inset:0;z-index:0;transform:scale(1.06);}
.hero__slide.active .ph{animation:heroKen 8s ease-in-out forwards;}
@keyframes heroKen{from{transform:scale(1.06)}to{transform:scale(1.14)}}
.hero__slide::after{content:"";position:absolute;inset:0;z-index:1;background:rgba(10,16,20,.45);}
.hero__inner{position:relative;z-index:2;width:min(1170px,92%);margin-inline:auto;color:#fff;padding:6rem 0;text-align:left;}
.hero__eyebrow{display:block;color:#fff;font-size:.5625rem;letter-spacing:5.6px;text-transform:uppercase;margin-bottom:8px;}
.hero .hero__title{color:#fff;font-size:2.25rem;font-weight:700;text-transform:uppercase;padding:15px 0 20px;margin:0;line-height:1.15;}
.hero .hero__title .accent{color:var(--green);}
.hero p{font-size:1.05rem;color:rgba(255,255,255,.86);max-width:30rem;margin:0 0 2rem;}
.hero__actions{display:flex;flex-wrap:wrap;gap:15px;}
.hero__arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:44px;height:44px;display:grid;place-items:center;font-size:1.6rem;line-height:1;background:rgba(255,255,255,.1);color:#fff;border:0;cursor:pointer;transition:.3s;}
.hero__arrow:hover{background:var(--green);}
.hero__arrow--prev{left:20px;} .hero__arrow--next{right:20px;}
.hero__dots{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:4;display:flex;gap:8px;}
.hero__dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.4);border:0;cursor:pointer;transition:.3s;padding:0;}
.hero__dot.active{background:var(--green);}
/* measured button: min-width 160px, padding 10px/15px, 1px border, square, uppercase 14px, 0.4s */
.hero .button{display:inline-flex;align-items:center;justify-content:center;min-width:160px;padding:10px 15px;line-height:1.6;border:1px solid #fff;border-radius:0;color:#fff;background:transparent;font-size:.875rem;font-weight:400;text-transform:uppercase;letter-spacing:0;cursor:pointer;transition:.4s color,.4s background,.4s border-color;}
.hero .button:hover{background:#fff;color:var(--ink);}
.hero .button--primary{border-color:var(--green);background:var(--green);}
.hero .button--primary:hover{background:transparent;color:#fff;border-color:#fff;}

/* dark CTA band — measured to section-dark "get-it": 100px padding, parallax bg, centered white */
.cta-band{position:relative;overflow:hidden;padding:100px 0;text-align:center;color:#fff;background:#001526;}
.cta-band__bg{position:absolute;inset:0;z-index:0;transform:scale(1.06);}
.cta-band__overlay{position:absolute;inset:0;z-index:1;background:rgba(10,16,20,.6);}
.cta-band__inner{position:relative;z-index:2;max-width:640px;margin-inline:auto;}
.cta-band__eyebrow{display:block;color:var(--green);font-size:.5625rem;letter-spacing:5.6px;text-transform:uppercase;margin-bottom:14px;}
.cta-band h2{color:#fff;margin-bottom:1rem;}
.cta-band p{color:rgba(255,255,255,.85);margin-bottom:1.8rem;}
.cta-band .button{display:inline-flex;align-items:center;justify-content:center;min-width:160px;padding:10px 15px;border:1px solid var(--green);border-radius:0;background:var(--green);color:#fff;font-size:.875rem;text-transform:uppercase;transition:.4s color,.4s background,.4s border-color;}
.cta-band .button:hover{background:transparent;color:#fff;border-color:#fff;}

/* global theme button (light context) — square, 1px, uppercase 14px, min 160px */
.button{display:inline-flex;align-items:center;justify-content:center;min-width:160px;padding:10px 15px;line-height:1.6;border:1px solid var(--ink);border-radius:0;color:var(--ink);background:transparent;font-family:var(--font);font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:0;cursor:pointer;transition:.4s color,.4s background,.4s border-color;}
.button:hover{background:var(--ink);color:#fff;}
.button--primary{border-color:var(--green);background:var(--green);color:#fff;}
.button--primary:hover{background:transparent;color:var(--ink);border-color:var(--green);}

/* about / welcome — measured: full-width heading + TWO text columns + button (no image) */
.about{padding:100px 0;}
.about__head{margin-bottom:2.4rem;}
.about__head h2{font-size:2.25rem;text-transform:uppercase;margin:0;}
.about__cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);}
.about__cols p{font-size:1rem;color:var(--text);margin:0;}
.about__cta{margin-top:2.2rem;}

/* process — tri-panel: intro | dark steps | video. Panels 100px 70px, full-bleed, equal thirds */
.process{padding:0;}
.process__panels{display:grid;grid-template-columns:1fr 1fr 1fr;min-height:440px;}
.process__panel{padding:100px 70px;display:flex;align-items:center;}
.process__panel--intro{background:var(--green);color:#fff;}
.process__intro-inner{width:100%;}
.process__heading{position:relative;color:#fff;font-size:2rem;font-weight:800;text-transform:none;margin:0 0 40px;padding-bottom:15px;}
.process__heading::after{content:"";position:absolute;left:0;bottom:0;width:80px;height:2px;background:currentColor;}
.process__panel--intro p{color:rgba(255,255,255,.9);margin-bottom:30px;}
.process__panel--intro .button{border-color:#fff;color:#fff;background:transparent;}
.process__panel--intro .button:hover{background:#fff;color:var(--ink);}
.process__panel--steps{background:var(--sb-navy);flex-direction:column;justify-content:center;align-items:stretch;gap:35px;}
.pstep{position:relative;padding-left:55px;}
.pstep__ic{position:absolute;left:0;top:2px;color:var(--green);}
.pstep__ic svg{width:32px;height:32px;}
.pstep__body h3{color:#fff;font-size:.875rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;margin:0 0 10px;}
.pstep__body p{color:rgba(255,255,255,.7);font-size:.875rem;margin:0;}
.process__panel--video{position:relative;padding:0;overflow:hidden;background:var(--sb-dark);}
.process__video-bg{position:absolute;inset:0;background:linear-gradient(135deg,#0a1a26,#20303c);}
.process__video-bg::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.3);}
.process__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;width:60px;height:60px;display:grid;place-items:center;border:2px solid rgba(255,255,255,.85);border-radius:50%;color:#fff;font-size:1.4rem;padding-left:4px;}
.process__mute{position:absolute;left:30px;bottom:30px;z-index:1;color:rgba(255,255,255,.5);font-size:1.1rem;}

/* product / features — measured: left heading, 3-col, icon-left horizontal outline icons */
.product{padding:100px 0;}
.product__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem 2.5rem;}
.feature{position:relative;text-align:left;padding-left:70px;}
.feature__ic{position:absolute;left:0;top:0;color:var(--green);}
.feature__ic svg{width:40px;height:40px;}
.feature h3{margin:0 0 8px;font-size:1rem;font-weight:800;text-transform:uppercase;color:var(--ink);}
.feature p{margin:0;color:var(--text);font-size:.875rem;}

/* portfolio — measured: full-bleed masonry, varying heights, square corners, no filter */
.works{padding:100px 0 0;}
.works__head{margin-bottom:2.5rem;}
.works__masonry{columns:3;column-gap:0;}
.wtile{position:relative;display:block;break-inside:avoid;overflow:hidden;line-height:0;}
.wtile .ph{display:block;width:100%;transition:transform var(--t);}
.wtile:hover .ph{transform:scale(1.06);}
.wtile__cap{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:1.3rem;color:#fff;line-height:1.4;background:linear-gradient(to top,rgba(0,0,0,.78),transparent 55%);opacity:0;transition:opacity var(--t);}
.wtile:hover .wtile__cap{opacity:1;}
.wtile__cap strong{font-size:1.15rem;}
.wtile__cap em{color:var(--green);font-style:normal;font-size:.85rem;font-weight:700;}

/* counters — measured: section-dark parallax, 100px top pad, green #B89F69 @0.25 overlay, icon 3.75rem, num 2.5rem/700/2px, label 1rem/1px, item mb 70px, count-up 3.6s, centered */
.counters{position:relative;overflow:hidden;padding:100px 0 0;background:#5a6a62;color:#fff;text-align:center;}
.counters__bg{position:absolute;inset:0;z-index:0;transform:scale(1.06);background:linear-gradient(135deg,#5f6f67,#88998c);background-size:cover;}
.counters__bg::before{content:"";position:absolute;inset:0;z-index:1;background:var(--green);opacity:.25;}
.counters__overlay{position:absolute;inset:0;z-index:0;background:rgba(30,36,32,.22);}
.counters .wrap{position:relative;z-index:2;}
.counters__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0 30px;}
.counter{margin-bottom:70px;}
.counter__ico{display:inline-block;line-height:1;color:#fff;}
.counter__ico svg{width:60px;height:60px;}
.counter__num{margin:30px 0;font-weight:700;font-size:2.5rem;letter-spacing:2px;color:#fff;font-variant-numeric:tabular-nums;line-height:1;}
.counter__label{margin:0;font-size:1rem;letter-spacing:1px;color:rgba(255,255,255,.85);text-transform:uppercase;}

/* team — measured: square photo + permanent green name/position bar; socials on hover */
.team{padding:100px 0;}
.team__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;max-width:940px;margin-inline:auto;}
.member{text-align:center;}
.member__photo{position:relative;overflow:hidden;aspect-ratio:4/4.6;}
.member__photo .ph{position:absolute;inset:0;}
.member__social{position:absolute;inset:auto 0 0 0;z-index:2;display:flex;justify-content:center;gap:.5rem;padding:.9rem;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);transform:translateY(100%);transition:transform var(--t);}
.member__photo:hover .member__social{transform:translateY(0);}
.member__social a{width:34px;height:34px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-size:.78rem;font-weight:700;text-transform:lowercase;}
.member__social a:hover{background:var(--green);color:#fff;}
.member__bar{background:var(--green);color:#fff;padding:1.1rem 1rem;}
.member__bar h3{margin:0 0 .15rem;color:#fff;font-size:1.15rem;}
.member__bar span{color:rgba(255,255,255,.85);font-weight:600;font-size:.85rem;}

/* offer — measured: left heading, 2-col (device image left | outline-icon list right), progressive indent */
.offer{padding:100px 0;background:#fff;}
.section-head--left{text-align:left;max-width:none;margin:0 0 2.5rem;}
.offer__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
.offer__media{position:relative;aspect-ratio:4/3;border-radius:6px;overflow:hidden;}
.offer__media .ph{position:absolute;inset:0;}
.offer__list{display:flex;flex-direction:column;gap:1.6rem;}
.offer__item{position:relative;padding-left:70px;margin-left:calc(var(--i,0) * 26px);}
.offer__ic{position:absolute;left:0;top:0;color:var(--green);}
.offer__ic svg{width:40px;height:40px;}
.offer__text h3{margin:0 0 6px;font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em;color:var(--ink);}
.offer__text p{margin:0;font-size:1rem;color:var(--text);}
.offer__cta{margin-top:2.2rem;}

/* clients — measured: greyscale image-logo carousel, autoplay 2s-per-logo loop */
.clients{padding:60px 0;border-bottom:1px solid var(--line);overflow:hidden;}
.clients__viewport{overflow:hidden;}
.clients__track{display:flex;align-items:center;gap:70px;width:max-content;animation:clientsScroll 24s linear infinite;}
.clients:hover .clients__track{animation-play-state:paused;}
@keyframes clientsScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.clogo{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:70px;min-width:150px;color:#b0a893;filter:grayscale(1);opacity:.68;transition:.3s;}
.clogo:hover{opacity:1;filter:grayscale(0);color:var(--green);}
.clogo__mark{font-size:1.5rem;font-weight:800;letter-spacing:.03em;line-height:1;}
.clogo__sub{font-size:.55rem;letter-spacing:.28em;text-transform:uppercase;}

/* skills — measured: left copy + right bars; label-left + 42px filled bar with inner % */
.skills{padding:100px 0;}
.skills__inner{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
.skills__copy p{color:var(--text);font-size:1.05rem;}
.skills__bars{display:grid;gap:24px;}
.skill{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:1rem;}
.skill__label{font-size:1rem;color:var(--ink);font-weight:600;}
.skill__track{height:42px;background:var(--raised);overflow:hidden;}
.skill__fill{display:flex;align-items:center;justify-content:center;height:100%;width:0;background:var(--green);transition:width 1.1s ease;font-variant-numeric:tabular-nums;}
.skill__pct{color:#fff;font-weight:700;font-size:.9rem;}

/* contact + map — measured: full-width map band + green marker (no card; details live in footer) */
.contact{position:relative;overflow:hidden;background:#1F445E;min-height:520px;}
.contact__map-bg{position:absolute;inset:0;background:linear-gradient(135deg,#2b3038,#3a4450);}
.contact__map-bg::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:42px 42px;}
.contact__map-bg::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,transparent 45%,rgba(20,22,26,.4));}
.contact__pin{position:absolute;top:50%;left:50%;width:22px;height:22px;z-index:2;background:var(--green);border-radius:50% 50% 50% 0;transform:translate(-50%,-50%) rotate(-45deg);box-shadow:0 0 0 8px rgba(184,159,105,.28);}

/* entries / blog — measured: left heading, full-bleed image cards, square corners */
.entries{padding:100px 0;background:var(--raised);}
.entries__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;}
.post{background:#fff;border:1px solid var(--line);border-radius:0;overflow:hidden;transition:transform var(--t),box-shadow var(--t);}
.post:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.post__img{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;}
.post__img .ph{position:absolute;inset:0;transition:transform var(--t);}
.post:hover .post__img .ph{transform:scale(1.06);}
.post__date{position:absolute;left:14px;bottom:14px;z-index:2;background:var(--green);color:#fff;border-radius:8px;padding:.5rem .7rem;text-align:center;line-height:1;font-size:.78rem;font-weight:700;}
.post__date strong{display:block;font-size:1.3rem;}
.post__body{padding:1.5rem;}
.post__cat{display:inline-block;color:var(--green);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;margin-bottom:.6rem;}
.post__body h3{font-size:1.2rem;margin-bottom:.5rem;}
.post__body h3 a:hover{color:var(--green);}
.post__body p{color:var(--text);font-size:.95rem;}
.post__more{color:var(--ink);font-weight:700;font-size:.9rem;}
.post__more:hover{color:var(--green);}

/* footer CTA band — green, centered, upward notch */
.footer-cta{position:relative;background:var(--green);color:#fff;text-align:center;padding:70px 0;}
.footer-cta::before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%,-50%) rotate(45deg);width:26px;height:26px;background:var(--green);}
.footer-cta h2{color:#fff;margin:0 0 1.6rem;font-size:clamp(1.6rem,3vw,2.2rem);text-transform:uppercase;}
.footer-cta .button{border-color:#fff;color:#fff;background:transparent;}
.footer-cta .button:hover{background:#fff;color:var(--ink);}

/* footer — measured: 2 cols (ABOUT | CONTACT US w/ socials), title underlines */
.footer{background:var(--black);color:rgba(255,255,255,.62);}
.footer__grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding:clamp(3rem,6vw,4.5rem) 0;}
.footer__col h4{position:relative;color:#fff;margin-bottom:1.6rem;padding-bottom:14px;text-transform:uppercase;letter-spacing:.02em;}
.footer__col h4::after{content:"";position:absolute;left:0;bottom:0;width:60px;height:2px;background:var(--green);}
.footer__col p{margin:0 0 1.4rem;max-width:46ch;}
.footer__contact li{display:flex;align-items:center;gap:.7rem;padding:.35rem 0;}
.footer__contact svg{color:var(--green);flex:none;}
.footer__social{display:flex;gap:.5rem;margin-top:1.5rem;}
.footer__social a{width:38px;height:38px;border-radius:50%;background:transparent;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.6);display:grid;place-items:center;font-size:.8rem;font-weight:700;text-transform:lowercase;transition:.3s;}
.footer__social a:hover{background:var(--green);border-color:var(--green);color:#fff;}
.footer__bottom{border-top:1px solid var(--line-dark);}
.footer__bottom-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;padding:1.3rem 0;font-size:.85rem;}
.footer__links a{margin-left:1.2rem;color:rgba(255,255,255,.62);}
.footer__links a:hover{color:var(--green);}

.note{background:#eef8f2;border-top:1px solid #d5ecdf;color:#356b52;font-size:.85rem;text-align:center;padding:.7rem 1rem;}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;}}
@media (max-width:980px){
  .nav{display:none;}
  .burger{display:flex;}
  .about__cols{grid-template-columns:1fr;}
  .process__panels{grid-template-columns:1fr;}
  .process__panel{padding:60px 40px;}
  .process__panel--video{min-height:320px;}
  .product__grid{grid-template-columns:1fr 1fr;}
  .offer__grid{grid-template-columns:1fr;}
  .offer__item{margin-left:0!important;}
  .works__masonry{columns:2;}
  .tile--wide{grid-column:span 2;}
  .team__grid,.entries__grid{grid-template-columns:1fr 1fr;}
  .skills__inner{grid-template-columns:1fr;}
  .banner--light .banner__inner{flex-direction:column;align-items:flex-start;text-align:left;}
}
@media (max-width:767px){
  .counters__grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:600px){
  .product__grid,.offer__grid,.team__grid,.entries__grid,.counters__grid{grid-template-columns:1fr;}
  .works__masonry{columns:1;}
  .tile--wide{grid-column:span 1;aspect-ratio:1/1;}
  .footer__grid{grid-template-columns:1fr;gap:2rem;}
  .clients__row{justify-content:center;gap:1.2rem 1.6rem;}
}

/* ===================== INNER PAGES (additive — homepage selectors untouched) ===================== */
.page-hero{position:relative;overflow:hidden;background:var(--sb-navy);color:#fff;padding:clamp(3rem,7vw,5.5rem) 0 clamp(2.4rem,5vw,3.6rem);}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 90% at 85% 15%,rgba(184,159,105,.20),transparent 60%);}
.page-hero__inner{position:relative;z-index:1;}
.page-hero .eyebrow{color:var(--sb-gold);}
.page-hero h1{color:#fff;font-size:clamp(2rem,4.2vw,3rem);text-transform:uppercase;margin:.4rem 0 0;line-height:1.15;}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.1rem;font-size:.85rem;color:rgba(255,255,255,.7);}
.breadcrumbs a{color:rgba(255,255,255,.85);}
.breadcrumbs a:hover{color:var(--sb-gold);}
.breadcrumbs .sep{opacity:.5;}
.breadcrumbs [aria-current]{color:#fff;}
.page-body{padding:clamp(3rem,6vw,5rem) 0;}
.page-body--sidebar{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(2rem,4vw,3.5rem);align-items:start;}
.page-content{font-size:1.05rem;line-height:1.7;color:var(--text);}
.page-content h2{margin:2rem 0 1rem;}
.page-content h3{margin:1.6rem 0 .7rem;}
.page-content p{margin:0 0 1rem;}
.page-content ul{padding-left:1.2rem;margin:0 0 1rem;}
.page-content li{margin:.4rem 0;}
.page-lead{font-size:1.2rem;color:var(--text-2);max-width:60ch;}
.page-sidebar__block{background:var(--sb-light);border:1px solid var(--line);border-radius:6px;padding:1.6rem;margin-bottom:1.4rem;position:sticky;top:100px;}
.page-sidebar__block h4{margin:0 0 1rem;text-transform:uppercase;font-size:1rem;}
.page-sidebar__block a{display:block;padding:.35rem 0;color:var(--text-2);font-weight:600;}
.page-sidebar__block a:hover{color:var(--green);}
.page-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.4rem;margin:1.6rem 0;}
.page-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:1.8rem;transition:transform .3s ease,box-shadow .3s ease;}
.page-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
.page-card__ic{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--green);color:#fff;margin-bottom:1rem;}
.page-card__ic svg{width:26px;height:26px;}
.page-card h3{margin:0 0 .5rem;font-size:1.1rem;}
.page-card p{margin:0 0 .8rem;color:var(--text);font-size:.95rem;}
.page-card a{color:var(--green);font-weight:700;font-size:.9rem;}
.page-cta{background:var(--sb-dark);color:#fff;text-align:center;padding:clamp(2.5rem,5vw,4rem) 0;}
.page-cta h2{color:#fff;margin:0 0 .8rem;}
.page-cta p{color:rgba(255,255,255,.8);margin:0 auto 1.6rem;max-width:52ch;}
.page-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,3.5rem);align-items:start;}
.page-contact-info{list-style:none;padding:0;margin:1.2rem 0 0;}
.page-contact-info li{display:flex;gap:.8rem;align-items:center;margin:.7rem 0;color:var(--text-2);font-weight:600;}
.page-contact-info .ic{display:inline-grid;place-items:center;width:42px;height:42px;flex:none;border-radius:50%;background:rgba(184,159,105,.14);color:var(--green);}
@media (max-width:900px){
  .page-body--sidebar{grid-template-columns:1fr;}
  .page-sidebar__block{position:static;}
  .page-contact-grid{grid-template-columns:1fr;}
}

/* ===================== INNER-PAGE HEADER & RESPONSIVE FIXES =====================
   Scoped to body:not(.home) so the FROZEN homepage header (80px transparent
   overlay) is untouched. Inner pages get a solid 90px header that reserves its
   own space — no overlap, static or sticky. Additive; no homepage selectors. */

/* Solid, fixed, 90px header on inner pages only (H1, H2, H6) */
body:not(.home) .header{position:fixed;height:90px;background:var(--sb-navy);box-shadow:0 4px 18px rgba(0,0,0,.14);}
body:not(.home) .header.is-stuck{position:fixed;background:var(--sb-navy);}
body:not(.home) .header__inner{height:90px;}
body:not(.home) .logo{line-height:90px;}
body:not(.home) .nav>ul>li>a{height:90px;line-height:90px;}      /* keeps menu vertically centered */
body:not(.home) .site-main{padding-top:90px;}                     /* reserves header space — kills overlap */
body:not(.home) .page-hero{margin-top:0;}
html{scroll-padding-top:90px;}                                    /* anchor jumps clear the header */

/* Logo never overflows the bar (H3) */
.custom-logo{max-height:60px;width:auto;height:auto;}

/* No menu wrapping + tablet compact tier (H4, H5) */
.nav>ul{flex-wrap:nowrap;white-space:nowrap;}
@media (max-width:1180px) and (min-width:981px){
  .nav>ul>li{margin-right:16px;}
  .nav>ul>li>a{font-size:.7rem;}
  body:not(.home) .header__inner .header__cta{margin-left:14px;}
}

/* Prevent horizontal scroll from the off-canvas drawer / wide content (H7) */
html,body{overflow-x:hidden;}

/* Bare-page fallback body — a professional default so no page is just a heading */
.page-fallback{padding:clamp(3rem,6vw,5rem) 0;}
.page-fallback .page-lead{margin-bottom:1.6rem;}

/* ===================== HEADER CTAS + MOBILE SUBMENU (additive) ===================== */
.header__ctas{display:flex;gap:10px;align-items:center;margin-left:20px;flex:none;}
.header__cta-audit,.header__cta-score,.mobile__ctas .btn{display:inline-flex;align-items:center;justify-content:center;padding:9px 16px;border-radius:6px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;transition:.2s;white-space:nowrap;line-height:1;}
.header__cta-audit{color:#fff;border:1px solid rgba(255,255,255,.5);}
.header__cta-audit:hover{background:#fff;color:var(--sb-navy);}
.header__cta-score{background:var(--sb-gold);color:var(--sb-dark);border:1px solid var(--sb-gold);}
.header__cta-score:hover{filter:brightness(1.07);}
@media (max-width:1180px) and (min-width:981px){.header__cta-audit{display:none;}}
@media (max-width:980px){.header__ctas{display:none;}}

.mobile__menu{list-style:none;margin:0;padding:0;}
.mobile__menu li{position:relative;border-bottom:1px solid rgba(255,255,255,.08);}
.mobile__menu a{display:block;padding:12px 24px;color:#fff;font-size:.9rem;line-height:1.3;}
.mobile__menu a:hover{color:var(--green);}
.mobile__menu .sub-menu{list-style:none;margin:0;padding:0;background:rgba(0,0,0,.18);max-height:0;overflow:hidden;transition:max-height .3s ease;}
.mobile__menu li.open>.sub-menu{max-height:640px;}
.mobile__menu .sub-menu a{padding:10px 24px 10px 40px;font-size:.82rem;opacity:.9;}
.mobile__acc{position:absolute;top:5px;right:14px;width:34px;height:34px;background:rgba(255,255,255,.1);border:0;color:#fff;font-size:1.15rem;border-radius:6px;cursor:pointer;line-height:1;}
.mobile__menu li.open>.mobile__acc{background:var(--sb-gold);color:var(--sb-dark);}
.mobile__ctas{display:flex;flex-direction:column;gap:10px;padding:18px 24px 6px;}
.mobile__ctas .btn{width:100%;}
.mobile__ctas .btn--ghost{color:#fff;border:1px solid rgba(255,255,255,.5);}
.mobile__ctas .btn--solid{background:var(--sb-gold);color:var(--sb-dark);border:1px solid var(--sb-gold);}

/* ===================== 5-COLUMN MEGA FOOTER ===================== */
.footer--mega{background:var(--sb-dark);color:#fff;padding:0;}
.footer--mega .footer__cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:28px;padding:48px 0 36px;}
.footer--mega .footer__col h4{color:#fff;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;margin:0 0 14px;}
.footer--mega .footer__col ul{list-style:none;margin:0;padding:0;}
.footer--mega .footer__col li{margin:8px 0;}
.footer--mega .footer__col a{color:rgba(255,255,255,.72);font-size:.86rem;transition:.2s;}
.footer--mega .footer__col a:hover{color:var(--sb-gold);}
.footer__brand{font-size:1.3rem;font-weight:800;color:#fff;}
.footer__tag{color:rgba(255,255,255,.6);font-size:.85rem;margin:10px 0 14px;max-width:28ch;}
.footer--mega .footer__contact{list-style:none;margin:0 0 14px;padding:0;}
.footer--mega .footer__contact li{display:flex;gap:8px;align-items:center;margin:7px 0;color:rgba(255,255,255,.8);font-size:.85rem;}
.footer--mega .footer__contact a{color:rgba(255,255,255,.8);}
.footer--mega .footer__contact a:hover{color:var(--sb-gold);}
.footer__social{display:flex;flex-wrap:wrap;gap:8px 14px;margin-bottom:12px;}
.footer__social a{color:rgba(255,255,255,.7);font-size:.8rem;}
.footer__social a:hover{color:var(--sb-gold);}
.footer__maps a{color:var(--sb-gold);font-size:.82rem;}
.footer--mega .footer__bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:0;}
.footer--mega .footer__bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:18px 0;}
.footer--mega .footer__bottom-inner span{color:rgba(255,255,255,.6);font-size:.82rem;}
.footer__legal{display:flex;gap:18px;flex-wrap:wrap;}
.footer__legal a{color:rgba(255,255,255,.7);font-size:.82rem;}
.footer__legal a:hover{color:var(--sb-gold);}
@media (max-width:1080px){.footer--mega .footer__cols{grid-template-columns:1fr 1fr 1fr;}}
@media (max-width:680px){.footer--mega .footer__cols{grid-template-columns:1fr 1fr;}.footer__col--brand{grid-column:1/-1;}}
@media (max-width:440px){.footer--mega .footer__cols{grid-template-columns:1fr;}}

/* ===================== INNER-PAGE TEMPLATE COMPONENTS ===================== */
.page-main,.page-sidebar{min-width:0;}
.button--outline{display:inline-block;background:transparent;border:1px solid var(--sb-navy);color:var(--sb-navy);padding:11px 20px;border-radius:6px;font-weight:700;transition:.2s;}
.button--outline:hover{background:var(--sb-navy);color:#fff;}
.svc-icon{display:inline-grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--green);color:#fff;margin-bottom:1rem;}
.svc-h{font-size:1.3rem;color:var(--sb-navy);margin:1.8rem 0 1rem;}
.svc-list{list-style:none;margin:0 0 1.4rem;padding:0;}
.svc-list li{display:flex;gap:10px;align-items:flex-start;margin:.6rem 0;color:var(--text-2);}
.svc-list--2col{display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1.6rem;}
.svc-tick{color:var(--green);flex:none;margin-top:2px;}
.svc-outcome{background:var(--sb-light);border-left:4px solid var(--sb-gold);border-radius:6px;padding:1rem 1.2rem;color:var(--text-2);}
.svc-back{margin-top:1.6rem;display:flex;gap:10px;flex-wrap:wrap;}
.price-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.2rem;margin:1rem 0;}
.price-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.6rem;text-align:center;}
.price-card--featured{border-color:var(--sb-gold);box-shadow:var(--shadow);}
.price-card h3{margin:0 0 .4rem;color:var(--sb-navy);}
.price-card__amt{font-size:1.6rem;font-weight:800;color:var(--sb-gold);margin:0 0 1rem;}
.price-card ul{list-style:none;margin:0 0 1.2rem;padding:0;}
.price-card li{margin:.4rem 0;color:var(--text-2);font-size:.9rem;}
.price-note{font-size:.85rem;color:#5d6b73;}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.2rem;margin:1rem 0 1.6rem;}
.step{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.4rem;}
.step__n{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--sb-navy);color:#fff;font-weight:800;margin-bottom:.6rem;}
.step h3{margin:0 0 .3rem;font-size:1rem;color:var(--sb-navy);}
.step p{margin:0;color:var(--text-2);font-size:.9rem;}
.hub-cta{background:var(--sb-light);border-radius:10px;padding:1.8rem;text-align:center;margin:1.8rem 0 0;}
.hub-cta h3{margin:0 0 1rem;color:var(--sb-navy);}
.hub-note{background:#fff8e6;border:1px solid #ecdca6;border-radius:8px;padding:1rem 1.2rem;color:#6b5a20;font-size:.9rem;}
.case-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.4rem;margin:1.4rem 0;}
.case-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.8rem;text-align:center;}
.case-metric{display:block;font-size:2.4rem;font-weight:800;color:var(--sb-gold);line-height:1;margin-bottom:.4rem;}
.case-card h3{margin:0 0 .5rem;color:var(--sb-navy);font-size:1.05rem;}
.case-card p{margin:0;color:var(--text-2);font-size:.9rem;}
.career-list{display:grid;gap:1.2rem;margin:1.4rem 0;}
.role{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.6rem;}
.role__head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline;}
.role__head h3{margin:0;color:var(--sb-navy);font-size:1.1rem;}
.role__meta{color:#5d6b73;font-size:.82rem;font-weight:700;}
.role p{color:var(--text-2);margin:.6rem 0 1rem;}
.career-note{margin-top:1.4rem;color:var(--text-2);}
.legal-doc{max-width:760px;}
.legal-updated{color:#5d6b73;font-size:.85rem;margin-bottom:1.2rem;}
.legal-doc .page-content{color:var(--text-2);}
.legal-empty{background:var(--sb-light);border-radius:8px;padding:1.4rem;color:var(--text-2);}
.gp-form{margin-top:1.4rem;}
.gp-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.gp-field{margin:0 0 1rem;}
.gp-field label{display:block;font-weight:700;color:var(--sb-navy);margin-bottom:.4rem;font-size:.9rem;}
.gp-field input,.gp-field textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:6px;font:inherit;background:#fff;}
.gp-field input:focus,.gp-field textarea:focus{outline:2px solid var(--sb-gold);border-color:var(--sb-gold);}
.gp-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.gp-notice{border-radius:8px;padding:1rem 1.2rem;margin-bottom:1.2rem;font-weight:600;}
.gp-notice--ok{background:#e7f2ec;border:1px solid #bfe0cc;color:#2e7d4f;}
.gp-notice--err{background:#f7e6e4;border:1px solid #e6bcb7;color:#b23b32;}
.gp-steps{margin:0;padding-left:18px;color:var(--text-2);}
.gp-steps li{margin:6px 0;}
@media (max-width:600px){.gp-row{grid-template-columns:1fr;}.svc-list--2col{grid-template-columns:1fr;}}

/* ===================== SECURITY DIRECTORY ===================== */
.dir-tools{display:flex;flex-wrap:wrap;gap:12px;margin:1.4rem 0 2rem;}
.dir-search{flex:1 1 260px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff;}
.dir-filter{flex:0 1 200px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff;}
.dir-search:focus,.dir-filter:focus{outline:2px solid var(--sb-gold);border-color:var(--sb-gold);}
.dir-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:1.4rem;}
.dir-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:transform .3s,box-shadow .3s;}
.dir-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.dir-card.is-hidden{display:none;}
.dir-card__logo{aspect-ratio:16/9;background:var(--sb-light);display:grid;place-items:center;overflow:hidden;}
.dir-card__logo img{width:100%;height:100%;object-fit:contain;padding:14px;}
.dir-card__ph{font-size:2.4rem;font-weight:800;color:var(--sb-navy);}
.dir-card__body{padding:1.2rem 1.3rem 1.4rem;display:flex;flex-direction:column;gap:.4rem;flex:1;}
.dir-card__name{margin:0;font-size:1.15rem;color:var(--sb-navy);}
.dir-card__state{display:inline-flex;align-items:center;gap:5px;color:#5d6b73;font-size:.82rem;font-weight:700;}
.dir-card__svc{margin:.2rem 0;color:var(--green);font-size:.82rem;font-weight:600;}
.dir-card__desc{margin:.2rem 0 .8rem;color:var(--text-2);font-size:.9rem;flex:1;}
.dir-card__btn{align-self:flex-start;color:var(--sb-navy);font-weight:700;font-size:.88rem;}
.dir-card__btn:hover{color:var(--sb-gold);}
.dir-empty,.dir-noresults{color:#5d6b73;padding:1rem 0;}
.dir-submit{background:var(--sb-light);margin-top:2.6rem;padding:clamp(2rem,5vw,3.4rem) 0;}
.dir-submit__title{color:var(--sb-navy);margin:0 0 .3rem;}
.dir-submit__lead{color:var(--text-2);margin:0 0 1.4rem;}
.dir-fs{border:1px solid var(--line);border-radius:10px;padding:1.2rem 1.4rem;margin:0 0 1.2rem;background:#fff;}
.dir-fs legend{font-weight:800;color:var(--sb-navy);padding:0 8px;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;}
.dir-checks{display:flex;flex-wrap:wrap;gap:8px 16px;}
.dir-check{font-weight:400!important;color:var(--text-2);display:inline-flex;align-items:center;gap:6px;margin:0!important;}
.dir-confirm label{display:flex;gap:10px;align-items:flex-start;font-weight:600;color:var(--text-2);}
.dir-form input[type="file"]{width:100%;padding:9px;border:1px dashed var(--line);border-radius:6px;background:#fff;}
/* Profile */
.profile-head{display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap;margin-bottom:1.4rem;}
.profile-logo{width:120px;height:120px;flex:none;border:1px solid var(--line);border-radius:12px;background:var(--sb-light);display:grid;place-items:center;overflow:hidden;}
.profile-logo img{width:100%;height:100%;object-fit:contain;padding:10px;}
.profile-loc{display:flex;align-items:center;gap:6px;color:#5d6b73;font-weight:700;margin:0 0 .6rem;}
.profile-tags{display:flex;flex-wrap:wrap;gap:8px;}
.profile-tag{background:var(--sb-light);border:1px solid var(--line);border-radius:20px;padding:3px 12px;font-size:.8rem;color:var(--sb-navy);font-weight:600;}
.profile-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;}
.profile-gallery__item{margin:0;border-radius:8px;overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;}
.profile-gallery__item img{width:100%;height:100%;object-fit:cover;display:block;}
.profile-contact__list{list-style:none;margin:0 0 1rem;padding:0;}
.profile-contact__list li{display:flex;align-items:center;gap:8px;margin:.6rem 0;color:var(--text-2);}
.profile-social{margin-bottom:1rem;}
@media (max-width:600px){.dir-search,.dir-filter{flex:1 1 100%;}}
.gp-form input[type="file"]{width:100%;padding:9px;border:1px dashed var(--line);border-radius:6px;background:#fff;}
.gp-author{margin-top:2rem;background:var(--sb-light);border:1px solid var(--line);border-radius:10px;padding:1.4rem 1.6rem;}
.gp-author h4{margin:0 0 .4rem;color:var(--sb-navy);}
.gp-author p{margin:0 0 .4rem;color:var(--text-2);}
.gp-author a{color:var(--sb-gold);font-weight:700;}
.profile-cat{display:inline-block;background:var(--sb-navy);color:#fff;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 12px;border-radius:20px;margin:.2rem 0 .6rem;}
.gp-gate{padding:1.4rem 1.6rem;}
.gp-gate__btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:.6rem;}
/* Hero background video (sits behind the dark overlay + content) */
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
/* Hero YouTube background — scaled to cover the slide */
.hero__yt{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none;}
.hero__yt iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100vw;height:56.25vw;min-height:100%;min-width:177.78vh;border:0;}
/* Videos section — responsive 16:9 YouTube embeds */
.videos{padding:clamp(3rem,6vw,5rem) 0;}
.videos__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.4rem;margin-top:1.4rem;}
.video-embed{position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:#000;}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
/* Full-screen page hero video (fills the viewport until scrolled) */
.page-hero--full{min-height:100vh;display:flex;align-items:center;overflow:hidden;}
.page-hero--full::before{display:none;}
.page-hero--full::after{content:"";position:absolute;inset:0;z-index:1;background:rgba(0,21,38,.55);}
.page-hero--full .page-hero__inner{position:relative;z-index:2;}
.page-hero__scroll{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:2;color:#fff;font-size:1.7rem;line-height:1;text-decoration:none;opacity:.85;animation:ncScroll 1.8s infinite;}
.page-hero__scroll:hover{opacity:1;color:var(--sb-gold);}
@keyframes ncScroll{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(9px)}}

/* ============================================================
   DESIGN OVERHAUL — Source Serif 4 headings · Atkinson body ·
   no all-caps · beige surface · blue secondary · maroon accent
   ============================================================ */
/* Serif headings across homepage + inner pages */
.hero .hero__title,.about__head h2,.page-hero h1,.svc-h,.page-cta h2,.footer-cta h2,.section-head h2,
.videos h2,.dir-submit__title,.process__heading,.hub-cta h3,.case-card h3{font-family:var(--font-head)!important;text-transform:none!important;letter-spacing:-.02em;}
/* Kill every uppercase */
.hero .hero__title,.hero__eyebrow,.nav>ul>li>a,.sub li a,.button,.btn,.cta-band__eyebrow,.feature h3,
.pstep__body h3,.counter__label,.footer--mega .footer__col h4,.eyebrow,.page-hero h1,.mobile__menu a,
.about__head h2,.member__social a,.dir-fs legend{text-transform:none!important;}
/* Hero */
.hero .hero__title{font-size:clamp(2.5rem,5vw,4rem);font-weight:700;letter-spacing:-.02em;}
.hero p{font-size:1.375rem;line-height:1.7;max-width:34rem;}
.hero__eyebrow{font-size:.95rem;letter-spacing:.03em;font-weight:600;color:var(--sb-lightblue);}
/* Inner-page hero */
.page-hero h1{font-family:var(--font-head)!important;font-size:clamp(2.5rem,5vw,4rem);font-weight:700;letter-spacing:-.02em;}
.page-hero .eyebrow{color:var(--sb-lightblue);}
.page-lead{font-size:1.375rem;line-height:1.7;color:var(--text-2);}
.page-content{font-size:1.1875rem;line-height:1.8;}
.svc-h{font-size:1.5rem;font-weight:700;}
.page-card h3,.dir-card__name{font-size:1.25rem;font-weight:600;font-family:var(--font-head);}
/* Nav / menus — sentence case, readable */
.nav>ul>li>a{font-size:1rem;font-weight:500;letter-spacing:.01em;}
.sub li a,.mobile__menu a{font-size:1rem;}
/* Buttons — sentence case */
.button,.btn{font-size:1rem;font-weight:600;letter-spacing:.02em;}
.button--primary,.btn--solid,.header__cta-score{font-weight:700;}
/* Breadcrumbs / counters */
.breadcrumbs{font-size:.9375rem;}
.counter__num{font-family:var(--font-head);font-size:2.6rem;letter-spacing:0;}
.counter__label{font-size:1rem;letter-spacing:.02em;}

/* ---- Colours ---- */
.accent,.hero__title .accent{color:var(--sb-maroon);}
/* Primary actions = maroon */
.button--primary,.btn--solid,.header__cta-score,.dir-card__btn:hover{background:var(--sb-maroon);border-color:var(--sb-maroon);color:#fff;}
.button--primary:hover,.btn--solid:hover,.header__cta-score:hover{background:#520805;border-color:#520805;color:#fff;filter:none;}
/* Secondary = blue */
.button--outline,.btn--outline{border-color:var(--sb-blue);color:var(--sb-blue);background:transparent;}
.button--outline:hover,.btn--outline:hover{background:var(--sb-blue);color:#fff;}
.page-content a,.legal-doc a,.dir-card__btn,.page-card a,.svc-back a,.blogs a{color:var(--sb-blue);}
.page-content a:hover{color:var(--sb-maroon);}
.page-card__ic,.svc-icon{background:var(--sb-blue);}
/* Light-blue tints */
.page-sidebar__block,.hub-cta,.dir-submit,.svc-outcome{background:var(--sb-lightblue);}
.svc-outcome{border-left-color:var(--sb-maroon);}
.profile-tag,.page-hero::before{}
/* Footer (dark navy) — use light-blue for accents so they read on the dark bg */
.footer__brand span,.footer--mega .footer__col a:hover,.footer__social a:hover,.footer__legal a:hover,.footer__maps a,.footer-cta h2 .accent{color:var(--sb-lightblue)!important;}
/* Focus ring */
:focus-visible{outline:3px solid var(--sb-maroon);}

/* ================= CLIENT REFINEMENTS ================= */
/* No maroon on buttons/sections — maroon only for accent keywords + card icons */
.button--primary,.btn--solid{background:var(--sb-blue)!important;border-color:var(--sb-blue)!important;color:#fff!important;}
.button--primary:hover,.btn--solid:hover{background:#134262!important;border-color:#134262!important;color:#fff!important;}
.svc-outcome{border-left-color:var(--sb-blue)!important;}
.dir-card__btn:hover{background:transparent!important;color:var(--sb-maroon)!important;}

/* Header: keep dark bg; nav text turns beige on hover; CTA buttons blue */
.nav>ul>li>a:hover{color:var(--sb-light)!important;}
.nav>ul>li>a::after{background:var(--sb-light)!important;}
.header__cta-score{background:var(--sb-blue)!important;border-color:var(--sb-blue)!important;color:#fff!important;}
.header__cta-audit{background:transparent!important;border-color:var(--sb-blue)!important;color:#fff!important;}
.header__cta-audit:hover,.header__cta-score:hover{background:#134262!important;border-color:#134262!important;color:#fff!important;}
.mobile__ctas .btn--ghost{border-color:var(--sb-blue)!important;color:#fff!important;}
.mobile__ctas .btn--solid{background:var(--sb-blue)!important;border-color:var(--sb-blue)!important;color:#fff!important;}

/* Cards: light-blue fill, navy fonts, blue icon chips (readable) */
.page-card,.dir-card,.price-card,.case-card{background:var(--sb-lightblue)!important;border-color:#b9cfe6!important;}
.page-card h3,.page-card p,.page-card a,.dir-card__name,.dir-card__desc,.dir-card__state,.dir-card__svc,
.case-card h3,.case-card p,.case-metric,.price-card h3,.price-card li,.price-card__amt,.dir-card__btn{color:var(--sb-navy)!important;}
.page-card__ic,.svc-icon{background:var(--sb-blue)!important;color:#fff!important;}

/* Forms: submit button navy with beige text */
.gp-form button[type="submit"]{background:var(--sb-navy)!important;border-color:var(--sb-navy)!important;color:var(--sb-light)!important;}
.gp-form button[type="submit"]:hover{background:#12283a!important;color:#fff!important;}

/* Footer: beige background, navy fonts, blue links */
.footer--mega{background:var(--sb-light)!important;}
.footer--mega .footer__col h4,.footer__brand,.footer__brand span,.footer__tag,.footer--mega .footer__contact li,
.footer--mega .footer__bottom-inner span{color:var(--sb-navy)!important;}
.footer--mega .footer__col a,.footer--mega .footer__contact a,.footer__social a,.footer__legal a,.footer__maps a{color:var(--sb-blue)!important;}
.footer--mega .footer__col a:hover,.footer--mega .footer__contact a:hover,.footer__social a:hover,.footer__legal a:hover,.footer__maps a:hover{color:var(--sb-navy)!important;}
.footer--mega .footer__bottom{border-top-color:rgba(29,58,84,.22)!important;}

/* +2px readability bump (footer + card/section boxes) for older readers */
.footer--mega .footer__col a,.footer--mega .footer__contact li,.footer--mega .footer__contact a,.footer__social a,
.footer__legal a,.footer__maps a,.footer--mega .footer__bottom-inner span,.footer__tag{font-size:1.0625rem!important;}
.footer--mega .footer__col h4{font-size:1rem!important;}
.page-card p,.dir-card__desc,.case-card p,.price-card li,.hub-note,.price-note,.role p,.career-note,.svc-list li,.gp-steps li{font-size:1.0625rem!important;}
.dir-card__state,.dir-card__svc,.role__meta{font-size:1rem!important;}

/* ================= FREE AUDIT CALCULATOR ================= */
.audit{max-width:760px;margin:1.6rem auto 0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:clamp(1.4rem,4vw,2.4rem);}
.audit__bar{height:6px;background:var(--sb-lightblue);border-radius:6px;overflow:hidden;margin-bottom:1.6rem;}
.audit__bar span{display:block;height:100%;width:0;background:var(--sb-blue);transition:width .4s ease;}
.audit__step{display:none;}
.audit__step.is-active{display:block;animation:ncFade .3s ease;}
@keyframes ncFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.audit__step h2{margin:0 0 .3rem;}
.audit__checks{display:grid;gap:.6rem;margin:1.2rem 0;}
.audit__check{display:flex;gap:.7rem;align-items:flex-start;padding:.75rem .9rem;border:1px solid var(--line);border-radius:8px;cursor:pointer;font-size:1.0625rem;color:var(--text-2);background:var(--sb-light);}
.audit__check input{margin-top:.2rem;width:20px;height:20px;accent-color:var(--sb-blue);flex:none;}
.audit__check:hover{border-color:var(--sb-blue);}
.audit__nav{display:flex;gap:10px;flex-wrap:wrap;margin-top:1.2rem;}
.audit__msg{background:#f7e6e4;border:1px solid #e6bcb7;color:#b23b32;border-radius:8px;padding:.7rem 1rem;margin-bottom:1rem;}
.audit__score{font-family:var(--font-head);font-size:clamp(3rem,10vw,5rem);color:var(--sb-blue);font-weight:700;line-height:1;text-align:center;margin:1rem 0;}
.audit__score small{font-size:1.5rem;color:var(--muted);}
.audit__verdict{text-align:center;font-size:1.2rem;color:var(--text-2);max-width:46ch;margin:0 auto 1.6rem;}

/* ================= REFINEMENTS (wave 1) ================= */
/* Hero backgrounds → blue #1A5578 */
.hero{background:var(--sb-blue)!important;}
.hero__slide .ph,.hero__slide .ph--6{background:var(--sb-blue)!important;}
.hero__slide::after{background:rgba(0,21,38,.4)!important;}
.page-hero{background:var(--sb-blue)!important;}
.page-hero::before{display:none!important;}
.page-hero--full::after{background:rgba(0,21,38,.5)!important;}
/* Counters → blue (remove the brown gradient); dark CTA bands → lighter navy */
.counters{background:var(--sb-blue)!important;}
.counters__bg,.counters__overlay{display:none!important;}
.cta-band,.page-cta,.footer-cta{background:var(--sb-navy)!important;}
/* Card titles → sans (no serif / no Times) */
.page-card h3,.page-card h3 a,.dir-card__name,.case-card h3,.price-card h3{font-family:var(--font)!important;font-weight:700!important;}
/* Minimum 16px everywhere; below-hero body ≥18px; maroon labels larger */
.breadcrumbs,.dir-card__state,.dir-card__svc,.role__meta,.footer--mega .footer__col a,.footer--mega .footer__col h4,
.footer__legal a,.footer__social a,.footer__maps a,.mobile a,.sub li a,.nav>ul>li>a{font-size:1rem!important;}
.eyebrow,.hero__eyebrow,.cta-band__eyebrow,.page-hero .eyebrow{font-size:1.05rem!important;letter-spacing:.06em!important;font-weight:700!important;}
.page-content,.page-card p,.dir-card__desc,.case-card p,.price-card li,.svc-list li,.hub-note,.page-lead,.role p,.audit__check{font-size:1.125rem!important;line-height:1.75!important;}
/* Header dropdown → beige bg, navy text, maroon on hover */
.sub{background:var(--sb-light)!important;box-shadow:0 12px 30px -10px rgba(0,0,0,.35)!important;}
.sub li a{color:var(--sb-navy)!important;}
.sub li a:hover{color:var(--sb-maroon)!important;background:rgba(107,10,6,.07)!important;}
/* Footer hover → navy (never maroon) */
.footer--mega a:hover{color:var(--sb-navy)!important;}
/* Footer live indicator — circular; space kept for your icon */
.footer__live{display:inline-flex;align-items:center;gap:9px;margin-top:10px;color:var(--sb-navy);font-weight:700;font-size:1rem;}
.footer__live .dot{position:relative;display:inline-flex;width:44px;height:44px;border-radius:50%;border:2px solid var(--sb-blue);align-items:center;justify-content:center;}
.footer__live .dot::before{content:"";width:11px;height:11px;border-radius:50%;background:#2e7d4f;box-shadow:0 0 0 0 rgba(46,125,79,.55);animation:ncLive 1.8s infinite;}
@keyframes ncLive{0%{box-shadow:0 0 0 0 rgba(46,125,79,.55)}70%{box-shadow:0 0 0 12px rgba(46,125,79,0)}100%{box-shadow:0 0 0 0 rgba(46,125,79,0)}}
/* Blog single — featured image banner hero */
.single-hero{position:relative;min-height:52vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--sb-blue);}
.single-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.single-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(0,21,38,.85),rgba(0,21,38,.2));}
.single-hero__inner{position:relative;z-index:2;color:#fff;padding:2.6rem 0;}
.single-hero__inner h1{color:#fff;font-family:var(--font-head);margin:.4rem 0;}
.single-hero__inner .post__cat a{color:var(--sb-lightblue);}
.single-hero__inner .post__meta{color:rgba(255,255,255,.8);}
/* PER-PAGE HERO CONTROLS — size (tall/full) + optional background image */
.page-hero--tall{min-height:60vh;display:flex;align-items:center;}
.page-hero--full{display:flex;align-items:center;}
.page-hero--img{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;}
.page-hero--img::before{display:none!important;}
.page-hero--img::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,21,38,.5),rgba(29,58,84,.72));}
.page-hero--img .page-hero__inner{position:relative;z-index:2;}
.page-hero--tall .page-hero__inner,.page-hero--full .page-hero__inner{width:100%;}
/* Optional per-page section image (Page Content field) */
.page-figure{margin:1.6rem 0;}
.page-figure img{display:block;max-width:100%;height:auto;border-radius:12px;box-shadow:0 14px 34px -18px rgba(0,21,38,.4);}
