/* Shared reading rhythm; source copied by the site generator. */
:root{--muted:#4f686d;--teal:#076f7b;--space-section:4rem;--space-content:1.5rem}
html{scroll-padding-top:7rem}
body{overflow-wrap:anywhere;font-size:1.0625rem}
.detail-main{grid-template-columns:minmax(0,1fr)}
.detail-section{min-width:0}
main [id]{scroll-margin-top:7rem}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #08717d;outline-offset:4px}
.section-contact a:focus-visible,.site-footer a:focus-visible{outline-color:#78e1e8}
.contact-copy .kicker{color:#78e1e8}
.section{padding-block:var(--space-section)}
.section-heading{margin-bottom:2rem}
.hero-inner{min-height:0;padding-block:3rem;gap:3rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
h1{font-size:clamp(2rem,3.3vw,2.75rem);line-height:1.16;max-width:24ch}
h2{font-size:clamp(1.65rem,2.4vw,2rem);line-height:1.24}
h3{font-size:1.25rem;line-height:1.35}
.kicker,.service-category,.direct-contact span{font-size:.875rem;letter-spacing:.065em}
.header-inner{gap:1.25rem}
.brand-logo-frame{width:10rem;height:3.5rem;display:grid;place-items:center;overflow:hidden;border-radius:0}
.brand-logo-frame img{width:100%;height:auto;max-width:none;display:block;transform:scale(1.35);transform-origin:center}
.site-header nav{gap:1rem}
.site-header nav a,.language-link{font-size:.875rem;min-height:44px;display:inline-flex;align-items:center}
.hero-lead{font-size:1.0625rem;line-height:1.65}
.hero-note{font-size:.875rem}
.hero-problems{padding-left:0}
.hero-problems li{padding-block:1rem}
.hero-problems .related-services{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem}
.hero-problems .related-services a{font-size:.875rem;line-height:1.45;letter-spacing:0;text-transform:none;min-height:32px;padding-block:.25rem;text-decoration:underline;text-underline-offset:3px}
.service-card{padding:1.5rem;min-height:0;box-shadow:none}
.card-top{margin-bottom:1rem}
.text-link{min-height:44px}
.approach-layout,.contact-layout{gap:3rem}
.section-profile{padding-top:0}
.profile-card{padding:2rem;grid-template-columns:92px minmax(0,1fr) minmax(250px,.72fr);gap:2rem}
.profile-copy{min-width:0}
.profile-mark{width:92px;height:92px;overflow:hidden;background:#f7f5f1;color:transparent}
.profile-mark img{width:100%;height:100%;max-width:none;display:block;object-fit:contain;transform:none}
.platform-links{display:flex;flex-wrap:wrap;gap:.625rem;margin-top:1.25rem}
.platform-links a{min-height:44px;padding:.5rem .75rem;display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:.875rem;font-weight:750;text-decoration:none}
.platform-links a:hover,.platform-links a:focus-visible{border-color:var(--teal);color:var(--teal);background:#fff}
.platform-symbol{width:1.5rem;height:1.5rem;display:inline-grid;place-items:center;border-radius:5px;background:var(--ink);color:#fff;font-size:.6875rem;font-weight:850;letter-spacing:-.02em;text-transform:none}
.platform-linkedin{font-family:Arial,sans-serif;font-size:.875rem}
.platform-freelancermap{background:var(--teal)}
.platform-malt{background:#ff5a5f;font-family:Arial,sans-serif;font-size:.875rem}
.platform-upwork{background:#17693e}
.external-symbol{color:var(--teal)}
.latest-project{min-width:0;padding:1.25rem;border-left:3px solid var(--cyan);background:var(--tint)}
.latest-project .kicker{margin-bottom:.5rem}
.latest-project h3{font-size:1.125rem}
.latest-project h3 a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);text-decoration:underline;text-decoration-color:var(--teal);text-underline-offset:4px}
.latest-project h3 a:hover,.latest-project h3 a:focus-visible{color:var(--teal)}
.latest-project-network{margin:.35rem 0 0;color:var(--muted);font-size:.875rem;line-height:1.5}
.latest-project-network a{color:var(--teal);font-weight:700;text-underline-offset:3px}
.latest-project ul{margin:.75rem 0 0;padding-left:1.15rem;color:var(--muted);font-size:.9375rem;line-height:1.5}
.latest-project li+li{margin-top:.45rem}
.detail-hero{padding-block:2.75rem}
.detail-hero h1{margin-top:0}
.detail-hero-service h1{max-width:32ch}
.detail-hero-inner>p:not(.kicker){max-width:70ch;margin:1.25rem 0 0;color:var(--ink-2);font-size:1.0625rem;line-height:1.65}
.detail-hero-link{margin-top:1rem}
.detail-page{padding-top:2.5rem}
.detail-page-layout{grid-template-columns:250px minmax(0,1fr);gap:3rem}
.service-sidebar{top:7rem;max-height:calc(100dvh - 8rem);overflow-y:auto}
.service-nav-group p{font-size:.875rem;letter-spacing:.045em}
.service-nav-group a{min-height:44px;font-size:.9375rem}
.detail-section{padding-bottom:2rem}
.detail-section+.detail-section{padding-top:2rem}
.detail-section>h2{max-width:34ch}
.detail-section>h2+p,.detail-section>p+p{max-width:70ch}
.detail-points{margin-top:1.5rem;gap:.5rem 1.5rem}
.detail-pair,.responsibility-grid{margin-top:1.5rem;gap:1rem}
.detail-pair article,.responsibility-grid>div,.entry-options article{padding:1.25rem;min-width:0}
.detail-section-tint{margin-inline:0;padding-inline:1.25rem}
.work-path{margin-top:1.5rem}
.work-path article{gap:1.5rem}
.entry-options{grid-template-columns:1fr;margin-block:1.5rem}
.entry-options p{font-size:1rem}
.contact-form label,.footer-inner a{font-size:.9375rem}
.direct-contact a{overflow-wrap:anywhere}
.contact-form input,.contact-form select,.contact-form textarea{min-width:0;font-size:1rem;border-color:#748b90}
.contact-form select{max-width:100%}
.contact-form,.contact-copy,.hero-copy,.hero-problems{min-width:0}
.site-footer a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:1100px){
 .header-inner{flex-wrap:wrap;padding-block:.5rem;gap:.25rem 1rem}
 .site-header nav{order:3;width:100%;margin:0;justify-content:space-between;flex-wrap:wrap}
 .language-link{margin-left:auto}
 .detail-page-layout{display:block}
 .service-sidebar{display:none}
 .service-switcher{display:block;margin-bottom:2rem;border:1px solid var(--line);border-radius:10px;background:#fff}
 .service-switcher summary{padding:.875rem 1rem;font-weight:750;cursor:pointer;min-height:48px}
 .service-switcher nav{padding:0 1rem 1rem}
 .detail-pair,.responsibility-grid,.detail-points{grid-template-columns:1fr 1fr}
 .profile-card{grid-template-columns:92px minmax(0,1fr)}
 .latest-project{grid-column:2}
}
@media(max-width:900px){
 :root{--space-section:3rem}
 .hero-inner{grid-template-columns:1fr;gap:2rem;padding-block:2.5rem}
 .hero-copy{max-width:70ch}
 .approach-layout,.contact-layout{gap:2rem}
}
@media(max-width:720px){
 body{font-size:1rem}
 :root{--space-section:2.5rem}
 .header-inner{display:flex;width:calc(100% - 32px)}
 .site-header{position:static}
 .site-header nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));gap:.125rem .75rem;overflow:visible;padding:0;width:100%}
 .site-header nav a{white-space:normal;font-size:.875rem;line-height:1.35}
 html{scroll-padding-top:11rem}
 main [id]{scroll-margin-top:11rem}
 .section{padding-inline:1rem}
 .hero-inner{width:calc(100% - 32px);padding-block:2rem}
 h1{font-size:2rem}
 h2{font-size:1.75rem}
 .detail-hero{padding:2rem 1rem}
 .detail-page{padding-top:2rem}
 .detail-points,.detail-pair,.responsibility-grid{grid-template-columns:1fr}
 .detail-section{padding-bottom:1.5rem}
 .detail-section+.detail-section{padding-top:1.5rem}
 .detail-section-tint{margin-inline:0;padding-inline:1rem}
 .detail-pair article,.responsibility-grid>div,.entry-options article{padding:1rem}
 .work-path article{grid-template-columns:1fr;gap:.375rem}
 .service-card,.contact-form,.profile-card{padding:1.25rem}
 .profile-card{grid-template-columns:1fr;gap:1.25rem}
 .latest-project{grid-column:auto}
 .platform-links{display:grid;grid-template-columns:1fr}
 .platform-links a{width:100%}
 .hero-problems .related-services a{min-height:44px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}}
