/* Harbour desktop and tablet refinements; phone layouts remain in mobile.css. */
@media(min-width:721px){
  html{scroll-padding-top:110px}
  .nav-wrap{gap:24px}
  #main-nav{gap:clamp(16px,1.6vw,28px)}
  #main-nav>a{min-height:44px;display:inline-flex;align-items:center;white-space:nowrap;font-size:14px}
  #main-nav .button{font-size:14px;white-space:nowrap;min-height:52px}
  #main-nav a[aria-current=page]{color:var(--clay)}
  .hero-copy{min-width:0}
  .hero-description{font-size:16px;max-width:440px;line-height:1.8}
  .hero-person{font-size:12px}.hero-person strong{font-size:14px}
  .hero-actions{gap:16px 28px}
  main .button{font-size:14px!important;min-height:52px;max-width:100%;line-height:1.5}
  main .text-link{font-size:13px!important;min-height:44px;line-height:1.6}
  main button:not(.button):not([data-demo-date]):not([data-demo-time]){min-height:44px}
  main input:not([type=radio]):not([type=checkbox]),main select{font-size:16px;min-height:48px}
  .motion-toggle{font-size:12px;min-height:44px;margin-top:12px}
  .pathway-finder label{font-size:13px}.pathway-finder>p{font-size:12px;line-height:1.7}
  .finder-controls select{font-size:16px;min-height:48px}
  .finder-quiz-link{font-size:13px;min-height:44px;display:inline-flex;align-items:center;margin-top:4px}
  .filters{gap:8px}.filters button{font-size:13px;padding:10px 15px;min-height:44px}
  .filters button span{font-size:10px}
  .trust-strip strong{font-size:14px}.trust-strip small{font-size:12px;line-height:1.65}
  .trust-strip>div{padding:0 20px;gap:16px}
  .trust-strip>div:first-child{padding-left:0}.trust-strip>div:last-child{padding-right:0}
  .section-heading>p,.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.85}
  .section-heading>p{max-width:390px}.section-heading{gap:48px}
  .care-items h3,.step h3{font-size:16px;line-height:1.5}
  .care-items{gap:30px}.care-band .care-panel{grid-template-columns:.9fr 1.6fr;gap:48px}
  .care-items h3{min-height:3em}.care-items .text-link{gap:8px;margin-top:8px}
  .faqs .point-question,.faq-page summary{font-size:15px;line-height:1.7}
  .row-description{font-size:14px;max-width:360px}.row-main small{font-size:10px}
  .pathway-footnote p,.pathway-footnote a,.content-note,.callout p,.evidence-panel>p,
  .agent-signature>span:nth-child(2),.agent-signature small,.long-steps small{font-size:12px!important;line-height:1.8!important}
  .prep-card-head{flex-wrap:wrap;gap:12px}.prep-card-head>span:last-child{font-size:12px}
  .prep-item{font-size:14px;line-height:1.7;min-height:56px}.prep-item b{font-size:11px}
  .prep-card>p{font-size:12px!important;line-height:1.75!important}
  .visual-hero-grid .page-intro{font-size:16px;line-height:1.8}
  .visa-guide-grid{align-items:stretch}.visa-guide-card{min-width:0}
  .visa-guide-card>p{font-size:14px!important;line-height:1.85!important}
  .visa-type{font-size:11px}.visa-facts p,.visa-facts a{font-size:14px;line-height:1.8}
  .visa-facts small{font-size:12px;line-height:1.75}
  .page-sidebar>a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
  .page-sidebar .button,.page-sidebar .print-article{font-size:13px;min-height:44px}
  .page-sidebar{gap:8px;top:110px}
  .article-layout{align-items:start}
  .article-body>section,.detail-content>section,#pathway-quiz,#booking-demo{scroll-margin-top:0}
  .breadcrumbs{font-size:12px;align-items:center;gap:8px 12px;margin-bottom:30px}
  .breadcrumbs a{min-height:44px;display:inline-flex;align-items:center}
  .article-meta{font-size:12px;line-height:1.7}
  .article-body>section>p{font-size:16px;line-height:1.9}
  .article-sources li{font-size:14px}.article-sources>p{font-size:12px}
  .journal-card-copy>p:not(.eyebrow),.featured-card .journal-card-copy>p:not(.eyebrow){font-size:15px;line-height:1.8}
  .journal-card{display:flex;flex-direction:column;min-width:0}.journal-card-copy{flex:1}
  .featured-card{display:grid}
  .journal-search,#journal-status,.editorial-note{font-size:12px;line-height:1.8}
  .journal-search input{font-size:16px}.journal-tools{gap:32px}
  .legal-page .legal-content p,.legal-page .legal-content li{font-size:16px;line-height:1.9}
  .contact-email{font-size:15px;min-height:44px;display:inline-flex;align-items:center}
  .contact-note{font-size:12px;line-height:1.7}
  .footer-label{font-size:11px}.footer-top{gap:28px}
  .footer-top>div{gap:4px;min-width:0}
  .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;line-height:1.75}.footer-disclosure{font-size:12px;line-height:1.8}
  .footer-bottom{font-size:12px;align-items:center}.footer-bottom>div{flex-wrap:wrap;gap:8px 24px}
  .footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
  .quiz-intro>p:not(.eyebrow){font-size:15px;line-height:1.85}
  .quiz-intro .quiz-privacy{font-size:12px!important;line-height:1.8}.quiz-benefits span{font-size:12px}
  .quiz-topline,.quiz-quiet{font-size:12px}.quiz-option{font-size:15px;min-height:54px;line-height:1.7}
  #quiz-hint{font-size:14px}.quiz-card p{font-size:14px;line-height:1.85}
  .quiz-result-note strong,.quiz-urgent strong{font-size:14px}.quiz-result-note p,.quiz-urgent p{font-size:13px}
  .quiz-preparation summary{font-size:14px;min-height:44px;align-items:center}.quiz-preparation p{font-size:13px}
  #quiz-result-links a{font-size:14px;min-height:44px}.quiz-book-note{font-size:12px!important}
  .quiz-actions{flex-wrap:wrap;gap:14px}
  .booking-page-intro{padding-top:30px}.booking-page-intro .page-intro{font-size:16px}
  .booking-demo-note p{font-size:13px}.demo-badge{font-size:10px}
  .booking-progress li{font-size:13px;line-height:1.6;gap:10px}
  .booking-progress li>span{width:32px;height:32px;font-size:11px}
  .booking-helper{font-size:15px;line-height:1.8}.booking-choices legend{font-size:14px}
  .demo-dates{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
  .demo-dates button{min-height:100px}.demo-dates span,.demo-dates small{font-size:12px}
  .demo-times button{font-size:14px;min-height:50px}.booking-timezone{font-size:13px}
  .demo-fields label,.demo-topic{font-size:14px}.demo-example-label{font-size:12px}
  .booking-privacy-note{font-size:13px}.booking-actions{flex-wrap:wrap}
  .booking-actions .booking-helper{font-size:12px;max-width:240px}.booking-actions .button{white-space:normal}
  .demo-review>div{font-size:14px;line-height:1.8}.demo-review .demo-total{font-size:16px}
  .demo-payment p{font-size:14px}.demo-payment small,.payment-placeholder{font-size:13px}
  .payment-heading{font-size:16px;flex-wrap:wrap}.payment-heading .demo-badge{font-size:10px}
  .booking-overview .booking-scope{font-size:13px;line-height:1.8}.appointment-facts{font-size:14px}
  .appointment-summary p{font-size:14px}.booking-overview-details>summary{font-size:13px}
  .booking-complete>p:not(.eyebrow),.booking-next>p{font-size:15px;line-height:1.85}
  .reveal{transition-duration:.4s}
  .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.6s}
  .motion-icon.is-active svg,.motion-icon.is-replaying svg,.motion-icon.is-active .icon-needle,
  .motion-icon.is-replaying .icon-needle,.motion-icon.is-active .icon-orbit,.motion-icon.is-replaying .icon-orbit{animation-iteration-count:1}
}
@media(min-width:901px){
  .page-sidebar{align-self:start;max-height:calc(100dvh - 136px);overflow-y:auto;scrollbar-width:thin}
}
@media(min-width:801px) and (max-width:1100px){
  .nav-wrap{height:76px;padding:0 5%}
  .menu-toggle{display:flex;align-items:center;gap:12px;border:0;background:transparent;padding:10px 0;color:var(--navy)}
  #main-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:16px 5% 24px;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #102a3b12}
  #main-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}
  #main-nav>a{padding:13px 0;border-bottom:1px solid var(--line);font-size:15px}
  #main-nav>a:after{display:none}
  #main-nav .button{margin-top:16px;justify-content:space-between}
}
@media(min-width:721px) and (max-width:1100px){
  html{scroll-padding-top:96px}
  #main-nav.is-open{gap:0}
  .hero{grid-template-columns:1fr 1fr;min-height:680px}
  .hero h1{font-size:clamp(58px,6.5vw,72px);line-height:1.04}
  .hero-copy{padding:42px 24px 40px 8%}
  .hero-final{display:block;white-space:normal;font-size:1em}
  .hero-final em{display:block;min-width:0;white-space:nowrap}
  .hero-visual{margin:14px 14px 14px 0;min-width:0}
  .hero-actions{gap:10px 20px}.hero-person{margin-top:26px}
  .pathway-finder{left:0;right:16px;bottom:28px;padding:22px}
  .pathway-finder h2{font-size:29px}
  .trust-strip{padding:26px 5%;gap:16px}.trust-strip>div{padding:0 12px;gap:12px}
  .trust-strip .motion-icon{width:36px;height:36px}
  .section{padding-top:72px;padding-bottom:72px}
  .page-hero,.visa-hero,.article-hero{padding-top:26px;padding-bottom:48px}
  .article-cover,.featured-journal,.visa-facts{padding-top:0}
  .section-heading{gap:30px}.section-heading>p{max-width:310px}
  .care-band .care-panel{grid-template-columns:1fr;gap:30px}
  .care-items{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
  .care-items h3{min-height:3em}
  .difference-grid h3{font-size:28px}
  .visual-hero-grid{gap:36px;grid-template-columns:1.05fr 1fr}
  .visual-hero-grid h1{font-size:clamp(44px,5.5vw,59px)}
  .service-mixed{height:380px}.visa-mixed{height:340px}
  .page-sidebar{top:100px}
  .has-page-symbol>h1{max-width:73%;font-size:clamp(52px,7vw,72px)}
  .has-page-symbol>.page-intro{max-width:72%}
  .page-symbol{width:120px;height:120px;right:8%;top:40%}
  .page-symbol>.point-icon{width:65px;height:65px}.page-symbol>.point-icon svg{width:36px;height:36px}
  .contact-grid{gap:44px}
  .booking-page-intro{padding-top:26px;padding-bottom:32px}
  .booking-experience{padding-top:0;grid-template-columns:1fr}
  .booking-overview{padding:26px 32px;border-radius:5px 5px 0 0}
  .booking-avatar{position:absolute;right:32px;top:26px;width:52px;height:52px;font-size:28px;margin:0}
  .booking-overview h2{font-size:34px;max-width:80%;margin:12px 0 8px}
  .booking-overview h2 br{display:none}.booking-overview-details{margin-top:12px}
  .booking-overview-details>summary{min-height:44px}
  .appointment-summary{padding-top:16px}.appointment-summary p{margin-top:8px}
  .booking-workspace{padding:30px 32px;border-radius:0 0 5px 5px}
  .demo-fields{grid-template-columns:1fr 1fr}
  .booking-next{padding-top:0}
  .quiz-card{padding:30px}.pathway-quiz{grid-template-columns:.85fr 1.3fr;gap:36px}
  .js-motion .reveal:not(.is-visible){opacity:1;transform:none}.reveal{transition:none}
}
@media(min-width:721px) and (max-width:900px){
  .hero-actions{flex-direction:column;align-items:flex-start}
  .finder-controls{display:grid;grid-template-columns:minmax(0,1fr)}
  .finder-controls button{width:100%;display:flex;justify-content:space-between;align-items:center;padding:10px 14px;min-height:48px}
  .finder-button-label{display:inline;font-size:14px}
  .trust-strip{grid-template-columns:1fr;gap:0;padding:8px 6%}
  .trust-strip>div{justify-content:flex-start;padding:18px 0!important;gap:20px}
  .trust-strip>div+div{border-left:0;border-top:1px solid var(--line)}
  .section-heading{flex-direction:column;align-items:flex-start;gap:22px}.section-heading>p{max-width:620px}
  .detail-layout,.article-layout{grid-template-columns:1fr;gap:34px;padding-top:42px}
  .page-sidebar{position:static;flex-direction:row;flex-wrap:wrap;gap:8px 20px;padding:0 0 22px;border-right:0;border-bottom:1px solid var(--line)}
  .page-sidebar .eyebrow{flex-basis:100%;margin:0}.page-sidebar .button{margin:0}
  .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
  .featured-card{gap:30px}.featured-card h3{font-size:36px}
  .pathway-quiz{grid-template-columns:1fr;gap:30px}.quiz-intro h2{max-width:600px}
  .quiz-intro>p:not(.eyebrow),.quiz-intro .quiz-privacy{max-width:600px}.quiz-art{display:none}
  .quiz-card{max-width:none}.quiz-intro h2 br{display:none}
  .preparation-section{grid-template-columns:1fr;gap:30px}
  .preparation-section>div>p{max-width:620px}
  .about{gap:36px}.about-story{gap:36px}
  .footer-top{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
  .footer-top>div:first-child{grid-column:1/-1}
}
