/* ZUBA 1.4: shared navigation, a compact introduction and readable mobile content. */
.zuba-icon{display:inline-block;width:22px;height:22px;min-width:22px;flex-shrink:0;vertical-align:middle;overflow:visible}
.arrow-button{display:inline-flex;justify-content:center;align-items:center}
.site-header{background:var(--paper)}
body.admin-bar .site-header{top:32px}
summary:focus-visible{outline:3px solid #a27437;outline-offset:5px}
.welcome{padding-top:36px}
.welcome-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,4vw,64px);align-items:center}
.welcome-photo{position:relative;min-width:0}
.welcome-photo img{width:100%;aspect-ratio:1.12;object-fit:cover;object-position:center}
.welcome-photo figcaption{position:absolute;bottom:12px;left:12px;padding:5px 10px;font-size:16px;line-height:1.4;background:#20211ed9;color:white}
.welcome-copy h1{font-size:clamp(40px,4.4vw,68px);letter-spacing:-.05em;line-height:1.07}
.welcome-intro{font-size:clamp(20px,1.7vw,24px);line-height:1.5;margin-top:24px;max-width:620px}
.welcome-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.welcome-actions .button{gap:14px;flex:1 1 190px;justify-content:space-between}
.case-help{font-size:18px;color:var(--muted);margin:0 0 16px;max-width:650px}
.case-nav a{border-color:#929588;background:#fff;min-height:52px}
.case-nav a[aria-current="true"]{font-weight:600;box-shadow:inset 0 -3px 0 #222719}
.case-controls{margin:18px 0 0 auto;justify-content:flex-end}
.case-controls>span{margin-right:8px}
.case-media{aspect-ratio:auto}
.case-media img{width:100%;height:auto}
.case-track{scrollbar-width:none}
.case-track::-webkit-scrollbar{display:none}
.case-track:focus-visible{outline-offset:4px}
.case-ready .case-enlarge{display:inline-flex;align-items:center;gap:12px;white-space:normal;text-align:left}
.expertise-section{gap:clamp(28px,5vw,72px)}
.expertise{min-width:0}
.expertise-author{display:flex;align-items:center;gap:24px;margin-bottom:28px;width:100%}
.expertise-author figure{flex:0 0 38%;max-width:200px;position:relative}
.expertise-author img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 38%}
.expertise-author figcaption{position:absolute;bottom:0;left:0;right:0;background:#20211ed9;color:white;font-size:14px;line-height:1.3;padding:6px}
.author-name{font-size:clamp(24px,2.2vw,32px);line-height:1.15;font-weight:600;letter-spacing:-.025em}
.author-role{font-size:19px;line-height:1.4;color:var(--muted);margin-top:10px}
.expertise h2{font-size:clamp(30px,3vw,44px);min-height:0;max-width:none}
.expertise-short{font-size:20px;margin-top:22px;line-height:1.55}
.approach-details{width:100%;margin-top:18px;font-size:19px;line-height:1.6}
.approach-details summary,.team-note summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;min-height:48px;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.approach-details summary::-webkit-details-marker,.team-note summary::-webkit-details-marker{display:none}
.approach-details[open] summary .zuba-icon,.team-note[open] summary .zuba-icon{transform:rotate(180deg)}
.approach-details p{margin-top:16px}
.expertise .service-list{list-style:disc;padding-left:24px;margin:24px 0 30px}
.expertise .service-list li{border:0;padding:0 0 12px 5px;font-size:20px;line-height:1.45}
.expertise .service-list li::marker{color:var(--olive)}
.expertise .contact-chooser{margin-top:auto;max-width:none}
.team-note{margin-top:36px;padding:22px 28px;background:var(--panel)}
.team-note summary{font-size:23px;font-weight:600;text-decoration:none}
.team-note p{max-width:900px;margin-top:18px}
.home-blog-intro{max-width:760px;margin-top:24px}
.home-blog .article-grid{margin-top:30px}
.reviews-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:32px}
.review-card{background:var(--panel);padding:32px;min-width:0}
.review-card blockquote{margin:0;font-size:21px;line-height:1.6;overflow-wrap:anywhere}
.review-card figcaption{display:flex;flex-direction:column;gap:8px;margin-top:24px;font-size:18px}
.review-card .text-link{align-self:flex-start;margin-top:8px}
.contact-messengers{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.contact-messengers .button{margin:0;min-width:160px;justify-content:space-between}
.site-footer{display:block;padding:0;background:var(--paper)}
.footer-grid{display:grid;grid-template-columns:1fr 1.1fr 1fr 1fr;gap:32px;padding-top:48px;padding-bottom:36px}
.footer-brand p{font-size:17px;line-height:1.5;margin-top:16px;max-width:270px}
.footer-brand .brand img{width:132px;height:63px}
.footer-group{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:4px}
.footer-group h2{font-size:21px;line-height:1.25;letter-spacing:-.015em;margin-bottom:12px}
.footer-group a{font-size:18px;line-height:1.45;padding:10px 0;overflow-wrap:anywhere;min-height:44px}
.footer-group a:hover,.footer-bottom a:hover{text-decoration:underline;text-underline-offset:5px}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:16px 30px;padding-top:24px;padding-bottom:28px;border-top:1px solid var(--line)}
.footer-bottom p{font-size:16px;margin:0;max-width:none}
.footer-bottom a{font-size:16px;padding:10px 0;min-height:44px}
.footer-bottom .footer-owner{flex:1 1 300px;overflow-wrap:anywhere}
.footer-bottom a:last-child{margin-left:auto;white-space:nowrap}
.prose img{height:auto}
.prose figcaption{font-size:17px;line-height:1.5;color:var(--muted);margin-top:10px}
@media(max-width:1100px){.footer-grid{grid-template-columns:1fr 1fr;gap:32px 48px}.welcome-grid{gap:28px}.welcome-actions .button{flex-basis:100%;max-width:340px}.expertise-author{gap:18px}}
@media(max-width:800px){body.admin-bar .site-header{top:46px}.welcome-grid{grid-template-columns:1fr}.welcome-photo img{aspect-ratio:3/2;object-position:50% 45%}.welcome-copy h1{font-size:clamp(38px,6vw,54px);max-width:650px}.welcome-actions .button{flex:1 1 200px;max-width:none}.expertise-section{grid-template-columns:1fr}.expertise-author figure{flex-basis:145px}.author-name{font-size:29px}.expertise h2{font-size:36px;max-width:650px}.expertise-short{max-width:750px}.expertise .service-list{margin-top:20px}.case-controls{margin-left:auto}.reviews-grid{grid-template-columns:1fr}}
@media(max-width:600px){body.admin-bar .site-header{top:0}}
@media(max-width:580px){.welcome{padding-top:22px}.welcome-photo img{aspect-ratio:4/3}.welcome-grid{gap:24px}.welcome-copy h1{font-size:clamp(35px,9vw,46px);line-height:1.08}.welcome-intro{font-size:20px;margin-top:18px}.welcome-actions{margin-top:22px;gap:10px}.welcome-actions .button{flex-basis:100%;font-size:19px;min-height:56px}.case-help{font-size:18px}.case-nav{gap:10px}.case-nav a{font-size:18px;min-height:52px;padding:12px 8px}.case-controls{margin-top:12px}.case-controls .arrow-button{width:52px;height:52px}.case-controls>span{font-size:18px}.expertise-author{gap:20px;margin-bottom:24px}.expertise-author figure{flex-basis:38%;max-width:160px}.author-name{font-size:26px}.author-role{font-size:18px}.expertise h2{font-size:34px}.expertise-short{font-size:20px}.team-note{padding:18px 20px;margin-top:28px}.team-note summary{font-size:21px}.home-blog h2,.reviews-section>h2{font-size:36px}.review-card{padding:24px}.contact-messengers .button{width:auto;flex:1 1 145px;min-width:0;font-size:19px}.contact-inner h2{font-size:40px}.contact-details .phone-link{font-size:clamp(24px,7vw,30px);white-space:normal}.footer-grid{grid-template-columns:1fr;gap:28px;padding-top:36px}.footer-brand p{max-width:330px}.footer-group h2{font-size:23px;margin-bottom:8px}.footer-group a{font-size:19px;min-height:48px}.footer-bottom{gap:12px 24px}.site-footer .footer-bottom p{max-width:none;order:0;flex-basis:auto}.footer-bottom .footer-owner{flex-basis:100%}.footer-bottom a:last-child{margin-left:0}.case-dialog-bar{gap:12px}.case-dialog-bar .button{padding-inline:12px}}
@media print{.welcome-actions,.case-controls,.contact-messengers,.footer-group{display:none!important}.footer-grid{display:block}.site-header{position:static}.case-track{scrollbar-width:auto}.welcome-grid{grid-template-columns:1fr 1fr}}
