/* Family services: scoped additions after the current Heritage layout. */
.nth-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nth-header-search{position:relative;flex:none}
.nth-header-search>summary{display:flex;align-items:center;justify-content:center;width:40px;min-height:44px;cursor:pointer;list-style:none;border-radius:4px;color:var(--navy)}
.nth-header-search>summary::-webkit-details-marker{display:none}
.nth-header-search>summary .icon{width:23px;height:23px}
.nth-header-search[open]>summary,.nth-header-search>summary:hover{background:var(--paper);color:var(--red)}
.nth-search-panel{position:absolute;right:0;top:calc(100% + 16px);width:min(440px,calc(100vw - 32px));padding:22px;background:#fff;border-top:3px solid var(--red);box-shadow:0 12px 35px #17384f26;z-index:110}
.nth-search-form{display:flex;gap:8px;margin:0}
.nth-search-form input[type=search]{width:100%;min-width:0;min-height:46px;border:1px solid var(--line);border-radius:3px;padding:10px 12px;font:inherit;color:var(--ink);background:#fff}
.nth-search-form button{border:0;border-radius:3px;padding:10px 14px;background:var(--navy);color:#fff;font:700 15px var(--sans);cursor:pointer}
.nth-search-panel p{font-size:14px;line-height:1.5;margin:12px 0 0;color:var(--muted)}
.nth-header-search summary:focus-visible,.nth-search-form :focus-visible,.nth-enroll-choices a:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.nth-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px}
body.nt-heritage .nth-hero-more{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:5px}
body.nt-heritage .nth-notices{padding-block:30px 6px}
body.nt-heritage #main .nth-notices h2,body.nt-heritage #main .nth-enrollment-guide h2{font-size:30px;line-height:1.3;margin:0 0 22px}
.nth-notice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px}
.nth-notice{padding:22px 24px;border-left:4px solid var(--red);background:var(--paper)}
body.nt-heritage #main .nth-notice h3{font-size:22px;margin:0 0 10px;line-height:1.35}
.nth-notice p{margin:0 0 12px}
body.nt-heritage .nth-enrollment-guide{padding-block:38px}
.nth-enrollment-guide .eyebrow{display:block;margin-bottom:10px}
.nth-steps{list-style:none;counter-reset:steps;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0;margin:0}
.nth-steps li{counter-increment:steps;position:relative;border-top:2px solid var(--line);padding-top:18px}
.nth-steps li::before{content:counter(steps,decimal-leading-zero);display:block;font:700 24px var(--serif);color:var(--red);margin-bottom:8px}
.nth-steps strong{display:block;font-size:19px;color:var(--navy)}
.nth-steps p{margin:8px 0 0;font-size:16px;line-height:1.6}
.nth-enroll-choices{display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:24px}
.nth-enroll-choices a{padding:10px 0;min-height:44px}
.nth-search-results{padding-block:42px 64px;min-height:50vh}
body.nt-heritage #main .nth-search-results h1{font-size:clamp(26px,4vw,42px);line-height:1.3;overflow-wrap:anywhere;margin-bottom:30px}
.nth-result-list{max-width:860px}
.nth-result{border-bottom:1px solid var(--line);padding:20px 0}
.nth-result-type{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--red)}
body.nt-heritage #main .nth-result h2{font-size:26px;margin:6px 0 8px;line-height:1.3}
.nth-result p{margin:8px 0}.nth-result time{font-size:14px;color:var(--muted)}
.nth-document-results{padding-block:32px}.nth-document-results li{margin-bottom:13px}.nth-document-results li span{font-size:14px;color:var(--muted)}
body.nt-heritage .tab-panel:focus{outline:none;scroll-margin-top:140px}
html:not(.nth-services-js) body.nt-heritage .tab-panel{display:block}
html:not(.nth-services-js) .tabs-navigation{display:none}
@media(max-width:1080px){.nth-header-search{position:static}.nth-search-panel{right:16px;top:100%}.heritage-header .header-right{gap:8px}}
@media(max-width:700px){.nth-steps{grid-template-columns:1fr;gap:20px}.nth-steps li{padding-left:46px}.nth-steps li::before{position:absolute;left:0;top:16px}.nth-hero-actions{gap:16px}.nth-header-search>summary{width:32px}.nth-search-panel{padding:18px}.nth-search-form button{padding-inline:10px}.nth-enroll-choices{gap:8px 20px}}
@media(max-width:420px){.heritage-header .header-inner{flex-wrap:wrap}.heritage-header .header-right{margin-left:auto;gap:4px}.heritage-header .brand-sub{max-width:130px}.heritage-header .languages .language-flag{width:23px;height:16px}.nth-header-search>summary{width:30px}}

/* 1.3.1 — back-to-top shows after scrolling; header stays one row on phones. */
html.nth-backtop-js body.nt-heritage .heritage-footer .back-top{opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s,background .16s}
html.nth-backtop-js body.nt-heritage .heritage-footer .back-top.is-visible{opacity:1;visibility:visible}
@media(prefers-reduced-motion:reduce){html.nth-backtop-js body.nt-heritage .heritage-footer .back-top{transition:none}}
@media(max-width:420px){
 body.nt-heritage .heritage-header .header-inner{flex-wrap:nowrap;gap:6px}
 body.nt-heritage .heritage-header .brand{min-width:0;flex:1 1 auto;gap:7px}
 body.nt-heritage .heritage-header .brand img{width:34px;height:44px;flex:none}
 body.nt-heritage .heritage-header .brand-copy{min-width:0}
 body.nt-heritage .heritage-header .brand-name{font-size:16px;white-space:nowrap}
 body.nt-heritage .heritage-header .brand-sub{font-size:9.5px;max-width:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 body.nt-heritage .heritage-header .header-right{flex:0 0 auto;margin-left:0;gap:2px}
 body.nt-heritage .heritage-header .languages{gap:2px;padding-left:4px}
 body.nt-heritage .heritage-header .languages a{width:32px;min-height:36px}
}
@media(max-width:360px){
 body.nt-heritage .heritage-header .brand{overflow:hidden;gap:6px}
 body.nt-heritage .heritage-header .brand img{width:28px;height:38px}
 body.nt-heritage .heritage-header .brand-name{font-size:14px}
 body.nt-heritage .heritage-header .brand-sub{font-size:8.5px}
 body.nt-heritage .heritage-header .languages a{width:28px}
 body.nt-heritage .heritage-header .languages .language-flag{width:21px;height:14px}
}
