/*
Theme Name: GMB Expert USA
Theme URI: https://gmbexpertusa.com/
Author: Hemant Chaudhary
Author URI: https://hemantchaudhary.info/
Description: A fast, schema-rich, two-page WordPress theme built for a US Local SEO and Google Business Profile consultancy. Ships with a 3D animated search hero, service and pricing blocks, a results slider, FAQ schema, AEO/GEO ready markup and a nationwide service-area footer. No map embed, no page builder, no bloat.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gmbexpertusa
Tags: local-seo, business, one-column, custom-logo, custom-menu, featured-images, block-styles, wide-blocks, translation-ready
*/

/* ============================================================
   1. TOKENS
   ============================================================ */

:root{
  /* Palette: night-map navy, beacon amber, rank mint */
  --ink:        #060D22;
  --ink-2:      #0B1430;
  --ink-3:      #121D42;
  --ink-4:      #1B2856;
  --beacon:     #FFC24A;
  --beacon-2:   #F09B12;
  --rank:       #35E0A5;
  --paper:      #FBFAF6;
  --paper-2:    #F1F0EA;
  --slate:      #93A2C8;
  --slate-2:    #6C7CA6;
  --line:       rgba(147,162,200,.16);
  --line-2:     rgba(147,162,200,.30);
  --line-dark:  rgba(6,13,34,.10);

  --glow-beacon: 0 0 0 1px rgba(255,194,74,.28), 0 18px 50px -12px rgba(255,194,74,.34);
  --glow-rank:   0 0 0 1px rgba(53,224,165,.30), 0 18px 44px -14px rgba(53,224,165,.30);
  --lift-1: 0 1px 2px rgba(6,13,34,.06), 0 8px 24px -10px rgba(6,13,34,.14);
  --lift-2: 0 2px 6px rgba(6,13,34,.08), 0 26px 60px -20px rgba(6,13,34,.28);
  --lift-3: 0 40px 90px -30px rgba(6,13,34,.55);

  --font-display: "Bricolage Grotesque", "Inter Tight", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body:    "Inter Tight", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono:    "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  --wrap: 1200px;
  --wrap-narrow: 760px;
  --pad: clamp(1.15rem, 4vw, 2.5rem);
  --gap: clamp(1.15rem, 2.4vw, 2rem);
  --sec: clamp(4.5rem, 9vw, 8.5rem);
  --r-sm: 10px;
  --r:    16px;
  --r-lg: 24px;
  --r-xl: 34px;

  --ease: cubic-bezier(.22,.61,.36,1);
  --ease-out: cubic-bezier(.16,1,.3,1);
}

/* ============================================================
   2. RESET / BASE
   ============================================================ */

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:88px; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:clamp(1rem,.96rem + .22vw,1.075rem);
  line-height:1.62;
  font-weight:420;
  letter-spacing:-.005em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

img,svg,video{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration-thickness:1px; text-underline-offset:3px; }
button{ font:inherit; color:inherit; }

h1,h2,h3,h4,h5{
  font-family:var(--font-display);
  font-weight:650;
  letter-spacing:-.032em;
  line-height:1.06;
  margin:0 0 .55em;
  text-wrap:balance;
}
h1{ font-size:clamp(2.25rem,1.6rem + 2.5vw,3.6rem); }
h2{ font-size:clamp(1.95rem,1.3rem + 2.9vw,3.35rem); }
h3{ font-size:clamp(1.2rem,1.05rem + .75vw,1.6rem); letter-spacing:-.024em; }
h4{ font-size:1.06rem; letter-spacing:-.018em; }
p{ margin:0 0 1.05em; text-wrap:pretty; }
p:last-child{ margin-bottom:0; }

::selection{ background:var(--beacon); color:var(--ink); }

:focus-visible{
  outline:2.5px solid var(--beacon);
  outline-offset:3px;
  border-radius:4px;
}

.skip{
  position:absolute; left:-9999px; top:0; z-index:999;
  background:var(--ink); color:var(--paper);
  padding:.85rem 1.35rem; border-radius:0 0 var(--r-sm) 0; font-weight:600;
}
.skip:focus{ left:0; }

.sr{
  position:absolute!important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* ============================================================
   3. LAYOUT PRIMITIVES
   ============================================================ */

.wrap{ width:min(100% - (var(--pad) * 2), var(--wrap)); margin-inline:auto; }
.wrap-narrow{ width:min(100% - (var(--pad) * 2), var(--wrap-narrow)); margin-inline:auto; }
.sec{ padding-block:var(--sec); position:relative; }
.sec-tight{ padding-block:clamp(3rem,6vw,5rem); }
.dark{ background:var(--ink); color:var(--paper); }
.dark h1,.dark h2,.dark h3,.dark h4{ color:#fff; }
.tint{ background:var(--paper-2); }

.eyebrow{
  font-family:var(--font-mono);
  font-size:.685rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--beacon-2);
  display:inline-flex; align-items:center; gap:.6rem;
  margin:0 0 1.15rem;
}
.dark .eyebrow,
.hero .eyebrow,
.cta-band .eyebrow,
.page-hero .eyebrow{ color:var(--beacon); }
.eyebrow::before{
  content:""; width:26px; height:1px; background:currentColor; opacity:.55;
}

.lede{
  font-size:clamp(1.06rem,1rem + .38vw,1.24rem);
  color:var(--slate-2);
  max-width:62ch;
  line-height:1.6;
}
.dark .lede,
.page-hero .lede{ color:var(--slate); }

.sec-head{ max-width:70ch; margin-bottom:clamp(2.4rem,4.5vw,3.8rem); }

/* ============================================================
   4. BUTTONS
   ============================================================ */

.btn{
  --btn-bg:var(--beacon);
  --btn-fg:var(--ink);
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  padding:.95rem 1.6rem;
  background:var(--btn-bg); color:var(--btn-fg);
  border:1px solid transparent; border-radius:100px;
  font-family:var(--font-body); font-weight:620; font-size:.95rem; letter-spacing:-.012em;
  text-decoration:none; cursor:pointer; white-space:nowrap;
  transition:transform .28s var(--ease-out), box-shadow .28s var(--ease-out), background .2s;
  box-shadow:0 1px 0 rgba(255,255,255,.35) inset, 0 12px 28px -12px rgba(242,155,18,.7);
  will-change:transform;
}
.btn:hover{ transform:translateY(-2px); box-shadow:0 1px 0 rgba(255,255,255,.35) inset, 0 18px 36px -12px rgba(242,155,18,.8); }
.btn:active{ transform:translateY(0); }
.btn svg{ width:17px; height:17px; flex:none; }

.btn-ghost{
  --btn-bg:transparent; --btn-fg:var(--ink);
  border-color:var(--line-dark); box-shadow:none;
}
.btn-ghost:hover{ border-color:var(--ink); box-shadow:none; background:rgba(6,13,34,.03); }
.dark .btn-ghost,
.hero .btn-ghost,
.cta-band .btn-ghost,
.page-hero .btn-ghost,
.trustbar .btn-ghost{ --btn-fg:#fff; border-color:rgba(255,255,255,.26); }
.dark .btn-ghost:hover,
.hero .btn-ghost:hover,
.cta-band .btn-ghost:hover,
.page-hero .btn-ghost:hover,
.trustbar .btn-ghost:hover{ border-color:rgba(255,255,255,.62); background:rgba(255,255,255,.06); }

.btn-mint{ --btn-bg:var(--rank); box-shadow:0 1px 0 rgba(255,255,255,.35) inset, 0 12px 28px -12px rgba(53,224,165,.7); }
.btn-mint:hover{ box-shadow:0 1px 0 rgba(255,255,255,.35) inset, 0 18px 36px -12px rgba(53,224,165,.8); }

.btn-sm{ padding:.7rem 1.2rem; font-size:.875rem; }
.btn-block{ width:100%; }

.btn-row{ display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; }

/* ============================================================
   5. HEADER
   ============================================================ */

.site-head{
  position:sticky; top:0; z-index:200;
  background:rgba(6,13,34,.82);
  backdrop-filter:saturate(160%) blur(18px);
  -webkit-backdrop-filter:saturate(160%) blur(18px);
  border-bottom:1px solid rgba(255,255,255,.07);
  color:var(--paper);
  transition:background .3s;
}
.site-head.is-solid{ background:rgba(6,13,34,.96); }
.head-inner{
  display:flex; align-items:center; gap:clamp(1rem,2.5vw,2.4rem);
  min-height:72px; padding-block:.7rem;
}

.brand{ display:flex; align-items:center; gap:.7rem; text-decoration:none; color:#fff; flex:none; }
.brand-mark{
  width:38px; height:38px; border-radius:11px; flex:none;
  background:linear-gradient(150deg,var(--beacon) 0%,var(--beacon-2) 100%);
  display:grid; place-items:center;
  box-shadow:0 6px 18px -6px rgba(255,194,74,.75);
}
.brand-mark svg{ width:20px; height:20px; }
.brand-text{ display:flex; flex-direction:column; line-height:1.08; }
.brand-name{ font-family:var(--font-display); font-weight:700; font-size:1.06rem; letter-spacing:-.03em; }
.brand-sub{ font-family:var(--font-mono); font-size:.6rem; letter-spacing:.15em; text-transform:uppercase; color:var(--slate); }
.brand img{ max-height:44px; width:auto; }

.nav{ margin-left:auto; }
.nav ul{ list-style:none; display:flex; align-items:center; gap:clamp(.5rem,1.6vw,1.5rem); margin:0; padding:0; }
.nav a{
  text-decoration:none; font-size:.92rem; font-weight:500; color:var(--slate);
  padding:.45rem .1rem; position:relative; transition:color .2s; white-space:nowrap;
}
.nav a:hover,.nav .current-menu-item > a{ color:#fff; }
.nav a::after{
  content:""; position:absolute; left:0; right:100%; bottom:0; height:1.5px;
  background:var(--beacon); transition:right .3s var(--ease-out);
}
.nav a:hover::after{ right:0; }

.head-cta{ display:flex; align-items:center; gap:.6rem; flex:none; }
.head-phone{
  display:inline-flex; align-items:center; gap:.45rem;
  font-family:var(--font-mono); font-size:.83rem; font-weight:500; color:#fff;
  text-decoration:none; padding:.55rem .9rem; border-radius:100px;
  border:1px solid rgba(255,255,255,.16); transition:border-color .2s, background .2s;
}
.head-phone:hover{ border-color:var(--beacon); background:rgba(255,194,74,.08); }
.head-phone svg{ width:14px; height:14px; color:var(--rank); }

.burger{
  display:none; width:42px; height:42px; border:1px solid rgba(255,255,255,.18);
  background:transparent; border-radius:11px; cursor:pointer; padding:0;
  align-items:center; justify-content:center; flex:none;
}
.burger span{ display:block; width:17px; height:1.5px; background:#fff; position:relative; transition:.3s var(--ease); }
.burger span::before,.burger span::after{
  content:""; position:absolute; left:0; width:17px; height:1.5px; background:#fff; transition:.3s var(--ease);
}
.burger span::before{ top:-5.5px; } .burger span::after{ top:5.5px; }
.burger[aria-expanded="true"] span{ background:transparent; }
.burger[aria-expanded="true"] span::before{ top:0; transform:rotate(45deg); }
.burger[aria-expanded="true"] span::after{ top:0; transform:rotate(-45deg); }

@media (max-width:1040px){
  .nav{
    position:fixed; inset:72px 0 auto; background:rgba(6,13,34,.985);
    backdrop-filter:blur(20px); border-bottom:1px solid rgba(255,255,255,.09);
    padding:1.1rem var(--pad) 1.7rem; margin:0;
    transform:translateY(-12px); opacity:0; pointer-events:none; transition:.3s var(--ease-out);
    max-height:calc(100dvh - 72px); overflow-y:auto;
  }
  .nav.is-open{ transform:none; opacity:1; pointer-events:auto; }
  .nav ul{ flex-direction:column; align-items:stretch; gap:0; }
  .nav li{ border-bottom:1px solid rgba(255,255,255,.07); }
  .nav a{ display:block; padding:.95rem 0; font-size:1.02rem; color:#fff; }
  .nav a::after{ display:none; }
  .burger{ display:flex; margin-left:auto; order:3; }
  .head-cta{ order:2; margin-left:auto; }
  .head-cta .btn{ display:none; }
}
@media (max-width:620px){
  .head-phone span{ display:none; }
  .head-phone{ padding:.6rem .7rem; }
  .brand-sub{ display:none; }
}

/* ============================================================
   6. HERO  (signature: 3D SERP stack)
   ============================================================ */

.hero{
  position:relative; background:var(--ink); color:var(--paper);
  padding-block:clamp(3.5rem,7vw,6rem) clamp(4rem,8vw,7rem);
  overflow:hidden; isolation:isolate;
}
.hero::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(90% 60% at 78% 8%, rgba(255,194,74,.13), transparent 62%),
    radial-gradient(70% 55% at 8% 92%, rgba(53,224,165,.11), transparent 60%),
    linear-gradient(180deg,#060D22 0%,#0A1330 55%,#060D22 100%);
}
/* faint map grid */
.hero::after{
  content:""; position:absolute; inset:0; z-index:0; opacity:.5;
  background-image:
    linear-gradient(rgba(147,162,200,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(147,162,200,.055) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(70% 60% at 50% 40%, #000 20%, transparent 82%);
  -webkit-mask-image:radial-gradient(70% 60% at 50% 40%, #000 20%, transparent 82%);
}
.hero > *{ position:relative; z-index:2; }

.hero-video{
  position:absolute; inset:0; z-index:1; width:100%; height:100%;
  object-fit:cover; opacity:.30; filter:saturate(115%) contrast(105%);
  pointer-events:none;
}
.hero-video-scrim{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg,rgba(6,13,34,.72),rgba(6,13,34,.55) 40%,rgba(6,13,34,.9));
  pointer-events:none;
}

.hero-grid{
  display:grid; gap:clamp(2.5rem,5vw,4rem);
  grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  align-items:center;
}
@media (max-width:1000px){ .hero-grid{ grid-template-columns:minmax(0,1fr); } }
.hero-grid > *{ min-width:0; }

.badge{
  display:inline-flex; align-items:center; gap:.55rem;
  padding:.42rem .95rem .42rem .55rem; border-radius:100px;
  background:rgba(53,224,165,.09); border:1px solid rgba(53,224,165,.26);
  font-family:var(--font-mono); font-size:.7rem; letter-spacing:.09em; text-transform:uppercase;
  color:var(--rank); font-weight:600; margin-bottom:1.5rem;
  flex-wrap:nowrap; max-width:100%; line-height:1.5; align-items:flex-start;
}
.badge > span:not(.badge-dot){ min-width:0; }
.badge-dot{ margin-top:.42em; }
@media (max-width:520px){ .badge{ font-size:.63rem; letter-spacing:.07em; } }
.badge-dot{
  width:7px; height:7px; border-radius:50%; background:var(--rank); flex:none;
  box-shadow:0 0 0 0 rgba(53,224,165,.65); animation:pulse 2.4s infinite;
}
@keyframes pulse{
  70%{ box-shadow:0 0 0 9px rgba(53,224,165,0); }
  100%{ box-shadow:0 0 0 0 rgba(53,224,165,0); }
}

.hero h1{ color:#fff; margin-bottom:.5em; }
.hero h1 em{
  font-style:normal; position:relative;
  background:linear-gradient(100deg,var(--beacon) 10%,#FFE0A0 55%,var(--beacon) 90%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-lede{ font-size:clamp(1.05rem,1rem + .42vw,1.26rem); color:var(--slate); max-width:56ch; margin-bottom:2rem; }

.hero-note{
  margin-top:1.4rem; font-size:.85rem; color:var(--slate-2);
  display:flex; flex-wrap:wrap; gap:.4rem 1.1rem;
}
.hero-note span{ display:inline-flex; align-items:center; gap:.4rem; }
.hero-note span::before{ content:""; width:5px; height:5px; border-radius:50%; background:var(--beacon); }

/* --- The 3D stage --- */
.stage{
  perspective:1500px; perspective-origin:50% 42%;
  position:relative; min-width:0; max-width:100%;
  min-height:clamp(430px,48vw,560px);
}
.deck{
  position:relative; width:100%; min-width:0; max-width:100%; transform-style:preserve-3d;
  transform:rotateX(var(--rx,11deg)) rotateY(var(--ry,-13deg)) rotateZ(1deg);
  transition:transform .5s var(--ease-out);
  animation:deck-in 1.15s var(--ease-out) both;
}
@keyframes deck-in{
  from{ opacity:0; transform:rotateX(24deg) rotateY(-26deg) translateY(46px) scale(.92); }
}

.panel{
  position:absolute; left:0; right:0; min-width:0; max-width:100%;
  background:linear-gradient(165deg,rgba(18,29,66,.94),rgba(11,20,48,.97));
  border:1px solid rgba(147,162,200,.20);
  border-radius:var(--r-lg);
  box-shadow:var(--lift-3);
  backdrop-filter:blur(8px);
  padding:1.05rem 1.15rem;
}
.panel svg{ width:14px; height:14px; flex:none; }
.panel-head{
  display:flex; align-items:center; gap:.5rem; margin-bottom:.85rem;
  font-family:var(--font-mono); font-size:.62rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--slate-2);
}

/* Layer A: query bar */
.p-query{
  top:0; z-index:3; transform:translateZ(84px);
  width:min(100%,430px);
  padding:.85rem 1rem;
  display:flex; align-items:center; gap:.75rem;
  border-radius:100px;
  background:linear-gradient(165deg,rgba(24,37,80,.97),rgba(13,22,52,.99));
  box-shadow:0 30px 70px -24px rgba(0,0,0,.75), var(--glow-beacon);
}
.p-query .q-ico{ width:18px!important; height:18px!important; color:var(--beacon); flex:none; }
.q-text{
  font-family:var(--font-body); font-size:.98rem; color:#fff; font-weight:500;
  white-space:nowrap; overflow:hidden; text-overflow:clip; min-width:0; flex:1 1 auto;
}
.q-caret{
  display:inline-block; width:1.5px; height:1.05em; background:var(--beacon);
  vertical-align:-.15em; margin-left:2px; animation:blink 1.05s steps(2) infinite;
}
@keyframes blink{ 50%{ opacity:0; } }
.q-badge{
  margin-left:auto; flex:none; font-family:var(--font-mono); font-size:.58rem;
  letter-spacing:.13em; color:var(--slate-2); text-transform:uppercase;
}

/* Layer B: local 3-pack */
.p-pack{
  top:82px; z-index:2; transform:translateZ(34px);
  width:min(100%,470px);
}
.pack-row{
  display:flex; align-items:center; gap:.75rem;
  padding:.65rem .7rem; border-radius:12px;
  border:1px solid transparent;
  transition:all .65s var(--ease-out);
}
.pack-row + .pack-row{ margin-top:.3rem; }
.pack-rank{
  width:22px; height:22px; border-radius:7px; flex:none; display:grid; place-items:center;
  font-family:var(--font-mono); font-size:.7rem; font-weight:600;
  background:rgba(147,162,200,.13); color:var(--slate);
}
.pack-body{ min-width:0; flex:1 1 0; overflow:hidden; }
.pack-name{ font-size:.86rem; font-weight:600; color:#E8ECF7; letter-spacing:-.015em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pack-meta{ font-size:.7rem; color:var(--slate-2); display:flex; align-items:center; gap:.4rem; margin-top:.12rem; }
.stars{ color:var(--beacon); letter-spacing:-.5px; font-size:.72rem; }
.pack-cta{
  flex:none; font-family:var(--font-mono); font-size:.56rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--slate-2); border:1px solid var(--line);
  padding:.22rem .5rem; border-radius:5px;
}

.pack-row.is-you{
  background:linear-gradient(100deg,rgba(53,224,165,.13),rgba(53,224,165,.03));
  border-color:rgba(53,224,165,.34);
  box-shadow:var(--glow-rank);
}
.pack-row.is-you .pack-rank{ background:var(--rank); color:var(--ink); }
.pack-row.is-you .pack-name{ color:#fff; }
.pack-row.is-you .pack-cta{ color:var(--rank); border-color:rgba(53,224,165,.4); }

.rank-jump{
  position:absolute; right:.85rem; top:.5rem;
  font-family:var(--font-mono); font-size:.6rem; font-weight:600;
  color:var(--rank); opacity:0; transform:translateY(6px);
  transition:.5s var(--ease-out) .3s;
}
.deck.is-live .rank-jump{ opacity:1; transform:none; }

/* Layer C: AI Overview */
.p-ai{
  top:352px; z-index:1; transform:translateZ(-30px);
  width:min(100%,455px); margin-left:auto; right:0; left:auto;
  border-color:rgba(255,194,74,.24);
  opacity:0; transition:opacity .7s var(--ease-out) .5s, transform .7s var(--ease-out) .5s;
}
.deck.is-live .p-ai{ opacity:1; }
.p-ai .panel-head{ color:var(--beacon); }
.ai-spark{ width:13px; height:13px; }
.ai-body{ font-size:.83rem; line-height:1.62; color:#C9D2E8; }
.ai-body strong{ color:#fff; font-weight:650; }
.ai-body mark{ background:rgba(255,194,74,.22); color:var(--beacon); padding:0 .22em; border-radius:3px; }
.ai-src{
  margin-top:.7rem; padding-top:.6rem; border-top:1px solid var(--line);
  display:flex; gap:.4rem; flex-wrap:wrap;
}
.ai-src i{
  font-style:normal; font-family:var(--font-mono); font-size:.55rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--slate-2);
  border:1px solid var(--line); padding:.2rem .45rem; border-radius:100px;
}

/* ambient pins */
.pin{
  position:absolute; width:11px; height:11px; border-radius:50% 50% 50% 0;
  background:var(--beacon); transform:rotate(-45deg); z-index:0;
  box-shadow:0 0 16px rgba(255,194,74,.85);
  animation:float 5.5s ease-in-out infinite;
}
.pin::after{ content:""; position:absolute; inset:3px; border-radius:50%; background:var(--ink); }
.pin-1{ top:6%;  right:2%;  animation-delay:0s; }
.pin-2{ top:56%; left:-3%;  animation-delay:1.4s; background:var(--rank); box-shadow:0 0 16px rgba(53,224,165,.8); }
.pin-3{ bottom:8%; left:26%; animation-delay:2.7s; }
@keyframes float{ 50%{ transform:rotate(-45deg) translate(0,-13px); } }

@media (prefers-reduced-motion: reduce){
  .deck,.pin,.badge-dot,.q-caret{ animation:none!important; }
  .deck{ transform:none!important; }
  .p-ai{ opacity:1!important; }
  .hero-video{ display:none; }
}
@media (max-width:1000px){
  .stage{ min-height:0; perspective:none; margin-top:.5rem; }
  .deck{ transform:none!important; animation:none; }
  .panel{ position:static; margin:0 auto .85rem; box-shadow:var(--lift-2); }
  .p-query,.p-pack,.p-ai{ width:100%; max-width:520px; }
  .p-ai{ opacity:1; margin-inline:auto; }
}

/* ============================================================
   7. TRUST BAR
   ============================================================ */

.trustbar{
  border-block:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,#08102A,#060D22);
  color:var(--paper);
  padding-block:clamp(2.2rem,4vw,3.2rem);
}
.stat-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-lg); overflow:hidden;
}
.stat{
  background:#080F27; padding:clamp(1.3rem,2.6vw,1.9rem);
  display:flex; flex-direction:column; gap:.35rem;
}
.stat-n{
  font-family:var(--font-display); font-size:clamp(1.9rem,1.3rem + 1.9vw,2.9rem);
  font-weight:700; letter-spacing:-.045em; line-height:1;
  background:linear-gradient(160deg,#fff 30%,var(--beacon) 130%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.stat-l{ font-size:.845rem; color:var(--slate); line-height:1.45; }
@media (max-width:820px){ .stat-grid{ grid-template-columns:repeat(2,1fr); } }

/* ============================================================
   8. CARD GRIDS (services, industries, process)
   ============================================================ */

.grid{ display:grid; gap:var(--gap); }
.g-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.g-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.g-4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:1000px){ .g-3,.g-4{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:680px){ .g-2,.g-3,.g-4{ grid-template-columns:1fr; } }

.card{
  position:relative; background:#fff; border:1px solid var(--line-dark);
  border-radius:var(--r-lg); padding:clamp(1.5rem,2.6vw,2rem);
  box-shadow:var(--lift-1);
  transition:transform .4s var(--ease-out), box-shadow .4s var(--ease-out), border-color .3s;
  display:flex; flex-direction:column;
  transform-style:preserve-3d;
}
.card:hover{ transform:translateY(-5px); box-shadow:var(--lift-2); border-color:rgba(6,13,34,.2); }
.card-ico{
  width:46px; height:46px; border-radius:13px; display:grid; place-items:center;
  background:linear-gradient(155deg,var(--ink-3),var(--ink)); color:var(--beacon);
  margin-bottom:1.15rem; flex:none;
  box-shadow:0 10px 24px -12px rgba(6,13,34,.6);
}
.card-ico svg{ width:21px; height:21px; }
.card h3{ margin-bottom:.5rem; }
.card p{ color:var(--slate-2); font-size:.95rem; }
.card ul{
  list-style:none; margin:1rem 0 0; padding:0;
  display:flex; flex-direction:column; gap:.5rem; font-size:.885rem; color:var(--slate-2);
}
.card ul li{ display:flex; gap:.6rem; align-items:flex-start; line-height:1.5; }
.card ul li::before{
  content:""; width:5px; height:5px; border-radius:50%; background:var(--beacon-2);
  flex:none; margin-top:.55em;
}
.card-num{
  position:absolute; top:1.35rem; right:1.5rem;
  font-family:var(--font-mono); font-size:.7rem; letter-spacing:.14em;
  color:var(--line-2); font-weight:600;
}

.chiprow{ display:flex; flex-wrap:wrap; gap:.55rem; }
.chip{
  font-size:.845rem; padding:.5rem .95rem; border-radius:100px;
  background:#fff; border:1px solid var(--line-dark); color:var(--slate-2);
  transition:.25s var(--ease); text-decoration:none;
}
.chip:hover{ border-color:var(--ink); color:var(--ink); transform:translateY(-2px); }
.dark .chip{ background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.12); color:var(--slate); }
.dark .chip:hover{ border-color:var(--beacon); color:#fff; }

/* ============================================================
   9. PRICING
   ============================================================ */

.price-grid{
  display:grid; gap:var(--gap);
  grid-template-columns:repeat(auto-fit,minmax(255px,1fr));
  align-items:stretch;
}
.plan{
  background:#fff; border:1px solid var(--line-dark); border-radius:var(--r-lg);
  padding:clamp(1.5rem,2.6vw,1.95rem);
  display:flex; flex-direction:column; position:relative;
  box-shadow:var(--lift-1);
  transition:transform .4s var(--ease-out), box-shadow .4s var(--ease-out);
}
.plan:hover{ transform:translateY(-5px); box-shadow:var(--lift-2); }
.plan-pop{
  background:linear-gradient(168deg,var(--ink-3) 0%,var(--ink) 62%);
  color:var(--paper); border-color:transparent;
  box-shadow:var(--lift-2);
}
.plan-pop h3{ color:#fff; }
.plan-tag{
  position:absolute; top:-11px; left:50%; transform:translateX(-50%);
  background:var(--beacon); color:var(--ink);
  font-family:var(--font-mono); font-size:.6rem; letter-spacing:.14em; text-transform:uppercase;
  font-weight:700; padding:.32rem .8rem; border-radius:100px; white-space:nowrap;
  box-shadow:0 8px 20px -8px rgba(255,194,74,.9);
}
.plan-kicker{
  font-family:var(--font-mono); font-size:.62rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--beacon-2); margin-bottom:.85rem; font-weight:600;
}
.plan-pop .plan-kicker{ color:var(--beacon); }
.plan h3{ font-size:1.1rem; line-height:1.26; margin-bottom:.9rem; min-height:3.7em; display:flex; align-items:flex-end; }
.plan-price{ display:flex; align-items:baseline; gap:.3rem; margin-bottom:.35rem; }
.plan-amt{
  font-family:var(--font-display); font-size:clamp(2rem,1.5rem + 1.4vw,2.7rem);
  font-weight:700; letter-spacing:-.045em; line-height:1;
}
.plan-per{ font-size:.85rem; color:var(--slate-2); font-weight:500; }
.plan-pop .plan-per{ color:var(--slate); }
.plan-note{ font-size:.79rem; color:var(--slate-2); margin-bottom:1.25rem; }
.plan-pop .plan-note{ color:var(--slate); }
.plan ul{
  list-style:none; margin:0 0 1.5rem; padding:0;
  display:flex; flex-direction:column; gap:.62rem; font-size:.885rem; flex:1;
  color:var(--slate-2); line-height:1.48;
}
.plan-pop ul{ color:#C3CDE6; }
.plan ul li{ display:flex; gap:.6rem; align-items:flex-start; }
.plan ul li svg{ width:15px; height:15px; flex:none; margin-top:.24em; color:var(--rank); }
.plan .btn{ margin-top:auto; }
.audit-strip > div{ flex:1 1 min(100%,520px); }
@media (max-width:680px){ .plan h3{ min-height:0; } }
.plan-foot{
  margin-top:clamp(1.8rem,3vw,2.4rem); padding:1.15rem 1.4rem;
  border:1px dashed var(--line-2); border-radius:var(--r);
  font-size:.885rem; color:var(--slate-2); background:rgba(255,255,255,.5);
}
.dark .plan-foot{ background:rgba(255,255,255,.03); color:var(--slate); border-color:rgba(255,255,255,.16); }

/* ============================================================
   10. RESULTS SLIDER
   ============================================================ */

.slider{ position:relative; }
.slider-track{
  display:flex; gap:1rem; overflow-x:auto; scroll-snap-type:x mandatory;
  padding:.4rem .4rem 1.5rem; margin:-.4rem -.4rem 0;
  scrollbar-width:none; -ms-overflow-style:none;
  cursor:grab;
}
.slider-track::-webkit-scrollbar{ display:none; }
.slider-track.is-drag{ cursor:grabbing; scroll-snap-type:none; }
.slide{
  flex:0 0 clamp(240px,26vw,300px); scroll-snap-align:start;
  background:rgba(255,255,255,.045); border:1px solid rgba(255,255,255,.12);
  border-radius:var(--r-lg); overflow:hidden;
  transition:transform .4s var(--ease-out), border-color .3s;
}
.slide:hover{ transform:translateY(-5px); border-color:rgba(255,194,74,.42); }
.slide-img{ aspect-ratio:16/10; overflow:hidden; background:#0A1330; border-bottom:1px solid rgba(255,255,255,.09); }
.slide-img img{ width:100%; height:100%; object-fit:cover; object-position:top center; }
.slide-body{ padding:1rem 1.1rem 1.2rem; }
.slide-who{ font-size:.79rem; color:var(--slate); margin-bottom:.55rem; line-height:1.35; min-height:2.7em; }
.slide-n{
  font-family:var(--font-display); font-size:1.85rem; font-weight:700;
  letter-spacing:-.045em; color:#fff; line-height:1; display:flex; align-items:baseline; gap:.5rem;
}
.slide-up{ font-family:var(--font-mono); font-size:.75rem; font-weight:600; color:var(--rank); letter-spacing:-.02em; }
.slide-k{ font-size:.76rem; color:var(--slate-2); margin-top:.4rem; }
.slider-nav{ display:flex; gap:.55rem; margin-top:.5rem; }
.snav{
  width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,.2);
  background:transparent; color:#fff; cursor:pointer; display:grid; place-items:center;
  transition:.25s var(--ease);
}
.snav:hover{ background:var(--beacon); color:var(--ink); border-color:var(--beacon); }
.snav svg{ width:17px; height:17px; }
.slider-hint{ font-size:.8rem; color:var(--slate-2); margin-left:auto; align-self:center; }
.slider-foot{ display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }

/* ============================================================
   11. ABOUT
   ============================================================ */

.about-grid{
  display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:clamp(2rem,4.5vw,3.8rem); align-items:center;
}
@media (max-width:900px){ .about-grid{ grid-template-columns:1fr; } }
.about-photo{ position:relative; }
.about-photo img{
  width:100%; border-radius:var(--r-xl); border:1px solid var(--line);
  box-shadow:var(--lift-3);
}
.about-photo::before{
  content:""; position:absolute; inset:-16px -16px 34px 26px; z-index:-1;
  border-radius:var(--r-xl);
  background:linear-gradient(150deg,rgba(255,194,74,.32),rgba(53,224,165,.16));
  filter:blur(38px);
}
.about-stamp{
  position:absolute; right:-14px; bottom:26px;
  background:#fff; color:var(--ink); border-radius:var(--r);
  padding:.75rem 1rem; box-shadow:var(--lift-2); max-width:190px;
}
.about-stamp b{ display:block; font-family:var(--font-display); font-size:.95rem; letter-spacing:-.02em; }
.about-stamp span{ display:block; margin-top:.2rem; font-family:var(--font-mono); font-size:.58rem; line-height:1.5; letter-spacing:.08em; text-transform:uppercase; color:var(--slate-2); }
.about-list{ list-style:none; margin:1.6rem 0 0; padding:0; display:grid; gap:.85rem; }
.about-list li{ display:flex; gap:.8rem; align-items:flex-start; font-size:.94rem; color:var(--slate); line-height:1.55; }
.about-list li svg{ width:17px; height:17px; color:var(--beacon); flex:none; margin-top:.25em; }

/* ============================================================
   12. FAQ
   ============================================================ */

.faq{ border-top:1px solid var(--line-dark); }
.faq details{
  border-bottom:1px solid var(--line-dark); padding:.35rem 0;
}
.faq summary{
  cursor:pointer; list-style:none; padding:1.25rem 3rem 1.25rem 0; position:relative;
  font-family:var(--font-display); font-weight:600; font-size:clamp(1.02rem,.98rem + .3vw,1.2rem);
  letter-spacing:-.022em; line-height:1.35; transition:color .2s;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary:hover{ color:var(--beacon-2); }
.faq summary::after{
  content:""; position:absolute; right:.4rem; top:1.55rem;
  width:13px; height:13px;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(45deg); transition:transform .32s var(--ease-out); opacity:.5;
}
.faq details[open] summary::after{ transform:rotate(-135deg); top:1.85rem; opacity:1; }
.faq-a{ padding:0 3rem 1.5rem 0; color:var(--slate-2); font-size:.955rem; }
.faq-a p:first-child{ color:var(--ink); font-weight:520; }

/* ============================================================
   13. POSTS / BLOG
   ============================================================ */

.post-grid{ display:grid; gap:var(--gap); grid-template-columns:repeat(3,minmax(0,1fr)); }
@media (max-width:1000px){ .post-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:680px){ .post-grid{ grid-template-columns:1fr; } }

.post-card{
  background:#fff; border:1px solid var(--line-dark); border-radius:var(--r-lg);
  overflow:hidden; display:flex; flex-direction:column;
  box-shadow:var(--lift-1); transition:transform .4s var(--ease-out), box-shadow .4s var(--ease-out);
}
.post-card:hover{ transform:translateY(-5px); box-shadow:var(--lift-2); }
.dark .post-card{ background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.12); }
.post-thumb{ aspect-ratio:16/9; overflow:hidden; background:linear-gradient(150deg,var(--ink-3),var(--ink)); position:relative; }
.post-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease-out); }
.post-card:hover .post-thumb img{ transform:scale(1.05); }
.post-thumb-fb{ position:absolute; inset:0; display:grid; place-items:center; color:rgba(255,194,74,.3); }
.post-thumb-fb svg{ width:54px; height:54px; }
.post-body{ padding:1.35rem 1.45rem 1.5rem; display:flex; flex-direction:column; flex:1; }
.post-meta{
  font-family:var(--font-mono); font-size:.65rem; letter-spacing:.13em; text-transform:uppercase;
  color:var(--slate-2); margin-bottom:.7rem; display:flex; gap:.6rem; flex-wrap:wrap; align-items:center;
}
.post-meta a{ text-decoration:none; color:var(--beacon-2); }
.dark .post-meta a{ color:var(--beacon); }
.post-card h3{ font-size:1.09rem; line-height:1.3; margin-bottom:.55rem; }
.post-card h3 a{ text-decoration:none; }
.post-card h3 a:hover{ color:var(--beacon-2); }
.dark .post-card h3 a:hover{ color:var(--beacon); }
.post-card p{ font-size:.9rem; color:var(--slate-2); margin-bottom:1rem; }
.dark .post-card p{ color:var(--slate); }
.post-more{
  margin-top:auto; font-family:var(--font-mono); font-size:.7rem; letter-spacing:.12em;
  text-transform:uppercase; font-weight:600; text-decoration:none;
  display:inline-flex; align-items:center; gap:.45rem; color:var(--ink);
}
.dark .post-more{ color:#fff; }
.post-more svg{ width:14px; height:14px; transition:transform .3s var(--ease-out); }
.post-more:hover svg{ transform:translateX(4px); }

/* Blog page header */
.page-hero{
  background:var(--ink); color:var(--paper);
  padding-block:clamp(3.2rem,6vw,5.2rem);
  position:relative; overflow:hidden;
}
.page-hero::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(80% 70% at 22% 0%, rgba(255,194,74,.14), transparent 60%);
}
.page-hero > *{ position:relative; }
.page-hero h1{ color:#fff; font-size:clamp(2.1rem,1.5rem + 2.6vw,3.5rem); }
.crumbs{
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.13em; text-transform:uppercase;
  color:var(--slate-2); margin-bottom:1.2rem; display:flex; gap:.5rem; flex-wrap:wrap;
}
.crumbs a{ color:var(--slate); text-decoration:none; }
.crumbs a:hover{ color:var(--beacon); }

/* Single post */
.entry{ max-width:74ch; margin-inline:auto; }
.entry > *{ margin-bottom:1.15em; }
.entry h2{ font-size:clamp(1.5rem,1.2rem + 1.3vw,2.15rem); margin-top:2.1em; }
.entry h3{ font-size:clamp(1.15rem,1.05rem + .55vw,1.45rem); margin-top:1.7em; }
.entry img{ border-radius:var(--r); box-shadow:var(--lift-1); }
.entry ul,.entry ol{ padding-left:1.3rem; display:flex; flex-direction:column; gap:.55rem; }
.entry li::marker{ color:var(--beacon-2); }
.entry blockquote{
  margin:1.9em 0; padding:.3rem 0 .3rem 1.6rem;
  border-left:3px solid var(--beacon); font-size:1.1rem; color:var(--ink);
  font-family:var(--font-display); font-weight:500; letter-spacing:-.02em; line-height:1.45;
}
.entry a{ color:var(--beacon-2); text-decoration-color:rgba(240,155,18,.4); }
.entry a:hover{ text-decoration-color:currentColor; }
.entry code{
  font-family:var(--font-mono); font-size:.88em; background:var(--paper-2);
  padding:.15em .4em; border-radius:5px;
}
.entry pre{ background:var(--ink); color:var(--paper); padding:1.2rem; border-radius:var(--r); overflow-x:auto; }
.entry pre code{ background:none; padding:0; }
.entry table{ width:100%; border-collapse:collapse; font-size:.93rem; }
.entry th,.entry td{ border:1px solid var(--line-dark); padding:.7rem .85rem; text-align:left; }
.entry th{ background:var(--paper-2); font-weight:600; }
.entry figure{ margin-inline:0; }
.entry .wp-caption-text,.entry figcaption{ font-size:.82rem; color:var(--slate-2); margin-top:.5rem; }

.post-hero-img{ border-radius:var(--r-lg); box-shadow:var(--lift-2); margin-bottom:2.5rem; width:100%; }

.author-box{
  margin-top:3rem; padding:1.6rem; border:1px solid var(--line-dark); border-radius:var(--r-lg);
  background:#fff; display:flex; gap:1.3rem; align-items:flex-start; box-shadow:var(--lift-1);
}
.author-box img{ width:76px; height:76px; border-radius:50%; object-fit:cover; flex:none; object-position:top; }
.author-box h4{ margin-bottom:.35rem; }
.author-box p{ font-size:.9rem; color:var(--slate-2); }
@media (max-width:560px){ .author-box{ flex-direction:column; } }

.pager{
  display:flex; gap:1rem; justify-content:space-between; margin-top:3rem;
  padding-top:1.7rem; border-top:1px solid var(--line-dark); flex-wrap:wrap;
}
.pager a{
  text-decoration:none; max-width:44%; font-size:.92rem; font-weight:550;
  display:flex; flex-direction:column; gap:.3rem;
}
.pager a span{ font-family:var(--font-mono); font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--slate-2); }
.pager a:hover{ color:var(--beacon-2); }
.pager a:last-child{ text-align:right; align-items:flex-end; }
@media (max-width:560px){ .pager a{ max-width:100%; } }

.pagination{ display:flex; gap:.5rem; justify-content:center; margin-top:3rem; flex-wrap:wrap; }
.pagination .page-numbers{
  min-width:44px; height:44px; padding:0 .7rem; display:grid; place-items:center;
  border:1px solid var(--line-dark); border-radius:11px; text-decoration:none;
  font-family:var(--font-mono); font-size:.85rem; transition:.25s var(--ease); background:#fff;
}
.pagination .page-numbers:hover{ border-color:var(--ink); }
.pagination .current{ background:var(--ink); color:#fff; border-color:var(--ink); }

/* ============================================================
   14. CTA BAND
   ============================================================ */

.cta-band{
  background:linear-gradient(150deg,var(--ink-3) 0%,var(--ink) 55%);
  color:var(--paper); border-radius:var(--r-xl);
  padding:clamp(2.2rem,5vw,4rem);
  position:relative; overflow:hidden; isolation:isolate;
}
.cta-band::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:radial-gradient(60% 90% at 88% 12%, rgba(255,194,74,.20), transparent 62%),
             radial-gradient(50% 80% at 6% 96%, rgba(53,224,165,.15), transparent 60%);
}
.cta-band h2{ color:#fff; max-width:20ch; }
.cta-band .lede{ color:var(--slate); max-width:52ch; margin-bottom:1.9rem; }
.cta-fine{ margin-top:1.2rem; font-size:.82rem; color:var(--slate-2); }

/* ============================================================
   15. FOOTER + SERVICE AREAS
   ============================================================ */

.site-foot{ background:#040918; color:var(--slate); border-top:1px solid rgba(255,255,255,.08); }
.foot-top{ padding-block:clamp(3rem,5.5vw,4.5rem); }
.foot-grid{
  display:grid; gap:clamp(1.8rem,3.5vw,3rem);
  grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));
}
@media (max-width:940px){ .foot-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .foot-grid{ grid-template-columns:1fr; } }
.foot-about p{ font-size:.9rem; line-height:1.62; max-width:44ch; margin-top:1.1rem; }
.foot h4{
  color:#fff; font-family:var(--font-mono); font-size:.66rem; letter-spacing:.17em;
  text-transform:uppercase; font-weight:600; margin-bottom:1.1rem;
}
.foot ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.62rem; }
.foot a{ color:var(--slate); text-decoration:none; font-size:.895rem; transition:color .2s; }
.foot a:hover{ color:var(--beacon); }

.social{ display:flex; gap:.55rem; margin-top:1.4rem; }
.social a{
  width:38px; height:38px; border-radius:11px; border:1px solid rgba(255,255,255,.13);
  display:grid; place-items:center; transition:.25s var(--ease); color:var(--slate);
}
.social a:hover{ border-color:var(--beacon); color:var(--beacon); transform:translateY(-2px); background:rgba(255,194,74,.07); }
.social svg{ width:16px; height:16px; }

/* Service area block */
.areas{ border-top:1px solid rgba(255,255,255,.08); padding-block:clamp(2.4rem,4.5vw,3.4rem); }
.areas h2{ font-size:clamp(1.15rem,1.05rem + .55vw,1.5rem); color:#fff; margin-bottom:.5rem; }
.areas > .wrap > p{ font-size:.885rem; color:var(--slate-2); max-width:78ch; margin-bottom:1.6rem; }
.area-block + .area-block{ margin-top:1.6rem; }
.area-block h3{
  font-family:var(--font-mono); font-size:.63rem; letter-spacing:.17em; text-transform:uppercase;
  color:var(--beacon); font-weight:600; margin-bottom:.75rem;
}
.area-links{ display:flex; flex-wrap:wrap; gap:.3rem .1rem; }
.area-links a{
  font-size:.79rem; color:var(--slate-2); text-decoration:none; padding:.2rem .55rem;
  border-radius:6px; transition:.2s var(--ease); line-height:1.5;
}
.area-links a:hover{ color:var(--ink); background:var(--beacon); }
.area-links a::after{ content:"·"; margin-left:.6rem; color:rgba(147,162,200,.3); }
.area-links a:last-child::after{ display:none; }

.foot-bottom{
  border-top:1px solid rgba(255,255,255,.08); padding-block:1.5rem;
  display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap;
  font-size:.8rem; color:var(--slate-2);
}
.foot-bottom a{ color:var(--slate-2); text-decoration:none; }
.foot-bottom a:hover{ color:var(--beacon); }
.foot-bottom nav{ display:flex; gap:1.2rem; flex-wrap:wrap; }

/* ============================================================
   16. MOBILE DOCK
   ============================================================ */

.dock{
  position:fixed; left:0; right:0; bottom:0; z-index:190;
  display:none; gap:1px; background:rgba(255,255,255,.1);
  border-top:1px solid rgba(255,255,255,.12);
  padding-bottom:env(safe-area-inset-bottom);
  backdrop-filter:blur(14px);
}
.dock a{
  flex:1; display:flex; align-items:center; justify-content:center; gap:.45rem;
  padding:.95rem .5rem; text-decoration:none; font-size:.845rem; font-weight:600;
  background:rgba(6,13,34,.96); color:#fff;
}
.dock a.wa{ background:var(--rank); color:var(--ink); }
.dock svg{ width:16px; height:16px; }
@media (max-width:880px){
  .dock{ display:flex; }
  body{ padding-bottom:56px; }
}

/* ============================================================
   17. REVEAL ON SCROLL
   ============================================================ */

.rv{ opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease-out), transform .7s var(--ease-out); }
.rv.in{ opacity:1; transform:none; }
.rv-d1{ transition-delay:.08s; } .rv-d2{ transition-delay:.16s; }
.rv-d3{ transition-delay:.24s; } .rv-d4{ transition-delay:.32s; }
@media (prefers-reduced-motion: reduce){
  .rv{ opacity:1!important; transform:none!important; transition:none!important; }
}

/* ============================================================
   18. WP CORE CLASSES
   ============================================================ */

.alignleft{ float:left; margin:.4rem 1.6rem 1.2rem 0; }
.alignright{ float:right; margin:.4rem 0 1.2rem 1.6rem; }
.aligncenter{ margin-inline:auto; }
.alignwide{ width:min(100vw - 2rem, 1080px); margin-inline:auto; }
.alignfull{ width:100vw; margin-left:calc(50% - 50vw); max-width:none; }
.wp-caption{ max-width:100%; }
.screen-reader-text{
  position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px);
}
.sticky .post-card{ border-color:var(--beacon); }

/* Comments (light) */
.comments{ max-width:74ch; margin:3.5rem auto 0; }
.comments ol{ list-style:none; padding:0; margin:0; }
.comments .comment-body{ padding:1.2rem 0; border-bottom:1px solid var(--line-dark); }
.comments input[type=text],.comments input[type=email],.comments input[type=url],.comments textarea{
  width:100%; padding:.8rem 1rem; border:1px solid var(--line-dark); border-radius:var(--r-sm);
  font:inherit; background:#fff; margin-bottom:.9rem;
}
.comments input[type=submit]{
  background:var(--beacon); border:0; border-radius:100px; padding:.9rem 1.6rem;
  font-weight:620; cursor:pointer;
}

/* 404 / search */
.mini{ text-align:center; padding-block:clamp(4rem,10vw,8rem); }
.mini .big{
  font-family:var(--font-display); font-size:clamp(4.5rem,12vw,9rem); font-weight:700;
  letter-spacing:-.06em; line-height:.9; color:var(--line-2); margin-bottom:.6rem;
}
.searchform{ display:flex; gap:.5rem; max-width:440px; margin:1.6rem auto 0; }
.searchform input[type=search]{
  flex:1; padding:.85rem 1.15rem; border:1px solid var(--line-dark);
  border-radius:100px; font:inherit; background:#fff;
}
