/* Specification v0.14 Section 1. Tokens are shared with theme.json. */
:root{
 --nc-navy:#0e1b2a;--nc-slate:#283746;--nc-ivory:#f7f4ee;--nc-charcoal:#1d2228;--nc-body:#485767;--nc-muted:#66717d;
 --nc-gold:#c9a35c;--nc-gold-light:#e6ca7a;--nc-gold-mid:#d6b35f;--nc-gold-deep:#a77b2f;--nc-gold-dark-bg:#d8b25b;--nc-white:#fff;
 --nc-gold-cta:linear-gradient(135deg,#e6ca7a 0%,#c9a35c 52%,#a77b2f 100%);
 --nc-gold-divider:linear-gradient(90deg,#a77b2f 0%,#e6ca7a 50%,#c9a35c 100%);
 --nc-font-display:'Playfair Display',Georgia,serif;--nc-font-body:Inter,Arial,sans-serif;--nc-font-accent:Caveat,cursive;
 --nc-content-width:1240px;--nc-gutter:32px;--nc-section-space:clamp(72px,6vw,96px);
 --nc-h1:72px;--nc-h1-leading:.98;--nc-h2:48px;--nc-h2-leading:1.05;--nc-h3:28px;--nc-h3-leading:1.1;
 --nc-lead:20px;--nc-lead-leading:1.55;--nc-body-size:17px;--nc-ui:16px;--nc-eyebrow:12px;--nc-quote:36px;--nc-quote-leading:1.05;
 --nc-card-radius:16px;--nc-panel-radius:18px;--nc-button-radius:12px;
 --nc-border-light:1px solid rgba(14,27,42,.13);--nc-border-dark:1px solid rgba(255,255,255,.16);--nc-border-gold:1px solid rgba(201,163,92,.60);
 --nc-separator-light:1px solid rgba(14,27,42,.12);--nc-separator-dark:1px solid rgba(255,255,255,.14);
 --nc-card-shadow:0 8px 24px rgba(14,27,42,.045);--nc-button-shadow:0 6px 16px rgba(110,78,24,.16);
 --nc-dash-width:56px;--nc-brand-divider-width:64px;
 --nc-header-height:96px;--nc-plate:64px;--nc-wordmark:30px;--nc-brand-gap:16px;
 --nc-footer-top:68px;--nc-footer-bottom:32px;--nc-footer-gap:40px;
 /* Breakpoints are literal media-query values: 767 / 1024 / 1199 / 1439. */
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--nc-ivory);scroll-behavior:auto}
body{margin:0;color:var(--nc-body);background:var(--nc-ivory);font-family:var(--nc-font-body);font-size:var(--nc-body-size);line-height:1.6}
img,svg{max-width:100%}img{height:auto}button,a,input{font:inherit}button{cursor:pointer}a{color:inherit}p{margin:0}
h1,h2,h3{font-family:var(--nc-font-display);font-weight:600;color:var(--nc-navy)}
h1{font-size:var(--nc-h1);line-height:var(--nc-h1-leading)}h2{font-size:var(--nc-h2);line-height:var(--nc-h2-leading)}h3{font-size:var(--nc-h3);line-height:var(--nc-h3-leading)}
.nc-lead{font-size:var(--nc-lead);line-height:var(--nc-lead-leading)}
.nc-eyebrow{font-size:var(--nc-eyebrow);font-weight:700;line-height:1.2;letter-spacing:.18em;text-transform:uppercase;color:var(--nc-gold-deep)}
/* Approved Gold Deep/ivory is 3.47:1. Do not use the eyebrow token for small informative text pending resolution. */
.nc-container{width:min(var(--nc-content-width),calc(100% - 2 * var(--nc-gutter)));margin-inline:auto}
.wp-site-blocks{min-height:100vh;display:flex;flex-direction:column}.wp-site-blocks>*{margin-block:0}
.nc-shell-main{flex:1;min-height:96px} /* Empty shell gap only; no page content. */
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--nc-gold-deep);outline-offset:2px}
.nc-footer :focus-visible{outline-color:var(--nc-gold-deep)}
.nc-skip-link{position:absolute;top:8px;left:16px;z-index:120;transform:translateY(-200%);padding:12px 20px;background:var(--nc-navy);color:white;border-radius:4px;min-height:44px}
.nc-skip-link:focus{transform:none}
.nc-header{position:relative;z-index:100;background:var(--nc-ivory);border-bottom:1px solid rgba(14,27,42,.08)}
.nc-header-inner{min-height:var(--nc-header-height);display:flex;align-items:center;justify-content:space-between;gap:24px}
.nc-brand{display:inline-flex;align-items:center;gap:var(--nc-brand-gap);text-decoration:none;flex-shrink:0;min-height:44px}
.nc-brand-plate{width:var(--nc-plate);height:var(--nc-plate);border-radius:50%;background:var(--nc-navy);display:grid;place-items:center;flex-shrink:0;padding:9px}
.nc-brand-plate img{display:block;width:100%;height:100%;object-fit:contain}
.nc-wordmark{font:600 var(--nc-wordmark)/1.15 var(--nc-font-display);color:var(--nc-navy);white-space:nowrap}
.nc-nav-list,.nc-footer-links,.nc-socials,.nc-legal,.nc-mobile-links{list-style:none;padding:0;margin:0}
.nc-nav-list{display:flex;align-items:center;gap:28px;flex-wrap:nowrap}
.nc-nav-link{position:relative;display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:var(--nc-navy);font-size:var(--nc-ui);font-weight:600;line-height:1.2;white-space:nowrap}
.nc-nav-link::after{content:'';height:2px;position:absolute;inset:auto 0 3px;background:var(--nc-gold-divider);transform:scaleX(0);transform-origin:left;transition:transform .16s ease}
.nc-nav-link:hover::after,.nc-nav-link[aria-current=page]::after{transform:scaleX(1)}
.nc-button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 24px;border-radius:var(--nc-button-radius);font:700 var(--nc-ui)/1.2 var(--nc-font-body);text-decoration:none;border:1.5px solid transparent;transition:box-shadow .16s ease;white-space:nowrap}
.nc-button--gold,.is-style-primary-gold .wp-block-button__link,.wp-block-button:not([class*='is-style-']) .wp-block-button__link{background:var(--nc-gold-cta);color:var(--nc-navy);box-shadow:var(--nc-button-shadow)}
.nc-button--navy,.is-style-dark-navy .wp-block-button__link{background:var(--nc-navy);color:white;box-shadow:0 6px 16px rgba(14,27,42,.12)}
.nc-button--outline,.is-style-navy-outline .wp-block-button__link{background:transparent;color:var(--nc-navy);border:1.5px solid var(--nc-navy);box-shadow:none}
.nc-button:hover,.wp-block-button__link:hover{text-decoration:underline;text-underline-offset:4px}
.nc-card{border:var(--nc-border-light);border-radius:var(--nc-card-radius);box-shadow:var(--nc-card-shadow);background:var(--nc-white)}
.nc-card--dark{background:var(--nc-navy);color:var(--nc-white);border:var(--nc-border-dark)}
.nc-card--gold{border:var(--nc-border-gold)}
.nc-gold-dash,.nc-brand-divider{display:block;height:2px;width:var(--nc-dash-width);background:var(--nc-gold-divider)}
.nc-brand-divider{width:var(--nc-brand-divider-width)}
.nc-icon{width:24px;height:24px;flex-shrink:0;display:block}
.nc-menu-trigger,.nc-menu-close{display:grid;place-items:center;min-width:44px;min-height:44px;padding:6px;border:0;background:transparent;color:var(--nc-navy)}
.nc-menu-trigger{display:none}.nc-menu-trigger .nc-icon,.nc-menu-close .nc-icon{width:30px;height:30px}
.nc-mobile-menu{position:fixed;inset:0;margin:0;border:0;max-width:none;max-height:none;width:100%;height:100dvh;background:var(--nc-ivory);color:var(--nc-navy);z-index:110;padding:0;overscroll-behavior:contain}
.nc-mobile-menu:not([open]){display:none}.nc-mobile-menu::backdrop{background:rgba(14,27,42,.5)}
.nc-mobile-menu-inner{padding:0 var(--nc-gutter) 32px;max-width:768px;margin:auto}
.nc-menu-top{min-height:var(--nc-header-height);display:flex;justify-content:space-between;align-items:center;gap:8px}
.nc-mobile-links{padding-top:24px;display:grid;gap:10px}.nc-mobile-links .nc-nav-link{min-height:48px;font-size:18px;display:flex;padding:8px 0}
.nc-mobile-links li:last-child{margin-top:28px}.nc-mobile-links .nc-button{width:100%}.nc-menu-open{overflow:hidden}
/* All six are TEMPORARY source-based treatments, never final page assets. */
.footer--home{--nc-footer-image:url('../images/placeholders/footer-mountain-source.webp');--nc-footer-position:65% 65%;--nc-footer-overlay:.74}
.footer--coaching{--nc-footer-image:url('../images/placeholders/footer-mountain-source.webp');--nc-footer-position:72% 65%;--nc-footer-overlay:.80}
.footer--about{--nc-footer-image:url('../images/placeholders/footer-mountain-source.webp');--nc-footer-position:60% 65%;--nc-footer-overlay:.76}
.footer--resources{--nc-footer-image:url('../images/placeholders/footer-mountain-source.webp');--nc-footer-position:65% 70%;--nc-footer-overlay:.82}
.footer--book{--nc-footer-image:url('../images/placeholders/footer-mountain-source.webp');--nc-footer-position:75% 75%;--nc-footer-overlay:.78}
.footer--book-session{--nc-footer-image:url('../images/placeholders/footer-mountain-source.webp');--nc-footer-position:70% 65%;--nc-footer-overlay:.80}
.nc-footer{background-color:var(--nc-navy);background-image:linear-gradient(rgba(14,27,42,var(--nc-footer-overlay,.78)),rgba(14,27,42,var(--nc-footer-overlay,.78))),var(--nc-footer-image);background-size:cover;background-position:var(--nc-footer-position,65% 65%);color:white;min-height:380px;padding:var(--nc-footer-top) 0 var(--nc-footer-bottom)}
.nc-footer-grid{display:grid;grid-template-columns:30fr 20fr 24fr 26fr;gap:var(--nc-footer-gap);align-items:start}
.nc-footer-grid>*{min-width:0}.nc-footer-brand{text-align:center}
.nc-footer-logo{display:inline-flex;width:min(100%,300px);min-height:44px}.nc-footer-logo img{display:block;width:100%;height:auto}
.nc-roles{font-size:12px;font-weight:700;line-height:1.6;letter-spacing:.22em;margin-top:16px;white-space:nowrap}
.nc-roles span{color:var(--nc-gold-dark-bg);letter-spacing:0;margin-inline:4px}
.nc-footer-brand .nc-brand-divider{margin:20px auto}
.nc-tagline{font:600 15px/1.6 var(--nc-font-body);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.9)}
.nc-footer-heading{font:600 21px/1.2 var(--nc-font-display);color:var(--nc-gold-dark-bg);margin:0 0 18px}
/* Owner clarification: horizontal compact wrap on desktop/tablet; stack only on mobile. */
.nc-footer-links{display:flex;flex-flow:row wrap;column-gap:16px;row-gap:0;align-items:center}
.nc-footer-links a{display:inline-flex;align-items:center;min-height:44px;color:rgba(255,255,255,.92);font:500 15px/1.2 var(--nc-font-body);text-decoration:none;white-space:nowrap}
.nc-footer-links a:hover{color:var(--nc-gold-dark-bg);text-decoration:underline;text-underline-offset:4px}
.nc-footer-links a[aria-current=page]{text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--nc-gold-dark-bg)}
.nc-footer-contact>p{display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.6;color:rgba(255,255,255,.78);margin:0 0 12px}
.nc-footer-contact>p .nc-icon{width:18px;height:18px;color:var(--nc-gold-dark-bg)}
.nc-socials{display:flex;gap:4px;margin-top:20px}.nc-social-placeholder{width:44px;height:44px;display:grid;place-items:center;color:white}
.nc-footer-contact .nc-placeholder-note{font-size:12px;color:rgba(255,255,255,.72);margin-top:4px}
.nc-footer-quote{padding-left:24px;border-left:var(--nc-separator-dark)}
.nc-footer-quote p{font:600 var(--nc-quote)/var(--nc-quote-leading) var(--nc-font-accent);color:var(--nc-gold-dark-bg)}
.nc-footer-quote .nc-gold-dash{margin-top:24px}
.nc-footer-bottom{border-top:var(--nc-separator-dark);margin-top:36px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:13px;line-height:1.5}
.nc-footer-bottom>p{color:rgba(255,255,255,.70)}
.nc-legal{display:flex;flex-wrap:wrap;gap:12px 24px;color:rgba(255,255,255,.72)}
.nc-tbc{font-size:11px}
@media (min-width:1025px) and (max-width:1199px){
 :root{--nc-gutter:24px;--nc-wordmark:29px;--nc-brand-gap:14px}
 .nc-header-inner{gap:16px}.nc-nav-list{gap:28px}.nc-button{padding-inline:24px}
 /* Preserve an unwrapped desktop row with the spec's lower size bounds. */
 .nc-footer-grid{grid-template-columns:30fr 20fr 24fr 26fr;gap:28px}
 .nc-footer-grid{grid-template-columns:1fr 1fr}.nc-footer-logo{max-width:280px}
}
@media (min-width:768px) and (max-width:1024px){
 :root{--nc-gutter:24px;--nc-header-height:88px;--nc-plate:58px;--nc-wordmark:27px;--nc-h1:56px;--nc-h1-leading:1;--nc-h2:40px;--nc-h2-leading:1.08;--nc-h3:25px;--nc-h3-leading:1.12;--nc-lead:19px;--nc-body-size:16px;--nc-ui:15px;--nc-quote:31px;--nc-quote-leading:1.08;--nc-footer-top:60px;--nc-footer-bottom:30px;--nc-footer-gap:32px;--nc-section-space:clamp(60px,7vw,80px)}
 .nc-footer-grid{grid-template-columns:1fr 1fr}.nc-footer-logo{max-width:240px}.nc-footer-quote{border-left:0;padding-left:0}
 .nc-footer-bottom{align-items:flex-start;flex-direction:column}
}
@media (max-width:1199px){
 .nc-menu-ready .nc-desktop-nav{display:none}.nc-menu-ready .nc-menu-trigger:not([hidden]){display:grid}
 /* Without JS, navigation remains visible and usable. */
 .nc-header:not(.nc-menu-ready) .nc-header-inner{flex-wrap:wrap;padding-block:12px}
 .nc-header:not(.nc-menu-ready) .nc-nav-list{flex-wrap:wrap;gap:8px 20px}
}
@media (max-width:767px){
 :root{--nc-gutter:16px;--nc-header-height:76px;--nc-plate:50px;--nc-wordmark:23px;--nc-brand-gap:14px;--nc-h1:42px;--nc-h1-leading:1.03;--nc-h2:34px;--nc-h2-leading:1.1;--nc-h3:22px;--nc-h3-leading:1.15;--nc-lead:17px;--nc-lead-leading:1.6;--nc-body-size:16px;--nc-ui:15px;--nc-eyebrow:11px;--nc-quote:27px;--nc-quote-leading:1.1;--nc-dash-width:48px;--nc-brand-divider-width:52px;--nc-footer-top:52px;--nc-footer-bottom:26px;--nc-footer-gap:24px;--nc-section-space:clamp(48px,8vw,64px)}
 .nc-header-inner{gap:8px}.nc-brand-plate{padding:8px}
 .nc-footer{background-position:75% 75%}.nc-footer-grid{grid-template-columns:1fr}
 .nc-footer-logo{max-width:210px}.nc-roles{font-size:11px}.nc-footer-brand{padding-bottom:8px}
 .nc-footer-quote{grid-row:2;border-left:0;padding:0;text-align:center}.nc-footer-quote .nc-gold-dash{margin:16px auto}
 .nc-footer-heading{font-size:21px}.nc-footer-links{flex-direction:column;align-items:flex-start}
 .nc-footer-contact{padding-top:8px}.nc-footer-bottom{flex-direction:column;align-items:flex-start;margin-top:28px}
 .nc-legal{flex-direction:column;gap:12px}
}
@media (max-width:374px){
 :root{--nc-plate:48px;--nc-wordmark:22px;--nc-brand-gap:8px}
 .nc-brand{gap:8px}.nc-header-inner{gap:4px}.nc-menu-top{gap:4px}
}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media (forced-colors:active){
 .nc-button,.nc-brand-plate{border:1px solid ButtonText}.nc-nav-link[aria-current=page]{text-decoration:underline}
}

/* Ensure even short link labels meet the 44px target contract. */
.nc-nav-link,.nc-footer-links a{min-width:44px}

/* Stable CTA destinations clear the header and logged-in WordPress toolbar. */
:is(#sessions,#browse-by-topic,#book-guidance,#what-you-can-expect,.nc-coaching-accordions details){scroll-margin-top:calc(var(--nc-header-height) + 56px)}
