/*
Theme Name: NVD Info
Theme URI: https://info.nvdholding.com
Author: NVD Holding
Description: Editorial one-page theme for NVD Holding — bold typography, dot-matrix hero, structured service index.
Version: 1.0
License: GNU General Public License v2 or later
Text Domain: nvdinfo
*/

:root{
  --red:#D53030;
  --coral:#F0565E;
  --ink:#16171B;
  --muted:#6B7280;
  --line:rgba(255,255,255,.14);
  --line-dark:rgba(20,23,27,.12);
  --bg:#FFFFFF;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 28px;}

/* ---------- header ---------- */
.nvd-head{
  position:fixed;top:0;left:0;right:0;z-index:900;
  background:rgba(22,23,27,.86);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  transition:background .3s ease;
}
.nvd-head .inner{display:flex;align-items:center;justify-content:space-between;height:74px;}
.brand{display:flex;align-items:center;gap:11px;color:#fff;font-weight:800;letter-spacing:.14em;font-size:14px;text-transform:uppercase;}
.brand .mark{width:30px;height:30px;border-radius:7px;background:var(--red);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;}
.nav{display:flex;align-items:center;gap:32px;}
.nav a{color:rgba(255,255,255,.74);font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;transition:color .2s;}
.nav a:hover{color:#fff;}
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:14px 26px;border-radius:40px;transition:transform .25s cubic-bezier(.2,.7,.3,1),box-shadow .25s,background .25s;}
.btn-red{background:var(--red);color:#fff;box-shadow:0 12px 28px -12px rgba(213,48,48,.7);}
.btn-red:hover{transform:translateY(-2px);box-shadow:0 18px 38px -14px rgba(213,48,48,.85);}
.btn-ghost{border:1px solid rgba(255,255,255,.32);color:#fff;}
.btn-ghost:hover{background:#fff;color:var(--ink);}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px;}
.burger span{width:24px;height:2px;background:#fff;display:block;transition:.3s;}

/* ---------- hero ---------- */
.hero{
  position:relative;min-height:100vh;display:flex;align-items:center;
  background:var(--ink);color:#fff;overflow:hidden;padding:140px 0 90px;
}
.hero:before{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(rgba(255,255,255,.19) 1.15px,transparent 1.15px);
  background-size:22px 22px;opacity:.5;
}
.hero:after{
  content:'';position:absolute;width:900px;height:900px;right:-260px;top:-320px;border-radius:50%;
  background:radial-gradient(circle,rgba(213,48,48,.5) 0%,rgba(213,48,48,0) 66%);
  filter:blur(30px);animation:drift 15s ease-in-out infinite alternate;
}
@keyframes drift{from{transform:translate(0,0) scale(1);}to{transform:translate(-90px,70px) scale(1.14);}}
.hero .wrap{position:relative;z-index:2;}
.eyebrow{display:inline-flex;align-items:center;gap:11px;font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--coral);margin-bottom:30px;}
.eyebrow:before{content:'';width:34px;height:1px;background:var(--coral);}
.hero h1{
  font-family:'Poppins',sans-serif;font-weight:900;
  font-size:clamp(40px,6.6vw,88px);line-height:1.02;letter-spacing:-.025em;
  text-transform:uppercase;margin:0 0 30px;max-width:16ch;
}
.hero h1 em{font-style:normal;color:var(--coral);}
.hero p.lede{font-size:clamp(15px,1.55vw,20px);line-height:1.65;color:rgba(255,255,255,.72);max-width:60ch;margin:0 0 44px;}
.cta-row{display:flex;gap:15px;flex-wrap:wrap;}
.scroll-hint{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.4);z-index:2;}

/* ---------- marquee ---------- */
.marquee{background:var(--red);color:#fff;padding:19px 0;overflow:hidden;white-space:nowrap;}
.marquee-track{display:inline-flex;gap:52px;animation:slide 34s linear infinite;}
.marquee-track span{font-family:'Poppins',sans-serif;font-weight:800;font-size:13px;letter-spacing:.2em;text-transform:uppercase;display:inline-flex;align-items:center;gap:52px;}
.marquee-track span:after{content:'';width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.6);}
@keyframes slide{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- sections ---------- */
section{padding:118px 0;}
.sec-head{max-width:70ch;margin-bottom:64px;}
.sec-head .eyebrow{color:var(--red);}
.sec-head .eyebrow:before{background:var(--red);}
h2{font-family:'Poppins',sans-serif;font-weight:900;font-size:clamp(30px,4.1vw,58px);line-height:1.06;letter-spacing:-.02em;text-transform:uppercase;margin:0 0 24px;}
h2 em{font-style:normal;color:var(--red);}
.sec-head p{font-size:17px;line-height:1.75;color:var(--muted);margin:0;}

/* approach cards */
.approach{background:#F6F7F9;}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:26px;}
.card{
  background:#fff;border:1px solid var(--line-dark);border-radius:20px;padding:42px 36px;
  box-shadow:0 2px 8px rgba(20,20,20,.04),0 20px 46px -22px rgba(20,20,20,.14);
  transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s;
}
.card:hover{transform:translateY(-7px);box-shadow:0 14px 30px -10px rgba(213,48,48,.16),0 36px 66px -26px rgba(20,20,20,.3);}
.card .num{font-family:'Poppins',sans-serif;font-weight:900;font-size:13px;color:var(--red);letter-spacing:.16em;margin-bottom:20px;}
.card h3{font-family:'Poppins',sans-serif;font-weight:800;font-size:21px;text-transform:uppercase;letter-spacing:-.01em;margin:0 0 15px;}
.card p{font-size:15px;line-height:1.75;color:var(--muted);margin:0;}

/* service index */
.index-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;}
.index-col h4{font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin:0 0 26px;padding-bottom:16px;border-bottom:1px solid var(--line-dark);}
.index-col ul{list-style:none;margin:0;padding:0;}
.index-col li{border-bottom:1px solid var(--line-dark);}
.index-col li a{
  display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 0;
  font-family:'Poppins',sans-serif;font-weight:700;font-size:clamp(16px,1.75vw,23px);
  text-transform:uppercase;letter-spacing:-.01em;transition:color .25s,padding-left .25s;
}
.index-col li a:hover{color:var(--red);padding-left:12px;}
.index-col li a .arw{color:var(--red);opacity:0;transform:translateX(-8px);transition:.25s;font-size:17px;}
.index-col li a:hover .arw{opacity:1;transform:translateX(0);}

/* detail blocks */
.detail{border-top:1px solid var(--line-dark);padding:74px 0;display:grid;grid-template-columns:88px 1fr 1fr;gap:44px;align-items:start;}
.detail .idx{font-family:'Poppins',sans-serif;font-weight:900;font-size:15px;color:var(--red);letter-spacing:.1em;padding-top:8px;}
.detail h3{font-family:'Poppins',sans-serif;font-weight:900;font-size:clamp(23px,2.9vw,38px);line-height:1.1;text-transform:uppercase;letter-spacing:-.02em;margin:0 0 14px;}
.detail .tag{font-family:'Poppins',sans-serif;font-size:17px;font-weight:600;color:var(--red);margin:0;}
.detail p.body{font-size:15.5px;line-height:1.8;color:var(--muted);margin:0 0 22px;}
.detail .lnk{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);border-bottom:2px solid var(--red);padding-bottom:5px;transition:gap .25s;}
.detail .lnk:hover{gap:16px;}

/* cta band */
.cta-band{background:var(--ink);color:#fff;position:relative;overflow:hidden;text-align:center;}
.cta-band:before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.15) 1.1px,transparent 1.1px);background-size:22px 22px;opacity:.45;}
.cta-band .wrap{position:relative;z-index:2;}
.cta-band h2{margin-bottom:20px;}
.cta-band p{font-size:17.5px;line-height:1.7;color:rgba(255,255,255,.68);max-width:56ch;margin:0 auto 40px;}
.cta-band .cta-row{justify-content:center;}

/* footer */
footer{background:#0F1013;color:rgba(255,255,255,.62);padding:82px 0 34px;font-size:14px;}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:48px;padding-bottom:52px;border-bottom:1px solid var(--line);}
footer h5{font-size:10.5px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:#fff;margin:0 0 22px;}
footer ul{list-style:none;margin:0;padding:0;}
footer li{margin-bottom:13px;}
footer a:hover{color:var(--coral);}
footer .about{font-size:14.5px;line-height:1.8;max-width:40ch;margin:20px 0 0;}
.f-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:26px;font-size:12px;color:rgba(255,255,255,.42);}

/* reveal */
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1);}
.js .rv.in{opacity:1;transform:none;}

@media(max-width:980px){
  .index-grid{grid-template-columns:1fr;gap:46px;}
  .detail{grid-template-columns:1fr;gap:18px;padding:52px 0;}
  .f-grid{grid-template-columns:1fr 1fr;gap:36px;}
}
@media(max-width:760px){
  .nav{
    position:fixed;inset:74px 0 auto 0;background:rgba(22,23,27,.98);
    flex-direction:column;align-items:flex-start;gap:0;padding:14px 28px 26px;
    border-bottom:1px solid var(--line);display:none;
  }
  .nav.open{display:flex;}
  .nav a{padding:15px 0;width:100%;border-bottom:1px solid var(--line);font-size:13px;}
  .nav .btn{margin-top:16px;}
  .burger{display:flex;}
  section{padding:78px 0;}
  .hero{min-height:auto;padding:126px 0 78px;}
  .f-grid{grid-template-columns:1fr;}
  .wrap{padding:0 20px;}
}
@media(prefers-reduced-motion:reduce){
  .hero:after,.marquee-track{animation:none;}
  .rv{opacity:1;transform:none;transition:none;}
}

/* ABOUT-LAYOUT */
.hero-sub{min-height:62vh;padding:152px 0 96px;}
.hero-sub h1{max-width:14ch;}
.split{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;align-items:start;}
.split-l h2{margin-bottom:0;}
.lead-p{font-size:17.5px;line-height:1.85;color:var(--muted);margin:0 0 24px;}
.lead-p:last-child{margin-bottom:0;}
.cards.two{grid-template-columns:1fr 1fr;}
.cards.two .num{font-size:11px;letter-spacing:.22em;text-transform:uppercase;}
.cta-band p{margin-bottom:20px;}
.cta-band .cta-row{margin-top:34px;}
@media(max-width:980px){
  .split{grid-template-columns:1fr;gap:28px;}
  .cards.two{grid-template-columns:1fr;}
  .hero-sub{min-height:auto;padding:126px 0 74px;}
}

/* ===== ABOUT-V2 : light editorial, asymmetric, image-led ===== */
.ab-hero{background:#fff;padding:170px 0 96px;position:relative;overflow:hidden;}
.ab-hero:before{content:'';position:absolute;top:0;right:0;width:44%;height:100%;background:#F6F7F9;z-index:0;}
.ab-hero .wrap{position:relative;z-index:2;}
.ab-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:66px;align-items:center;}
.ab-kicker{display:inline-flex;align-items:center;gap:11px;font-size:11px;font-weight:800;letter-spacing:.26em;text-transform:uppercase;color:var(--red);margin-bottom:26px;}
.ab-kicker:before{content:'';width:36px;height:2px;background:var(--red);}
.ab-hero h1{font-family:'Poppins',sans-serif;font-weight:900;font-size:clamp(38px,5.4vw,74px);line-height:1.03;letter-spacing:-.028em;text-transform:uppercase;margin:0 0 26px;color:var(--ink);}
.ab-hero h1 em{font-style:normal;color:var(--red);}
.ab-hero .lead{font-size:clamp(16px,1.5vw,19.5px);line-height:1.78;color:var(--muted);max-width:52ch;margin:0 0 34px;}
.ab-media{position:relative;}
.ab-media .shot{border-radius:18px;overflow:hidden;box-shadow:0 30px 70px -28px rgba(20,20,20,.42);}
.ab-media .shot img{width:100%;height:clamp(360px,52vw,560px);object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.3,1);}
.ab-media:hover .shot img{transform:scale(1.05);}
.ab-badge{position:absolute;left:-30px;bottom:-30px;background:var(--red);color:#fff;border-radius:16px;padding:26px 30px;box-shadow:0 22px 48px -18px rgba(213,48,48,.6);max-width:230px;}
.ab-badge b{display:block;font-family:'Poppins',sans-serif;font-weight:900;font-size:38px;line-height:1;}
.ab-badge span{display:block;font-size:12px;letter-spacing:.13em;text-transform:uppercase;margin-top:9px;opacity:.92;}

/* image reveal + parallax */
.js .img-mask{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s cubic-bezier(.2,.7,.3,1);}
.js .img-mask.in{clip-path:inset(0 0 0 0);}
.px{will-change:transform;}

/* stats */
.stats{background:var(--ink);color:#fff;padding:64px 0;}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;text-align:center;}
.stat .n{font-family:'Poppins',sans-serif;font-weight:900;font-size:clamp(38px,5vw,64px);line-height:1;color:var(--coral);letter-spacing:-.03em;}
.stat .l{font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-top:14px;}

/* sticky narrative */
.sticky-sec{padding:118px 0;}
.sticky-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:76px;align-items:start;}
.sticky-l{position:sticky;top:118px;}
.sticky-l h2{font-family:'Poppins',sans-serif;font-weight:900;font-size:clamp(28px,3.7vw,50px);line-height:1.07;letter-spacing:-.022em;text-transform:uppercase;margin:0;}
.sticky-l h2 em{font-style:normal;color:var(--red);}
.story p{font-size:17px;line-height:1.87;color:var(--muted);margin:0 0 26px;}
.story .shot{border-radius:16px;overflow:hidden;margin:38px 0 0;box-shadow:0 24px 54px -26px rgba(20,20,20,.36);}
.story .shot img{width:100%;height:340px;object-fit:cover;}

/* full-bleed statement band */
.band{position:relative;padding:150px 0;overflow:hidden;color:#fff;text-align:center;}
.band .bg{position:absolute;inset:-12% 0;z-index:0;}
.band .bg img{width:100%;height:124%;object-fit:cover;}
.band:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,23,27,.82),rgba(213,48,48,.6));z-index:1;}
.band .wrap{position:relative;z-index:2;}
.band p{font-family:'Poppins',sans-serif;font-weight:800;font-size:clamp(22px,3.1vw,42px);line-height:1.28;letter-spacing:-.02em;max-width:22ch;margin:0 auto;}

/* feature rows */
.feature{padding:112px 0;}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.feature.alt .feature-grid{direction:rtl;}
.feature.alt .feature-grid>*{direction:ltr;}
.frame{position:relative;}
.frame:before{content:'';position:absolute;inset:22px -22px -22px 22px;border:2px solid var(--red);border-radius:18px;z-index:0;}
.frame .shot{position:relative;z-index:1;border-radius:18px;overflow:hidden;box-shadow:0 26px 58px -26px rgba(20,20,20,.4);}
.frame .shot img{width:100%;height:clamp(320px,40vw,440px);object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.3,1);}
.frame:hover .shot img{transform:scale(1.06);}
.feature h3{font-family:'Poppins',sans-serif;font-weight:900;font-size:clamp(26px,3.3vw,44px);line-height:1.08;letter-spacing:-.022em;text-transform:uppercase;margin:0 0 22px;}
.feature h3 em{font-style:normal;color:var(--red);}
.feature p{font-size:16.5px;line-height:1.85;color:var(--muted);margin:0 0 22px;}

/* mission / vision */
.mv{padding:0 0 118px;}
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.mv-card{position:relative;border-radius:20px;overflow:hidden;min-height:400px;display:flex;align-items:flex-end;padding:44px;color:#fff;}
.mv-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform 1.1s cubic-bezier(.2,.7,.3,1);}
.mv-card:hover img{transform:scale(1.07);}
.mv-card .ov{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(22,23,27,.25),rgba(22,23,27,.9));}
.mv-card .txt{position:relative;z-index:2;}
.mv-card h4{font-family:'Poppins',sans-serif;font-weight:900;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--coral);margin:0 0 15px;}
.mv-card p{font-size:16px;line-height:1.78;margin:0;color:rgba(255,255,255,.92);}

@media(max-width:980px){
  .ab-hero:before{display:none;}
  .ab-grid,.sticky-grid,.feature-grid,.mv-grid,.stats-grid{grid-template-columns:1fr;gap:40px;}
  .feature.alt .feature-grid{direction:ltr;}
  .sticky-l{position:static;}
  .ab-badge{left:auto;right:16px;bottom:-22px;padding:20px 22px;}
  .frame:before{inset:16px -14px -16px 16px;}
  .ab-hero{padding:126px 0 74px;}
  .sticky-sec,.feature{padding:74px 0;}
  .band{padding:100px 0;}
}

/* ===== CAPABILITY MOSAIC ===== */
.mosaic-sec{padding:0 0 118px;}
.mosaic-head{max-width:60ch;margin-bottom:56px;}
.mosaic-head h2{font-family:'Poppins',sans-serif;font-weight:900;font-size:clamp(28px,3.7vw,50px);line-height:1.07;letter-spacing:-.022em;text-transform:uppercase;margin:0 0 18px;}
.mosaic-head h2 em{font-style:normal;color:var(--red);}
.mosaic-head p{font-size:17px;line-height:1.78;color:var(--muted);margin:0;}
.mosaic{display:grid;grid-template-columns:repeat(12,1fr);gap:22px;}
.tile{position:relative;border-radius:18px;overflow:hidden;box-shadow:0 20px 48px -24px rgba(20,20,20,.36);}
.tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.15s cubic-bezier(.2,.7,.3,1);}
.tile:hover img{transform:scale(1.07);}
.tile:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,23,27,0) 42%,rgba(22,23,27,.86) 100%);z-index:1;}
.tile .cap{position:absolute;left:26px;right:26px;bottom:22px;z-index:2;color:#fff;}
.tile .cap b{display:block;font-family:'Poppins',sans-serif;font-weight:800;font-size:clamp(15px,1.5vw,20px);text-transform:uppercase;letter-spacing:-.01em;}
.tile .cap span{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);margin-bottom:8px;}
.tile.t1{grid-column:span 7;height:clamp(280px,34vw,400px);}
.tile.t2{grid-column:span 5;height:clamp(280px,34vw,400px);}
.tile.t3{grid-column:span 5;height:clamp(260px,30vw,360px);}
.tile.t4{grid-column:span 7;height:clamp(260px,30vw,360px);}
@media(max-width:860px){
  .mosaic{grid-template-columns:1fr;gap:18px;}
  .tile.t1,.tile.t2,.tile.t3,.tile.t4{grid-column:span 1;height:250px;}
  .mosaic-sec{padding:0 0 74px;}
}

/* ===== HOME-IMAGERY + ANIM-V2 ===== */

/* shared image treatments */
.gs{filter:grayscale(100%) contrast(1.04);transition:filter .9s cubic-bezier(.2,.7,.3,1),transform 1.15s cubic-bezier(.2,.7,.3,1);}
.js .img-mask.in .gs,.js .card:hover .gs,.js .d-shot:hover .gs{filter:grayscale(0%);}
.kb{animation:kenburns 22s ease-in-out infinite alternate;}
@keyframes kenburns{from{transform:scale(1);}to{transform:scale(1.12);}}
.js .rv{transition-delay:var(--d,0ms);}

/* hero split + floating cluster */
.hero-split{min-height:auto;padding:150px 0 96px;}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:60px;align-items:center;}
.hero-split h1{max-width:14ch;}
.hero-split .lede{margin-bottom:38px;}
.hero-cluster{position:relative;height:clamp(400px,44vw,530px);}
.cl{position:absolute;border-radius:18px;overflow:hidden;box-shadow:0 34px 70px -26px rgba(0,0,0,.72);will-change:transform;}
.cl img{width:100%;height:100%;object-fit:cover;display:block;}
.cl-1{width:74%;height:70%;top:0;right:0;transform:rotate(-2deg);}
.cl-2{width:56%;height:52%;left:0;bottom:4%;transform:rotate(3deg);border:5px solid rgba(255,255,255,.1);}
.cl-stat{position:absolute;right:2%;bottom:-14px;background:var(--red);color:#fff;border-radius:16px;padding:20px 24px;box-shadow:0 24px 50px -18px rgba(213,48,48,.75);z-index:4;will-change:transform;}
.cl-stat b{display:block;font-family:'Poppins',sans-serif;font-weight:900;font-size:32px;line-height:1;}
.cl-stat span{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-top:7px;opacity:.94;max-width:130px;}

/* approach cards with imagery */
.card.has-img{padding:0;overflow:hidden;}
.card-img{height:186px;overflow:hidden;}
.card-img img{width:100%;height:100%;object-fit:cover;}
.card.has-img:hover .card-img img{transform:scale(1.07);}
.card.has-img .num{margin:28px 32px 14px;}
.card.has-img h3{margin:0 32px 13px;}
.card.has-img p{margin:0 32px 34px;}

/* parallax statement band */
.pband{position:relative;padding:150px 0;overflow:hidden;color:#fff;text-align:center;}
.pbg{position:absolute;inset:-14% 0;z-index:0;}
.pbg img{width:100%;height:128%;object-fit:cover;}
.pband:after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(22,23,27,.86),rgba(213,48,48,.62));}
.pband .wrap{position:relative;z-index:2;}
.pband p{font-family:'Poppins',sans-serif;font-weight:800;font-size:clamp(22px,3.1vw,42px);line-height:1.3;letter-spacing:-.02em;max-width:24ch;margin:0 auto;}

/* service detail rows with imagery */
.drow{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:72px 0;border-top:1px solid var(--line-dark);}
.drow.alt{direction:rtl;}
.drow.alt>*{direction:ltr;}
.d-media{position:relative;}
.d-shot{border-radius:18px;overflow:hidden;box-shadow:0 26px 58px -26px rgba(20,20,20,.42);}
.d-shot img{width:100%;height:clamp(260px,30vw,360px);object-fit:cover;display:block;}
.d-num{position:absolute;top:-16px;left:-14px;background:var(--red);color:#fff;font-family:'Poppins',sans-serif;font-weight:900;font-size:15px;letter-spacing:.06em;padding:12px 17px;border-radius:11px;box-shadow:0 16px 32px -14px rgba(213,48,48,.7);z-index:2;}
.drow.alt .d-num{left:auto;right:-14px;}
.d-text h3{font-family:'Poppins',sans-serif;font-weight:900;font-size:clamp(24px,3vw,40px);line-height:1.08;letter-spacing:-.022em;text-transform:uppercase;margin:0 0 12px;}
.d-text .tag{font-family:'Poppins',sans-serif;font-size:17px;font-weight:600;color:var(--red);margin:0 0 18px;}
.d-text .body{font-size:16px;line-height:1.85;color:var(--muted);margin:0 0 24px;}

@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:52px;}
  .hero-cluster{height:340px;}
  .cl-1{width:80%;height:74%;}
  .cl-2{width:56%;height:52%;}
  .drow,.drow.alt{grid-template-columns:1fr;gap:28px;direction:ltr;padding:52px 0;}
  .d-num{top:-12px;left:-8px;}
  .drow.alt .d-num{right:auto;left:-8px;}
  .hero-split{padding:124px 0 76px;}
  .pband{padding:100px 0;}
}
@media(prefers-reduced-motion:reduce){
  .kb{animation:none;}
  .gs{filter:none;}
}

/* ===== SERVICES-V1 : red hero + sticky rail + detail panels ===== */
.sv-hero{position:relative;background:var(--red);color:#fff;padding:168px 0 104px;overflow:hidden;}
.sv-hero:before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.28) 1.3px,transparent 1.3px);background-size:22px 22px;opacity:.55;}
.sv-hero:after{content:'';position:absolute;width:760px;height:760px;right:-220px;bottom:-380px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22) 0%,rgba(255,255,255,0) 68%);}
.sv-hero .wrap{position:relative;z-index:2;}
.sv-hero .ab-kicker{color:rgba(255,255,255,.9);}
.sv-hero .ab-kicker:before{background:rgba(255,255,255,.9);}
.sv-hero h1{font-family:'Poppins',sans-serif;font-weight:900;font-size:clamp(38px,5.6vw,76px);line-height:1.03;letter-spacing:-.028em;text-transform:uppercase;margin:0 0 26px;max-width:15ch;}
.sv-hero p{font-size:clamp(16px,1.5vw,19.5px);line-height:1.78;color:rgba(255,255,255,.9);max-width:62ch;margin:0;}

/* wide cinematic strip under the hero */
.sv-strip{margin-top:-56px;position:relative;z-index:5;}
.sv-strip .shot{border-radius:20px;overflow:hidden;box-shadow:0 34px 74px -30px rgba(20,20,20,.5);}
.sv-strip img{width:100%;height:clamp(220px,26vw,340px);object-fit:cover;display:block;}

/* numbered index */
.sv-index{padding:104px 0 24px;}
.sv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.sv-item{display:block;border:1px solid var(--line-dark);border-radius:16px;padding:30px 28px;transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s,border-color .3s;background:#fff;}
.sv-item:hover{transform:translateY(-6px);border-color:rgba(213,48,48,.4);box-shadow:0 22px 48px -24px rgba(20,20,20,.3);}
.sv-item .n{font-family:'Poppins',sans-serif;font-weight:900;font-size:12px;letter-spacing:.18em;color:var(--red);}
.sv-item h3{font-family:'Poppins',sans-serif;font-weight:800;font-size:19px;text-transform:uppercase;letter-spacing:-.01em;margin:14px 0 10px;}
.sv-item p{font-size:14.5px;line-height:1.7;color:var(--muted);margin:0;}

/* sticky rail + panels */
.sv-main{padding:70px 0 118px;}
.sv-cols{display:grid;grid-template-columns:250px 1fr;gap:70px;align-items:start;}
.sv-rail{position:sticky;top:118px;}
.sv-rail h4{font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--red);margin:0 0 20px;padding-bottom:14px;border-bottom:1px solid var(--line-dark);}
.sv-rail ol{list-style:none;margin:0;padding:0;counter-reset:r;}
.sv-rail li{counter-increment:r;}
.sv-rail a{display:flex;gap:12px;padding:11px 0;font-family:'Poppins',sans-serif;font-weight:600;font-size:14.5px;color:var(--muted);transition:color .25s,padding-left .25s;}
.sv-rail a:before{content:'0' counter(r);font-weight:800;font-size:11px;color:var(--red);padding-top:3px;}
.sv-rail a:hover,.sv-rail a.on{color:var(--ink);padding-left:6px;}
.sv-rail a.on{font-weight:800;}

.sv-panel{padding-bottom:88px;}
.sv-panel .shot{border-radius:18px;overflow:hidden;margin-bottom:32px;box-shadow:0 26px 58px -28px rgba(20,20,20,.42);}
.sv-panel .shot img{width:100%;height:clamp(240px,28vw,330px);object-fit:cover;display:block;transition:transform 1.1s cubic-bezier(.2,.7,.3,1);}
.sv-panel .shot:hover img{transform:scale(1.05);}
.sv-panel .idx{font-family:'Poppins',sans-serif;font-weight:900;font-size:12px;letter-spacing:.2em;color:var(--red);margin-bottom:12px;}
.sv-panel h2{font-family:'Poppins',sans-serif;font-weight:900;font-size:clamp(26px,3.4vw,44px);line-height:1.08;letter-spacing:-.022em;text-transform:uppercase;margin:0 0 20px;}
.sv-panel p{font-size:16px;line-height:1.87;color:var(--muted);margin:0 0 20px;}
.sv-panel p:last-of-type{margin-bottom:24px;}

@media(max-width:980px){
  .sv-grid{grid-template-columns:1fr;}
  .sv-cols{grid-template-columns:1fr;gap:34px;}
  .sv-rail{position:static;}
  .sv-hero{padding:126px 0 84px;}
  .sv-index{padding:70px 0 16px;}
  .sv-main{padding:46px 0 74px;}
  .sv-panel{padding-bottom:60px;}
  .sv-strip{margin-top:-36px;}
}

/* ===== PRIVATE-ACQ-V1 : full-dark, restrained, private-client ===== */
.pa-page{background:#0F1013;color:rgba(255,255,255,.78);}
.pa-page section{padding:110px 0;}
.pa-kick{display:inline-flex;align-items:center;gap:12px;font-size:10.5px;font-weight:800;letter-spacing:.3em;text-transform:uppercase;color:var(--coral);margin-bottom:26px;}
.pa-kick:before{content:'';width:30px;height:1px;background:var(--coral);}
.pa-page h2{font-family:'Poppins',sans-serif;font-weight:800;font-size:clamp(25px,3.2vw,42px);line-height:1.14;letter-spacing:-.018em;color:#fff;margin:0 0 26px;}
.pa-page p{font-size:16.5px;line-height:1.9;margin:0 0 22px;}
.pa-page p:last-child{margin-bottom:0;}

/* hero */
.pa-hero{position:relative;text-align:center;padding:180px 0 96px !important;overflow:hidden;}
.pa-hero:before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.13) 1.1px,transparent 1.1px);background-size:26px 26px;opacity:.5;}
.pa-hero:after{content:'';position:absolute;width:820px;height:820px;left:50%;top:-500px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(213,48,48,.4) 0%,rgba(213,48,48,0) 68%);filter:blur(24px);}
.pa-hero .wrap{position:relative;z-index:2;}
.pa-hero .pa-kick{justify-content:center;}
.pa-hero h1{font-family:'Poppins',sans-serif;font-weight:800;font-size:clamp(32px,4.9vw,64px);line-height:1.08;letter-spacing:-.024em;color:#fff;margin:0 auto 22px;max-width:20ch;}
.pa-rule{width:64px;height:2px;background:var(--red);margin:32px auto;}
.pa-hero .sub{font-size:clamp(15px,1.5vw,19px);letter-spacing:.02em;color:rgba(255,255,255,.66);max-width:46ch;margin:0 auto;}

/* wide strip */
.pa-strip .shot{border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.1);}
.pa-strip img{width:100%;height:clamp(220px,26vw,330px);object-fit:cover;display:block;filter:grayscale(100%) contrast(1.06);transition:filter 1s ease;}
.pa-strip .shot:hover img{filter:grayscale(0%);}

/* two-column blocks */
.pa-split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.pa-split.rev{direction:rtl;}
.pa-split.rev>*{direction:ltr;}
.pa-shot{border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.1);}
.pa-shot img{width:100%;height:clamp(300px,34vw,420px);object-fit:cover;display:block;filter:grayscale(100%) contrast(1.06);transition:filter 1s ease,transform 1.15s cubic-bezier(.2,.7,.3,1);}
.pa-shot:hover img{filter:grayscale(0%);transform:scale(1.04);}

/* refined list — thin rules, no icons */
.pa-list{list-style:none;margin:34px 0 0;padding:0;border-top:1px solid rgba(255,255,255,.12);}
.pa-list li{border-bottom:1px solid rgba(255,255,255,.12);}
.pa-list span{display:flex;align-items:baseline;gap:18px;padding:17px 0;font-family:'Poppins',sans-serif;font-weight:500;font-size:clamp(15px,1.5vw,18px);color:rgba(255,255,255,.9);transition:padding-left .3s cubic-bezier(.2,.7,.3,1),color .3s;}
.pa-list li:hover span{padding-left:12px;color:#fff;}
.pa-list .i{font-size:10.5px;font-weight:800;letter-spacing:.16em;color:var(--coral);flex:none;}

/* network grid */
.pa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px;}
.pa-cell{border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:24px 22px;font-family:'Poppins',sans-serif;font-weight:600;font-size:15px;color:rgba(255,255,255,.9);transition:border-color .3s,transform .3s cubic-bezier(.2,.7,.3,1),background .3s;}
.pa-cell:hover{border-color:rgba(240,86,94,.6);transform:translateY(-4px);background:rgba(255,255,255,.03);}

/* network band */
.pa-band{position:relative;overflow:hidden;padding:0 !important;}
.pa-band .bg{position:absolute;inset:-12% 0;z-index:0;}
.pa-band .bg img{width:100%;height:124%;object-fit:cover;filter:grayscale(100%);}
.pa-band:after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(15,16,19,.9),rgba(15,16,19,.78));}
.pa-band .inner{position:relative;z-index:2;padding:110px 0;}

/* closing */
.pa-close{background:#15161A;}
.pa-close .btn-red{margin-top:8px;}

@media(max-width:980px){
  .pa-split,.pa-split.rev{grid-template-columns:1fr;gap:34px;direction:ltr;}
  .pa-grid{grid-template-columns:1fr 1fr;}
  .pa-page section{padding:72px 0;}
  .pa-hero{padding:130px 0 76px !important;}
  .pa-band .inner{padding:76px 0;}
}
@media(max-width:600px){ .pa-grid{grid-template-columns:1fr;} }
@media(prefers-reduced-motion:reduce){
  .pa-strip img,.pa-shot img,.pa-band .bg img{filter:none;}
}

/* ===== CONTACT-V1 : split panel, dark left / form right ===== */
.ct-split{display:grid;grid-template-columns:.92fr 1.08fr;min-height:100vh;}
.ct-left{background:var(--ink);color:#fff;padding:150px 56px 90px;position:relative;overflow:hidden;}
.ct-left:before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.14) 1.1px,transparent 1.1px);background-size:24px 24px;opacity:.5;}
.ct-left:after{content:'';position:absolute;width:640px;height:640px;left:-260px;bottom:-380px;border-radius:50%;background:radial-gradient(circle,rgba(213,48,48,.5) 0%,rgba(213,48,48,0) 68%);filter:blur(20px);}
.ct-left-inner{position:relative;z-index:2;max-width:460px;margin-left:auto;}
.ct-left h1{font-family:'Poppins',sans-serif;font-weight:900;font-size:clamp(32px,3.9vw,54px);line-height:1.06;letter-spacing:-.024em;text-transform:uppercase;margin:0 0 22px;}
.ct-left h1 em{font-style:normal;color:var(--coral);}
.ct-left .intro{font-size:16.5px;line-height:1.85;color:rgba(255,255,255,.72);margin:0 0 44px;}
.ct-meta{border-top:1px solid rgba(255,255,255,.14);}
.ct-meta div{border-bottom:1px solid rgba(255,255,255,.14);padding:20px 0;}
.ct-meta dt{font-size:10.5px;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:var(--coral);margin-bottom:8px;}
.ct-meta dd{margin:0;font-family:'Poppins',sans-serif;font-weight:600;font-size:17px;color:#fff;}
.ct-meta dd a:hover{color:var(--coral);}

.ct-right{background:#fff;padding:150px 56px 90px;}
.ct-right-inner{max-width:560px;}
.ct-right h2{font-family:'Poppins',sans-serif;font-weight:900;font-size:clamp(22px,2.4vw,32px);text-transform:uppercase;letter-spacing:-.018em;margin:0 0 10px;}
.ct-right .hint{font-size:15px;line-height:1.7;color:var(--muted);margin:0 0 34px;}

.ct-field{margin-bottom:26px;}
.ct-field label{display:block;font-size:10.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:9px;}
.ct-field label .req{color:var(--red);}
.ct-field input,.ct-field select,.ct-field textarea{
  width:100%;background:transparent;border:none;border-bottom:2px solid rgba(20,23,27,.16);
  border-radius:0;font-family:'Poppins',sans-serif;font-size:17px;font-weight:500;color:var(--ink);
  padding:12px 2px;transition:border-color .25s;-webkit-appearance:none;appearance:none;
}
.ct-field select{background-image:linear-gradient(45deg,transparent 50%,var(--red) 50%),linear-gradient(135deg,var(--red) 50%,transparent 50%);background-position:calc(100% - 14px) 20px,calc(100% - 8px) 20px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:30px;}
.ct-field textarea{min-height:130px;resize:vertical;line-height:1.7;}
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{outline:none;border-bottom-color:var(--red);}
.ct-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.ct-submit{font-family:'Poppins',sans-serif;font-weight:800;font-size:12px;letter-spacing:.14em;text-transform:uppercase;background:var(--red);color:#fff;border:none;border-radius:44px;padding:18px 44px;cursor:pointer;transition:transform .25s cubic-bezier(.2,.7,.3,1),box-shadow .25s;box-shadow:0 14px 32px -14px rgba(213,48,48,.7);}
.ct-submit:hover{transform:translateY(-2px);box-shadow:0 20px 40px -16px rgba(213,48,48,.8);}

.ct-note{margin:26px 0 0;font-size:13.5px;line-height:1.7;color:var(--muted);}
.ct-alert{border-radius:12px;padding:18px 20px;font-size:15px;line-height:1.65;margin-bottom:30px;}
.ct-alert.ok{background:#EDF7EE;border:1px solid #BEE0C2;color:#1E5B27;}
.ct-alert.err{background:var(--nvd-red-tint,#FDEBEC);background:#FDEBEC;border:1px solid #F3C3C6;color:#8E2226;}

/* routing cards */
.ct-routes{padding:110px 0;background:#F6F7F9;}
.ct-routes .cards{grid-template-columns:repeat(3,1fr);}

/* FAQ — native details/summary, works with JS disabled */
.ct-faq{padding:0 0 118px;}
.ct-faq .sec-head{margin-bottom:44px;}
.ct-acc{border-top:1px solid var(--line-dark);}
.ct-acc details{border-bottom:1px solid var(--line-dark);}
.ct-acc summary{
  list-style:none;cursor:pointer;padding:24px 44px 24px 0;position:relative;
  font-family:'Poppins',sans-serif;font-weight:700;font-size:clamp(16px,1.7vw,20px);
  color:var(--ink);transition:color .25s;
}
.ct-acc summary::-webkit-details-marker{display:none;}
.ct-acc summary:hover{color:var(--red);}
.ct-acc summary:after{content:'';position:absolute;right:6px;top:50%;width:11px;height:11px;border-right:2px solid var(--red);border-bottom:2px solid var(--red);transform:translateY(-70%) rotate(45deg);transition:transform .3s;}
.ct-acc details[open] summary:after{transform:translateY(-30%) rotate(-135deg);}
.ct-acc .a{padding:0 44px 26px 0;font-size:16px;line-height:1.85;color:var(--muted);margin:0;}

@media(max-width:980px){
  .ct-split{grid-template-columns:1fr;min-height:0;}
  .ct-left{padding:126px 28px 66px;}
  .ct-left-inner{margin-left:0;max-width:none;}
  .ct-right{padding:60px 28px 76px;}
  .ct-right-inner{max-width:none;}
  .ct-routes{padding:74px 0;}
  .ct-routes .cards{grid-template-columns:1fr;}
  .ct-faq{padding:0 0 74px;}
}

/* BRAND-LOGO */
.brand .logo{width:34px;height:34px;object-fit:contain;display:block;flex:none;}
footer .brand .logo{width:32px;height:32px;}
.brand .mark{display:none;}

/* INDEX-PLAIN */
.index-col li .lbl{display:block;padding:19px 0;font-family:'Poppins',sans-serif;font-weight:700;font-size:clamp(16px,1.75vw,23px);text-transform:uppercase;letter-spacing:-.01em;color:var(--ink);cursor:default;}

/* SMALL-SCREEN-FIX: long single words (e.g. EXTRAORDINARY, REPRESENTATION)
   were wider than a 320px viewport and got clipped by overflow:hidden. */
h1,h2,h3,h4,.hero h1,.ab-hero h1,.sv-hero h1,.pa-hero h1,.ct-left h1{overflow-wrap:break-word;word-wrap:break-word;}
@media (max-width:430px){
  .hero h1{font-size:30px;letter-spacing:-.5px;}
  .ab-hero h1{font-size:30px;letter-spacing:-.5px;}
  .sv-hero h1{font-size:29px;letter-spacing:-.5px;}
  .pa-hero h1{font-size:26px;letter-spacing:-.3px;}
  .ct-left h1{font-size:28px;letter-spacing:-.5px;}
  .sv-panel h2,.feature h3,.d-text h3,.pa-page h2{font-size:24px;}
  .stat .n{font-size:34px;}
  .wrap{padding:0 18px;}
}

/* ===== INNER-PAGE : generic page / single / 404, plus Forminator restyle ===== */
.ip-hero{background:var(--ink);color:#fff;padding:168px 0 76px;position:relative;overflow:hidden;}
.ip-hero:before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.14) 1.1px,transparent 1.1px);background-size:24px 24px;opacity:.5;}
.ip-hero:after{content:'';position:absolute;width:760px;height:760px;right:-240px;top:-420px;border-radius:50%;background:radial-gradient(circle,rgba(213,48,48,.45) 0%,rgba(213,48,48,0) 68%);filter:blur(26px);}
.ip-hero .wrap{position:relative;z-index:2;}
.ip-hero h1{font-family:'Poppins',sans-serif;font-weight:900;font-size:clamp(28px,4.4vw,56px);line-height:1.07;letter-spacing:-.024em;text-transform:uppercase;margin:0;color:#fff;}

.ip-body{padding:84px 0 110px;}
.ip-content{max-width:860px;font-size:16.5px;line-height:1.9;color:var(--muted);}
.ip-content h2,.ip-content h3,.ip-content h4{font-family:'Poppins',sans-serif;color:var(--ink);line-height:1.2;margin:42px 0 16px;}
.ip-content h2{font-size:clamp(22px,2.6vw,32px);}
.ip-content h3{font-size:clamp(19px,2.1vw,25px);}
.ip-content p{margin:0 0 20px;}
.ip-content a{color:var(--red);text-decoration:underline;text-underline-offset:3px;}
.ip-content ul,.ip-content ol{margin:0 0 22px;padding-left:22px;}
.ip-content li{margin-bottom:10px;}
.ip-content img{border-radius:14px;margin:26px 0;}
.ip-thumb img{width:100%;border-radius:16px;}

/* Forminator inside the new design */
.pc-form{background:#fff;border-radius:20px;padding:40px 36px;box-shadow:0 2px 10px rgba(20,20,20,.05),0 26px 58px -26px rgba(20,20,20,.3);}
.pc-form .forminator-label{font-family:'Inter',sans-serif !important;font-size:11px !important;font-weight:800 !important;letter-spacing:.14em;text-transform:uppercase;color:var(--muted) !important;}
.pc-form input.forminator-input,
.pc-form textarea.forminator-textarea,
.pc-form select.forminator-select{
  background:transparent !important;border:none !important;
  border-bottom:2px solid rgba(22,23,27,.16) !important;border-radius:0 !important;
  font-family:'Poppins',sans-serif !important;font-size:17px !important;font-weight:500 !important;
  padding:13px 2px !important;color:var(--ink) !important;box-shadow:none !important;
}
.pc-form input.forminator-input:focus,
.pc-form textarea.forminator-textarea:focus{border-bottom-color:var(--red) !important;outline:none !important;box-shadow:none !important;}
.pc-form .forminator-row{margin-bottom:26px !important;}
.pc-form .forminator-button-submit{
  font-family:'Poppins',sans-serif !important;font-weight:800 !important;font-size:12px !important;
  letter-spacing:.14em;text-transform:uppercase;background:var(--red) !important;color:#fff !important;
  border:none !important;border-radius:40px !important;padding:17px 42px !important;
  box-shadow:0 14px 32px -12px rgba(213,48,48,.55);transition:transform .25s ease,box-shadow .25s ease;
}
.pc-form .forminator-button-submit:hover{transform:translateY(-2px);box-shadow:0 20px 42px -14px rgba(213,48,48,.7);}

@media(max-width:980px){
  .ip-hero{padding:124px 0 58px;}
  .ip-body{padding:58px 0 74px;}
  .pc-form{padding:30px 22px;}
}
