/* Shared finishing layer: navigation, typography and restrained surface depth. */
:root { --surface-shadow: 0 16px 44px #071d3010; }
h1, h2, h3 { text-wrap: balance; }
h1, .hero h1 { letter-spacing: -.045em; }
p { text-wrap: pretty; }
:where(a, button, input, select, textarea):focus-visible { outline: 3px solid #ce7737; outline-offset: 5px; }
.site-header { box-shadow: 0 1px 0 #102a3508; transition: background .25s, box-shadow .25s; }
.home-page .site-header:not(.scrolled) { background: linear-gradient(110deg, #071c30e8, #0a2334b8); backdrop-filter: blur(16px); border-bottom-color: #ffffff20; }
.site-header.scrolled { box-shadow: 0 6px 28px #071d3010; }
.site-header .official-logo { border-radius: 5px; }
.brand-name { letter-spacing: .055em; }
.brand-name small { letter-spacing: .015em; opacity: .76; }
.main-nav > a:not(.nav-cta), .nav-services > button { min-height: 44px; display: inline-flex; align-items: center; }
.main-nav > a[aria-current=page]::after { bottom: 4px; }
.nav-services > button[aria-current=true] { color: #bc692e; }
.home-page .site-header:not(.scrolled) .nav-services > button[aria-current=true] { color: #ffb47b; }
.dropdown { padding: 16px; border: 1px solid #dce2e6; border-radius: 10px; box-shadow: 0 24px 60px #071d3026; }
.dropdown a { border-radius: 5px; transition: background .18s, color .18s; }
.dropdown a:hover, .dropdown a:focus-visible { background: #eef2f4; color: #102a35; }
.button, .nav-cta { border-radius: 5px; font-weight: 600; transition: background .2s, box-shadow .2s; }
.button:not(.secondary):hover, .nav-cta:hover { box-shadow: 0 7px 22px #071d3020; }
.hero h1 { font-weight: 600; line-height: 1.13; max-width: 1060px; }
.hero p { color: #e1e7ec; }
.hero .button.secondary { background: #071d3038; backdrop-filter: blur(8px); }
.hero-project-note { border-left-color: #efa36190; }
.core-card, .project-card, .inner-hero-image, .capability-image, .editorial-card .image-frame { border-radius: 8px; overflow: hidden; }
.service-capabilities article, .contact-card { border: 1px solid #dce2e6; border-radius: 8px; box-shadow: var(--surface-shadow); }
.service-capabilities article { border-top: 2px solid #efa361; }
.service-row { transition: border-color .2s; }
.service-row:hover { border-color: #ce7737; }
.process-step { border-top-color: #c9d2d9; }
#enquiry-form { border-radius: 10px; box-shadow: var(--surface-shadow); }
input, select, textarea { border-radius: 5px; }
.footer { border-top: 1px solid #ffffff16; }
.footer-grid h2 { letter-spacing: .14em; }
.footer-grid > div > a { transition: color .2s; }
.footer-grid > div > a:hover { color: #ffb47b; }
.menu-toggle { border: 1px solid #102a3526; border-radius: 50%; }
.home-page .site-header:not(.scrolled) .menu-toggle { border-color: #ffffff50; background: #ffffff08; }
.menu-toggle i { width: 22px; }
.mobile-drawer { background: #f8f8f5; box-shadow: -24px 0 80px #071d302e; padding-bottom: max(24px, env(safe-area-inset-bottom)); }
.mobile-drawer .drawer-top { padding-bottom: 18px; border-bottom: 1px solid #dce2e0; }
.mobile-drawer .drawer-links { margin-top: 18px; }
.mobile-drawer .drawer-links > .drawer-main-link, .mobile-drawer .drawer-services-toggle { font-size: 22px; font-weight: 600; letter-spacing: -.035em; }
.mobile-drawer .drawer-links a:hover, .mobile-drawer .drawer-services-toggle:hover { color: #a45620; }
.mobile-drawer .drawer-service-panel > div { border-left: 2px solid #efa361; margin-left: 2px; }
.mobile-drawer .drawer-service-link { color: #425665; }
.mobile-drawer .drawer-close { border-radius: 50%; background: white; }
.mobile-drawer .drawer-contact > span { letter-spacing: .18em; }
.mobile-drawer .drawer-quote { min-height: 52px; border-radius: 5px; font-weight: 700; }
@media(min-width:1181px) { .site-header { padding-inline: max(32px, 4vw); } }
@media(max-width:700px) {
  .site-header { padding-inline: 20px; }
  .site-header .official-logo { width: 62px; height: 56px; }
  .site-header .brand { gap: 10px; }
  .brand-name { font-size: 9px; }
  .brand-name small { font-size: 7px; margin-top: 5px; }
  .hero-content { padding-top: 52px; padding-bottom: 178px; }
  .hero h1 { font-size: clamp(35px, 8.9vw, 46px); letter-spacing: -.04em; line-height: 1.17; }
  .hero .eyebrow { font-size: 10px; letter-spacing: .1em; }
  .hero p { font-size: 15px; line-height: 1.8; }
  .hero .actions { width: min(100%, 300px); }
  .hero .button { width: 100%; justify-content: space-between; }
  .section-head h2, .inner-hero-copy h1 { letter-spacing: -.035em; }
  .core-card, .project-card, .inner-hero-image { border-radius: 6px; }
}
@media(max-height:700px) { .mobile-drawer .drawer-top { padding-bottom: 10px; } .mobile-drawer .drawer-links { margin-top: 12px; } }
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { transition: none !important; } }
