/* Shared A contact display; imagery and destinations remain editable content. */
body.aster .contact-exhibition{background:#090a07;padding:72px 32px 84px;border-block:1px solid #b6964c26}
body.aster .contact-exhibition>:is(h1,h2){margin:0 0 24px;text-align:center}
body.aster .contact-exhibition-layout{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(0,2.1fr) minmax(280px,1fr);align-items:center;gap:36px}
body.aster .contact-exhibition-products{min-width:0}
body.aster .contact-hex-stage{position:relative;width:100%;aspect-ratio:1.2}
body.aster .contact-hex-base{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;
 /* Feather the decorative image only; live media and text retain their sharpness. */
 -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 15%,#000 84%,transparent 100%);
 -webkit-mask-composite:source-in;
 mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 15%,#000 84%,transparent 100%);
 mask-composite:intersect}
body.aster .contact-stage-brand{position:absolute;left:42%;top:41%;width:16%;height:9%;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2}
body.aster .contact-stage-brand .brand-logo{width:100%;height:100%;object-fit:contain;margin:0;filter:grayscale(1) sepia(1) saturate(1.7) brightness(1.3)}
body.aster .contact-stage-product{position:absolute;left:var(--stage-x);top:var(--stage-y);width:27%;transform:translate(-50%,-100%);z-index:3;text-align:center;min-width:0}
body.aster .contact-stage-product[data-stage-slot="0"]{--stage-x:50%;--stage-y:34%}
body.aster .contact-stage-product[data-stage-slot="1"]{--stage-x:75%;--stage-y:44%}
body.aster .contact-stage-product[data-stage-slot="2"]{--stage-x:75%;--stage-y:66%}
body.aster .contact-stage-product[data-stage-slot="3"]{--stage-x:50%;--stage-y:77%}
body.aster .contact-stage-product[data-stage-slot="4"]{--stage-x:25%;--stage-y:66%}
body.aster .contact-stage-product[data-stage-slot="5"]{--stage-x:25%;--stage-y:44%}
body.aster .contact-stage-product-link{display:block;color:inherit;text-decoration:none;border-radius:6px}
body.aster .contact-stage-product .contact-stage-art{display:block;width:65%;height:auto;aspect-ratio:1;object-fit:contain;margin:0 auto -4px;mix-blend-mode:screen;transition:transform .25s ease}
body.aster .contact-stage-product h3{font-family:var(--title-font);font-size:clamp(13px,1.65vw,23px);font-weight:700;line-height:1.35;color:#ffe6a5;margin:0;text-shadow:0 2px 6px #000;overflow-wrap:anywhere}
/* Keep labels above the platform's front bevel without moving the product art. */
body.aster .contact-hex-stage .contact-stage-product h3{max-width:88%;margin-inline:auto;transform:translateY(-.55em)}
body.aster .contact-stage-label{display:block;font-size:12px;color:#cfc0a0;overflow-wrap:anywhere}
body.aster .contact-directory{min-width:0;padding-block:18px}
body.aster .contact-directory-title{font-family:var(--title-font);font-size:clamp(24px,2.5vw,34px);line-height:1.45;color:#f2d48d;font-weight:700;margin:0 0 22px;padding:0;border:0;overflow-wrap:anywhere;text-shadow:0 2px 10px #b9833026}
body.aster .contact-directory-intro{font-size:14px;line-height:1.9;color:#bcb8ab;margin:0 0 20px}
body.aster .contact-directory-list{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
body.aster .contact-directory-row{min-width:0;border:0;background:url('assets/contact-stage/contact-plaque.webp') center/100% auto no-repeat;transition:transform .22s ease,filter .22s ease}
body.aster .contact-directory-link{display:grid;width:100%;min-width:0;grid-template-columns:21% minmax(0,1fr) 30px;align-items:center;gap:10px;min-height:clamp(88px,8vw,116px);padding:12px 20px 18px 16px;box-sizing:border-box;color:#fff1d5;text-decoration:none;border-radius:8px;background:none}
body.aster .contact-directory-emblem{display:grid;place-items:center;min-width:0;height:48px}
body.aster .contact-directory-link .contact-directory-icon{width:30px;height:30px;object-fit:contain;margin:0}
body.aster .contact-directory-icon.is-svg{filter:brightness(0) saturate(100%) invert(85%) sepia(31%) saturate(669%) hue-rotate(351deg) brightness(102%) contrast(94%) drop-shadow(0 1px 1px #674009)}
body.aster .contact-directory-copy{min-width:0}
body.aster .contact-directory-copy h4{font-size:20px;line-height:1.4;font-weight:600;font-family:inherit;margin:0;color:#fff1d5;overflow-wrap:anywhere}
body.aster .contact-directory-copy p{font-size:14px;line-height:1.55;color:#d9be80;margin:5px 0 0;overflow-wrap:anywhere}
body.aster .contact-directory-label{display:block;color:#e6c572;font-size:13px;margin-top:7px;overflow-wrap:anywhere}
body.aster .contact-directory-action{width:30px;height:30px;border:1px solid #d7b363;border-radius:50%;display:grid;place-items:center;color:#e6c572}
body.aster .contact-directory-action img{width:15px;height:15px;object-fit:contain;filter:brightness(0) saturate(100%) invert(84%) sepia(29%) saturate(663%) hue-rotate(351deg) brightness(98%) contrast(86%)}
body.aster .contact-exhibition a:focus-visible{outline:2px solid #f5d98c;outline-offset:5px}
body.aster .contact-stage-overflow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
body.aster .contact-stage-overflow .contact-stage-product{position:static;width:auto;transform:none}
body.aster .contact-stage-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-inline:20px}
body.aster .contact-stage-details h4{color:#e6c572;font-size:16px;margin:0 0 6px}
body.aster .contact-stage-details p{color:#bcb8ab;font-size:14px;line-height:1.8;margin:0;overflow-wrap:anywhere}
body.aster .contact-exhibition-no-products,body.aster .contact-exhibition-no-channels{grid-template-columns:minmax(0,1fr);max-width:940px}
@media(hover:hover){body.aster .contact-stage-product:hover .contact-stage-art{transform:translateY(-4px)}body.aster .contact-directory-row:hover{transform:translateY(-2px);filter:brightness(1.08)}}
@media(max-width:1000px){body.aster .contact-exhibition-layout{gap:24px;grid-template-columns:minmax(0,1.55fr) minmax(250px,1fr)}body.aster .contact-directory-link{gap:8px;min-height:88px;padding:10px 16px 16px 12px}body.aster .contact-directory-copy h4{font-size:18px}body.aster .contact-directory-link .contact-directory-icon{width:27px;height:27px}body.aster .contact-directory-title{font-size:26px}}
@media(max-width:760px){body.aster .contact-exhibition{padding:48px 16px 52px}body.aster .contact-exhibition>:is(h1,h2){margin-bottom:14px}body.aster .contact-exhibition-layout{grid-template-columns:minmax(0,1fr);gap:10px}body.aster .contact-directory{padding:12px 4px 0}body.aster .contact-directory-title{font-size:25px;margin-bottom:18px;padding-bottom:0}body.aster .contact-directory-link{min-height:88px;padding:12px 16px 16px 12px;gap:10px}body.aster .contact-directory-copy h4{font-size:18px}body.aster .contact-directory-copy p{font-size:13px}body.aster .contact-directory-action{width:28px;height:28px}body.aster .contact-stage-product h3{font-size:clamp(12px,3.5vw,21px)}body.aster .contact-stage-label{font-size:11px}body.aster .contact-stage-product .contact-stage-art{margin-bottom:0}body.aster .contact-stage-details{grid-template-columns:1fr;padding-inline:4px}}
@media(prefers-reduced-motion:reduce){body.aster .contact-stage-art,body.aster .contact-directory-link,body.aster .contact-directory-row{transition:none!important;transform:none!important}}

body.aster .contact-stage-product .contact-stage-art[data-presentation="scheme-3"]{width:70%;mix-blend-mode:normal}

@media(max-width:350px){body.aster .contact-directory-copy p{font-size:12px}}

/* The standalone contact page uses its single module heading as the page H1. */
body.aster .contact-exhibition>h1{font-family:var(--title-font);font-weight:var(--title-weight);font-size:clamp(42px,5vw,64px);line-height:1.45;letter-spacing:var(--title-tracking);text-wrap:balance;color:var(--accent);background-image:var(--title-fill);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:var(--title-glow);-webkit-text-stroke:var(--title-stroke);background-size:var(--title-bg-size);background-repeat:no-repeat;animation:var(--title-animation)}
@media(max-width:760px){body.aster .contact-exhibition>h1{font-size:clamp(36px,9.5vw,44px);letter-spacing:.025em}}
