:root{--ink:#122033;--ink-soft:#334155;--muted:#65748a;--blue:#2458d3;--blue-dark:#1b45ae;--blue-pale:#eaf0ff;--paper:#f7f8fa;--white:#fff;--line:#dfe5ee;--night:#101d31;--serif:Georgia,'Times New Roman',serif;--sans:Inter,'Avenir Next',Avenir,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--container:1160px;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #7c9cff;outline-offset:3px}::selection{background:#dbe6ff;color:var(--ink)}.container{width:min(var(--container),calc(100% - 64px));margin-inline:auto}.narrow{max-width:800px}.skip-link{position:fixed;z-index:99;left:16px;top:12px;transform:translateY(-160%);background:var(--ink);color:white;padding:10px 14px;border-radius:8px}.skip-link:focus{transform:none}.site-header{position:sticky;top:0;z-index:30;background:rgba(247,248,250,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(18,32,51,.08)}.nav-wrap{width:min(1280px,calc(100% - 64px));height:82px;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:11px;font-weight:720;letter-spacing:-.035em;font-size:15px;line-height:1.12}.brand-logo{display:block;width:220px;max-width:100%;height:auto;border-radius:5px}.footer-brand .brand-logo{background:#fff;padding:3px 5px;border-radius:6px}.brand small{display:block;margin-top:5px;font-size:10px;font-weight:650;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}.primary-nav{display:flex;align-items:center;gap:35px}.primary-nav>a:not(.button){font-size:13px;font-weight:590;color:#4d5b6e;transition:color .2s}.primary-nav>a:hover,.primary-nav>a[aria-current=page]{color:var(--blue)}.button{min-height:52px;padding:0 21px;border:1px solid var(--blue);border-radius:7px;background:var(--blue);color:white;display:inline-flex;align-items:center;justify-content:center;gap:12px;font-size:13px;font-weight:650;letter-spacing:-.01em;transition:background .2s,transform .2s,border-color .2s,box-shadow .2s}.button:hover{background:var(--blue-dark);border-color:var(--blue-dark);transform:translateY(-2px);box-shadow:0 9px 22px #2458d328}.button span{font-size:17px;line-height:1}.button-small{min-height:42px;padding-inline:16px;font-size:12px}.button-outline{background:transparent;color:var(--ink);border-color:#cbd4e1}.button-outline:hover{color:var(--blue);background:#fff;border-color:#aebbd0}.button-light{background:#fff;color:var(--ink);border-color:#fff}.button-light:hover{background:#eaf0ff;border-color:#eaf0ff;color:var(--ink)}.menu-toggle{display:none}.hero{overflow:hidden;background:radial-gradient(ellipse at 74% 38%,#eef2fb 0,transparent 39%),var(--paper);position:relative}.hero-grid{min-height:620px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:60px;padding-top:52px;padding-bottom:38px}.hero-copy{position:relative;z-index:2;padding-bottom:5px}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--blue);font-size:10px;font-weight:720;letter-spacing:.15em;line-height:1.3}.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px #2458d31b}.hero h1,.page-hero h1{font-size:clamp(46px,6vw,76px);line-height:1.045;letter-spacing:-.07em;font-weight:640;margin:24px 0 24px;max-width:720px}.hero h1 span,.page-hero h1 span{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.06em;color:var(--blue)}.hero-lede{max-width:560px;color:#536176;font-size:17px;line-height:1.75;margin:0 0 28px}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hero-note{display:flex;align-items:center;gap:13px;margin-top:40px;color:var(--muted);font-size:11px}.hero-note p{margin:0}.note-rule{width:28px;height:1px;background:#94a2b5}.hero-art{height:475px;position:relative;display:grid;place-items:center;isolation:isolate}.art-glow{position:absolute;width:350px;height:350px;background:radial-gradient(circle,#dbe6ff 0,rgba(219,230,255,.45) 45%,transparent 73%);border-radius:50%;z-index:-2}.art-orbit{position:absolute;border:1px solid #b9c8e180;border-radius:50%;transform:rotate(-28deg)}.orbit-one{width:470px;height:292px}.orbit-two{width:385px;height:430px;transform:rotate(28deg)}.portrait-photo{width:286px;height:354px;position:relative;border-radius:160px 160px 18px 18px;box-shadow:0 28px 75px #263e6a22;border:1px solid rgba(255,255,255,.9);overflow:hidden;background:#dce5f3}.portrait-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}.art-card{position:absolute;padding:12px 15px;border-radius:9px;background:rgba(255,255,255,.9);box-shadow:0 10px 35px #20324c16;border:1px solid #fff;display:flex;align-items:center;gap:9px;font-size:10px;font-weight:620;color:#425168;backdrop-filter:blur(12px)}.art-card-top{right:0;top:76px}.mini-dot{width:7px;height:7px;border-radius:50%;background:#50b28c}.art-card-bottom{left:-4px;bottom:71px}.pulse-line{width:24px;height:12px;border-bottom:2px solid var(--blue);border-radius:50%;transform:rotate(-20deg)}.art-index{position:absolute;bottom:13px;right:16px;font-size:9px;letter-spacing:.14em;color:#758198}.art-index i{font-style:normal;color:#b0bac8;padding-inline:7px}.hero-bottom{display:flex;justify-content:space-between;border-top:1px solid #e3e7ed;padding-block:20px;color:#8490a1;font-size:9px;font-weight:650;letter-spacing:.12em}.hero-bottom span+span{letter-spacing:.02em;text-transform:none;font-weight:500}.hero-bottom b{color:var(--blue);font-size:14px;padding-left:6px}.section{padding:116px 0}.section-intro{max-width:570px}.section-intro .eyebrow{margin-bottom:17px}.section-intro h2,.note-box h2{font-size:clamp(32px,4vw,48px);letter-spacing:-.055em;line-height:1.13;font-weight:620;margin:0 0 17px}.section-intro p,.note-box p{margin:0;color:var(--muted);font-size:15px;max-width:550px;line-height:1.8}.problem-section{background:#fff}.problem-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:100px}.problem-lead .section-intro h2{max-width:430px}.large-copy{font-size:23px;line-height:1.52;letter-spacing:-.03em;color:var(--ink);margin:0 0 25px}.problem-content>p:not(.large-copy){font-size:14px;line-height:1.85;color:var(--muted);margin:24px 0}.challenge-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin-top:26px}.challenge-list span{font-size:12px;color:#526075;display:flex;align-items:center;gap:9px}.challenge-list span:before{content:"";width:5px;height:5px;background:#8ca8ed;border-radius:50%;flex:none}.text-link{display:inline-flex;align-items:center;gap:9px;color:var(--blue);font-size:12px;font-weight:650}.text-link span{font-size:16px;transition:transform .2s}.text-link:hover span{transform:translate(2px,-2px)}.outcome-section{background:var(--paper)}.outcome-section .section-intro,.services-section .section-intro,.service-process-section .section-intro{margin-bottom:46px}.outcome-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.outcome-grid article{padding:29px 28px 31px;min-height:202px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .25s,transform .25s}.outcome-grid article:hover{background:#fff;transform:translateY(-2px)}.outcome-grid article>span{font-size:10px;letter-spacing:.1em;color:#8a98ab}.outcome-grid h3,.service-card h3{font-size:17px;letter-spacing:-.03em;margin:24px 0 7px;line-height:1.3}.outcome-grid p,.service-card p{font-size:12px;line-height:1.75;color:var(--muted);margin:0;max-width:280px}.services-section{background:#fff}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-card{min-height:270px;padding:24px 21px 21px;background:#fbfcfe;border:1px solid #e7ebf1;border-radius:9px;display:flex;flex-direction:column;transition:transform .24s var(--ease),box-shadow .24s,border-color .24s,background .24s}.service-card:hover{transform:translateY(-5px);background:white;box-shadow:0 18px 45px #1e35500e;border-color:#c9d6ef}.service-icon{height:34px;width:34px;display:grid;place-items:center;border-radius:9px;background:#edf2ff;color:var(--blue);font-size:18px}.service-card h3{font-size:15px;margin:20px 0 8px}.service-card p{font-size:11px}.service-card .text-link{margin-top:auto;padding-top:19px;font-size:10px}.section-tail{display:flex;justify-content:center;margin-top:34px}.process-section{background:#eef2f7}.process-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.process-layout .section-intro{margin-bottom:24px}.process-list{list-style:none;margin:0;padding:0;border-top:1px solid #d4dce7}.process-list li{display:grid;grid-template-columns:52px 1fr;gap:20px;padding:21px 0;border-bottom:1px solid #d4dce7}.process-list li>span{font-size:10px;color:var(--blue);letter-spacing:.12em;padding-top:4px}.process-list h3{font-size:16px;margin:0 0 3px;letter-spacing:-.03em}.process-list p{font-size:12px;color:var(--muted);margin:0;line-height:1.7}.cta-section{padding:84px 0;background:var(--night);color:#fff;position:relative;overflow:hidden}.cta-section:after{content:"";position:absolute;right:-100px;top:-280px;width:580px;height:580px;border:1px solid #ffffff13;border-radius:50%;box-shadow:0 0 0 70px #ffffff08,0 0 0 140px #ffffff05;pointer-events:none}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:60px;position:relative;z-index:1}.eyebrow-light{color:#9eb8ff}.cta-inner h2{font-size:clamp(32px,4vw,49px);letter-spacing:-.055em;line-height:1.12;font-weight:580;margin:15px 0 12px;max-width:660px}.cta-inner p{font-size:13px;color:#a9b6c8;line-height:1.8;max-width:620px;margin:0}.cta-inner .button{flex:none}.site-footer{background:#0b1627;color:white;padding:61px 0 20px}.footer-grid{display:grid;grid-template-columns:1.2fr .7fr 1fr;gap:80px;padding-bottom:58px}.footer-brand .brand-mark{background:#294e9e}.footer-grid>div:first-child>p{color:#91a0b5;font-size:12px;line-height:1.8;max-width:320px;margin:17px 0 0}.footer-title{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#8594aa;margin:2px 0 17px}.footer-links{display:grid;gap:8px}.footer-links a,.footer-bottom a{font-size:12px;color:#c4cedb;transition:color .2s}.footer-links a:hover,.footer-bottom a:hover{color:#fff}.footer-action{justify-self:end}.footer-action p{font-size:13px;color:#b6c2d2;margin:0 0 14px}.footer-action .button{font-size:11px;min-height:46px}.footer-bottom{border-top:1px solid #ffffff16;padding-top:19px;display:flex;justify-content:space-between;color:#8290a4;font-size:10px}.page-hero{padding:93px 0 86px;background:radial-gradient(ellipse at 80% 30%,#e9effc 0,transparent 38%),var(--paper)}.page-hero h1{font-size:clamp(46px,5.8vw,70px);margin:20px 0 19px}.page-hero .hero-lede{font-size:16px}.about-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;min-height:390px}.about-hero-grid>div:first-child{max-width:710px}.about-hero-grid h1 span{display:inline}.about-photo-frame{justify-self:center;width:min(100%,480px);aspect-ratio:1282/804;position:relative;overflow:hidden;border-radius:16px;border:1px solid #ffffff;box-shadow:0 24px 65px #263e6a1a;background:#e5e9ef}.about-photo-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}.narrative-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.narrative-copy p{color:var(--muted);font-size:14px;line-height:1.9;margin:0 0 18px}.narrative-copy .large-copy{color:var(--ink);font-size:24px;line-height:1.5;margin-bottom:23px}.philosophy-section{background:var(--night);color:white}.philosophy-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.philosophy-grid h2{font-size:clamp(39px,5vw,58px);letter-spacing:-.06em;line-height:1.12;font-weight:550;margin:18px 0}.philosophy-grid h2 span{font-family:var(--serif);font-style:italic;color:#9eb8ff;font-weight:400}.philosophy-grid .large-copy{color:white;font-size:20px}.philosophy-grid p:not(.large-copy){font-size:13px;line-height:1.85;color:#a8b5c7;margin:0 0 24px}.about-process{align-items:start}.compact-hero{padding:104px 0 91px}.compact-hero h1{max-width:760px}.compact-hero .hero-lede{max-width:660px}.consultation-note{padding-top:20px;background:#fff}.note-box{border:1px solid var(--line);border-radius:12px;padding:45px 48px;display:flex;align-items:center;justify-content:space-between;gap:48px;background:#fbfcfe}.note-box h2{font-size:32px;margin:12px 0}.note-box p{font-size:13px}.note-box .button{flex:none}.service-hero{padding:75px 0 75px}.service-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center;min-height:425px}.breadcrumb{display:block;margin-bottom:28px;font-size:10px;color:#8b97a7}.breadcrumb span{padding:0 7px;color:#b7c0cc}.service-hero h1{max-width:720px;font-size:clamp(43px,5.5vw,66px)}.service-hero .hero-lede{max-width:590px;font-size:15px}.service-hero-art{height:310px;position:relative;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#dce6fb 0,rgba(220,230,251,.7) 42%,transparent 72%)}.service-big-icon{width:140px;height:140px;border-radius:38px;background:#fff;box-shadow:0 20px 60px #27437825;display:grid;place-items:center;color:var(--blue);font-size:65px;transform:rotate(-7deg)}.art-caption{position:absolute;right:2px;bottom:25px;padding:13px 16px;border-radius:8px;background:#fff;box-shadow:0 8px 25px #293e6215;font-size:10px;font-weight:620;line-height:1.5;color:#536176}.art-line{position:absolute;width:76%;height:1px;background:#2458d333;transform:rotate(-28deg);z-index:-1}.solution-section{background:#eef2f7}.included-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.included-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.included-list li{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--line);padding:17px 0;font-size:13px}.included-list li span{font-size:10px;color:var(--blue);letter-spacing:.12em}.step-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.step-cards li{padding:24px 20px;min-height:175px;border-right:1px solid var(--line)}.step-cards li:last-child{border:0}.step-cards li>span{font-size:10px;letter-spacing:.12em;color:var(--blue)}.step-cards h3{font-size:14px;margin:19px 0 5px}.step-cards p{font-size:11px;line-height:1.7;color:var(--muted);margin:0}.audience-section{padding-top:20px}.audience-box{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;background:#eef2f7;padding:42px 48px;border-radius:10px}.audience-box h2{font-size:28px;letter-spacing:-.05em;margin:12px 0}.audience-box p{color:var(--muted);font-size:14px;line-height:1.8;margin:0}.contact-hero{padding:72px 0 90px}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:88px;align-items:start}.contact-intro{position:sticky;top:125px;padding-top:24px}.contact-intro h1{font-size:clamp(46px,5.5vw,68px)}.contact-intro .hero-lede{font-size:14px}.contact-promise{display:flex;gap:14px;margin-top:44px;padding-top:25px;border-top:1px solid var(--line)}.promise-icon{height:32px;width:32px;flex:none;display:grid;place-items:center;border-radius:8px;background:#eaf0ff;color:var(--blue)}.contact-promise h2{font-size:13px;margin:0 0 4px}.contact-promise p{font-size:11px;line-height:1.75;color:var(--muted);margin:0}.contact-meta{display:flex;gap:20px;margin-top:35px;color:#8995a7;font-size:8px;font-weight:650;letter-spacing:.12em}.contact-form{background:#fff;border:1px solid #e2e7ef;border-radius:12px;padding:35px 36px;box-shadow:0 16px 55px #1a2d4d0b}.contact-form>h2{font-size:24px;letter-spacing:-.045em;margin:0}.form-intro{font-size:12px;color:var(--muted);margin:5px 0 24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 14px}.form-grid label{display:flex;flex-direction:column;gap:7px;font-size:10px;font-weight:650;color:#354358}.form-grid input,.form-grid textarea{width:100%;border:1px solid #dce2ea;background:#fcfdff;border-radius:6px;padding:11px 12px;font-size:12px;color:var(--ink);font-weight:450;resize:vertical;transition:border-color .15s,box-shadow .15s}.form-grid input{height:43px}.form-grid textarea{min-height:76px}.form-grid input:focus,.form-grid textarea:focus{outline:none;border-color:#87a5f4;box-shadow:0 0 0 3px #2458d31b}.form-grid [aria-invalid=true]{border-color:#d54c4c}.field-wide{grid-column:1/-1}.optional{color:#8b97a7;font-size:9px;font-weight:450;margin-left:4px}.field-error{font-size:10px;font-weight:500;color:#bd3030;min-height:0}.form-submit{width:100%;margin-top:20px}.form-disclosure{font-size:9px;color:#8793a4;line-height:1.6;margin:12px 0 0}.form-status{font-size:11px;color:#334d83;line-height:1.65;margin-top:9px}
@media(max-width:1050px){.primary-nav{gap:23px}.hero-grid{gap:28px}.hero h1{font-size:63px}.hero-art{transform:scale(.93)}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:230px}.problem-grid,.process-layout,.narrative-grid,.included-layout{gap:60px}.contact-layout{gap:50px}.footer-grid{gap:48px}}
@media(max-width:760px){.site-header{backdrop-filter:none}.container{width:min(100% - 40px,var(--container))}.nav-wrap{width:calc(100% - 40px);height:70px}.brand-logo{width:194px}.footer-brand .brand-logo{padding:3px 4px}.menu-toggle{display:flex;width:44px;height:44px;border:1px solid #dae1eb;background:#fff;border-radius:8px;flex-direction:column;align-items:center;justify-content:center;gap:5px;z-index:32}.menu-toggle span{height:1.5px;width:17px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.25px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.25px) rotate(-45deg)}.primary-nav{position:fixed;inset:70px 0 0;background:var(--paper);padding:34px 28px;display:flex;align-items:stretch;flex-direction:column;gap:0;transform:none;transition:none;z-index:31;display:none;visibility:visible}.primary-nav.is-open{transform:none;display:flex}.primary-nav>a:not(.button){padding:18px 2px;border-bottom:1px solid var(--line);font-size:17px}.primary-nav .nav-cta{margin-top:25px;min-height:52px}.hero-grid{grid-template-columns:1fr;gap:6px;padding-top:74px;padding-bottom:20px;min-height:auto}.hero-copy{max-width:620px}.hero h1{font-size:clamp(47px,11vw,67px);margin-top:21px}.hero-lede{font-size:15px;line-height:1.7}.hero-art{height:385px;transform:scale(.86);margin:-4px -25px -19px}.hero-note{margin-top:27px}.hero-bottom{font-size:8px;line-height:1.5;gap:16px}.hero-bottom span+span{display:none}.section{padding:78px 0}.problem-grid,.process-layout,.narrative-grid,.included-layout,.philosophy-grid,.contact-layout{grid-template-columns:1fr;gap:34px}.problem-grid{gap:24px}.large-copy{font-size:21px}.challenge-list{gap:12px}.outcome-grid{grid-template-columns:repeat(2,1fr)}.outcome-grid article{padding:23px 18px;min-height:190px}.outcome-grid h3{font-size:15px;margin-top:20px}.outcome-grid p{font-size:11px}.service-grid{grid-template-columns:1fr 1fr;gap:10px}.service-card{padding:18px 16px;min-height:250px}.service-card h3{font-size:13px}.service-card p{font-size:10px}.services-section .section-intro,.outcome-section .section-intro,.service-process-section .section-intro{margin-bottom:30px}.process-list li{grid-template-columns:36px 1fr;gap:11px;padding:17px 0}.cta-section{padding:63px 0}.cta-inner{display:block}.cta-inner h2{font-size:36px}.cta-inner p{font-size:12px}.cta-inner .button{margin-top:23px}.footer-grid{grid-template-columns:1fr 1fr;gap:34px 25px;padding-bottom:38px}.footer-grid>div:first-child{grid-column:1/-1}.footer-action{justify-self:start}.footer-bottom{gap:15px;font-size:9px}.page-hero{padding:68px 0}.about-hero-grid{grid-template-columns:1fr;gap:32px;min-height:auto}.about-hero-grid h1{font-size:clamp(44px,10vw,63px)}.about-photo-frame{width:min(100%,480px);justify-self:start;margin-left:0}.philosophy-grid{gap:17px}.philosophy-grid h2{font-size:43px}.compact-hero{padding:75px 0}.compact-hero h1{font-size:clamp(45px,10vw,64px)}.note-box{display:block;padding:30px 24px}.note-box h2{font-size:27px}.note-box .button{margin-top:22px}.service-hero{padding:50px 0 65px}.service-hero-grid{grid-template-columns:1fr;gap:4px;min-height:0}.service-hero h1{font-size:clamp(43px,9.5vw,62px)}.service-hero-art{height:240px;width:min(100%,380px);justify-self:center;margin-top:8px}.service-big-icon{width:110px;height:110px;border-radius:31px;font-size:52px}.art-caption{right:0;bottom:18px}.step-cards{grid-template-columns:1fr 1fr}.step-cards li{min-height:155px;border-bottom:1px solid var(--line)}.step-cards li:nth-child(2){border-right:0}.step-cards li:nth-child(3){border-bottom:0}.audience-box{grid-template-columns:1fr;gap:9px;padding:28px 23px}.audience-box h2{font-size:25px}.contact-hero{padding-top:52px}.contact-intro{position:static;padding-top:0}.contact-intro h1{font-size:clamp(46px,10vw,63px)}.contact-layout{gap:38px}.contact-promise{margin-top:27px}.contact-meta{margin-top:24px}.contact-form{padding:25px 20px}.form-grid{grid-template-columns:1fr;gap:14px}.field-wide{grid-column:auto}}
@media(max-width:390px){.container{width:calc(100% - 32px)}.hero-actions .button{width:100%}.hero-art{transform:scale(.75);margin:-19px -40px -37px}.service-grid{grid-template-columns:1fr}.service-card{min-height:205px}.service-card h3{font-size:15px}.service-card p{font-size:11px}.outcome-grid article{padding:20px 14px}.footer-grid{gap:30px 15px}.footer-action .button{padding-inline:13px;font-size:10px}.footer-bottom{display:block}.footer-bottom a{display:block;margin-top:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

body {
  font-size: 17px;
}

/* Keep Ricky's face optically centered inside the arched hero frame. */
.portrait-photo img {
  transform: scale(1.06) translateX(-2%);
  transform-origin: center center;
}

.brand {
  flex: 0 0 auto;
}

.brand-logo {
  display: block;
  width: 250px;
  height: auto;
}

.footer-brand .brand-logo {
  width: 270px;
}

.primary-nav > a:not(.button) {
  font-size: 14px;
}

.button {
  font-size: 14px;
}

.button-small {
  font-size: 13px;
}

.eyebrow {
  font-size: 12px;
}

.hero-lede {
  font-size: 18px;
}

.hero-grid {
  grid-template-columns: 1.16fr 0.84fr;
}

.hero-copy h1 {
  font-size: clamp(44px, 5vw, 64px);
  line-height: 1.02;
}

.hero-note {
  font-size: 13px;
}

.hero-bottom {
  font-size: 11px;
}

.section-intro p,
.note-box p {
  font-size: 17px;
}

.problem-content > p:not(.large-copy),
.narrative-copy p {
  font-size: 16px;
}

.challenge-list span,
.text-link {
  font-size: 14px;
}

.outcome-grid h3 {
  font-size: 19px;
}

.outcome-grid p {
  font-size: 15px;
}

.service-card h3 {
  font-size: 18px;
}

.service-card p {
  font-size: 14px;
}

.service-card .text-link {
  font-size: 13px;
}

.process-list h3 {
  font-size: 18px;
}

.process-list p,
.step-cards p {
  font-size: 14px;
}

.cta-inner p,
.philosophy-grid p:not(.large-copy),
.note-box p {
  font-size: 15px;
}

.footer-grid > div:first-child > p,
.footer-action p {
  font-size: 14px;
}

.footer-title,
.footer-bottom {
  font-size: 12px;
}

.footer-links a,
.footer-bottom a {
  font-size: 14px;
}

.breadcrumb {
  font-size: 12px;
}

.included-list li {
  font-size: 15px;
}

.step-cards h3 {
  font-size: 16px;
}

.audience-box p,
.contact-intro .hero-lede {
  font-size: 16px;
}

.contact-promise h2 {
  font-size: 15px;
}

.contact-promise p {
  font-size: 13px;
}

.contact-meta {
  font-size: 10px;
}

@media (max-width: 1050px) {
  /* A backdrop filter makes the fixed menu relative to the short header. */
  .site-header {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .nav-wrap {
    height: 70px;
  }

  .site-header .brand-logo {
    width: min(300px, calc(100vw - 112px));
  }

  .menu-toggle {
    display: flex;
    width: 44px;
    height: 44px;
    border: 1px solid #dae1eb;
    background: #fff;
    border-radius: 8px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    z-index: 32;
  }

  .menu-toggle span {
    height: 1.5px;
    width: 17px;
    background: var(--ink);
    transition: transform .2s;
  }

  .menu-toggle[aria-expanded=true] span:first-child {
    transform: translateY(3.25px) rotate(45deg);
  }

  .menu-toggle[aria-expanded=true] span:last-child {
    transform: translateY(-3.25px) rotate(-45deg);
  }

  .primary-nav {
    position: fixed;
    inset: 70px 0 0;
    background: var(--paper);
    padding: 34px 28px;
    overflow-y: auto;
    overscroll-behavior: contain;
    display: none;
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    z-index: 31;
  }

  .primary-nav.is-open {
    display: flex;
  }

  .primary-nav > a:not(.button) {
    padding: 18px 2px;
    border-bottom: 1px solid var(--line);
    font-size: 17px;
  }

  .primary-nav .nav-cta {
    margin-top: 25px;
    min-height: 52px;
  }
}

@media (max-width: 760px) {
  .site-header .brand-logo {
    width: min(300px, calc(100vw - 96px));
  }

  body {
    font-size: 16px;
  }

  .hero-lede {
    font-size: 17px;
  }

  .hero-grid {
    grid-template-columns: 1fr;
  }

  .hero-copy h1 {
    font-size: clamp(42px, 10vw, 58px);
  }

  .section-intro p,
  .note-box p,
  .narrative-copy p,
  .problem-content > p:not(.large-copy),
  .audience-box p {
    font-size: 15px;
  }

  .outcome-grid p,
  .service-card p,
  .process-list p,
  .step-cards p {
    font-size: 14px;
  }
}

.form-grid label {
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: baseline;
  column-gap: 7px;
  row-gap: 7px;
  font-size: 13px;
}

.form-grid label > input,
.form-grid label > textarea,
.form-grid label > .field-error {
  grid-column: 1 / -1;
}

.form-grid label > .optional {
  grid-column: 2;
  justify-self: start;
  margin-left: 0;
  font-size: 11px;
}

.contact-form .form-intro {
  font-size: 14px;
}

.contact-form input,
.contact-form textarea {
  font-size: 14px;
}

.contact-form .field-error,
.contact-form .form-status {
  font-size: 12px;
}

.contact-form .form-disclosure {
  font-size: 12px;
}

.contact-form .form-honeypot {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.contact-form .form-submit:disabled {
  cursor: wait;
  opacity: .65;
}

.contact-form .form-status[data-state="success"] {
  color: #136642;
}

.contact-form .form-status[data-state="warning"] {
  color: #8a5a16;
}

.contact-form .form-status[data-state="error"] {
  color: #a23434;
}

/* A welcoming light palette with concentrated navy brand moments. */
:root {
  color-scheme: light;
  --ink: #15233a;
  --ink-soft: #31445d;
  --muted: #5d6d83;
  --blue: #315dc8;
  --blue-dark: #2347a8;
  --blue-pale: #e9edff;
  --paper: #f7f6f2;
  --white: #fffdfa;
  --line: #dfe3e9;
  --night: #0b1832;
  --brand-hero: radial-gradient(ellipse at 78% 35%, #213b72 0, transparent 43%), radial-gradient(ellipse at 18% 75%, #1b2c58 0, transparent 50%), #0c1935;
}

body { background: var(--paper); color: var(--ink); }
::selection { background: #dfe5ff; color: #12213d; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline-color: #6659d6; }

.site-header { background: rgba(255, 255, 253, .94); border-bottom: 1px solid #dce2ed; box-shadow: 0 8px 25px #14243b0b; }
.brand-lockup { gap: 8px; white-space: nowrap; letter-spacing: 0; line-height: 1; }
.brand-icon { display: block; width: 52px; height: 52px; flex: none; object-fit: contain; mix-blend-mode: multiply; }
.brand-wordmark { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.brand-name { color: #10254b; font-size: 24px; font-weight: 420; letter-spacing: -.055em; }
.brand-name strong { font-weight: 780; }
.brand-descriptor { color: #234fae; font-size: 11.5px; font-weight: 800; letter-spacing: .045em; line-height: 1.2; text-transform: uppercase; }
.primary-nav > a:not(.button) { color: #3e5068; font-size: 14px; }
.primary-nav > a:not(.button):hover, .primary-nav > a[aria-current=page]:not(.button) { color: #345dc4; }
.primary-nav > a[aria-current=page]:not(.button) { text-decoration: underline; text-decoration-color: #7865dd; text-decoration-thickness: 2px; text-underline-offset: 9px; }
.skip-link { background: #14233c; color: #fff; }

.button { background: #315dc8; border-color: #315dc8; color: #fff; box-shadow: 0 8px 22px #315dc824; }
.button:hover { background: #234cae; border-color: #234cae; box-shadow: 0 12px 28px #234cae35; }
.button-outline { background: #ffffffb3; border-color: #b9c8df; color: #18304f; box-shadow: none; }
.button-outline:hover { background: #fff; border-color: #758fd6; color: #244ba8; }
.button-light { background: #fff; border-color: #fff; color: #172944; box-shadow: none; }
.button-light:hover { background: #eef0ff; border-color: #eef0ff; color: #172944; }
.eyebrow, .text-link { color: #365ec4; }
.eyebrow-dot { background: #8f7ae4; box-shadow: 0 0 0 5px #aea1fa38; }

.hero { background: var(--brand-hero); color: #f8faff; }
.hero .eyebrow { color: #b8c6ff; }
.hero h1 span { color: #c3b6ff; }
.hero-lede { color: #b9c6de; }
.hero .button-outline { background: #15284a; border-color: #697ba3; color: #f3f6ff; }
.hero .button-outline:hover { background: #20365b; border-color: #b3bcf5; color: #fff; }
.hero-note { color: #bdcbe2; }
.note-rule { background: #b2a3ff; }
.art-glow { background: radial-gradient(circle, #5979e44f 0, #51449c1d 48%, transparent 75%); }
.art-orbit { border-color: #8699e565; }
.portrait-photo { background: #172b4f; border: 1px solid #a5b8dd91; box-shadow: 0 30px 90px #050e22b3; }
.art-card { background: #fffefaef; border-color: #fff; color: #33415d; box-shadow: 0 12px 36px #02091766; }
.art-index { color: #adb9cf; }
.art-index i { color: #7085a7; }
.hero-bottom { border-color: #7f94c13b; color: #b6c4dd; }
.hero-bottom b { color: #bcb2ff; }

.problem-section, .services-section, .consultation-note, .included-section, .blog-list-section, .blog-article { background: #fffdfa; }
.outcome-section, .process-section, .solution-section, .blog-related { background: #f3f2f0; }
.section-intro p, .note-box p, .problem-content > p:not(.large-copy), .narrative-copy p { color: #607087; }
.large-copy, .narrative-copy .large-copy { color: #1d2d47; }
.challenge-list span { color: #50627a; }
.challenge-list span:before { background: #8877d6; }
.outcome-grid article:hover { background: #fffdfa; }
.outcome-grid article > span { color: #7585a0; }
.service-card { background: #fff; border-color: #dce3ee; border-radius: 14px; box-shadow: 0 6px 25px #18315408; }
.service-card:hover { background: #fff; border-color: #aab7ed; box-shadow: 0 22px 42px #1b32601c; }
.service-icon, .promise-icon { background: linear-gradient(145deg, #e4efff, #ede5ff); color: #365dc4; }
.service-path-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.service-path-card { display: flex; flex-direction: column; min-height: 315px; padding: 30px; border: 1px solid #dce3ee; border-radius: 16px; background: #fff; box-shadow: 0 8px 30px #1831540c; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.service-path-card:hover { transform: translateY(-4px); border-color: #aab7ed; box-shadow: 0 20px 42px #1b32601c; }
.service-path-number { color: #5d60b9; font-size: 11px; font-weight: 760; letter-spacing: .11em; }
.service-path-card h3 { margin: 22px 0 11px; color: #182c48; font-size: 25px; line-height: 1.18; letter-spacing: -.04em; }
.service-path-card p { margin: 0; color: #52647b; font-size: 15px; line-height: 1.65; }
.service-path-summary { margin-top: auto; padding-top: 24px; color: #62738d; font-size: 13px; font-weight: 630; }
.service-path-card .text-link { margin-top: 12px; }
.service-path-group { scroll-margin-top: 112px; }
.service-path-group + .service-path-group { margin-top: 74px; padding-top: 64px; border-top: 1px solid #dce3ee; }
.service-path-heading { display: grid; grid-template-columns: .8fr 1.2fr; align-items: end; gap: 36px; margin-bottom: 26px; }
.service-path-heading h2 { margin: 10px 0 0; color: #182c48; font-size: clamp(31px, 4vw, 46px); line-height: 1.12; letter-spacing: -.05em; }
.service-path-heading p { max-width: 590px; margin: 0; color: #52647b; font-size: 17px; line-height: 1.65; }
.service-path-group .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.service-path-group .service-card { min-height: 235px; }
.sample-roadmap-section { background: #f3f2f0; scroll-margin-top: 105px; }
.sample-roadmap-header { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 32px; }
.sample-roadmap-header .section-intro { max-width: 680px; }
.sample-roadmap-label { flex: none; border: 1px solid #cfd7e5; border-radius: 999px; padding: 9px 13px; background: #fff; color: #4d5c76; font-size: 10px; font-weight: 760; letter-spacing: .08em; }
.sample-roadmap-layout { display: grid; grid-template-columns: .86fr 1.14fr; overflow: hidden; border: 1px solid #dce3ed; border-radius: 18px; background: #fff; box-shadow: 0 22px 60px #20385a13; }
.sample-roadmap-scenario { padding: 40px; background: radial-gradient(circle at 12% 10%, #304b85 0, transparent 45%), #122445; color: #f8faff; }
.sample-roadmap-scenario .eyebrow { color: #cbbfff; }
.sample-roadmap-scenario h3 { margin: 25px 0 18px; font-size: clamp(27px, 3vw, 37px); line-height: 1.18; letter-spacing: -.045em; }
.sample-roadmap-scenario > p { margin: 0; color: #c9d5e9; font-size: 16px; line-height: 1.7; }
.sample-roadmap-deliverable { display: grid; gap: 7px; margin-top: 38px; padding-top: 25px; border-top: 1px solid #ffffff39; }
.sample-roadmap-deliverable strong { color: #fff; font-size: 14px; }
.sample-roadmap-deliverable span { color: #c9d5e9; font-size: 14px; line-height: 1.6; }
.sample-roadmap-priorities { list-style: none; margin: 0; padding: 20px 38px; }
.sample-roadmap-priorities li { display: grid; grid-template-columns: 32px 1fr; gap: 15px; padding: 19px 0; border-bottom: 1px solid #e1e6ef; }
.sample-roadmap-priorities li:last-child { border-bottom: 0; }
.sample-roadmap-priorities li > span { padding-top: 3px; color: #675bbd; font-size: 11px; font-weight: 760; letter-spacing: .08em; }
.sample-roadmap-priorities h4 { margin: 0 0 5px; color: #182c48; font-size: 17px; line-height: 1.3; }
.sample-roadmap-priorities p { margin: 0; color: #586a82; font-size: 14px; line-height: 1.6; }
.sample-roadmap-action { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 23px; }
.sample-roadmap-action p { margin: 0; color: #65748b; font-size: 13px; line-height: 1.55; }
.sample-roadmap-action .text-link { flex: none; font-size: 14px; }
.process-list, .process-list li { border-color: #cfd8e5; }
.process-list li > span, .included-list li span, .step-cards li > span { color: #665ac9; }
.cta-section { background: radial-gradient(circle at 81% 15%, #293e78 0, transparent 38%), #0d1c3c; border-top: 1px solid #486399; }
.cta-inner p { color: #c7d3e9; }
.eyebrow-light { color: #c2b6ff; }

.site-footer { background: #071329; }
.footer-brand { display: inline-flex; align-items: center; width: max-content; height: auto; min-height: 62px; position: static; overflow: visible; flex: 0 0 auto; padding: 6px 12px 6px 7px; background: #fff; border-radius: 9px; box-shadow: 0 8px 24px #02091755; }
.footer-brand .brand-icon { width: 48px; height: 48px; }
.footer-brand .brand-name { font-size: 22px; }
.footer-brand .brand-descriptor { font-size: 10.5px; }
.footer-grid > div:first-child > p, .footer-action p { color: #b8c7df; }
.footer-title { color: #9eafcb; }
.footer-links a, .footer-bottom a { color: #d0d9e8; }
.footer-bottom { color: #9cadc8; }

.page-hero, .proof-page .page-hero, .blog-hero, .blog-article-hero { background: var(--brand-hero); color: #f8faff; border-bottom: 1px solid #425989; }
.page-hero .eyebrow, .blog-hero .eyebrow, .blog-article-hero .eyebrow { color: #b8c6ff; }
.page-hero h1 span, .blog-hero h1 span { color: #c3b6ff; }
.page-hero .hero-lede { color: #c7d3e9; }
.about-photo-frame { border-color: #fff; box-shadow: 0 24px 65px #233a6227; }
.philosophy-section { background: radial-gradient(circle at 14% 10%, #253d72 0, transparent 44%), #10213e; }
.philosophy-grid h2 span { color: #c7bbff; }
.philosophy-grid p:not(.large-copy) { color: #c4d0e2; }
.note-box, .audience-box { background: #fff; border: 1px solid #dbe2ec; border-radius: 16px; box-shadow: 0 14px 48px #2138590d; }
.service-hero-art { background: radial-gradient(circle, #637bd454 0, #8872dc25 45%, transparent 73%); }
.service-big-icon { background: #fff; color: #5759bc; box-shadow: 0 20px 60px #27437825; }
.art-caption { background: #fff; color: #4c5e77; }
.art-line { background: #816fe04d; }
.page-hero .breadcrumb { color: #c7d3e9; }
.page-hero .breadcrumb span { color: #a6b4d2; }
.included-list, .included-list li, .step-cards, .step-cards li { border-color: #d9e0e9; }
.service-example-section { background: #f8f7f4; border-block: 1px solid #e4e6ed; }
.service-example-heading { margin-bottom: 30px; }
.service-example-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.service-example-grid article { padding: 32px; border: 1px solid #dce3ed; border-radius: 16px; background: #fff; }
.service-example-grid p { margin: 17px 0 0; color: #43546b; font-size: 17px; line-height: 1.7; }
.service-question { display: grid; grid-template-columns: 1fr 1.5fr; gap: 28px; margin-top: 18px; padding: 26px 32px; border-radius: 16px; background: #eaeaf8; }
.service-question h3 { margin: 0; color: #182c48; font-size: 21px; line-height: 1.3; }
.service-question p { margin: 0; color: #43546b; font-size: 16px; line-height: 1.65; }

.contact-promise { border-color: #6c80ad; }
.contact-promise p { color: #c7d3e9; }
.form-intro { color: #65748b; }
.contact-promise .text-link { display: inline-flex; margin-top: 12px; font-size: 14px; }
.contact-meta { color: #b8c6de; }
.contact-form { background: #fff; border-color: #d9e2ec; border-radius: 16px; box-shadow: 0 24px 70px #20365715; }
.page-hero .contact-form { color: #15233a; }
.form-grid label { color: #32445e; }
.form-grid input, .form-grid textarea { background: #fcfdff; border-color: #cfd8e5; color: #18283f; }
.form-grid input:focus, .form-grid textarea:focus { border-color: #7866d5; box-shadow: 0 0 0 3px #7866d52a; }
.optional, .form-disclosure { color: #6b7890; }

.blog-hero p, .blog-article-hero .blog-article-header > p { color: #c7d3e9; }
.blog-list-heading > p, .blog-card p { color: #65748b; }
.blog-hero-mark { background: linear-gradient(145deg, #2b4c92, #315ac0 65%, #7266ca); box-shadow: 0 24px 60px #02091766; }
.blog-article-hero .blog-breadcrumb { color: #c7d3e9; }
.blog-article-hero .blog-breadcrumb a, .blog-article-hero .blog-author a { color: #c3b6ff; }
.blog-article-hero .blog-author small { color: #b8c6de; }
.blog-article-hero .blog-article-header { color: #f8faff; }
.blog-categories a { background: #fff; border-color: #d7deec; color: #55657c; }
.blog-categories a:hover, .blog-categories a[aria-current="page"] { color: #354fb2; border-color: #aab5ed; background: #eeefff; }
.blog-card { background: #fff; border-color: #dde4ed; box-shadow: 0 6px 25px #18315408; }
.blog-card:hover { border-color: #a6b4e9; box-shadow: 0 18px 42px #20396c1b; }
.blog-card-category, .blog-card-link, .blog-aside > span, .blog-takeaway > span { color: #4c59bf; }
.blog-card-number { color: #75859b; }
.blog-article-band { background: linear-gradient(110deg, #142b50, #414b9b); color: #edf1ff; }
.blog-breadcrumb, .blog-aside li { color: #62738c; }
.blog-prose p, .blog-prose ul { color: #43546b; }
.blog-takeaway { background: #efefff; border-color: #7266d5; }

.proof-empty, .proof-steps article, .proof-items article { background: #fff; border-color: #dce3ed; box-shadow: 0 18px 55px #20385a0d; }
.proof-empty p, .proof-steps p, .proof-items p { color: #65748b; }

@media (max-width: 1050px) {
  .menu-toggle { background: #fff; border-color: #cdd7e6; }
  .primary-nav { background: #fffdfa; border-top: 1px solid #e2e6ee; box-shadow: 0 20px 40px #13294c1a; }
  .hero-grid { grid-template-columns: 1fr; gap: 0; padding-top: 72px; }
  .hero-copy { max-width: 760px; }
  .hero-art { width: min(100%, 650px); height: 440px; margin-inline: auto; transform: none; }
  .hero h1 { max-width: 760px; }
}
@media (max-width: 900px) {
  .service-example-grid, .service-question { grid-template-columns: 1fr; }
  .about-hero-grid, .service-hero-grid, .problem-grid, .process-layout, .narrative-grid, .included-layout, .contact-layout { grid-template-columns: 1fr; gap: 36px; }
  .contact-intro { position: static; }
  .service-path-grid { grid-template-columns: 1fr; }
  .service-path-card { min-height: 0; }
  .service-path-heading { grid-template-columns: 1fr; gap: 12px; }
  .sample-roadmap-layout { grid-template-columns: 1fr; }
  .sample-roadmap-header { display: block; }
  .sample-roadmap-label { display: inline-block; margin-top: 20px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
  .footer-action { justify-self: start; }
}
@media (max-width: 760px) {
  .site-header .brand-icon { width: 46px; height: 46px; }
  .site-header .brand-name { font-size: 21px; }
  .site-header .brand-descriptor { font-size: 10px; }
  .footer-brand { min-height: 56px; padding: 5px 10px 5px 6px; }
  .footer-brand .brand-icon { width: 44px; height: 44px; }
  .footer-brand .brand-name { font-size: 20px; }
  .footer-brand .brand-descriptor { font-size: 9.5px; }
  .service-path-card { padding: 25px; }
  .service-path-group + .service-path-group { margin-top: 55px; padding-top: 48px; }
  .service-path-group .service-grid { grid-template-columns: 1fr; }
  .service-path-group .service-card { min-height: 0; }
  .sample-roadmap-scenario { padding: 30px 25px; }
  .sample-roadmap-priorities { padding: 12px 25px; }
  .sample-roadmap-action { display: block; }
  .sample-roadmap-action .text-link { margin-top: 14px; }
  .hero-art { height: 385px; transform: scale(.86); margin: -4px auto -19px; }
}
@media (max-width: 390px) {
  .site-header .brand-icon { width: 40px; height: 40px; }
  .site-header .brand-name { font-size: 18px; }
  .site-header .brand-descriptor { font-size: 9.2px; }
  .hero-art { transform: scale(.75); margin-block: -19px -37px; }
}
