.menu-toggle{display:none;align-items:center;justify-content:center;gap:10px;min-width:100px;min-height:44px;padding:10px 14px;border:1px solid #364053;border-radius:4px;background:#1b202c;color:#f7f4ee;font:500 14px/1.4 'Space Grotesk',sans-serif;cursor:pointer;touch-action:manipulation}
.menu-toggle:hover{border-color:#e27d42;color:#e27d42}.menu-toggle:focus-visible{outline:2px solid #e27d42;outline-offset:4px}.menu-toggle .close-icon{display:none}.menu-toggle[aria-expanded="true"] .menu-icon{display:none}.menu-toggle[aria-expanded="true"] .close-icon{display:block}
@media(max-width:1279px){.site-header .header-status{display:none}}
@media(max-width:767px){
.site-header{background:#10131a}.site-header .header-bar{height:auto;min-height:80px;flex-wrap:wrap;gap:0;padding:18px 20px}.site-header .header-actions{display:contents}.site-header .header-avatar{display:none}.site-header .primary-navigation{flex:0 0 100%;display:flex;flex-direction:column;align-items:stretch;gap:0;margin-top:18px;border-top:1px solid #2a3242;max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}.site-header .primary-navigation a{display:flex;align-items:center;min-height:54px;padding:14px 4px;border-bottom:1px solid #2a3242;font:500 14px/1.5 'Space Grotesk',sans-serif;letter-spacing:.08em;text-decoration:none;color:#f7f4ee}.site-header .primary-navigation a:hover,.site-header .primary-navigation a:focus-visible{color:#e27d42;background:#161a22}.site-header.nav-ready .menu-toggle{display:inline-flex}.site-header.nav-ready .primary-navigation{display:none}.site-header.nav-ready.is-menu-open .primary-navigation{display:flex}
}

/* Keep social icons square when their adjacent descriptions wrap. */
.social-link-content{min-width:0;flex:1}.social-link-text{min-width:0;overflow-wrap:anywhere}.social-icon{flex:0 0 40px;width:40px;height:40px;aspect-ratio:1}.social-link-arrow{flex-shrink:0}.material-symbols-outlined{display:inline-block;flex-shrink:0;line-height:1;white-space:nowrap}.social-icon .material-symbols-outlined{width:20px;height:20px;font-size:20px;line-height:20px;text-align:center}
@media(min-width:768px){footer .footer-identity{grid-column:span 8/span 8}}

/* Keep each identity label intact while the row wraps inside its card. */
.identity-labels{flex-wrap:wrap;min-width:0;max-width:100%;row-gap:8px}.identity-label-group{display:inline-flex;align-items:center;gap:.75rem;white-space:nowrap}

/* A quieter, more readable reflection on narrow screens. */
@media(max-width:767px){#philosophy .reflection-card{padding:32px 24px}#philosophy .reflection-content{align-items:flex-start;text-align:left}#philosophy .reflection-quote{font-size:clamp(1.75rem,7vw,2.25rem);line-height:1.25;letter-spacing:-.015em;margin-bottom:24px}#philosophy .reflection-content>div:last-child{align-items:flex-start;text-align:left}}

/* Fit the complete identity line inside the mobile card. */
@media(max-width:767px){.identity-labels{flex-wrap:nowrap;white-space:nowrap;font-size:clamp(.625rem,2.85vw,.75rem);letter-spacing:.035em;gap:.4em}.identity-label-group{gap:.4em}}

/* Let the high-resolution rooftop photo fill its original card. */
.hero-portrait-card{width:100%;max-width:none}

/* Opaque backing keeps the caption readable over every part of the photo. */
.hero-photo-caption{background:#10131a;background-image:none;border-top:1px solid #364053}.hero-photo-caption>span{color:#f09558}.hero-photo-caption>p{color:#f7f4ee}
