/* v143 — MOBILE POLISH PASS
   Desktop remains untouched. This layer only refines the approved v142 mobile layout. */
.needs-title-mobile{display:none}
@media (max-width:760px){
  /* HOME — restore desktop logic on a phone: copy left, portrait right. */
  body:not(.application-page) .hero{padding:72px 0 24px!important}
  body:not(.application-page) .hero-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1.62fr) minmax(118px,.9fr)!important;
    gap:10px!important;
    align-items:end!important;
  }
  body:not(.application-page) .hero-copy{min-width:0!important;align-self:start!important}
  .hero-brandline{width:min(150px,44vw)!important;margin:0 0 8px!important}
  .hero-win-wordmark{max-width:150px!important}
  body:not(.application-page) .hero h1{
    font-size:22px!important;line-height:1.02!important;letter-spacing:-.02em!important;
    margin:0 0 10px!important;max-width:225px!important;
  }
  body:not(.application-page) .hero h1 br{display:block!important}
  body:not(.application-page) .hero-lead{font-size:11.5px!important;line-height:1.48!important;max-width:225px!important}
  .hero-actions{gap:7px!important;margin-top:12px!important;max-width:235px!important}
  .hero-actions>*{min-height:48px!important;padding:9px 7px!important;font-size:10.2px!important;letter-spacing:.015em!important}
  .hero-note{max-width:230px!important;font-size:7.7px!important;line-height:1.28!important;margin-top:9px!important}
  .hero-stage{
    height:286px!important;min-height:286px!important;max-height:286px!important;
    align-self:end!important;place-items:end center!important;overflow:visible!important;
  }
  .ring{width:160px!important;height:160px!important;bottom:8px!important;top:auto!important}
  .portrait-stack{width:128px!important;max-width:128px!important;margin-bottom:0!important}
  .portrait-stack .portrait-card{width:128px!important;padding:4px!important;border-radius:16px!important}
  .portrait-card img{border-radius:13px!important;aspect-ratio:2/2.82!important}
  .floating-shield{width:39px!important;height:45px!important;left:-13px!important;bottom:5px!important}
  .floating-pill{right:-21px!important;top:8px!important;font-size:6px!important}
  .portrait-name{font-size:13px!important;margin-top:5px!important}

  /* Ecosystem: approved geometry stays intact; only heading gets quieter. */
  .home-ecosystem .ecosystem-heading h2.ecosystem-title{
    font-size:20px!important;line-height:1.08!important;letter-spacing:-.015em!important;max-width:315px!important
  }

  /* Philosophy: desktop composition compressed — shield left, copy right. */
  .statement{
    display:grid!important;grid-template-columns:82px minmax(0,1fr)!important;
    gap:12px!important;align-items:center!important;text-align:left!important
  }
  .statement .shield-stage{order:1!important;height:92px!important;min-height:92px!important;width:82px!important}
  .statement .shield-stage::before{width:74px!important;height:74px!important;box-shadow:0 0 0 9px rgba(237,210,136,.012)!important}
  .statement .shield-stage img{width:67px!important;max-width:67px!important}
  .statement>div:last-child{order:2!important;text-align:left!important;min-width:0!important}
  .statement .quote{font-size:18.5px!important;line-height:1.08!important;margin:5px 0 10px!important;max-width:100%!important}
  .statement .btn-3d{min-height:40px!important;width:auto!important;display:inline-flex!important;padding:8px 11px!important;font-size:9px!important}

  /* ABOUT — portrait is intentionally large; text stays readable. */
  .about-page-redraw .about-intro{padding-top:72px!important}
  .about-page-redraw .about-intro-grid{gap:16px!important}
  .about-page-redraw .about-photo-card{
    order:1!important;width:min(318px,88vw)!important;max-width:318px!important;margin:0 auto 2px!important;border-radius:20px!important
  }
  .about-page-redraw .about-intro .text-block{order:2!important}
  .about-page-redraw .about-name{font-size:29px!important}
  .about-page-redraw .about-end-cta{display:none!important}

  /* WINSERFING — clean hierarchy: 8 spheres, then 7 needs. */
  .section-needs .needs-heading .needs-title-desktop{display:none!important}
  .section-needs .needs-heading .needs-title-mobile{
    display:block!important;font:600 28px/1.03 var(--serif)!important;letter-spacing:-.02em!important;
    margin:0 0 10px!important;color:#fff!important
  }
  .section-needs .needs-heading .needs-title-mobile span{display:block!important;margin-top:5px!important}
  .section-needs .needs-heading p{font-size:12.5px!important;line-height:1.46!important}

  /* End note: text only, no oversized gold slab or buttons. */
  .winserfing-end-note{padding:24px 0 28px!important}
  .winserfing-end-note .contact-panel{
    display:block!important;padding:0!important;border:0!important;border-radius:0!important;
    background:none!important;box-shadow:none!important;backdrop-filter:none!important;overflow:visible!important
  }
  .winserfing-end-note .contact-panel::before,.winserfing-end-note .contact-panel::after{display:none!important}
  .winserfing-end-note .contact-panel h2{
    margin:0!important;color:var(--gold-bright)!important;font-size:25px!important;line-height:1.05!important;
    letter-spacing:-.02em!important;text-align:left!important
  }
  .winserfing-end-note .contact-panel p,.winserfing-end-note .contact-actions{display:none!important}

  /* General phone QA: prevent decorative blocks from becoming oversized. */
  .page-hero .page-mark{max-width:44px!important}
  .contact-panel h2{overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
}

@media (max-width:420px){
  body:not(.application-page) .hero-grid{grid-template-columns:minmax(0,1.58fr) minmax(112px,.88fr)!important;gap:8px!important}
  body:not(.application-page) .hero h1{font-size:21px!important;max-width:215px!important}
  body:not(.application-page) .hero-lead{font-size:11px!important;max-width:215px!important}
  .hero-actions{max-width:222px!important}
  .hero-actions>*{font-size:9.8px!important}
  .hero-stage{height:274px!important;min-height:274px!important;max-height:274px!important}
  .portrait-stack,.portrait-stack .portrait-card{width:122px!important;max-width:122px!important}
  .home-ecosystem .ecosystem-heading h2.ecosystem-title{font-size:19px!important}
  .statement{grid-template-columns:76px minmax(0,1fr)!important;gap:10px!important}
  .statement .shield-stage{width:76px!important;height:86px!important;min-height:86px!important}
  .statement .shield-stage img{width:62px!important;max-width:62px!important}
  .statement .quote{font-size:17.5px!important}
  .section-needs .needs-heading .needs-title-mobile{font-size:26px!important}
}

@media (max-width:370px){
  body:not(.application-page) .hero-grid{grid-template-columns:minmax(0,1.55fr) 106px!important;gap:7px!important}
  body:not(.application-page) .hero h1{font-size:19.5px!important;max-width:195px!important}
  body:not(.application-page) .hero-lead{font-size:10.5px!important;max-width:195px!important}
  .hero-actions{max-width:200px!important}
  .hero-actions>*{font-size:9.1px!important;padding-left:5px!important;padding-right:5px!important}
  .hero-stage{height:258px!important;min-height:258px!important;max-height:258px!important}
  .portrait-stack,.portrait-stack .portrait-card{width:112px!important;max-width:112px!important}
  .home-ecosystem .ecosystem-heading h2.ecosystem-title{font-size:18px!important}
}
@media (max-width:760px){
  body.page-enter .winserfing-end-note .contact-panel h2{
    color:#f0d78e!important;text-shadow:none!important;-webkit-text-fill-color:#f0d78e!important;
    background:none!important;box-shadow:none!important;border:0!important;outline:0!important
  }
}
@media (max-width:760px){
  body.page-enter .winserfing-end-note{display:block!important;width:100%!important}
  body.page-enter .winserfing-end-note>.container{width:100%!important;max-width:100%!important;display:block!important;transform:none!important;opacity:1!important}
  body.page-enter .winserfing-end-note .contact-panel{
    width:100%!important;max-width:100%!important;display:block!important;padding:0!important;border:0!important;border-radius:0!important;
    background:none!important;box-shadow:none!important;backdrop-filter:none!important;overflow:visible!important;
    transform:none!important;opacity:1!important
  }
  body.page-enter .winserfing-end-note .contact-panel::before,
  body.page-enter .winserfing-end-note .contact-panel::after{display:none!important}
}
