:root { --navy:#102943; --navy-deep:#091c2f; --blue:#183d61; --gold:#d3a451; --orange:#d9793c; --paper:#f7f8f9; --white:#fff; --text:#253647; --muted:#687786; --line:#dce2e7; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--text); background:var(--white); font-family:"DM Sans",sans-serif; }
a { color:inherit; text-decoration:none; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:"Manrope",sans-serif; }
.site-header { position:sticky; top:0; z-index:20; height:82px; padding:0 6vw; display:flex; align-items:center; justify-content:space-between; background:rgba(255,255,255,.96); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.brand { display:flex; align-items:center; gap:11px; }
.brand-symbol { width:38px; height:38px; display:grid; place-items:center; color:white; background:var(--navy); border-radius:3px; font:700 .76rem "Manrope"; letter-spacing:-.04em; }
.brand-name { max-width:140px; color:var(--navy); font-size:.74rem; line-height:1.12; text-transform:uppercase; letter-spacing:.07em; }
.brand-name strong { display:block; color:var(--orange); }
.main-nav { display:flex; align-items:center; gap:30px; color:var(--navy); font-size:.86rem; font-weight:600; }
.main-nav a:hover { color:var(--orange); }
.main-nav .nav-cta { padding:11px 18px; color:white; background:var(--navy); border-radius:3px; }
.menu-toggle { display:none; border:0; background:none; color:var(--navy); font:600 .9rem "DM Sans"; }
.hero { min-height:570px; display:grid; grid-template-columns:1.08fr .92fr; background:var(--paper); overflow:hidden; }
.hero-copy { padding:5.5vw 5vw 4.5vw 8vw; }
.eyebrow { margin-bottom:22px; color:var(--orange); text-transform:uppercase; letter-spacing:.17em; font-size:.68rem; font-weight:700; }
.eyebrow.light { color:#e7bc70; }
.hero h1 { margin-bottom:16px; color:var(--navy); font-size:clamp(3rem,5.4vw,5.8rem); line-height:.98; letter-spacing:-.06em; }
.hero h1 span { position:relative; z-index:1; display:inline-block; color:var(--orange); }
.hero h1 span::after { content:""; position:absolute; z-index:-1; left:-.03em; right:-.08em; bottom:.02em; height:.22em; background:rgba(211,164,81,.32); transform:rotate(-1deg); }
.hero-tagline { margin-bottom:18px; color:var(--navy); font:700 clamp(1.05rem,1.7vw,1.35rem) "Manrope"; }
.hero-text { max-width:650px; color:var(--muted); font-size:1.05rem; line-height:1.75; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; }
.button { min-height:51px; padding:0 24px; display:inline-flex; align-items:center; justify-content:center; border-radius:3px; font-size:.88rem; font-weight:700; transition:.2s ease; }
.button:hover { transform:translateY(-2px); }
.primary { color:white; background:var(--orange); box-shadow:0 9px 25px rgba(217,121,60,.2); }
.button[href^="mailto:"] { color:white; background:var(--orange); border-color:var(--orange); box-shadow:0 9px 25px rgba(217,121,60,.2); }
.button[href^="mailto:"]:hover { color:white; background:#c96731; }
.secondary { color:white; background:var(--navy); border:1px solid var(--navy); box-shadow:0 9px 25px rgba(16,41,67,.12); }
.secondary:hover { background:var(--blue); border-color:var(--blue); }
.hero-visual { position:relative; display:grid; place-items:center; min-height:520px; background:var(--navy); overflow:hidden; }
.hero-visual::before { content:""; position:absolute; width:360px; height:360px; top:-130px; right:-90px; background:var(--orange); border-radius:50%; opacity:.92; }
.orbit { position:absolute; border:1px solid rgba(255,255,255,.17); border-radius:50%; }
.orbit-one { width:630px; height:630px; }
.orbit-two { width:470px; height:470px; }
.value-card { position:relative; z-index:2; width:min(350px,66%); padding:30px; color:white; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.25); backdrop-filter:blur(8px); box-shadow:20px 20px 0 rgba(7,21,35,.28); }
.value-label { display:block; margin-bottom:40px; color:#e7bc70; font-size:.7rem; text-transform:uppercase; letter-spacing:.15em; }
.value-card p { margin-bottom:8px; font:600 1.15rem "Manrope"; }
.value-card i { display:block; width:100%; height:4px; margin-bottom:23px; background:linear-gradient(90deg,var(--gold) 70%,rgba(255,255,255,.13) 70%); }
.value-card p:nth-of-type(2)+i { background:linear-gradient(90deg,var(--gold) 84%,rgba(255,255,255,.13) 84%); }
.value-card p:nth-of-type(3)+i { background:linear-gradient(90deg,var(--gold) 93%,rgba(255,255,255,.13) 93%); }
.value-card strong { display:block; margin-top:35px; color:white; font:800 1.65rem "Manrope"; }
.visual-note { position:absolute; z-index:3; right:5%; bottom:10%; padding:17px 21px; color:var(--navy); background:white; font-size:.75rem; line-height:1.5; box-shadow:0 15px 35px rgba(0,0,0,.18); }
.visual-note strong { color:var(--orange); font-size:.95rem; }
.principles { min-height:72px; padding:15px 7vw; display:flex; align-items:center; justify-content:space-between; gap:20px; color:var(--navy); border-bottom:1px solid var(--line); font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }
.principles p { margin:0; }.principles span { color:var(--gold); }
.section { padding:78px 8vw; }
.section h2 { color:var(--navy); font-size:clamp(2.5rem,4.7vw,5rem); line-height:1.08; letter-spacing:-.045em; }
.philosophy { padding-top:52px; padding-bottom:52px; display:grid; grid-template-columns:1fr 1.15fr; gap:5vw; align-items:center; }
.philosophy h2 { margin-bottom:0; font-size:clamp(1.9rem,2.7vw,3rem); white-space:nowrap; }
.philosophy .eyebrow { margin-bottom:15px; }
.philosophy-copy { padding:24px 28px; border-left:4px solid var(--gold); background:var(--paper); }
.philosophy-copy p { margin-bottom:0; color:var(--muted); font-size:.88rem; line-height:1.6; }
.philosophy-copy .lead { margin-bottom:8px; color:var(--navy); font:700 1.02rem/1.4 "Manrope"; }
.services { padding:46px 4vw; color:white; background:var(--navy); }
.advisory-layout { display:grid; grid-template-columns:.82fr 1.18fr; gap:4vw; align-items:start; }
.advisory-intro { padding:28px 2vw; color:white; background:transparent; box-shadow:none; }
.advisory-intro h2 { max-width:650px; margin-bottom:18px; color:white; font-size:clamp(2.35rem,3.6vw,3.8rem); }
.advisory-lead { max-width:650px; margin-bottom:16px; color:#bdc9d3; font-size:.92rem; line-height:1.65; }
.process-summary { margin:22px 0 6px; padding:20px 22px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.15); }
.process-summary>p { margin-bottom:17px; color:#e7bc70; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.14em; }
.process-summary ol { margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:15px 22px; list-style:none; }
.process-summary li { display:flex; align-items:center; gap:11px; color:white; font-size:.88rem; font-weight:600; line-height:1.4; }
.process-summary li span { color:var(--gold); font-size:.68rem; font-weight:700; }
.advisory-intro .button { width:max-content; margin-top:16px; }
.advisory-tools { padding:28px 0 28px 4vw; border-left:1px solid rgba(255,255,255,.2); }
.tools-heading { margin:0 0 18px; display:block; }
.tools-heading .eyebrow { margin-bottom:0; color:#e7bc70; }
.tools-heading>p:last-child { max-width:600px; margin:12px 0 0; color:#afbdc9; font-size:.78rem; line-height:1.5; text-align:left; }
.section-title { display:grid; grid-template-columns:1.2fr .8fr; gap:8vw; align-items:end; margin-bottom:30px; }
.services .section-title h2 { color:white; }
.section-title>p { color:#afbdc9; line-height:1.75; }
.service-grid { margin:0; display:grid; grid-template-columns:repeat(2,1fr); gap:9px; }
.service-card { min-height:145px; padding:17px 19px; color:var(--text); background:white; border:1px solid var(--line); display:flex; flex-direction:column; }
.service-card>span { color:var(--orange); font-size:.56rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.service-card h3 { margin:11px 0 6px; color:var(--navy); font-size:1.05rem; line-height:1.2; }
.service-card p { margin-bottom:8px; color:#536574; font-size:.82rem; line-height:1.5; }
.service-card ul { margin:auto 0 0; padding:22px 0 0; border-top:1px solid var(--line); list-style:none; }
.service-card li { padding:5px 0; color:#576775; font-size:.82rem; }
.service-card li::before { content:"+"; margin-right:9px; color:var(--orange); font-weight:700; }
.service-card .includes { margin:auto 0 0; padding-top:9px; color:var(--navy); border-top:1px solid var(--line); font-size:.68rem; font-weight:700; line-height:1.45; }
.service-card.accent { background:white; }
.dark-card { position:relative; color:var(--text); background:#f7ead8; border:1px solid #e3c79e; border-top:4px solid var(--orange); }
.dark-card h3 { color:var(--navy); }
.dark-card p { color:#536574; opacity:1; }
.dark-card .includes { color:var(--navy); border-color:#dfc9a8; }
.dark-card>span { color:var(--orange); }
.dark-card a { margin-top:auto; color:var(--orange); font-size:.72rem; font-weight:700; }
.about { padding-top:58px; padding-bottom:58px; display:grid; grid-template-columns:minmax(240px,.52fr) 1.48fr; gap:6vw; align-items:center; }
.about-visual { position:relative; width:100%; max-width:350px; min-height:330px; justify-self:center; background:var(--orange); overflow:hidden; box-shadow:11px 11px 0 #f1e5d3; }
.about-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 52%,rgba(9,28,47,.72) 100%); pointer-events:none; }
.about-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 28%; }
.photo-caption { position:absolute; z-index:2; left:22px; right:20px; bottom:20px; padding-left:12px; color:white; border-left:3px solid var(--gold); }
.photo-caption strong,.photo-caption span { display:block; }
.photo-caption strong { margin-bottom:4px; font:700 1.05rem "Manrope"; }
.photo-caption span { max-width:290px; font-size:.65rem; line-height:1.4; }
.about-copy { max-width:760px; }
.about-copy h2 { margin-bottom:20px; font-size:clamp(2.1rem,3vw,3.25rem); }
.about-copy .lead { margin-bottom:10px; color:var(--navy); font:700 1rem/1.45 "Manrope"; }
.about-copy>p:not(.eyebrow,.lead) { margin-bottom:12px; color:var(--muted); font-size:.9rem; line-height:1.6; }
.career-highlights { margin:20px 0 22px; padding:0; display:grid; gap:8px; list-style:none; }
.career-highlights li { position:relative; padding-left:21px; color:#536574; font-size:.78rem; line-height:1.45; }
.career-highlights li::before { content:""; position:absolute; left:0; top:.55em; width:7px; height:7px; background:var(--gold); border-radius:50%; }
.about blockquote { margin:0; padding:14px 0 0 20px; color:var(--navy); border-top:1px solid var(--line); border-left:3px solid var(--gold); font:600 .88rem/1.55 "Manrope"; }
.testimonials { padding-top:55px; padding-bottom:55px; background:var(--paper); }
.testimonial-heading { display:grid; grid-template-columns:1.35fr .65fr; gap:6vw; align-items:end; margin-bottom:28px; }
.testimonial-heading>p { margin-bottom:0; color:var(--muted); line-height:1.7; }
.experience-title { display:flex; align-items:flex-end; gap:22px; }
.experience-title strong { flex:none; color:var(--orange); font:800 clamp(3.8rem,6vw,6.5rem)/.8 "Manrope"; letter-spacing:-.07em; }
.experience-title h2 { max-width:650px; margin:0; font-size:clamp(2rem,3.3vw,3.6rem); line-height:1.03; }
.testimonial-carousel { overflow:hidden; }
.testimonial-track { display:flex; transition:transform .45s ease; }
.testimonial-card { min-width:calc(33.333% - 10.667px); min-height:270px; margin-right:16px; padding:24px; display:flex; flex-direction:column; background:white; border:1px solid var(--line); }
.testimonial-card:nth-child(3n) { margin-right:0; }
.testimonial-card.featured-testimonial { color:white; background:var(--navy); border-color:var(--navy); }
.sample-label { width:max-content; padding:6px 9px; color:var(--orange); background:#f8ecdf; font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.featured-testimonial .sample-label { color:#f0c478; background:rgba(255,255,255,.1); }
.testimonial-card blockquote { margin:20px 0; color:var(--navy); font:600 .94rem/1.55 "Manrope"; }
.featured-testimonial blockquote { color:white; }
.testimonial-card>p { margin:auto 0 10px; padding-top:13px; display:flex; flex-direction:column; gap:3px; border-top:1px solid var(--line); }
.featured-testimonial>p { border-color:rgba(255,255,255,.2); }
.testimonial-card strong { color:var(--navy); font-size:.82rem; }
.featured-testimonial strong { color:white; }
.testimonial-card p span { color:var(--muted); font-size:.72rem; }
.featured-testimonial p span { color:#adbdca; }
.source-link { width:max-content; color:var(--orange); font-size:.72rem; font-weight:700; }
.featured-testimonial .source-link { color:#e7bc70; }
.carousel-controls { margin-top:14px; display:flex; align-items:center; justify-content:flex-end; gap:12px; }
.carousel-button { width:42px; height:42px; color:var(--navy); background:white; border:1px solid var(--line); cursor:pointer; font-size:1.05rem; }
.carousel-button:hover { color:white; background:var(--navy); }
.carousel-status { min-width:52px; color:var(--muted); text-align:center; font-size:.75rem; }
.carousel-status strong { color:var(--navy); }
.resources { background:var(--paper); }
.resource-heading { margin-bottom:30px; }.resource-heading>p { color:var(--muted); }
.topic-list { display:flex; flex-wrap:wrap; gap:10px; }
.topic-list span { padding:13px 18px; color:var(--navy); background:white; border:1px solid var(--line); font-size:.82rem; font-weight:600; }
.contact { padding-top:52px; padding-bottom:52px; display:grid; grid-template-columns:1fr 1fr; gap:7vw; align-items:center; color:white; background:var(--navy-deep); }
.contact h2 { margin-bottom:16px; color:white; font-size:clamp(2.2rem,3.5vw,3.7rem); }.contact h2 span { color:#e5b665; }
.contact-copy>p:last-child { max-width:600px; margin-bottom:0; color:#aab9c6; font-size:.88rem; line-height:1.6; }
.contact-card { padding:26px 30px; background:white; color:var(--text); }
.small-label { margin-bottom:20px; color:var(--orange); font-size:.64rem; font-weight:700; text-transform:uppercase; letter-spacing:.15em; }
.contact-card h3 { margin:-6px 0 16px; color:var(--navy); font-size:1.15rem; }
.contact-card>a:not(.button),.contact-card>div { padding:17px 0; display:flex; flex-direction:column; gap:5px; border-bottom:1px solid var(--line); }
.contact-card span { color:var(--muted); font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; }.contact-card strong { color:var(--navy); font-size:.94rem; }
.contact-card .social-links { padding:14px 0; flex-direction:row; gap:10px; }
.social-links a { flex:1; min-height:48px; padding:10px 14px; display:flex; align-items:center; justify-content:center; gap:9px; color:var(--navy); background:var(--paper); border:1px solid var(--line); font-size:.78rem; font-weight:700; }
.social-links a:hover { color:white; background:var(--navy); }
.social-links svg { width:20px; height:20px; fill:currentColor; }
.social-links a span { color:inherit; font-size:.72rem; font-weight:700; }
.contact-card .contact-action { padding:17px 0 0; border-bottom:0; }
.contact-action p { margin-bottom:10px; color:var(--navy); font:700 .9rem "Manrope"; text-align:center; }
.gold { margin-top:28px; width:100%; color:white; background:var(--orange); }
.contact-action .gold { margin-top:0; }
footer { padding:38px 6vw; display:flex; align-items:center; justify-content:space-between; gap:25px; color:#98a8b7; background:#061421; font-size:.72rem; }
.footer-brand .brand-symbol { background:var(--orange); }.footer-brand .brand-name { color:white; }
@media(max-width:900px){.site-header{height:70px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:70px;padding:25px 6vw;flex-direction:column;align-items:stretch;background:white;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 7vw 55px}.hero-visual{min-height:500px}.principles{overflow:auto;justify-content:flex-start;white-space:nowrap}.section{padding:65px 7vw}.services{padding-top:45px;padding-bottom:45px}.testimonials{padding-top:50px;padding-bottom:50px}.philosophy,.section-title,.testimonial-heading,.about,.contact{grid-template-columns:1fr}.experience-title{align-items:flex-start;flex-direction:column;gap:12px}.advisory-layout{grid-template-columns:1fr}.advisory-intro{padding:20px 0 35px}.advisory-tools{padding:30px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.2)}.service-grid{grid-template-columns:repeat(2,1fr)}.testimonial-card{min-width:calc(50% - 8px);min-height:270px;padding:24px}.testimonial-card:nth-child(3n){margin-right:16px}.testimonial-card:nth-child(2n){margin-right:0}.about{gap:42px}.about-visual{width:min(100%,330px);min-height:320px}.about-copy{max-width:680px;margin:0 auto}.section-title{gap:20px}.section-title>p{max-width:650px}footer{flex-direction:column;text-align:center}}
@media(max-width:580px){.hero h1{font-size:clamp(3.1rem,15vw,4.8rem)}.hero-actions{flex-direction:column}.button{width:100%}.hero-visual{min-height:440px}.value-card{width:76%;padding:28px}.advisory-intro{padding:28px 22px}.advisory-intro .button{width:100%;text-align:center}.process-summary ol{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.service-card{min-height:135px}.philosophy-copy{padding:28px}.testimonial-card{min-width:100%;min-height:280px;margin-right:0!important}.about-visual{min-height:310px}.about-copy h2{font-size:2.3rem}.contact-card{padding:28px 22px}}
