/* Classic WordPress template adaptations; the approved visual system remains in site.css. */
.site-main { min-height: 40vh; }
.site-shell h1,
.site-shell h2,
.site-shell h3 { text-wrap: balance; }
.site-shell p { font-size: max(15px, 1em); }
.localized-page h1,
.localized-page .services-intro h1,
.localized-page .about-heading h1,
.localized-page .section-head h1,
.localized-page .footprint-copy h1,
.localized-page .contact-section h1 { margin: 0 0 2.2rem; font-family: "Prata", Georgia, serif; font-weight: 400; letter-spacing: -0.025em; line-height: .98; font-size: clamp(3.2rem, 6.4vw, 7rem); }
.localized-page[lang|="ar"] h1,
.site-shell[lang|="ar"] .localized-page h1 { font-family: "Noto Naskh Arabic", Georgia, serif; font-weight: 500; letter-spacing: 0; line-height: 1.3; }
.page-intro { max-width: 680px; margin: 0 0 3.5rem; color: var(--taupe); }
.localized-page.services-page { background: var(--cacao); color: var(--linen); }
.localized-page.services-page .page-intro { color: rgba(243,239,231,.7); }
.localized-page.services-page .eyebrow { color: var(--clay); }
.localized-page.services-page .services-list { margin-top: 4rem; }
.localized-page.about-page h1 { max-width: 850px; }
.localized-page.about-page .about-grid { margin-top: 3rem; }
.localized-page.products-page h1,
.localized-page.projects-page h1,
.localized-page.leaders-page h1 { max-width: 900px; }
.localized-page.products-page .section-head { margin-top: 1rem; }
.localized-page.projects-page .page-intro { margin-top: 1.25rem; }
.localized-page.leaders-page .page-intro { margin-top: 1.25rem; }
.native-post-loop { border-top: 1px solid var(--border); margin-top: 3rem; }
.post-card { border-bottom: 1px solid var(--border); padding: 2rem 0; }
.post-card time { color: var(--bronze); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.post-card h2 { margin: .55rem 0 .7rem; font-family: "Prata", Georgia, serif; font-size: clamp(1.8rem, 3vw, 3rem); font-weight: 400; }
.post-card h2 a:hover { color: var(--bronze); }
.post-card p { color: var(--taupe); }
.journal-empty { border: 1px solid var(--border); padding: clamp(2rem, 6vw, 5rem); background: rgba(255,255,255,.18); }
.journal-empty h2 { margin-top: 0; font-family: "Prata", Georgia, serif; font-weight: 400; }
.error-page { min-height: 70vh; display: grid; align-items: center; }
.error-page h1 { margin-bottom: 1.5rem; }
.error-page p { max-width: 600px; color: var(--taupe); }
.error-page .button-primary { display: inline-flex; width: fit-content; margin-top: 1.2rem; align-items: center; gap: 10px; }
.contact-placeholder { color: rgba(243,239,231,.68); }
.gallery-modal[hidden] { display: none; }
.gallery-modal.is-open { display: grid; }
.gallery-modal:focus-visible,
.gallery-modal button:focus-visible,
.inquiry-form input:focus-visible,
.inquiry-form select:focus-visible,
a:focus-visible { outline: 2px solid var(--clay); outline-offset: 3px; }
body.menu-is-open,
body.gallery-is-open { overflow: hidden; }
@media (max-width: 760px) {
  .localized-page h1,
  .localized-page .services-intro h1 { font-size: clamp(2.9rem, 13vw, 4.9rem); line-height: 1.05; }
  .localized-page .section-container,
  .localized-page .section-container.wide { width: calc(100% - 36px); }
  .page-intro { margin-bottom: 2.5rem; }
}
.site-shell[lang|="ar"] p { font-size: max(16px, 1em); line-height: 1.9; }
.site-shell[lang|="ar"] .eyebrow,
.site-shell[lang|="ar"] .project-card-meta,
.site-shell[lang|="ar"] .post-card time { letter-spacing: 0; }
.site-shell[lang|="ar"] .localized-page h1 { font-size: clamp(2.8rem, 11vw, 4.4rem); }

/* WordPress menu markup matches the original horizontal and mobile navigation. */
.desktop-nav .user-menu,
.desktop-nav .user-menu ul,
.mobile-menu .user-menu,
.mobile-menu .user-menu ul { margin:0; padding:0; list-style:none; }
.desktop-nav .user-menu { display:flex; align-items:center; gap:clamp(16px,2vw,30px); }
.desktop-nav .user-menu > li { position:relative; }
.desktop-nav .user-menu .sub-menu { position:absolute; top:calc(100% + 14px); left:0; min-width:190px; padding:10px 0; background:var(--cacao); box-shadow:0 16px 35px rgba(0,0,0,.24); opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity 180ms ease,transform 180ms ease,visibility 180ms; }
.desktop-nav .user-menu > li:hover > .sub-menu,
.desktop-nav .user-menu > li:focus-within > .sub-menu { opacity:1; visibility:visible; transform:translateY(0); }
.desktop-nav .user-menu .sub-menu a { display:block; padding:8px 16px; white-space:nowrap; }
.desktop-nav .user-menu .sub-menu a::after { display:none; }
.mobile-menu .user-menu { display:flex; flex-direction:column; gap:18px; }
.mobile-menu .user-menu .sub-menu { margin:-4px 0 8px; padding-left:18px; }
.mobile-menu .user-menu .sub-menu a { font-family:"Manrope",Arial,sans-serif; font-size:1rem; letter-spacing:.04em; line-height:1.45; }
.gormaz-body:not(.gi-home-page) .site-header { background:rgba(36,23,15,.97); color:var(--linen); backdrop-filter:blur(16px); }
.localized-page { padding-top:clamp(150px,14vw,200px); }
.localized-page.contact-page { padding-top:110px; }
.site-shell[lang|="ar"] .localized-page.contact-page h1 { font-size:44px; line-height:1.25; }

.pricing-placeholder { margin:3rem 0 0; padding-top:1.5rem; border-top:1px solid var(--border); color:var(--taupe); }
.gallery-head h3 { font-family:"Prata",Georgia,serif; }
@media (max-width:760px) { .localized-page.contact-page { padding-top:94px; } }

.native-post-content { max-width:850px; margin-top:3rem; overflow-wrap:anywhere; }
.native-post-content p { line-height:1.8; }

.gallery-stage > img { width:100%; height:100%; min-height:0; object-fit:contain; }
