*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{
  margin:0;
  color:var(--mcw-charcoal);
  background:var(--mcw-white);
  font-family:var(--mcw-font-ja);
  font-size:16px;
  font-weight:400;
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,video{display:block;max-width:100%;height:auto}
figure{max-width:100%}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
button,input,textarea,select{font:inherit}
h1,h2,h3,h4{
  margin:0 0 1rem;
  font-family:var(--mcw-font-ja);
  font-weight:400;
  letter-spacing:-.035em;
  line-height:1.32;
  line-break:strict;
  text-wrap:balance;
  word-break:normal;
  overflow-wrap:break-word;
}
@supports(word-break:auto-phrase){
  h1,h2,h3,.jp-heading{font-family:var(--mcw-font-display-ja);font-weight:500;letter-spacing:-.025em}
}
h1{font-size:clamp(2.75rem,6.6vw,5.9rem)}
h2{font-size:clamp(2rem,4.1vw,3.75rem)}
h3{font-size:clamp(1.3rem,2vw,1.9rem);font-weight:450}
h4{font-size:1rem;font-weight:550}
p{margin:0 0 1.2rem}
ul,ol{margin-top:0}
.mcw-container{
  width:min(calc(100% - clamp(48px,5vw,80px)),var(--mcw-container));
  margin-inline:auto;
  min-width:0;
}
.article-narrow{max-width:var(--mcw-container-narrow)}
.section{padding-block:var(--mcw-section-y)}
.section-offwhite{background:var(--mcw-offwhite)}
.section-navy,.final-cta{background:var(--mcw-navy);color:#fff}
.eyebrow{
  margin-bottom:clamp(.85rem,1.5vw,1.2rem);
  font-family:var(--mcw-font-en);
  font-size:.68rem;
  line-height:1.35;
  letter-spacing:.19em;
  text-transform:uppercase;
  font-weight:600;
  color:inherit;
}
.lead{
  max-width:var(--mcw-copy);
  font-size:clamp(1rem,1.25vw,1.18rem);
  line-height:1.9;
}
.light{color:#fff}
.muted,.note,.service-notes,.original-service-note,.scroll-hint{
  color:var(--mcw-muted);
  font-size:clamp(.78rem,.85vw,.875rem);
  line-height:1.75;
}
.richtext{max-width:var(--mcw-copy)}
.richtext>:first-child,.article-content>:first-child{margin-top:0}
.richtext h2,.article-content h2{font-size:clamp(1.6rem,2.5vw,2.25rem);margin-top:2.8em}
.richtext h3,.article-content h3{font-size:clamp(1.25rem,1.8vw,1.65rem);margin-top:2.2em}
.article-content p,.article-content li{font-size:1.02rem}
.article-content img{border-radius:var(--mcw-radius)}
.article-content blockquote{margin:2.5rem 0;padding:1rem 0 1rem 1.5rem;border-left:2px solid var(--mcw-navy);font-size:1.08rem}
.article-content table{width:100%;border-collapse:collapse;margin:2rem 0}
.article-content th,.article-content td{border-bottom:1px solid var(--mcw-gray);padding:.85rem;text-align:left;vertical-align:top}
::selection{background:var(--mcw-navy);color:#fff}

@media(max-width:1024px){
  :root{--mcw-section-y:clamp(5rem,8vw,7rem)}
  .mcw-container{width:min(calc(100% - 48px),var(--mcw-container))}
}
@media(max-width:767px){
  html{scroll-padding-top:68px}
  body{font-size:16px;padding-bottom:74px}
  :root{--mcw-section-y:clamp(4.5rem,15vw,5.75rem)}
  .mcw-container{width:min(calc(100% - 40px),var(--mcw-container))}
  h1{font-size:clamp(2.45rem,11.5vw,3.65rem);line-height:1.16}
  h2{font-size:clamp(1.95rem,8.6vw,2.75rem);line-height:1.3}
  h3{font-size:clamp(1.25rem,6vw,1.65rem)}
  .lead{font-size:1rem;line-height:1.85}
  .article-content p,.article-content li{font-size:1rem}
}
@media(max-width:390px){
  .mcw-container{width:min(calc(100% - 40px),var(--mcw-container))}
  h1{font-size:clamp(2.25rem,11vw,3.2rem)}
  h2{font-size:clamp(1.8rem,8.4vw,2.45rem)}
}
