/* Dex: an approachable planning partner, with the original Valkrest accents. */
:root{--paper:#fffefa}
.header{background:#fffefaf2}
.button,.nav-cta{border-radius:5px}
.hero{background:#fffefa;display:block}
.hero-layout{display:grid;grid-template-columns:1.12fr 1fr;gap:25px;align-items:center;padding-top:28px}
.hero-inner{padding:24px 0 15px;z-index:2;order:initial}
.hero h1{font-size:clamp(60px,5.75vw,88px);line-height:1.075;letter-spacing:-4px;max-width:none;margin-top:25px;font-weight:550}
.hero h1>span{color:#ce3b0b}
.hero-copy{max-width:455px;font-size:16px;line-height:1.8;margin-top:25px}
.hero-services{margin-top:20px;max-width:510px}
.hero-services>a{font-size:11px;gap:9px;margin-right:14px;padding-right:14px}
.hero-actions{margin-top:24px;gap:24px;flex-direction:row;align-items:center}
.hero-actions .button{font-size:12px;padding:15px 20px;gap:25px}
.hero-actions .text-link{font-size:12px;gap:15px}
.hero-reassurance{font-size:11px;color:#526d78;margin-top:15px}
.hero-foot{display:flex;margin-top:20px;border-color:#d7e1e5;color:#526d78;padding:21px 0;font-size:8px;letter-spacing:1.1px}
.hero-stage{position:relative;height:620px;align-self:center;isolation:isolate;pointer-events:none}


.hero-art{position:absolute;inset:55px -23px 23px 0;width:auto;max-width:none;height:auto;opacity:1;z-index:1;margin:0}
.hero-art>img{width:100%;height:100%;max-height:none;object-fit:contain;padding:0;filter:none;mix-blend-mode:normal;object-position:center}
.hero-art:after{display:none}
.intro{background:#fffefa}
.expertise{background:#edf3f7;border-color:#dde6ec}
.service-layout,.service-tabs,.service-tabs button{border-color:#bdceda}
.service-panel{background:#fffefa;border-color:#d5e1e8;border-radius:10px;box-shadow:8px 8px 0 #dce8ef}
.service-panel>p,.service-followthrough,.section-heading>p{color:#526d78}
.service-tabs button small,.service-no{color:#526d78}
.founder{background:#e3edf3;border-color:#d1dfe8}
.founder-photo{border-radius:10px}
.founder-content>p{color:#405f70}
.founder-content .eyebrow.light{color:#4a6676}
.method{background:#fffefa}
.steps article{border-color:#c6d7e2}
.steps p{color:#526d78}
.insights{background:#fffefa}
.insight-art{border-radius:10px}
.art-one{background:#e2edf5}
.art-three{background:#e1ecf4}
.cross-dot{box-shadow:0 0 0 24px #e1ecf4,0 0 0 25px #9bb8cb}
.faq{background:#eff3f6;border-color:#dde5eb}
.faq-list,.faq-list details{border-color:#c4d4df}
.faq-list details>p{color:#526d78}
.contact .button{border-radius:5px}
@media(min-width:1600px){.hero-layout{gap:45px;padding-top:40px}.hero h1{font-size:86px}.hero-inner{padding-top:18px}.hero-stage{height:650px}.hero-foot{margin-top:10px}}
@media(max-width:1150px){.hero-layout{gap:12px;grid-template-columns:1.15fr 1fr}.hero h1{font-size:66px;letter-spacing:-3.5px}.hero-stage{height:570px}.hero-copy{font-size:15px;max-width:400px}.hero-services>a{font-size:10px;gap:7px;margin-right:9px;padding-right:9px}.hero-actions{gap:15px;flex-wrap:wrap}.hero-actions .button{font-size:11px;padding:14px 17px;gap:18px}.hero-actions .text-link{font-size:11px;gap:12px}.hero-art{inset:70px -20px 35px -12px}}
@media(max-width:900px){.hero-layout{grid-template-columns:1.15fr 1fr;padding-top:25px;gap:0}.hero h1{font-size:clamp(47px,6vw,54px);letter-spacing:-2.8px}.hero-stage{height:505px}.hero-copy{font-size:14px;max-width:350px}.hero .eyebrow{font-size:8px;letter-spacing:1px}.hero-services>a{font-size:9px;gap:6px;margin-right:8px;padding-right:8px}.hero-services{max-width:100%}.hero-actions{flex-direction:column;align-items:flex-start;gap:5px;margin-top:18px}.hero-reassurance{font-size:10px;margin-top:10px}.hero-art{inset:75px -22px 40px -15px;width:auto;height:auto;opacity:1}.hero-foot{font-size:7px;letter-spacing:.7px;margin-top:10px}.hero-foot>span{max-width:350px}}
@media(max-width:760px){.hero-layout{display:flex;flex-direction:column;align-items:stretch;padding-top:0;gap:0}.hero-inner{padding-top:34px;padding-bottom:0}.hero h1{font-size:clamp(42px,10.8vw,66px);letter-spacing:-2.2px;line-height:1.075;margin-top:22px}.hero-copy{max-width:440px;font-size:14px;line-height:1.75;margin-top:21px}.hero .eyebrow{font-size:7.5px;max-width:none;letter-spacing:1.2px}.hero-services{margin-top:15px;max-width:500px}.hero-services>a{font-size:10px;gap:7px;margin-right:10px;padding-right:10px;min-height:34px}.hero-services>a:last-child{padding-right:0;margin-right:0}.hero-actions{margin-top:18px;gap:8px}.hero-actions .button{font-size:12px;min-height:52px;padding:14px 18px;gap:22px}.hero-actions .text-link{font-size:11px}.hero-reassurance{font-size:10px;margin-top:12px}.hero-stage{width:100%;max-width:470px;height:345px;margin:14px auto 5px}.hero-art{inset:0 0 0 20px;width:auto;height:auto;position:absolute;max-width:none;margin:0}.hero-art>img{max-height:none;padding:0;filter:none}.hero-foot{display:none}.service-panel{box-shadow:5px 5px 0 #dce8ef}}
@media(max-width:370px){.hero h1{font-size:39px}.hero-services>a{font-size:9px;gap:5px;margin-right:8px;padding-right:8px}.hero-stage{height:310px}.hero-reassurance{font-size:9px}.hero-actions .button{font-size:11px}}

/* Final composition and contact routes. The header scrolls with the page. */
html{scroll-padding-top:24px}
.header{position:relative;top:auto}
.hero-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;height:auto;min-height:575px;padding:12px 0;pointer-events:auto}
.scout-intro{text-align:center;max-width:315px}
.scout-intro h2{font-size:27px;line-height:1.25;letter-spacing:-.8px;color:#123b60;margin:0 0 8px}
.scout-intro p{font-size:13px;line-height:1.65;color:#526d78}
.hero-art{position:relative;inset:auto;order:0;max-width:365px;width:100%;height:365px;margin:0;flex-shrink:0}
.hero-art>img{width:100%;height:100%;padding:0;max-height:none}
.scout-cta{font-size:12px;min-height:48px;gap:30px;pointer-events:auto}
.home-contact .contact-grid{align-items:center}
.home-contact h2{margin-bottom:0}
.contact-invitation>p{max-width:390px;margin:0 0 24px}
.contact-invitation .button{width:auto;min-width:240px;gap:40px;margin:0 0 19px}
.contact-invitation .contact-phone{display:block;font-size:13px}
.contact-page-section{padding-top:75px;padding-bottom:85px;min-height:calc(100vh - 88px)}
.contact-page h1{font-size:clamp(46px,5vw,68px);letter-spacing:-3px;line-height:1.1;margin:26px 0;color:#fff}
.contact-page h1>span{color:#fff}
.contact-page form h2{font-size:23px;line-height:1.3;letter-spacing:-.8px;margin:0 0 25px}
.contact-person{display:flex;align-items:center;gap:16px;margin:29px 0 5px}
.contact-person img{width:72px;height:88px;object-fit:cover;object-position:center 22%;border-radius:6px}
.contact-person strong{display:block;font-size:14px;font-weight:500;color:#fff}
.contact-person span{display:block;font-size:11px;color:#d5e3f0;margin-top:3px}
.contact-page .contact-phone{display:inline-block;padding:8px 0}
.contact-page footer{border-top:1px solid #557590}
@media(max-width:1150px){.hero-stage{min-height:540px}.hero-art{height:330px;max-width:330px}.scout-intro{max-width:280px}}
@media(max-width:900px){.hero-stage{min-height:475px;padding:10px 0;gap:13px}.hero-art{height:275px;max-width:275px}.scout-intro{max-width:240px}.scout-intro h2{font-size:24px}.scout-intro p{font-size:12px}.scout-cta{font-size:11px;padding:12px 17px;min-height:46px;gap:20px}.contact-page h1{font-size:47px;letter-spacing:-2px}.contact-page form h2{font-size:21px}}
@media(max-width:760px){.hero-stage{min-height:0;height:auto;margin:34px auto 28px;gap:12px;padding:0}.hero-art{height:240px;max-width:270px;position:relative;inset:auto;width:100%;margin:0}.scout-intro{max-width:280px}.scout-intro h2{font-size:23px;margin-bottom:6px}.scout-intro p{font-size:12px}.scout-cta{font-size:12px;min-height:48px;gap:25px}.home-contact .contact-grid{gap:28px}.home-contact h2{font-size:38px;line-height:1.17}.contact-invitation .button{min-width:220px}.contact-page-section{padding:48px 0 60px;min-height:0}.contact-page h1{font-size:44px;line-height:1.14;margin-top:22px}.contact-page form h2{font-size:22px}.contact-page .contact-grid{grid-template-columns:1fr;gap:38px}.contact-page .contact-email{font-size:21px}.contact-person{margin-top:24px}.contact-person img{width:64px;height:78px}.contact-page .field-row{grid-template-columns:1fr}.contact-page .contact-phone{padding:8px 0}.contact-page .contact h2{letter-spacing:-.8px}}

/* Shared type scale: keep section labels and supporting text readable. */
:root{--type-label:14px;--type-body:16px;--type-small:13px;--type-button:16px;--type-section:clamp(36px,4.1vw,58px)}
.eyebrow,.hero .eyebrow,.panel-top .eyebrow,.article-body .eyebrow{font-size:var(--type-label);font-weight:600;line-height:1.5;letter-spacing:.065em;gap:10px;max-width:none}
.hero .eyebrow,.intro .eyebrow,.expertise .eyebrow,.founder .eyebrow,.method .eyebrow,.insights .eyebrow,.faq .eyebrow{color:#38576b}
.tiny-square,.dot{width:7px;height:7px;flex-shrink:0}
.hero-copy,.intro-text p,.section-heading>p,.service-panel>p,.founder-content>p,.steps p,.faq-list details>p,.contact-grid>div>p,.article-body p,.article-body ul{font-size:var(--type-body);line-height:1.75}
.intro h2,.section-heading h2,.founder-content h2,.faq h2,.home-contact h2{font-size:var(--type-section);line-height:1.16;letter-spacing:-2px}
.service-panel h3,.steps h3,.insight-card h3{font-size:26px;line-height:1.3;letter-spacing:-.7px}
.service-tabs button>span:nth-child(2){font-size:22px;line-height:1.4}
.service-tabs button small,.service-followthrough,.hero-reassurance,.scout-intro p,.contact-person span{font-size:var(--type-small);line-height:1.65}
.scout-intro p{font-size:14px}
.service-no,.step-top{font-size:var(--type-small)}
.deliverables{font-size:14px;line-height:1.65;gap:9px}
.button,.hero-actions .button,.scout-cta,.text-link,.hero-actions .text-link,.founder-content .text-link,.panel-cta,.read-link{font-size:var(--type-button);line-height:1.5}
.button,.hero-actions .button{max-width:100%}
.hero-actions{flex-wrap:wrap;gap:16px 24px}
.hero-services{gap:6px 18px;max-width:100%}
.hero-services>a{font-size:13px;line-height:1.5;min-height:38px;border:0;margin:0;padding:0;gap:8px}
.hero-services>a>span{font-size:16px}
.hero-foot{font-size:12px;line-height:1.6;letter-spacing:.035em;gap:30px}
.hero-foot>span{max-width:none}
.photo-caption{font-size:12px;line-height:1.5;letter-spacing:.055em;flex-wrap:wrap}
.insight-art.dex-scene{height:auto;aspect-ratio:3/2;background:#e7eff5;border:1px solid #dce6ed;transition:box-shadow .2s ease}
.dex-scene img{width:100%;height:100%;object-fit:contain}
.insight-card:hover .dex-scene{filter:none;box-shadow:0 8px 20px #123b6012}
.insight-card:focus-visible .dex-scene{box-shadow:0 0 0 2px #123b60}
.insight-card{display:flex;flex-direction:column;align-items:stretch}
.insight-card .read-link{margin-top:auto;padding-top:28px}
.article-illustration{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:10px;margin:26px 0 30px;border:1px solid #dce6ed}
.art-label,.insight-meta{font-size:12px;line-height:1.5;letter-spacing:.04em}
.insight-meta{flex-wrap:wrap;gap:6px 12px}
.art-label{color:#23495e}
.faq-list summary{font-size:var(--type-body);line-height:1.6}
.contact form label{font-size:14px;line-height:1.5}
.contact input,.contact select,.contact textarea{font-size:16px;line-height:1.6}
.form-note,.form-status{font-size:12px;line-height:1.7;max-width:100%}
.contact-person strong{font-size:15px}
.contact-invitation .contact-phone,.contact-phone{font-size:14px}
.footer-top>p,.footer-top>a:last-child{font-size:14px;line-height:1.6}
.footer-bottom>p,.footer-bottom>div{font-size:12px;line-height:1.7}
@media(max-width:900px){.hero .eyebrow{font-size:var(--type-label)}.hero-foot{font-size:12px;gap:20px}.hero-foot>span{max-width:56%}.hero-services{gap:5px 16px}.hero-services>a{font-size:13px}.hero-actions .button{gap:18px;padding:14px 17px}.service-tabs button>span:nth-child(2){font-size:19px}.service-panel{padding:25px}.panel-top{gap:16px;align-items:flex-start}.panel-symbol,.big-symbol{flex-shrink:0}}
@media(max-width:760px){:root{--type-label:13px;--type-body:15px;--type-small:13px;--type-button:15px;--type-section:clamp(32px,8.5vw,40px)}.hero .eyebrow{letter-spacing:.04em}.hero-services>a{font-size:12px;gap:6px;min-height:36px}.hero-services>a>span{font-size:15px}.hero-actions{gap:10px}.hero-actions .button{gap:16px;padding:14px 17px}.hero-reassurance{font-size:13px}.scout-intro p{font-size:14px}.service-tabs button>span:nth-child(2){font-size:19px}.service-panel h3,.steps h3,.insight-card h3{font-size:25px}.photo-caption{font-size:12px;padding:15px;gap:6px 14px}.contact form label{font-size:14px}.insight-meta{display:flex}.footer-bottom>div{flex-wrap:wrap;gap:14px 20px}}

/* A clearer opening for new ventures and established businesses alike. */
.hero{background:linear-gradient(112deg,#123b60 0%,#123b60 52%,#376f8f 100%);color:#fff}
.hero-layout{grid-template-columns:1.3fr .9fr;gap:30px;padding-top:36px;padding-bottom:20px}
.hero h1{font-size:clamp(48px,5.1vw,76px);line-height:1.08;letter-spacing:-3px}
.hero h1>span{color:#c4e4f5}
.hero .eyebrow,.hero-services>a,.hero .text-link{color:#fff}
.hero-copy{color:#e0edf5;max-width:550px}
.hero-reassurance{color:#e0edf5;max-width:500px}
.hero-actions .button{background:#fff;color:#123b60;border-color:#fff}
.hero-actions .button:hover{background:#e6f1f8;border-color:#e6f1f8}
.hero .text-link{border-color:#8eafc6}
.hero-stage{min-height:520px}
.scout-intro h2{color:#fff}
.scout-intro p{color:#e0edf5}
.hero .scout-cta{background:transparent;color:#fff;border:1px solid #a6c4d8}
.hero .scout-cta:hover{background:#ffffff12}
.hero-foot{color:#e0edf5;border-color:#ffffff35}
@media(max-width:1150px){.hero-layout{gap:20px}.hero-stage{min-height:500px}.hero h1{font-size:clamp(48px,5.6vw,64px);letter-spacing:-2.5px}}
@media(max-width:900px){.hero-layout{grid-template-columns:1.3fr .9fr;gap:16px;padding-top:24px}.hero h1{font-size:clamp(43px,5.6vw,50px);letter-spacing:-2px}.hero-stage{min-height:440px}}
@media(max-width:760px){.hero{background:linear-gradient(165deg,#123b60 0%,#123b60 48%,#376f8f 100%)}.hero-layout{display:flex;padding-top:0;padding-bottom:10px;gap:0}.hero h1{font-size:clamp(39px,9.7vw,64px);letter-spacing:-1.8px}.hero-copy{max-width:500px}.hero-stage{min-height:0;margin-top:38px}.hero .scout-intro{max-width:300px}.hero-actions .button{min-height:54px}.article-illustration{margin:24px 0}.insight-card .read-link{padding-top:22px}}
@media(max-width:370px){.hero h1{font-size:35px;letter-spacing:-1.6px}}

/* Dex's deeper orange gives white action text a 4.93:1 contrast ratio. */
:root{--action-orange:#c7440a;--action-orange-hover:#af3708}
.button,.button.dark,.button.orange,.nav-cta,.hero-actions .button,.hero .scout-cta,.contact .button.dark,.dialog-close,.menu-toggle,
.text-link,.hero .text-link,.founder .text-link,.panel-cta,.read-link{
 background:var(--action-orange);color:#fff;border:1px solid var(--action-orange);border-radius:5px;font-weight:600;
}
.button:hover,.button.dark:hover,.button.orange:hover,.nav-cta:hover,.hero-actions .button:hover,.hero .scout-cta:hover,.contact .button.dark:hover,.dialog-close:hover,.menu-toggle:hover,
.text-link:hover,.hero .text-link:hover,.founder .text-link:hover,.panel-cta:hover,.insight-card:hover .read-link{
 background:var(--action-orange-hover);color:#fff;border-color:var(--action-orange-hover);
}
.text-link,.hero-actions .text-link,.founder-content .text-link,.panel-cta{padding:13px 18px;min-height:48px}
.insight-card .read-link{padding:13px 18px;min-height:48px}
.insight-card h3{margin-bottom:24px}
.hero .button:focus-visible,.hero .text-link:focus-visible{outline-color:#fff}
.menu-toggle span{background:#fff}
.service-tabs button[aria-selected=true]{background:var(--action-orange);color:#fff;border-color:var(--action-orange);border-radius:5px;padding-left:14px;padding-right:14px}
.service-tabs button[aria-selected=true] .service-no,.service-tabs button[aria-selected=true] .service-arrow,.service-tabs button[aria-selected=true] small{color:#fff}
.service-tabs button[aria-selected=true]:hover{background:var(--action-orange-hover);border-color:var(--action-orange-hover)}

/* Blue business opening, followed by Dex in a separate white introduction. */
.hero{background:#123b60}
.landing-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:72px;align-items:start;padding-top:70px;padding-bottom:55px}
.landing-heading h1{font-size:clamp(48px,4.9vw,72px);letter-spacing:-2.8px;margin-top:24px}
.landing-details .hero-copy{margin-top:0;max-width:510px;font-size:18px;line-height:1.8}
.landing-details .hero-services{margin-top:24px}
.landing-details .hero-actions{margin-top:26px}
.hero-foot{margin-top:0}
.dex-introduction{background:#fff;padding:76px 0}
.dex-intro-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center}
.dex-intro-copy h2{font-size:clamp(34px,3.3vw,48px);line-height:1.2;letter-spacing:-1.8px;margin-top:22px}
.dex-intro-copy .intro-text{grid-template-columns:1fr;gap:18px;margin-top:26px;max-width:650px}
.dex-stage{display:flex;flex-direction:column;align-items:center;gap:18px;min-width:0}
.dex-stage .scout-intro{max-width:320px}
.dex-stage .scout-intro h2{color:#123b60;font-size:27px;line-height:1.25;letter-spacing:-.8px;margin:0 0 8px}
.dex-stage .scout-intro p{color:#526d78;font-size:14px;line-height:1.65}
.dex-stage .hero-art{order:0}
@media(max-width:1150px){.landing-layout{gap:40px;padding-top:55px;padding-bottom:45px}.landing-heading h1{font-size:clamp(45px,5.3vw,60px)}.landing-details .hero-copy{font-size:16px}.dex-intro-grid{gap:45px;grid-template-columns:1.2fr .8fr}}
@media(max-width:900px){.landing-layout{gap:30px}.landing-heading h1{font-size:clamp(40px,5.2vw,47px);letter-spacing:-2px}.dex-intro-grid{gap:32px}.dex-stage .scout-intro h2{font-size:24px}.dex-intro-copy h2{font-size:34px}}
@media(max-width:760px){.landing-layout{display:block;padding-top:38px;padding-bottom:38px}.landing-heading h1{font-size:clamp(39px,9.7vw,64px);letter-spacing:-1.8px;margin-top:22px}.landing-details .hero-copy{font-size:15px;line-height:1.75;margin-top:25px}.landing-details .hero-services{margin-top:15px}.landing-details .hero-actions{margin-top:22px}.dex-introduction{padding:40px 0 50px}.dex-intro-grid{display:flex;flex-direction:column;gap:42px;align-items:stretch}.dex-stage{order:-1;gap:12px}.dex-stage .scout-intro{max-width:300px}.dex-stage .scout-intro h2{font-size:24px}.dex-intro-copy{border-top:1px solid #dce6ed;padding-top:35px}.dex-intro-copy h2{font-size:32px;letter-spacing:-1.4px;margin-top:20px}.dex-intro-copy .intro-text{margin-top:24px;gap:17px}}
@media(max-width:370px){.landing-heading h1{font-size:35px;letter-spacing:-1.6px}}

/* Larger labels across the service choices, including the orange active choice. */
.service-tabs button small,.service-tabs .service-no{font-size:14px}

/* Section rhythm: blue, white and clearly separated blue-grey surfaces. */
:root{--surface-white:#fff;--surface-mist:#e8f0f6;--surface-blue-grey:#d7e5ef;--surface-blue:#123b60;--surface-deep:#0b2943}
.header{background:var(--surface-white)}
.hero,.home-contact{background:var(--surface-blue)}
.dex-introduction,.expertise,.insights{background:var(--surface-white)}.founder{background:var(--surface-blue-grey);border-color:#bdcfdd}
.expertise{border-color:#d2e0ea}
.service-panel{background:#f2f6fa;border-color:#c6d8e5;box-shadow:8px 8px 0 #e0eaf2}
.faq{background:var(--surface-mist);border-color:#cbdce8}
.faq-list,.faq-list details{border-color:#b7cbd9}
footer{background:var(--surface-deep);border-top:1px solid #426581}
@media(max-width:760px){.service-panel{box-shadow:5px 5px 0 #e0eaf2}}
