/* Canonical public UI. Loaded last by marketing pages and Resources.
   Put shared header, search, buttons, cards and CTA changes here. */
:root{--ui-search-border:#cdcfca;--ui-focus:#777;--ui-hover:#ededeb;--ui-control-radius:10px;--ui-card-radius:18px;--header-height:80px}
.site-header:not(.onboarding-site-header){display:grid;grid-template-columns:auto minmax(140px,1fr) auto auto;align-items:center;width:100%;max-width:none;height:80px;min-height:80px;padding:12px max(24px,calc((100vw - 1192px)/2));margin:0;gap:22px;position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid var(--line)}
.site-header .brand{display:inline-flex;align-items:center;gap:6px;color:var(--ink);white-space:nowrap;text-decoration:none}
.site-header .brand-mark{display:block;width:32px;height:48px;margin:0;border-radius:0;background:currentColor;mask-size:48px;-webkit-mask-size:48px;flex:none}
.site-header :is(.brand-wordmark,.brand>b){font:800 27px/1 Manrope,sans-serif;letter-spacing:-1.6px}
.site-header :is(#main-navigation,.header-navigation){display:flex;align-items:center;width:auto;gap:4px;margin:0;order:initial}
.site-header :is(.nav-group,.nav-dropdown)>summary{display:flex;align-items:center;gap:7px;min-height:44px;padding:0 10px;border:0;border-radius:var(--ui-control-radius);font:500 13px/1.5 'DM Sans',sans-serif;white-space:nowrap;cursor:pointer;color:var(--ink);list-style:none}
.site-header :is(.nav-group,.nav-dropdown)>summary:hover,.site-header :is(.nav-group,.nav-dropdown)[open]>summary{background:var(--ui-hover);color:var(--ink)}
.site-header :is(.nav-group>.nav-dropdown,.nav-dropdown-panel){position:absolute;top:calc(100% + 8px);left:0;right:auto;width:290px;max-width:calc(100vw - 24px);max-height:calc(100dvh - var(--header-height) - 32px);padding:8px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 12px 32px #00000012}
.site-header :is(.nav-group,.nav-dropdown):nth-last-child(-n+2)>:is(.nav-dropdown,.nav-dropdown-panel){left:auto;right:0}
.site-header :is(#main-navigation .nav-dropdown,.nav-dropdown-panel) a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border:0;border-radius:8px;font:500 14px/1.4 'DM Sans',sans-serif;color:var(--ink)}
.site-header :is(#main-navigation .nav-dropdown,.nav-dropdown-panel) a:hover,.site-header :is(#main-navigation .nav-dropdown,.nav-dropdown-panel) a:focus-visible{background:var(--ui-hover);outline-offset:-3px}
.site-header :is(.site-search,.universal-search){position:relative;display:flex;align-items:center;justify-self:stretch;gap:10px;width:100%;max-width:420px;min-width:0;height:40px;padding:0 14px;border:1px solid var(--ui-search-border);border-radius:20px;background:#fff;box-shadow:none;color:var(--muted)}
.site-header :is(.site-search,.universal-search):focus-within{border-color:var(--ui-focus);box-shadow:0 0 0 2px #0000000d}
.site-header :is(.site-search,.universal-search) input{flex:1;width:0;min-width:0;height:38px;padding:0;border:0;background:transparent;font:14px/1.4 'DM Sans',sans-serif;color:var(--ink);outline:none}
.site-header :is(.site-search,.universal-search) kbd{padding:2px 5px;border:1px solid #ddd;border-radius:4px;background:transparent;font:11px/1.4 'DM Sans',sans-serif;color:#888;white-space:nowrap}
.site-header :is(.button,.project-link){display:inline-flex;align-items:center;justify-content:center;gap:12px;width:auto;min-width:44px;height:44px;min-height:44px;margin:0;padding:0 18px;border:0;border-radius:8px;background:var(--ink);color:white;font:550 14px/1.4 'DM Sans',sans-serif;text-decoration:none}
.site-header :is(.button,.project-link):hover{background:#33362f;color:#fff}
.site-header :is(.button,.project-link)>[aria-hidden]{display:inline;font-size:21px;line-height:1}
.site-header :is(.button,.project-link)>.project-label{font-size:14px;line-height:1.4}
.site-header :is(.menu-toggle,.mobile-nav-toggle){display:none}
.site-header :focus-visible{outline:2px solid #555;outline-offset:4px}
:is(.website-search-heading,.search-dropdown-heading) button{width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;font-size:24px;color:#777}
:is(.company-link,.service-directory>a,.production-gallery figure,.resource-card){border:1px solid var(--line);border-radius:var(--ui-card-radius);background:#fff;box-shadow:0 2px 6px #00000004}
:is(.company-link,.service-directory>a,.resource-card):hover{box-shadow:0 5px 18px #0000000c}
@media(max-width:1250px){.site-header:not(.onboarding-site-header){gap:16px}.site-header :is(.button,.project-link){width:44px;padding:0}.site-header .project-label{display:none}}
@media(min-width:741px) and (max-width:1100px){.site-header :is(.brand-wordmark,.brand>b){display:none}.site-header :is(.nav-group,.nav-dropdown)>summary{font-size:12px;gap:4px}.site-header :is(.site-search,.universal-search) kbd{display:none}}
@media(max-width:740px){
 :root{--header-height:72px}
 .site-header:not(.onboarding-site-header){grid-template-columns:auto minmax(0,1fr) auto auto;height:72px;min-height:72px;padding:10px 16px;gap:10px}
 .site-header :is(.brand-wordmark,.brand>b){display:none}
 .site-header .brand-mark{width:28px;height:44px;mask-size:44px;-webkit-mask-size:44px}
 .site-header :is(.site-search,.universal-search){max-width:none;padding-inline:10px}
 .site-header :is(.site-search,.universal-search) input{font-size:13px}
 .site-header :is(.site-search,.universal-search) kbd{display:none}
 .site-header :is(#main-navigation,.header-navigation){display:none}
 .site-header :is(#main-navigation,.header-navigation).is-open{position:absolute;display:flex;flex-direction:column;align-items:stretch;top:calc(100% + 8px);right:12px;width:min(380px,calc(100vw - 24px));gap:0;max-height:calc(100dvh - 96px);padding:10px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 12px 32px #00000012}
 .site-header :is(.nav-group,.nav-dropdown)>summary{justify-content:space-between;min-height:48px;padding:6px 10px;border-top:1px solid var(--line);font-size:13px}
 .site-header :is(.nav-group>.nav-dropdown,.nav-dropdown-panel){position:static;width:auto;max-width:none;max-height:none;padding:0 4px 8px 12px;border:0;border-radius:0;box-shadow:none}
 .site-header :is(.menu-toggle,.mobile-nav-toggle){display:flex;align-items:center;justify-content:center;flex-direction:column;width:40px;height:44px;min-height:44px;padding:10px;margin:0;order:initial;border:0;border-radius:10px;background:transparent}
}

/* Shared project CTA: a clear brief, then a compact contact group. */
.project-cta.contact,.project-cta.page-contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.7fr);align-items:center;gap:40px;padding:40px;border:1px solid #1d201a18;border-radius:24px;background:var(--lime);box-shadow:0 3px 10px #00000004;margin-block:48px}
.project-cta .project-cta-copy{min-width:0;max-width:560px}
.project-cta .eyebrow{font-size:11px;line-height:1.5;letter-spacing:1.4px;margin:0 0 12px;color:var(--ink)}
.project-cta h2{font:600 clamp(28px,3vw,38px)/1.15 Manrope,sans-serif;letter-spacing:-1.2px;margin:0;text-wrap:balance}
.project-cta .project-cta-copy>p:not(.eyebrow){font-size:16px;line-height:1.7;color:#414833;margin:16px 0 0;max-width:48ch}
.project-cta:is(.contact,.page-contact) .project-cta-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:0;max-width:none;padding:0 0 0 32px;border-left:1px solid #1d201a29}
.project-cta-actions .button{width:100%;min-height:48px;padding:13px 18px;font-size:14px;line-height:1.5;border:1px solid var(--ink);border-radius:10px;text-align:center;overflow-wrap:anywhere}
.project-cta-actions .cta-secondary{background:transparent;color:var(--ink);border-color:#1d201a55}
.project-cta-actions .cta-secondary:hover{background:#ffffff70;border-color:var(--ink)}
.project-cta-actions .cta-email{display:block;width:100%;min-height:44px;padding:10px 0;border:0;margin:0;font-size:15px;line-height:1.6;font-weight:500;overflow-wrap:anywhere;text-align:center;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#1d201a55}
.project-cta-actions .cta-email:hover{color:var(--ink);text-decoration-color:var(--ink)}
.project-cta-actions .whatsapp-note{font-size:13px;line-height:1.6;text-align:center;color:#414833;margin:0}
.project-cta :focus-visible{outline:2px solid var(--ink);outline-offset:4px}
@media(max-width:820px){.project-cta.contact,.project-cta.page-contact{grid-template-columns:minmax(0,1fr);gap:24px;padding:28px;margin-block:36px}.project-cta:is(.contact,.page-contact) .project-cta-actions{border-left:0;border-top:1px solid #1d201a29;padding:24px 0 0}.project-cta .project-cta-copy{max-width:none}}
@media(max-width:400px){.project-cta.contact,.project-cta.page-contact{padding:22px}.project-cta-actions .button{padding-inline:12px}}

.site-header>:is(.brand,.site-search,.universal-search,.os-link,.button,nav,.mobile-nav-toggle,.menu-toggle){grid-column:auto;grid-row:auto}
