/* Phone-first refinements for the public AVP review preview. */
html{overflow-x:clip}
body{min-width:0;overflow-x:clip}
.mobile-menu{display:none}

@media (max-width:780px){
  header{position:relative;gap:12px;padding-left:max(5vw,16px);padding-right:max(5vw,16px)}
  .logo{font-size:.82rem;letter-spacing:.12em}
  .logo .avp-crest{width:40px!important;height:37px!important}
  header>.contact-link{display:none}
  .mobile-menu{display:block;margin-left:auto}
  .mobile-menu summary{display:flex;align-items:center;gap:9px;min-height:42px;padding:0 13px;border:1px solid var(--line);border-radius:999px;list-style:none;cursor:pointer;font-size:.74rem;font-weight:700;user-select:none}
  .mobile-menu summary::-webkit-details-marker{display:none}
  .mobile-menu summary span{font-size:1.05rem;font-weight:400;line-height:1}
  .mobile-menu[open] summary{border-color:var(--gold);background:var(--paper)}
  .mobile-menu[open] summary span{transform:rotate(45deg)}
  .mobile-menu nav{position:absolute;z-index:30;top:calc(100% - 4px);right:max(5vw,16px);display:grid!important;width:min(286px,calc(100vw - 32px));gap:0;padding:8px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--paper) 96%,#fff);box-shadow:0 18px 46px rgba(10,20,24,.18)}
  .mobile-menu nav a{display:block;padding:12px 13px;border-bottom:1px solid var(--line);color:var(--ink);font-size:.84rem;text-decoration:none}
  .mobile-menu nav a:last-child{border:0;border-radius:10px;background:var(--dark);color:#fff}

  h1{font-size:clamp(3rem,13.5vw,4.35rem);line-height:.9;letter-spacing:-.07em}
  h2{font-size:clamp(2.15rem,10.4vw,3.45rem);line-height:.98}
  .hero{gap:2.5rem;padding-top:4.8rem;padding-bottom:3.3rem}
  .hero-object{min-height:330px;padding:20px;border-radius:20px}
  .hero-object strong{font-size:clamp(2.25rem,11vw,3.25rem)}
  .hero-metrics{display:grid!important;grid-template-columns:1fr 1fr;width:100%;margin-top:2.2rem!important}
  .hero-metrics div{min-width:0!important;padding-left:10px}
  .actions{width:100%;gap:10px}
  .actions .button,.actions .quiet{width:100%;min-height:48px;text-align:center}
  .actions .quiet{padding:12px;border:1px solid var(--line);border-radius:999px}

  .statement{margin:4.5rem auto 5.5rem}
  .delivery-promise,.industry-advisor,.walkthrough,.service-banner,.service-industry-brief{border-radius:16px!important}
  .delivery-promise{gap:22px;padding:20px}
  .delivery-promise li{grid-template-columns:45px minmax(0,1fr)}
  .delivery-promise li span{min-width:0}
  .industry-advisor{margin-top:2.4rem;padding:18px}
  .advisor-result{min-width:0}
  .advisor-solutions{gap:6px}
  .advisor-solutions span{max-width:100%;font-size:.66rem}
  .walkthrough-inline{margin-top:22px}
  .walkthrough-copy{min-width:0}
  .walkthrough-copy h3{font-size:1.55rem!important}
  .walkthrough-sequence span{font-size:.68rem}

  .solutions,.clients{padding-top:4.5rem;padding-bottom:4.5rem}
  .section-head{gap:18px;margin-bottom:2rem}
  .service-grid,.process,.logo-wall{grid-template-columns:1fr}
  .service-grid article{min-height:0}
  .service-card__body{padding:20px!important}
  .service-grid .service-card__body h3{margin-top:1.45rem!important}
  .service-banner{gap:20px;padding:22px}
  .service-banner h3{font-size:clamp(2.3rem,12vw,3.25rem)}
  .service-banner__copy>p:last-child{font-size:.86rem}
  .service-banner__art{min-height:155px}
  .service-industry-grid,.service-blueprint>div{grid-template-columns:1fr!important}
  .featured{gap:2.25rem;margin:4.5rem auto}
  .featured.reverse{margin-top:4.5rem}
  .feature-visual{min-height:290px;padding:22px;border-radius:18px}
  .feature-visual b{font-size:clamp(2.35rem,12vw,3.7rem)}
  .feature-copy li{margin:10px 0}
  .why{margin-top:5rem;padding-top:4.5rem;padding-bottom:4.5rem}
  .why-hero{min-height:520px}
  .process{gap:0}
  .process article{padding:18px 0}
  .story{margin:3rem 5vw;padding:3rem 6vw;border-radius:20px}
  .intelligence{gap:2.5rem;margin:5rem auto}
  .ai-card{padding:20px}
  .ai-card h3{font-size:1.55rem}
  .case-study-grid .case-card{border-radius:16px}
  .case-study-visual{aspect-ratio:16/9}
  .case-study-content{padding:20px}
  .case-study-content h3{font-size:1.7rem!important}
  .client-filter{padding-bottom:3px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
  .client-filter::-webkit-scrollbar{display:none}
  .client-filter button{flex:0 0 auto;min-height:40px}
  .logo-wall .client-logo{min-height:104px}

  .portal{margin:3rem auto;padding-top:2.5rem}
  .portal-tabs{display:flex;gap:7px;padding-bottom:7px;scroll-snap-type:x proximity}
  .portal-tabs button{flex:0 0 auto;min-height:42px;scroll-snap-align:start}
  .renewal-board article{grid-template-columns:1fr!important;gap:9px}
  .portal-login{margin:2rem 5vw 5rem;padding:25px;border-radius:18px}
  .contact{margin-top:5rem;padding-top:5rem;padding-bottom:5rem}
  .contact-grid{gap:2.5rem}
  input,textarea,select{font-size:16px!important}
  .notes-button{right:14px;bottom:14px;min-height:48px;padding:12px 14px}
  .avp-whatsapp-float{bottom:14px!important;right:14px!important}
}

@media (max-width:390px){
  .hero-metrics{grid-template-columns:1fr}
  .hero-object{min-height:300px}
  .property-diagram{min-height:270px!important}
  .mobile-menu summary{padding:0 11px}
}

@media (prefers-reduced-motion:reduce){
  .mobile-menu summary span{transition:none}
}
