/* Shared homepage details, location copy and support seated illustration. */
html body .content .section-eyebrow,
html body .content #contact .support-copy > .section-eyebrow {
  display: flex !important;
  align-items: center;
  gap: 1.25rem;
}
html body .section-eyebrow > .nw-section-rule {
  display: block;
  flex: 0 1 4.0625rem;
  min-width: 1.5rem;
  height: 1px;
  background: var(--nw-fine-line);
  border: 0;
  box-shadow: none;
}
html body #faq .questions {
  position: relative;
  padding-top: 0;
}
html body #faq .questions::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--nw-fine-line);
  pointer-events: none;
  opacity: .6;
}
html[data-theme="light"] body#nw-web#nw-web #faq .questions::before {
  background: var(--line) !important;
}
@media (min-width: 901px) {
  html body #faq .questions { margin-top: 1.325rem; }
  html body #faq .questions details:first-child summary {
    padding-top: calc((clamp(1.8rem, 2.5vw, 2.4rem) * 1.25 - 1.55rem) / 2 + .5rem) !important;
  }
}
html body #contact .support-art {
  width: min(100%,287.98828125px) !important;
  max-width: 287.98828125px !important;
  justify-self: start !important;
  align-self: center !important;
  aspect-ratio: 983 / 1518;
  min-height: 0;
  overflow: hidden;
  mask-image: none;
  -webkit-mask-image: none;
}
html body #contact .support-art > img {
  width: 104.1709053917% !important;
  transform: translate(-2.63671875%,0%) !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
}
@media (max-width: 900px) {
  html body #contact .support-art { width: min(100%,230.390625px) !important;justify-self:center!important;margin-top:0!important; }
  html body #contact .support-copy { padding-bottom:0!important;justify-self:center!important; }
}
/* Homepage support keeps its own layout, matched to the internal support blocks. */
/* Crop source x27..1010/y0..1518 before laying out the visible figure beside text. */
html body #contact.support { max-width:943px;min-height:0!important;gap:80px!important;grid-template-columns:minmax(0,1fr) 288px;padding-inline:0!important; }
html body #contact .support-copy { justify-self:end;width:100%!important;max-width:600px!important;min-width:0;overflow-wrap:anywhere; }
/* The homepage root font grows above 1920px; this fixed-size composition must
   keep the same type scale as the other support sections. Allow safe wrapping. */
html body#nw-web #contact .support-copy>h2 { font-size:clamp(32px,3vw,44px)!important;white-space:normal!important;font-weight:700!important; }
html body#nw-web #contact .support-copy>p:not(.eyebrow) { font-size:16px!important;max-width:600px!important;text-wrap:balance; }
html body#nw-web #contact .nw-unified-action { font-size:clamp(16.8px,1.35vw,21.6px)!important; }
html body#nw-web #contact .nw-unified-action,
html body#nw-web #contact .nw-unified-action > span { max-width:100%;min-width:0;white-space:normal; }
html body#nw-web #contact .nw-action-label { min-width:0; }
@media(max-width:700px){html body#nw-web #contact .nw-unified-action{font-size:16px!important}}
@media(max-width:900px){html body#nw-web #contact .support-copy>h2{font-size:clamp(26px,8.15vw,32px)!important}}
html body #contact .section-eyebrow > .nw-section-rule { flex:0 0 65px;background:var(--nw-fine-line); }
html body #faq { margin-bottom:0!important; }
html body #contact.support { margin-top:80px!important;padding-top:0!important; }
@media(min-width:901px) and (max-width:1100px){html body #contact.support{gap:56px!important}}
@media(max-width:900px){html body #contact.support{grid-template-columns:1fr;gap:32px!important;margin-top:48px!important}}
/* Centre the visible thighs, not the PNG canvas or outstretched hands.
   Original x=522.5/534.5/496.5/540 at y=740, expressed inside each alpha crop. */
html body#nw-web #features .feature .nw-anime-feature {
  --nw-leg-center: 52.517361111%;
  align-self: flex-start !important;
  left: 50%;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: translateX(calc(-1 * var(--nw-leg-center))) !important;
}
/* Approved suitcase portrait: visible x230..914 plus 8px margins; thigh centre x508. */
html body#nw-web #features .feature:nth-child(2) .nw-anime-feature {
  --nw-source-left: 222;
  --nw-crop-width: 700;
  --nw-leg-center: 40.8571428571%;
}

html body#nw-web #features .feature:nth-child(3) .nw-anime-feature { --nw-leg-center: 51.642036125%; }
html body#nw-web #features .feature:nth-child(4) .nw-anime-feature { --nw-leg-center: 58.17555938%; }

/* Approved helmet portrait: visible x200..918 plus 8px margins; thigh centre x530. */
html body#nw-web #features .feature:first-child .nw-anime-feature {
  --nw-source-left: 192;
  --nw-crop-width: 734;
  --nw-leg-center: 46.0490463215%;
}


/* Country headings lead the copy; the desktop offset follows each drawn gesture. */
html body #locations .nw-city-story .nw-city-identity .nw-location-name {
  font-size: clamp(1.15rem, 1.5vw, 1.45rem);
  font-weight: 700;
  line-height: 1.35;
}
@media (min-width: 701px) {
  html body#nw-web #locations .nw-city-stop .nw-country-scene { align-self: start; }
  html body#nw-web #locations .nw-city-stop .nw-city-story {
    align-self: start;
    padding-top: 0;
    margin-top: var(--nw-story-offset, 6rem);
  }
}
@media (max-width: 700px) {
  html body #locations .nw-city-story .nw-city-identity .nw-location-name {
    font-size: clamp(1.05rem, 4.5vw, 1.25rem);
  }
}

/* Match support-to-footer spacing to the other support sections. */
html body#nw-web #contact.support{margin-bottom:56px!important}
html body#nw-web:has(#contact.support)>footer.site-footer{margin-top:28px!important}
@media(max-width:900px){
 html body#nw-web #contact.support{margin-bottom:48px!important}
 html body#nw-web:has(#contact.support)>footer.site-footer{margin-top:24px!important}
}
/* Homepage support uses the same internal text spacing as support on other pages. */
html body#nw-web #contact .support-copy>.section-eyebrow{gap:20px!important;margin-bottom:18px!important;font-size:12px!important;line-height:1.5!important;letter-spacing:.18em!important}
html body#nw-web #contact .support-copy>h2{margin-bottom:20px!important}
html body#nw-web #contact .support-copy>.nw-unified-action{margin-top:26px!important;padding-block:12px!important;min-height:52px!important}
html body#nw-web #contact .support-copy{padding-bottom:0!important}

/* The hero copy follows the available viewport width between the existing
   mobile, tablet and desktop artwork arrangements. */
@media(max-width:700px){
 html body#nw-web .hero h1{font-size:clamp(42px,8.5vw,50px)!important;line-height:1.08!important}
 html body#nw-web .hero .intro{font-size:clamp(16px,2.55vw,18px)!important;line-height:1.55!important}
 html body#nw-web .hero .actions .nw-unified-action{font-size:clamp(15px,2.5vw,17px)!important}
}
@media(min-width:701px) and (max-width:900px){
 html body#nw-web .hero h1{font-size:clamp(50px,5.6vw,52px)!important;line-height:1.08!important}
 html body#nw-web .hero .intro{font-size:clamp(17px,2vw,18px)!important;line-height:1.55!important}
}

/* The long hero title fits beside the existing portrait on wide viewports. */
@media(min-width:1280px){
 html body#nw-web .hero h1{max-width:none!important;width:max-content;white-space:nowrap;font-size:clamp(46px,3.25vw,56px)!important}
 html body#nw-web .hero h1>br{display:none!important}
}
@media(min-width:2200px){
 html body#nw-web .hero h1{font-size:clamp(56px,2.8vw,72px)!important}
}

/* FAQ illustration has finished shoes in the source image. */
html body#nw-web #faq .nw-faq-portrait img{mask-image:none!important;-webkit-mask-image:none!important}

/* The homepage grows its rem-sized illustrations above 1920px.  Support uses
   fixed pixel dimensions, so grow the complete copy/art composition on the
   same curve without changing its small-screen layout. */
@media(min-width:1921px){
 html body#nw-web #contact.support{--nw-support-scale:var(--nw-wide-scale,1);zoom:var(--nw-support-scale)!important}
 html body#nw-web #contact .support-copy>h2{font-size:min(44px,calc(68px * var(--nw-wide-inverse,1)))!important}
 html body#nw-web #contact .support-copy>p:not(.eyebrow){font-size:min(16px,calc(25px * var(--nw-wide-inverse,1)))!important}
 html body#nw-web #contact .nw-unified-action{font-size:min(21.6px,calc(29px * var(--nw-wide-inverse,1)))!important}
}
