/* Shared reading, spacing and interaction rules for both languages. */
:root { --muted:#52677e; --reading:#52677e; --content-width:1280px; --section-space:80px; --card-radius:8px; }
html { scroll-padding-top:110px; }
body { font-size:15px; }
.wrap,.inner-page .wrap { width:min(var(--content-width),calc(100% - 96px)); }
main :is(section,article,[id]) { scroll-margin-top:24px; }
:is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #427ca9; outline-offset:4px; }
.home-hero-editorial :focus-visible,.footer :focus-visible { outline-color:#c3e1ff; }
.button,.inner-surface .button { border-radius:5px; min-height:48px; font-size:14px; transition:background .2s,color .2s; }
.button:hover { transform:none; }
.text-link,.inner-surface .text-link { min-height:44px; font-size:14px; }
.home-page .hero-copy>p { font-size:17px; line-height:1.8; }
.home-page .home-hero-editorial .hero-actions>.button,.home-page .home-hero-editorial .hero-contact-link { font-size:14px; }
.hero-footnote a { font-size:12px; }
.home-introduction { padding-block:var(--section-space); gap:64px; }
.home-introduction p { font-size:16px; line-height:1.85; max-width:58ch; }
.home-page :is(.focus-expertise,.team-showcase,.office-standards,.questions-section,.institutional-home) { padding-block:var(--section-space); }
.home-page :is(.section-heading,.team-section-heading,.standards-heading) { margin-bottom:32px; }
.home-page :is(.section-heading,.team-section-heading,.standards-heading) h2 { font-size:clamp(30px,3vw,40px); letter-spacing:-1.4px; line-height:1.18; margin:0; }
.home-page .section-heading .eyebrow { margin-bottom:16px; font-size:11px; color:#526d87; }
.home-page .focus-heading { align-items:end; }
.home-page .focus-heading>p { max-width:360px; font-size:15px; color:var(--muted); line-height:1.75; }
.home-page .focus-list { gap:28px; }
.home-page .focus-area { border-radius:var(--card-radius); transition:border-color .2s,box-shadow .2s; }
.home-page .focus-area-copy { padding:26px; }
.home-page .focus-area-copy p { font-size:15px; line-height:1.8; }
.home-page .focus-area-copy .text-link { font-size:13px; }
.home-page .focus-area:hover,.home-page .focus-area:focus-within { border-color:#9aacbe; box-shadow:0 8px 24px #0b234009; }
.home-page .focus-area:hover .focus-area-image img { transform:none; }
.team-showcase { border-top:1px solid #e3eaf0; }
.team-member h3 { font-size:20px; }
.team-member p,.team-founder-card figcaption p { font-size:13px; }
.team-support-note span,.team-support-note p { font-size:13px; }
.team-founder-card { box-shadow:0 8px 24px #0b234007; }
.standards-grid { gap:28px; border:0; }
.standards-grid article,.standards-grid article+article { padding:28px; background:#f4f7fa; border:1px solid #e3eaf0; border-radius:var(--card-radius); }
.standards-grid article:last-child { padding-right:28px; }
.standards-grid article+article:before,.standard-marker { display:none; }
.standards-grid h3 { font-size:23px; margin-bottom:16px; }
.standards-grid p { color:var(--muted); font-size:15px; line-height:1.8; }
.questions-section { background:#fff; }
.questions-intro>p,.faq-answer p { font-size:15px; color:var(--muted); }
.faq-answer p { line-height:1.85; }
.faq-item summary { font-size:16px; padding-block:24px; }
.faq-item[open] { border-bottom-color:#647e98; }
.question-filters { gap:8px; }
.question-filters button { min-height:44px; padding:10px 14px; border:1px solid #dce4ec; border-radius:5px; color:#52677e; font-size:13px; text-align:left; }
.question-filters button[aria-pressed=true] { background:#0b2340; color:#fff; border-color:#0b2340; box-shadow:none; }
.question-search>span { font-size:13px; }
.question-search input { min-height:48px; font-size:16px; }
.home-page .blog-section { width:100%; max-width:none; background:#f3f6f9; border-block:1px solid #e3eaf0; padding:var(--section-space) max(48px,calc((100% - var(--content-width))/2)); }
.home-page .blog-navigation { display:none; }
.home-page .blog-grid { gap:28px; }
.home-page .blog-card { display:flex; flex-direction:column; border:1px solid #dfe6ed; border-radius:var(--card-radius); overflow:hidden; background:white; }
.home-page .blog-card[hidden] { display:none; }
.home-page .blog-card-image { height:auto; aspect-ratio:1.7; flex-shrink:0; }
.home-page .blog-card-image>span { font-size:11px; border-radius:3px; }
.home-page .blog-card-copy { padding:26px; display:flex; flex-direction:column; flex:1; }
.home-page .blog-card-meta { font-size:11px; color:#536b83; flex-wrap:wrap; margin-bottom:16px; }
.home-page .blog-card h3 { font-size:22px; line-height:1.4; }
.home-page .blog-card p { color:var(--muted); font-size:15px; line-height:1.8; }
.home-page .blog-card .text-link { font-size:13px; margin-top:auto; align-self:flex-start; }
.institutional-home { border:0; }
.institutional-links { gap:24px; }
.institutional-links>a { padding:28px; border:1px solid #dfe6ed; border-radius:var(--card-radius); transition:background .2s,border-color .2s; }
.institutional-links>a:hover { background:#f4f7fa; border-color:#9aacbe; }
.institutional-links>a>span { font-size:10px; color:#536b83; }
.institutional-links h3 { font-size:25px; margin:20px 0 12px; }
.institutional-links p { font-size:15px; color:var(--muted); }
.institutional-links i { right:24px; bottom:25px; }
.inquiry-section { padding-block:var(--section-space); }
.inquiry-aside>p,.inquiry-aside address { font-size:15px; color:var(--muted); }
.inquiry-phone>div { grid-template-columns:76px 1fr; gap:12px; align-items:center; }
.inquiry-phone dt { font-size:12px; }
.inquiry-phone a { display:inline-flex; align-items:center; min-height:44px; font-size:15px; white-space:normal; overflow-wrap:anywhere; }
.inquiry-phone { gap:0; margin-block:18px; }
.inquiry-form,.inner-route-contact .inquiry-form { border:1px solid #d9e3ec; border-radius:var(--card-radius); box-shadow:0 10px 35px #0b234008; }
.inquiry-form .field label { font-size:13px; }
.inquiry-form .field :is(input,select,textarea),.inner-surface .inquiry-form .field :is(input,select,textarea) { background:#fff; font-size:16px; min-height:48px; border-color:#a6b6c7; border-radius:5px; }
.inquiry-form .field textarea { min-height:130px!important; }
.inquiry-form .field :is(input,textarea)::placeholder { color:#62768b; opacity:1; }
.inquiry-submit p { font-size:12px; color:var(--muted); }
.inquiry-submit .button { font-size:14px; }
.office-map,.office-map>a { border-radius:5px; }
.office-map>a { min-height:44px; font-size:13px; }
.footer-redesign .footer-directory { gap:24px; }
.footer-directory>div { gap:4px; }
.footer-directory a,.footer-office>a,.footer-legal button { display:flex; align-items:center; min-height:44px; font-size:14px; }
.footer-office .footer-phone { font-size:22px; }
.footer-office address { color:#afc1d3; font-size:13px; }
.footer-office h2,.footer-location { color:#afc1d3; font-size:11px; }
.footer-legal { color:#afc1d3; font-size:12px; }
.inner-page .inner-surface .blog-card,.inner-page .inner-surface .area-card,.announcement-card { border-radius:var(--card-radius); }
.inner-page .inner-surface .blog-card p { font-size:16px; line-height:1.8; }
.inner-page .inner-surface .blog-card-meta { font-size:12px; }
.inner-surface .reading-chapter p { max-width:70ch; line-height:1.9; }
.blog-area-filter button,.announcement-filters button { min-height:44px; }
.inner-surface .field input,.inner-surface .field select { border-color:#a6b6c7; font-size:16px; }
@media(min-width:801px) {
 .home-page .home-hero-editorial { padding-top:82px; }
 .home-page .hero-artwork { top:82px; }}
@media(min-width:801px) and (max-width:1150px) {
 .home-page .blog-card-copy { padding:20px; }}
@media(max-width:800px) {
 :root { --section-space:48px; }
 .wrap,.inner-page .wrap { width:calc(100% - 40px); }button):focus-visible { outline-offset:-3px; }
 .home-page .home-hero-editorial { padding-top:72px; }
 .home-hero-editorial .hero-content { padding-top:34px; }
 .home-page .hero-copy>p { font-size:16px; line-height:1.75; }
 .home-page .home-hero-editorial .hero-actions>.button,.home-page .home-hero-editorial .hero-contact-link { font-size:13px; }
 .hero-footnote a { font-size:11px; }
 .home-introduction { gap:24px; }
 .home-introduction p { font-size:16px; }
 .home-page .focus-heading { align-items:start; flex-direction:column; gap:16px; }
 .home-page .section-heading .eyebrow { font-size:10px; margin-bottom:14px; }
 .home-page .focus-heading>p { max-width:36ch; font-size:15px; }
 .home-page .focus-list { gap:24px; }
 .home-page .focus-area-copy,.home-page .focus-area:nth-child(even) .focus-area-copy { padding:22px; }
 .team-member h3 { font-size:17px; }
 .team-member p,.team-founder-card figcaption p { font-size:13px; }
 .standards-grid { gap:16px; }
 .standards-grid article,.standards-grid article+article,.standards-grid article:last-child { padding:24px; }
 .standards-heading { align-items:center; }
 .standards-heading>.text-link { font-size:12px; }
 .question-filters { display:grid; grid-template-columns:1fr; gap:8px; }
 .question-filters button { width:100%; font-size:14px; }
 .questions-intro>p br { display:none; }
 .faq-item summary { font-size:16px; padding-block:21px; }
 .faq-answer p { font-size:15px; }
 .home-page .blog-section { padding-inline:20px; }
 .home-page .blog-section .section-heading { align-items:start; gap:16px; }
 .home-page .blog-section .section-heading h2 { max-width:260px; }
 .home-page .blog-section .blog-all-link { font-size:12px; gap:12px; }
 .home-page .blog-grid { gap:24px; }
 .home-page .blog-card-copy { padding:22px; }
 .institutional-links { gap:16px; }
 .institutional-links>a { padding:24px; border-bottom:1px solid #dfe6ed; }
 .institutional-links h3 { margin-top:14px; }
 .inquiry-form .form-row { grid-template-columns:1fr; gap:0; }
 .inquiry-layout { grid-template-columns:1fr; gap:32px; }
 .inquiry-form { padding:24px; }
 .inquiry-form-heading { align-items:start; flex-direction:column; gap:10px; margin-bottom:24px; }
 .inquiry-phone>div { grid-template-columns:64px minmax(0,1fr); }
 .inquiry-phone a { font-size:14px; }
 .footer-directory { column-gap:20px; }
 .footer-legal { padding-right:0; gap:8px; }
 .footer-redesign .footer-legal { padding-right:0; }}
@media(max-width:360px) {
 .home-page .home-hero-editorial .hero-actions { gap:12px; }
 .home-page .home-hero-editorial .hero-actions>.button { gap:10px; font-size:12px; }
 .home-page .home-hero-editorial .hero-contact-link { gap:8px; font-size:12px; }
 .hero-footnote a { font-size:10px; }
 .home-page .blog-section .section-heading { flex-wrap:wrap; }
 .team-member h3 { font-size:16px; }}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 .button,.focus-area,.institutional-links>a,.blog-card-image img { transition:none; }
 .blog-card:hover .blog-card-image img { transform:none; }}/* One quiet curve at the entrance; straight, evenly spaced sections below. */
.wave { position:absolute; left:0; width:100%; pointer-events:none; z-index:1; }
.wave-bottom { bottom:-1px; height:64px; }
.wave-fill { fill:#fff; }
.footer-redesign { margin-top:0; }
.home-page .blog-section,.home-page .inquiry-section { padding-block:var(--section-space); }
.home-page .office-standards { border-top:1px solid #e3eaf0; }
.home-page .focus-area-copy,.home-page .focus-area:nth-child(even) .focus-area-copy { padding:26px; }
.home-page .focus-area-copy h3 { min-height:2.5em; }
.home-page .standards-grid,.home-page .institutional-links { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:800px) {
 .wave-bottom { height:36px; }
 .home-page .focus-area-copy,.home-page .focus-area:nth-child(even) .focus-area-copy { padding:22px; }
 .home-page .standards-grid,.home-page .institutional-links { grid-template-columns:1fr; }}
@media(max-width:550px) {
 .home-page .focus-area-copy h3 { min-height:0; }}