/* Readable editorial refinement. Existing content and client edits are retained. */
@font-face{font-family:Onest;src:url('assets/onest.ttf');font-weight:100 900;font-display:swap}
@font-face{font-family:Lora;src:url('assets/lora.ttf');font-weight:400 700;font-display:swap}
:root{--ink:#203b4b;--body-ink:#4d6472;--muted-ink:#607987;--paper:#fcfcfa;--blue:#315d78}
.readable{font-size:18px;color:var(--ink);line-height:1.7}
.readable .wrap{max-width:1280px;width:calc(100% - 96px)}
.readable main p:not(.eyebrow),.readable main details p,.readable dialog p:not(.eyebrow),.readable dialog ol{font-size:18px;line-height:1.75;color:var(--body-ink);min-height:0}
.readable h2{font-size:clamp(36px,3.5vw,52px);letter-spacing:-.035em;line-height:1.18;text-wrap:balance}
.readable h3{font-size:25px;line-height:1.25;letter-spacing:-.025em}
.readable .eyebrow{font-size:13px;letter-spacing:.12em;color:var(--muted-ink);line-height:1.6;margin-bottom:23px}
.readable .concept-bar{font-size:13px;gap:22px;padding:9px 48px;line-height:1.6}
.readable .concept-bar span{opacity:1}.readable .concept-bar a{font-size:13px;white-space:nowrap}
.readable .header{height:auto;min-height:120px;gap:28px}
.readable .brand{gap:0}.readable .brand-name{font-size:23px;letter-spacing:-.035em;font-weight:550;text-transform:none;color:var(--ink)}
.readable .brand .brand-sub{font-size:15px;letter-spacing:0;text-transform:none;white-space:normal;color:var(--muted-ink);font-weight:400;margin-top:7px;line-height:1.4}
.readable .header nav{gap:25px;flex-shrink:0}.readable .header nav a{font-size:16px;font-weight:400;padding:14px 0;position:relative}
.readable .header nav a::after{content:'';position:absolute;left:0;right:0;bottom:6px;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
.readable .header nav a:hover::after{transform:scaleX(1)}
.readable .header-cta{font-size:16px;white-space:nowrap;gap:9px;font-weight:450}
.readable .hero{grid-template-columns:1.05fr 1fr;gap:60px;padding-top:28px;padding-bottom:60px;align-items:center}
.readable .hero h1{font-size:clamp(60px,5.7vw,84px);letter-spacing:-.055em;line-height:1.08;margin-bottom:30px}
.readable .hero h1 em{letter-spacing:-.045em}.readable main .hero-person{font-size:21px;color:var(--blue);margin-bottom:13px;font-weight:450;line-height:1.5}
.readable main .hero-copy .lead{font-size:19px;line-height:1.7;margin-bottom:30px;max-width:36ch}.readable .hero-copy .desktop{display:none}
.readable .hero-actions{gap:20px;align-items:flex-start;flex-direction:column}
.readable .button{font-size:16px;font-weight:450;line-height:1.45;min-height:58px;padding:17px 25px;border-radius:5px;gap:22px;text-align:left}
.readable .text-link{font-size:16px;line-height:1.55;gap:12px;min-height:44px}
.readable .hero .text-link{font-size:16px}.readable .hero-notes{font-size:14px;color:var(--muted-ink);gap:20px;flex-wrap:wrap;margin-top:25px}
.readable .hero-notes .icon{width:18px;height:18px}
.readable .personal-visual{padding-bottom:0;margin-left:0;align-self:center}
.readable .personal-photo{height:640px;border-radius:100px 6px 6px 6px;object-position:center 24%}
.readable .portrait-label{position:static;min-width:0;background:none;backdrop-filter:none;box-shadow:none;padding:18px 0 13px;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;border-bottom:1px solid #d8e2e7;border-radius:0}
.readable .portrait-label>span{display:none}.readable .portrait-label strong{font-size:25px;letter-spacing:-.03em}
.readable .portrait-label small{font-size:15px;color:var(--muted-ink);margin:0}
.readable .portrait-caption{position:static;font-size:14px;color:var(--muted-ink);margin-top:12px;gap:9px;line-height:1.6}
.readable .principles{font-size:15px;padding:25px 0;gap:25px;align-items:flex-start;line-height:1.6}.readable .principles span{flex:1;align-items:flex-start}.readable .principles .icon{margin-top:3px}
.readable .section{padding-top:100px;padding-bottom:95px}.readable .section-heading{margin-bottom:44px;gap:60px}.readable .section-heading>p{max-width:32ch}
.readable .services{gap:22px}.readable .service{padding:32px 28px;border-radius:5px;background:#f0f2ed;transition:background .25s ease,transform .25s ease;box-shadow:none}
.readable .service-blue{background:#e8eff3}.readable .service:hover{background:#e8eeec;transform:translateY(-4px)}
.readable .service-number{font-size:13px;color:#587584;letter-spacing:.09em;margin-bottom:44px;padding-right:26px;line-height:1.7}
.readable .service-icon.icon{width:28px;height:28px;right:23px;top:30px}.readable .service h3{font-size:27px;line-height:1.2;min-height:2.4em}
.readable .service p{margin-bottom:22px}.readable .service ul{font-size:16px;line-height:1.7;color:var(--body-ink);padding-left:18px;margin-bottom:30px}.readable .service li+li{margin-top:9px}
.readable .service-button{font-size:16px;line-height:1.5;min-height:54px;padding-top:19px;gap:12px}
.readable .extended-services{padding:23px 0;margin-top:30px}.readable .extended-services summary{font-size:18px;line-height:1.6;min-height:44px}.readable .extended-services>div{max-width:72ch}
.readable .service-help{font-size:16px;line-height:1.7;padding-top:25px}.readable .service-help a{white-space:nowrap}
.readable .approach{padding:85px 0;background:#edf1f2}.readable .approach-grid{gap:65px}
.readable .equipment{padding:27px;border-radius:5px}.readable .equipment>.eyebrow{font-size:13px;line-height:1.6}
.readable .equipment-caption{gap:18px;flex-wrap:wrap}.readable .equipment-caption strong{font-size:19px}.readable .equipment-caption button{font-size:16px;min-height:44px}
.readable .approach-copy h2{font-size:clamp(34px,3vw,44px);line-height:1.25}
.readable .specialist-section{gap:90px}.readable .specialist-intro h2{font-size:clamp(37px,3.4vw,49px);line-height:1.25}
.readable .specialist-intro>p:not(.eyebrow){max-width:43ch}.readable .credentials article{padding:25px 0;gap:24px}.readable .credentials article>span{font-size:29px}
.readable .credentials h3{font-size:25px;margin-bottom:14px}
.readable .profile-section{padding:90px 0;background:#e9eff2}.readable .profile-grid{grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.readable .profile-grid h2{font-size:clamp(34px,3.1vw,46px);line-height:1.25}.readable .profile-grid .button{font-size:16px;max-width:100%}
.readable .profile-questions{gap:35px 30px}.readable .profile-questions span{font-size:15px;color:#5d7989}.readable .profile-questions h3{font-size:23px;margin:15px 0}
.readable .profile-questions p{font-size:17px}.readable .training-layout{gap:70px;grid-template-columns:.85fr 1.15fr}
.readable .training-intro{padding:35px;border-radius:5px}.readable .training-intro h3{font-size:32px}.readable .training-intro button{font-size:16px}
.readable .training-topics h3{font-size:25px}.readable .training-topics article{padding-bottom:25px;margin-bottom:28px}
.readable main p.training-note{font-size:15px!important;color:var(--muted-ink);line-height:1.7}
.readable .steps{gap:30px}.readable .steps span{font-size:46px;color:#6c8a9a}.readable .steps h3{font-size:24px}.readable .steps p{font-size:17px}
.readable .prepare{padding:30px;gap:22px}.readable .prepare h3{font-size:23px}.readable .prepare p{font-size:17px}.readable .prepare button{font-size:16px;white-space:normal;flex-shrink:0}
.readable .faq-grid{gap:70px;grid-template-columns:.9fr 1.1fr}.readable .faq-grid h2{font-size:clamp(36px,3.2vw,48px)}
.readable .faq-list summary{font-size:19px;line-height:1.5;min-height:48px}.readable .faq-list details{padding:21px 0}.readable .faq-list details p{margin-top:16px;font-size:18px}
.readable .consultation{gap:80px;grid-template-columns:1fr 1.1fr}.readable .consult-copy h2{font-size:clamp(52px,5vw,70px)}
.readable .consult-copy>p:not(.eyebrow){max-width:40ch}.readable .consult-note{font-size:16px;line-height:1.7;color:var(--muted-ink)}
.readable form{padding:32px;border-radius:6px}.readable .form-heading{flex-wrap:wrap;gap:12px}.readable .form-heading h3{font-size:30px}.readable .form-heading>span{font-size:13px;color:var(--muted-ink)}
.readable legend,.readable .field{font-size:17px}.readable legend{margin-bottom:18px}.readable .choices{gap:10px}.readable .choices span{font-size:16px;line-height:1.5;padding:12px 15px;min-height:48px}
.readable .direct-contact small{font-size:15px;color:var(--muted-ink);line-height:1.6}.readable .direct-contact strong{font-size:24px;line-height:1.6}
.readable form .button{font-size:16px}.readable main .form-disclaimer{font-size:15px;line-height:1.7;color:var(--muted-ink)}
.readable .form-result{font-size:16px;padding:20px}.readable .form-result p,.readable .form-result a{font-size:16px}
.readable .contacts-section{padding:85px 0}.readable .contacts-grid{gap:80px}.readable .contacts-grid h2{font-size:54px}
.readable .address-card{padding:38px;border-radius:5px}.readable .address-index{font-size:14px;color:var(--muted-ink)}.readable .address-card h3{font-size:34px}.readable .address-card p.office{font-size:22px!important;color:var(--blue)}
.readable .travel-note{font-size:16px;color:var(--muted-ink);line-height:1.7}.readable footer.wrap{padding-block:38px;align-items:flex-start}
.readable .footer-brand{font-size:19px;letter-spacing:.015em}.readable .footer-brand span{font-size:15px;color:var(--muted-ink);margin-top:8px;letter-spacing:0}
.readable footer p{font-size:16px;line-height:1.9;color:var(--body-ink)}.readable footer .text-link{font-size:16px}
.readable dialog{max-width:650px;padding:42px}.readable dialog h2{font-size:33px;line-height:1.3}.readable #diagram-dialog{max-width:1100px}
.readable #diagram-dialog>p:not(.eyebrow){font-size:16px}.readable .close-dialog[aria-label],.readable .close-diagram[aria-label]{width:48px;height:48px;display:grid;place-items:center}
@media(min-width:1450px){.readable .hero-actions{flex-direction:row;align-items:center}.readable .hero{gap:75px}}
@media(max-width:1150px){.readable .wrap{width:calc(100% - 64px)}.readable .header-cta{display:none}.readable .header nav{gap:25px}.readable .hero{gap:40px}.readable .hero h1{font-size:64px}.readable .personal-photo{height:610px}.readable .services{gap:15px}.readable .service{padding:28px 22px}.readable .service h3{font-size:25px}.readable .service-icon.icon{right:18px}.readable .service-number{font-size:12px}.readable .approach-grid,.readable .specialist-section,.readable .profile-grid,.readable .training-layout,.readable .faq-grid,.readable .consultation,.readable .contacts-grid{gap:40px}.readable .profile-questions{grid-template-columns:1fr;gap:22px}.readable .profile-questions article{padding-top:14px}.readable .profile-questions h3{margin:8px 0}.readable .steps{grid-template-columns:1fr 1fr;gap:35px}.readable footer{flex-wrap:wrap}}
@media(max-width:900px){.readable .hero{grid-template-columns:1fr 1fr;gap:28px}.readable .hero h1{font-size:56px}.readable .hero .eyebrow{font-size:12px}.readable .hero-person{font-size:19px}.readable main .hero-copy .lead{font-size:18px}.readable .services{grid-template-columns:1fr}.readable .service{padding:32px;display:grid;grid-template-columns:1fr 1fr;column-gap:35px}.readable .service-number{grid-column:1/-1;font-size:14px;margin-bottom:28px}.readable .service h3{grid-column:1;min-height:0;font-size:29px}.readable .service p{grid-column:1}.readable .service ul{grid-column:2;grid-row:2/4;font-size:17px;padding-top:4px}.readable .service-button{grid-column:1/-1;margin-top:8px}.readable .principles{flex-wrap:wrap}.readable .principles span{min-width:200px}.readable .header{min-height:110px}.readable .header nav{gap:18px}.readable .header nav a{font-size:15px}.readable .brand-name{font-size:21px}.readable .brand .brand-sub{font-size:14px;max-width:230px}}
@media(max-width:760px){.readable{font-size:17px}.readable .wrap{width:calc(100% - 40px)}.readable main p:not(.eyebrow),.readable main details p,.readable dialog p:not(.eyebrow),.readable dialog ol{font-size:17px;line-height:1.7}.readable h2{font-size:35px;line-height:1.2}.readable h3{font-size:24px}.readable .eyebrow{font-size:13px;letter-spacing:.08em}.readable .concept-bar{padding:8px 20px;font-size:13px;gap:12px}.readable .concept-bar span{display:none}.readable .concept-bar a{font-size:13px}.readable .header{min-height:106px;gap:14px}.readable .brand-name{font-size:23px}.readable .brand .brand-sub{font-size:14px;max-width:230px;line-height:1.45}.readable .header nav{gap:8px;top:93px;padding:14px}.readable .header nav a{font-size:17px;padding:12px;min-height:50px}.readable .hero{grid-template-columns:1fr;gap:36px;padding-top:22px;padding-bottom:42px}.readable .hero h1{font-size:clamp(49px,12vw,68px);letter-spacing:-.05em;line-height:1.08}.readable .hero .eyebrow{font-size:13px}.readable main .hero-person{font-size:20px}.readable main .hero-copy .lead{font-size:18px;max-width:35ch}.readable .hero-actions{gap:16px}.readable .button,.readable .hero .button{font-size:16px;min-height:56px;padding:16px 20px;max-width:100%;line-height:1.5}.readable .hero-notes{font-size:15px;gap:15px}.readable .hero-visual{margin:0}.readable .personal-photo{height:490px;border-top-left-radius:70px}.readable .portrait-label{padding-top:17px;gap:8px 15px}.readable .portrait-label strong{font-size:25px}.readable .portrait-label small{font-size:16px}.readable .portrait-caption{font-size:15px}.readable .principles{display:grid;font-size:16px;gap:20px;padding:24px 0}.readable .section{padding-top:65px;padding-bottom:65px}.readable .section-heading{display:block;margin-bottom:32px}.readable .section-heading>p{margin-top:22px;max-width:36ch}.readable .services{gap:20px}.readable .service{display:flex;padding:29px 26px}.readable .service-number{font-size:13px;margin-bottom:32px;padding-right:28px}.readable .service h3{font-size:29px;min-height:0}.readable .service-icon.icon{right:23px;top:29px}.readable .service ul{font-size:17px;line-height:1.7}.readable .service-button{font-size:16px;min-height:56px}.readable .extended-services summary{font-size:17px}.readable .service-help{font-size:16px;display:block}.readable .approach{padding:55px 0}.readable .approach-grid,.readable .specialist-section,.readable .profile-grid,.readable .training-layout,.readable .faq-grid,.readable .consultation,.readable .contacts-grid{grid-template-columns:1fr;gap:36px}.readable .equipment{padding:23px}.readable .equipment>.eyebrow{font-size:13px}.readable .equipment-caption strong{font-size:20px}.readable .equipment-caption button{font-size:16px}.readable .approach-copy h2,.readable .specialist-intro h2{font-size:34px}.readable .credentials h3{font-size:24px}.readable .profile-section{padding:60px 0}.readable .profile-grid h2{font-size:33px}.readable .profile-grid .button{font-size:16px;gap:14px}.readable .profile-questions{grid-template-columns:1fr;gap:25px}.readable .profile-questions h3{font-size:25px}.readable .profile-questions span{font-size:15px}.readable .training-intro{padding:29px}.readable .training-intro h3{font-size:31px}.readable .training-topics h3{font-size:24px}.readable .training-topics article{margin-bottom:25px}.readable main p.training-note{font-size:16px!important}.readable .steps{grid-template-columns:1fr;gap:25px}.readable .steps article{display:grid;grid-template-columns:55px 1fr;gap:0 18px;align-items:baseline;padding-top:20px}.readable .steps span{grid-column:1;grid-row:1/3;font-size:39px}.readable .steps h3{grid-column:2;margin:0 0 12px;font-size:24px}.readable .steps p{grid-column:2;margin:0}.readable .prepare{padding:26px;gap:17px}.readable .prepare h3{font-size:24px}.readable .prepare>div{flex-basis:200px}.readable .prepare button{margin-left:0;font-size:17px}.readable .faq-grid h2{font-size:35px}.readable .faq-list summary{font-size:18px;min-height:48px}.readable .consult-copy h2{font-size:51px}.readable .consult-note{font-size:16px}.readable form{padding:25px}.readable .form-heading h3{font-size:28px}.readable .form-heading>span{font-size:13px}.readable legend{font-size:17px}.readable .choices span{font-size:16px;min-height:48px;padding:12px}.readable .direct-contact strong{font-size:22px}.readable .direct-contact small{font-size:15px}.readable main .form-disclaimer{font-size:16px}.readable .direct-contact>a{gap:11px}.readable .direct-contact>a>.icon:last-child{display:none}.readable .contacts-section{padding:60px 0}.readable .contacts-grid h2{font-size:43px}.readable .address-card{padding:28px}.readable .address-card h3{font-size:29px}.readable .address-index{font-size:14px}.readable .travel-note{font-size:16px}.readable footer.wrap{display:grid;grid-template-columns:1fr;gap:23px;padding-block:32px}.readable footer p{font-size:17px}.readable .footer-brand span{font-size:16px}.readable dialog{padding:38px 25px}.readable dialog h2{font-size:29px}.readable #diagram-dialog>p:not(.eyebrow){font-size:16px}}
@media(prefers-reduced-motion:reduce){.readable .service:hover{transform:none}.readable .header nav a::after{transition:none}}
@media(min-width:1100px){.readable .hero-actions{flex-direction:row;align-items:center;flex-wrap:wrap}.readable .hero .text-link{font-size:16px}}
@media(min-width:761px) and (max-height:850px){.readable .header{min-height:100px}.readable .hero{padding-top:16px;align-items:start}.readable .hero-copy{padding-top:15px}.readable .hero h1{font-size:clamp(56px,5.1vw,74px);line-height:1.06;margin-bottom:24px}.readable .personal-photo{height:580px}.readable .hero-person{margin-bottom:10px}.readable .hero-copy .lead{margin-bottom:24px}}
