/* Shared typography, navigation and inner-page composition. */
:root{--ink:#103b52;--dark:#103b52;--primary-dark:#087f98;--muted:#516b78;--soft:#f0f7f6;--line:#d7e5e8}
html{scroll-padding-top:24px}
body{overflow-wrap:break-word}
.hc-skip-link{position:absolute;left:16px;top:-100px;background:#103b52;color:#fff;padding:12px 20px;z-index:1000;text-decoration:none;border-radius:3px}
.hc-skip-link:focus{top:12px;outline:3px solid #80e6f1;outline-offset:3px}
.site-header{border-bottom-color:#e1ebed}
.site-header .site-logo-image img{max-width:230px;max-height:62px;object-fit:contain}
.site-header .main-nav a{line-height:1.4;padding-block:10px}
.site-header .main-nav a:focus-visible,.site-header button:focus-visible{outline:3px solid #087f98;outline-offset:5px}
.site-header .main-nav .current-menu-item>a{opacity:1;color:#087f98;text-underline-offset:7px;text-decoration:underline;text-decoration-thickness:2px}
.page-hero{padding:68px 0;background:#f0f7f6}
.page-hero h1{font-size:clamp(42px,6vw,76px);line-height:1.05;max-width:1100px;overflow-wrap:break-word}
.page-hero .archive-intro{max-width:760px;line-height:1.7}
.single-wrap{padding-top:64px;padding-bottom:72px}
.single-wrap .single-header h1,.single-project h1{line-height:1.08;overflow-wrap:break-word}
.single-content{line-height:1.8}
.single-content img{height:auto;max-width:100%}
.single-content a{text-decoration-thickness:1px;text-underline-offset:4px}
.news-card,.writing-card,.project-card{min-width:0}
.news-card h3,.writing-card h3,.project-card h3{line-height:1.25}
.filter-form select,.filter-form button,.hc-contact-form input,.hc-contact-form button{min-height:48px}
.contact-page-intro h1{line-height:1.06;overflow-wrap:break-word}
.hc-contact-form textarea{min-height:160px}
.contact-newsletter{background:#103b52;color:#fff}
.contact-newsletter .newsletter-notice{max-width:1200px;padding:0 24px;margin:0 auto 20px;color:inherit}
.contact-newsletter__form input{min-width:0;min-height:52px}
.contact-newsletter__form button{min-height:52px;background:#bfe8ea;color:#103b52}
.site-footer{margin-top:0;border-top:1px solid #e1ebed;padding:42px 0;background:#fff}
.footer-inner{gap:28px}
.footer-logo{max-width:230px;max-height:66px;object-fit:contain}
.footer-links a,.footer-right{font-size:12px;line-height:1.7}
@media(max-width:900px){
  .site-header .header-inner{min-height:76px;gap:14px!important}
  .site-header .site-logo-image img{max-width:195px;max-height:56px}
  .site-header .header-right-controls{gap:10px!important}
  .site-header .menu-toggle{min-width:44px;min-height:44px;flex-shrink:0}
  .site-header .main-nav.is-open{display:flex!important;flex-direction:column!important;align-items:stretch!important;position:absolute!important;left:0!important;right:0!important;top:100%!important;width:100%!important;background:#fff!important;padding:16px 24px!important;box-shadow:0 12px 24px rgb(16 59 82 / .08);border-top:1px solid #d7e5e8}
  .site-header .main-nav.is-open>ul{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;width:100%!important}
  .site-header .main-nav.is-open a{display:block;min-height:44px;padding:12px 8px;text-decoration:none}
  .site-header .main-nav.is-open .sub-menu{position:static;box-shadow:none;border:0;padding:0 0 8px 14px}
  .page-hero{padding:50px 0}
}
@media(max-width:700px){
  .container{width:calc(100% - 40px)}
  .site-header .container{width:calc(100% - 32px)}
  .site-header .site-logo-image img{max-width:170px;max-height:50px}
  .site-header .header-inner{gap:8px!important}
  .site-header .header-search-toggle{width:34px!important;min-width:34px!important;flex-basis:34px!important}
  .section{padding:48px 0}
  .section-head{align-items:flex-start;gap:16px;flex-wrap:wrap}
  .single-wrap{padding:42px 0 48px}
  .single-content{font-size:16px;line-height:1.75}
  .filter-form,.archive-toolbar{gap:10px;flex-wrap:wrap}
  .filter-form select{min-width:0;width:100%;font-size:16px}
  .hc-contact-form input,.hc-contact-form textarea,.contact-newsletter__form input{font-size:16px}
  .site-footer{padding:32px 0}
  .footer-inner{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
  .footer-links ul{flex-wrap:wrap;gap:14px}
  .footer-right{font-size:11px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
