
  :root{
    --jet: #0a0a0b;
    --panel: #121316;
    --chrome: #cfd2d6;
    --gunmetal: #6b6f76;
    --gunmetal-dim: #3a3d42;
    --hyper: #0a88fa;
    --hyper-dim: rgba(10,136,250,0.14);
    --lux-red: #e10600;
    --white: #f5f6f7;
  }
  *{ box-sizing:border-box; margin:0; padding:0; }
  html{ scroll-behavior:smooth; }
  body{
    background:var(--jet);
    color:var(--white);
    font-family:'Montserrat',sans-serif;
    font-weight:300;
    overflow-x:hidden;
  }
  h1,h2,h3,.display{
    font-family:'Rajdhani',sans-serif;
    font-weight:700;
    letter-spacing:0.04em;
    text-transform:uppercase;
  }
  a{ color:inherit; text-decoration:none; }
  .eyebrow{
    font-family:'Rajdhani',sans-serif;
    font-weight:600;
    letter-spacing:0.35em;
    text-transform:uppercase;
    font-size:0.72rem;
    color:var(--hyper);
  }
  ::selection{ background:var(--hyper); color:var(--jet); }

  /* subtle grain / vignette over the whole page */
  body::before{
    content:"";
    position:fixed; inset:0;
    background:radial-gradient(ellipse at 50% -10%, rgba(10,136,250,0.06), transparent 60%),
               radial-gradient(ellipse at 100% 100%, rgba(225,6,0,0.04), transparent 55%);
    pointer-events:none;
    z-index:0;
  }

  /* ---------- NAV ---------- */
  nav{
    position:fixed; top:0; left:0; right:0; z-index:100;
    display:flex; align-items:center; justify-content:space-between;
    padding:18px clamp(20px,5vw,64px);
    background:linear-gradient(to bottom, rgba(10,10,11,0.92), rgba(10,10,11,0));
    backdrop-filter:blur(6px);
  }
  .nav-badge{ display:flex; align-items:center; gap:12px; }
  .nav-badge img{ height:34px; width:auto; filter:drop-shadow(0 0 6px rgba(10,136,250,0.35)); }
  .nav-badge span{ font-family:'Rajdhani',sans-serif; font-weight:700; letter-spacing:0.15em; font-size:1rem; }
  .nav-links{ display:flex; gap:clamp(16px,3vw,40px); font-family:'Rajdhani',sans-serif; font-weight:600; letter-spacing:0.12em; font-size:0.85rem; }
  .nav-links a{ position:relative; padding-bottom:4px; color:var(--chrome); transition:color .25s; }
  .nav-links a:hover{ color:var(--hyper); }
  .nav-links a::after{
    content:""; position:absolute; left:0; bottom:0; height:1px; width:0;
    background:var(--hyper); transition:width .3s;
  }
  .nav-links a:hover::after{ width:100%; }
  @media (max-width:720px){ .nav-links{ display:none; } }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    min-height:100svh;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    text-align:center;
    padding:120px 20px 80px;
    overflow:hidden;
  }
  .hero-slideshow{ position:absolute; inset:0; z-index:0; }
  .hero-slide{
    position:absolute; inset:0;
    background-size:cover; background-position:center 60%;
    opacity:0;
    animation:heroCrossfade 20s infinite;
  }
  .hero-slide:nth-child(1){ background-image:url('assets/hero_loop_1.jpg'); animation-delay:0s; }
  .hero-slide:nth-child(2){ background-image:url('assets/hero_loop_2.jpg'); animation-delay:5s; }
  .hero-slide:nth-child(3){ background-image:url('assets/hero_loop_3.jpg'); animation-delay:10s; }
  .hero-slide:nth-child(4){ background-image:url('assets/hero_loop_4.jpg'); animation-delay:15s; }
  @keyframes heroCrossfade{
    0%{ opacity:0; }
    4%{ opacity:1; }
    23%{ opacity:1; }
    28%{ opacity:0; }
    100%{ opacity:0; }
  }
  .hero-overlay{
    position:absolute; inset:0; z-index:1;
    background:linear-gradient(180deg, rgba(10,10,11,0.55) 0%, rgba(10,10,11,0.75) 55%, var(--jet) 100%);
  }
  .hero-grid{
    position:absolute; inset:0; z-index:2;
    background-image:
      linear-gradient(rgba(10,136,250,0.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(10,136,250,0.05) 1px, transparent 1px);
    background-size:48px 48px;
    mask-image:radial-gradient(ellipse 60% 50% at 50% 40%, black, transparent 75%);
    -webkit-mask-image:radial-gradient(ellipse 60% 50% at 50% 40%, black, transparent 75%);
  }
  .logo-stage, .hero p.tagline, .hero-sub, .hero-cta{ position:relative; z-index:5; }
  .logo-stage{
    position:relative;
    width:min(560px, 82vw);
    perspective:1000px;
  }
  .logo-stage img{
    width:100%; height:auto; display:block;
    filter:drop-shadow(0 0 30px rgba(10,136,250,0.18));
    transform:rotateX(0deg) rotateY(0deg);
    transition:transform .15s ease-out;
    will-change:transform;
  }
  /* the signature: a horizontal sweep of light crossing the glass/logo, like a
     reflection passing over freshly-applied film */
  .sweep{
    position:absolute; top:0; left:-40%; width:35%; height:100%;
    background:linear-gradient(100deg, transparent, rgba(10,136,250,0.35), rgba(255,255,255,0.55), rgba(10,136,250,0.35), transparent);
    transform:skewX(-18deg);
    animation:sweep 5.5s ease-in-out infinite;
    mix-blend-mode:screen;
    pointer-events:none;
  }
  @keyframes sweep{
    0%{ left:-40%; }
    35%{ left:120%; }
    100%{ left:120%; }
  }
  .hero p.tagline{
    margin-top:28px;
    font-family:'Rajdhani',sans-serif;
    font-weight:600;
    letter-spacing:0.5em;
    font-size:clamp(0.7rem, 1.6vw, 0.95rem);
    color:var(--white);
    text-transform:uppercase;
  }
  .hero-sub{
    max-width:560px;
    margin:26px auto 0;
    color:var(--chrome);
    font-weight:300;
    font-size:1.02rem;
    line-height:1.7;
  }
  .hero-cta{
    margin-top:40px;
    display:flex; gap:18px; flex-wrap:wrap; justify-content:center;
  }
  .btn{
    font-family:'Rajdhani',sans-serif;
    font-weight:700; letter-spacing:0.18em; text-transform:uppercase;
    font-size:0.82rem;
    padding:16px 34px;
    border-radius:2px;
    cursor:pointer;
    transition:all .25s ease;
  }
  .btn-primary{
    background:var(--hyper); color:var(--jet); border:1px solid var(--hyper);
    box-shadow:0 0 24px rgba(10,136,250,0.35);
  }
  .btn-primary:hover{ background:var(--white); box-shadow:0 0 34px rgba(10,136,250,0.55); }
  .btn-ghost{
    background:transparent; color:var(--chrome); border:1px solid var(--gunmetal-dim);
  }
  .btn-ghost:hover{ border-color:var(--hyper); color:var(--hyper); }

  .scroll-cue{
    position:absolute; bottom:28px; left:50%; transform:translateX(-50%); z-index:5;
    width:1px; height:50px;
    background:linear-gradient(to bottom, transparent, var(--gunmetal));
  }
  .scroll-cue::after{
    content:""; position:absolute; left:50%; top:0; width:5px; height:5px;
    margin-left:-2px;
    background:var(--hyper); border-radius:50%;
    animation:drip 2.2s ease-in-out infinite;
  }
  @keyframes drip{
    0%{ top:0; opacity:0; } 15%{ opacity:1; } 90%{ opacity:0; } 100%{ top:50px; opacity:0; }
  }

  /* ---------- GHOST HEADLINE (layered editorial depth, ICON-style) ---------- */
  .ghost-word{
    position:absolute; top:8%; left:50%; transform:translateX(-50%);
    font-family:'Rajdhani',sans-serif; font-weight:700;
    font-size:clamp(4rem, 16vw, 12rem);
    letter-spacing:0.02em;
    color:transparent;
    -webkit-text-stroke:1px rgba(10,136,250,0.14);
    white-space:nowrap;
    pointer-events:none;
    z-index:3;
    user-select:none;
  }

  /* ---------- DIAGONAL SECTION DIVIDER ---------- */
  .diagonal-divider{
    position:relative; height:120px; margin-top:-1px;
    background:var(--panel);
    clip-path:polygon(0 40%, 100% 0, 100% 100%, 0% 100%);
  }
  @media (max-width:720px){ .diagonal-divider{ height:60px; } }

  /* ---------- SECTION SHELL ---------- */
  section{ position:relative; z-index:1; padding:120px clamp(20px,6vw,80px); }
  .section-head{ max-width:640px; margin:0 auto 64px; text-align:center; }
  .section-head h2{ font-size:clamp(1.8rem,4vw,2.6rem); margin-top:14px; color:var(--white); }
  .section-head p{ margin-top:16px; color:var(--gunmetal); line-height:1.7; font-size:1.03rem; }

  .reveal{ opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; }
  .reveal.in{ opacity:1; transform:translateY(0); }

  /* ---------- SERVICES ---------- */
  .tiers{
    display:grid; gap:24px; max-width:1080px; margin:0 auto;
    grid-template-columns:repeat(auto-fit, minmax(280px,1fr));
  }
  .tier{
    background:linear-gradient(160deg, var(--panel), rgba(18,19,22,0.4));
    border:1px solid var(--gunmetal-dim);
    border-radius:6px;
    padding:38px 30px;
    position:relative;
    transition:transform .3s ease, border-color .3s ease;
  }
  .tier:hover{ transform:translateY(-6px); border-color:var(--hyper); }
  .tier.featured{ border-color:var(--hyper); box-shadow:0 0 40px rgba(10,136,250,0.12); }
  .tier.featured::before{
    content:"Most Booked";
    position:absolute; top:-13px; left:50%; transform:translateX(-50%);
    background:var(--hyper); color:var(--jet);
    font-family:'Rajdhani',sans-serif; font-weight:700; letter-spacing:0.1em;
    font-size:0.68rem; text-transform:uppercase;
    padding:5px 14px; border-radius:20px;
  }
  .tier .eyebrow{ font-size:0.68rem; }
  .tier h3{ font-size:1.5rem; margin:10px 0 4px; color:var(--white); }
  .tier .price{ font-family:'Rajdhani',sans-serif; font-weight:700; font-size:2rem; color:var(--hyper); margin:14px 0 20px; }
  .tier ul{ list-style:none; display:flex; flex-direction:column; gap:12px; }
  .tier li{ color:var(--chrome); font-size:0.98rem; padding-left:20px; position:relative; }
  .tier li::before{ content:"—"; position:absolute; left:0; color:var(--gunmetal); }
  .tier-desc{ margin-top:18px; padding-top:18px; border-top:1px solid var(--gunmetal-dim); color:var(--gunmetal); font-size:0.85rem; line-height:1.6; }

  /* ---------- ABOUT / VISION ---------- */
  .about-wrap{
    max-width:1080px; margin:0 auto;
    display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;
  }
  @media (max-width:840px){ .about-wrap{ grid-template-columns:1fr; } }
  .about-copy h2{ font-size:clamp(1.7rem,3.6vw,2.3rem); margin-bottom:20px; }
  .about-copy p{ color:var(--chrome); line-height:1.85; font-size:1rem; margin-bottom:16px; font-weight:300; }
  .roadmap{ display:flex; flex-direction:column; gap:0; margin-top:28px; }
  .road-item{ display:flex; gap:16px; padding:16px 0; border-top:1px solid var(--gunmetal-dim); }
  .road-item:last-child{ border-bottom:1px solid var(--gunmetal-dim); }
  .road-item .tag{ font-family:'Rajdhani',sans-serif; font-weight:700; color:var(--hyper); font-size:0.85rem; min-width:110px; }
  .road-item .desc{ color:var(--gunmetal); font-size:0.9rem; }
  .about-visual{
    aspect-ratio:4/5; border-radius:8px;
    background:
      radial-gradient(circle at 30% 20%, rgba(10,136,250,0.14), transparent 55%),
      linear-gradient(160deg, #16171b, #0a0a0b 70%);
    border:1px solid var(--gunmetal-dim);
    position:relative; overflow:hidden;
    display:flex; align-items:center; justify-content:center;
  }
  .about-visual img{ width:62%; opacity:0.9; filter:drop-shadow(0 0 24px rgba(10,136,250,0.15)); }
  .about-visual .corner{ position:absolute; width:26px; height:26px; border:1px solid var(--hyper); opacity:0.5; }
  .about-visual .corner.tl{ top:16px; left:16px; border-right:none; border-bottom:none; }
  .about-visual .corner.br{ bottom:16px; right:16px; border-left:none; border-top:none; }

  /* ---------- SERVICE AREA ---------- */
  .area-wrap{ max-width:900px; margin:0 auto; text-align:center; }
  .area-chips{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:36px; }
  .chip{
    font-family:'Rajdhani',sans-serif; font-weight:600; letter-spacing:0.08em;
    font-size:0.85rem; text-transform:uppercase;
    padding:11px 22px; border:1px solid var(--gunmetal-dim); border-radius:30px;
    color:var(--chrome); position:relative;
  }
  .chip::before{
    content:""; position:absolute; left:14px; top:50%; transform:translateY(-50%);
    width:6px; height:6px; border-radius:50%; background:var(--hyper);
    box-shadow:0 0 8px var(--hyper);
  }
  .chip{ padding-left:32px; }

  /* ---------- BOOKING ---------- */
  .book-wrap{
    max-width:640px; margin:0 auto;
    background:var(--panel); border:1px solid var(--gunmetal-dim); border-radius:8px;
    padding:clamp(30px,5vw,50px);
  }
  .form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
  .form-row-3{ grid-template-columns:1fr 1fr 1fr; }
  @media (max-width:520px){ .form-row, .form-row-3{ grid-template-columns:1fr; } }

  .contact-method-group{ display:flex; gap:12px; flex-wrap:wrap; }
  .contact-chip{
    flex:1; min-width:110px; display:flex; flex-direction:column; align-items:center; gap:8px;
    padding:16px 10px; background:#0d0e10; border:1px solid var(--gunmetal-dim); border-radius:6px;
    color:var(--gunmetal); cursor:pointer; transition:all .2s;
    font-family:'Rajdhani',sans-serif; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; font-size:0.85rem;
  }
  .contact-chip svg{ width:20px; height:20px; }
  .contact-chip:hover{ border-color:var(--gunmetal); color:var(--chrome); }
  .contact-chip.active{ border-color:var(--hyper); color:var(--hyper); background:rgba(10,136,250,0.08); box-shadow:0 0 16px rgba(10,136,250,0.15); }

  input[type="date"]{ color-scheme:dark; }

  .property-toggles{ display:flex; flex-direction:column; gap:14px; }
  .toggle-row{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
  .toggle-label{ color:var(--chrome); font-size:0.95rem; }
  .toggle-group{ display:flex; gap:8px; }
  .toggle-btn{
    padding:9px 22px; background:#0d0e10; border:1px solid var(--gunmetal-dim); border-radius:30px;
    color:var(--gunmetal); cursor:pointer; transition:all .2s;
    font-family:'Rajdhani',sans-serif; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; font-size:0.8rem;
  }
  .toggle-btn:hover{ border-color:var(--gunmetal); color:var(--chrome); }
  .toggle-btn.active{ border-color:var(--hyper); color:var(--jet); background:var(--hyper); }
  label{ font-family:'Rajdhani',sans-serif; font-size:0.8rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--gunmetal); display:block; margin-bottom:8px; }
  input, select, textarea{
    width:100%; background:#0d0e10; border:1px solid var(--gunmetal-dim); color:var(--white);
    padding:13px 14px; border-radius:4px; font-family:'Montserrat',sans-serif; font-size:0.97rem;
    outline:none; transition:border-color .2s;
  }
  input:focus, select:focus, textarea:focus{ border-color:var(--hyper); }
  .full-row{ margin-bottom:16px; }
  .book-wrap .btn-primary{ width:100%; margin-top:8px; border:none; }
  .form-note{ text-align:center; color:var(--gunmetal); font-size:0.8rem; margin-top:16px; line-height:1.6; }

  /* ---------- CALL BANNER ---------- */
  .call-banner{
    padding:56px 20px; text-align:center;
    background:linear-gradient(180deg, transparent, rgba(10,136,250,0.06), transparent);
    border-top:1px solid var(--gunmetal-dim);
    border-bottom:1px solid var(--gunmetal-dim);
  }
  .call-label{
    font-family:'Rajdhani',sans-serif; font-weight:600; letter-spacing:0.25em; text-transform:uppercase;
    font-size:0.85rem; color:var(--gunmetal); margin-bottom:16px;
  }
  .call-number{
    display:inline-block;
    font-family:'Rajdhani',sans-serif; font-weight:700; letter-spacing:0.03em;
    font-size:clamp(1.8rem, 6vw, 3.2rem);
    color:var(--white); text-decoration:none;
    transition:color .25s;
  }
  .call-number:hover{ color:var(--hyper); }

  /* ---------- FOOTER ---------- */
  footer{
    padding:50px 20px 34px; text-align:center;
    border-top:1px solid var(--gunmetal-dim);
  }
  footer .nav-badge{ justify-content:center; margin-bottom:18px; }
  .foot-links{ display:flex; gap:26px; justify-content:center; flex-wrap:wrap; font-family:'Rajdhani',sans-serif; font-weight:600; letter-spacing:0.1em; font-size:0.85rem; color:var(--chrome); margin-bottom:18px; }
  .foot-links a:hover{ color:var(--hyper); }
  footer .fine{ color:var(--gunmetal-dim); font-size:0.75rem; letter-spacing:0.05em; }


  /* ================= MULTI-PAGE ADDITIONS ================= */

  /* --- compact hero for interior service pages --- */
  .page-hero{
    position:relative;
    padding:170px 20px 80px;
    text-align:center;
    overflow:hidden;
    border-bottom:1px solid var(--gunmetal-dim);
    background:
      linear-gradient(180deg, rgba(10,10,11,0.72) 0%, rgba(10,10,11,0.88) 60%, var(--jet) 100%),
      url('assets/hero_loop_2.jpg');
    background-size:cover;
    background-position:center 55%;
  }
  .page-hero .eyebrow{ display:block; margin-bottom:14px; }
  .page-hero h1{
    font-family:'Rajdhani',sans-serif; font-weight:700; text-transform:uppercase;
    letter-spacing:0.02em; line-height:1.02;
    font-size:clamp(2.3rem, 6.5vw, 4.4rem);
    color:var(--white);
    max-width:16ch; margin:0 auto;
  }
  .page-hero .lede{
    max-width:640px; margin:22px auto 0;
    color:var(--chrome); font-size:1.05rem; line-height:1.75;
  }
  .page-hero .hero-cta{ margin-top:34px; }

  /* --- breadcrumb --- */
  .crumb{
    max-width:1120px; margin:0 auto; padding:22px 20px 0;
    font-family:'Rajdhani',sans-serif; font-weight:600;
    letter-spacing:0.12em; text-transform:uppercase; font-size:0.74rem;
    color:var(--gunmetal);
  }
  .crumb a{ color:var(--gunmetal); }
  .crumb a:hover{ color:var(--hyper); }
  .crumb span{ color:var(--gunmetal-dim); margin:0 8px; }

  /* --- homepage service selector cards --- */
  .svc-grid{
    max-width:1120px; margin:0 auto;
    display:grid; grid-template-columns:repeat(3, 1fr); gap:20px;
  }
  @media (max-width:860px){ .svc-grid{ grid-template-columns:1fr; } }
  .svc-card{
    position:relative; display:block;
    background:var(--panel);
    border:1px solid var(--gunmetal-dim); border-radius:10px;
    padding:34px 30px 30px;
    transition:border-color .28s, transform .28s, box-shadow .28s;
    overflow:hidden;
  }
  .svc-card::after{
    content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
    background:linear-gradient(90deg, transparent, var(--hyper), transparent);
    opacity:0; transition:opacity .28s;
  }
  .svc-card:hover{ border-color:var(--hyper); transform:translateY(-4px); box-shadow:0 18px 44px rgba(0,0,0,0.5); }
  .svc-card:hover::after{ opacity:1; }
  .svc-card h3{
    font-family:'Rajdhani',sans-serif; font-weight:700; text-transform:uppercase;
    letter-spacing:0.04em; font-size:1.5rem; color:var(--white); margin:12px 0 12px;
  }
  .svc-card p{ color:var(--gunmetal); font-size:0.95rem; line-height:1.7; }
  .svc-from{
    margin-top:18px; font-family:'Rajdhani',sans-serif; font-weight:700;
    letter-spacing:0.06em; font-size:0.95rem; color:var(--chrome);
  }
  .svc-from b{ color:var(--hyper); font-size:1.25rem; }
  .svc-go{
    margin-top:20px; display:inline-flex; align-items:center; gap:9px;
    font-family:'Rajdhani',sans-serif; font-weight:700; letter-spacing:0.14em;
    text-transform:uppercase; font-size:0.78rem; color:var(--hyper);
  }
  .svc-go svg{ width:15px; height:15px; transition:transform .28s; }
  .svc-card:hover .svc-go svg{ transform:translateX(5px); }

  /* --- long-form prose blocks on service pages --- */
  .prose-wrap{ max-width:760px; margin:0 auto; }
  .prose-wrap h3{
    font-family:'Rajdhani',sans-serif; font-weight:700; text-transform:uppercase;
    letter-spacing:0.05em; font-size:1.35rem; color:var(--white);
    margin:44px 0 14px;
  }
  .prose-wrap h3:first-child{ margin-top:0; }
  .prose-wrap p{ color:var(--chrome); line-height:1.85; margin-bottom:16px; font-size:1rem; }
  .prose-wrap ul{ margin:0 0 20px; padding:0; list-style:none; }
  .prose-wrap ul li{
    color:var(--chrome); line-height:1.75; padding-left:24px; position:relative; margin-bottom:11px;
  }
  .prose-wrap ul li::before{
    content:""; position:absolute; left:2px; top:10px;
    width:7px; height:7px; border-radius:50%; background:var(--hyper);
  }

  /* --- FAQ --- */
  .faq-wrap{ max-width:760px; margin:0 auto; }
  .faq-item{ border-bottom:1px solid var(--gunmetal-dim); }
  .faq-q{
    width:100%; text-align:left; background:none; border:none; cursor:pointer;
    padding:22px 40px 22px 0; position:relative;
    font-family:'Rajdhani',sans-serif; font-weight:700; letter-spacing:0.02em;
    font-size:1.08rem; color:var(--white);
  }
  .faq-q::after{
    content:"+"; position:absolute; right:6px; top:50%; transform:translateY(-50%);
    color:var(--hyper); font-size:1.5rem; font-weight:400; transition:transform .3s;
  }
  .faq-item.open .faq-q::after{ transform:translateY(-50%) rotate(45deg); }
  .faq-a{ max-height:0; overflow:hidden; transition:max-height .35s ease; }
  .faq-a p{ color:var(--gunmetal); line-height:1.8; padding:0 0 22px; margin:0; font-size:0.97rem; }
  .faq-item.open .faq-a{ max-height:420px; }

  /* --- inline CTA band on service pages --- */
  .cta-band{
    max-width:820px; margin:0 auto; text-align:center;
    border:1px solid var(--hyper); border-radius:10px;
    padding:46px 30px;
    background:radial-gradient(ellipse at center, rgba(10,136,250,0.10), transparent 72%);
  }
  .cta-band h2{
    font-family:'Rajdhani',sans-serif; font-weight:700; text-transform:uppercase;
    letter-spacing:0.02em; font-size:clamp(1.5rem, 4vw, 2.2rem); color:var(--white); margin-bottom:14px;
  }
  .cta-band p{ color:var(--gunmetal); max-width:520px; margin:0 auto 28px; line-height:1.7; }
  .cta-row{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

  /* --- cross-links to sibling services --- */
  .also-grid{ max-width:900px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  @media (max-width:700px){ .also-grid{ grid-template-columns:1fr; } }
  .also-card{
    display:block; padding:26px 26px;
    border:1px solid var(--gunmetal-dim); border-radius:8px;
    transition:border-color .25s, background .25s;
  }
  .also-card:hover{ border-color:var(--hyper); background:rgba(10,136,250,0.04); }
  .also-card strong{
    display:block; font-family:'Rajdhani',sans-serif; font-weight:700;
    text-transform:uppercase; letter-spacing:0.05em; font-size:1.1rem; color:var(--white); margin-bottom:7px;
  }
  .also-card span{ color:var(--gunmetal); font-size:0.92rem; line-height:1.6; }

  /* --- accessibility / motion --- */
  a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible{
    outline:2px solid var(--hyper); outline-offset:3px;
  }
  @media (prefers-reduced-motion: reduce){
    *, *::before, *::after{
      animation-duration:0.01ms !important;
      animation-iteration-count:1 !important;
      transition-duration:0.01ms !important;
      scroll-behavior:auto !important;
    }
    .hero-slide{ opacity:1; }
    .hero-slide:not(:first-child){ display:none; }
  }

  /* ================= REFINEMENT PASS ================= */

  /* --- more readable body copy across all pages --- */
  .prose-wrap p{ font-size:1.06rem; font-weight:400; color:#dfe2e6; line-height:1.85; }
  .prose-wrap ul li{ font-size:1.04rem; font-weight:400; color:#dfe2e6; }
  .section-head p{ font-size:1.08rem; font-weight:400; color:#c3c7cc; }
  .tier li{ font-size:1.01rem; font-weight:400; color:#dfe2e6; }
  .tier-desc{ font-size:0.93rem; color:#a8adb4; }
  .svc-card p{ font-size:1rem; color:#c3c7cc; }
  .also-card span{ font-size:0.97rem; color:#c3c7cc; }
  .faq-a p{ font-size:1.02rem; color:#c9cdd2; line-height:1.85; }
  .page-hero .lede{ font-size:1.12rem; color:#dfe2e6; }

  /* --- service-area chips: blue glow ring on hover --- */
  .chip{
    transition:border-color .3s, color .3s, box-shadow .3s, transform .3s, background .3s;
    cursor:default;
  }
  .chip:hover{
    border-color:var(--hyper);
    color:var(--white);
    background:rgba(10,136,250,0.07);
    box-shadow:0 0 0 1px rgba(10,136,250,0.35), 0 0 22px rgba(10,136,250,0.30);
    transform:translateY(-2px);
  }
  .chip::before{ transition:box-shadow .3s, transform .3s; }
  .chip:hover::before{ box-shadow:0 0 10px 2px var(--hyper); transform:scale(1.35); }

  /* --- section titles: soft blue glow on hover --- */
  .section-head h2, .prose-wrap h3{
    transition:text-shadow .45s ease, color .45s ease;
  }
  .section-head h2:hover, .prose-wrap h3:hover{
    color:var(--white);
    text-shadow:0 0 22px rgba(10,136,250,0.55), 0 0 44px rgba(10,136,250,0.25);
  }

  /* --- contact chips: solid blue fill when selected --- */
  .contact-chip{ transition:all .25s; }
  .contact-chip:hover{
    border-color:var(--hyper);
    color:var(--white);
    box-shadow:0 0 18px rgba(10,136,250,0.22);
  }
  .contact-chip.active{
    border-color:var(--hyper);
    background:var(--hyper);
    color:var(--jet);
    box-shadow:0 0 26px rgba(10,136,250,0.45);
  }
  .contact-chip.active svg{ color:var(--jet); }

  /* --- form fields: blue glow on hover and focus --- */
  input, select, textarea{
    transition:border-color .25s, box-shadow .25s, background .25s;
  }
  input:hover, select:hover, textarea:hover{
    border-color:rgba(10,136,250,0.55);
    box-shadow:0 0 14px rgba(10,136,250,0.14);
  }
  input:focus, select:focus, textarea:focus{
    border-color:var(--hyper);
    box-shadow:0 0 0 1px var(--hyper), 0 0 20px rgba(10,136,250,0.25);
    background:rgba(10,136,250,0.04);
  }

  /* --- yes/no toggles: stronger blue fill + glow --- */
  .toggle-btn{ transition:all .25s; }
  .toggle-btn:hover{ border-color:var(--hyper); color:var(--white); box-shadow:0 0 14px rgba(10,136,250,0.20); }
  .toggle-btn.active{ box-shadow:0 0 22px rgba(10,136,250,0.45); }

  /* --- smoother, staggered float-up on scroll --- */
  .reveal{
    opacity:0;
    transform:translateY(38px);
    transition:opacity .85s cubic-bezier(.22,.68,.36,1), transform .85s cubic-bezier(.22,.68,.36,1);
    will-change:opacity, transform;
  }
  .reveal.in{ opacity:1; transform:translateY(0); }
  .svc-grid .reveal:nth-child(2), .tiers .reveal:nth-child(2){ transition-delay:.10s; }
  .svc-grid .reveal:nth-child(3), .tiers .reveal:nth-child(3){ transition-delay:.20s; }
  .also-grid .reveal:nth-child(2){ transition-delay:.10s; }

  /* --- tier cards lift like service cards --- */
  .tier{ transition:border-color .3s, transform .3s, box-shadow .3s; }
  .tier:hover{
    border-color:var(--hyper);
    transform:translateY(-5px);
    box-shadow:0 20px 46px rgba(0,0,0,0.55), 0 0 30px rgba(10,136,250,0.10);
  }

  /* --- FAQ hover --- */
  .faq-q{ transition:color .25s; }
  .faq-q:hover{ color:var(--hyper); }
