/* Keep the approved portfolio layout independent of WordPress defaults. */
html { margin-top: 0 !important; }
body { margin: 0; }
.screen-reader-text { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.site-contact-form .wp-contact-status { font:inherit;line-height:1.5;max-width:48ch; }
.site-contact-form input[type="text"], .site-contact-form input[type="email"], .site-contact-form textarea { font:inherit; }
.site-contact-form .contact-trap { position:absolute;left:-10000px;visibility:hidden; }
/* CSS fallback renders editable core content when scripts are unavailable. */
.site-page .wp-block-image img { max-width:100%;height:auto; }
.site-page .wp-block-gallery { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px; }
.site-page .wp-block-gallery figure { margin:0;min-width:0; }
.site-page .wp-block-image figcaption { color:var(--muted);font:inherit;font-size:.875rem;line-height:1.5; }
.site-emmy-host, .playground-wow-host, .site-about-portrait { min-width:0; }
@media(max-width:700px){.site-page .wp-block-gallery{grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}

/* Legacy Group wrappers must not become an extra cell in editorial grids. */
.site-page .wp-block-group > .wp-block-group__inner-container { display:contents; }
.site-about-interests > .wp-block-group__inner-container > .site-page-eyebrow { padding-bottom:30px; }
.site-interest > .wp-block-group__inner-container > span { font-size:12px;color:var(--muted); }
.site-award-year > .wp-block-group__inner-container > h2 { font:700 85px/1 'Barlow Condensed',sans-serif;letter-spacing:-.04em;color:var(--accent); }

.site-contact-direct > .wp-block-group__inner-container > p:not(.site-contact-status) { font-size:19px;line-height:1.6;max-width:420px;margin-top:25px; }
@media(max-width:700px){
 .site-contact-direct > .wp-block-group__inner-container > p:not(.site-contact-status){font-size:17px;margin-top:20px;}
 .site-award-year > .wp-block-group__inner-container > h2{font-size:68px;}
}

/* Keep mobile navigation labels anchored when the current-page arrow moves. */
@media(max-width:900px){
 .site-chrome .main-nav{display:grid;grid-template-columns:repeat(4,max-content);justify-content:space-between;padding-left:16px;gap:10px;}
 .site-chrome .main-nav a{overflow:visible;}
 .site-chrome .main-nav a.current:before{position:absolute;left:-16px;top:2px;margin:0;font-size:14px;}
}
@media(max-width:360px){.site-chrome .main-nav{padding-left:14px;gap:8px;}.site-chrome .main-nav a.current:before{left:-14px;font-size:12px;}}
/* Edited core content remains readable before and after progressive enhancement. */
.site-about-brands{display:flex;flex-wrap:wrap;align-items:center;gap:32px}
.site-about-brands>.wp-block-group__inner-container{display:contents}
.site-about-brands .wp-block-image{margin:0;max-width:180px}
.site-about-brands .wp-block-image img{max-width:180px;max-height:58px;width:auto;height:auto}
.wow-coordinate,.wow-caption,.wow-instruction{white-space:pre-line}
.detail-rich-block{max-width:100%;overflow-wrap:anywhere}
.detail-rich-block img{max-width:100%;height:auto}
.detail-rich-block table{width:100%;border-collapse:collapse}
.detail-rich-block td,.detail-rich-block th{padding:10px;border:1px solid var(--line)}
.site-product [hidden]{display:none!important}

/* A shared logo canvas is independent of attachment pixel dimensions. */
.site-about-brands .brand-ribbon-mark{width:200px;min-height:76px}
.site-about-brands .brand-ribbon-mark img{width:180px!important;height:54px!important;max-width:180px;max-height:54px;object-fit:contain}
@media(max-width:700px){.site-about-brands .brand-ribbon-mark{width:172px;min-height:70px}.site-about-brands .brand-ribbon-mark img{width:160px!important;height:48px!important;max-width:160px;max-height:48px}}

/* Platform-independent vector UI marks; editable labels stay plain text. */
.lg-icon{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.14em;margin-inline:.08em;overflow:visible;pointer-events:none}
.site-chrome .main-nav a.current:before{content:none!important}
.site-chrome .main-nav a{overflow:visible}
.site-chrome .lg-nav-current{position:absolute;left:-25px;top:.18em;width:20px;height:20px;margin:0}
.step-controls button .lg-icon{width:22px;height:22px}.autoplay-icon .lg-icon{width:14px;height:14px}
.portrait-reveal-toggle .lg-icon,.emmy-reset .lg-icon{width:16px;height:16px;margin-left:6px}
.lg-submit-wrap{position:relative;display:inline-block}.lg-submit-wrap>.lg-icon{position:absolute;right:16px;top:50%;width:16px;height:16px;transform:translateY(-50%);margin:0}.lg-submit-wrap>.site-contact-submit{padding-right:44px}
.site-product-capture-link:after{content:'VISIT SITE'}
.site-product-capture-link:has(.lg-product-visit):after{display:none}
.lg-product-visit{position:absolute;right:22px;bottom:22px;border-radius:30px;background:var(--bg);color:var(--fg);font-size:11px;padding:12px 17px;opacity:0;transform:translateY(8px);transition:transform 600ms var(--ease-out),opacity 250ms var(--ease-out)}
@media(hover:hover) and (pointer:fine){.site-product-capture-link:hover .lg-product-visit{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.site-chrome .lg-nav-current{left:-16px;top:.22em;width:12px;height:12px}}
@media(max-width:360px){.site-chrome .lg-nav-current{left:-14px}}
@media(pointer:coarse){.portrait-reveal-surface{cursor:pointer}}
@media(prefers-reduced-motion:reduce){.lg-product-visit{transform:none;transition:opacity 180ms var(--ease-out)}}
/* CF7 inserts its spinner beside the native input; keep it out of the icon's sizing box. */
.lg-submit-wrap>.wpcf7-spinner{position:absolute;left:100%;top:50%;margin:-12px 0 0 10px}
.lg-submit-wrap>.lg-icon{color:var(--contact-button-ink,#fff)}
@media(hover:hover) and (pointer:fine){.lg-submit-wrap:has(.site-contact-submit:hover)>.lg-icon{color:var(--bg)}}
/* The portrait toggle uses its inline SVG in both states, never a font glyph. */
.portrait-reveal-toggle::before,.portrait-reveal-toggle[aria-pressed="true"]::before{content:none!important;display:none}
