/* YouPatent 2026-11-07: non-destructive responsive and accessibility refinements */
:root{--yp-readable-line:1.6}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:calc(var(--yp-header-height,100px) + 12px)}
body{max-width:100%;overflow-x:clip}
img,svg{max-width:100%}
button,input,select,textarea{font:inherit}
a,button,select,input,textarea{-webkit-tap-highlight-color:transparent}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid #e9b659!important;outline-offset:3px}
/* Fluid four-screen layout retains content on short screens instead of hiding overflow. */
#home-screen-1,#home-screen-2,.yp-home-service-summary,#home-screen-4{overflow:visible}
#home-screen-1 .hero-message{max-width:min(1120px,100%)}
#home-screen-1 .hero-message h1{font-size:clamp(36px,5.5vw,86px);line-height:1.13;letter-spacing:.005em;text-wrap:balance}
#home-screen-1 .hero-description{line-height:1.65;max-width:60ch;margin-inline:auto;text-wrap:pretty}
#home-screen-1 .hero-service-links a{min-width:0;overflow-wrap:anywhere}
#home-screen-2 .fee-guide-layout>*{min-width:0}
#home-screen-2 .fee-guide-copy>p{line-height:1.7}
#home-screen-2 .fee-guide-bullets li{line-height:1.62}
.yp-home-service-summary .yp-advantages-grid>article{min-width:0}
.yp-home-service-summary .yp-advantage-card p{overflow-wrap:anywhere}
.yp-home-process-heading{gap:12px;min-width:0}
.yp-home-process-heading .yp-home-panel-link{white-space:normal;text-align:right}
#home-screen-4 .footer-grid>*{min-width:0}
#home-screen-4 .yp-company-pair small{overflow-wrap:anywhere}
/* Quote tables: keep columns readable; allow deliberate horizontal scroll on small devices. */
.table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.pricing-table{min-width:620px}
.pricing-table th,.pricing-table td{vertical-align:middle;line-height:1.5}
.toolbar{gap:16px;flex-wrap:wrap}
.toolbar label,.toolbar input{max-width:100%}
/* Improve readability of high-density pricing pages */
.pagehero h1{text-wrap:balance;overflow-wrap:anywhere}
.disclaimer{line-height:1.7}
.contact-layout,.about-layout,.footer-grid{max-width:100%}
@media(max-width:1099px){
  body:has(#home-screen-1) #home-screen-4 .yp-footer-heading{flex-wrap:wrap;align-items:flex-start}
  body:has(#home-screen-1) #home-screen-4 .yp-footer-joint{white-space:normal!important}
}
@media(max-width:767px){
  .shell{width:calc(100% - 32px)!important;max-width:100%!important}
  #home-screen-1{min-height:0!important;height:auto!important}
  #home-screen-1 .hero-inner{min-height:calc(100svh - var(--yp-header-height,90px));height:auto!important;padding-block:42px 48px!important;gap:26px!important}
  #home-screen-1 .hero-message h1{font-size:clamp(32px,8.5vw,52px)!important;line-height:1.16!important}
  #home-screen-1 .hero-sub{font-size:clamp(17px,4.7vw,24px)!important;line-height:1.45!important}
  #home-screen-1 .hero-description{font-size:clamp(15px,4vw,19px)!important;line-height:1.65!important}
  #home-screen-1 .hero-description br{display:none}
  #home-screen-1 .hero-service-links{max-width:100%;gap:10px!important}
  #home-screen-1 .hero-service-links a{min-height:0!important;padding:12px 8px!important}
  #home-screen-1 .hero-service-links strong{font-size:clamp(14px,3.75vw,18px)!important;line-height:1.3!important}
  #home-screen-1 .hero-service-links small{font-size:11px!important;line-height:1.4!important}
  #home-screen-2{height:auto!important;min-height:0!important}
  #home-screen-2 .fee-guide-layout{min-height:0!important;height:auto!important;padding-block:35px 40px!important;gap:22px!important}
  #home-screen-2 .fee-guide-copy h2{font-size:clamp(31px,7.5vw,42px)!important;line-height:1.2!important}
  #home-screen-2 .fee-guide-copy>p,#home-screen-2 .fee-guide-bullets li{font-size:clamp(16px,4vw,19px)!important}
  .yp-home-service-summary{height:auto!important;min-height:0!important}
  .yp-home-service-heading h2{font-size:clamp(31px,7.5vw,44px)!important}
  .yp-home-service-summary .yp-advantages-grid{grid-template-columns:1fr!important}
  .yp-home-service-summary .yp-advantage-card{min-height:0!important}
  .yp-home-service-summary .yp-advantage-card h3{font-size:22px!important}
  .yp-home-service-summary .yp-advantage-card p{font-size:17px!important}
  .yp-home-process-heading{flex-wrap:wrap;align-items:flex-start}
  .yp-home-process-heading .yp-home-panel-link{text-align:left}
  .yp-home-process-panel .mini-steps{grid-template-columns:1fr!important}
  .yp-home-process-panel .mini-steps>div{min-height:0!important}
  #home-screen-4{height:auto!important;min-height:0!important}
  #home-screen-4 .footer-grid{display:grid!important;grid-template-columns:1fr!important;width:calc(100% - 32px)!important;gap:22px!important}
  #home-screen-4 .footer-logo{white-space:normal!important}
  .pricing-table{min-width:600px}
  .pricing-table th,.pricing-table td{padding:12px 14px}
  .contact-layout{display:grid;grid-template-columns:1fr}
  .form-card input,.form-card select,.form-card textarea{width:100%;max-width:100%}
  .channel-grid,.service-grid{grid-template-columns:1fr!important}
}
@media(max-width:390px){
  #home-screen-1 .hero-service-links{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .yp-home-service-summary .yp-advantage-card{flex-direction:column;gap:10px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
