/* T/FORM first-pass visual prototype. Brand hex values are provisional until final vector artwork arrives. */
:root{--navy:#101e31;--ink:#152940;--muted:#667387;--blue:#2d8efa;--line:#e4e9ee;--white:#fff;--shell:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82px}body{margin:0;color:var(--ink);background:#fff;font-family:Karla,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.shell{width:min(calc(100% - 104px),var(--shell));margin-inline:auto}.navy{background:var(--navy);color:#fff}.skip-link{position:absolute;z-index:99;top:-60px;left:15px;background:white;color:black;padding:12px}.skip-link:focus{top:12px}.site-header{position:fixed;top:0;left:0;right:0;height:78px;z-index:10;background:rgba(16,30,49,.94);border-bottom:1px solid rgba(255,255,255,.11);backdrop-filter:blur(18px)}.nav{display:flex;align-items:center;justify-content:space-between;height:100%}.wordmark{font-size:28px;font-weight:800;letter-spacing:-1.8px;color:#fff;display:inline-flex;align-items:baseline}.wordmark .slash,.footer-brand span{color:var(--blue);padding:0 2px}.logo-indicator{font-size:11px;font-weight:400;color:#9aaabc;align-self:flex-start;margin-left:3px}.navlinks{display:flex;align-items:center;gap:36px;color:#d8e0e9;font-size:14px;font-weight:700}.navlinks>a:hover{color:#fff}.nav-contact{border:1px solid rgba(255,255,255,.4);border-radius:3px;padding:12px 17px}.nav-contact span{margin-left:17px;color:#6ab5ff}.hero{min-height:100svh;position:relative;overflow:hidden}.hero-inside{min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;padding-top:clamp(155px,22vh,225px);padding-bottom:33px}.hero-content{position:relative;z-index:1;max-width:1020px}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;color:#85bfff;display:flex;align-items:center;gap:15px}.eyebrow-line{display:inline-block;width:35px;height:2px;background:var(--blue)}h1,h2,h3,p{margin-top:0}h1{font-weight:700;font-size:clamp(54px,7.5vw,112px);letter-spacing:-.065em;line-height:.99;margin:36px 0 35px}h1 em{font-style:normal;color:#a9b9ca}.blue-dot{color:var(--blue)}.hero-statement{font-size:clamp(18px,2vw,25px);max-width:730px;line-height:1.38;font-weight:600;color:#f1f5fa;margin-bottom:16px}.hero-support{font-size:16px;max-width:680px;line-height:1.6;color:#b7c6d6}.explore{margin-top:25px;display:inline-flex;gap:22px;color:#fff;font-size:14px;font-weight:700;padding-bottom:13px;border-bottom:1px solid #6c90b8}.explore span{color:var(--blue)}.hero-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:80px;align-items:center;color:#91a4b8;font-size:10px;font-weight:700;letter-spacing:.15em}.hero-bottom a{color:#e4ebf3}.hero-bottom a span{font-size:18px;margin-left:8px;color:#6ab5ff}.hero-rail{position:absolute;right:max(30px,calc((100vw - var(--shell))/2));top:20%;height:42%;width:1px;background:linear-gradient(transparent,rgba(69,138,209,.25),transparent);pointer-events:none}.section{padding:130px 0}.section-index{display:block;letter-spacing:.16em;color:#2384e7;font-weight:800;font-size:11px;white-space:nowrap}.section-heading{display:grid;grid-template-columns:1fr 2.1fr;gap:35px;margin-bottom:80px}.section-heading h2,.about h2{font-size:clamp(40px,5.3vw,75px);line-height:1.06;letter-spacing:-.055em;margin-bottom:26px;font-weight:700}.h2-muted{color:#8d9aaa}.section-heading p{max-width:640px;color:#627083;font-size:18px;line-height:1.55;margin:0}.service{display:grid;grid-template-columns:1fr 2.1fr 45px;gap:35px;padding:39px 0 43px;border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}.service-num{font-size:13px;font-weight:800;color:#338be8}.service-main h3{font-size:clamp(25px,2.8vw,34px);letter-spacing:-.035em;margin-bottom:16px;line-height:1.2}.service-main p{font-size:17px;line-height:1.62;max-width:710px;color:#657184;margin:0}.service-slash{font-size:32px;font-weight:400;color:#c3d2e4;justify-self:end}.about{border-top:1px solid #f0f2f4;padding-top:115px;padding-bottom:150px}.about-grid{display:grid;grid-template-columns:.91fr 1.09fr;gap:clamp(65px,9vw,130px);align-items:center}.about-image-wrap{position:relative;align-self:stretch;min-height:520px;background:#e9edf2;overflow:hidden}.about-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}.photo-corner{position:absolute;bottom:0;right:0;width:75px;height:75px;border-right:5px solid var(--blue);border-bottom:5px solid var(--blue)}.about-text .section-index{margin-bottom:36px}.about h2{margin-bottom:40px}.person-heading{border-top:1px solid var(--line);padding-top:25px;margin-bottom:29px}.person-heading h3{font-size:23px;letter-spacing:-.02em;margin:0 0 4px}.person-heading p{font-size:14px;color:#2384e7;font-weight:700;margin:0}.about-text>p{font-size:17px;line-height:1.69;color:#5b6b7e;margin-bottom:18px}.contact{padding:110px 0 120px}.contact-inner{max-width:1180px}.contact-top{display:flex;justify-content:space-between;align-items:center}.contact .section-index{color:#75b7fb}.contact-asterisk{font-size:50px;color:#2487eb;line-height:1}.contact h2{margin:75px 0 32px;max-width:1050px;font-size:clamp(43px,6vw,82px);letter-spacing:-.059em;line-height:1.08}.contact h2 span{color:#b4c4d5}.contact p{max-width:720px;font-size:19px;line-height:1.6;color:#c2cfdd;margin-bottom:40px}.cta{display:inline-flex;align-items:center;gap:85px;background:#fff;color:var(--navy);font-size:16px;font-weight:800;padding:17px 20px;border-radius:2px;transition:transform .2s,background .2s}.cta:hover{transform:translateY(-3px);background:#e8f2ff}.cta span{font-size:22px}.contact-email{margin-top:35px;font-size:13px;color:#93a6ba}.contact-email a{color:#fff;text-decoration:underline;text-underline-offset:4px}.footer{border-top:1px solid rgba(255,255,255,.14);padding:25px 0}.footer-row{display:flex;justify-content:space-between;align-items:center;gap:22px;color:#93a8bc;font-size:12px}.footer-brand{font-size:22px;font-weight:800;color:white;letter-spacing:-.07em}.provisional{margin-top:16px;font-size:10px;color:#607990}
@media(max-width:850px){.shell{width:min(calc(100% - 58px),var(--shell))}.section-heading{grid-template-columns:1fr;gap:26px}.section{padding:90px 0}.service{grid-template-columns:45px 1fr 17px;gap:15px}.about-grid{grid-template-columns:1fr;gap:43px}.about-image-wrap{width:min(100%,520px);min-height:0;aspect-ratio:1/1}.about h2{font-size:56px}.hero-inside{padding-top:165px}}@media(max-width:580px){.shell{width:calc(100% - 36px)}.site-header{height:68px}.wordmark{font-size:23px}.navlinks{gap:16px;font-size:12px}.nav-contact{padding:9px 10px}.nav-contact span{display:none}.hero-inside{padding-top:145px;padding-bottom:24px}.eyebrow{font-size:9px;letter-spacing:.07em}.eyebrow-line{width:18px}h1{font-size:clamp(49px,11.5vw,70px);margin:31px 0 28px}.hero-statement{font-size:19px}.hero-support{font-size:15px}.hero-bottom{margin-top:66px}.hero-bottom>span{max-width:160px;line-height:1.8}.hero-bottom a{font-size:9px}.section{padding:76px 0}.section-heading{margin-bottom:50px}.section-heading h2,.about h2{font-size:clamp(38px,10vw,52px)}.section-heading p{font-size:16px}.service{grid-template-columns:28px 1fr;gap:12px;padding:28px 0 30px}.service-slash{display:none}.service-main h3{font-size:25px}.service-main p{font-size:15.5px}.about-grid{gap:37px}.about-image-wrap{width:100%}.about-text .section-index{margin-bottom:24px}.about h2{margin-bottom:30px}.about-text>p{font-size:16px}.contact{padding:75px 0 90px}.contact h2{margin:50px 0 25px;font-size:clamp(39px,10.8vw,57px)}.contact p{font-size:16px}.footer-row{flex-wrap:wrap}.footer-row>span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cta{transition:none}}

/* v1.1: precise visual refinements requested 10 Oct 2026 */
/* Number/slash is a single inline unit, rather than a trailing row decoration. */
.service{grid-template-columns:1fr 2.1fr}
.service-num{display:inline-flex;align-items:baseline;gap:3px;white-space:nowrap}
.service-num-slash{font-size:15px;color:var(--blue);font-weight:700}
/* Keep portrait human-scale and soften the image boundary. */
.about-grid{grid-template-columns:minmax(230px,360px) minmax(0,1fr);gap:clamp(55px,7vw,100px);align-items:center}
.about-image-wrap{min-height:0;width:100%;aspect-ratio:4/5;border-radius:18px;align-self:center;overflow:hidden}
.about-image-wrap img{object-position:center 29%}
.photo-corner{display:none}
/* Limited increases to specifically identified navigation, microcopy and CTAs. */
.navlinks{font-size:16px}
.nav-contact{border-radius:9px}
.explore{font-size:16px}
.hero-bottom{font-size:12px;letter-spacing:.12em}
.hero-bottom a{font-size:12px}
.cta{font-size:18px;border-radius:10px;padding:18px 24px}
@media(max-width:850px){
 .about-grid{grid-template-columns:1fr;gap:43px}
 .about-image-wrap{width:min(100%,340px);aspect-ratio:4/5}
 .service{grid-template-columns:45px 1fr}
}
@media(max-width:580px){
 .navlinks{font-size:13px;gap:12px}
 .nav-contact{border-radius:8px}
 .explore{font-size:16px}
 .hero-bottom,.hero-bottom a{font-size:11px}
 .service{grid-template-columns:34px 1fr;gap:12px}
 .about-image-wrap{width:min(100%,320px)}
 .cta{font-size:18px}
}

/* v1.2 — strengthen service hierarchy, reduce portrait, make Contact unmistakable */
.service{grid-template-columns:94px minmax(0,1fr);column-gap:28px}
.service-num{font-size:clamp(28px,2.8vw,36px);font-weight:700;line-height:1.1;letter-spacing:-.055em;color:#207bd8}
.service-num-slash{font-size:.85em;font-weight:500;margin-left:1px;color:var(--blue)}
.about-grid{grid-template-columns:minmax(0,270px) minmax(0,1fr);gap:clamp(55px,8vw,110px)}
.about-image-wrap{max-width:260px;border-radius:20px}
.nav-contact{background:#fff;color:var(--navy);border:1px solid #fff;border-radius:10px;padding:12px 18px;transition:background .2s ease}
.navlinks>a.nav-contact:hover{background:#e8f2ff;color:var(--navy)}
.nav-contact span{color:#247cd5}
@media(max-width:850px){
 .service{grid-template-columns:75px minmax(0,1fr);gap:20px}
 .service-num{font-size:30px}
 .about-grid{grid-template-columns:1fr;gap:43px}
 .about-image-wrap{width:min(100%,235px);max-width:235px}
}
@media(max-width:580px){
 .service{grid-template-columns:59px minmax(0,1fr);gap:13px}
 .service-num{font-size:26px}
 .about-image-wrap{width:min(100%,205px);max-width:205px}
 .nav-contact{padding:9px 12px;border-radius:9px}
}

/* v1.3 — navigation Contact is a plain blue link, not a button */
.nav-contact{background:transparent;border:0;border-radius:0;padding:0;color:#77baff;transition:color .2s ease}
.navlinks>a.nav-contact:hover{background:transparent;color:#b8dbff}
.nav-contact span{color:inherit;margin-left:5px}
@media(max-width:580px){.nav-contact{padding:0;border-radius:0}}

/* v1.4 — navigation hover colours requested; no other typographic changes */
.navlinks > a:not(.nav-contact) { color:#fff; transition:color .2s ease; }
.navlinks > a:not(.nav-contact):hover { color:#77baff; }
.navlinks > a.nav-contact { color:#77baff; }
.navlinks > a.nav-contact:hover { color:#fff; background:transparent; }

/* v1.5 — genuine designer-supplied wordmark proof, without tagline */
.wordmark{display:inline-flex;align-items:center;line-height:1;flex-shrink:0}
.wordmark img{display:block;width:172px;height:auto;max-height:63px;object-fit:contain}
.hero-wordmark{display:block;width:220px;max-width:60%;height:auto;margin:0 0 22px -14px}
@media(max-width:580px){.wordmark img{width:117px}.hero-wordmark{width:165px;margin-left:-10px;margin-bottom:18px}}

/* v1.6 — enlarge header wordmark, remove repeat in hero */
.wordmark img{width:210px;max-height:70px}
@media(max-width:580px){.wordmark img{width:135px}}

/* v1.7: Larger header logo with existing advisory descriptor moved from hero. */
.site-header{height:108px}
.brand-lockup{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;min-width:0;flex-shrink:0}
.brand-lockup img{width:260px;height:auto;max-height:75px;object-fit:contain;object-position:left center;display:block}
.header-tagline{font-size:10px;letter-spacing:.095em;font-weight:700;color:#95b9da;white-space:nowrap;line-height:1.4}
.hero-inside{padding-top:clamp(170px,23vh,235px)}
html{scroll-padding-top:114px}
@media(max-width:850px){
 .site-header{height:100px}
 .brand-lockup img{width:212px}
 .header-tagline{font-size:8px;letter-spacing:.04em}
 .hero-inside{padding-top:170px}
}
@media(max-width:580px){
 .site-header{height:106px}
 .nav{align-items:center;gap:10px}
 .brand-lockup img{width:min(48vw,185px)}
 .header-tagline{font-size:7px;white-space:normal;max-width:188px;letter-spacing:0;line-height:1.25}
 .navlinks{gap:11px;font-size:12px;flex-shrink:0}
 .hero-inside{padding-top:175px}
}
@media(max-width:375px){
 .brand-lockup img{width:145px}
 .header-tagline{max-width:145px;font-size:6.5px}
 .navlinks{gap:8px;font-size:11px}
}

/* v1.8: tagline to the RIGHT of the logo, bottom aligned with logo lettering. */
.site-header { height: 102px; }
.brand-lockup { flex-direction: row; align-items: flex-end; justify-content: flex-start; gap: 19px; }
.brand-lockup img { width: 260px; flex: 0 0 auto; }
.header-tagline { display: block; margin-bottom: 8px; font-size: 10px; line-height: 1.2; white-space: nowrap; }
@media (max-width: 1050px) {
  .brand-lockup { gap: 11px; }
  .brand-lockup img { width: 215px; }
  .header-tagline { font-size: 8px; letter-spacing: .015em; margin-bottom: 6px; }
  .navlinks { gap: 15px; }
}
@media (max-width: 850px) {
  .site-header { height: 112px; }
  .nav { flex-wrap: wrap; align-content: center; row-gap: 5px; }
  .brand-lockup { width: 100%; }
  .navlinks { margin-left: auto; }
  .hero-inside { padding-top: 175px; }
}
@media (max-width: 580px) {
  .site-header { height: 113px; }
  .brand-lockup img { width: min(45vw, 185px); }
  .header-tagline { font-size: 7px; max-width: none; white-space: nowrap; line-height: 1.2; margin-bottom: 5px; }
  .hero-inside { padding-top: 185px; }
}
@media (max-width: 375px) {
  .brand-lockup img { width: 145px; }
  .header-tagline { font-size: 6.5px; }
}

/* v1.9: optically align tagline to actual visible wordmark, not padded SVG canvas. */
.brand-lockup { gap: 6px; align-items: flex-end; }
.brand-lockup img { width: 260px; max-height: none; }
.header-tagline { margin: 0; padding: 0; line-height: 1; transform: translateY(-2px); }
@media (max-width: 1050px) {
  .brand-lockup { gap: 5px; }
  .brand-lockup img { width: 215px; }
  .header-tagline { margin: 0; transform: translateY(-1px); }
}
@media (max-width: 720px) {
  .brand-lockup { gap: 5px; }
  .brand-lockup img { width: min(45vw, 185px); }
  .header-tagline { margin: 0; transform: translateY(-1px); }
}
@media (max-width: 420px) {
  .brand-lockup { gap: 4px; }
  .brand-lockup img { width: 145px; }
}

/* v2.0: contact CTA remains a plain, rounded button; no arrow icon. */
.cta{gap:0}


/* v2.1: accessible mobile-only navigation. Desktop navigation unchanged. */
.menu-toggle{display:none}
@media(max-width:850px){
  .site-header{height:94px}
  .nav{height:100%;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px;position:relative}
  .brand-lockup{width:auto;min-width:0;flex:1 1 auto}
  .brand-lockup img{width:clamp(130px,24vw,190px)}
  .header-tagline{font-size:clamp(7px,.9vw,9px);white-space:normal;line-height:1.2;max-width:180px}
  .menu-toggle{display:flex;flex:0 0 44px;width:44px;height:44px;padding:10px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.25);border-radius:9px;background:transparent;color:#fff;cursor:pointer}
  .menu-toggle:focus-visible{outline:3px solid #77baff;outline-offset:3px}
  .menu-bars{width:21px;display:grid;gap:5px}
  .menu-bars span{display:block;height:2px;background:currentColor;border-radius:2px;transition:transform .18s ease,opacity .18s ease}
  .menu-toggle[aria-expanded="true"] .menu-bars span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] .menu-bars span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] .menu-bars span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .navlinks{display:none;position:absolute;top:calc(100% + 1px);left:-29px;right:-29px;margin:0;padding:15px 29px 24px;background:#101e31;border-bottom:1px solid rgba(255,255,255,.15);box-shadow:0 18px 25px rgba(0,0,0,.22);flex-direction:column;align-items:stretch;gap:0;font-size:17px}
  .navlinks.is-open{display:flex}
  .navlinks>a{padding:15px 3px;font-size:17px;border-bottom:1px solid rgba(255,255,255,.1)}
  .navlinks>a:last-child{border-bottom:0}
  .hero-inside{padding-top:155px}
  html{scroll-padding-top:100px}
}
@media(max-width:580px){
  .site-header{height:85px}
  .nav{flex-wrap:nowrap;gap:8px}
  .brand-lockup img{width:clamp(118px,34vw,160px)}
  .header-tagline{font-size:7px;max-width:140px;white-space:normal}
  .navlinks{left:-18px;right:-18px;padding-left:18px;padding-right:18px}
  .hero-inside{padding-top:148px}
  html{scroll-padding-top:90px}
}
@media(max-width:370px){.brand-lockup img{width:116px}.header-tagline{font-size:6.5px;max-width:110px}}
@media(prefers-reduced-motion:reduce){.menu-bars span{transition:none}}

/* v2.2: no decorative right-side hero line */
.hero-rail{display:none!important}

/* v2.3: compact right-side mobile navigation panel; desktop preserved. */
@media (max-width:850px) {
  .navlinks {
    display:flex; position:fixed; top:94px; left:auto; right:0;
    width:min(60vw, 310px); max-height:calc(100dvh - 94px); overflow-y:auto;
    padding:20px 24px 22px; margin:0;
    background:#182d47; border:1px solid rgba(255,255,255,.12); border-right:0;
    border-radius:0 0 0 12px; box-shadow:-12px 18px 28px rgba(0,0,0,.26);
    flex-direction:column; gap:0; align-items:stretch;
    opacity:0; visibility:hidden; pointer-events:none;
    transform:translateX(18px);
    transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
  }
  .navlinks.is-open {
    display:flex; opacity:1; visibility:visible; pointer-events:auto;transform:translateX(0);
  }
  .navlinks>a { font-size:17px; padding:18px 0; }
}
@media (max-width:580px) {
  .navlinks {top:85px;left:auto;right:0;width:min(60vw,310px);padding:16px 20px 20px;}
}
@media (prefers-reduced-motion:reduce) {
  .navlinks {transition:none;}
}

/* v2.4: mobile-only two-line tagline, small but more readable */
.tagline-mobile{display:none}
@media(max-width:580px){
 .tagline-desktop{display:none}
 .tagline-mobile{display:block}
 .header-tagline{font-size:9px;line-height:1.3;letter-spacing:0;white-space:nowrap;max-width:none;transform:translateY(-1px)}
 .brand-lockup{gap:5px;align-items:flex-end}
 .brand-lockup img{width:clamp(110px,31vw,150px)}
}
@media(max-width:370px){
 .brand-lockup img{width:108px}
 .header-tagline{font-size:8px}
}

/* Secondary LinkedIn contact link */
.contact-linkedin{margin-top:22px;font-size:15px;font-weight:700}
.contact-linkedin a{color:#7bbcff;text-decoration:none;transition:color .2s}
.contact-linkedin a:hover,.contact-linkedin a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:4px}

/* Accessibility QA: visible keyboard focus and reduced-motion support. */
.menu-toggle:focus-visible,.cta:focus-visible,.explore:focus-visible,
.navlinks a:focus-visible,.contact-linkedin a:focus-visible,
.contact-email a:focus-visible{outline:3px solid #84c5ff;outline-offset:4px}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Approved Expertise heading: stacked label and headline. */
.expertise .section-heading{display:flex;flex-direction:column;align-items:flex-start;gap:24px;margin-bottom:70px}
.expertise .section-heading h2{max-width:1000px;margin:0;text-wrap:balance}
@media(max-width:580px){.expertise .section-heading{gap:20px;margin-bottom:48px}}

/* Experimental 2x2 Expertise layout: desktop only; approved copy unchanged. */
@media(min-width:851px){
 .expertise .service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(35px,5vw,80px);row-gap:0}
 .expertise .service{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:32px 0 38px;min-width:0;border-top:1px solid var(--line)}
 .expertise .service:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
 .expertise .service-num{font-size:32px}
 .expertise .service-main{min-width:0}
 .expertise .service-main h3{font-size:clamp(25px,2.35vw,32px)}
 .expertise .service-main p{font-size:17px;max-width:unset}
}

/* Expertise grid polish: consistent heading alignment and compact rhythm. */
@media(min-width:851px){
 .expertise .service-list{row-gap:0}
 .expertise .service{gap:15px;padding:30px 0 34px}
 .expertise .service-main{display:flex;flex-direction:column}
 .expertise .service-main h3{min-height:2.45em;display:flex;align-items:flex-start;margin-bottom:13px}
}

/* Align tagline to visible glyphs inside final SVG, not its canvas edge. */
.header-tagline{transform:translateY(-26px)}
.footer-logo{display:block;width:150px;height:auto}
@media(max-width:1050px){.header-tagline{transform:translateY(-21px)}}
@media(max-width:850px){.header-tagline{transform:translateY(-19px)}}
@media(max-width:580px){.header-tagline{transform:translateY(-16px)}}

/* Footer: full designer lockup including its embedded positioning tagline. */
.footer-logo{width:270px;max-width:65vw;height:auto}
@media(max-width:580px){.footer-logo{width:225px;max-width:100%}}

/* More prominent full-colour footer lockup, responsive for mobile. */
.footer-logo{width:390px;max-width:min(70vw,100%);height:auto}
@media(max-width:580px){.footer-logo{width:300px;max-width:100%}}

/* Match contact email sizing to the LinkedIn link. */
.contact-email{font-size:15px}

/* Contact actions: even vertical rhythm, matched secondary-link typography. */
.contact .cta{margin-bottom:0}
.contact-linkedin{margin-top:24px;font-size:15px;font-weight:700}
.contact-email{margin-top:24px;font-size:15px;font-weight:700}
.contact-email a{color:#fff;font-weight:700}


/* Launch refinements: stronger section labels and numbered expertise markers. */
.expertise .section-index,
.about .section-index,
.contact .section-index {
  font-size:clamp(15px,1.5vw,19px);
  letter-spacing:.11em;
  line-height:1.35;
}
.expertise .service-num {font-size:clamp(34px,3.4vw,42px)}
@media(min-width:851px){.expertise .service-num{font-size:40px}}
@media(max-width:580px){
  .expertise .section-index,
  .about .section-index,
  .contact .section-index {font-size:14px;letter-spacing:.075em;white-space:normal}
  .expertise .service-num {font-size:30px}
}

/* Personal LinkedIn link beside the founder biography. */
.founder-linkedin{
  display:inline-block;
  margin-top:12px;
  color:#207bd8;
  font-size:15px;
  font-weight:700;
  text-decoration:none;
}
.founder-linkedin:hover,.founder-linkedin:focus-visible{
  text-decoration:underline;
  text-underline-offset:4px;
}
.founder-linkedin:focus-visible{outline:3px solid var(--blue);outline-offset:4px}

/* Contact email: match blue link styling; turn white on hover. */
.contact-email a{color:#7bbcff;text-decoration:none;transition:color .2s}
.contact-email a:hover,.contact-email a:focus-visible{color:#fff;text-decoration:none}

/* Privacy notice: readable, consistent with the established website. */
.footer-privacy{font-size:13px;color:#9fcfff;text-decoration:none}
.footer-privacy:hover,.footer-privacy:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:4px}
.privacy-main{padding:165px 0 100px;background:#fff}
.privacy-body{max-width:850px}
.privacy-body h1{font-size:clamp(48px,6vw,78px);margin:26px 0 12px;letter-spacing:-.055em}
.privacy-updated{font-size:14px!important;color:#718095!important;margin-bottom:45px!important}
.privacy-body h2{font-size:clamp(23px,2.6vw,30px);margin:35px 0 12px;letter-spacing:-.03em}
.privacy-body p{font-size:17px;line-height:1.65;color:#506176;margin-bottom:19px}
.privacy-body a{color:#207bd8;text-decoration:underline;text-underline-offset:3px}
.privacy-body a:hover{color:#101e31}
.privacy-nav{display:flex}
@media(max-width:580px){.privacy-main{padding:120px 0 75px}.privacy-body p{font-size:16px}.privacy-nav a{font-size:13px!important;padding:8px 0!important}.footer-privacy{font-size:13px}}


/* Reduce whitespace at the Expertise / Founder section boundary only. */
.expertise{padding-bottom:65px}
.about{padding-top:65px}
@media(max-width:850px){
  .expertise{padding-bottom:42px}
  .about{padding-top:42px}
}
@media(max-width:580px){
  .expertise{padding-bottom:32px}
  .about{padding-top:32px}
}

/* Force the Explore arrow to render as a consistent vector icon, never an emoji. */
.explore .explore-arrow{display:block;width:18px;height:18px;flex:none}
.explore span[aria-hidden="true"]{display:inline-flex;align-items:center;justify-content:center}


/* Founder: on stacked screens move the portrait next to the name and title. */
.founder-mobile-photo{display:none}
@media(max-width:850px){
  .about-grid > .about-image-wrap{display:none}
  .person-heading{display:flex;align-items:center;gap:22px}
  .founder-mobile-photo{
    display:block;width:144px;height:144px;flex:0 0 144px;
    object-fit:cover;object-position:center 30%;
  }
  .person-heading-copy{min-width:0}
}
@media(max-width:580px){
  .person-heading{gap:16px}
  .founder-mobile-photo{width:112px;height:112px;flex-basis:112px}
  .person-heading h3{font-size:21px;line-height:1.15}
  .person-heading p{font-size:13px;line-height:1.4}
}

/* Mobile founder portrait: softly rounded corners. */
@media(max-width:850px){.founder-mobile-photo{border-radius:12px}}
