/* NorthPeak: light surfaces lead, navy anchors, cobalt guides. */
:root{--navy:#0B1F33;--cobalt:#2D5BFF;--snow:#F7F9FC;--slate:#52657A;--ice:#DDEBFF;--ink:var(--navy);--deep:var(--navy);--deep-2:var(--navy);--cream:var(--snow);--cream-2:var(--snow);--white:#FFFFFF;--lime:var(--ice);--text:#FFFFFF;--muted:rgba(255,255,255,.8);--stone:var(--snow);--sand:var(--ice);--blue:var(--cobalt);color:var(--navy);background:var(--snow)}
body,.site-shell,:is(.about-page,.services-page,.process-page,.contact-page,.legal-page) .site-shell{background:var(--snow);color:var(--navy)}
::selection{background:var(--ice);color:var(--navy)}
:focus-visible{outline:3px solid var(--cobalt);outline-offset:5px}
.site-header,:is(.about-page,.process-page,.contact-page,.legal-page) .site-header{background:var(--snow);color:var(--navy)}
.site-header .brand-logo{filter:brightness(0) saturate(100%);opacity:.9}
.site-header .desktop-nav a{color:var(--navy)}
.site-header .desktop-nav a:hover{color:var(--cobalt)}
.desktop-nav a[aria-current="page"],.mobile-nav a[aria-current="page"]{color:var(--cobalt)!important}
.site-header .header-cta{background:var(--cobalt);color:#FFFFFF;padding:13px 20px;border:0;border-radius:9px}
.header-cta:hover{box-shadow:0 7px 20px rgba(45,91,255,.2)}
.site-header .menu-toggle{border-color:var(--slate);color:var(--navy)}
.site-header .menu-toggle span{background:var(--navy)}
.mobile-nav:not([hidden]){background:var(--snow);color:var(--navy);border-color:var(--ice);box-shadow:0 12px 30px rgba(11,31,51,.12)}
.mobile-nav a{color:var(--navy)}
.mobile-nav a:hover{background:var(--ice)}
.button-light,.contact-panel .submit-button{background:var(--cobalt);color:#FFFFFF;border:1px solid var(--cobalt);box-shadow:0 8px 24px rgba(45,91,255,.16)}
.button-light:hover,.contact-panel .submit-button:hover{background:var(--navy);color:#FFFFFF;border-color:var(--navy)}
.kicker,.eyebrow{color:var(--ice)}
h1 em,h2 em{color:inherit!important}
/* A light opening with a separate mountain photograph. */
.hero{margin-top:0;padding-top:0;min-height:670px;padding-bottom:34px;isolation:isolate}
.hero-content{grid-template-columns:minmax(0,1fr);align-items:center;padding-top:55px;padding-bottom:68px}
.hero-copy{width:57%;padding-right:35px}
.hero h1{font-size:clamp(54px,5.4vw,82px);line-height:1.04;letter-spacing:-.065em}
.hero-copy>p{max-width:510px;font-size:17px;line-height:1.8}
.hero-atmosphere{z-index:-1;inset:35px max(36px,calc((100vw - 1280px)/2)) 115px 61%;border-radius:24px;background-image:var(--northpeak-hero-photo);background-size:cover;background-position:70% center;box-shadow:0 20px 50px rgba(11,31,51,.1)}
.hero-atmosphere:before,.hero-atmosphere:after{display:none}
.hero-side-note{display:none}
.hero-foot{color:var(--slate);border-top-color:rgba(82,101,122,.25);padding-top:24px}
.hero .text-link{color:var(--navy);border-color:var(--slate)}
.hero .text-link:hover{color:var(--cobalt)}
/* Light content across every page, with dark photo captions. */
.brand-light{background:var(--snow);color:var(--navy)}
.brand-light :is(h1,h2,h3,h4,strong){color:var(--navy)!important}
.brand-light :is(p,li){color:var(--slate)!important}
.brand-light :is(.kicker,.eyebrow,.dark-kicker){color:var(--slate)}
.brand-light :is(h1,h2) em{color:var(--navy)!important}
.brand-light :is(.dark-link,.process-more,.journey-sidebar-link,.fit-link,.contact-page-email){color:var(--cobalt);border-color:var(--cobalt)}
.brand-light :is(.dark-link,.process-more,.journey-sidebar-link,.fit-link,.contact-page-email):hover{color:var(--navy)}
.services-section,.process-section,.about-section{padding-block:100px}
.process-section{border-top:1px solid rgba(82,101,122,.15);border-bottom:1px solid rgba(82,101,122,.15)}
.service-card{background:var(--snow);color:var(--navy);border:1px solid rgba(82,101,122,.25);box-shadow:0 10px 25px rgba(11,31,51,.035)}
.service-card:hover{border-color:var(--cobalt);box-shadow:0 16px 38px rgba(11,31,51,.09)}
.service-card-top{color:var(--slate)}
.service-glyph{background:var(--cobalt);color:#FFFFFF;border-color:var(--cobalt)}
.service-tag{background:var(--ice);color:var(--navy);border-color:transparent}
.service-card-featured{background:var(--navy);color:#FFFFFF;border-color:var(--navy)}
.brand-light .service-card-featured :is(h3,p),.service-card-featured .service-card-top{color:#FFFFFF!important}
.service-card-featured .service-tag{background:var(--ice);color:var(--navy);border-color:transparent}
.process-steps li{border-color:rgba(82,101,122,.25)}
.process-steps li>span{color:var(--cobalt)}
.process-photo{border:0;box-shadow:0 16px 38px rgba(11,31,51,.1)}
.photo-caption,.studio-photo-label,.fit-photo-note,.journey-image-label{background:rgba(11,31,51,.9);color:#FFFFFF}
.brand-light :is(.photo-caption,.studio-photo-label,.fit-photo-note,.journey-image-label) :is(p,strong,span){color:#FFFFFF!important}
.caption-star{background:var(--cobalt);color:#FFFFFF}
.value-strip,.value-strip>div{border-color:rgba(82,101,122,.25)}
.value-strip span{color:var(--cobalt)}
/* Service detail, studio and process. */
.services-hero{color:#FFFFFF;background:var(--navy);margin-top:0;padding-top:65px}
.services-hero .services-quick{background:rgba(11,31,51,.88);color:#FFFFFF}
.services-hero .kicker{color:#FFFFFF}
.service-offer,.service-offer:nth-child(2),.service-offer-featured{background:var(--snow);border-color:rgba(82,101,122,.25)}
.offer-number,.journey-step-number{color:var(--cobalt)}
.offer-panel,.scope-panel,.story-more-card,.journey-together-cards article,.legal-article{background:var(--snow);border:1px solid rgba(82,101,122,.22);box-shadow:0 12px 32px rgba(11,31,51,.035)}
.brand-light :is(.offer-panel,.scope-panel,.story-more-card,.foundation-grid article,.fit-list article,.approach-list article,.journey-together-cards article)>span,.offer-best span,.fit-list-label,.approach-list b,.journey-step-label,.journey-step-detail span,.journey-step-symbol{color:var(--cobalt)}
.offer-panel a{color:var(--cobalt)}
.offer-panel li:before{color:var(--cobalt)}
.brand-light :is(.offer-panel li,.offer-best,.foundation-grid article,.fit-list article,.approach-list article,.journey-step-list,.journey-step,.journey-hero-foot){border-color:rgba(82,101,122,.25)}
.journey-hero-foot,.journey-hero-aside{color:var(--slate)}
.journey-hero-aside i{background:var(--ice)}
.journey-step-detail{background:var(--ice);border-color:transparent}
.journey-steps-mark{color:var(--cobalt);background:var(--ice);border-color:var(--ice);box-shadow:none}
/* Navy closing sections and one clear action. */
.services-next,.studio-next,.journey-next{background:var(--navy);color:#FFFFFF;padding-block:100px}
.services-next-atmosphere,.studio-next-atmosphere,.journey-next-atmosphere{background:none}
:is(.services-next,.studio-next,.journey-next) p{color:#FFFFFF}
:is(.services-next,.studio-next,.journey-next) .kicker{color:var(--ice)}
.site-footer{background:var(--navy);color:#FFFFFF}
.site-footer .brand-logo{filter:none}
.footer-brand-block>p,.footer-links a,.footer-bottom,.footer-bottom a{color:#FFFFFF}
.footer-links>span{color:var(--ice)}
.footer-email:hover,.footer-links a:hover,.footer-bottom a:hover{color:var(--ice);text-decoration:underline;text-underline-offset:5px}
/* Contact form and legal content. */
.contact-page-main:before{display:none}
.contact-page-points,.contact-page-points div{border-color:rgba(82,101,122,.25)}
.contact-page-points span{color:var(--cobalt)}
.contact-panel{background:var(--snow);color:var(--navy);border-color:rgba(82,101,122,.25);box-shadow:0 20px 55px rgba(11,31,51,.08)}
.contact-panel-head{border-color:rgba(82,101,122,.25)}
.contact-panel-head>div>span,.contact-panel label>span{color:var(--navy)}
.contact-panel-head>b{background:var(--ice);color:var(--cobalt)}
.contact-panel input,.contact-panel select,.contact-panel textarea{background:var(--snow);color:var(--navy);border-color:var(--slate)}
.contact-panel input::placeholder,.contact-panel textarea::placeholder{color:var(--slate)}
.contact-panel input:focus,.contact-panel select:focus,.contact-panel textarea:focus{border-color:var(--cobalt);box-shadow:0 0 0 3px var(--ice)}
.contact-panel .form-note a{color:var(--cobalt)}
.brand-light .contact-panel .form-note.is-error,.brand-light .contact-panel .form-note-alert{color:var(--navy)!important;font-weight:700}
.contact-bottom-note{border-color:rgba(82,101,122,.2)}
.legal-hero-meta,.legal-toc a{color:var(--slate)}
.legal-side-label,.legal-sidebar-help>span,.legal-intro>span,.legal-end>span,.legal-section-heading>span,.legal-section li::marker{color:var(--cobalt)}
.legal-sidebar-help{background:var(--ice);border-color:transparent}
.legal-sidebar-help a,.legal-section a,.legal-end a{color:var(--cobalt)}
.legal-toc,.legal-toc a,.legal-intro,.legal-section,.legal-hero-meta{border-color:rgba(82,101,122,.25)}
.legal-section a{text-decoration-color:var(--cobalt)}
@media(max-width:1050px){.hero-copy{width:59%}.hero h1{font-size:60px}.hero-atmosphere{left:62%}.hero-content{padding-block:45px 65px}}
@media(max-width:760px){
 .hero{min-height:0;padding-bottom:30px;display:flex}.hero-content{padding-block:35px 40px}.hero-copy{width:100%;padding:0}.hero h1{max-width:620px;font-size:clamp(48px,8vw,65px)}
 .hero-atmosphere{position:relative;inset:auto;order:2;z-index:0;width:calc(100% - 48px);height:280px;margin:0 auto 32px;border-radius:18px;background-position:center 58%}
 .hero-foot{order:3}.hero-copy>p{font-size:16px}.hero-actions{gap:23px}
 .services-section,.process-section,.about-section{padding-block:75px}.services-next,.studio-next,.journey-next{padding-block:80px}
 .value-strip>div,.value-strip>div:first-child{border-color:rgba(82,101,122,.25)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.site-header .brand-logo{filter:none;opacity:1}
.site-header::before{background:rgba(247,249,252,.97);border-color:rgba(82,101,122,.18);opacity:1}

/* Readable 18px body copy at every screen size. */
body {font-size:18px;min-width:0}
body .site-shell :is(main,.site-footer) :is(p,li,dd,dt),
body .contact-panel :is(input,select,textarea,label>span),
body :is(.offer-best strong,.journey-step-detail strong,.contact-page-points strong),
body .photo-caption>span:last-child {
  font-size:18px!important;
  line-height:1.7;
}
body .site-shell :is(main,.site-footer) p :is(a,span,strong,em),
body .legal-section li :is(a,strong,span) {font-size:inherit}
.contact-panel :is(input,select,textarea) {padding:14px 16px}
.contact-panel input::placeholder,.contact-panel textarea::placeholder {font-size:18px}
.offer-panel li {align-items:start}
@media(max-width:520px){
 .contact-panel select{padding-inline:10px}
 .service-card{min-height:380px}
}

/* Approved NorthPeak logo: original artwork framed for a compact header. */
.site-header .brand-logo,.site-footer .brand-logo{width:270px;height:auto;max-width:100%}
.site-footer .brand-logo{filter:brightness(0) invert(1)}
@media(max-width:760px){.site-header .brand-logo{width:230px}}
@media(max-width:380px){.site-header .brand-logo{width:205px}}
