@font-face{font-family:Editors;src:url('/assets/fonts/EditorsNote-Medium.otf') format('opentype');font-weight:500;font-display:swap}
@font-face{font-family:Messina;src:url('/assets/fonts/MessinaSans-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Messina;src:url('/assets/fonts/MessinaSans-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--cream:#F6F4E9;--ink:#252321;--green:#98D2A6;--lilac:#DFB3EA;--white:#fff;--line:#b6b4aa;--max:1280px;--space:clamp(24px,5vw,80px);--serif:Editors,Georgia,serif;--sans:Messina,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--cream);color:var(--ink);font:400 18px/1.55 var(--sans);font-synthesis:none}a{color:inherit}button,summary{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{color:inherit}a,button,summary{touch-action:manipulation}img{display:block;max-width:100%;height:auto}svg{display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}h1,h2{font-family:var(--serif);line-height:1.05;letter-spacing:-.025em}h1{font-size:clamp(44px,4.2vw,64px)}h2{font-size:clamp(38px,3.6vw,54px)}h3{font:600 22px/1.25 var(--sans)}p+p{margin-top:20px}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid currentColor;outline-offset:6px}a:hover{text-decoration-thickness:2px}::selection{background:var(--lilac);color:var(--ink)}.wrap{width:min(calc(100% - 2*var(--space)),var(--max));margin-inline:auto}.skip{position:fixed;top:-100px;left:24px;background:var(--ink);color:var(--cream);padding:12px;z-index:30}.skip:focus{top:12px}.eyebrow{display:flex;align-items:center;gap:11px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;line-height:1.5}.eyebrow:before{content:'';width:7px;height:7px;background:currentColor;flex:0 0 7px}.text-link{display:inline-flex;align-items:center;gap:20px;padding:12px 0;text-underline-offset:6px;text-decoration-thickness:1px;font-size:16px}.arrow{width:19px;height:19px;flex-shrink:0;stroke:currentColor;stroke-width:1.5;fill:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;background:var(--green);color:var(--ink);border:1px solid var(--ink);border-radius:3px;min-height:52px;padding:13px 22px;font-size:15px;font-weight:600;text-decoration:none;transition:transform .16s,background-color .16s}.button:hover{transform:translateY(-2px);background:var(--green)}.button.light{background:var(--cream);color:var(--ink);border-color:var(--cream)}.button.outline{background:var(--green);color:var(--ink);padding-inline:18px}.button.outline:hover{background:var(--green)}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:30px}.header{min-height:104px;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:36px;min-height:104px}.brand{display:block;width:209px;flex:0 0 209px}.brand img{width:209px;height:auto}.desktop-nav{display:flex;gap:34px;align-items:center;font-size:14px}.desktop-nav>a:not(.button){display:block;text-decoration:none;padding:14px 0;position:relative}.desktop-nav>a:not(.button)[aria-current=page]:after{content:'';height:2px;background:var(--ink);position:absolute;bottom:5px;left:0;right:0}.mobile-menu{display:none}.hero{padding-block:54px 40px;display:grid;grid-template-columns:1.55fr 1fr;gap:48px;align-items:center}.hero .eyebrow{margin-bottom:28px}.hero h1{font-size:clamp(44px,4.05vw,62px);max-width:800px}.hero h1 span{display:block}.hero .lead{max-width:470px;margin-top:28px;font-size:19px;line-height:1.55}.hero-visual{margin:0;position:relative}.hero-visual>img{width:100%;aspect-ratio:1.08;object-fit:cover;object-position:53% center;border-radius:3px}.hero-visual .image-tag{position:absolute;left:20px;bottom:48px;background:var(--lilac);padding:12px 15px;font-size:12px;letter-spacing:.02em}.section{padding-block:96px}.intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.intro-grid .eyebrow{margin-bottom:24px}.intro-grid h2{max-width:400px}.intro-grid .intro-text{margin-top:26px;font-size:16px;max-width:390px}.service-list{border-top:1px solid var(--ink)}.service-row{display:grid;grid-template-columns:34px 1fr 30px;column-gap:20px;padding:28px 0;border-bottom:1px solid var(--line);text-decoration:none;align-items:start}.service-row:hover .service-name{text-decoration:underline;text-underline-offset:5px}.service-number{font:500 23px/1 var(--serif);padding-top:4px}.service-name{font:600 23px/1.3 var(--sans);display:block}.service-description{display:block;font-size:15px;line-height:1.6;max-width:430px;margin-top:10px}.service-row>.arrow{margin-top:5px}.method{background:var(--ink);color:var(--cream);overflow:hidden}.method-top{display:flex;gap:50px;justify-content:space-between;align-items:center}.method-top .eyebrow{color:var(--green);margin-bottom:24px}.method h2{max-width:680px;font-size:clamp(40px,4.4vw,64px)}.method-symbol{width:190px;height:185px;flex-shrink:0}.method-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:52px;margin-top:64px}.method-step{border-top:1px solid #898780;padding-top:24px}.method-step .number{font-size:13px;color:var(--ink)}.method-step h3{margin-block:16px 15px;font-size:22px}.method-step p{font-size:16px;max-width:320px;color:var(--cream)}.founder-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:105px;align-items:center}.founder-photo{position:relative;margin:0;padding:24px;background:var(--green);border-radius:3px}.founder-photo img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:2px}.founder-photo figcaption{font-size:11px;padding:10px 0}.founder-copy .eyebrow{margin-bottom:25px}.founder-copy h2{max-width:570px}.founder-copy>p{margin-top:25px;font-size:17px;max-width:550px}.founder-name{font-size:15px;margin-top:25px;font-weight:600}.founder-name small{display:block;font-size:13px;font-weight:400;margin-top:4px}.contact-band{background:var(--lilac);padding-block:65px}.contact-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:50px}.contact-band h2{max-width:750px;font-size:clamp(38px,4vw,60px)}.contact-band .button{flex-shrink:0}.footer{padding-top:46px}.footer-top{display:flex;gap:60px;justify-content:space-between;align-items:center;padding-bottom:44px}.footer-brand{width:186px;flex-shrink:0}.footer-descriptor{font-size:15px;max-width:340px}.footer-contact{display:grid;gap:7px;font-size:14px}.footer-contact a{text-underline-offset:4px;overflow-wrap:anywhere}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-block:22px;font-size:11px}.footer-bottom a{text-underline-offset:4px}.inner-hero{padding-block:55px 65px}.inner-hero .eyebrow{margin-bottom:25px}.inner-hero h1{max-width:970px;font-size:clamp(46px,5.7vw,80px)}.inner-hero .lead{margin-top:25px;max-width:650px;font-size:19px}.breadcrumbs{font-size:12px;margin-bottom:35px}.breadcrumbs a{text-decoration:none}.breadcrumbs span{padding-inline:10px}.services-subnav{display:flex;flex-wrap:wrap;border-block:1px solid var(--ink);gap:0}.services-subnav a{font-size:14px;padding:18px 24px;border-right:1px solid var(--line);text-decoration:none}.services-subnav a:hover{background:var(--green)}.detail-service{padding-block:65px;display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;border-bottom:1px solid var(--line);scroll-margin-top:28px}.detail-title{display:grid;grid-template-columns:48px 1fr;gap:22px;align-items:start}.service-icon{width:48px;height:48px;background:var(--green);padding:10px;border-radius:2px}
.detail-service:nth-child(2n) .service-icon{background:var(--lilac)}.detail-title h2{font-size:42px;max-width:360px}.detail-service p{font-size:17px}.detail-service ul{list-style:none;padding:0;margin:25px 0;font-size:16px}.detail-service li{position:relative;padding:10px 0 10px 20px;border-bottom:1px solid var(--line)}.detail-service li:before{content:'+';position:absolute;left:0}.note{font-size:13px!important;line-height:1.6}.faq-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:100px}.faq{border-top:1px solid var(--ink)}.faq details{border-bottom:1px solid var(--line)}.faq summary{padding:24px 40px 24px 0;position:relative;cursor:pointer;font-size:18px;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:4px;font-size:25px;top:17px}.faq details[open] summary:after{content:'−'}.faq details p{font-size:16px;padding:0 35px 25px 0}.about-intro{display:grid;grid-template-columns:1.35fr 1fr;gap:90px;align-items:center;padding-bottom:80px}.about-intro h1{font-size:clamp(46px,5.4vw,76px);margin-block:24px}.about-intro p{font-size:18px;max-width:620px}.about-intro .founder-photo{max-width:430px}.about-section{background:var(--white);padding-block:80px}.timeline{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.timeline-rows{border-top:1px solid var(--ink)}.timeline-row{display:grid;grid-template-columns:90px 1fr;gap:24px;border-bottom:1px solid var(--line);padding:26px 0}.timeline-row strong{font:500 33px var(--serif)}.timeline-row h3{font-size:19px}.timeline-row p{font-size:15px;margin-top:9px}.qualifications{display:grid;grid-template-columns:1fr 1fr;gap:100px}.qualifications h2{font-size:40px;margin-bottom:28px}.qualifications p,.qualifications li{font-size:16px}.qualifications ul{padding-left:20px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start;padding-bottom:80px}.contact-layout h1{font-size:clamp(48px,5vw,72px);margin-block:24px}.contact-layout .intro-text{max-width:450px}.contact-details{margin-top:35px;display:grid;gap:27px}.contact-details dt{font-size:12px;letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px}.contact-details dd{margin:0;font-size:clamp(17px,1.9vw,25px)}.contact-details a{overflow-wrap:anywhere;text-underline-offset:5px}.contact-box{background:var(--green);padding:40px;border-radius:3px;margin-top:10px}.contact-box h2{font-size:42px;margin-bottom:20px}.contact-box p{font-size:16px}.contact-box ol{padding-left:20px;margin:25px 0 30px;font-size:16px}.contact-box li{padding:8px 0 8px 5px}.contact-box .button{width:100%;background:var(--ink);color:var(--cream)}.copy-email{margin-top:14px;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;padding:10px 0;font-size:14px}.copy-status{min-height:22px;font-size:12px!important;margin-top:8px!important}.contact-scope{margin-top:40px;padding-top:25px;border-top:1px solid var(--line);font-size:15px}.contact-scope strong{display:block;margin-bottom:10px}.preview-notice{font-size:12px;padding-block:18px;border-top:1px solid var(--line);line-height:1.6}.preview-notice summary{cursor:pointer}.preview-notice p{margin-top:12px;max-width:840px}.section-tight{padding-block:65px}
@media(min-width:1600px){.hero h1{font-size:66px}}
@media(max-width:1100px){.desktop-nav{gap:22px}.hero{gap:30px;grid-template-columns:1.5fr 1fr}.hero h1{font-size:48px}.intro-grid,.founder-grid,.faq-layout,.timeline,.qualifications,.contact-layout{gap:50px}.detail-service{gap:45px}.contact-band h2{font-size:44px}.footer-top{gap:35px}}
@media(max-width:1023px){:root{--space:28px}.desktop-nav{display:none}.header-inner{position:relative}.mobile-menu{display:block}.mobile-menu summary{list-style:none;cursor:pointer;min-height:48px;padding:12px 0;font-size:15px;display:flex;align-items:center;gap:12px}.mobile-menu summary::-webkit-details-marker{display:none}.menu-lines{width:18px;height:10px;border-block:1px solid var(--ink)}.mobile-menu nav{position:absolute;left:0;right:0;top:104px;padding:18px 25px;background:var(--cream);border:1px solid var(--ink);box-shadow:0 15px 22px #25232112;z-index:20;display:grid;gap:6px}.mobile-menu nav a{padding:12px 0;text-decoration:none;font-size:18px}.mobile-menu nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.hero{padding-top:42px;grid-template-columns:1fr 1fr;gap:35px}.hero h1{font-size:45px}.hero h1 span{display:inline}.hero .lead{font-size:17px}.hero-visual>img{aspect-ratio:.8}.hero .actions{gap:10px}.actions .text-link{font-size:14px}.section{padding-block:70px}.intro-grid{grid-template-columns:1fr;gap:40px}.intro-grid h2{max-width:600px}.intro-grid .intro-text{max-width:600px}.method-steps{gap:30px;margin-top:40px}.method h2{font-size:44px}.method-symbol{width:140px;height:140px}.founder-grid{gap:45px}.founder-copy h2{font-size:40px}.founder-copy>p{font-size:16px}.contact-band .wrap{align-items:flex-start;flex-direction:column;gap:30px}.footer-top{flex-wrap:wrap}.footer-contact{margin-left:auto}.detail-title h2{font-size:35px}.detail-service{gap:30px}.faq-layout{grid-template-columns:1fr;gap:35px}.about-intro{gap:40px}.about-intro h1{font-size:50px}.timeline{grid-template-columns:.8fr 1.2fr;gap:35px}.contact-layout{gap:35px}.contact-box{padding:28px}.contact-box h2{font-size:36px}}
@media(max-width:600px){:root{--space:22px}body{font-size:17px}.header,.header-inner{min-height:104px}.brand,.brand img{width:209px;flex-basis:209px}.header-inner{gap:14px}.hero{grid-template-columns:1fr;gap:33px;padding-block:32px}.hero h1{font-size:46px;max-width:490px}.hero h1 span{display:inline}.hero .eyebrow{margin-bottom:22px;font-size:11px}.hero .lead{margin-top:23px;max-width:340px;font-size:18px}.actions{gap:13px;margin-top:24px}.button{min-height:52px;padding:13px 18px;font-size:14px}.actions .text-link{font-size:14px}.hero-visual>img{aspect-ratio:1.55;object-position:center 59%}.hero-visual .image-tag{display:none}.section{padding-block:58px}h2{font-size:39px}.intro-grid{gap:32px}.intro-grid .intro-text{font-size:16px}.service-row{grid-template-columns:24px 1fr 20px;gap:13px;padding-block:23px}.service-name{font-size:20px}.service-description{font-size:14px}.service-number{font-size:20px}.method-top{gap:15px;align-items:flex-start}.method h2{font-size:40px}.method-symbol{display:none}.method-steps{grid-template-columns:1fr;gap:26px}.method-step{padding-top:20px}.method-step h3{margin-block:10px}.method-step p{max-width:none}.founder-grid{grid-template-columns:1fr;gap:32px}.founder-photo{padding:20px;max-width:430px}.founder-copy h2{font-size:40px}.contact-band{padding-block:48px}.contact-band h2{font-size:40px}.footer{padding-top:30px}.footer-top{display:grid;gap:20px;padding-bottom:25px}.footer-contact{margin-left:0}.footer-descriptor{max-width:270px}.footer-bottom{gap:8px;display:grid;font-size:10px}.inner-hero{padding-block:30px 40px}.inner-hero h1{font-size:48px}.inner-hero .lead{font-size:17px}.breadcrumbs{margin-bottom:26px}.services-subnav{display:grid;grid-template-columns:1fr 1fr}.services-subnav a{font-size:12px;padding:14px 10px;border-bottom:1px solid var(--line)}.detail-service{grid-template-columns:1fr;gap:22px;padding-block:42px}.detail-title{gap:16px;grid-template-columns:42px 1fr}.detail-title h2{font-size:37px}.service-icon{width:42px;height:42px;padding:8px}.detail-service p{font-size:16px}.detail-service li{font-size:15px}.faq summary{font-size:17px}.about-intro{grid-template-columns:1fr;gap:35px;padding-bottom:50px}.about-intro h1{font-size:52px}.about-intro p{font-size:17px}.about-intro .founder-photo{width:100%}.about-section{padding-block:55px}.timeline,.qualifications{grid-template-columns:1fr;gap:35px}.timeline-row{grid-template-columns:65px 1fr;gap:18px}.timeline-row strong{font-size:28px}.timeline-row h3{font-size:18px}.qualifications h2{font-size:36px}.contact-layout{grid-template-columns:1fr;gap:35px;padding-bottom:50px}.contact-layout h1{font-size:52px}.contact-details dd{font-size:19px}.contact-box{padding:27px 24px}.contact-box h2{font-size:38px}.section-tight{padding-block:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}
.detail-service>* , .about-intro>* , .timeline>* , .qualifications>*{min-width:0}
.mobile-menu:not([open]) nav{display:none}
.email-chooser summary{list-style:none;cursor:pointer;justify-content:space-between;width:100%}
.email-chooser summary::-webkit-details-marker{display:none}
.email-chevron{font-size:22px;line-height:1}
.email-chooser[open] .email-chevron{transform:rotate(180deg)}
.email-options{margin-top:18px;display:grid;font-size:15px}
.email-chooser:not([open]) .email-options{display:none}
.email-options>p{margin-bottom:10px}
.email-options>a{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px;min-height:48px;padding:12px 0;border-bottom:1px solid var(--line);text-underline-offset:4px}
.email-options>a:hover{background:var(--green)}
.email-options>a .note{text-decoration:none}
.email-copy{display:grid;gap:6px;margin-top:20px}
.email-address{overflow-wrap:anywhere;user-select:all}
.email-copy .copy-email{justify-self:start;margin:0}
.email-copy .copy-status{margin:0}
@media(max-width:600px){.detail-title{grid-template-columns:1fr;gap:16px}.detail-title h2{font-size:34px;overflow-wrap:anywhere;hyphens:auto}.about-intro h1{font-size:44px;overflow-wrap:anywhere;hyphens:auto}.mobile-menu:not([open]) nav{display:none}}

/* The opening moves from positioning to a choice of concrete needs. */
.header { min-height:104px; }
.header-inner { min-height:103px; }
.brand { width:209px; flex-basis:209px; }
.brand>svg,.brand img { width:209px; height:auto; }
.hero { grid-template-columns:1.22fr 1fr; gap:52px; padding-block:52px 0; }
.hero>div { min-width:0; }
.hero h1 { font-size:clamp(50px,4.5vw,66px); line-height:1.08; letter-spacing:-.035em; }
.hero h1 span { display:block; }
.hero .eyebrow { margin-bottom:26px; }
.hero .lead { max-width:460px; font-size:18px; margin-top:24px; }
.hero .actions { gap:22px; margin-top:30px; }
.hero .actions .text-link { font-size:14px; gap:12px; }
.hero-visual { align-self:stretch; }
.hero-visual>img { height:100%; min-height:365px; aspect-ratio:1.13; object-position:50% 50%; border-radius:2px; }
.home-services { padding-block:48px 76px; scroll-margin-top:28px; }
.home-services h2 { font:400 23px/1.35 var(--sans); letter-spacing:-.02em; margin-bottom:25px; }
.needs-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.need-entry { display:flex; flex-direction:column; align-items:flex-start; padding-top:17px; border-top:1px solid var(--ink); text-decoration:none; min-width:0; }
.need-top { display:flex; justify-content:space-between; align-items:center; width:100%; margin-bottom:22px; }
.need-entry:nth-child(even) .service-number { background:var(--lilac); }
.need-top .service-number { font:400 12px/1 var(--sans); background:var(--green); width:28px; height:28px; display:grid; place-items:center; padding:0; border-radius:50%; }
.need-top .arrow { width:18px; height:18px; }
.need-entry h3 { font:500 clamp(24px,2.2vw,31px)/1.13 var(--serif); letter-spacing:-.018em; }
.need-entry p { font-size:15px; line-height:1.6; margin-block:17px 22px; }
.need-link { display:block; font-size:12px; margin-top:auto; text-decoration:underline; text-underline-offset:5px; }
.need-entry:hover .need-link { text-decoration-thickness:2px; }
.need-entry:hover h3 { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.founder-feature { background:var(--green); padding-block:64px; }
.founder-feature .founder-grid { grid-template-columns:.7fr 1.3fr; gap:80px; max-width:1100px; }
.founder-feature .founder-photo { padding:0; background:transparent; }
.founder-feature .founder-photo img { aspect-ratio:.92; object-position:50% 30%; }
.founder-feature figcaption { font-size:10px; padding:8px 0 0; }
.founder-label { font-size:13px; font-weight:600; margin-bottom:22px; }
.founder-feature h2 { font-size:clamp(38px,4vw,57px); }
.founder-feature .founder-copy>p:not(.founder-label) { font-size:17px; max-width:600px; margin-top:23px; }
.experience-points { display:flex; gap:55px; margin:28px 0 13px; }
.experience-points>span { font-size:12px; }
.experience-points strong { display:block; font:500 25px/1.3 var(--serif); margin-top:5px; }
.method { background:var(--cream); color:var(--ink); }
.method-layout { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center; }
.method-visual img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:2px; }
.method-caption { font-size:12px; margin-top:15px; max-width:360px; }
.method-layout--texte { grid-template-columns:1fr; }
.method-layout--texte .method-copy { max-width:760px; }
.method h2 { font-size:clamp(36px,3.5vw,49px); }
.method-intro { font-size:16px; margin-top:22px; max-width:460px; }
.method-steps { display:block; margin-top:30px; }
.method-step { display:grid; grid-template-columns:26px 1fr; gap:20px; border-top:1px solid var(--line); padding-block:16px; }
.method-step .number { color:var(--ink); font-size:12px; padding-top:4px; }
.method-step h3 { font-size:18px; margin:0 0 7px; }
.method-step p { font-size:14px; color:var(--ink); max-width:400px; }
.detail-image { margin-top:28px; width:100%; aspect-ratio:1.55; object-fit:cover; border-radius:2px; }
@media(max-width:1100px) {
  .hero { gap:34px; }
  .hero h1 { font-size:48px; }
  .hero .actions { gap:10px; }
  .needs-grid { gap:22px; }
  .founder-feature .founder-grid,.method-layout { gap:50px; }
}
@media(max-width:1023px) {
  .header { min-height:104px; }
  .header-inner { min-height:103px; }
  .mobile-menu nav { top:100%; }
  .hero { grid-template-columns:1.05fr 1fr; padding-top:36px; gap:28px; }
  .hero h1 { font-size:44px; }
  .hero h1 span { display:inline; }
  .hero h1 span+span::before { content:' '; }
  .hero .lead { font-size:16px; }
  .hero .eyebrow { font-size:10px; letter-spacing:.09em; }
  .hero-visual>img { min-height:340px; aspect-ratio:.9; }
  .home-services { padding-block:40px 58px; }
  .needs-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px; }
  .need-entry h3 { font-size:30px; }
  .founder-feature .founder-grid { grid-template-columns:.85fr 1.15fr; gap:38px; }
  .founder-feature h2 { font-size:38px; }
  .founder-feature .founder-copy>p:not(.founder-label) { font-size:15px; }
  .experience-points { gap:24px; }
  .experience-points strong { font-size:22px; }
  .method-layout { gap:35px; }
  .method h2 { font-size:36px; }
  .detail-title { grid-template-columns:1fr; gap:16px; }
  .services-subnav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .services-subnav a { display:flex; align-items:center; border-bottom:1px solid var(--line); }
  .services-subnav a:nth-child(even) { border-right:0; }
  .services-subnav a:nth-last-child(-n+2) { border-bottom:0; }
}
@media(max-width:600px) {
  .header { min-height:96px; }
  .header-inner { min-height:95px; }
  .brand,.brand img,.brand>svg { width:209px; flex-basis:209px; }
  .mobile-menu nav { top:100%; }
  .hero { grid-template-columns:1fr; gap:28px; padding-top:30px; }
  .inner-hero h1 { overflow-wrap:anywhere; hyphens:auto; }
  .hero h1 { font-size:45px; line-height:1.05; }
  .hero h1 span { display:inline; }
  .hero .eyebrow { font-size:10px; margin-bottom:22px; }
  .hero .lead { font-size:17px; margin-top:22px; }
  .hero .actions { gap:8px 14px; margin-top:24px; }
  .hero-visual>img { min-height:0; height:auto; aspect-ratio:1.5; }
  .home-services { padding-block:32px 50px; }
  .home-services h2 { font-size:22px; margin-bottom:24px; max-width:300px; }
  .needs-grid { grid-template-columns:1fr; gap:0; }
  .need-entry { display:grid; grid-template-columns:32px 1fr; column-gap:17px; padding-block:24px; }
  .need-top { display:contents; }
  .need-top .service-number { grid-column:1; grid-row:1; margin-top:3px; }
  .need-top .arrow { display:none; }
  .need-entry h3 { grid-column:2; font-size:29px; }
  .need-entry h3 br { display:none; }
  .need-entry h3 br::after { content:' '; }
  .need-entry p { grid-column:2; margin:12px 0 16px; font-size:16px; }
  .need-link { grid-column:2; font-size:13px; }
  .founder-feature { padding-block:38px; }
  .founder-feature .founder-grid { grid-template-columns:1fr; gap:28px; }
  .founder-feature .founder-photo { max-width:270px; width:84%; }
  .founder-feature .founder-photo img { aspect-ratio:1; }
  .founder-feature h2 { font-size:38px; }
  .founder-label { font-size:12px; margin-bottom:16px; }
  .founder-feature .founder-copy>p:not(.founder-label) { font-size:16px; }
  .experience-points { gap:38px; }
  .method-layout { grid-template-columns:1fr; gap:30px; }
  .method-visual img { aspect-ratio:1.4; }
  .method-caption { font-size:11px; }
  .method h2 { font-size:38px; }
  .method-intro { font-size:16px; }
  .method-steps { margin-top:24px; }
  .detail-image { margin-top:24px; }
}

/* The focus ring must contrast with the surrounding surface, not the button text. */
.button:focus-visible, .skip:focus-visible {
  outline-color: var(--ink);
  box-shadow: 0 0 0 3px var(--cream);
}
.footer-bottom { align-items:center; font-size:12px; }
.footer-bottom a, .footer-contact a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
}
.preview-notice summary { min-height:44px; padding-block:12px; }
.contact-details a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  max-width:100%;
}
.copy-email { min-height:44px; }
@media (max-width:600px) {
  .footer-bottom { grid-template-columns:1fr 1fr; gap:4px 18px; }
  .footer-bottom > span { grid-column:1 / -1; }
}

/* Keep the full protected logo and a usable menu at 320px. */
@media (max-width:360px) {
  .header-inner { width:calc(100% - 32px); gap:8px; }
  .mobile-menu summary { gap:8px; }
}
