/* Recovered from Home.dc.html helmet — the page's responsive layer. */
body{margin:0;background:var(--ivory)}
a{color:var(--ink);text-decoration-color:var(--gold)}
a:hover{color:var(--gold-deep);text-decoration-color:var(--gold-deep)}
.mmp-noreveal .mmp-reveal{opacity:1;transform:none;transition:none}
/* accordion: derived from the signature hairline, no new treatment */
.mmp-faq .x-faq-w{overflow:hidden}
.mmp-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:28px;padding:32px 0}
.mmp-faq summary::-webkit-details-marker{display:none}
.mmp-faq summary::marker{content:""}
.mmp-faq summary:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px}
.mmp-faq summary:hover .mmp-faq-q{color:var(--gold-deep)}
.x-sx-item:hover .x-sx-lead{color:var(--gold-deep) !important}
.x-sx-item:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px}
.x-after-card:hover{border-color:var(--gold-light)}
image-slot#guide-cover::part(frame){background:transparent}
.x-guidecard label{color:var(--gold-light) !important}
.x-guidecard h3{color:var(--ivory) !important}
.x-guidecard p{color:var(--text-on-anchor-muted) !important}
.x-guidecard .mmp-btn--secondary{border-color:var(--gold-light) !important;color:var(--ivory) !important}
.x-guidecard .mmp-btn--secondary:hover{border-color:var(--ivory) !important;color:var(--ivory) !important}
/* NOTE: the helmet also carried `.x-guidecard .mmp-field{background:ivory}`. It is DEAD
   in the design — the React FormField input renders with no class, so the rule never
   matched and the approved page shows a WHITE field with a --edge border. The render
   wins over the stylesheet's intent; do not re-add it. */
.mmp-faq-ind{position:relative;flex:none;width:16px;height:16px}
.mmp-faq-h,.mmp-faq-v{position:absolute;left:0;top:8px;width:16px;height:1px;background:var(--gold)}
.mmp-faq-v{transform:rotate(90deg)}
.mmp-faq-static .mmp-faq-v{display:none}
.mmp-faq-static .mmp-faq details[open] .mmp-faq-h{visibility:hidden}
@media (max-width:1439px){
.x-hero{grid-template-columns:minmax(0,1fr) !important;grid-template-rows:auto auto;min-height:0 !important;background-image:none !important}
.x-hero-photo{display:block !important;grid-row:2;height:460px;background-image:url('/assets/img/home-hero-photo.jpg');background-size:cover;background-position:right center;background-color:var(--ivory);background-repeat:no-repeat}
.x-hero-copy{grid-row:1;background:var(--ivory);padding:var(--section-tight) var(--rail) var(--space-64) !important}
}
@media (max-width:1023px){
.x-split{grid-template-columns:minmax(0,1fr) !important;row-gap:56px !important}
.x-cols3{grid-template-columns:minmax(0,1fr) !important;row-gap:40px !important}
.x-cols3>div{border-left:0 !important;padding-left:0 !important}
.x-2up{grid-template-columns:minmax(0,1fr) !important;row-gap:48px !important}
.x-indent{grid-template-columns:minmax(0,1fr) !important}
.x-cols3 p,.x-2up p{max-width:var(--measure)}
.x-aside{padding-left:24px !important}
.x-numrow{grid-template-columns:minmax(0,1fr) !important;row-gap:8px !important}
.x-hero-copy{padding:88px var(--rail) 88px var(--rail) !important}
}
@media (max-width:767px){
.x-guidecard{grid-template-columns:minmax(0,1fr) !important;row-gap:var(--space-32) !important}
.x-guidecard>*{grid-column:1 !important;grid-row:auto !important}
.x-gc-head{order:1;align-self:start !important}
.x-gc-book{order:2;max-width:100%;aspect-ratio:1/1}
.x-gc-body{order:3}
}
/* the hero's drop slot replaces PortraitPanel's own placeholder; its 180px fade is kept */
.x-heropanel div[style*="dashed"]{display:none !important}
.x-heropanel div[style*="dashed"]+span{display:none !important}
@media (max-width:1023px){
.x-cols3>div[aria-hidden]{display:none !important}
.x-split7,.x-pair,.x-steps{grid-template-columns:minmax(0,1fr) !important}
.x-faq-grid{grid-template-columns:minmax(0,1fr) !important;row-gap:40px !important}
.x-faq-hd{position:static !important}
.x-sx{display:none !important}
.x-sx-m{display:block !important}
.x-sx-m span[aria-hidden],.x-hw-m span[aria-hidden]{display:none !important}
.x-sx-m h3,.x-hw-m h3{margin-top:0 !important}
.x-sx-m h3,.x-hw-m h3{font-size:var(--size-h3) !important;font-weight:var(--weight-h3) !important;line-height:var(--lh-h3) !important}
.x-portrait{position:static !important;top:auto !important}
.x-portrait-img{max-width:340px !important}
.x-aside p,.x-tiles .mmp-card p,.x-steps p,footer p.mmp-body{max-width:var(--measure)}
}

/* mobile menu: full-screen overlay + staggered entrance (the DS drawer, restyled) */
@keyframes mmpMenuIn{from{opacity:0}to{opacity:1}}
@keyframes mmpMenuItem{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (max-width:767px){
header>div:first-child{position:relative;z-index:2;background:var(--ivory)}
header>div+div{position:fixed;inset:0;z-index:1;border-top:0 !important;background:var(--ivory) !important;padding:calc(var(--header-height,68px) + 56px) var(--rail) 56px !important;gap:0 !important;justify-content:center;overflow-y:auto;animation:mmpMenuIn 320ms cubic-bezier(.16,1,.3,1) both}
header>div+div>a:nth-child(-n+3){font-family:var(--font-display) !important;font-weight:300 !important;font-size:34px !important;line-height:1.2 !important;padding:20px 0 !important;border-top:1px solid var(--hairline)}
header>div+div>a:nth-child(4){font-family:var(--font-ui) !important;font-size:15px !important;padding:20px 0 !important;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
header>div+div>a{animation:mmpMenuItem 520ms cubic-bezier(.16,1,.3,1) both}
header>div+div>a:nth-child(1){animation-delay:70ms}
header>div+div>a:nth-child(2){animation-delay:130ms}
header>div+div>a:nth-child(3){animation-delay:190ms}
header>div+div>a:nth-child(4){animation-delay:250ms}
header>div+div>a:nth-child(5){margin-top:40px !important;align-self:stretch !important;animation-delay:310ms}
}
@media (prefers-reduced-motion:reduce){header>div+div,header>div+div>a{animation:none !important}}

@media (max-width:767px){:root{--size-h2:36px;--size-h3:26px}
.x-aside>p:first-child{font-size:30px !important;line-height:1.24 !important}}
