
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap');
:root{--navy:#061827;--navy2:#0a2b3b;--teal:#087c83;--aqua:#3ed1c9;--cream:#f7f2e8;--white:#fff;--gold:#e7b640;--gold2:#f5ce6d;--ink:#0c1e2c;--slate:#53687a;--line:#dce4e6;--radius:26px;--shadow:0 18px 45px rgba(6,24,39,.11)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}h1,h2,h3{margin:0 0 18px}h1,h2{font-family:"Libre Baskerville",Georgia,serif;font-weight:400;letter-spacing:-.035em}h1{font-size:clamp(3rem,5vw,5.3rem);line-height:1.01}h2{font-size:clamp(2.1rem,3.6vw,3.7rem);line-height:1.08}h3{font-size:1.25rem;line-height:1.25}p{margin:0 0 18px;color:var(--slate)}
.site-header{height:100px;background:var(--navy);color:#fff;display:flex;align-items:center;gap:32px;padding:12px clamp(26px,5vw,76px);position:relative;z-index:50}.brand{width:215px;min-width:190px}.brand img{max-height:74px;object-fit:contain}.nav-links{margin-left:auto;display:flex;gap:28px;font-weight:600;font-size:.93rem}.nav-links a:hover{color:var(--gold2)}.header-cta{margin-left:8px}.menu-toggle{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:1.8rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:999px;padding:14px 24px;font-weight:700;border:1px solid transparent;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#081824;box-shadow:0 10px 28px rgba(231,182,64,.24)}.btn-outline{border-color:rgba(255,255,255,.5);color:#fff}.kicker{font-size:.75rem;font-weight:800;letter-spacing:.18em;color:#079b97;margin-bottom:20px}.kicker.on-dark{color:#50d7d0}.kicker span{display:inline-block;width:34px;height:2px;background:currentColor;vertical-align:middle;margin-right:10px}
.home-hero{min-height:610px;background:linear-gradient(108deg,#061827 0%,#082b3b 66%,#0c6970 100%);color:#fff;display:grid;grid-template-columns:42% 38% 20%;overflow:hidden}.hero-copy{padding:58px 0 46px clamp(28px,5vw,76px);align-self:center;z-index:2}.hero-copy h1{font-size:clamp(3rem,4.5vw,4.9rem);max-width:760px}.hero-copy h1 em,.service-copy h1 em,.industry-hero h1 em,.about-hero h1 em{font-style:normal;color:var(--gold2)}.hero-lead{font-size:1.05rem;color:#d6e0e5;max-width:650px}.hero-actions{display:flex;gap:14px;margin-top:28px}.hero-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:42px;max-width:660px}.hero-benefits div{padding:0 18px;border-left:1px solid rgba(255,255,255,.18)}.hero-benefits div:first-child{padding-left:0;border-left:0}.hero-benefits b{display:block;color:var(--aqua);font-size:.8rem;margin-bottom:5px}.hero-benefits span{font-size:.8rem;font-weight:700;color:#e8eff2}
.hero-consult{position:relative;min-height:610px;overflow:hidden}.hero-consult img{width:100%;height:100%;object-fit:cover}.hero-consult:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,24,39,.08),rgba(6,24,39,.04))}.photo-badge{position:absolute;right:22px;bottom:22px;background:rgba(6,24,39,.86);color:#fff;padding:16px 20px;border-radius:18px;border-left:3px solid var(--gold);z-index:2;font-family:"Libre Baskerville",serif}
.hero-rail{position:relative;padding:34px 24px;display:flex;align-items:center;justify-content:center}.hero-rail ul{position:relative;z-index:2;list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:24px;text-transform:uppercase;letter-spacing:.22em;font-size:.75rem;color:#e8f3f4}.rail-ring{position:absolute;width:330px;height:330px;border-radius:50%;border:1px solid rgba(231,182,64,.45);right:-130px;top:45px}.rail-ring:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(62,209,201,.25);border-radius:50%;left:34px;top:34px}
.section{padding:76px clamp(28px,5vw,78px)}.warm{background:var(--cream)}.white{background:#fff}.dark{background:var(--navy);color:#fff}.dark p{color:#cbd6dc}.section-heading{max-width:850px;margin-bottom:42px}.section-heading.centered{text-align:center;margin-left:auto;margin-right:auto}.section-heading.centered p:last-child{max-width:760px;margin-left:auto;margin-right:auto}.cards{display:grid;gap:22px}.cards.four{grid-template-columns:repeat(4,1fr)}.cards.three{grid-template-columns:repeat(3,1fr)}.card{background:#fff;border:1px solid rgba(6,24,39,.08);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}.industry{min-height:280px}.industry.featured{background:linear-gradient(180deg,#fff,#eefaf7)}.icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;margin-bottom:24px;background:#e6f9f7;font-size:1.4rem}.icon.teal{color:var(--teal)}.icon.gold{color:#c98f0f;background:#fff4d9}.card a,.learn-toggle{color:var(--teal);font-weight:700;background:none;border:0;padding:0;margin-top:12px;cursor:pointer;font:inherit}.expand-panel{max-height:0;opacity:0;overflow:hidden;transition:.35s ease}.expand-panel.open{max-height:320px;opacity:1;padding-top:18px;margin-top:18px;border-top:1px solid var(--line)}.expand-panel h4{margin:0 0 8px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.chips span{font-size:.76rem;border:1px solid rgba(6,24,39,.14);padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.65)}
.approach{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;align-items:center}.approach-intro{max-width:470px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr)}.process-grid>div{padding:20px 24px;border-left:1px solid var(--line)}.process-grid>div:first-child{border-left:0}.process-grid b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#eaf8f7;color:var(--teal);margin-bottom:14px}.process-grid p{font-size:.9rem}.cta-band{background:linear-gradient(90deg,#0b5960,#061827);color:#fff;margin:0;padding:54px clamp(30px,6vw,92px);display:flex;align-items:center;justify-content:space-between;gap:32px}.cta-band>div{max-width:760px}.cta-band h2{font-size:clamp(2rem,3.2vw,3.2rem)}.cta-band p{color:#d8e3e8}
.service-hero{background:linear-gradient(108deg,#061827 0%,#0b4150 100%);color:#fff;min-height:470px;display:grid;grid-template-columns:52% 48%;overflow:hidden}.service-copy{padding:64px clamp(28px,5vw,78px);align-self:center}.service-copy h1{font-size:clamp(3rem,4.4vw,4.8rem);max-width:760px}.service-copy p{color:#d7e1e6;max-width:640px;font-size:1.04rem}.service-photo{position:relative;min-height:470px}.service-photo img{width:100%;height:100%;object-fit:cover}.service-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,24,39,.35),transparent 40%);z-index:1}.overlay-label{position:absolute;right:28px;bottom:28px;background:rgba(6,24,39,.86);color:#fff;padding:16px 20px;border-radius:18px;border-left:3px solid var(--gold);z-index:2;font-family:"Libre Baskerville",serif}.service-grid .card{min-height:255px}.dark-card{background:var(--navy);color:#fff}.dark-card p{color:#c9d7dd}.why h2{color:#fff}.dark-soft{background:#132a39;color:#fff;border-color:rgba(255,255,255,.09);box-shadow:none}.dark-soft p{color:#cbd7dd}.dark-soft.accented{background:linear-gradient(145deg,#124049,#12313b);border-color:rgba(62,209,201,.28)}
.industry-hero,.about-hero{min-height:500px;background:linear-gradient(108deg,#061827,#0a3445);color:#fff;display:grid;grid-template-columns:55% 45%;overflow:hidden}.industry-hero>div,.about-hero>div{padding:66px clamp(28px,5vw,78px);align-self:center}.industry-hero h1,.about-hero h1{font-size:clamp(3rem,4.5vw,5rem)}.industry-hero p,.about-hero p{color:#d5e0e5;font-size:1.04rem;max-width:640px}.industry-hero img,.about-hero img{width:100%;height:100%;object-fit:cover;min-height:500px}.industry-row{display:grid;grid-template-columns:.42fr .58fr;gap:60px;padding:56px 0;border-bottom:1px solid var(--line);scroll-margin-top:110px}.industry-row h2{font-size:2.5rem}.industry-row.highlight{background:linear-gradient(90deg,#eefaf8,#fff7e5);padding:46px 34px;margin-top:28px;border-radius:26px;border-bottom:0}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.about-values{margin-top:58px}.contact-hero{min-height:620px;background:linear-gradient(105deg,#061827,#0b5960);color:#fff;padding:70px clamp(28px,6vw,92px);display:grid;grid-template-columns:1fr .85fr;gap:60px;align-items:center}.contact-hero h1{max-width:700px}.contact-hero p{color:#d4e0e5;max-width:640px}.contact-email{display:inline-block;color:var(--gold2);font-size:1.3rem;font-weight:700;margin-top:10px}.contact-card{background:#fff;color:var(--ink);border-radius:30px;padding:42px;box-shadow:var(--shadow)}.contact-card h2{font-size:2.5rem}.contact-card p{color:var(--slate)}
.site-footer{background:#041522;color:#fff;padding:42px clamp(28px,5vw,78px);display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:center}.footer-logo img{width:210px}.footer-logo p,.footer-contact p{font-size:.82rem;color:#90a5b1;margin-top:8px}.footer-links{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;font-size:.88rem}.footer-contact{text-align:right}.footer-contact a{color:#dce6ea}
@media(max-width:1100px){.header-cta{display:none}.home-hero{grid-template-columns:1fr 1fr}.hero-rail{display:none}.cards.four{grid-template-columns:1fr 1fr}.cards.three{grid-template-columns:1fr 1fr}.approach{grid-template-columns:1fr}.industry-hero,.about-hero,.service-hero{grid-template-columns:1fr}.service-photo,.industry-hero img,.about-hero img{min-height:340px;height:340px}.contact-hero{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr;text-align:center}.footer-contact{text-align:center}}
@media(max-width:760px){.site-header{height:auto;min-height:86px;padding:10px 20px;flex-wrap:wrap}.brand{width:180px}.menu-toggle{display:block}.nav-links{display:none;width:100%;flex-direction:column;align-items:flex-start;margin:0;padding:16px 0 8px}.nav-links.open{display:flex}.home-hero{grid-template-columns:1fr}.hero-copy{padding:44px 22px}.hero-copy h1{font-size:3rem}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.hero-benefits{grid-template-columns:1fr 1fr;gap:18px}.hero-benefits div:nth-child(3){border-left:0;padding-left:0}.hero-consult{min-height:360px}.section{padding:56px 22px}.cards.four,.cards.three{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr 1fr}.process-grid>div:nth-child(3){border-left:0}.cta-band{padding:44px 22px;flex-direction:column;align-items:flex-start}.service-copy,.industry-hero>div,.about-hero>div{padding:48px 22px}.service-copy h1,.industry-hero h1,.about-hero h1{font-size:3rem}.industry-row,.about-grid{grid-template-columns:1fr;gap:14px}.contact-hero{padding:50px 22px}.contact-card{padding:30px 24px}}

/* Sharp vector hero image refinements */
.hero-consult img,
.service-photo img,
.industry-hero img,
.about-hero img{
  image-rendering:auto;
  object-fit:cover;
  object-position:center;
  width:100%;
  height:100%;
}
.industry-hero,
.service-hero,
.about-hero{
  align-items:stretch;
}
.industry-hero>div,
.service-copy,
.about-hero>div{
  position:relative;
  z-index:2;
  overflow:hidden;
}
.industry-hero h1,
.service-copy h1,
.about-hero h1{
  max-width:100%;
  overflow-wrap:normal;
  word-break:normal;
}
.industry-hero p,
.service-copy p,
.about-hero p{
  max-width:620px;
}
@media(min-width:1101px){
  .industry-hero{grid-template-columns:52% 48%}
  .service-hero{grid-template-columns:52% 48%}
  .industry-hero>div,.service-copy{padding-right:54px}
  .industry-hero h1,.service-copy h1{font-size:clamp(3rem,4vw,4.5rem);line-height:1.06}
}

/* Valtier dark-background logo */
.brand img,
.footer-logo img{
  background:transparent;
  object-fit:contain;
  object-position:left center;
}
.brand img{width:215px;height:auto;max-height:72px;}
.footer-logo img{width:225px;height:auto;}

/* Final production visual refinements */
.hero-consult img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  image-rendering:auto;
}

/* Services page: crisp CSS-rendered security dashboard */
.service-dashboard{
  min-height:470px;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:42px;
  background:
    radial-gradient(circle at 82% 14%,rgba(62,209,201,.19),transparent 25%),
    linear-gradient(145deg,#0b3142,#0b6269);
}
.dashboard-shell{
  width:min(620px,92%);
  background:#f9fbfb;
  border-radius:24px;
  box-shadow:0 28px 65px rgba(0,0,0,.28);
  padding:24px;
  transform:rotate(-1deg);
}
.dash-top{display:flex;gap:7px;margin-bottom:18px}.dash-top span{width:9px;height:9px;border-radius:50%;background:#d7e1e3}.dash-top span:first-child{background:#e7b640}
.dash-title{font-family:"Libre Baskerville",Georgia,serif;font-size:1.45rem;color:#0b2637;margin-bottom:18px}
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.metric{background:#edf5f5;border:1px solid #dce8e8;border-radius:16px;padding:16px;min-height:115px}
.metric b{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.11em;color:#53707c;margin-bottom:9px}
.metric strong{font-size:1.4rem;color:#092537}.bar{height:9px;display:block;background:#d7e4e5;border-radius:999px;margin-top:14px;overflow:hidden}.bar u{display:block;height:100%;background:linear-gradient(90deg,#0b8387,#46d0c8);border-radius:inherit;text-decoration:none}
.mini-dots{display:flex;gap:6px;margin-top:17px}.mini-dots span{width:17px;height:17px;border-radius:50%;background:#e7b640}.mini-dots span:nth-child(n+5){background:#d9e4e6}
.metric.chart{grid-column:1/-1}.bars{height:90px;display:flex;align-items:end;gap:12px;padding-top:10px}.bars span{flex:1;background:linear-gradient(#49d3cb,#087c83);border-radius:6px 6px 2px 2px}
.service-dashboard .overlay-label{right:30px;bottom:24px}

/* Industries hero: clean sector mosaic */
.sector-visual{
  min-height:500px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  padding:54px;
  align-content:center;
  background:
    radial-gradient(circle at 76% 18%,rgba(231,182,64,.17),transparent 24%),
    linear-gradient(145deg,#0c3444,#0b6870);
}
.sector-tile{
  min-height:165px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:24px;
  padding:28px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(5px);
  color:#fff;
}
.sector-tile:nth-child(2),.sector-tile:nth-child(4){background:rgba(231,182,64,.09)}
.sector-tile span{font-size:2rem;color:#53d8d1;margin-bottom:auto}
.sector-tile:nth-child(2) span,.sector-tile:nth-child(4) span{color:#f0c75f}
.sector-tile b{font-family:"Libre Baskerville",Georgia,serif;font-size:1.15rem}

/* About: branded graphic instead of repeated people image */
.about-brand-visual{
  min-height:500px;
  position:relative;
  overflow:hidden;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#0a3344,#0b6870);
}
.brand-orbit{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.20)}
.orbit-a{width:520px;height:520px}
.orbit-b{width:370px;height:370px;border-color:rgba(231,182,64,.48)}
.brand-core{
  position:relative;
  z-index:2;
  width:280px;height:280px;border-radius:50%;
  background:rgba(6,24,39,.82);
  border:1px solid rgba(255,255,255,.15);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:#fff;box-shadow:0 24px 60px rgba(0,0,0,.24)
}
.brand-core span{letter-spacing:.22em;font-size:.82rem;margin:7px 0}.brand-core small{color:#f3cc69;margin-top:14px;text-transform:uppercase;letter-spacing:.14em}

/* Keep all hero copy independent from visual area and prevent collisions */
.service-hero,.industry-hero,.about-hero{overflow:hidden}
.service-copy,.industry-hero>div:first-child,.about-hero>div:first-child{min-width:0}
.service-copy h1,.industry-hero h1,.about-hero h1{overflow-wrap:break-word}
@media(max-width:1100px){
  .service-dashboard,.sector-visual,.about-brand-visual{min-height:360px}
}
@media(max-width:760px){
  .service-dashboard{padding:24px;min-height:420px}
  .dash-grid{grid-template-columns:1fr}
  .metric.chart{grid-column:auto}
  .sector-visual{padding:24px;grid-template-columns:1fr 1fr;min-height:420px}
  .sector-tile{min-height:135px;padding:20px}
  .about-brand-visual{min-height:380px}
}
