/* A shared editorial layer for the nine public pages, scoped away from interactive geometry. */
.nt-site #nav{background:rgba(17,31,6,.94);border-bottom:1px solid rgba(201,166,53,.14)}
.nt-site .nav-center{gap:22px}
.nt-site .nav-center a{color:rgba(245,245,240,.76);letter-spacing:0;font-size:.82rem}
.nt-site .nav-center a:hover,.nt-site .nav-center a.active{color:var(--gold-light,#e0c45a)}
.nt-site :is(.nav-cta,.mob-cta,.btn-gold,.btn-outline,.btn-book-sm,.btn-submit,.email-cta){border-radius:100px;text-transform:none;letter-spacing:0;font-weight:600;line-height:1.4;min-height:44px}
.nt-site .nav-cta{padding:12px 22px;white-space:nowrap}
.nt-site :is(.btn-gold,.btn-outline){padding:16px 28px;min-height:52px}
.nt-site :is(.nav-cta,.mob-cta,.btn-gold,.btn-outline,.btn-book-sm,.btn-submit,.email-cta,.hamburger):focus-visible{outline:2px solid var(--gold-light,#e0c45a);outline-offset:4px}
.nt-site .mobile-menu{overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(32px,env(safe-area-inset-bottom));}
.nt-site .mobile-menu a{flex-shrink:0;font-weight:500;font-size:1.2rem;padding:16px 0}
.nt-site .mobile-menu .mob-cta{margin-top:24px;padding:16px 22px;font-size:.95rem}
.nt-site .hamburger{width:44px;height:44px}
.nt-site .page-header{padding:160px 32px 72px}
.nt-site .page-header .section-tag{display:block;color:var(--gold-light,#e0c45a);font-size:.72rem;letter-spacing:2px;margin-bottom:24px}
.nt-site .page-header h1{font-size:clamp(2.8rem,6.2vw,5.5rem);font-weight:600;letter-spacing:-.055em;line-height:1.08;max-width:1100px;margin:0 auto 24px;text-wrap:balance}
.nt-site .page-header p{max-width:660px;font-size:1.1rem;line-height:1.8;color:rgba(245,245,240,.76);text-wrap:pretty}
.nt-site :is(.about-content,.services-section,.gallery,.contact,.loyalty-content,.privacy-content,.terms-content,.support-section){padding-left:32px;padding-right:32px;padding-bottom:112px}
.nt-site :is(.about-inner,.services-inner,.gallery-inner,.contact-inner,.loyalty-inner,.maps-inner){max-width:1160px}
.nt-site :is(.about-block p,.service-info p,.contact-form>p,.info-card p,.step p,.student-section p,.faq-answer-inner,.contact-block .lead,.phone-addr,.cta-section p,.value-item p){color:rgba(245,245,240,.76);font-size:1rem;line-height:1.8}
.nt-site .about-block{max-width:780px;margin-left:auto;margin-right:auto}
.nt-site .about-block p{font-size:1.1rem}
.nt-site .about-images{gap:24px;margin:60px 0}
.nt-site .about-images img{border-radius:24px}
.nt-site .values{padding:112px 32px}
.nt-site .values-inner{max-width:1160px}
.nt-site :is(.values h2,.locations h2,.cta-section h2,.how-it-works h2,.student-section h2){font-size:clamp(2.2rem,4.6vw,4rem);font-weight:500;line-height:1.1;letter-spacing:-.045em;text-wrap:balance}
.nt-site .values-grid{gap:40px}
.nt-site .value-item h3{font-size:1.25rem;font-weight:500;margin-bottom:16px}
.nt-site .locations{padding:112px 32px}
.nt-site .locations-inner{max-width:1160px}
.nt-site .loc-card{border-radius:24px}
.nt-site .loc-card h3{font-size:1.5rem;font-weight:500;letter-spacing:-.035em}
.nt-site .loc-card p{font-size:.95rem;color:rgba(245,245,240,.76)}
.nt-site .services-category{margin-bottom:72px}
.nt-site .cat-title{font-size:clamp(1.6rem,3vw,2.3rem);font-weight:500;letter-spacing:-.035em;padding-bottom:20px;margin-bottom:8px}
.nt-site .service-row{padding:24px 0;gap:24px}
.nt-site .service-info{min-width:0}
.nt-site .service-info h3{font-size:1.15rem;font-weight:600;line-height:1.4;margin-bottom:8px}
.nt-site .service-info p{font-size:.95rem;max-width:720px}
.nt-site .service-meta{margin-left:0}
.nt-site .btn-book-sm{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;white-space:nowrap}
.nt-site .cta-section{padding:112px 32px}
.nt-site .cta-section h2{max-width:1000px;margin-left:auto;margin-right:auto;margin-bottom:28px}
.nt-site .cta-section p{max-width:680px;margin-left:auto;margin-right:auto}
.nt-site .contact-inner{gap:64px}
.nt-site :is(.contact-form h2,.contact-info h2,.maps h2,.contact-block h2,.faq-header h2){font-size:clamp(1.6rem,3vw,2.4rem);font-weight:500;letter-spacing:-.035em;line-height:1.2}
.nt-site .contact-form>p{margin-top:16px}
.nt-site .form-group{margin-bottom:24px}
.nt-site .form-group label{font-size:.85rem;color:rgba(245,245,240,.76);text-transform:none;letter-spacing:0}
.nt-site .form-group :is(input,select,textarea){border-radius:14px;font-size:1rem;padding:16px}
.nt-site .form-group :is(input,textarea)::placeholder{color:rgba(245,245,240,.5)}
.nt-site .btn-submit{padding:16px 28px;font-size:1rem}
.nt-site :is(.info-card,.info-email,.map-card,.form-success,.gallery-card,.loyalty-card-wrap,.step,.student-section,.contact-block,.phone-card,.essentials){border-radius:24px}
.nt-site :is(.info-card,.info-email){padding:32px}
.nt-site .info-email a{overflow-wrap:anywhere}
.nt-site .maps{padding:0 32px 112px}
.nt-site .maps-grid,.nt-site .gallery-grid{gap:24px}
.nt-site .loyalty-card-wrap{max-width:480px;padding:48px 36px}
.nt-site .loyalty-card-sub{color:rgba(245,245,240,.76);font-size:.9rem}
.nt-site .how-it-works{margin-top:96px;margin-bottom:96px}
.nt-site .steps{gap:24px}
.nt-site .step{padding:36px 28px}
.nt-site .step h3{font-size:1.15rem;font-weight:600}
.nt-site .student-section{padding:56px 32px}
.nt-site .support-inner{max-width:1000px}
.nt-site .contact-block{padding:56px 40px;margin-bottom:80px}
.nt-site .contact-block .lead{max-width:600px;margin-top:20px}
.nt-site .phone-card{padding:28px}
.nt-site .phone-card .phone-addr{font-size:.9rem;line-height:1.7;color:rgba(245,245,240,.76)}
.nt-site .faq-header{margin-bottom:40px}
.nt-site .faq-item{border-radius:20px}
.nt-site .faq-question{padding:26px;font-size:1.05rem;line-height:1.5}
.nt-site .faq-answer-inner{padding:0 26px 28px;font-size:.98rem}
.nt-site .essentials{padding:32px}
.nt-site .essentials-item .lbl{color:rgba(245,245,240,.7)}
.nt-site .essentials-note{color:rgba(245,245,240,.6)}
/* Policies retain a comfortable reading measure and a left-aligned hierarchy. */
.nt-site :is(.privacy-inner,.terms-inner){max-width:820px}
.nt-site :is(.privacy-section,.terms-section){margin-bottom:56px;text-align:left}
.nt-site :is(.privacy-section h2,.terms-section h2){font-size:1.5rem;font-weight:600;letter-spacing:-.025em;line-height:1.35;margin-bottom:20px}
.nt-site :is(.privacy-section h3,.terms-section h3){font-size:1.1rem;font-weight:600;line-height:1.5;margin-top:28px}
.nt-site :is(.privacy-section p,.privacy-section li,.terms-section p,.terms-section li){font-size:1rem;line-height:1.85;color:rgba(245,245,240,.78);overflow-wrap:anywhere}
.nt-site :is(.privacy-updated,.terms-updated){color:rgba(245,245,240,.7);font-size:.9rem}
.nt-site footer{max-width:1240px;padding:72px 40px 0;background:radial-gradient(50% 160px at 50% 0%,rgba(245,245,240,.035),transparent)}
.nt-site .footer-grid{gap:40px}
.nt-site .footer-brand p,.nt-site .footer-col a{color:rgba(245,245,240,.7);font-size:.85rem;line-height:1.8}
.nt-site .footer-col h4{font-size:.72rem;letter-spacing:1px;font-weight:600}
.nt-site .footer-col a{padding:6px 0;overflow-wrap:anywhere}
.nt-site .footer-col a:hover{color:var(--gold-light,#e0c45a)}
.nt-site .footer-col a:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:3px}
.nt-site .foot-copy{color:rgba(245,245,240,.5);line-height:1.8;padding:28px 0}
/* Switch before the seven links and appointment button can collide. */
@media(max-width:1100px){
 .nt-site #nav{padding-left:24px;padding-right:24px}
 .nt-site .nav-left{position:absolute;left:24px;top:50%;transform:translateY(-50%)}
 .nt-site .nav-left .nav-logo,.nt-site .nav-center,.nt-site .nav-cta{display:none}
 .nt-site .nav-logo-center{display:block;max-width:calc(100vw - 160px);object-fit:contain}
 .nt-site .hamburger{display:flex}
 .nt-site .nav-right{position:absolute;right:24px;top:50%;transform:translateY(-50%)}
 .nt-site .contact-inner{gap:40px}
 .nt-site .footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:36px}
}
@media(max-width:720px){
 .nt-site .page-header{padding:72px 24px 56px}
 .nt-site .page-header h1{font-size:clamp(2.5rem,10.5vw,3.4rem)}
 .nt-site .page-header p{font-size:1rem;line-height:1.75}
 .nt-site :is(.about-content,.services-section,.gallery,.contact,.loyalty-content,.privacy-content,.terms-content,.support-section){padding-left:24px;padding-right:24px;padding-bottom:80px}
 .nt-site .about-block p{font-size:1rem}
 .nt-site .about-images{gap:16px;margin:40px 0}
 .nt-site :is(.values,.locations,.cta-section){padding:80px 24px}
 .nt-site .contact-inner,.nt-site .maps-grid{grid-template-columns:1fr;gap:40px}
 .nt-site .gallery-grid{gap:16px}
 .nt-site .service-row{gap:16px;align-items:flex-start}
 .nt-site .service-info h3{font-size:1rem}
 .nt-site .service-info p{font-size:.9rem}
 .nt-site .btn-book-sm{padding:12px 16px;font-size:.8rem}
 .nt-site :is(.info-card,.info-email){padding:28px 24px}
 .nt-site .maps{padding:0 24px 80px}
 .nt-site .loyalty-card-wrap{padding:36px 24px}
 .nt-site .how-it-works{margin:72px 0}
 .nt-site .student-section{padding:40px 24px}
 .nt-site .contact-block{padding:36px 24px;margin-bottom:64px}
 .nt-site .email-cta{max-width:100%;overflow-wrap:anywhere;justify-content:center;padding:16px 24px}
 .nt-site .phone-card{padding:24px}
 .nt-site .faq-question{padding:22px;font-size:1rem}
 .nt-site .faq-answer-inner{padding:0 22px 24px}
 .nt-site .essentials{padding:28px 24px}
 .nt-site footer{padding:56px 24px 0}
 .nt-site .footer-grid{grid-template-columns:1fr 1fr;gap:32px 24px}
 .nt-site .footer-brand{grid-column:1/-1}
}
@media(max-width:380px){.nt-site .service-row{flex-wrap:wrap}.nt-site .service-meta{margin-top:4px}.nt-site .email-cta{font-size:.8rem;padding:16px}}
@media(prefers-reduced-motion:reduce){.nt-site .page-header::before{animation:none}.nt-site :is(.btn-gold,.btn-outline,.btn-book-sm,.btn-submit,.email-cta,.nav-cta,.mob-cta){transition:none}}
@media(prefers-reduced-motion:reduce){
 html:has(body.nt-site){scroll-behavior:auto}
 .nt-site [data-reveal]{opacity:1;transform:none;transition:none}
}
