/* Logo and footer layout, loaded independently to avoid stale theme styles. */
.logo img, .wp-block-site-logo img { display:block; width:220px; max-width:100%; height:auto; object-fit:contain; }
.site-header .wp-block-site-logo,.site-header .logo { flex:0 0 auto; }
.site-header .wp-block-site-logo img,header .logo img { width:220px; max-height:54px; }
.site-header .header-inner { min-height:88px; gap:28px; }
.site-header nav { min-height:88px; height:auto; }
.site-footer { padding:0; background:#111b18; color:#b7c3bb; border-top:1px solid rgba(214,169,74,.2); font-size:.92rem; }
.site-footer > .container { width:min(1160px,calc(100% - 48px)); margin-inline:auto; }
.site-footer .footer-heading { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:48px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.site-footer .footer-kicker { margin:0 0 14px; color:#d6a94a; font-size:.7rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.site-footer .footer-title { margin:0; color:#f7f4ec; font-size:clamp(1.7rem,3.3vw,2.65rem); letter-spacing:-.055em; line-height:1.16; }
.site-footer .footer-heading .wp-block-buttons { flex-shrink:0; }
.site-footer .footer-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr); gap:56px; padding:50px 0; }
.site-footer .footer-grid > * { min-width:0; margin:0; }
.site-footer .footer-brand .logo img,.site-footer .wp-block-site-logo img { width:210px; height:auto; max-width:100%; }
.site-footer .footer-philosophy { margin:22px 0 12px; color:#f7f4ec; font-size:1.03rem; line-height:1.5; }
.site-footer .footer-description { margin:0; max-width:280px; font-size:.9rem; line-height:1.85; }
.site-footer .footer-column-title { margin:0 0 22px; color:#d6a94a; font:700 .7rem/1.5 "DM Sans",sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.site-footer nav { height:auto; display:block; }
.site-footer .footer-topics,.site-footer .footer-topics .wp-block-navigation__container { width:100%; margin:0; padding:0; display:flex; flex-direction:column; align-items:stretch; gap:0; list-style:none; counter-reset:topic; }
.site-footer .footer-topics li { counter-increment:topic; width:100%; margin:0; border-bottom:1px solid rgba(255,255,255,.1); }
.site-footer .footer-topics li:first-child { border-top:1px solid rgba(255,255,255,.1); }
.site-footer .footer-topics li a { display:flex; width:100%; align-items:baseline; gap:12px; padding:12px 0; line-height:1.55; color:#d8e0db; font-size:.86rem; text-decoration:none; }
.site-footer .footer-topics li a::before { content:counter(topic,decimal-leading-zero); flex:none; color:#d6a94a; font-size:.65rem; }
.site-footer .footer-topics li a::after { content:"\2197"; margin-left:auto; color:#d6a94a; }
.site-footer .footer-contact { padding:26px; border:1px solid rgba(214,169,74,.22); border-radius:18px; background:rgba(255,255,255,.025); align-self:start; }
.site-footer a { text-decoration:none; }
.site-footer a:hover { color:#ecc568; }
.site-footer .footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:18px 0; border-top:1px solid rgba(255,255,255,.12); font-size:.73rem; }
.site-footer .footer-bottom p { margin:0; }
.site-footer .footer-bottom-links,.site-footer .footer-bottom-links .wp-block-navigation__container { display:flex; flex-direction:row; flex-wrap:wrap; gap:24px; margin:0; }
.site-footer .footer-bottom-links a { display:inline-flex; min-height:44px; align-items:center; }
@media(max-width:1000px) {
 .site-footer .footer-grid { gap:28px; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .site-footer .footer-brand { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:28px; }
 .site-footer .footer-brand > .logo,.site-footer .footer-brand > .wp-block-site-logo { grid-row:1/3; align-self:center; }
 .site-footer .footer-philosophy { margin-top:0; }
}
@media(max-width:780px) {
 .site-header .header-inner { min-height:76px; }
 .site-header nav { min-height:76px; }
 .site-header .wp-block-site-logo img,header .logo img { width:180px; }
}
@media(max-width:600px) {
 .site-footer > .container { width:calc(100% - 36px); }
 .site-footer .footer-heading { flex-direction:column; align-items:flex-start; padding:36px 0; gap:24px; }
 .site-footer .footer-grid { grid-template-columns:minmax(0,1fr); padding:36px 0; gap:36px; }
 .site-footer .footer-brand { display:block; grid-column:auto; }
 .site-footer .footer-philosophy { margin-top:22px; }
 .site-footer .footer-contact { padding:24px; }
 .site-footer .footer-bottom { flex-direction:column; align-items:flex-start; gap:6px; }
}

/* Direct footer contact actions. */
.site-footer .footer-contact-actions { display:flex; flex-direction:column; align-items:stretch; gap:12px; margin:0; }
.site-footer .footer-contact-actions .wp-block-button { width:100%; }
.site-footer .footer-contact-actions .btn,.site-footer .footer-contact-actions .wp-block-button__link { width:100%; justify-content:space-between; }
.site-footer .footer-location { margin:22px 0 0; padding-top:18px; border-top:1px solid rgba(255,255,255,.1); color:#b7c3bb; font-size:.86rem; line-height:1.6; }

/* Final rhythm and interaction polish. */
.logo { display:inline-flex; align-items:center; flex-shrink:0; }
.site-header .main-navigation { min-height:0; }
.site-header .logo,.site-header .wp-block-site-logo { line-height:0; }
.site-footer .footer-contact .footer-column-title { margin-bottom:20px; }
.site-footer .footer-contact .wp-block-buttons { margin-top:0; }
.site-footer .footer-heading .btn { flex-shrink:0; }
.site-footer .footer-contact-actions a:focus-visible { outline-offset:4px; }
.site-footer .footer-bottom-links a { color:#b7c3bb; }
.site-footer .footer-bottom-links a:hover { color:#ecc568; }
.page-main .wp-block-query-pagination a { min-height:44px; display:inline-flex; align-items:center; }
.article-meta { flex-wrap:wrap; }
@media(hover:hover) {
 .site-footer .footer-topics li a { transition:color .2s ease; }
 .site-footer .footer-topics li a:hover { color:#ecc568; }
}
@media(max-width:780px) {
 .site-header .main-navigation { min-height:0; }
 .nav-links a { display:block; min-height:44px; padding-block:10px; }
 .nav-links { gap:4px; }
}
