/* WDV_FINAL_V15 — 2026-09-09 */
:root{--wdv15-safe-bottom:max(12px,env(safe-area-inset-bottom));--wdv15-green:#2C3A34;--wdv15-ink:#111827}
html{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{max-width:100%;overflow-x:hidden}
img,video,canvas,svg{max-width:100%}
input,select,textarea,button{box-sizing:border-box}

/* V12 Westin summary was injected into a white card inside a white-text hero. */
.wdv-v12-intent,
.wdv15-westin-intent{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:1180px!important;
  margin:18px auto!important;
  padding:16px 18px!important;
  border:1px solid rgba(44,58,52,.16)!important;
  border-radius:16px!important;
  background:#f7f8f6!important;
  color:#24322c!important;
  box-shadow:0 12px 30px rgba(24,35,30,.07)!important;
  font:500 14px/1.58 system-ui,-apple-system,Segoe UI,sans-serif!important;
}
.wdv-v12-intent strong,.wdv-v12-intent span,.wdv-v12-intent p,
.wdv15-westin-intent strong,.wdv15-westin-intent span,.wdv15-westin-intent p{color:inherit!important;opacity:1!important}
.wdv15-intent-shell{padding:0 20px;background:#fff;position:relative;z-index:2}
.wdv15-intent-shell>.wdv-v12-intent{margin:18px auto!important}

/* Generic fallback only for a genuinely light card that inherited light hero text. */
body.wdv15-westin .wdv15-contrast-auto{color:#24322c!important;background:#f7f8f6!important}
body.wdv15-westin .wdv15-contrast-auto :where(h1,h2,h3,h4,p,span,strong,small,li){color:inherit!important;opacity:1!important}

/* Old nav docks: homepage never needs them; mobile never needs them. */
body.wdv15-home #wdvV9Dock,
body.wdv15-home #wdvV8Dock,
body.wdv15-home #wdvV7NavDock,
body.wdv15-home #wdvV6Back{display:none!important}

/* Narrow-header CTA and hero search helpers. */
.wdv15-header-cta{white-space:nowrap!important;min-width:0!important;max-width:100%!important}
.wdv15-search-wrap{min-width:0!important;max-width:100%!important;overflow:hidden!important}
.wdv15-hero-search{width:100%!important;min-width:0!important;max-width:100%!important;font-size:16px!important;line-height:1.3!important;text-overflow:ellipsis!important}
.wdv15-quickchips{max-width:100%!important}
.wdv15-quickchip{min-width:0!important;max-width:100%!important;white-space:normal!important;text-wrap:balance!important}

/* Westin reference/pixel-match design — desktop stays visually intact. */
body.wdv15-westin.wd-reference-theme .westin-hero-copy{box-sizing:border-box!important}
body.wdv15-westin #wdRefEnquiryTab{z-index:9000!important}
#wdWestinPopup{overscroll-behavior:contain}
#wdWestinPopup .wdp-card{-webkit-overflow-scrolling:touch}

/* Prevent stale lower-page conversion cards from blocking real content when JS marks them. */
.wdv15-collision-hidden{display:none!important}

@media (max-width:820px){
  html,body{width:100%!important;max-width:100vw!important;overflow-x:hidden!important}
  body{padding-bottom:calc(74px + var(--wdv15-safe-bottom))}

  /* The mobile screenshots showed this dock covering search chips/content. */
  #wdvV9Dock,#wdvV8Dock,#wdvV7NavDock,#wdvV6Back{display:none!important}

  /* Keep the in-page AI advisor, remove only redundant fixed Ask-AI controls. */
  #wdvV9AskAI,#wdvV8AI,#wdvV7HelpBtn{display:none!important}

  /* One fixed conversion control is enough on project pages. */
  body.wdv15-westin #wdRefEnquiryTab{display:none!important}

  /* Safe-area positioning for the one remaining WhatsApp action. */
  .wdv-v9-wa,.wdv-v8-wa,
  a[href*="wa.me"].wdv-v9-wa,a[href*="whatsapp"].wdv-v9-wa{
    right:12px!important;
    bottom:var(--wdv15-safe-bottom)!important;
    width:56px!important;height:56px!important;
    z-index:10030!important
  }

  /* Homepage typography/search should fit 360–430 px devices. */
  body.wdv15-home main h1:first-of-type{
    max-width:100%!important;
    font-size:clamp(42px,12vw,62px)!important;
    line-height:.99!important;
    letter-spacing:-.045em!important;
    overflow-wrap:normal!important;
    word-break:normal!important
  }
  .wdv15-header-cta{padding:11px 14px!important;font-size:14px!important;line-height:1!important;border-radius:16px!important}
  .wdv15-quickchips{display:flex!important;flex-wrap:wrap!important;gap:9px!important;align-items:stretch!important}
  .wdv15-quickchip{flex:1 1 calc(50% - 9px)!important;min-height:48px!important;padding:10px 12px!important;font-size:14px!important;line-height:1.2!important}

  /* Westin old reference-theme mobile repair. */
  body.wdv15-westin.wd-reference-theme .westin-header{
    height:86px!important;min-height:86px!important
  }
  body.wdv15-westin.wd-reference-theme .westin-nav{
    height:86px!important;padding:0 18px!important
  }
  body.wdv15-westin.wd-reference-theme .mobile-menu{
    left:18px!important;width:42px!important;height:42px!important
  }
  body.wdv15-westin #wpxWordmark .wpx-westin{font-size:25px!important}
  body.wdv15-westin #wpxWordmark .wpx-res{font-size:11px!important;margin-top:7px!important}
  body.wdv15-westin #wpxWordmark .wpx-gur{font-size:9px!important;margin-top:6px!important}
  body.wdv15-westin.wd-reference-theme .westin-hero{
    margin-top:86px!important;
    min-height:calc(100svh - 86px)!important;
    height:auto!important;
    padding:0!important
  }
  body.wdv15-westin.wd-reference-theme .westin-hero-grid{min-height:calc(100svh - 86px)!important}
  body.wdv15-westin.wd-reference-theme .westin-hero-copy{
    left:22px!important;right:22px!important;bottom:7%!important;
    width:auto!important;max-width:none!important
  }
  body.wdv15-westin.wd-reference-theme .westin-hero-copy h1{
    max-width:100%!important;
    margin-bottom:16px!important;
    font-size:clamp(43px,12.2vw,57px)!important;
    line-height:1.02!important;
    letter-spacing:-.025em!important;
    overflow-wrap:normal!important
  }
  body.wdv15-westin.wd-reference-theme .hero-intro{
    width:100%!important;max-width:520px!important;padding-top:14px!important;
    font-size:15px!important;line-height:1.42!important
  }
  body.wdv15-westin.wd-reference-theme .hero-actions{margin-top:24px!important}
  body.wdv15-westin.wd-reference-theme .hero-actions .btn-gold{
    min-width:0!important;min-height:44px!important;padding:0 20px!important;font-size:15px!important
  }
  body.wdv15-westin #wpxDisclosure{
    right:10px!important;bottom:8px!important;max-width:70vw!important;font-size:8px!important
  }

  /* Westin modal: no clipped fields / horizontal overflow on phones. */
  #wdWestinPopup{padding:10px!important;align-items:flex-end!important}
  #wdWestinPopup .wdp-card{
    width:100%!important;max-width:100%!important;max-height:calc(100dvh - 16px)!important;
    border-radius:24px 24px 16px 16px!important;padding:62px 18px 24px!important
  }
  #wdWestinPopup #wdWestinPopupTitle{font-size:34px!important;line-height:1.08!important;margin-bottom:12px!important}
  #wdWestinPopup .wdp-sub{font-size:14px!important;margin-bottom:24px!important}
  #wdWestinPopup .wdp-ref-name-grid,
  #wdWestinPopup .wdp-ref-phone-grid{grid-template-columns:1fr!important;gap:14px!important;margin-bottom:16px!important}
  #wdWestinPopup .wdp-field{margin-bottom:16px!important}
  #wdWestinPopup input,#wdWestinPopup select{font-size:16px!important;width:100%!important;min-width:0!important}
  #wpxEmailOpt{float:none!important;margin:0 0 16px!important;justify-content:flex-start!important}
  #wdWestinPopup .wdp-close{top:14px!important;right:14px!important;width:40px!important;height:40px!important}

  .wdv15-intent-shell{padding:0 14px!important}
  .wdv-v12-intent,.wdv15-westin-intent{margin:14px auto!important;padding:14px 15px!important;font-size:13px!important;line-height:1.5!important}
}

@media (max-width:390px){
  .wdv15-header-cta{padding:10px 12px!important;font-size:13px!important}
  .wdv15-quickchip{flex-basis:100%!important}
  body.wdv15-home main h1:first-of-type{font-size:clamp(39px,12vw,50px)!important}
  body.wdv15-westin.wd-reference-theme .westin-hero-copy{left:18px!important;right:18px!important}
  body.wdv15-westin.wd-reference-theme .westin-hero-copy h1{font-size:clamp(40px,12vw,48px)!important}
}

@media (max-height:620px) and (orientation:landscape){
  body.wdv15-westin.wd-reference-theme .westin-hero-copy{bottom:4%!important}
  body.wdv15-westin.wd-reference-theme .westin-hero-copy h1{font-size:36px!important;margin-bottom:10px!important}
  body.wdv15-westin.wd-reference-theme .hero-intro{font-size:13px!important;padding-top:9px!important}
  body.wdv15-westin.wd-reference-theme .hero-actions{margin-top:12px!important}
}

/* ===== V15 TEAM ===== */
#wdvV15Team{position:relative;padding:72px 20px 84px;background:linear-gradient(180deg,#fff 0%,#f7f7fb 100%);color:#111827;z-index:2}
#wdvV15Team .wdv15-inner{width:min(1180px,100%);margin:0 auto}
#wdvV15Team .wdv15-eyebrow{margin:0 0 10px;color:#6b46ff;font:800 12px/1.2 system-ui;letter-spacing:.14em;text-transform:uppercase}
#wdvV15Team h2{margin:0;max-width:760px;font:700 clamp(34px,4.8vw,58px)/1.02 system-ui,-apple-system,Segoe UI,sans-serif;letter-spacing:-.045em;color:#101728}
#wdvV15Team .wdv15-team-lead{margin:16px 0 28px;max-width:760px;color:#657083;font:500 16px/1.65 system-ui}
#wdvV15Team .wdv15-team-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
#wdvV15Team .wdv15-person{min-width:0;background:#fff;border:1px solid #e6e8ef;border-radius:20px;overflow:hidden;box-shadow:0 14px 35px rgba(15,23,42,.06)}
#wdvV15Team .wdv15-person-media{aspect-ratio:4/5;overflow:hidden;background:#e8ebf2}
#wdvV15Team .wdv15-person-media img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block}
#wdvV15Team .wdv15-person-copy{padding:16px 16px 18px}
#wdvV15Team .wdv15-person h3{margin:0 0 5px;font:800 17px/1.25 system-ui;color:#111827;letter-spacing:-.02em}
#wdvV15Team .wdv15-role{margin:0;color:#6c7382;font:700 13px/1.4 system-ui}

/* ===== V15 INVENTORY TEASER + ADVISOR ===== */
#wdvV15InventoryTeaser{padding:64px 20px;background:#0c1424;color:#fff}
#wdvV15InventoryTeaser .wdv15-inner{width:min(1180px,100%);margin:auto}
#wdvV15InventoryTeaser .wdv15-kicker{font:800 12px/1.2 system-ui;letter-spacing:.14em;text-transform:uppercase;color:#a792ff}
#wdvV15InventoryTeaser h2{margin:10px 0 12px;font:750 clamp(32px,4.6vw,52px)/1.04 system-ui;letter-spacing:-.04em}
#wdvV15InventoryTeaser p{max-width:820px;color:#c7cfdd;font:500 16px/1.65 system-ui}
#wdvV15InventoryTeaser .wdv15-inv-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:26px 0}
#wdvV15InventoryTeaser .wdv15-stat{padding:17px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);border-radius:16px}
#wdvV15InventoryTeaser .wdv15-stat b{display:block;font-size:26px;margin-bottom:4px}.wdv15-stat span{color:#c5cede;font-size:13px}
#wdvV15InventoryTeaser .wdv15-cta{display:inline-flex;align-items:center;gap:8px;padding:13px 17px;border-radius:13px;background:#7042ff;color:#fff!important;text-decoration:none;font-weight:850}

#wdvV15Advisor{margin:0 0 18px;padding:18px;border:1px solid #e3e5ed;border-radius:18px;background:#f9f8ff;color:#111827}
#wdvV15Advisor .wdv15-a-k{color:#6a43ef;font:800 11px/1.2 system-ui;letter-spacing:.12em;text-transform:uppercase}
#wdvV15Advisor h3{margin:6px 0 7px;font:800 22px/1.15 system-ui;letter-spacing:-.025em}
#wdvV15Advisor .wdv15-a-note{margin:0 0 14px;color:#6b7280;font:500 12px/1.5 system-ui}
#wdvV15Advisor .wdv15-a-query{width:100%;height:44px;border:1px solid #d9dce6;border-radius:11px;background:#fff;color:#111827;padding:0 12px;font-size:16px;margin-bottom:10px}
#wdvV15Advisor .wdv15-a-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
#wdvV15Advisor select{width:100%;height:42px;border:1px solid #d9dce6;border-radius:10px;background:#fff;color:#111827;padding:0 10px;font-size:14px}
#wdvV15Advisor .wdv15-a-actions{display:flex;gap:9px;align-items:center;margin-top:11px}
#wdvV15Advisor .wdv15-a-run{border:0;border-radius:11px;background:#6b42f5;color:#fff;padding:11px 14px;font-weight:850;cursor:pointer}
#wdvV15Advisor .wdv15-a-all{font-size:12px;font-weight:800;color:#5b3bd6;text-decoration:none}
#wdvV15Advisor .wdv15-a-results{display:grid;gap:9px;margin-top:13px}
#wdvV15Advisor .wdv15-a-card{padding:12px;border:1px solid #e0e3eb;border-radius:12px;background:#fff}
#wdvV15Advisor .wdv15-a-card b{display:block;color:#111827;font-size:14px;line-height:1.25}
#wdvV15Advisor .wdv15-a-card span{display:block;margin-top:3px;color:#667085;font-size:12px;line-height:1.4}
#wdvV15Advisor .wdv15-a-badge{display:inline-block!important;margin-top:7px!important;padding:4px 7px;border-radius:999px;background:#f0edff;color:#5d39d7!important;font-weight:800;font-size:10px!important}

@media(max-width:980px){#wdvV15Team .wdv15-team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}#wdvV15InventoryTeaser .wdv15-inv-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){#wdvV15Team{padding:54px 14px 66px}#wdvV15Team .wdv15-team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#wdvV15Team .wdv15-person-copy{padding:12px}#wdvV15Team .wdv15-person h3{font-size:15px}#wdvV15Team .wdv15-role{font-size:12px}#wdvV15InventoryTeaser{padding:52px 14px}#wdvV15InventoryTeaser .wdv15-inv-stats{grid-template-columns:1fr 1fr}#wdvV15Advisor .wdv15-a-grid{grid-template-columns:1fr}}
@media(max-width:390px){#wdvV15Team .wdv15-team-grid{grid-template-columns:1fr 1fr}#wdvV15InventoryTeaser .wdv15-inv-stats{grid-template-columns:1fr}}
