/* A shared mobile finish for every generated page. */
.finder-button-label{display:none}
@media(max-width:1100px){
  body.menu-open{overflow:hidden}
  .site-header{backdrop-filter:none}
  .nav-wrap{gap:16px}
  .menu-toggle{min-height:48px;min-width:72px;justify-content:flex-end;font-size:13px}
  .menu-toggle [data-menu-label]{font-size:13px}
  .menu-toggle [data-menu-symbol]{font-size:23px;width:23px;text-align:center}
  #main-nav{top:100%;max-height:var(--menu-available-height,calc(100dvh - 72px));overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(24px,env(safe-area-inset-bottom));background:#fff}
  #main-nav>a{min-height:50px;font-size:15px;display:flex;align-items:center}
  #main-nav .button{min-height:52px;font-size:14px;margin-top:16px;flex-shrink:0}
  #main-nav a[aria-current=page]{color:var(--clay)}
  .page-sidebar{gap:8px 16px}
  .page-sidebar>a,.page-sidebar .button,.page-sidebar .print-article{min-height:44px;display:inline-flex;align-items:center;font-size:13px}
}
@media(max-width:720px){
  html{scroll-padding-top:88px}
  .preview-bar{font-size:9px;line-height:1.6;padding:8px 16px}
  .preview-bar span{font-size:10px;opacity:1}
  .section{padding-left:6%;padding-right:6%}
  h1,h2,h3{overflow-wrap:break-word}
  .hero h1{font-size:clamp(54px,16vw,70px);line-height:1.02}
  .hero-copy{padding-top:36px;padding-bottom:36px}
  .hero .eyebrow{font-size:10px;margin-bottom:22px}
  .hero .hero-description{font-size:16px;line-height:1.75;margin-top:14px}
  .hero-actions{gap:12px 24px}
  .hero-person{margin-top:26px;font-size:12px}
  .hero-person strong{font-size:14px}
  .initials{flex-shrink:0}
  .motion-toggle{min-height:44px;font-size:12px;margin-top:8px}
  .page-hero h1,.visual-hero-grid h1,.visa-hero h1{font-size:clamp(42px,12vw,54px);line-height:1.06}
  .article-hero h1{font-size:clamp(40px,11.5vw,50px);line-height:1.09}
  .page-hero>.eyebrow{font-size:10px}
  .page-intro,.visual-hero-grid .page-intro{font-size:16px;line-height:1.75}
  .breadcrumbs{font-size:12px;gap:6px 10px;align-items:center;margin-bottom:26px}
  .breadcrumbs a{display:inline-flex;align-items:center;min-height:44px}
  .page-symbol{margin-top:7px;margin-bottom:20px}
  main .button{min-height:52px;font-size:14px!important;line-height:1.5;gap:16px;max-width:100%}
  main .text-link{min-height:44px;font-size:13px!important;line-height:1.6;gap:12px}
  main button:not(.button):not([data-demo-date]):not([data-demo-time]){min-height:44px}
  main input:not([type=checkbox]):not([type=radio]),main select{font-size:16px;min-height:48px}
  .filters,.journal-library .filters{gap:8px;padding-bottom:22px}
  .filters button,.journal-library .filters button{font-size:13px;min-height:44px;padding:10px 13px}
  .filters button span{font-size:11px}
  .finder-controls{display:grid;grid-template-columns:minmax(0,1fr)}
  .finder-controls select{width:100%;padding:13px 12px}
  .finder-controls button{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-size:22px}
  .finder-button-label{display:inline;font-size:14px}
  .pathway-finder{left:14px;right:14px;padding:20px}
  .pathway-finder label{font-size:13px}
  .pathway-finder>p{font-size:12px;line-height:1.65}
  .finder-quiz-link{font-size:13px;min-height:44px;display:inline-flex;align-items:center;margin-top:4px}
  .hero-visual{min-height:480px;height:480px}
  .trust-strip strong{font-size:14px}.trust-strip small{font-size:12px;line-height:1.6}
  .section-heading{gap:24px;margin-bottom:30px}
  .section-heading>p,.difference-grid p,.difference-section .difference-grid p,
  .preparation-section>div>p:not(.eyebrow),.about-copy>p:not(.eyebrow),.step p,
  .care-items p,.faq-intro>p:not(.eyebrow),.faqs details p,.contact-inner>p:not(.eyebrow),
  .service-card>p:not(.eyebrow),.about-story p:not(.eyebrow),.long-steps p,.costs-section p,
  .consultation-layout p:not(.eyebrow),.contact-grid p,.detail-content>section>p:not(.eyebrow),
  .check-list li,.visa-content .check-list li,.visa-timeline li>p,.cost-mini-grid p{font-size:15px;line-height:1.8}
  .care-items h3,.step h3{font-size:16px}
  .faqs .point-question,.faq-page summary{font-size:15px;line-height:1.65;padding-top:20px;padding-bottom:20px}
  .row-description{font-size:14px;line-height:1.75}.row-main small{font-size:10px;line-height:1.6}
  .pathway-footnote p,.pathway-footnote a,.agent-signature>span:nth-child(2),.agent-signature small,
  .content-note,.callout p,.evidence-panel>p,.visa-facts small,.long-steps small{font-size:12px!important;line-height:1.75!important}
  .care-items .text-link{margin-top:8px}
  .prep-card{padding:22px}.prep-card-head{flex-wrap:wrap;gap:10px;margin-bottom:14px}
  .prep-card-head .eyebrow{font-size:10px}.prep-item{font-size:14px;line-height:1.7;min-height:56px}
  .prep-card>p{font-size:12px;line-height:1.75}.prep-card .text-link{max-width:100%;white-space:normal}
  .visa-guide-card>p{font-size:14px!important;line-height:1.8!important}
  .visa-guide-card .text-link{font-size:13px}
  .visa-facts p,.visa-facts a{font-size:14px;line-height:1.75}
  .journal-card-copy>p:not(.eyebrow),.featured-card .journal-card-copy>p:not(.eyebrow){font-size:15px;line-height:1.8}
  .journal-search,#journal-status,.editorial-note{font-size:12px;line-height:1.75}
  .article-meta{font-size:12px;gap:8px 16px;line-height:1.6}
  .article-body>section>p{font-size:16px;line-height:1.85}
  .article-sources li{font-size:14px}.article-sources>p{font-size:12px}
  /* The root scroll padding already clears the header; do not double the gap. */
  .article-body>section,.detail-content>section,#pathway-quiz,#booking-demo{scroll-margin-top:0}
  .legal-page .legal-content p,.legal-page .legal-content li{font-size:15px;line-height:1.85}
  .legal-content .point-heading{font-size:30px;line-height:1.2}
  .contact-email{font-size:15px;min-height:44px;display:inline-flex;align-items:center}
  .contact-note{font-size:12px;line-height:1.7}
  .footer{padding-top:44px;padding-bottom:max(22px,env(safe-area-inset-bottom))}
  .footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
  .footer-top>div:first-child{grid-column:1/-1}.footer-top>div{gap:4px;min-width:0}
  .footer-label{font-size:11px;margin-bottom:8px}
  .footer-top a:not(.wordmark),.footer-book{font-size:13px;min-height:44px;display:inline-flex;align-items:center;text-align:left;line-height:1.6}
  .footer-top p{font-size:12px}.footer-disclosure{font-size:12px;line-height:1.8;gap:20px}
  .footer-bottom{font-size:12px;gap:12px}.footer-bottom>div{flex-wrap:wrap;gap:4px 20px}
  .footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
  .quiz-intro>p:not(.eyebrow){font-size:15px}.quiz-intro .quiz-privacy{font-size:12px!important}
  .quiz-benefits span{font-size:12px}.quiz-card{padding:24px 20px}
  .quiz-topline,.quiz-quiet{font-size:12px}.quiz-option{font-size:14px;min-height:54px;line-height:1.65}
  #quiz-hint{font-size:13px}.quiz-card p{font-size:14px;line-height:1.8}
  .quiz-result-note p,.quiz-urgent p,.quiz-preparation p{font-size:13px}
  .quiz-result-note strong,.quiz-urgent strong{font-size:14px}
  .quiz-preparation summary{font-size:14px;min-height:44px;align-items:center}
  #quiz-result-links a{font-size:14px;min-height:44px}
  .quiz-book-note{font-size:12px!important}.quiz-actions{flex-wrap:wrap;gap:10px}
  .quiz-actions .button{font-size:14px}.quiz-card .text-link{font-size:13px}
  /* Keep text available immediately; illustrations provide the entrance motion. */
  .js-motion .reveal:not(.is-visible){opacity:1;transform:none}
  .reveal{transition:none}
  .animated-tile.is-active .art-motion,.animated-tile.art-compass.is-active .art-motion,
  .perspective-art.is-active .vector-detail,.perspective-art.is-active .vector-halo{animation-duration:1.4s}
  .motion-icon.is-active svg,.motion-icon.is-active .icon-needle,.motion-icon.is-active .icon-orbit{animation-iteration-count:1}
}
@media(max-width:380px){
  .hero-actions{align-items:stretch;flex-direction:column;width:100%}
  .hero-actions>.text-link{align-self:flex-start}
  .quiz-actions .button{width:100%;margin-left:0;justify-content:space-between}
  .visa-considerations{padding:22px 18px!important}
  .evidence-panel{padding:16px}
  .long-steps article{grid-template-columns:1fr;gap:12px}
  .footer-top{grid-template-columns:1fr 1fr;column-gap:16px}
}
@media(hover:none){
  .button:hover,.steps .step:hover,.service-card:hover{transform:none}
  .pathway-row:hover{padding-left:0}
  .journal-card:hover .journal-photo img,.service-card:hover .service-thumbnail img{transform:none}
  .difference-section .difference-grid article:hover .vector-detail{translate:none}
  .trust-strip>div:hover .motion-icon svg,.step:hover .motion-icon svg{transform:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
