
.asi-hero-photos { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%; }
.asi-hero-photos img { width:100%;height:340px;min-width:0;object-fit:cover;border-radius:12px;background:#111; }
.asi-gallery { display:flex;gap:20px;overflow-x:auto;padding:20px 4%;scrollbar-width:thin; }
.asi-gallery figure { flex:0 0 29%;margin:0;min-width:0; }
.asi-gallery img { display:block;width:100%;height:430px;object-fit:cover;background:#111;border-radius:12px; }
.asi-gallery-controls { display:flex;justify-content:center;gap:12px;margin:18px; }
.asi-gallery-controls button { border:1px solid #c8102e;border-radius:7px;background:white;color:#9e1029;padding:10px 16px;min-height:44px;cursor:pointer; }
.asi-gallery-controls button:focus-visible,.asi-gallery:focus-visible { outline:3px solid #c8102e;outline-offset:3px; }
@media(max-width:767px){.asi-hero-photos img{height:230px}.asi-gallery figure{flex-basis:72%}.asi-gallery img{height:380px}}
@media(max-width:420px){.asi-hero-photos{gap:6px}.asi-hero-photos img{height:180px}.asi-gallery figure{flex-basis:88%}.asi-gallery-controls{gap:6px}.asi-gallery-controls button{padding:10px}}

/* Replace the old absolute-positioned hero completely. */
.hero_area.asi-new-hero{height:auto;min-height:0;background:#f7f7f5;overflow:hidden;}
.asi-welcome{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;max-width:1240px;margin:auto;padding:48px 28px 64px;}
.asi-welcome-copy{min-width:0;color:#242424;}.asi-welcome-copy h1{font-size:clamp(36px,4vw,60px);line-height:1.1;font-weight:800;}.asi-welcome-title{font-size:26px;line-height:1.4;font-weight:600;margin:24px 0;}.asi-welcome-copy p{max-width:560px;}
.asi-welcome-picture{min-width:0;text-align:center;}.asi-welcome-picture .asi-hero-photos{display:block;width:100%;}.asi-welcome-picture .asi-hero-photos img{display:block;width:100%;height:560px;object-fit:contain;border-radius:14px;background:#171717;}
#asi-hero-pause{margin-top:12px;background:white;border:1px solid #c8102e;color:#9e1029;border-radius:7px;padding:10px 18px;min-height:44px;cursor:pointer;}
@media(max-width:767px){.asi-welcome{grid-template-columns:minmax(0,1fr);gap:24px;padding:30px 20px;}.asi-welcome-picture .asi-hero-photos img{height:460px;}.asi-welcome-title{font-size:22px;}}
@media(max-width:420px){.asi-welcome-picture .asi-hero-photos img{height:400px;}}

.asi-welcome-picture{position:relative;}
#asi-hero-pause{position:absolute;right:12px;bottom:12px;margin:0;opacity:0;pointer-events:none;background:rgba(255,255,255,.94);font-size:13px;transition:opacity .2s;}
.asi-welcome-picture:hover #asi-hero-pause,.asi-welcome-picture:focus-within #asi-hero-pause{opacity:1;pointer-events:auto;}
@media(hover:none){#asi-hero-pause{opacity:.85;pointer-events:auto;padding:6px 10px;}}
.asi-gallery-social{text-align:center;padding:20px 20px 40px;color:#242424;}
.asi-gallery-social p{margin:0 0 16px;font-size:17px;}
.asi-gallery-social nav{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;}
.asi-gallery-social a{display:inline-flex;align-items:center;gap:18px;padding:12px 20px;border:1px solid #dedede;border-radius:8px;color:#242424;background:#fff;min-height:44px;font-weight:600;}
.asi-gallery-social a span{color:#c8102e;}.asi-gallery-social a:hover,.asi-gallery-social a:focus-visible{border-color:#c8102e;color:#a50d26;}

/* Portfolio controls belong to the photographs, not separate rows. */
.asi-portfolio-stage{position:relative;margin:28px 0 12px;}
.asi-portfolio-stage .asi-gallery{padding:0 4%;gap:20px;scrollbar-width:none;}
.asi-portfolio-stage .asi-gallery::-webkit-scrollbar{display:none;}
.asi-portfolio-stage .asi-gallery figure{position:relative;overflow:hidden;border-radius:10px;}
.asi-photo-links{position:absolute;inset:auto 0 0;padding:42px 18px 20px;background:linear-gradient(transparent,rgba(0,0,0,.82));color:white;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s;pointer-events:none;}
.asi-gallery figure:hover .asi-photo-links,.asi-gallery figure:focus-within .asi-photo-links{opacity:1;transform:none;pointer-events:auto;}
.asi-photo-links>span{display:block;font-size:12px;letter-spacing:.06em;margin:0 0 8px;}
.asi-photo-links>div{display:flex;gap:8px;flex-wrap:wrap;}
.asi-photo-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 11px;border:1px solid #ffffff80;border-radius:5px;color:white;font-size:13px;font-weight:600;background:#00000028;}
.asi-photo-links a:hover,.asi-photo-links a:focus-visible{background:#c8102e;color:#fff;border-color:#c8102e;}
.asi-portfolio-stage .asi-gallery-controls{display:contents;margin:0;}
.asi-portfolio-stage .asi-gallery-controls button{position:absolute;z-index:2;background:rgba(255,255,255,.94);color:#333;border:0;box-shadow:0 2px 12px #0002;border-radius:50%;width:44px;height:44px;padding:0;display:grid;place-items:center;}
#asi-photo-prev,#asi-photo-next{top:calc(50% - 22px);font-size:30px;}
#asi-photo-prev{left:12px;}#asi-photo-next{right:12px;}
.asi-portfolio-stage #asi-photo-pause{right:20px;top:12px;font-size:15px;opacity:0;transition:opacity .2s;}
.asi-portfolio-stage:hover #asi-photo-pause,.asi-portfolio-stage:focus-within #asi-photo-pause{opacity:1;}
@media(hover:none){.asi-photo-links{opacity:1;transform:none;pointer-events:auto;}.asi-portfolio-stage #asi-photo-pause{opacity:.9;}}
@media(prefers-reduced-motion:reduce){.asi-photo-links{transition:none;}}
