/* ============================================================
   Aegis Labs — styles.css  v2
   Kinsta × Squarespace: black/white/orange — NO green
   Font: Plus Jakarta Sans
   ============================================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
img,video{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button{cursor:pointer;border:none;background:none;font-family:inherit}
ul,ol{list-style:none}

:root{
  /* Core dark */
  --bg:    #0d0d0d;
  --bg2:   #141210;
  --bg3:   #1c1916;
  --bg4:   #252120;
  --bg5:   #2e2a26;

  /* Borders */
  --b:     rgba(255,255,255,0.07);
  --b2:    rgba(255,255,255,0.13);
  --b3:    rgba(255,255,255,0.20);

  /* Text */
  --t:     #ffffff;
  --t2:    rgba(255,255,255,0.58);
  --t3:    rgba(255,255,255,0.32);
  --t4:    rgba(255,255,255,0.16);

  /* Orange accent (Kinsta announcement / highlights) */
  --o:     #f97316;
  --o-h:   #fb923c;
  --o-sub: rgba(249,115,22,0.12);
  --o-b:   rgba(249,115,22,0.30);

  /* Cream (Kinsta pricing section) */
  --cream:  #f5f1ec;
  --cream2: #ffffff;
  --cb:     rgba(0,0,0,0.09);
  --cb2:    rgba(0,0,0,0.16);
  --ct:     #111010;
  --ct2:    rgba(17,16,16,0.52);

  /* Font */
  --font: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;

  /* Layout */
  --shell: 1280px;
  --pad:   clamp(1.25rem,5vw,4.5rem);

  /* Radius */
  --r1:4px; --r2:8px; --r3:12px; --r4:18px; --r5:26px; --pill:9999px;

  /* Shadows */
  --sh:    0 8px 32px rgba(0,0,0,.7);
  --sh-lg: 0 24px 72px rgba(0,0,0,.9), 0 6px 20px rgba(0,0,0,.5);
}

body{
  font-family:var(--font);
  background:var(--bg);
  color:var(--t);
  line-height:1.65;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

.shell{width:100%;max-width:var(--shell);margin:0 auto;padding:0 var(--pad)}

/* ── Typography ── */
h1,h2,h3,h4{font-family:var(--font);font-weight:800;line-height:1.05;letter-spacing:-0.035em;color:var(--t)}
h1{font-size:clamp(2.8rem,6vw,6rem)}
h2{font-size:clamp(2rem,4.5vw,4rem)}
h3{font-size:clamp(1.15rem,1.8vw,1.5rem);font-weight:700}
h4{font-size:1rem;font-weight:700;letter-spacing:-0.02em}
p{color:var(--t2);line-height:1.72}

.eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--t3);
}

.on-cream h1,.on-cream h2,.on-cream h3,.on-cream h4{color:var(--ct)}
.on-cream p,.on-cream .eyebrow{color:var(--ct2)}

/* ── Announcement bar (Kinsta salmon/orange) ── */
.announce{
  background:var(--o);color:#fff;
  font-size:.82rem;font-weight:600;
  padding:10px var(--pad);
  display:flex;align-items:center;justify-content:center;gap:.6rem;
  text-align:center;position:relative;z-index:99;
}
.announce a{color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:2px}
.announce-close{
  position:absolute;right:1rem;top:50%;transform:translateY(-50%);
  width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.18);
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;color:#fff;cursor:pointer;border:none;
}

/* ── Navbar ── */
.site-nav{
  position:sticky;top:0;z-index:98;
  background:rgba(10,10,10,.85);
  backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);
  border-bottom:1px solid rgba(255,255,255,.07);
  transition:background .3s,box-shadow .3s;
}
.site-nav::after{
  content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;
  background:linear-gradient(to right,transparent 0%,rgba(249,115,22,.5) 20%,rgba(249,115,22,.5) 80%,transparent 100%);
  opacity:0;transition:opacity .3s;
}
.site-nav.scrolled::after{opacity:1}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  height:70px;gap:2rem;
}

/* Brand */
.nav-brand{display:flex;align-items:center;gap:11px;flex-shrink:0}
.nav-logo{
  flex-shrink:0;
  display:flex;align-items:center;
}
.nav-logo img{width:42px;height:42px;object-fit:contain;display:block}
.nav-name{
  font-size:.97rem;font-weight:800;color:var(--t);
  letter-spacing:-.03em;
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.8) 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}

/* Nav links */
.nav-links{display:flex;align-items:center;gap:.15rem;flex:1;justify-content:center}
.nav-link{
  font-size:.855rem;font-weight:500;color:rgba(255,255,255,.55);
  padding:7px 14px;border-radius:var(--pill);
  transition:color .2s,background .2s;
  display:flex;align-items:center;gap:4px;white-space:nowrap;
  position:relative;
}
.nav-link::after{
  content:'';position:absolute;bottom:0;left:50%;right:50%;height:2px;
  background:var(--o);border-radius:1px;transition:left .2s,right .2s;
}
.nav-link:hover{color:#fff;text-shadow:0 0 12px rgba(255,255,255,.05)}
.nav-link:hover::after{left:14px;right:14px}
.nav-link.active{color:#fff;font-weight:600;text-shadow:0 0 14px rgba(255,255,255,.08)}
.nav-link.active::after{left:14px;right:14px}

/* Actions */
.nav-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}
.nav-ghost{
  font-size:.855rem;font-weight:500;color:rgba(255,255,255,.5);
  padding:7px 14px;border-radius:var(--pill);
  transition:color .24s ease,background .24s ease,box-shadow .24s ease;
  white-space:nowrap;
}
.nav-ghost:hover{color:#fff;background:rgba(255,255,255,.05);box-shadow:0 0 0 1px rgba(255,255,255,.04) inset}
.nav-cta{
  font-size:.84rem;font-weight:700;letter-spacing:.01em;
  padding:9px 22px;border-radius:var(--pill);
  background:#fff;color:#0d0d0d;
  transition:background .15s,transform .15s,box-shadow .15s;
  display:inline-flex;align-items:center;gap:5px;
  box-shadow:0 2px 12px rgba(255,255,255,.15);
  white-space:nowrap;
}
.nav-cta:hover{background:#f5f5f5;transform:translateY(-2px);box-shadow:0 6px 24px rgba(255,255,255,.22)}
.nav-cta svg{transition:transform .2s}
.nav-cta:hover svg{transform:translateX(2px)}

.site-nav.scrolled{background:rgba(8,8,8,.95);border-bottom-color:rgba(255,255,255,.09);box-shadow:0 8px 40px rgba(0,0,0,.6)}

/* Services dropdown */
.nav-svc{position:relative;z-index:500}
.nav-dd{
  position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(-8px);
  background:rgba(18,17,15,.97);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border:1px solid rgba(255,255,255,.1);border-radius:20px;
  padding:1rem;min-width:620px;display:none;
  box-shadow:0 32px 80px rgba(0,0,0,.8),0 0 0 1px rgba(249,115,22,.07);
  z-index:500;opacity:0;
  transition:opacity .2s ease,transform .2s ease;
}
.nav-dd.open{display:block;opacity:1;transform:translateX(-50%) translateY(0)}
.nav-dd-overview{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 16px 14px;margin-bottom:.75rem;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.nav-dd-overview-txt{display:flex;flex-direction:column;gap:2px}
.nav-dd-overview strong{font-size:.9rem;font-weight:700;color:#fff}
.nav-dd-overview small{font-size:.76rem;color:rgba(255,255,255,.38)}
.nav-dd-overview-arrow{
  display:inline-flex;align-items:center;gap:5px;
  font-size:.76rem;font-weight:700;color:var(--o);
  padding:5px 12px;border-radius:var(--pill);
  background:rgba(249,115,22,.1);border:1px solid rgba(249,115,22,.2);
  transition:background .15s;white-space:nowrap;
}
.nav-dd-overview-arrow:hover{background:rgba(249,115,22,.2)}
.nav-dd-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.3rem}
.nav-dd-item{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:12px;
  color:#fff;font-size:.83rem;font-weight:600;
  transition:background .15s,color .15s;
  border:1px solid transparent;
}
.nav-dd-item-icon{
  width:32px;height:32px;border-radius:9px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);
  transition:background .15s,border-color .15s;
}
.nav-dd-item-icon svg{width:14px;height:14px;color:rgba(255,255,255,.6)}
.nav-dd-item-txt{display:flex;flex-direction:column;gap:1px}
.nav-dd-item:hover{background:rgba(249,115,22,.08);border-color:rgba(249,115,22,.2)}
.nav-dd-item:hover .nav-dd-item-icon{background:rgba(249,115,22,.15);border-color:rgba(249,115,22,.3)}
.nav-dd-item:hover .nav-dd-item-icon svg{color:var(--o)}
.nav-dd-item:hover .nav-dd-item-txt span{color:var(--o)}
.nav-dd-item small{color:rgba(255,255,255,.38);font-size:.71rem;font-weight:400}

.nav-ham{display:none;flex-direction:column;gap:5px;padding:8px;border-radius:var(--r2)}
.nav-ham span{display:block;width:21px;height:2px;background:var(--t);border-radius:2px;transition:all .2s}
.mobile-nav{display:none;background:var(--bg2);border-top:1px solid var(--bdr);padding:1.5rem var(--pad) 2rem}
.mobile-nav.open{display:block}
.mob-link{display:block;font-size:.95rem;font-weight:500;color:var(--t2);padding:12px 0;border-bottom:1px solid var(--bdr);transition:color .15s,padding-left .15s}
.mob-link:hover{color:var(--o);padding-left:4px}
.mob-cta{display:block;margin-top:1.25rem;text-align:center}

/* ── Buttons ── */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--font);font-size:.88rem;font-weight:700;
  padding:12px 26px;border-radius:var(--pill);
  border:1.5px solid transparent;cursor:pointer;
  transition:all .15s;white-space:nowrap;
}
.btn svg{width:15px;height:15px;flex-shrink:0}
.btn-lg{font-size:.95rem;padding:15px 32px}
.btn-sm{font-size:.8rem;padding:8px 18px}

/* White primary (Kinsta + Squarespace style) */
.btn-primary{background:var(--t);color:#0d0d0d;border-color:var(--t)}
.btn-primary:hover{background:rgba(255,255,255,.88);transform:translateY(-1px)}

/* Dark outlined */
.btn-outline{background:transparent;color:var(--t);border-color:rgba(255,255,255,.25)}
.btn-outline:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.06)}

/* Solid dark (on orange/cream sections) */
.btn-dark{background:#0d0d0d;color:#fff;border-color:#0d0d0d}
.btn-dark:hover{background:#1c1c1c}

/* Orange accent btn */
.btn-orange{background:var(--o);color:#fff;border-color:var(--o)}
.btn-orange:hover{background:var(--o-h)}

.on-cream .btn-outline{color:var(--ct);border-color:rgba(0,0,0,.22)}
.on-cream .btn-outline:hover{border-color:rgba(0,0,0,.45);background:rgba(0,0,0,.05)}

/* ── HERO — full-bleed Squarespace style ── */
.hero-fullbleed{
  position:relative;min-height:100vh;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  overflow:hidden;text-align:center;padding:clamp(6rem,12vw,10rem) var(--pad) clamp(4rem,8vw,7rem);
}
.hero-bg{
  position:absolute;inset:0;z-index:0;
}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(13,13,13,.55) 0%,rgba(13,13,13,.72) 60%,rgba(13,13,13,.92) 100%);
}
.hero-content{position:relative;z-index:1;max-width:900px;margin:0 auto}
.hero-badge{
  display:inline-flex;align-items:center;padding:5px 16px;
  border-radius:var(--pill);border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.08);backdrop-filter:blur(8px);
  font-size:.72rem;font-weight:700;color:rgba(255,255,255,.8);letter-spacing:.1em;text-transform:uppercase;
  margin-bottom:2rem;
}
.hero-fullbleed h1{
  font-size:clamp(3rem,7.5vw,7rem);
  margin-bottom:1.75rem;color:#fff;
  text-shadow:0 2px 40px rgba(0,0,0,.4);
}
.hero-fullbleed .hero-sub{
  font-size:clamp(1rem,1.8vw,1.2rem);color:rgba(255,255,255,.72);
  max-width:580px;margin:0 auto 2.5rem;line-height:1.72;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:center}

/* Pill sub-nav (Squarespace feature tabs) */
.pill-tabs{
  display:flex;flex-wrap:wrap;gap:.4rem;
  margin-top:3rem;justify-content:center;
}
.pill-tab{
  font-size:.82rem;font-weight:600;padding:9px 20px;
  border-radius:var(--pill);border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.65);background:rgba(255,255,255,.06);
  backdrop-filter:blur(8px);cursor:pointer;transition:all .15s;
}
.pill-tab:hover,.pill-tab.active{
  background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.35);color:#fff;
}

/* Hero stats */
.hero-stats{
  display:flex;flex-wrap:wrap;gap:2.5rem;justify-content:center;
  margin-top:3.5rem;padding-top:2.5rem;
  border-top:1px solid rgba(255,255,255,.12);position:relative;z-index:1;
}
.hero-stat-n{font-size:2rem;font-weight:800;letter-spacing:-0.04em;line-height:1;color:#fff}
.hero-stat-l{font-size:.72rem;color:rgba(255,255,255,.45);margin-top:4px;text-transform:uppercase;letter-spacing:.1em}

/* ── Sections ── */
.section{padding:clamp(4rem,8vw,9rem) 0}
.section-sm{padding:clamp(2.5rem,5vw,5rem) 0}
.section-dark2{background:var(--bg2)}
.section-dark3{background:var(--bg3)}
.section-cream{background:var(--cream)}

.section-hd{margin-bottom:clamp(2.5rem,5vw,4rem)}
.section-hd h2{margin-top:.8rem}
.section-hd.c{text-align:center}
.section-hd.c h2{max-width:680px;margin-left:auto;margin-right:auto}

/* ── Feature cards (Kinsta 3-col dark) ── */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.feat-card{
  padding:28px;border-radius:var(--r3);
  border:1px solid var(--b);background:var(--bg2);
  transition:border-color .2s,transform .2s;
}
.feat-card:hover{border-color:var(--b2);transform:translateY(-2px)}
.feat-icon{
  width:42px;height:42px;border-radius:var(--r2);
  background:rgba(255,255,255,.06);border:1px solid var(--b2);
  display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem;
}
.feat-icon svg{width:19px;height:19px;color:var(--t)}
.feat-card h3{font-size:1rem;font-weight:700;margin-bottom:.4rem;color:var(--t)}
.feat-card p{font-size:.855rem;line-height:1.65;color:var(--t2)}

/* Squarespace-style 2-col feature blocks */
.feat2-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.feat2-card{
  position:relative;border-radius:var(--r4);overflow:hidden;
  background:var(--bg3);border:1px solid var(--b);
  padding:2.5rem;min-height:320px;
  display:flex;flex-direction:column;justify-content:flex-end;
  transition:border-color .2s;
}
.feat2-card:hover{border-color:var(--b2)}
.feat2-card.tall{min-height:420px}
.feat2-bg{position:absolute;inset:0;z-index:0}
.feat2-bg img{width:100%;height:100%;object-fit:cover;opacity:.55;transition:opacity .4s;filter:saturate(.8)}
.feat2-card:hover .feat2-bg img{opacity:.65}
.feat2-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(13,13,13,.2) 0%,rgba(13,13,13,.7) 55%,rgba(13,13,13,.96) 100%)}
.feat2-body{position:relative;z-index:1}
.feat2-tag{font-size:.67rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--t3);margin-bottom:.75rem}
.feat2-card h3{font-size:1.35rem;font-weight:800;color:#fff;margin-bottom:.5rem}
.feat2-card p{font-size:.87rem;color:rgba(255,255,255,.58);line-height:1.65}

/* ── Services grid ── */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.svc-card{
  border-radius:var(--r3);border:1px solid var(--b);
  background:var(--bg2);overflow:hidden;
  display:flex;flex-direction:column;
  transition:border-color .2s,transform .25s;
}
.svc-card:hover{border-color:var(--b2);transform:translateY(-3px)}
.svc-img{position:relative;height:185px;overflow:hidden;flex-shrink:0}
.svc-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.svc-card:hover .svc-img img{transform:scale(1.05)}
.svc-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.7) 100%)}
.svc-tag{position:absolute;top:12px;left:12px;z-index:1;background:rgba(0,0,0,.6);border:1px solid var(--b2);color:var(--t);font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:var(--pill);backdrop-filter:blur(6px)}
.svc-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1}
.svc-body h3{font-size:1rem;font-weight:700;color:var(--t);margin-bottom:.4rem}
.svc-body p{font-size:.84rem;color:var(--t2);line-height:1.65;flex:1}
.svc-link{display:inline-flex;align-items:center;gap:5px;margin-top:1rem;font-size:.82rem;font-weight:700;color:var(--t);opacity:.7;transition:opacity .15s,gap .15s}
.svc-link:hover{opacity:1;gap:9px}
.svc-link svg{width:13px;height:13px}

/* ── Check grid (Kinsta "what's included") ── */
.check-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;margin-top:2rem}
.check-chip{
  display:flex;align-items:center;gap:10px;
  padding:13px 14px;border-radius:var(--r2);
  background:var(--bg3);border:1px solid var(--b);
}
.check-tick{
  width:20px;height:20px;border-radius:50%;flex-shrink:0;
  background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;
}
.check-tick svg{width:10px;height:10px;color:#fff}
.check-chip span{font-size:.82rem;font-weight:600;color:var(--t2)}

/* ── Stats row ── */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;padding:3.5rem 0;border-top:1px solid var(--b);border-bottom:1px solid var(--b)}
.stat{text-align:center}
.stat-n{font-size:clamp(2rem,4vw,3.5rem);font-weight:800;letter-spacing:-0.05em;line-height:1;color:var(--t)}
.stat-l{font-size:.72rem;color:var(--t3);margin-top:6px;text-transform:uppercase;letter-spacing:.08em}

/* ── Split layout ── */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,5vw,5.5rem);align-items:center}
.split.flip{direction:rtl}
.split.flip>*{direction:ltr}
.split-vis{position:relative;border-radius:var(--r4);overflow:hidden;aspect-ratio:4/3}
.split-vis img{width:100%;height:100%;object-fit:cover}
.split-vis::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.1) 0%,transparent 50%,rgba(0,0,0,.35) 100%)}
.split-txt h2{margin-top:.8rem;margin-bottom:1rem}
.split-txt>p{margin-bottom:1rem;line-height:1.78}
.split-list{display:flex;flex-direction:column;gap:.65rem;margin:1.35rem 0}
.split-list li{display:flex;align-items:flex-start;gap:.75rem;font-size:.9rem;color:var(--t2)}
.split-list li::before{content:'';width:17px;height:17px;flex-shrink:0;margin-top:2px;border-radius:50%;background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 5l2.5 2.5 4-5' stroke='white' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:10px}

/* ── Industry grid ── */
.ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.ind-card{position:relative;border-radius:var(--r3);overflow:hidden;aspect-ratio:4/3;cursor:pointer}
.ind-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ind-card:hover img{transform:scale(1.05)}
.ind-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.82) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.35rem}
.ind-card h3{font-size:1.05rem;font-weight:700;color:#fff;margin-bottom:.2rem}
.ind-card p{font-size:.77rem;color:rgba(255,255,255,.55);line-height:1.5}

/* ── Portfolio cards ── */
.tmpl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.tmpl-card{border-radius:var(--r3);border:1px solid var(--b);background:var(--bg2);overflow:hidden;transition:border-color .2s,transform .2s}
.tmpl-card:hover{border-color:var(--b2);transform:translateY(-3px)}
.tmpl-img{position:relative;height:210px;overflow:hidden}
.tmpl-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.tmpl-card:hover .tmpl-img img{transform:scale(1.04)}
.tmpl-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.65) 100%)}
.tmpl-tag{position:absolute;top:12px;left:12px;z-index:1;background:rgba(0,0,0,.6);border:1px solid var(--b2);color:var(--t);font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:var(--pill);backdrop-filter:blur(6px)}
.tmpl-price{position:absolute;top:12px;right:12px;z-index:1;background:var(--t);color:#0d0d0d;font-size:.75rem;font-weight:800;padding:5px 12px;border-radius:var(--pill)}
.tmpl-title-img{position:absolute;bottom:12px;left:14px;z-index:1;font-size:.96rem;font-weight:700;color:#fff}
.tmpl-body{padding:18px 20px 20px}
.tmpl-body p{font-size:.84rem;color:var(--t2);line-height:1.65;margin-bottom:1.1rem}
.tmpl-actions{display:flex;gap:.65rem}

.filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
.filter-btn{font-size:.82rem;font-weight:600;padding:7px 16px;border-radius:var(--pill);border:1.5px solid var(--b2);color:var(--t2);background:transparent;cursor:pointer;transition:all .15s}
.filter-btn:hover{border-color:var(--b3);color:var(--t)}
.filter-btn.active{background:var(--t);border-color:var(--t);color:#0d0d0d}

/* ── Pricing (cream) ── */
.price-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem}
.price-tab{font-size:.85rem;font-weight:600;padding:8px 18px;border-radius:var(--pill);border:1.5px solid rgba(0,0,0,.12);color:var(--ct2);background:transparent;cursor:pointer;transition:all .15s}
.price-tab.active{background:var(--ct);border-color:var(--ct);color:#fff}
.price-panel{display:none}
.price-panel.active{display:block}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.price-card{padding:28px;border-radius:var(--r3);border:1.5px solid var(--cb);background:var(--cream2);transition:border-color .2s,transform .2s}
.price-card:hover{border-color:rgba(0,0,0,.22);transform:translateY(-2px)}
.price-card.featured{border-color:var(--ct);background:var(--ct);color:#fff}
.price-tier{font-size:.67rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ct2);margin-bottom:.7rem}
.price-card.featured .price-tier{color:rgba(255,255,255,.4)}
.price-amt{font-size:2.6rem;font-weight:800;color:var(--ct);letter-spacing:-0.05em;line-height:1;margin-bottom:.4rem}
.price-card.featured .price-amt{color:#fff}
.price-desc{font-size:.86rem;color:var(--ct2);line-height:1.65}
.price-card.featured .price-desc{color:rgba(255,255,255,.55)}

/* ── Forms ── */
.form-lbl{display:block;font-size:.83rem;font-weight:600;color:var(--t2);margin-bottom:.45rem}
.form-inp{width:100%;background:var(--bg3);border:1.5px solid var(--b2);border-radius:var(--r2);color:var(--t);font-family:var(--font);font-size:.9rem;padding:11px 15px;transition:border-color .15s;outline:none}
.form-inp:focus{border-color:rgba(255,255,255,.45);box-shadow:0 0 0 3px rgba(255,255,255,.06)}
.form-inp::placeholder{color:var(--t4)}
select.form-inp{cursor:pointer}
textarea.form-inp{resize:vertical;min-height:110px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-fb{padding:12px 16px;border-radius:var(--r2);font-size:.86rem;margin-top:.9rem;display:none}
.form-fb.ok{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.2);color:#fff;display:block}
.form-fb.err{background:rgba(249,115,22,.1);border:1px solid rgba(249,115,22,.3);color:#ffcfab;display:block}

.info-card{background:var(--bg2);border:1px solid var(--b);border-radius:var(--r3);padding:22px 24px}
.info-label{font-size:.67rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--t3);margin-bottom:.6rem}
.info-val{font-size:.93rem;font-weight:600;color:var(--t)}
.info-val a{color:var(--t);text-decoration:underline;text-underline-offset:3px}
.info-sub{font-size:.82rem;color:var(--t2);margin-top:.25rem}

/* ── CTA Band (Squarespace full-bleed image style) ── */
.cta-band{
  position:relative;overflow:hidden;
  padding:clamp(5rem,9vw,10rem) var(--pad);text-align:center;
  background:var(--bg2);
}
.cta-band-bg{position:absolute;inset:0;z-index:0}
.cta-band-bg img{width:100%;height:100%;object-fit:cover;opacity:.25}
.cta-band-bg::after{content:'';position:absolute;inset:0;background:rgba(13,13,13,.7)}
.cta-band-inner{position:relative;z-index:1}
.cta-band h2{color:#fff;margin-bottom:1rem}
.cta-band p{color:rgba(255,255,255,.58);max-width:520px;margin:0 auto 2.5rem;font-size:1.05rem;line-height:1.72}
.cta-row{display:flex;align-items:center;justify-content:center;gap:.9rem;flex-wrap:wrap}

/* ── Photo banner ── */
.photo-banner{border-radius:var(--r5);overflow:hidden;height:clamp(15rem,28vw,24rem);position:relative}
.photo-banner img{width:100%;height:100%;object-fit:cover}
.photo-banner::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(0,0,0,.35) 0%,transparent 50%,rgba(0,0,0,.4) 100%)}
.pb-badge{position:absolute;bottom:1.5rem;left:1.75rem;z-index:1}
.pb-badge-pill{display:inline-flex;align-items:center;padding:5px 13px;border-radius:var(--pill);border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);backdrop-filter:blur(6px);font-size:.67rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.8);margin-bottom:.4rem}
.pb-title{font-size:1rem;font-weight:700;color:#fff}
.pb-sub{font-size:.8rem;color:rgba(255,255,255,.55);margin-top:2px}

/* ── Service detail ── */
.svc-detail-hero{padding:clamp(2.5rem,5vw,4.5rem) 0 2rem}
.svc-detail-split{display:grid;grid-template-columns:1.25fr 0.75fr;gap:4rem;align-items:start}
.svc-prov-list{display:flex;flex-direction:column}
.svc-prov-item{display:flex;align-items:flex-start;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--b)}
.svc-prov-item:last-child{border-bottom:none}
.svc-prov-num{font-size:.67rem;font-weight:700;color:var(--t3);letter-spacing:.1em;min-width:24px;padding-top:2px}
.svc-prov-item p{font-size:.9rem;color:var(--t2);line-height:1.65}
.svc-flow{background:var(--bg2);border:1px solid var(--b);border-radius:var(--r4);padding:1.75rem;position:sticky;top:90px}
.svc-flow h3{font-size:1rem;margin-top:.65rem;margin-bottom:1.3rem}
.svc-steps{display:flex;flex-direction:column;gap:.45rem}
.svc-step{display:flex;align-items:center;gap:1rem;padding:11px 13px;border-radius:var(--r2);background:var(--bg3);border:1px solid var(--b)}
.svc-step span{font-size:.67rem;font-weight:700;color:var(--t3)}
.svc-step strong{font-size:.87rem;font-weight:600;color:var(--t)}

/* ── Footer ── */
.site-footer{background:var(--bg);padding:0 0 2rem;overflow:hidden}
.footer-top-bar{height:3px;background:linear-gradient(90deg,var(--o),#fb923c,transparent)}
.footer-main{
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr 1fr;
  gap:3rem;
  padding:4rem 0 3rem;
  border-bottom:1px solid rgba(255,255,255,.07);
}
/* Brand col */
.footer-brand-col{}
.footer-logo-wrap{
  display:inline-flex;align-items:center;gap:10px;
  text-decoration:none;margin-bottom:1rem;
}
.footer-logo-wrap img{width:40px;height:40px;object-fit:contain;display:block}
.footer-logo-wrap span{font-size:1rem;font-weight:800;letter-spacing:-.025em;color:#fff}
.footer-tagline{font-size:.84rem;color:rgba(255,255,255,.38);line-height:1.7;max-width:240px;margin-bottom:1.4rem}
.footer-contacts{display:flex;flex-direction:column;gap:.65rem}
.footer-contact-row{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.84rem;color:rgba(255,255,255,.5);
  text-decoration:none;transition:color .15s;
}
.footer-contact-row svg{width:15px;height:15px;flex-shrink:0;color:var(--o)}
.footer-contact-row:hover{color:#fff}
.footer-location{color:rgba(255,255,255,.35);cursor:default}
.footer-location:hover{color:rgba(255,255,255,.35)}
/* Link cols */
.footer-col{}
.footer-col-title{
  font-size:.68rem;font-weight:800;letter-spacing:.15em;
  text-transform:uppercase;color:var(--o);margin-bottom:1.1rem;
}
.footer-col-links{display:flex;flex-direction:column;gap:.55rem}
.footer-col-links a{font-size:.875rem;color:rgba(255,255,255,.45);transition:color .15s,padding-left .15s}
.footer-col-links a:hover{color:#fff;padding-left:4px}
/* CTA button in last col */
.footer-cta-btn{
  display:inline-flex;align-items:center;
  margin-top:1.4rem;
  padding:9px 20px;
  border-radius:999px;
  border:1px solid rgba(249,115,22,.4);
  background:rgba(249,115,22,.08);
  color:var(--o);
  font-size:.82rem;font-weight:800;letter-spacing:.02em;
  text-decoration:none;
  transition:background .2s,border-color .2s,color .2s;
}
.footer-cta-btn:hover{background:var(--o);color:#fff;border-color:var(--o)}
/* Bottom bar */
.footer-bottom{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:1rem;
  padding-top:1.5rem;
  font-size:.78rem;color:rgba(255,255,255,.25);
}
.footer-bottom-links{display:flex;gap:1.5rem}
.footer-bottom-links a{color:rgba(255,255,255,.25);transition:color .15s}
.footer-bottom-links a:hover{color:rgba(255,255,255,.6)}

/* ── FAB ── */
.fab-dock{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.5rem;z-index:88}
.fab-btn{display:flex;align-items:center;gap:.6rem;padding:9px 15px;border-radius:var(--pill);font-size:.78rem;font-weight:700;box-shadow:var(--sh);transition:transform .15s,box-shadow .15s;white-space:nowrap}
.fab-btn:hover{transform:translateX(-2px)}
.fab-btn svg{width:14px;height:14px;flex-shrink:0}
.fab-p{background:var(--t);color:#0d0d0d}
.fab-s{background:var(--bg3);border:1px solid var(--b2);color:var(--t2)}
.fab-top{background:var(--bg3);border:1px solid var(--b2);color:var(--t2);display:none}
.fab-top.show{display:flex}

/* ── Responsive ── */
@media(max-width:1100px){
  .feat-grid{grid-template-columns:repeat(2,1fr)}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .check-grid{grid-template-columns:repeat(3,1fr)}
  .stats-row{grid-template-columns:repeat(2,1fr)}
  .footer-main{grid-template-columns:1fr 1fr;gap:2rem}
  .feat2-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .split,.split.flip{grid-template-columns:1fr;direction:ltr}
  .ind-grid{grid-template-columns:repeat(2,1fr)}
  .tmpl-grid{grid-template-columns:repeat(2,1fr)}
  .price-grid{grid-template-columns:1fr;max-width:420px}
  .svc-detail-split{grid-template-columns:1fr}
  .svc-flow{position:static}
}
@media(max-width:768px){
  h1{font-size:clamp(2.2rem,9vw,3.2rem)}
  .nav-links,.nav-ghost{display:none}
  .nav-ham{display:flex}
  .feat-grid,.svc-grid{grid-template-columns:1fr}
  .check-grid{grid-template-columns:repeat(2,1fr)}
  .form-row{grid-template-columns:1fr}
  .footer-main{grid-template-columns:1fr}
  .hero-stats{gap:1.5rem}
}
@media(max-width:500px){
  .check-grid{grid-template-columns:1fr}
  .ind-grid{grid-template-columns:1fr}
  .tmpl-grid{grid-template-columns:1fr}
}

/* ── PHOTO BANNER ────────────────────────────────────────────── */
.photo-banner{position:relative;border-radius:var(--r4);overflow:hidden;margin-top:2rem}
.photo-banner img{width:100%;height:460px;object-fit:cover;display:block;filter:saturate(.85)}
.photo-banner::after{
  content:'';position:absolute;inset:0;
  background:
    linear-gradient(to bottom,rgba(13,13,13,.15) 0%,rgba(13,13,13,.0) 35%,rgba(13,13,13,.75) 80%,rgba(13,13,13,.98) 100%),
    linear-gradient(to right,rgba(13,13,13,.3) 0%,transparent 25%,transparent 75%,rgba(13,13,13,.3) 100%);
  pointer-events:none;
}
.pb-badge{position:absolute;bottom:2rem;left:2rem;background:rgba(13,13,13,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:var(--r3);padding:1rem 1.5rem;max-width:480px}
.pb-badge-pill{display:inline-block;background:var(--o);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:20px;padding:.25rem .75rem;margin-bottom:.5rem}
.pb-title{color:var(--t);font-size:1rem;font-weight:600;line-height:1.4}
.pb-sub{color:var(--t2);font-size:.82rem;margin-top:.25rem}

/* ── CONTACT INFO ─────────────────────────────────────────────── */
.contact-info{margin-top:2.5rem;display:flex;flex-direction:column;gap:1.25rem}
.ci-row{display:flex;align-items:flex-start;gap:1rem}
.ci-row svg{width:20px;height:20px;flex-shrink:0;color:var(--o);margin-top:2px}
.ci-row strong{display:block;color:var(--t);font-size:.85rem;font-weight:600;margin-bottom:.15rem}
.ci-row span{color:var(--t2);font-size:.9rem}

/* ── CONTACT FORM ─────────────────────────────────────────────── */
.contact-form{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r4);padding:2.5rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}
.form-group label{font-size:.82rem;font-weight:600;color:var(--t2);text-transform:uppercase;letter-spacing:.06em}
.form-group input,.form-group select,.form-group textarea{background:var(--bg4);border:1px solid var(--bdr);border-radius:var(--r2);color:var(--t);padding:.75rem 1rem;font-size:.95rem;font-family:inherit;transition:border-color .2s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--o)}
.form-group select option{background:var(--bg4)}
.form-group textarea{resize:vertical;min-height:120px}
.form-note{font-size:.78rem;color:var(--t3);text-align:center;margin-top:.75rem}

/* ── PORTFOLIO GRID ───────────────────────────────────────────── */
.port-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.port-card{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r4);overflow:hidden;transition:transform .3s,box-shadow .3s}
.port-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.5)}
.port-img{position:relative;overflow:hidden}
.port-img img{width:100%;height:220px;object-fit:cover;display:block;transition:transform .4s}
.port-img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to bottom,transparent,rgba(13,13,13,.7));pointer-events:none}
.port-card:hover .port-img img{transform:scale(1.04)}
.port-body{padding:1.5rem}
.port-cat{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--o);background:var(--o-sub);border:1px solid rgba(249,115,22,.25);border-radius:20px;padding:.2rem .7rem;display:inline-block;margin-bottom:.75rem}
.port-body h3{font-size:1.1rem;margin-bottom:.5rem}
.port-body p{font-size:.88rem;color:var(--t2);line-height:1.6;margin-bottom:1rem}
.filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem}
.filter-btn{padding:.5rem 1.2rem;border-radius:20px;border:1px solid var(--bdr);background:transparent;color:var(--t2);font-size:.85rem;cursor:pointer;transition:all .2s}
.filter-btn.active,.filter-btn:hover{background:var(--o);border-color:var(--o);color:#fff}

/* ── PRICING ──────────────────────────────────────────────────── */
.pricing-tabs{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}
.pricing-tab{padding:.6rem 1.4rem;border-radius:var(--r2);border:1px solid var(--bdr);background:transparent;color:var(--t2);font-size:.9rem;cursor:pointer;transition:all .2s}
.pricing-tab.active,.pricing-tab:hover{background:var(--o);border-color:var(--o);color:#fff}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}
.price-card{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r4);padding:2rem;position:relative;transition:transform .3s}
.price-card:hover{transform:translateY(-4px)}
.price-card.featured{border-color:var(--o);background:var(--bg4)}
.price-badge-top{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--o);color:#fff;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.25rem .9rem;border-radius:20px;white-space:nowrap}
.price-tier{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--t2);margin-bottom:.5rem}
.price-amt{font-size:2.4rem;font-weight:800;color:var(--t);line-height:1}
.price-sub{font-size:.82rem;color:var(--t3);margin-top:.25rem;margin-bottom:1.5rem}
.price-list{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-direction:column;gap:.6rem}
.price-list li{font-size:.88rem;color:var(--t2);padding-left:1.1rem;position:relative}
.price-list li::before{content:"✓";position:absolute;left:0;color:var(--o);font-weight:700}
.pricing-note{text-align:center;color:var(--t3);font-size:.82rem;margin-top:2rem}

/* ── INDUSTRIES GRID ──────────────────────────────────────────── */
.ind-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.ind-card{position:relative;border-radius:var(--r4);overflow:hidden;aspect-ratio:4/3;cursor:default}
.ind-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.ind-card:hover img{transform:scale(1.06)}
.ind-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,13,13,.95) 0%,rgba(13,13,13,.5) 55%,rgba(13,13,13,.1) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;transition:background .3s}
.ind-overlay h3{font-size:1.05rem;font-weight:700;color:var(--t);margin-bottom:.4rem}
.ind-overlay p{font-size:.82rem;color:var(--t2);line-height:1.5}

/* ── FAQ ──────────────────────────────────────────────────────── */
.faq-list{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}
.faq-item{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r3);overflow:hidden}
.faq-q{padding:1.25rem 1.5rem;font-size:.98rem;font-weight:600;color:var(--t);cursor:pointer;user-select:none;transition:color .15s}
.faq-q-open{color:var(--o)}
.faq-q::after{content:'+';float:right;font-size:1.2rem;font-weight:300;color:var(--t3);transition:transform .2s}
.faq-q-open::after{transform:rotate(45deg);color:var(--o)}
.faq-a{padding:0 1.5rem 1.25rem;border-top:1px solid var(--bdr)}
.faq-a p{font-size:.9rem;color:var(--t2);line-height:1.7;margin-top:.75rem}

/* ── SERVICE CARDS ────────────────────────────────────────────── */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.svc-card{background:var(--bg3);border:1px solid var(--bdr);border-radius:var(--r4);overflow:hidden;transition:transform .3s,box-shadow .3s}
.svc-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.5)}
.svc-img{position:relative;overflow:hidden}
.svc-img{position:relative;overflow:hidden}
.svc-img img{width:100%;height:200px;object-fit:cover;display:block;transition:transform .4s}
.svc-img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:70%;background:linear-gradient(to bottom,transparent,rgba(13,13,13,.75));pointer-events:none}
.svc-card:hover .svc-img img{transform:scale(1.05)}
.svc-tag{position:absolute;top:.75rem;left:.75rem;background:rgba(13,13,13,.75);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);color:var(--t);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.2rem .65rem;border-radius:20px}
.svc-body{padding:1.5rem}
.svc-body h3{font-size:1.1rem;margin-bottom:.5rem}
.svc-body p{font-size:.88rem;color:var(--t2);line-height:1.6;margin-bottom:1rem}
.svc-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--o);font-size:.88rem;font-weight:600;text-decoration:none;transition:gap .2s}
.svc-link:hover{gap:.7rem}
.svc-link svg{width:16px;height:16px}

/* ── SECTION DARK2 ────────────────────────────────────────────── */
.section-dark2{background:var(--bg2)}

/* ── RESPONSIVE PATCHES ───────────────────────────────────────── */
@media(max-width:900px){
  .port-grid,.svc-grid,.price-grid,.ind-grid{grid-template-columns:repeat(2,1fr)}
  .form-row{grid-template-columns:1fr}
  .pb-badge{left:1rem;bottom:1rem;right:1rem;max-width:unset}
}
@media(max-width:600px){
  .port-grid,.svc-grid,.price-grid,.ind-grid{grid-template-columns:1fr}
  .contact-form{padding:1.5rem}
}


/* ── CTA BAND INNER above gradient overlays ── */
.cta-band-inner{position:relative;z-index:2}

/* ── Visibility polish ───────────────────────────────────────── */
:root{
  --bdr: rgba(255,255,255,.12);
}

body{
  background:
    radial-gradient(circle at top center, rgba(249,115,22,.055), transparent 30%),
    linear-gradient(180deg, #111111 0%, #0d0d0d 40%, #141210 100%);
  color:rgba(255,255,255,.96);
}

h1,h2,h3,h4,
.section-hd h2,
.hero-fullbleed h1,
.port-hero-center h1,
.quote-hero-copy h1,
.ct-h1,
.ct-form-title,
.quote-panel-head h2,
.svc-body h3,
.feat-card h3,
.feat2-card h3,
.price-card .price-amt,
.faq-q,
.tmpl-title-img,
.fcard-title{
  color:#fff;
  text-shadow:0 1px 18px rgba(0,0,0,.24);
}

p,
.hero-fullbleed .hero-sub,
.quote-hero-copy p,
.ct-lead,
.ct-form-sub,
.feat-card p,
.feat2-card p,
.svc-body p,
.tmpl-body p,
.port-body p,
.faq-a p,
.price-desc,
.price-list li,
.quote-helper-note,
.quote-panel-head p,
.footer-brand-meta span,
.footer-col-links a,
.footer-tagline,
.footer-contact-row,
.info-sub{
  color:rgba(255,255,255,.8);
}

.eyebrow,
.hero-stat-l,
.price-sub,
.section-hd .eyebrow,
.quote-field label,
.form-group label,
.footer-col-title,
.info-label,
.feat2-tag{
  color:rgba(255,255,255,.72);
}

.section,
.site-footer,
.hero-fullbleed,
.port-hero,
.ct-hero,
.quote-page{
  position:relative;
}

.section::after,
.site-footer::after,
.hero-fullbleed::before,
.port-hero::before,
.quote-page::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
}

.section::after,
.site-footer::after{
  background:
    linear-gradient(180deg, rgba(255,255,255,.018), transparent 18%, transparent 82%, rgba(255,255,255,.02)),
    radial-gradient(circle at 15% 0%, rgba(249,115,22,.04), transparent 26%);
}

.section-dark2,
.section-dark3{
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.008)),
    linear-gradient(180deg, rgba(20,18,16,.98), rgba(13,13,13,.98));
}

.site-nav{
  background:rgba(12,12,12,.84);
  border-bottom:1px solid rgba(255,255,255,.1);
  box-shadow:0 12px 34px rgba(0,0,0,.32);
}

.nav-inner{min-height:82px}
.nav-brand{gap:14px}
.nav-logo{
  width:62px;
  height:62px;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.nav-logo img{
  width:58px;
  height:58px;
  max-width:none;
  object-fit:contain;
  filter:none;
}

.nav-name,
.nav-link,
.nav-ghost,
.mob-link,
.nav-dd-overview strong,
.nav-dd-item{
  color:rgba(255,255,255,.9);
}

.nav-link,
.nav-ghost{
  background:rgba(255,255,255,.025);
}

.nav-link:hover,
.nav-link.active,
.nav-ghost:hover,
.mob-link:hover{
  color:#fff;
}

.nav-cta,
.btn-primary,
.btn-orange,
.quote-btn-primary,
.ct-submit,
.footer-cta-btn,
.fab-p{
  color:#fff;
  border-color:rgba(249,115,22,.34);
  background:
    linear-gradient(180deg, rgba(249,115,22,.88), rgba(234,88,12,.86));
  box-shadow:0 12px 28px rgba(249,115,22,.2), 0 0 0 1px rgba(255,255,255,.05) inset;
}

.nav-cta:hover,
.btn-primary:hover,
.btn-orange:hover,
.quote-btn-primary:hover,
.ct-submit:hover,
.footer-cta-btn:hover,
.fab-p:hover{
  background:
    linear-gradient(180deg, rgba(251,146,60,.92), rgba(249,115,22,.88));
  box-shadow:0 16px 34px rgba(249,115,22,.24), 0 0 0 1px rgba(255,255,255,.08) inset;
}

.btn-outline,
.nav-ghost,
.quote-btn,
.fab-s,
.fab-top{
  color:#fff;
  border-color:rgba(255,255,255,.18);
  background:linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.03));
  box-shadow:0 12px 26px rgba(0,0,0,.22);
}

.btn-outline:hover,
.quote-btn:hover,
.fab-s:hover,
.fab-top:hover{
  border-color:rgba(249,115,22,.24);
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(249,115,22,.06));
}

.announce{
  background:
    linear-gradient(90deg, rgba(249,115,22,.14), rgba(251,146,60,.08), rgba(249,115,22,.14));
  color:#fff;
  border-bottom:1px solid rgba(249,115,22,.16);
  box-shadow:0 10px 24px rgba(0,0,0,.16);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.announce::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at center, rgba(255,255,255,.04), transparent 65%);
  pointer-events:none;
}

.announce a,
.announce span,
.announce-close{
  position:relative;
  z-index:1;
}

.announce-close{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
}

.hero-content,
.port-hero-center,
.ct-hero,
.quote-hero-copy{
  position:relative;
}

.hero-content::after,
.port-hero-center::after,
.ct-hero::after,
.quote-hero-copy::after{
  content:'';
  position:absolute;
  inset:-10% -6%;
  z-index:-1;
  background:
    radial-gradient(circle at center, rgba(255,255,255,.08), transparent 38%),
    radial-gradient(circle at 50% 35%, rgba(249,115,22,.09), transparent 48%);
  filter:blur(18px);
  pointer-events:none;
}

.hero-bg::after{
  background:
    radial-gradient(circle at center, rgba(255,255,255,.06), transparent 28%),
    linear-gradient(180deg, rgba(13,13,13,.42) 0%, rgba(13,13,13,.7) 58%, rgba(13,13,13,.92) 100%);
}

.hero-badge,
.pill-tab,
.hero-stat,
.ct-info-card,
.ct-form-card,
.quote-panel,
.quote-paper-frame,
.feat-card,
.feat2-card,
.svc-card,
.tmpl-card,
.price-card,
.port-card,
.orbit-card,
.fcard,
.info-card,
.faq-item,
.contact-form,
.quote-form-section,
.check-chip,
.sig-panel,
.module-card,
.module-risk-card,
.pricing-hero-card,
.pricing-hero-metrics{
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.022)),
    linear-gradient(180deg, rgba(29,26,23,.96), rgba(14,13,12,.96));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:
    0 18px 46px rgba(0,0,0,.26),
    0 0 0 1px rgba(255,255,255,.015) inset;
}

.feat-card:hover,
.feat2-card:hover,
.svc-card:hover,
.tmpl-card:hover,
.price-card:hover,
.port-card:hover,
.orbit-card:hover,
.fcard:hover,
.ct-info-card:hover,
.ct-form-card:hover,
.quote-panel:hover,
.quote-paper-frame:hover,
.faq-item:hover{
  border-color:rgba(255,255,255,.22);
  box-shadow:
    0 22px 54px rgba(0,0,0,.32),
    0 0 26px rgba(249,115,22,.08);
}

.feat-icon,
.svc-tag,
.tmpl-tag,
.info-card,
.hero-badge,
.quote-totals{
  border-color:rgba(255,255,255,.15);
}

.quote-panel,
.quote-paper-frame{
  background:
    radial-gradient(circle at top right, rgba(249,115,22,.12), transparent 28%),
    linear-gradient(180deg, rgba(31,28,24,.96), rgba(12,11,10,.98));
}

.site-footer{
  background:
    radial-gradient(circle at top left, rgba(249,115,22,.06), transparent 28%),
    linear-gradient(180deg, rgba(18,16,14,.98), rgba(10,10,10,1));
}

.footer-logo-wrap,
.footer-logo-wrap-premium{
  gap:14px;
}

.footer-logo-wrap img,
.footer-logo-wrap-premium img{
  width:72px;
  height:72px;
  max-width:none;
  object-fit:contain;
  filter:none;
  background:none;
  box-shadow:none;
}

.footer-logo-wrap-premium img{
  width:86px;
  height:86px;
}

.footer-brand-col-clean,
.footer-brand-meta,
.footer-logo-wrap-premium{
  background:none;
  border:none;
  box-shadow:none;
}

.form-group label,
.quote-field label,
.form-lbl{
  color:rgba(255,255,255,.82);
}

.form-group input,
.form-group select,
.form-group textarea,
.quote-field input,
.quote-field select,
.quote-field textarea,
.form-inp{
  background:linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
  border-color:rgba(255,255,255,.16);
  color:#fff;
  box-shadow:0 8px 20px rgba(0,0,0,.18) inset;
}

.form-group input::placeholder,
.form-group textarea::placeholder,
.quote-field input::placeholder,
.quote-field textarea::placeholder,
.form-inp::placeholder{
  color:rgba(255,255,255,.54);
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus,
.quote-field input:focus,
.quote-field select:focus,
.quote-field textarea:focus,
.form-inp:focus{
  border-color:rgba(249,115,22,.42);
  background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(249,115,22,.05));
  box-shadow:0 0 0 3px rgba(249,115,22,.1), 0 12px 26px rgba(0,0,0,.16) inset;
}

.form-group select option,
.quote-field select option,
select option{
  background:#ffffff;
  color:#111111;
}

.quote-doc-title,
.quote-total-amount,
.quote-meta-value{
  color:#111;
  text-shadow:none;
}

.quote-paper{
  box-shadow:0 20px 44px rgba(0,0,0,.28);
}

@media(max-width:768px){
  .nav-inner{min-height:76px}
  .nav-logo{
    width:56px;
    height:56px;
  }
  .nav-logo img{
    width:52px;
    height:52px;
  }
  .footer-logo-wrap img,
  .footer-logo-wrap-premium img{
    width:70px;
    height:70px;
  }
}

@media (prefers-reduced-motion:reduce){
  .nav-cta,
  .btn-primary,
  .btn-outline,
  .btn-orange,
  .quote-btn,
  .ct-submit,
  .svc-card,
  .price-card,
  .feat-card,
  .port-card,
  .tmpl-card,
  .orbit-card,
  .fcard,
  .ct-info-card,
  .ct-form-card{
    transition:none !important;
    transform:none !important;
  }
}

/* ── SECTION FLOW — bleed between adjacent differently-coloured sections ── */
.section-dark2{
  position:relative;
}
.section-dark2::before{
  content:'';position:absolute;top:-60px;left:0;right:0;height:60px;
  background:linear-gradient(to bottom,var(--bg) 0%,var(--bg2) 100%);
  pointer-events:none;
}
.section-dark2::after{
  content:'';position:absolute;bottom:-60px;left:0;right:0;height:60px;
  background:linear-gradient(to bottom,var(--bg2) 0%,var(--bg) 100%);
  pointer-events:none;
  z-index:0;
}

/* ── NAV HAMBURGER animation ── */
.nav-ham.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-ham.open span:nth-child(2){opacity:0}
.nav-ham.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ── SPLIT VIS image with side bleed ── */
.split-vis{position:relative;overflow:hidden;border-radius:var(--r4)}
.split-vis img{width:100%;height:100%;object-fit:cover;display:block;border-radius:var(--r4)}
.split-vis::after{
  content:'';position:absolute;top:0;bottom:0;right:0;width:40%;
  background:linear-gradient(to right,transparent,var(--bg));
  pointer-events:none;
}
.section-dark2 .split-vis::after{
  background:linear-gradient(to right,transparent,var(--bg2));
}

/* ── NAV SERVICES BUTTON caret ── */
#svcBtn{
  display:inline-flex;align-items:center;gap:.3rem;
  cursor:pointer;border:none;padding:.4rem .5rem;border-radius:var(--r2);
  background:transparent;color:inherit;font-family:inherit;font-size:.875rem;font-weight:500;
  transition:color .15s;
}
#svcBtn:hover{color:var(--t)}
#svcBtn svg{transition:transform .2s}
#svcBtn[aria-expanded="true"] svg{transform:rotate(180deg)}
#svcBtn[aria-expanded="true"]{color:var(--o)}

/* ── HERO STATS above gradient overlay ── */
.hero-stats{position:relative;z-index:2}

/* ── HERO CONTENT above gradient overlay ── */
.hero-content{position:relative;z-index:2}

/* ── MOBILE NAV child links ── */
.mob-parent{color:#fff !important;font-weight:700}
.mob-child{padding-left:1.25rem;font-size:.88rem;color:rgba(255,255,255,.45) !important}
.mob-child:hover{color:var(--o) !important}

/* ── NAV-DD-ITEM icon svg size fix ── */
.nav-dd-item-icon svg{width:14px;height:14px;display:block}

/* ── #svcBtn — full override to match nav-link look ── */
#svcBtn{
  display:inline-flex;align-items:center;gap:.3rem;
  cursor:pointer;border:none;
  padding:7px 14px;border-radius:var(--pill);
  background:transparent;color:rgba(255,255,255,.55);
  font-family:inherit;font-size:.855rem;font-weight:500;
  transition:color .24s ease,text-shadow .24s ease;position:relative;
}
#svcBtn::after{
  content:'';position:absolute;bottom:0;left:50%;right:50%;height:2px;
  background:var(--o);border-radius:1px;transition:left .2s,right .2s;
}
#svcBtn:hover,#svcBtn[aria-expanded="true"]{color:#fff;text-shadow:0 0 12px rgba(255,255,255,.05)}
#svcBtn[aria-expanded="true"]::after,#svcBtn:hover::after{left:14px;right:14px}
#svcBtn[aria-expanded="true"]{color:var(--o)}
#svcBtn svg{transition:transform .22s;flex-shrink:0}
#svcBtn[aria-expanded="true"] svg{transform:rotate(180deg)}


/* ════════════════════════════════════════════════════════════
   PORTFOLIO PAGE
   ════════════════════════════════════════════════════════════ */

/* ── FLOATING HERO ── */
.port-hero{
  position:relative;
  background:var(--bg);
  overflow:hidden;
  padding:5rem 0 4rem;
}
.port-hero-bg{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 70% 50% at 50% -10%, rgba(249,115,22,.09) 0%, transparent 70%),
    radial-gradient(ellipse 40% 40% at 15% 60%,  rgba(251,146,60,.08) 0%, transparent 70%),
    radial-gradient(ellipse 40% 40% at 85% 60%,  rgba(234,88,12,.06)  0%, transparent 70%);
}
.port-hero-inner{
  display:grid;
  grid-template-columns:220px 1fr 220px;
  align-items:center;
  gap:2rem;
  min-height:80vh;
  position:relative;z-index:1;
}

/* ── FLOATING CARD COLUMNS ── */
.fcard-col{
  display:flex;flex-direction:column;gap:1rem;
  padding:2rem 0;
}
.fcard-col-l{ align-items:flex-start }
.fcard-col-r{ align-items:flex-end }

/* ── INDIVIDUAL FLOATING CARDS ── */
.fcard{
  width:200px;
  background:rgba(22,20,17,.9);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.09);
  border-radius:16px;padding:1rem 1.1rem;
  box-shadow:0 8px 32px rgba(0,0,0,.45);
  transform:rotate(var(--r,0deg));
  animation:card-float 6s ease-in-out infinite;
  animation-delay:var(--d,0s);
}
.fcard:nth-child(even){ transform:rotate(var(--r,0deg)) translateY(12px) }
@keyframes card-float{
  0%,100%{ transform:rotate(var(--r,0deg)) translateY(0) }
  50%    { transform:rotate(var(--r,0deg)) translateY(-12px) }
}
.fcard-icon{
  width:32px;height:32px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid;margin-bottom:.65rem;flex-shrink:0;
}
.fcard-icon svg{width:15px;height:15px;display:block}
.fcard-title{font-size:.88rem;font-weight:700;color:#fff;margin-bottom:.15rem;line-height:1.3}
.fcard-sub{font-size:.7rem;color:rgba(255,255,255,.38);margin-bottom:.65rem;line-height:1.4}
.fcard-bar{height:3px;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden}
.fcard-fill{height:100%;border-radius:2px;transition:width .6s ease}

/* ── CENTRE TEXT ── */
.port-hero-center{
  text-align:center;padding:0 1rem;
}
.port-hero-center h1{
  font-size:clamp(2.6rem,5vw,4.5rem);
  font-weight:800;letter-spacing:-.04em;
  line-height:1.08;margin:.5rem 0 1.1rem;
}
.port-hero-center p{
  font-size:1rem;color:var(--t2);line-height:1.75;
  max-width:420px;margin:0 auto 2rem;
}

/* ── HERO TABS ── */
.port-hero-tabs{
  display:inline-flex;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:50px;padding:4px;gap:4px;
}
.phtab{
  padding:9px 22px;border-radius:50px;border:none;
  background:transparent;color:rgba(255,255,255,.45);
  font-size:.85rem;font-weight:600;font-family:inherit;
  cursor:pointer;transition:all .2s;white-space:nowrap;
}
.phtab.active{background:#fff;color:#0d0d0d}
.phtab:not(.active):hover{color:#fff}

/* ── PORT CARD meta ── */
.port-img{position:relative;overflow:hidden}
.port-img img{width:100%;height:220px;object-fit:cover;display:block;transition:transform .4s;filter:saturate(.85)}
.port-img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to bottom,transparent,rgba(13,13,13,.7));pointer-events:none}
.port-card:hover .port-img img{transform:scale(1.04)}
.port-meta{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--bdr)}
.port-meta span{font-size:.72rem;color:var(--t3);letter-spacing:.04em}

/* ── TEMPLATE CARDS ── */
.tmpl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.tmpl-card{
  background:var(--bg3);border:1px solid var(--bdr);border-radius:20px;
  overflow:hidden;display:flex;flex-direction:column;
  transition:transform .3s,box-shadow .3s,border-color .3s;
}
.tmpl-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(0,0,0,.55);border-color:rgba(249,115,22,.3)}
.tmpl-img{position:relative;overflow:hidden;height:200px}
.tmpl-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s;filter:saturate(.8) brightness(.75)}
.tmpl-card:hover .tmpl-img img{transform:scale(1.05);filter:saturate(.9) brightness(.85)}
.tmpl-img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:60%;background:linear-gradient(to bottom,transparent,rgba(13,13,13,.8));pointer-events:none}
.tmpl-badge{
  position:absolute;top:.75rem;left:.75rem;z-index:2;
  font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;
  padding:.25rem .7rem;border-radius:50px;background:var(--o);color:#fff;
}
.tmpl-badge-new{background:#f97316}
.tmpl-body{padding:1.5rem;display:flex;flex-direction:column;flex:1;gap:.4rem}
.tmpl-tags{display:flex;gap:.4rem;flex-wrap:wrap}
.tmpl-tags span{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.2rem .6rem;border-radius:50px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.1)}
.tmpl-body h3{font-size:1.1rem;font-weight:800;color:#fff;margin:.2rem 0}
.tmpl-body p{font-size:.875rem;color:var(--t2);line-height:1.65;flex:1}
.tmpl-stack{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.4rem}
.tmpl-stack span{font-size:.7rem;color:var(--t3);padding:.15rem .55rem;border-radius:6px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07)}
.tmpl-footer{display:flex;align-items:center;justify-content:space-between;margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--bdr)}
.tmpl-price{font-size:1.5rem;font-weight:800;color:#fff;letter-spacing:-.03em}
.btn-sm{padding:8px 18px;font-size:.83rem}
.tmpl-cta-note{text-align:center;margin-top:3rem;padding:1.75rem;background:rgba(249,115,22,.06);border:1px solid rgba(249,115,22,.2);border-radius:16px}
.tmpl-cta-note p{color:var(--t2);font-size:.95rem}
.tmpl-cta-note a{color:var(--o);font-weight:700}

/* ── RESPONSIVE ── */
@media(max-width:1100px){
  .port-hero-inner{grid-template-columns:180px 1fr 180px;gap:1rem}
  .fcard{width:172px}
}
@media(max-width:860px){
  .port-hero-inner{grid-template-columns:1fr}
  .fcard-col{display:none}
  .tmpl-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:580px){
  .tmpl-grid,.port-grid{grid-template-columns:1fr}
}


/* ════════════════════════════════
   ORBIT (Portfolio Projects)
   ════════════════════════════════ */

.orbit-stage{
  position:relative;
  width:860px;height:860px;
  margin:3rem auto 0;
  /* prevent layout blowout on small screens */
  max-width:100%;
}

/* ── Centre hub ── */
.orbit-center{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  z-index:10;
  pointer-events:none;
}
.orbit-center-inner{
  text-align:center;
  background:rgba(14,13,11,.92);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.1);
  border-radius:50%;
  width:160px;height:160px;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:2px;
  box-shadow:0 0 0 1px rgba(249,115,22,.15),
             0 0 60px rgba(249,115,22,.08),
             0 8px 40px rgba(0,0,0,.6);
}
.orbit-num{font-size:1.6rem;font-weight:800;color:#fff;line-height:1}
.orbit-lbl{font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.4)}
.orbit-divider{width:28px;height:1px;background:rgba(255,255,255,.15);margin:.35rem 0}

/* Decorative rings */
.orbit-ring-deco{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;border:1px solid rgba(255,255,255,.05);
  pointer-events:none;
}
.orbit-ring-deco-1{
  width:280px;height:280px;
  border-color:rgba(249,115,22,.12);
  animation:ring-pulse 4s ease-in-out infinite;
}
.orbit-ring-deco-2{
  width:760px;height:760px;
  border-color:rgba(255,255,255,.05);
}
@keyframes ring-pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(249,115,22,.0)}
  50%    {box-shadow:0 0 0 8px rgba(249,115,22,.06)}
}

/* ── Orbit cards ── */
.orbit-card{
  /* position set by JS */
  width:190px;
  background:rgba(22,20,17,.9);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.09);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 8px 28px rgba(0,0,0,.5);
  cursor:pointer;
  transition:opacity .4s ease, border-color .25s, box-shadow .25s, transform .1s;
  z-index:2;
  /* smooth JS transform */
  will-change:transform;
}
.orbit-card:hover{
  border-color:var(--color,rgba(255,255,255,.25));
  box-shadow:0 12px 40px rgba(0,0,0,.6),
             0 0 0 1px var(--color, rgba(255,255,255,.2));
  z-index:20 !important;
}
.oc-img{
  height:80px;overflow:hidden;position:relative;
}
.oc-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.5) saturate(.7)}
.oc-img::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to bottom,transparent 30%,rgba(14,13,11,.95) 100%);
}
.oc-body{padding:.75rem .9rem .9rem}
.oc-cat{
  font-size:.62rem;font-weight:800;
  text-transform:uppercase;letter-spacing:.1em;
  padding:.18rem .55rem;border-radius:50px;
  border:1px solid;
  display:inline-block;margin-bottom:.4rem;
}
.oc-body h3{
  font-size:.88rem;font-weight:700;color:#fff;
  margin-bottom:.3rem;line-height:1.3;
}
.oc-body p{
  font-size:.72rem;color:rgba(255,255,255,.45);
  line-height:1.55;margin-bottom:.5rem;
}
.oc-stack{
  font-size:.65rem;color:rgba(255,255,255,.28);
  letter-spacing:.03em;
}

/* ── Responsive: collapse orbit to scrollable row on mobile ── */
@media(max-width:900px){
  .orbit-stage{
    width:100%;height:auto;
    display:flex;flex-wrap:wrap;gap:1rem;
    justify-content:center;
  }
  .orbit-center{ display:none }
  .orbit-card{
    position:static !important;
    transform:none !important;
    width:calc(50% - .5rem);
  }
}
@media(max-width:520px){
  .orbit-card{width:100%}
}

/* ── Contact form notice ── */
.form-notice{margin-top:12px;padding:12px 16px;border-radius:10px;font-size:14px;font-weight:600;display:none}
.form-notice-ok{background:rgba(249,115,22,.12);border:1px solid rgba(249,115,22,.25);color:#ffd6b0;display:block}
.form-notice-err{background:rgba(249,115,22,.1);border:1px solid rgba(249,115,22,.2);color:#ffcfab;display:block}

/* ============================================================
   Aegis Labs — premium motion and presentation overrides v3
   Keeps existing brand identity: dark + white + orange only
   ============================================================ */

:root{
  --bg-metal:linear-gradient(180deg,rgba(29,25,21,.96) 0%,rgba(12,11,10,.98) 100%);
  --bg-glass:linear-gradient(180deg,rgba(255,255,255,.055) 0%,rgba(255,255,255,.02) 100%);
  --o2:#ffb15f;
  --o3:#ff8a2a;
}

body{
  background:
    radial-gradient(circle at 12% 0%, rgba(249,115,22,.10), transparent 30%),
    radial-gradient(circle at 88% 18%, rgba(249,115,22,.07), transparent 34%),
    linear-gradient(180deg,#090909 0%,#0e0d0c 34%,#11100f 100%);
}

body::before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(115deg, rgba(255,255,255,.02) 0%, transparent 45%),
    radial-gradient(circle at 50% 0%, rgba(249,115,22,.08), transparent 42%);
  opacity:.8;
  z-index:-2;
}

body::after{
  content:'';
  position:fixed;
  inset:-10%;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px);
  background-size:120px 120px;
  mask-image:radial-gradient(circle at center, rgba(0,0,0,.7), transparent 80%);
  opacity:.18;
  pointer-events:none;
  z-index:-1;
}

.site-nav{
  background:rgba(8,8,8,.78);
  border-bottom-color:rgba(255,255,255,.08);
  box-shadow:0 18px 60px rgba(0,0,0,.35);
}

.nav-inner{height:86px}

.nav-brand{
  gap:16px;
  position:relative;
  align-items:center;
}

.nav-logo{
  width:auto;
  height:auto;
  border-radius:0;
  justify-content:center;
  background:transparent;
  border:none;
  box-shadow:none;
  position:relative;
  overflow:visible;
}

.nav-logo img{
  width:auto;
  height:72px;
  position:relative;
  z-index:1;
  filter:none;
  object-fit:contain;
  max-width:none;
  transition:transform .28s ease;
}

.nav-name{
  display:inline-flex;
  align-items:baseline;
  gap:6px;
  font-size:1.16rem;
  font-weight:700;
  letter-spacing:-.04em;
  color:#fff;
  background:none;
  -webkit-text-fill-color:initial;
}

.nav-name .brand-aegis{
  color:rgba(255,255,255,.98);
  font-weight:800;
}

.nav-name .brand-labs{
  color:rgba(255,255,255,.72);
  font-weight:600;
}

.nav-brand:hover .nav-logo img{
  transform:translateY(-1px);
}

.footer-logo-wrap img{
  width:38px;
  height:38px;
}

.footer-brand-col-clean{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.footer-logo-wrap-premium{
  gap:14px;
}

.footer-logo-wrap-premium img{
  width:76px;
  height:76px;
  object-fit:contain;
  filter:none;
  opacity:1;
  max-width:none;
}

.footer-logo-wrap-premium span{
  display:inline-flex;
  align-items:baseline;
  gap:5px;
  font-size:1.3rem;
  letter-spacing:-.04em;
}

.footer-logo-wrap-premium strong{
  font-weight:800;
  color:#fff;
}

.footer-logo-wrap-premium em{
  font-style:normal;
  font-weight:600;
  color:rgba(255,255,255,.72);
}

.footer-tagline-clean{display:none}
.footer-brand-meta{
  display:flex;
  align-items:flex-start;
  gap:10px;
  max-width:320px;
  font-size:.92rem;
  line-height:1.65;
  color:rgba(255,255,255,.78);
}
.footer-brand-meta svg{
  width:18px;
  height:18px;
  flex-shrink:0;
  margin-top:3px;
  color:var(--o);
}

.footer-col-links-contact{
  gap:.75rem;
}

.footer-contact-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.section,
.cta-band,
.site-footer,
.port-hero,
.ct-grid,
.ct-hero,
.hero-fullbleed{
  position:relative;
}

.section::before,
.cta-band::before,
.site-footer::before{
  content:'';
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(249,115,22,.14), transparent);
  opacity:.55;
  pointer-events:none;
}

.section{overflow:clip}
.section .shell,
.cta-band-inner,
.footer-main{position:relative;z-index:1}

.section-hd,
.hero-content,
.port-hero-center,
.ct-hero{isolation:isolate}

.section-hd::before,
.hero-content::before,
.port-hero-center::before,
.ct-hero::before{
  content:'';
  position:absolute;
  width:260px;
  height:260px;
  left:-90px;
  top:-90px;
  background:radial-gradient(circle, rgba(249,115,22,.12), rgba(249,115,22,0) 68%);
  filter:blur(10px);
  z-index:-1;
}

.btn,
.nav-cta,
.nav-ghost,
.feat-card,
.price-card,
.check-chip,
.faq-item,
.svc-ban-card,
.port-card,
.orbit-card,
.fcard,
.footer-cta-btn{
  transition:transform .28s ease, border-color .28s ease, box-shadow .28s ease, background .28s ease, color .28s ease;
}

.btn,
.nav-cta,
.footer-cta-btn{
  position:relative;
  overflow:hidden;
}

.btn::before,
.nav-cta::before,
.footer-cta-btn::before{
  content:'';
  position:absolute;
  top:0;
  bottom:0;
  left:-120%;
  width:48%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.36), transparent);
  transform:skewX(-24deg);
  transition:left .55s ease;
}

.btn:hover::before,
.nav-cta:hover::before,
.footer-cta-btn:hover::before{
  left:145%;
}

.btn-primary{
  background:linear-gradient(180deg, #fff 0%, #f4ebe0 100%);
  box-shadow:0 16px 36px rgba(0,0,0,.34), 0 0 0 1px rgba(255,255,255,.18) inset;
}

.btn-primary:hover{
  box-shadow:0 18px 42px rgba(249,115,22,.18), 0 0 0 1px rgba(255,255,255,.24) inset;
}

.btn-outline{
  background:rgba(255,255,255,.03);
  border-color:rgba(255,255,255,.18);
  backdrop-filter:blur(10px);
}

.btn-outline:hover{
  background:rgba(249,115,22,.08);
  border-color:rgba(249,115,22,.34);
  box-shadow:0 12px 30px rgba(0,0,0,.28);
}

.feat-card,
.price-card,
.faq-item,
.check-chip,
.filter-btn,
.tmpl-card,
.port-card,
.orbit-card,
.fcard,
.ct-info-card,
.ct-form-card,
.svc-ban-body{
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.01)),
    linear-gradient(180deg, rgba(24,20,17,.98), rgba(12,11,10,.98));
  border-color:rgba(255,255,255,.09);
  box-shadow:0 24px 60px rgba(0,0,0,.22);
}

.feat-card:hover,
.price-card:hover,
.faq-item:hover,
.ct-info-card:hover,
.fcard:hover,
.orbit-card:hover{
  transform:translateY(-6px);
  border-color:rgba(249,115,22,.30);
  box-shadow:0 26px 70px rgba(0,0,0,.34), 0 0 0 1px rgba(249,115,22,.10) inset;
}

.photo-banner,
.cta-band-inner,
.ct-form-card,
.pricing-note,
.port-hero-center{
  box-shadow:0 40px 90px rgba(0,0,0,.28);
}

.reveal-on-scroll{
  opacity:0;
  transform:translateY(32px) scale(.985);
  transition:opacity .8s ease, transform .8s ease;
  will-change:transform, opacity;
}

.reveal-on-scroll.is-visible{
  opacity:1;
  transform:none;
}

.tilt-card{
  transform-style:preserve-3d;
  will-change:transform;
}

.hero-fullbleed,
.port-hero{overflow:hidden}

.hero-fullbleed::after,
.port-hero::after{
  content:'';
  position:absolute;
  inset:auto -8% -12% -8%;
  height:180px;
  background:radial-gradient(circle at center, rgba(249,115,22,.13), transparent 68%);
  filter:blur(18px);
  pointer-events:none;
}

.announce{
  background:linear-gradient(90deg, rgba(249,115,22,.18), rgba(249,115,22,.34), rgba(249,115,22,.18));
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(249,115,22,.16);
  box-shadow:0 10px 28px rgba(0,0,0,.12);
  color:rgba(255,255,255,.92);
  animation:none;
}

.announce a{
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.34);
  transition:border-color .24s ease, opacity .24s ease;
}

.announce a:hover{
  border-color:#fff;
  opacity:1;
}

.ambient-particles{
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
}

.ambient-particles span{
  position:absolute;
  width:6px;
  height:6px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,214,176,.9), rgba(249,115,22,.4) 58%, rgba(249,115,22,0) 72%);
  box-shadow:0 0 18px rgba(249,115,22,.22);
  animation:particleFloat 7s ease-in-out infinite;
}

.section-transition{position:relative}

.section-transition::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:120px;
  background:linear-gradient(180deg, rgba(249,115,22,0) 0%, rgba(249,115,22,.05) 50%, rgba(0,0,0,0) 100%);
  pointer-events:none;
}

.home-signature{margin-top:28px}

.home-signature .shell{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:28px;
  align-items:stretch;
}

.sig-panel,
.sig-stats{
  border:1px solid rgba(255,255,255,.09);
  border-radius:30px;
  overflow:hidden;
  background:
    radial-gradient(circle at top left, rgba(249,115,22,.12), transparent 32%),
    linear-gradient(180deg, rgba(28,24,21,.96), rgba(11,10,10,.98));
  box-shadow:0 34px 90px rgba(0,0,0,.32);
}

.sig-panel{
  padding:34px;
  min-height:390px;
  position:relative;
}

.sig-grid{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:34px 34px;
  mask-image:radial-gradient(circle at center, rgba(0,0,0,.94), transparent 86%);
  opacity:.18;
}

.sig-shield{
  width:min(320px, 78vw);
  aspect-ratio:1;
  margin:0 auto;
  border-radius:34% 34% 28% 28% / 24% 24% 48% 48%;
  position:relative;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 28%, rgba(255,255,255,.28), rgba(255,255,255,.03) 40%, rgba(249,115,22,.10) 56%, rgba(249,115,22,.02) 72%),
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.01));
  border:1px solid rgba(249,115,22,.34);
  box-shadow:0 0 0 1px rgba(255,255,255,.06) inset, 0 0 80px rgba(249,115,22,.15);
}

.sig-shield::before,
.sig-shield::after{
  content:'';
  position:absolute;
  inset:12%;
  border:1px solid rgba(249,115,22,.22);
  border-radius:inherit;
}

.sig-shield::after{
  inset:-10%;
  border-style:dashed;
  border-color:rgba(249,115,22,.12);
  animation:spinSlow 24s linear infinite;
}

.sig-core{
  width:92px;
  height:92px;
  border-radius:24px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg, rgba(249,115,22,.28), rgba(249,115,22,.08));
  border:1px solid rgba(249,115,22,.42);
  box-shadow:0 0 38px rgba(249,115,22,.18);
  font-size:2.2rem;
  font-weight:800;
  color:#fff;
}

.sig-node{
  position:absolute;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(11,10,10,.78);
  backdrop-filter:blur(12px);
  font-size:.75rem;
  color:rgba(255,255,255,.78);
  box-shadow:0 10px 30px rgba(0,0,0,.24);
}

.sig-node[data-pos="1"]{top:18%;left:4%}
.sig-node[data-pos="2"]{top:14%;right:6%}
.sig-node[data-pos="3"]{bottom:24%;left:1%}
.sig-node[data-pos="4"]{bottom:10%;right:8%}

.sig-stats{
  padding:28px;
  display:grid;
  gap:16px;
}

.sig-stat{
  padding:18px 18px 20px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.01));
}

.sig-stat-k{
  display:block;
  font-size:2.05rem;
  line-height:1;
  font-weight:800;
  letter-spacing:-.05em;
  color:#fff;
  margin-bottom:8px;
}

.sig-stat p{font-size:.92rem}

.service-signature{padding-top:0}

.service-module{
  position:relative;
  display:grid;
  gap:24px;
  padding:30px;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.08);
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(249,115,22,.16), transparent 28%),
    linear-gradient(180deg, rgba(25,22,18,.96), rgba(11,10,9,.98));
  box-shadow:0 34px 90px rgba(0,0,0,.28);
}

.service-module::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:38px 38px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.85), transparent 100%);
  opacity:.28;
  pointer-events:none;
}

.service-module > *{position:relative;z-index:1}

.service-module-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:end;
  flex-wrap:wrap;
}

.service-module-head h2{font-size:clamp(1.7rem,3vw,2.8rem)}
.service-module-head p{max-width:540px}

.service-module-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.52);
}

.service-module-kicker::before{
  content:'';
  width:34px;
  height:1px;
  background:linear-gradient(90deg, var(--o), transparent);
}

.module-layout{display:grid;gap:18px}
.module-layout.two{grid-template-columns:1.25fr .95fr}
.module-layout.split{grid-template-columns:repeat(2,minmax(0,1fr))}

.module-card,
.module-browser,
.module-window,
.module-timeline,
.module-stats,
.module-diagram,
.module-chat,
.module-flow,
.module-risk{
  border-radius:24px;
  border:1px solid rgba(255,255,255,.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012)),
    rgba(8,8,8,.56);
  box-shadow:0 20px 50px rgba(0,0,0,.22);
}

.module-card,
.module-timeline,
.module-stats,
.module-flow,
.module-risk{padding:22px}

.module-browser,
.module-window{overflow:hidden}

.module-window-top,
.module-browser-top{
  display:flex;
  align-items:center;
  gap:8px;
  padding:14px 16px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
}

.module-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:rgba(255,255,255,.22);
}

.module-dot:nth-child(2){background:rgba(249,115,22,.55)}
.module-dot:nth-child(3){background:rgba(249,115,22,.28)}

.module-browser-body,
.module-window-body{
  padding:22px;
  display:grid;
  gap:16px;
}

.module-progress{
  height:10px;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  overflow:hidden;
}

.module-progress > span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg, var(--o), var(--o2));
  box-shadow:0 0 24px rgba(249,115,22,.36);
}

.module-badge-row,
.module-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.module-badge,
.module-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 14px;
  border-radius:999px;
  border:1px solid rgba(249,115,22,.22);
  background:rgba(249,115,22,.08);
  color:#fff;
  font-size:.82rem;
  font-weight:700;
}

.module-grid-mini{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.module-mini{
  padding:16px;
  border-radius:18px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);
}

.module-mini strong{
  display:block;
  font-size:1.1rem;
  margin-bottom:6px;
  color:#fff;
}

.module-lines{display:grid;gap:12px}

.module-line{
  display:flex;
  align-items:center;
  gap:12px;
}

.module-line::before{
  content:'';
  width:14px;
  height:14px;
  border-radius:50%;
  background:radial-gradient(circle, var(--o2), var(--o));
  box-shadow:0 0 18px rgba(249,115,22,.34);
  flex-shrink:0;
}

.module-line span{
  padding:10px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);
  flex:1;
}

.module-chat{
  padding:18px;
  display:grid;
  gap:12px;
}

.module-chat-bubble{
  max-width:84%;
  padding:14px 16px;
  border-radius:20px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
}

.module-chat-bubble.user{
  margin-left:auto;
  background:rgba(249,115,22,.12);
  border-color:rgba(249,115,22,.22);
}

.module-matrix{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.module-matrix > div{
  padding:14px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);
  text-align:center;
  font-size:.82rem;
}

.module-timeline{display:grid;gap:14px}

.module-step{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  align-items:start;
}

.module-step-no{
  width:34px;
  height:34px;
  border-radius:12px;
  display:grid;
  place-items:center;
  font-weight:800;
  background:rgba(249,115,22,.12);
  border:1px solid rgba(249,115,22,.26);
  color:#fff;
}

.module-step strong{display:block;margin-bottom:4px}

.module-risk-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.module-risk-card{
  padding:18px;
  border-radius:20px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
}

.module-risk-card .risk{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(249,115,22,.12);
  border:1px solid rgba(249,115,22,.22);
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:10px;
}

.pricing-hero-upgrade{
  margin-top:2.2rem;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:18px;
}

.pricing-hero-card,
.pricing-hero-metrics,
.pricing-security-band{
  border-radius:30px;
  border:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at top right, rgba(249,115,22,.12), transparent 28%),
    linear-gradient(180deg, rgba(25,22,18,.96), rgba(11,10,9,.98));
  box-shadow:0 30px 80px rgba(0,0,0,.28);
}

.pricing-hero-card{padding:28px}
.pricing-hero-card h2{font-size:clamp(1.7rem,3vw,2.7rem);margin-bottom:12px}
.pricing-hero-card p{max-width:580px}

.pricing-highlights{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.pricing-highlight{
  padding:16px;
  border-radius:18px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);
}

.pricing-highlight strong{
  display:block;
  font-size:1.55rem;
  margin-bottom:4px;
}

.pricing-hero-metrics{
  padding:24px;
  display:grid;
  gap:14px;
}

.pricing-metric{
  padding:16px 18px;
  border-radius:20px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);
}

.pricing-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
}

.pricing-tab{
  padding:11px 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
}

.pricing-tab.active{
  background:rgba(249,115,22,.14);
  border-color:rgba(249,115,22,.30);
  color:#fff;
  box-shadow:0 0 0 1px rgba(249,115,22,.10) inset;
}

.price-grid{gap:22px}

.price-card{
  border-radius:28px;
  padding:30px 26px;
}

.price-card.featured{
  transform:translateY(-8px);
  border-color:rgba(249,115,22,.34);
  box-shadow:0 34px 90px rgba(0,0,0,.34), 0 0 0 1px rgba(249,115,22,.14) inset;
}

.price-badge-top{
  background:rgba(249,115,22,.14);
  border:1px solid rgba(249,115,22,.22);
}

.pricing-security-band{
  margin-top:26px;
  padding:28px;
}

.pricing-security-band h2{margin-bottom:12px}

.security-tier-grid{
  margin-top:18px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

.security-tier{
  padding:22px 18px;
  border-radius:24px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  display:grid;
  gap:14px;
}

.security-tier strong{
  display:block;
  font-size:1.22rem;
}

.security-tier .from{
  font-size:1.7rem;
  font-weight:800;
  letter-spacing:-.04em;
}

.security-tier .editable{
  font-size:.72rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:rgba(255,255,255,.46);
}

.security-tier.featured{
  border-color:rgba(249,115,22,.30);
  background:linear-gradient(180deg, rgba(249,115,22,.10), rgba(255,255,255,.03));
}

.ct-wa-btn{
  border-color:rgba(249,115,22,.22);
  background:rgba(249,115,22,.07);
}

.ct-wa-btn:hover{
  background:rgba(249,115,22,.12);
  border-color:rgba(249,115,22,.38);
}

.ct-wa-icon{
  background:linear-gradient(180deg, var(--o-h), var(--o));
}

.form-notice-ok,
.form-notice-err,
.form-fb.ok,
.form-fb.err{
  background:rgba(249,115,22,.08);
  border-color:rgba(249,115,22,.20);
  color:#ffd6b0;
}

.tmpl-badge-new{background:var(--o)}

body[data-route="home"] .hero-fullbleed,
body[data-route="pricing"] .section:first-of-type,
body[data-route^="service-"] section:first-of-type{
  padding-top:clamp(4rem,6vw,5.6rem);
}

body[data-route^="service-"] .photo-banner img{
  filter:saturate(.88) contrast(1.02);
}

@media(max-width:1100px){
  .home-signature .shell,
  .module-layout.two,
  .module-layout.split,
  .pricing-hero-upgrade,
  .security-tier-grid{
    grid-template-columns:1fr;
  }

  .pricing-highlights{grid-template-columns:1fr}
}

@media(max-width:860px){
  .nav-inner{height:76px}
  .nav-logo{
    width:auto;
    height:auto;
  }
  .nav-logo img{
    width:auto;
    height:54px;
  }
  .nav-name{font-size:1rem}
  .service-module,
  .sig-panel,
  .sig-stats,
  .pricing-hero-card,
  .pricing-hero-metrics,
  .pricing-security-band{
    border-radius:24px;
  }
  .module-grid-mini,
  .module-matrix,
  .module-risk-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:640px){
  .service-module,
  .sig-panel,
  .sig-stats,
  .pricing-hero-card,
  .pricing-hero-metrics,
  .pricing-security-band{
    padding:20px;
  }
  .sig-node{
    position:static;
    display:inline-flex;
    margin:8px 8px 0 0;
  }
  .sig-panel{min-height:auto}
  .price-card.featured{transform:none}
  .nav-logo img{height:50px}
  .nav-brand{gap:12px}
  .nav-name{gap:5px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,
  *::before,
  *::after{
    animation:none !important;
    transition:none !important;
  }
  .reveal-on-scroll{
    opacity:1;
    transform:none;
  }
}

@keyframes accentFlow{
  0%{background-position:0% 50%}
  100%{background-position:200% 50%}
}

@keyframes particleFloat{
  0%,100%{transform:translate3d(0,0,0) scale(.85);opacity:.28}
  50%{transform:translate3d(0,-18px,0) scale(1);opacity:.85}
}

@keyframes spinSlow{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}

/* ── Quote page ── */
.quote-page{padding:clamp(3.8rem,7vw,6rem) 0 5rem}
.quote-hero{position:relative;margin-bottom:2rem}
.quote-hero::before{content:'';position:absolute;inset:-10% 8% auto 8%;height:320px;background:radial-gradient(circle, rgba(249,115,22,.18), rgba(249,115,22,0) 62%);filter:blur(30px);pointer-events:none}
.quote-hero-copy{position:relative;z-index:1;max-width:760px}
.quote-hero-copy h1{font-size:clamp(2.8rem,6vw,5rem);margin-bottom:1rem}
.quote-hero-copy p{max-width:620px;font-size:1.06rem}
.quote-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr);gap:30px;align-items:start}
.quote-panel,.quote-paper-frame{border:1px solid rgba(255,255,255,.08);border-radius:30px;background:radial-gradient(circle at top right, rgba(249,115,22,.14), transparent 30%),linear-gradient(180deg, rgba(25,22,18,.95), rgba(11,10,9,.98));box-shadow:0 34px 90px rgba(0,0,0,.30)}
.quote-panel{backdrop-filter:blur(16px);overflow:hidden}
.quote-panel-head{padding:22px 26px 0}
.quote-panel-head h2{font-size:1.5rem}
.quote-panel-head p{margin-top:8px;font-size:.95rem}
.quote-panel-body,.quote-paper-frame{padding:24px 26px 26px}
.quote-form,.quote-form-section,.quote-items{display:grid;gap:22px}
.quote-form-section{gap:14px;padding:18px;border-radius:24px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.01))}
.quote-form-section h3{font-size:.98rem;letter-spacing:.08em;text-transform:uppercase}
.quote-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.quote-field{display:grid;gap:7px}
.quote-field.full{grid-column:1 / -1}
.quote-field label{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.56);font-weight:700}
.quote-field input,.quote-field select,.quote-field textarea{width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);border-radius:14px;color:#fff;font:inherit;padding:12px 14px;transition:border-color .22s ease,background .22s ease,box-shadow .22s ease}
.quote-field select,.form-group select{appearance:auto}
.quote-field select,.form-group select{color:#fff}
.quote-field select option,.form-group select option,select option{color:#111;background:#fff}
.quote-field input:focus,.quote-field select:focus,.quote-field textarea:focus{outline:none;border-color:rgba(249,115,22,.42);background:rgba(249,115,22,.05);box-shadow:0 0 0 3px rgba(249,115,22,.08)}
.quote-field input.field-error,.quote-field select.field-error,.quote-field textarea.field-error{border-color:#ff8a65;box-shadow:0 0 0 3px rgba(255,138,101,.18)}
.quote-field textarea{min-height:110px;resize:vertical}
.quote-actions,.quote-preview-tools{display:flex;flex-wrap:wrap;gap:12px}
.quote-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#fff;font:inherit;font-weight:700;transition:transform .22s ease,border-color .22s ease,background .22s ease}
.quote-btn:hover{transform:translateY(-2px);border-color:rgba(249,115,22,.30);background:rgba(249,115,22,.10)}
.quote-btn-primary{background:linear-gradient(180deg, rgba(249,115,22,.98), rgba(234,88,12,.98));border-color:rgba(249,115,22,.48);box-shadow:0 20px 45px rgba(249,115,22,.18)}
.quote-btn-primary#downloadPdfBtn{padding:14px 22px;font-size:.95rem;box-shadow:0 24px 54px rgba(249,115,22,.22)}
.quote-item-row{display:grid;grid-template-columns:72px minmax(0,1fr) 140px 44px;gap:10px;align-items:end}
.quote-remove{width:44px;height:44px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);color:rgba(255,255,255,.76)}
.quote-totals{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:18px;border:1px solid rgba(249,115,22,.16);background:rgba(249,115,22,.08)}
.quote-preview-wrap{position:sticky;top:110px}
.quote-paper{width:100%;max-width:860px;margin:0 auto;background:#fff;color:#151515;border-radius:18px;padding:52px 50px 48px;box-shadow:0 12px 30px rgba(0,0,0,.20);aspect-ratio:210 / 297}
.quote-paper.quote-paper-export{
  background:#fff !important;
  color:#111 !important;
  box-shadow:none !important;
  filter:none !important;
  backdrop-filter:none !important;
  transform:none !important;
  animation:none !important;
}
.quote-paper.quote-paper-export *{
  color:#111 !important;
  filter:none !important;
  backdrop-filter:none !important;
  transform:none !important;
  animation:none !important;
  text-shadow:none !important;
}
.quote-paper.quote-paper-export .quote-doc-rule,
.quote-paper.quote-paper-export .quote-payment-grid,
.quote-paper.quote-paper-export .quote-scope-list,
.quote-paper.quote-paper-export .quote-total-band{
  border-color:#c8ccd2 !important;
}
.quote-doc-top{text-align:center}
.quote-doc-logo{width:auto;height:118px;object-fit:contain;max-width:none;margin:0 auto 12px;display:block;filter:none}
.quote-doc-tag,.quote-meta-label,.quote-block-title,.quote-section-title,.quote-payment-col strong{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}
.quote-doc-title{margin:28px 0 10px;font-size:2.35rem;letter-spacing:.34em;text-transform:uppercase;font-weight:800}
.quote-doc-rule{border:none;border-top:1px solid #d4d8de;margin:0}
.quote-meta-grid,.quote-party-grid,.quote-payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:22px}
.quote-payment-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px;border-top:1px solid #d6dbe1;border-bottom:1px solid #d6dbe1}
.quote-col{padding:0 20px}
.quote-payment-col{padding:16px 14px;min-width:0;display:grid;gap:8px;align-content:start}
.quote-col + .quote-col,.quote-payment-col + .quote-payment-col{border-left:1px solid #d6dbe1}
.quote-payment-col span{display:block;word-break:break-word;overflow-wrap:anywhere;min-height:1.5em}
.quote-scope-list{border-top:1px solid #d6dbe1}
.quote-scope-row{display:grid;grid-template-columns:48px minmax(0,1fr) 130px;gap:16px;align-items:start;padding:14px 0;border-bottom:1px solid #e2e6ea}
.quote-scope-price,.quote-total-amount{font-weight:800;text-align:right}
.quote-total-band{margin-top:24px;display:grid;grid-template-columns:1fr 1.2fr;align-items:center;background:#eff2f5;border:1px solid #d8dde2}
.quote-total-label,.quote-total-amount{padding:20px 24px}
.quote-total-amount{border-left:1px solid #d8dde2;font-size:2rem}
.quote-doc-foot{margin-top:34px;text-align:center;position:relative;font-size:1rem;color:#232323;font-weight:600}
.quote-doc-foot::before,.quote-doc-foot::after{content:'//';position:absolute;bottom:0;color:#5e6165;font-weight:700}
.quote-doc-foot::before{left:0}.quote-doc-foot::after{right:0}
.quote-request-card{margin-top:22px}
.quote-helper-note{
  font-size:.82rem;
  color:rgba(255,255,255,.56);
  line-height:1.6;
}
.hp-field{
  position:absolute !important;
  left:-9999px !important;
  opacity:0 !important;
  pointer-events:none !important;
}
@media(max-width:1180px){.quote-grid{grid-template-columns:1fr}.quote-preview-wrap{position:static}}
@media(max-width:900px){.quote-fields,.quote-item-row,.quote-meta-grid,.quote-party-grid,.quote-payment-grid,.quote-total-band{grid-template-columns:1fr}.quote-col + .quote-col,.quote-payment-col + .quote-payment-col,.quote-total-amount{border-left:none;border-top:1px solid #d6dbe1}.quote-paper{aspect-ratio:auto;padding:34px 24px 30px}}
