:root{--navy-950:#07111f;--navy-925:#081626;--navy-900:#0b1728;--navy-850:#102033;--charcoal:#151a21;--slate:#5f6b7a;--slate-700:#394555;--cream:#f7f3ea;--cream-2:#fffaf0;--white:#ffffff;--gold:#c89b3c;--gold-2:#e0c27a;--gold-3:#ad7b22;--green:#3f8e6a;--red:#8b2f2f;--border:rgba(255,255,255,.12);--border-dark:rgba(7,17,31,.12);--shadow:0 24px 70px rgba(7,17,31,.22);--shadow-soft:0 14px 44px rgba(7,17,31,.12);--radius-sm:14px;--radius-md:20px;--radius-lg:28px;--container:1180px;--font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);background:var(--cream);color:var(--navy-950);line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img,svg{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}a:hover{text-decoration:none}p{margin:0 0 1rem;color:rgba(7,17,31,.74)}h1,h2,h3{margin:0;color:inherit;line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(2.35rem,6.2vw,4.45rem);max-width:920px}h2{font-size:clamp(1.85rem,3.5vw,3rem)}h3{font-size:1.16rem;letter-spacing:-.02em}ul,ol{margin:0;padding:0}.container{width:min(100% - 32px,var(--container));margin-inline:auto}.section{padding:92px 0}.section-light{background:linear-gradient(180deg,var(--cream),var(--white))}.section-dark{background:radial-gradient(circle at 18% 0,rgba(200,155,60,.16),transparent 34%),linear-gradient(135deg,var(--navy-950),var(--charcoal));color:var(--white)}.section-dark p{color:rgba(255,255,255,.74)}.eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;color:var(--gold);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.76rem}.eyebrow:before{content:"";width:26px;height:1px;background:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 20px;border-radius:999px;font-weight:800;font-size:.94rem;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,var(--gold),var(--gold-2));color:#17120a;box-shadow:0 18px 38px rgba(200,155,60,.24)}.btn-secondary{border:1px solid rgba(255,255,255,.24);color:var(--white);background:rgba(255,255,255,.06)}.btn-dark{background:var(--navy-950);color:var(--white);box-shadow:var(--shadow-soft)}.text-link-light{display:inline-flex;color:var(--gold-2);font-weight:800;border-bottom:1px solid rgba(224,194,122,.42);padding-bottom:3px}.skip-link{position:absolute;left:16px;top:-100px;z-index:999;padding:10px 14px;background:var(--gold);color:#17120a;border-radius:10px;font-weight:800}.skip-link:focus{top:16px}.section-heading{max-width:760px;margin-bottom:38px}.section-heading-center{text-align:center;margin-inline:auto}.section-heading-center .eyebrow{justify-content:center}.split-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.86fr);gap:44px;align-items:center}.split-grid-reverse{grid-template-columns:minmax(320px,.9fr) minmax(0,1fr)}.section-copy p{font-size:1.04rem}.breadcrumb{margin:0 0 22px;color:rgba(255,255,255,.7);font-size:.9rem}.breadcrumb ol{list-style:none;display:flex;align-items:center;flex-wrap:wrap;gap:9px}.breadcrumb li:not(:last-child):after{content:"/";margin-left:9px;color:rgba(255,255,255,.34)}.breadcrumb a{color:rgba(255,255,255,.86)}@media (max-width:900px){.section{padding:68px 0}.split-grid,.split-grid-reverse{grid-template-columns:1fr;gap:30px}.section-heading{margin-bottom:28px}.container{width:min(100% - 24px,var(--container))}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:focus-visible{outline:3px solid rgba(224,194,122,.72);outline-offset:3px}[data-reveal]{opacity:1;transform:none}.js [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.js [data-reveal].is-visible{opacity:1;transform:translateY(0)}.js .hero-copy[data-reveal]{transform:translateY(10px)}.js .hero-visual[data-reveal]{transform:translateY(14px) scale(.985)}.js .hero-visual[data-reveal].is-visible{transform:translateY(0) scale(1)}.btn,.service-card,.simple-card,.article-card,.location-grid a,.related-links a,.mega-column a,.nav-cta{will-change:transform}@media (prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1!important;transform:none!important}}.faq-section{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--cream),#fff)}.faq-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 12%,rgba(200,155,60,.12),transparent 28%),radial-gradient(circle at 88% 10%,rgba(7,17,31,.07),transparent 26%);pointer-events:none}.faq-section .container{position:relative;z-index:1}.faq-grid{align-items:start}.faq-list{display:grid;gap:16px}.faq-item{position:relative;overflow:hidden;border:1px solid rgba(7,17,31,.10);border-radius:24px;background:linear-gradient(180deg,#fff,#fffaf0);box-shadow:0 14px 36px rgba(7,17,31,.08);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.faq-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--gold),var(--gold-2));opacity:.42;transition:opacity .2s ease}.faq-item:hover{border-color:rgba(200,155,60,.30);box-shadow:0 18px 44px rgba(7,17,31,.11);transform:translateY(-1px)}.faq-item.is-open{border-color:rgba(200,155,60,.44);box-shadow:0 20px 52px rgba(7,17,31,.13)}.faq-item.is-open:before{opacity:1}.faq-question{width:100%;appearance:none;border:0;background:transparent;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;text-align:left;padding:22px 24px 20px 28px;font:inherit;font-weight:900;line-height:1.32;color:var(--navy-950);cursor:pointer}.faq-question span:first-child{display:block}.faq-question:hover{color:var(--gold-3)}.faq-question:focus-visible{outline:3px solid rgba(224,194,122,.72);outline-offset:-5px;border-radius:22px}.faq-icon{width:34px;height:34px;border-radius:999px;position:relative;flex:0 0 auto;background:rgba(200,155,60,.13);border:1px solid rgba(200,155,60,.24);transition:background .18s ease,transform .18s ease,border-color .18s ease}.faq-icon:before,.faq-icon:after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;margin-left:-7px;margin-top:-1px;background:var(--gold-3);border-radius:99px;transition:transform .18s ease,opacity .18s ease}.faq-icon:after{transform:rotate(90deg)}.faq-question[aria-expanded="true"] .faq-icon{background:linear-gradient(135deg,var(--gold),var(--gold-2));border-color:transparent;transform:rotate(180deg)}.faq-question[aria-expanded="true"] .faq-icon:before,.faq-question[aria-expanded="true"] .faq-icon:after{background:#17120a}.faq-question[aria-expanded="true"] .faq-icon:after{opacity:0;transform:rotate(90deg) scaleX(.2)}.faq-answer{display:block;overflow:hidden;max-height:none;padding:0!important;color:rgba(7,17,31,.74);transition:max-height .28s ease}.faq-answer p{margin:0;padding:0 24px 24px 28px;max-width:860px}.faq-list.faq-ready .faq-answer{max-height:0}.faq-list.faq-ready .faq-item.is-open .faq-answer{max-height:none}.faq-list.faq-ready .faq-item.is-open .faq-answer p{animation:faqV9Fade .22s ease both}@keyframes faqV9Fade{from{opacity:.45;transform:translateY(-4px)}to{opacity:1;transform:none}}.whatsapp-only-note{font-size:.86rem;color:rgba(255,255,255,.62)}@media (max-width:760px){.faq-grid{grid-template-columns:1fr!important;gap:24px}.faq-question{padding:18px 18px 17px 22px;font-size:.98rem}.faq-icon{width:30px;height:30px}.faq-answer p{padding:0 18px 20px 22px}.faq-item{border-radius:20px}}@media (prefers-reduced-motion:reduce){.faq-item,.faq-icon,.faq-answer,.faq-list.faq-ready .faq-item.is-open .faq-answer p{transition:none!important;animation:none!important;transform:none!important}}.hero,.service-hero{isolation:isolate}.section,.trust-strip,.services-section,.process-section,.locations-section,.related-section,.faq-section,.cta-section,.site-footer{content-visibility:auto;contain-intrinsic-size:1px 820px}.hero,.service-hero,.site-header{content-visibility:visible;contain-intrinsic-size:auto}.hero-visual img,.service-hero img,.report-preview,.service-card,.trust-mini-card,.simple-card,.article-card,.location-grid a,.related-links a,.faq-item,.cta-card{transform:translateZ(0)}.site-header{backface-visibility:hidden}.hero-visual img,.service-hero img{aspect-ratio:640/520;object-fit:contain}.service-card img,.trust-mini-card img,.article-card img{object-fit:contain}.nav-panel,.mega-panel{contain:layout paint}.floating-consult{contain:layout paint style}.faq-answer{contain:layout}.section img[loading="lazy"]{content-visibility:auto}body{overflow-x:hidden}@media (max-width:760px){.section,.trust-strip,.services-section,.process-section,.locations-section,.related-section,.faq-section,.cta-section,.site-footer{contain-intrinsic-size:1px 980px}.hero-visual img,.service-hero img{aspect-ratio:4/3}}@media print{.site-header,.floating-consult,.hero-actions,.cta-section{display:none!important}.section,.trust-strip,.services-section,.process-section,.locations-section,.related-section,.faq-section,.site-footer{content-visibility:visible!important;contain:none!important}}


/* BI-V122 Article Hub Hard Fix: article cards must be visible even if reveal JS/cache fails */
body[data-page="article-hub"] .content-section,
body[data-page="article-hub"] .section.content-section{
  content-visibility:visible !important;
  contain:none !important;
  contain-intrinsic-size:auto !important;
  min-height:0 !important;
}
body[data-page="article-hub"] .article-hub-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  min-height:0 !important;
}
body[data-page="article-hub"] .article-hub-card,
body[data-page="article-hub"] .article-hub-card[data-reveal],
html.js body[data-page="article-hub"] .article-hub-card,
body.is-loaded[data-page="article-hub"] .article-hub-card{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}
body[data-page="article-hub"] .article-hub-card a{
  position:relative;
  z-index:2;
}
@media(max-width:900px){body[data-page="article-hub"] .article-hub-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:620px){body[data-page="article-hub"] .article-hub-grid{grid-template-columns:1fr;}}
