/* IPM & Associates — systemwide mobile refinement, Nov 2026.
   Keep desktop visual identity and route/data behavior unchanged. */
:root{--ipm-mobile-header:72px}
html{scroll-padding-top:calc(var(--ipm-mobile-header) + 16px)}
body{overflow-x:clip}img,video,iframe,svg{max-width:100%}img{height:auto}main,section,.wrap,.card,.card-body,.two-col>*,.detail-card,.article-prose{min-width:0}h1,h2,h3,p,a,li{overflow-wrap:break-word}input,textarea,select{max-width:100%;min-width:0}
@media(max-width:1000px){
  .header-inner{gap:12px}.nav{gap:9px}
  .grid4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .two-col{gap:clamp(22px,4vw,36px)}
  .article-layout{gap:28px}
}
@media(max-width:760px){
  :root{--ipm-mobile-header:68px}
  html{scroll-padding-top:84px}
  body{font-size:15.5px;line-height:1.58}
  .wrap{width:calc(100% - 40px);max-width:1220px}
  .header-inner{height:var(--ipm-mobile-header);gap:12px}
  .brand{min-width:0;max-width:calc(100% - 65px)}
  .brand img{width:min(190px,100%);height:auto;max-height:50px;padding:3px 6px;object-fit:contain}
  .mobile-toggle{width:44px;height:44px;min-width:44px;padding:0;display:grid;place-items:center;font-size:1.35rem;line-height:1;border-radius:8px;touch-action:manipulation}
  .nav{top:var(--ipm-mobile-header);left:0;right:0;padding:10px 20px 18px;gap:0;max-height:calc(100dvh - var(--ipm-mobile-header));overscroll-behavior:contain;box-shadow:0 14px 22px #00162c36}
  .nav a{padding:10px 12px;font-size:.96rem;line-height:1.4;border-bottom:1px solid #ffffff15}
  .nav a.btn{margin-top:12px;min-height:46px;border-bottom:none}
  header.site-header.home-top{background:rgba(6,31,70,.96)}
  h1{font-size:clamp(2rem,8vw,2.5rem);line-height:1.15}
  h2,.metrics-heading h2{font-size:clamp(1.75rem,6.3vw,2.1rem);line-height:1.2;letter-spacing:-.012em}
  h3{font-size:1.28rem;line-height:1.28}
  p{margin-bottom:14px}
  .eyebrow{font-size:.72rem;letter-spacing:.12em;line-height:1.45;margin-bottom:10px}
  section{padding-block:48px}
  .section-head{margin-bottom:22px}.section-head p{font-size:.97rem}
  .btn{min-height:46px;padding:11px 18px;font-size:.95rem;text-align:center;white-space:normal}
  .hero{height:auto;min-height:min(740px,88svh);padding-top:var(--ipm-mobile-header);padding-bottom:72px;display:flex;align-items:center}
  .hero-content{height:auto;padding-top:42px;padding-bottom:34px;justify-content:center}
  .hero h1,.hero h2{font-size:clamp(2rem,8.4vw,2.65rem);max-width:580px;line-height:1.13;margin-bottom:16px}
  .hero p{font-size:clamp(.96rem,3.9vw,1.08rem);line-height:1.52;max-width:520px}
  .hero .eyebrow{max-width:520px;font-size:.72rem;letter-spacing:.12em}
  .hero:after{background:linear-gradient(90deg,rgba(3,19,44,.91),rgba(3,19,44,.64))}
  .hero-slide{background-position:57% center}
  .hero-actions{display:flex;gap:10px;margin-top:15px;align-items:stretch}
  .hero-actions .btn{min-height:47px}
  .hero-indicators{left:20px;bottom:27px;gap:8px;align-items:center}
  .hero-indicators button{width:26px;height:5px;position:relative}
  .hero-indicators button:before{content:'';position:absolute;inset:-14px -5px}
  .hero-play{right:20px;bottom:16px;padding:7px 10px;font-size:.77rem;min-height:34px}
  .trust{padding:22px 0}.trust-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
  .trust-item{padding-left:11px;border-left-width:3px}
  .trust-item strong{font-size:1rem;line-height:1.25;margin-bottom:5px}
  .trust-item span{font-size:.78rem;line-height:1.4;display:block}
  .metrics-section{padding:35px 0}
  .metrics-heading{margin-bottom:17px}
  .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
  .metric{min-height:108px;padding:15px 12px;border-radius:8px}
  .metric-number{font-size:clamp(1.85rem,7vw,2.4rem);line-height:1.14;min-width:0}
  .metric-label{font-size:.78rem;line-height:1.35;margin-top:8px}
  .two-col{grid-template-columns:minmax(0,1fr);gap:22px}
  .two-col img,.about-main img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
  .grid4,.grid3{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .card{border-radius:10px}
  .card img{height:auto;aspect-ratio:16/10;object-fit:cover}
  .card-body{padding:17px 17px 20px}
  .card h3{font-size:1.18rem;min-height:0;margin-bottom:10px}
  .card p{font-size:.9rem;line-height:1.48;margin-bottom:8px}
  .card-body .more{padding-top:8px;font-size:.91rem}
  .value-grid,.steps,.roles,.foot-grid,.detail-grid,.about-mv-grid,.licensure-layout{grid-template-columns:minmax(0,1fr);gap:15px}
  .value-grid article,.about-feature,.detail-card,.role,.job-entry{padding:20px;border-radius:9px}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}
  .step strong{font-size:1.85rem}.step h3{font-size:1.15rem}
  .licensure-motif{min-height:0;padding:22px}.licensure-layout{gap:20px}
  .page-hero{padding:51px 0 46px}
  .page-hero h1{font-size:clamp(2rem,8vw,2.55rem);line-height:1.14;margin-bottom:14px}
  .page-hero p{font-size:.98rem;line-height:1.6;max-width:660px;margin-bottom:0}
  .article-prose{max-width:100%}.article-prose p,.article-prose li,.article p{line-height:1.68}
  .article-prose h2{font-size:1.55rem}.article-lead{font-size:1.04rem}
  .article-aside{padding:18px}.article-cover{max-height:290px}
  .form-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .form-field input,.form-field select,.form-field textarea{width:100%;font-size:16px;min-height:46px}
  .about-sector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .about-sector-grid a{padding:13px;line-height:1.4}
  .contact-strip{padding:42px 0}
  .foot{padding:36px 0 22px}.foot-grid{gap:25px}.foot .copy{margin-top:23px;padding-top:18px;gap:10px}
  .faq-list details{padding:0 14px}.faq-list summary{padding:14px 0}
}
@media(max-width:480px){
  .grid4,.grid3{grid-template-columns:minmax(0,1fr)}
  .card img{aspect-ratio:16/9}
  .card-body{padding:18px 18px 20px}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .hero-actions .btn{width:auto;max-width:100%;min-width:min(100%,230px)}
  .about-sector-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:350px){.wrap{width:calc(100% - 28px)}.brand img{width:min(168px,100%)}.hero h1,.hero h2{font-size:1.95rem}.hero-play{right:12px}.trust-item strong{font-size:.92rem}}
@media(prefers-reduced-motion:reduce){.fade-in{opacity:1;transform:none}.card,.hero-slide{transition:none!important}}
