:root{--bg:#080411;--bg2:#130920;--ink:#fbf7ff;--muted:rgba(251,247,255,.76);--soft:rgba(251,247,255,.55);--line:rgba(255,255,255,.13);--line-2:rgba(255,255,255,.22);--purple:#ab66ff;--pink:#f0a1ff;--gold:#d9ae70;--gold2:#f2d6aa;--shadow:0 24px 100px rgba(0,0,0,.45);--shell:min(1380px,calc(100% - 34px));--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img,canvas{display:block;max-width:100%}.shell{width:var(--shell);margin-inline:auto}.shell-side{width:min(100%,640px)}.page-noise{position:fixed;inset:0;pointer-events:none;z-index:70;opacity:.04;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}#global-particles{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}.cursor-light{position:fixed;left:0;top:0;width:360px;height:360px;margin:-180px 0 0 -180px;border-radius:50%;background:radial-gradient(circle,rgba(171,102,255,.18),transparent 70%);filter:blur(12px);pointer-events:none;z-index:2}.preloader{position:fixed;inset:0;display:grid;place-items:center;background:#04020a;z-index:999;transition:opacity .7s ease,visibility .7s ease}.preloader.hidden{opacity:0;visibility:hidden}.preloader-box{width:min(420px,calc(100% - 48px));text-align:center}.preloader-box span{display:block;font-family:Cinzel,serif;font-size:clamp(3rem,8vw,6rem);line-height:1}.preloader-box p{margin:.9rem 0 1.2rem;color:var(--soft);text-transform:uppercase;letter-spacing:.2em;font-size:.76rem}.preloader-line{height:1px;background:rgba(255,255,255,.12);overflow:hidden}.preloader-line i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--purple),var(--gold))}.site-header{position:fixed;left:0;right:0;top:0;z-index:80;pointer-events:none}.header-top{padding:10px 0 0}.top-pill{width:var(--shell);margin-inline:auto;min-height:36px;display:flex;align-items:center;justify-content:center;gap:.7rem;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(8,4,17,.45);backdrop-filter:blur(18px);color:var(--muted);font-size:.78rem;pointer-events:auto}.top-pill p{margin:0}.nav-shell{width:var(--shell);margin:12px auto 0;padding:.78rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(8,4,17,.52);backdrop-filter:blur(22px);box-shadow:0 12px 80px rgba(0,0,0,.26);pointer-events:auto}.brand{display:flex;align-items:center;gap:.85rem;min-width:0}.brand-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#fff,var(--pink),var(--purple),var(--gold));color:#16081d;font-family:Cinzel,serif;font-weight:700;font-size:1.45rem;box-shadow:0 0 30px rgba(171,102,255,.22)}.brand strong{display:block;font-size:1rem}.brand small{display:block;color:var(--soft);font-size:.72rem}.nav{display:flex;align-items:center;gap:1.5rem}.nav a{font-size:.84rem;color:var(--muted);font-weight:700}.nav a:hover{color:var(--ink)}.nav-cta,.menu-btn,.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.85rem 1.12rem;border-radius:999px;border:1px solid var(--line-2);background:rgba(255,255,255,.04);color:var(--ink);font-weight:800;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.menu-btn{display:none}.btn-primary,.nav-cta{background:linear-gradient(135deg,var(--purple),var(--pink),var(--gold));color:#18091f;box-shadow:0 18px 46px rgba(171,102,255,.25)}.btn:hover,.nav-cta:hover,.menu-btn:hover{transform:translateY(-3px)}.btn-ghost{background:rgba(255,255,255,.04)}.hero{position:relative;min-height:100svh;padding-top:132px;overflow:hidden}.hero-media{position:absolute;inset:0;z-index:-2}.hero-media img{width:100%;height:100%;object-fit:cover;animation:heroZoom 20s ease-in-out infinite alternate}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,2,12,.94) 0%,rgba(5,2,12,.68) 38%,rgba(5,2,12,.22) 74%,rgba(5,2,12,.6) 100%),linear-gradient(180deg,rgba(5,2,12,.18),rgba(5,2,12,.82))}.section-three{position:absolute;inset:0;pointer-events:none;z-index:0;mix-blend-mode:screen}.hero-content{position:relative;z-index:5;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:2rem;align-items:center;min-height:calc(100svh - 132px);padding-bottom:84px}.eyebrow{margin:0 0 .9rem;color:var(--gold);font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;font-weight:900}.hero h1,.section-heading h2,.service-copy h2,.quote-copy h2{margin:0;font-family:Cinzel,serif;font-weight:600;letter-spacing:-.04em;line-height:1.04;text-wrap:balance}.hero h1{font-size:clamp(3.3rem,7vw,7.2rem);max-width:860px}.hero h1 em{font-style:normal;color:var(--pink);text-shadow:0 0 28px rgba(240,161,255,.3)}.lead,.section-heading p,.service-intro,.quote-copy p{color:var(--muted);line-height:1.78;font-size:clamp(1rem,1.28vw,1.13rem)}.lead{max-width:610px;margin:1.15rem 0 0}.hero-actions{display:flex;gap:.85rem;flex-wrap:wrap;margin-top:1.6rem}.keyword-strip{display:flex;gap:.85rem;flex-wrap:wrap;margin-top:1.8rem}.keyword-strip span,.quote-bullets span{padding:.72rem .95rem;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.04);color:var(--muted)}.hero-side{display:grid;gap:.9rem}.hero-panel{padding:1rem;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(8,4,17,.46);backdrop-filter:blur(16px);box-shadow:var(--shadow)}.hero-panel p{margin:0;color:var(--muted);line-height:1.5}.hero-panel strong,.hero-panel span{display:block;margin-bottom:.45rem}.hero-panel span{color:var(--gold);font-weight:900}.hero-float-card{position:absolute;right:7%;bottom:6%;z-index:6;padding:1rem 1.15rem;min-width:230px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(8,4,17,.52);backdrop-filter:blur(16px);box-shadow:var(--shadow)}.hero-float-card span{display:block;color:var(--gold);font-size:.78rem;text-transform:uppercase;letter-spacing:.14em}.hero-float-card strong{display:block;margin-top:.3rem;font-family:Cinzel,serif;font-size:1.35rem}.services-overview{position:relative;padding:100px 0 40px;z-index:5}.section-heading{max-width:860px}.section-heading h2{font-size:clamp(2.3rem,5vw,4.8rem);margin-bottom:1rem}.service-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}.service-index article{padding:1.2rem;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.035);box-shadow:var(--shadow)}.service-index span{display:block;color:var(--pink);font-size:.85rem;font-weight:900;margin-bottom:.8rem}.service-index strong{display:block;margin-bottom:.6rem;font-size:1.02rem}.service-index p{margin:0;color:var(--muted);line-height:1.55}.service-section{position:relative;padding:50px 0}.service-sticky{width:var(--shell);margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:1.2rem;align-items:stretch}.service-section.alt .service-sticky{grid-template-columns:minmax(340px,.95fr) minmax(0,1.05fr)}.service-section.alt .service-media{order:2}.service-section.alt .service-copy{order:1}.service-media{position:sticky;top:116px;min-height:680px;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.14);box-shadow:var(--shadow);background:#090410}.service-media img{width:100%;height:100%;object-fit:cover}.service-media-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,4,17,.18),rgba(8,4,17,.66)),linear-gradient(90deg,rgba(8,4,17,.16),rgba(8,4,17,.36))}.small-three{opacity:.95}.service-copy{display:flex;flex-direction:column;justify-content:center;padding:1rem 0}.service-copy h2{font-size:clamp(2.2rem,4.2vw,4.2rem);margin-bottom:1rem}.package-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1.45rem 0}.package-mini{padding:1rem;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.035)}.package-mini.featured{background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.04));border-color:rgba(217,174,112,.35)}.package-mini span{display:block;color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:900}.package-mini strong{display:block;margin:.5rem 0;font-size:1.5rem;font-family:Cinzel,serif}.package-mini small{color:var(--muted)}.accordion-set{display:grid;gap:.85rem;margin-top:.6rem}.accordion-set details{border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.035);overflow:hidden}.accordion-set summary{list-style:none;cursor:pointer;padding:1rem 1.1rem;font-weight:800;position:relative}.accordion-set summary::-webkit-details-marker{display:none}.accordion-set summary:after{content:"+";position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--gold)}.accordion-set details[open] summary:after{content:"–"}.accordion-body{padding:0 1.1rem 1rem}.accordion-body p{margin:.1rem 0 0;color:var(--muted);line-height:1.7}.accordion-body ul{margin:0;padding-left:1.1rem;color:var(--muted);line-height:1.8}.master-packages{position:relative;min-height:100svh;padding:120px 0;overflow:hidden}.packages-bg,.quote-bg{position:absolute;inset:0;z-index:-2}.packages-bg img,.quote-bg img{width:100%;height:100%;object-fit:cover}.packages-overlay,.quote-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,2,12,.74),rgba(5,2,12,.9)),linear-gradient(90deg,rgba(5,2,12,.8),rgba(5,2,12,.45),rgba(5,2,12,.8))}.packages-shell{position:relative;z-index:5}.tab-row{display:flex;gap:.8rem;flex-wrap:wrap;margin:2rem 0 1.2rem}.tab-row button{border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--muted);border-radius:999px;padding:.85rem 1.05rem;cursor:pointer;font-weight:800}.tab-row button.active{background:linear-gradient(135deg,var(--purple),var(--pink));color:#190a22}.tab-panels{position:relative}.tab-panel{display:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.tab-panel.active{display:grid}.tab-panel article{padding:1.25rem;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:rgba(9,4,18,.48);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.tab-panel article.featured{background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.05));border-color:rgba(217,174,112,.35)}.tab-panel span{display:block;color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;font-weight:900}.tab-panel strong{display:block;margin:.55rem 0 1rem;font-family:Cinzel,serif;font-size:2rem}.tab-panel ul{margin:0;padding-left:1.2rem;color:var(--muted);line-height:1.75}.quote-section{position:relative;min-height:100svh;padding:120px 0;overflow:hidden}.quote-grid{position:relative;z-index:5;display:grid;grid-template-columns:minmax(0,.9fr) minmax(340px,1fr);gap:1.3rem;align-items:center}.quote-copy h2{font-size:clamp(2.3rem,5vw,4.7rem);margin-bottom:1rem}.quote-bullets{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}.quote-card{padding:1.2rem;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:rgba(9,4,18,.56);backdrop-filter:blur(20px);box-shadow:var(--shadow);display:grid;gap:1rem}.quote-card label{display:grid;gap:.48rem}.quote-card span{color:var(--muted);font-weight:800}.quote-card input,.quote-card select,.quote-card textarea{width:100%;padding:.95rem 1rem;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(8,4,17,.8);color:var(--ink);outline:none}.quote-card input:focus,.quote-card select:focus,.quote-card textarea:focus{border-color:rgba(240,161,255,.55);box-shadow:0 0 0 4px rgba(171,102,255,.12)}.quote-actions{display:flex;gap:.8rem;flex-wrap:wrap}.site-footer{padding:28px 0;background:#080411;border-top:1px solid rgba(255,255,255,.09)}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer-row strong{font-family:Cinzel,serif}.footer-row p{color:var(--muted);margin:.4rem 0 0}.footer-row nav{display:flex;gap:1rem;flex-wrap:wrap;color:var(--muted)}.reveal{opacity:0;transform:translateY(28px)}@keyframes heroZoom{to{transform:scale(1.08)}}@media(max-width:1100px){.top-pill{display:none}.nav{display:none;position:absolute;left:0;right:0;top:68px;flex-direction:column;align-items:stretch;padding:.9rem;border:1px solid var(--line);border-radius:24px;background:rgba(8,4,17,.95)}.nav.open{display:flex}.menu-btn{display:inline-flex}.nav-cta{display:none}.hero-content,.service-sticky,.quote-grid{grid-template-columns:1fr}.hero-side{max-width:480px}.hero-float-card{display:none}.service-section.alt .service-media,.service-section.alt .service-copy{order:initial}.service-media{position:relative;top:auto;min-height:520px}.tab-panel,.service-index{grid-template-columns:1fr}}@media(max-width:720px){:root{--shell:min(100% - 18px,1380px)}.nav-shell{margin-top:10px}.brand small{display:none}.hero{padding-top:94px}.hero-content{min-height:auto;padding:54px 0 70px}.hero h1{font-size:clamp(2.55rem,11vw,4.7rem)}.lead,.section-heading p,.service-intro,.quote-copy p{font-size:1rem}.hero-actions,.quote-actions{display:grid}.btn{width:100%}.keyword-strip,.quote-bullets{display:grid}.package-row,.tab-panel{grid-template-columns:1fr}.service-media{min-height:380px}.service-copy h2,.section-heading h2,.quote-copy h2{font-size:clamp(2rem,10vw,3.2rem)}.footer-row{display:grid;justify-content:center;text-align:center}.footer-row nav{justify-content:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

/* Clickable package WhatsApp cards */
.whatsapp-package-card {
  cursor: pointer;
  position: relative;
}

.whatsapp-package-card::after {
  content: "WhatsApp →";
  position: absolute;
  right: .85rem;
  bottom: .78rem;
  color: var(--gold);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .22s ease, transform .22s ease;
  pointer-events: none;
}

.whatsapp-package-card:hover,
.whatsapp-package-card:focus-visible {
  border-color: rgba(217,174,112,.55) !important;
  transform: translateY(-5px);
}

.whatsapp-package-card:hover::after,
.whatsapp-package-card:focus-visible::after {
  opacity: 1;
  transform: translateY(0);
}

.package-mini.whatsapp-package-card,
.tab-panel article.whatsapp-package-card,
.hero-panel.whatsapp-package-card {
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}

@media(max-width:720px){
  .whatsapp-package-card::after {
    position: static;
    display: inline-flex;
    margin-top: .7rem;
    opacity: 1;
    transform: none;
  }
}


/* Readability + cleaner package click refinement */
.hero-overlay{
  background:
    radial-gradient(circle at 72% 35%, rgba(171,102,255,.15), transparent 24rem),
    linear-gradient(90deg, rgba(4,2,10,.98) 0%, rgba(4,2,10,.82) 42%, rgba(4,2,10,.35) 74%, rgba(4,2,10,.74) 100%),
    linear-gradient(180deg, rgba(4,2,10,.42), rgba(4,2,10,.92)) !important;
}

.hero-copy{
  max-width: 790px;
  padding: clamp(1rem, 2.2vw, 1.55rem);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 28px;
  background: linear-gradient(105deg, rgba(5,2,12,.72), rgba(5,2,12,.42));
  box-shadow: 0 30px 110px rgba(0,0,0,.38);
  backdrop-filter: blur(8px);
}

.hero h1{
  font-size: clamp(2.9rem, 6.5vw, 6.7rem) !important;
  color: #fff;
  text-shadow: 0 5px 34px rgba(0,0,0,.88), 0 0 22px rgba(171,102,255,.18);
}

.hero h1 em{
  color: #f3a8ff !important;
  text-shadow: 0 4px 28px rgba(0,0,0,.9), 0 0 24px rgba(240,161,255,.42) !important;
}

.lead,
.section-heading p,
.service-intro,
.quote-copy p,
.hero-panel p,
.accordion-body p,
.accordion-body ul,
.tab-panel ul{
  color: rgba(251,247,255,.86) !important;
}

.hero-panel,
.hero-float-card,
.service-index article,
.package-mini,
.accordion-set details,
.tab-panel article,
.quote-card{
  background: rgba(7,3,15,.70) !important;
  border-color: rgba(255,255,255,.18) !important;
}

.hero-panel strong,
.service-index strong,
.package-mini strong,
.tab-panel strong,
.accordion-set summary{
  color: #fff;
  text-shadow: 0 3px 18px rgba(0,0,0,.65);
}

/* No tooltip-style CTA text on package cards. The whole card is still clickable. */
.whatsapp-package-card::after{
  content: "" !important;
  display: none !important;
}

.whatsapp-package-card:hover,
.whatsapp-package-card:focus-visible{
  border-color: rgba(217,174,112,.62) !important;
  box-shadow: 0 22px 70px rgba(217,174,112,.12), 0 24px 100px rgba(0,0,0,.42) !important;
  transform: translateY(-4px);
}

.whatsapp-package-card:focus-visible{
  outline: 2px solid rgba(240,161,255,.72);
  outline-offset: 4px;
}

@media(max-width:720px){
  .hero-copy{
    padding: 1rem;
    border-radius: 22px;
    background: rgba(5,2,12,.76);
  }
  .hero h1{
    font-size: clamp(2.42rem, 10.4vw, 4.3rem) !important;
  }
}


/* Clean hero refinement: removed low-value side cards */
.hero-content{
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: center;
}

.hero-copy{
  max-width: min(980px, 100%);
}

.hero h1{
  max-width: 1040px;
}

.lead{
  max-width: 720px;
}

.hero-side,
.hero-float-card{
  display: none !important;
}

.keyword-strip{
  max-width: 860px;
}

.keyword-strip span{
  backdrop-filter: blur(14px);
  border-color: rgba(255,255,255,.18);
  background: rgba(10,4,24,.58);
}

@media(max-width:720px){
  .hero-copy{
    max-width: 100%;
  }
}

/* =========================================================
   MOBILE OPTIMIZATION FIX
   Fixes horizontal overflow, clipped hero text, oversized mobile nav,
   and heavy overlays on iPhone / small Android screens.
   ========================================================= */
html,
body{
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}

body{
  position:relative;
}

main,
section,
header,
footer,
.site-header,
.hero,
.service-section,
.master-packages,
.quote-section{
  max-width:100% !important;
  overflow-x:clip !important;
}

img,
canvas,
svg,
video{
  max-width:100% !important;
}

.hero-content,
.service-sticky,
.quote-grid,
.service-index,
.tab-panel,
.package-row,
.footer-row{
  min-width:0 !important;
}

.hero-copy,
.service-copy,
.quote-copy,
.section-heading,
.hero-panel,
.package-mini,
.accordion-set,
.quote-card,
.tab-panel article{
  min-width:0 !important;
}

@media (max-width: 820px){
  :root{
    --shell:100% !important;
  }

  .shell,
  .nav-shell,
  .top-pill,
  .service-sticky{
    width:100% !important;
    max-width:100% !important;
  }

  .shell{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .site-header{
    position:absolute !important;
    top:0 !important;
  }

  .header-top,
  .top-pill{
    display:none !important;
  }

  .nav-shell{
    width:calc(100% - 20px) !important;
    margin:10px auto 0 !important;
    padding:10px 12px !important;
    border-radius:30px !important;
    gap:10px !important;
  }

  .brand{
    gap:10px !important;
    min-width:0 !important;
  }

  .brand-mark{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    border-radius:14px !important;
    font-size:1.25rem !important;
  }

  .brand strong{
    font-size:1rem !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

  .brand small{
    display:none !important;
  }

  .menu-btn{
    min-height:44px !important;
    padding:0 18px !important;
    border-radius:999px !important;
    font-size:1rem !important;
    flex:0 0 auto !important;
  }

  .nav{
    top:66px !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:100% !important;
    border-radius:22px !important;
    background:rgba(8,4,17,.96) !important;
  }

  .hero{
    min-height:auto !important;
    padding-top:86px !important;
  }

  .hero-media{
    min-height:100% !important;
  }

  .hero-media img{
    object-position:58% center !important;
    transform:none !important;
    animation:none !important;
  }

  .hero-overlay{
    background:
      linear-gradient(180deg, rgba(5,2,12,.58), rgba(5,2,12,.88)),
      linear-gradient(90deg, rgba(5,2,12,.92), rgba(5,2,12,.58)) !important;
  }

  .hero-content{
    width:100% !important;
    max-width:100% !important;
    display:block !important;
    min-height:auto !important;
    padding:36px 16px 54px !important;
    margin:0 !important;
  }

  .hero-copy{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:18px !important;
    border-radius:22px !important;
    overflow:visible !important;
    background:linear-gradient(180deg, rgba(5,2,12,.82), rgba(5,2,12,.62)) !important;
    border-color:rgba(255,255,255,.16) !important;
    transform:none !important;
  }

  .hero h1{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(2.05rem, 9.4vw, 3.15rem) !important;
    line-height:1.08 !important;
    letter-spacing:-.055em !important;
    text-wrap:balance !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    margin:0 !important;
  }

  .hero h1 em{
    display:inline !important;
  }

  .eyebrow{
    font-size:.68rem !important;
    letter-spacing:.14em !important;
    line-height:1.35 !important;
  }

  .lead{
    max-width:100% !important;
    font-size:1rem !important;
    line-height:1.62 !important;
    margin-top:14px !important;
  }

  .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:18px !important;
  }

  .btn{
    width:100% !important;
    min-height:52px !important;
    padding:12px 16px !important;
    font-size:.94rem !important;
    white-space:normal !important;
    text-align:center !important;
  }

  .keyword-strip,
  .quote-bullets{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:16px !important;
  }

  .keyword-strip span,
  .quote-bullets span{
    width:100% !important;
    border-radius:16px !important;
    padding:12px 14px !important;
  }

  .hero-side,
  .hero-float-card{
    display:none !important;
  }

  .section-three{
    opacity:.42 !important;
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  .services-overview{
    padding:58px 0 24px !important;
  }

  .section-heading{
    width:100% !important;
    max-width:100% !important;
  }

  .section-heading h2,
  .service-copy h2,
  .quote-copy h2{
    font-size:clamp(2rem, 9vw, 3.05rem) !important;
    line-height:1.08 !important;
    letter-spacing:-.045em !important;
  }

  .service-index,
  .package-row,
  .tab-panel,
  .quote-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  .service-sticky{
    display:grid !important;
    grid-template-columns:1fr !important;
    padding-left:16px !important;
    padding-right:16px !important;
    gap:18px !important;
  }

  .service-section,
  .service-section.alt{
    padding:28px 0 !important;
  }

  .service-section.alt .service-media,
  .service-section.alt .service-copy{
    order:initial !important;
  }

  .service-media{
    position:relative !important;
    top:auto !important;
    min-height:320px !important;
    max-height:420px !important;
    width:100% !important;
    border-radius:22px !important;
  }

  .service-copy{
    width:100% !important;
    padding:0 !important;
  }

  .package-row{
    gap:10px !important;
    margin:18px 0 !important;
  }

  .package-mini,
  .accordion-set details,
  .tab-panel article,
  .quote-card,
  .service-index article{
    border-radius:18px !important;
  }

  .accordion-set summary{
    padding:15px 44px 15px 16px !important;
    line-height:1.35 !important;
  }

  .master-packages,
  .quote-section{
    min-height:auto !important;
    padding:64px 0 !important;
  }

  .tab-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .tab-row button{
    width:100% !important;
    min-height:48px !important;
  }

  .tab-panel{
    gap:12px !important;
  }

  .quote-grid{
    gap:18px !important;
  }

  .quote-card{
    padding:16px !important;
  }

  .quote-card input,
  .quote-card select,
  .quote-card textarea{
    font-size:16px !important;
    border-radius:14px !important;
  }

  .site-footer{
    padding:24px 0 calc(24px + env(safe-area-inset-bottom)) !important;
  }

  .footer-row{
    display:grid !important;
    justify-content:center !important;
    text-align:center !important;
    gap:14px !important;
  }

  .footer-row nav{
    justify-content:center !important;
  }
}

@media (max-width: 390px){
  .hero h1{
    font-size:clamp(1.9rem, 8.8vw, 2.72rem) !important;
    letter-spacing:-.06em !important;
  }

  .brand strong{
    font-size:.92rem !important;
  }

  .menu-btn{
    padding:0 15px !important;
  }
}


/* =========================================================
   VISUAL CLARITY PASS
   Main artwork now stays visible instead of being swallowed by
   dark overlays. Text still sits on readable dark surfaces.
   ========================================================= */
.hero-media img,
.service-media img,
.packages-bg img,
.quote-bg img{
  opacity:1 !important;
  filter:saturate(1.22) contrast(1.13) brightness(1.12) !important;
}

.hero-overlay{
  background:
    radial-gradient(circle at 74% 36%, rgba(171,102,255,.10), transparent 26rem),
    linear-gradient(90deg, rgba(5,2,12,.92) 0%, rgba(5,2,12,.66) 36%, rgba(5,2,12,.16) 68%, rgba(5,2,12,.40) 100%),
    linear-gradient(180deg, rgba(5,2,12,.22), rgba(5,2,12,.70)) !important;
}

.service-media-overlay{
  background:
    radial-gradient(circle at 64% 35%, rgba(171,102,255,.08), transparent 26rem),
    linear-gradient(180deg, rgba(8,4,17,.04), rgba(8,4,17,.32)),
    linear-gradient(90deg, rgba(8,4,17,.04), rgba(8,4,17,.20)) !important;
}

.packages-overlay,
.quote-overlay{
  background:
    radial-gradient(circle at 66% 42%, rgba(171,102,255,.12), transparent 28rem),
    linear-gradient(180deg, rgba(5,2,12,.48), rgba(5,2,12,.76)),
    linear-gradient(90deg, rgba(5,2,12,.68), rgba(5,2,12,.28), rgba(5,2,12,.62)) !important;
}

.section-three{
  opacity:.82 !important;
}

.small-three{
  opacity:1 !important;
}

/* Make text containers readable without hiding the artwork behind them. */
.hero-copy,
.quote-card,
.accordion-set details,
.tab-panel article,
.package-mini,
.service-index article{
  background:rgba(6,2,14,.68) !important;
  backdrop-filter:blur(14px) saturate(1.2) !important;
}

.service-media{
  background:#10061d !important;
}

@media(max-width:720px){
  .hero-media img,
  .service-media img,
  .packages-bg img,
  .quote-bg img{
    filter:saturate(1.28) contrast(1.16) brightness(1.16) !important;
  }

  .hero-overlay{
    background:
      radial-gradient(circle at 70% 28%, rgba(171,102,255,.16), transparent 18rem),
      linear-gradient(180deg, rgba(5,2,12,.18), rgba(5,2,12,.52)),
      linear-gradient(90deg, rgba(5,2,12,.72), rgba(5,2,12,.30), rgba(5,2,12,.22)) !important;
  }

  .hero-copy{
    background:rgba(5,2,12,.72) !important;
    backdrop-filter:blur(12px) saturate(1.2) !important;
  }

  .service-media-overlay{
    background:
      linear-gradient(180deg, rgba(8,4,17,.02), rgba(8,4,17,.20)),
      linear-gradient(90deg, rgba(8,4,17,.02), rgba(8,4,17,.14)) !important;
  }

  .packages-overlay,
  .quote-overlay{
    background:
      linear-gradient(180deg, rgba(5,2,12,.38), rgba(5,2,12,.70)),
      linear-gradient(90deg, rgba(5,2,12,.60), rgba(5,2,12,.24)) !important;
  }

  .section-three{
    opacity:.58 !important;
  }
}


/* =========================================================
   RESPONSIVE MASTER PATCH
   Purpose: force gorgeous layouts at every viewport size.
   This overrides older desktop-grid rules that caused cramped
   side-by-side mobile sections.
   ========================================================= */

html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden !important;
  overscroll-behavior-x:none;
}

body{
  min-width:0 !important;
}

img,
video,
canvas,
svg{
  max-width:100%;
}

*{
  min-width:0;
}

.site-header,
.hero,
.services-overview,
.service-section,
.master-packages,
.quote-section,
.site-footer{
  max-width:100vw;
  overflow-x:clip;
}

/* Better fixed header behavior on mobile */
.site-header{
  padding-left:env(safe-area-inset-left);
  padding-right:env(safe-area-inset-right);
}

.nav-shell{
  max-width:calc(100vw - 24px);
}

.hero-content,
.service-sticky,
.quote-grid,
.service-index,
.package-row,
.tab-panel{
  min-width:0;
}

/* Tablet and down: no more two-column squeezed layouts */
@media (max-width: 980px){
  :root{
    --shell: min(100% - 24px, 1380px) !important;
  }

  .top-pill{
    display:none !important;
  }

  .site-header{
    top:0 !important;
  }

  .nav-shell{
    margin-top:12px !important;
    padding:10px 12px !important;
    border-radius:28px !important;
  }

  .brand{
    gap:10px !important;
  }

  .brand-mark{
    width:42px !important;
    height:42px !important;
    flex:0 0 42px !important;
  }

  .brand strong{
    font-size:clamp(.95rem, 4vw, 1.18rem) !important;
    white-space:nowrap;
  }

  .brand small{
    display:none !important;
  }

  .menu-btn{
    display:inline-flex !important;
    min-height:44px !important;
    padding:10px 18px !important;
    flex:0 0 auto !important;
  }

  .nav-cta{
    display:none !important;
  }

  .nav{
    display:none !important;
    position:absolute !important;
    left:12px !important;
    right:12px !important;
    top:calc(100% + 10px) !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:4px !important;
    padding:10px !important;
    border-radius:22px !important;
    background:rgba(8,4,17,.96) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    backdrop-filter:blur(20px);
  }

  .nav.open{
    display:flex !important;
  }

  .nav a{
    padding:14px 16px !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.035);
  }

  .hero{
    min-height:auto !important;
    padding-top:94px !important;
  }

  .hero-content{
    display:block !important;
    min-height:auto !important;
    padding-top:56px !important;
    padding-bottom:72px !important;
  }

  .hero-copy{
    width:100% !important;
    max-width:100% !important;
    padding:18px !important;
    border:1px solid rgba(255,255,255,.12);
    border-radius:24px;
    background:linear-gradient(180deg, rgba(8,4,17,.74), rgba(8,4,17,.42));
    backdrop-filter:blur(14px);
  }

  .hero h1{
    max-width:100% !important;
    font-size:clamp(2.45rem, 12vw, 4.25rem) !important;
    line-height:1.04 !important;
    letter-spacing:-.045em !important;
    overflow-wrap:normal !important;
    text-wrap:balance;
  }

  .lead{
    max-width:100% !important;
    font-size:1rem !important;
    line-height:1.68 !important;
  }

  .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .btn{
    width:100% !important;
    min-height:50px !important;
  }

  .keyword-strip,
  .quote-bullets{
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  .keyword-strip span,
  .quote-bullets span{
    width:100% !important;
  }

  .section-heading{
    max-width:100% !important;
  }

  .section-heading h2,
  .service-copy h2,
  .quote-copy h2{
    font-size:clamp(2.05rem, 10vw, 3.45rem) !important;
    line-height:1.08 !important;
    letter-spacing:-.035em !important;
  }

  .services-overview{
    padding-top:72px !important;
  }

  .service-index{
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  .service-section{
    padding:44px 0 !important;
  }

  .service-sticky,
  .service-section.alt .service-sticky{
    width:var(--shell) !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    align-items:initial !important;
  }

  .service-section.alt .service-media,
  .service-section.alt .service-copy{
    order:initial !important;
  }

  .service-media{
    position:relative !important;
    top:auto !important;
    width:100% !important;
    min-height:0 !important;
    height:auto !important;
    aspect-ratio: 16 / 11 !important;
    border-radius:24px !important;
  }

  .service-media img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
  }

  .service-media .section-three,
  .small-three{
    opacity:.42 !important;
  }

  .service-copy{
    width:100% !important;
    max-width:100% !important;
    padding:18px !important;
    border:1px solid rgba(255,255,255,.12);
    border-radius:24px;
    background:linear-gradient(180deg, rgba(8,4,17,.78), rgba(8,4,17,.46));
    backdrop-filter:blur(14px);
  }

  .service-intro{
    font-size:1rem !important;
    line-height:1.68 !important;
    max-width:100% !important;
  }

  .package-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .package-mini{
    min-height:auto !important;
    padding:16px !important;
  }

  .package-mini strong{
    font-size:clamp(1.45rem, 8vw, 2rem) !important;
  }

  .accordion-set details{
    border-radius:18px !important;
  }

  .accordion-set summary{
    padding:16px 44px 16px 16px !important;
    font-size:1rem !important;
    line-height:1.35 !important;
  }

  .accordion-body{
    padding:0 16px 16px !important;
  }

  .accordion-body ul,
  .accordion-body p{
    font-size:1rem !important;
    line-height:1.72 !important;
  }

  .master-packages,
  .quote-section{
    min-height:auto !important;
    padding:76px 0 !important;
  }

  .tab-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .tab-row button{
    width:100% !important;
    min-height:48px !important;
  }

  .tab-panel{
    display:none !important;
    grid-template-columns:1fr !important;
  }

  .tab-panel.active{
    display:grid !important;
  }

  .tab-panel article{
    min-height:auto !important;
    padding:18px !important;
  }

  .tab-panel strong{
    font-size:clamp(1.7rem, 9vw, 2.35rem) !important;
  }

  .quote-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .quote-copy,
  .quote-card{
    width:100% !important;
    max-width:100% !important;
  }

  .quote-card{
    padding:18px !important;
  }

  .quote-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  .site-footer{
    padding:26px 0 !important;
  }

  .footer-row{
    display:grid !important;
    justify-content:center !important;
    text-align:center !important;
  }

  .footer-row nav{
    justify-content:center !important;
  }
}

/* Small phones: extra care for iPhone/Safari widths */
@media (max-width: 520px){
  :root{
    --shell: calc(100% - 20px) !important;
  }

  .nav-shell{
    max-width:calc(100vw - 18px) !important;
    border-radius:26px !important;
  }

  .hero{
    padding-top:86px !important;
  }

  .hero-content{
    padding-top:44px !important;
  }

  .hero-copy,
  .service-copy,
  .quote-card{
    padding:16px !important;
    border-radius:22px !important;
  }

  .hero h1{
    font-size:clamp(2.22rem, 11vw, 3.65rem) !important;
  }

  .eyebrow{
    font-size:.68rem !important;
    letter-spacing:.16em !important;
  }

  .service-media{
    aspect-ratio: 4 / 3 !important;
    border-radius:22px !important;
  }

  .service-media img{
    object-position:center top !important;
  }

  .section-three{
    opacity:.32 !important;
  }

  .service-copy h2,
  .section-heading h2,
  .quote-copy h2{
    font-size:clamp(1.92rem, 9.6vw, 3rem) !important;
  }

  .tab-panel ul{
    padding-left:1.1rem !important;
  }

  .accordion-body ul{
    padding-left:1.1rem !important;
  }
}

/* Very narrow devices */
@media (max-width: 380px){
  .brand strong{
    font-size:.88rem !important;
  }

  .menu-btn{
    padding:9px 14px !important;
  }

  .hero h1{
    font-size:2.08rem !important;
  }

  .service-copy h2,
  .section-heading h2,
  .quote-copy h2{
    font-size:1.85rem !important;
  }
}

/* Desktop/laptop polish after mobile fixes */
@media (min-width: 981px){
  .hero-copy{
    max-width:860px !important;
  }

  .service-copy{
    min-width:0 !important;
  }

  .service-sticky{
    min-width:0 !important;
  }

  .service-media{
    min-width:0 !important;
  }
}


/* =========================================================
   HARD BORDER LOCK PATCH
   Stops the page from being draggable left/right on mobile.
   ========================================================= */

html{
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
  overscroll-behavior-x:none !important;
  touch-action:pan-y !important;
}

body{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow-x:hidden !important;
  overscroll-behavior-x:none !important;
  touch-action:pan-y !important;
  position:relative !important;
}

body.responsive-masterbuild{
  overflow-x:hidden !important;
}

main,
header,
footer,
section,
.site-header,
.hero,
.services-overview,
.service-section,
.master-packages,
.quote-section,
.site-footer{
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}

.hero-media,
.packages-bg,
.quote-bg,
.service-media{
  max-width:100% !important;
  overflow:hidden !important;
}

.nav-shell,
.top-pill,
.shell,
.service-sticky,
.hero-content,
.quote-grid,
.footer-row,
.packages-shell{
  width:min(100% - 18px, 1380px) !important;
  max-width:calc(100vw - 18px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.section-three,
.small-three,
#hero-three,
#web-three,
#social-three,
#content-three,
#packages-three,
#quote-three{
  width:100% !important;
  max-width:100% !important;
  left:0 !important;
  right:0 !important;
  transform:none;
}

img{
  max-width:100% !important;
}

.hero h1,
.service-copy h2,
.section-heading h2,
.quote-copy h2,
.lead,
.service-intro,
.quote-copy p,
.accordion-body,
.tab-panel,
.package-mini,
.hero-copy,
.service-copy,
.quote-card{
  max-width:100% !important;
  overflow-wrap:break-word;
}

@media (max-width:980px){
  .cursor-light{
    display:none !important;
  }

  #global-particles{
    width:100vw !important;
    max-width:100vw !important;
    overflow:hidden !important;
  }

  .site-header{
    left:0 !important;
    right:0 !important;
    width:100% !important;
    max-width:100% !important;
  }

  .nav-shell{
    width:calc(100% - 18px) !important;
    max-width:calc(100% - 18px) !important;
  }

  .nav{
    left:9px !important;
    right:9px !important;
    width:auto !important;
    max-width:calc(100% - 18px) !important;
  }

  .hero-content,
  .service-sticky,
  .quote-grid,
  .service-index,
  .package-row,
  .tab-panel{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:calc(100% - 18px) !important;
    max-width:calc(100% - 18px) !important;
  }

  .hero-content{
    display:block !important;
  }

  .hero-copy,
  .service-copy,
  .quote-card,
  .service-media,
  .package-mini,
  .tab-panel article,
  .accordion-set details{
    width:100% !important;
    max-width:100% !important;
  }

  .service-section.alt .service-media,
  .service-section.alt .service-copy{
    order:initial !important;
  }
}

@media (max-width:520px){
  .nav-shell,
  .shell,
  .service-sticky,
  .hero-content,
  .quote-grid,
  .footer-row,
  .packages-shell{
    width:calc(100% - 16px) !important;
    max-width:calc(100% - 16px) !important;
  }

  .hero-content,
  .service-sticky,
  .quote-grid,
  .service-index,
  .package-row,
  .tab-panel{
    width:calc(100% - 16px) !important;
    max-width:calc(100% - 16px) !important;
  }
}


/* =========================================================
   CENTER FIT PATCH
   Keeps every mobile section centered inside the visible screen.
   Solves: content looking pinned left while unused space sits right.
   ========================================================= */

@media (max-width: 980px){
  .shell,
  .hero-content,
  .services-overview.shell,
  .service-sticky,
  .packages-shell,
  .quote-grid,
  .footer-row{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .hero-content{
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:center !important;
    align-items:center !important;
    padding-top:50px !important;
    padding-bottom:76px !important;
  }

  .hero-copy,
  .service-copy,
  .quote-copy,
  .quote-card,
  .service-media,
  .section-heading,
  .service-index,
  .package-row,
  .tab-row,
  .tab-panels,
  .tab-panel,
  .footer-row > *,
  .keyword-strip{
    width:100% !important;
    max-width:min(100%, 620px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .hero-copy{
    display:block !important;
    text-align:left !important;
  }

  .hero h1,
  .service-copy h2,
  .section-heading h2,
  .quote-copy h2{
    width:100% !important;
    max-width:100% !important;
  }

  .lead,
  .service-intro,
  .quote-copy p{
    width:100% !important;
    max-width:100% !important;
  }

  .service-sticky,
  .service-section.alt .service-sticky,
  .quote-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:center !important;
    gap:18px !important;
  }

  .service-index,
  .package-row,
  .tab-panel{
    display:grid !important;
    grid-template-columns:1fr !important;
    justify-items:stretch !important;
  }

  .tab-panel{
    display:none !important;
  }

  .tab-panel.active{
    display:grid !important;
  }

  .service-section.alt .service-media,
  .service-section.alt .service-copy{
    order:initial !important;
  }

  .service-media{
    aspect-ratio: 4 / 3 !important;
    min-height:0 !important;
    height:auto !important;
  }

  .service-media img,
  .hero-media img,
  .packages-bg img,
  .quote-bg img{
    object-position:center center !important;
  }

  .hero-side,
  .hero-float-card{
    display:none !important;
  }

  .keyword-strip span,
  .quote-bullets span,
  .btn,
  .tab-row button{
    width:100% !important;
  }

  .hero-actions,
  .quote-actions,
  .keyword-strip,
  .quote-bullets,
  .tab-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
}

@media (max-width: 520px){
  .shell,
  .hero-content,
  .services-overview.shell,
  .service-sticky,
  .packages-shell,
  .quote-grid,
  .footer-row{
    padding-left:10px !important;
    padding-right:10px !important;
  }

  .hero-copy,
  .service-copy,
  .quote-copy,
  .quote-card,
  .service-media,
  .section-heading,
  .service-index,
  .package-row,
  .tab-row,
  .tab-panels,
  .tab-panel,
  .keyword-strip{
    max-width:100% !important;
  }

  .hero-copy,
  .service-copy,
  .quote-card{
    padding:16px !important;
  }

  .hero h1{
    font-size:clamp(2.15rem, 10.6vw, 3.7rem) !important;
    line-height:1.05 !important;
  }

  .service-copy h2,
  .section-heading h2,
  .quote-copy h2{
    font-size:clamp(1.9rem, 9.4vw, 3.05rem) !important;
    line-height:1.08 !important;
  }

  .nav-shell{
    width:calc(100% - 18px) !important;
    max-width:calc(100% - 18px) !important;
    padding-left:10px !important;
    padding-right:10px !important;
  }
}

@media (min-width: 981px) and (max-width: 1240px){
  .hero-content,
  .service-sticky,
  .quote-grid{
    width:min(100% - 40px, 1080px) !important;
  }
}
