/* Common spacing follows the video production page. Hero dimensions are independent. */
:root{--grainer-section-space:48px}
body main>section:not([class*="hero"]):not(.problem-band),
body main>article.content-area,
body main>.grainer-content-section,
body>.cta{padding-top:48px!important;padding-bottom:48px!important}
body main>.problem-band{padding-block:48px}
body .grainer-heading-en{display:block;width:100%;margin:0 0 10px;padding:0;color:var(--blue,#2685ff);font-family:Arial,sans-serif;font-size:12px;font-weight:800;line-height:1.5;letter-spacing:.16em;text-transform:uppercase;overflow-wrap:anywhere}
body .grainer-heading-en:before{content:"";display:inline-block;vertical-align:middle;width:26px;height:2px;margin-right:10px;background:currentColor}
body [class*="hero"] .grainer-heading-en,body .cta .grainer-heading-en,body [class*="contact"] .grainer-heading-en,body [class*="-cta"] .grainer-heading-en,body .video-production .grainer-heading-en{color:inherit;opacity:.85}
body h2>.grainer-heading-en{font-size:12px!important;line-height:1.5!important;font-family:Arial,sans-serif!important;font-weight:800!important;letter-spacing:.16em!important;margin-bottom:10px!important}
.home .category-card{display:flex;flex-direction:column;align-items:flex-start;min-height:300px;padding:30px;gap:0}
.home .category-card .category-no{display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#e5f2ff,#f4f9ff);border:1px solid #c9e2fa;color:#1766c5;font-size:19px;line-height:1;font-weight:800;letter-spacing:.04em;box-shadow:0 4px 12px #1766c508}
.home .category-card h3{margin:20px 0 10px}.home .category-card p{margin:0 0 24px}
.home .category-card .category-link{position:relative;left:auto;bottom:auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:auto;padding:10px 20px;border:1px solid #1766c5;border-radius:999px;background:#1766c5;color:#fff;font-size:13px;line-height:1.5;box-shadow:0 5px 14px #1766c51a;transition:background .2s}
.home .category-card:hover .category-link,.home .category-card:focus-visible .category-link{background:#0b4388;border-color:#0b4388}
.home .category-card:focus-visible{outline:3px solid #2685ff;outline-offset:4px}
@media(max-width:650px){:root{--grainer-section-space:40px}body main>section:not([class*="hero"]):not(.problem-band),body main>article.content-area,body main>.grainer-content-section,body>.cta{padding-top:40px!important;padding-bottom:40px!important}body main>.problem-band{padding-block:40px}.home .category-card{padding:24px;min-height:280px}}

/* Filtering must override photo-card flex layouts. */
body .services-section .service-card[hidden],body .work-card[hidden]{display:none!important}
.archive-filter-status{margin:0;color:var(--muted);font-size:.9rem}.archive-filter-status:empty{display:none}
[data-archive-results][aria-busy="true"]{opacity:.55;pointer-events:none}

/* All assigned categories on archive cards; tags wrap without nested links. */
body .post-card .post-category-tags{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px;margin:0 0 12px}
body .post-card .post-category-tags .post-category-tag{display:inline-flex;align-items:center;max-width:100%;padding:5px 10px;border:1px solid #b9d7f2;border-radius:7px;background:#edf6ff;color:#195783;font-size:12px;font-weight:700;line-height:1.5;letter-spacing:0;white-space:normal;overflow-wrap:anywhere}

.single-project .project-body-lead{margin:0 0 32px;color:var(--muted);font-size:1.05rem;line-height:1.8;overflow-wrap:anywhere}.single-project .project-body-lead p{margin:0}

.single-recruit .recruit-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.single-recruit .recruit-hero-meta .recruit-status{position:static;display:inline-block;margin:0;flex-shrink:0;padding:6px 12px;border:0;border-radius:999px;font-size:.76rem;font-weight:700;line-height:1.8;background:#fff1cc;color:#795000}.single-recruit .recruit-hero-meta .term-chip{margin:0}

/* Project and property navigation buttons */
body.single-project .detail-sidebar .project-site-button,body .pm-page .pm-property-link{display:flex;align-items:center;justify-content:center;gap:12px;box-sizing:border-box;width:100%;min-height:50px;padding:13px 18px;border:1px solid #1766c5;border-radius:12px;background:#1766c5;color:#fff;font-size:.95rem;font-weight:700;line-height:1.5;text-decoration:none;box-shadow:0 6px 18px #1766c526;transition:background .2s,box-shadow .2s}
body.single-project .detail-sidebar .project-site-button{margin-top:24px}body .pm-page .pm-property-link{margin-top:auto}
body.single-project .detail-sidebar .project-site-button:hover,body .pm-page .pm-property-link:hover{background:#0b4388;border-color:#0b4388;color:#fff;box-shadow:0 8px 22px #1766c538;transform:none}
body.single-project .detail-sidebar .project-site-button:focus-visible,body .pm-page .pm-property-link:focus-visible{outline:3px solid #52c8ff;outline-offset:4px}
body.single-project .project-site-button svg{flex:0 0 20px}
/* Preserve the entire image, including portrait compositions. */
body.single-project .detail-gallery img{display:block;width:100%;height:auto;max-height:320px;object-fit:contain;object-position:center;background:#f0f4f8}
body.single-project .detail-cover{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;object-position:center;background:#f0f4f8}
body .work-card .post-thumb img{width:100%;height:100%;object-fit:contain;object-position:center;background:#f0f4f8}
@media(max-width:640px){body.single-project .detail-gallery img{height:auto;max-height:300px}body.single-project .detail-cover{max-height:480px}}
@media(prefers-reduced-motion:reduce){body.single-project .project-site-button,body .pm-page .pm-property-link{transition:none}}

/* Natural-height rows avoid vertical letterboxing; portrait images retain side space. */
body.single-project .detail-gallery{align-items:start}body.single-project .detail-gallery img{align-self:start}body .work-card .post-thumb:has(img){aspect-ratio:auto;height:auto;min-height:0;background:#f0f4f8}body .work-card .post-thumb img{display:block;width:100%;height:auto;max-height:280px;object-fit:contain;object-position:center}

/* Work thumbnails: fixed 375:265 frame, orientation-dependent scaling. */
body .work-card .post-thumb,body .work-card .post-thumb:has(img){position:relative;aspect-ratio:375 / 265;width:100%;height:auto;min-height:0;overflow:hidden;background:#f0f4f8;flex-shrink:0}
body .work-card .post-thumb img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;width:100%;height:auto;max-width:none;max-height:none;margin:0;object-fit:contain;object-position:center;background:transparent}
body .work-card .post-thumb img.work-thumb-portrait{width:100%;height:auto;max-width:none;max-height:none;top:0;left:0;transform:none;object-position:center top}

/* Reading dropdown: shared desktop and mobile markup. */
body .site-header .reading-menu{position:relative;color:#13233a;margin:0}
body .site-header .reading-menu>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;font:inherit;padding:12px 0;white-space:nowrap;color:#13233a}
body .site-header .reading-menu>summary::-webkit-details-marker{display:none}
body .site-header .reading-menu>summary:focus-visible{outline:2px solid #1766c5;outline-offset:3px}
.reading-chevron{width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.reading-menu[open] .reading-chevron{transform:rotate(225deg)}
body .site-header .reading-menu:not([open])>.reading-submenu{display:none}
body .site-header .reading-submenu{position:absolute;top:100%;left:0;z-index:100;width:180px;padding:10px;background:#fff;border:1px solid #dbe5ef;border-radius:10px;box-shadow:0 12px 30px #07152820}
body .site-header .reading-submenu>a{display:block;height:auto;padding:12px 14px;color:#13233a;background:#fff;line-height:1.5;text-decoration:none;border-radius:6px}
body .site-header .reading-submenu>a:hover,body .site-header .reading-submenu>a:focus-visible{background:#edf6ff;color:#1766c5}
body .news-modal-close{display:grid;place-items:center;padding:0;line-height:1;box-sizing:border-box;flex-shrink:0}
body .news-modal-close .news-close-mark{position:relative;display:block;width:16px;height:16px;pointer-events:none}
body .news-modal-close .news-close-mark:before,body .news-modal-close .news-close-mark:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:2px;border-radius:1px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
body .news-modal-close .news-close-mark:after{transform:translate(-50%,-50%) rotate(-45deg)}
@media(max-width:960px){body .site-header .reading-menu{width:100%}body .site-header .reading-menu>summary{justify-content:space-between;padding:14px 0}body .site-header .reading-submenu{position:static;width:100%;box-sizing:border-box;box-shadow:none;margin-bottom:8px;background:#f5f9fd}body .site-header .reading-submenu>a{background:transparent}}

/* Keep pagination focus without outlining the entire results container. */
.editorial-archive [data-archive-results][tabindex="-1"]:focus{outline:none;}

body main a.service-estimate-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;margin:16px 0;border:1px solid #0074d9;border-radius:6px;background:linear-gradient(110deg,#008ddd,#0063c9);color:#fff;font-size:15px;font-weight:700;line-height:1.5;text-decoration:none;box-sizing:border-box;box-shadow:0 4px 12px #0063c926;transition:filter .2s,box-shadow .2s}body main a.service-estimate-button:hover{color:#fff;filter:brightness(.92);box-shadow:0 6px 16px #0063c933}body main a.service-estimate-button:focus-visible{outline:3px solid #008ddd;outline-offset:4px}
