/* ── SHARED PAGE UTILS ───────────────────────────── */
.loc-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--navy-mid);display:block;margin-bottom:.5rem;}
.loc-section-title{font-family:var(--font-h);font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:700;color:var(--navy);line-height:1.2;margin-bottom:1.5rem;}

/* ── HERO ────────────────────────────────────────── */
.loc-hero{position:relative;min-height:72vh;background:var(--navy) center/cover no-repeat;display:flex;flex-direction:column;justify-content:flex-end;padding:2rem;}
.loc-hero__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,40,100,.85) 0%,rgba(20,40,100,.4) 50%,rgba(20,40,100,.15) 100%);}
.loc-hero__breadcrumb{position:absolute;top:1.5rem;left:2rem;display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:rgba(255,255,255,.75);z-index:2;}
.loc-hero__breadcrumb a{color:rgba(255,255,255,.7);}
.loc-hero__breadcrumb a:hover{color:var(--gold);}
.loc-hero__breadcrumb span{opacity:.6;}
.loc-hero__content{position:relative;z-index:2;max-width:var(--wrap);width:100%;margin:0 auto;padding-bottom:2rem;}
.loc-hero__logo{width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.7);margin-bottom:1rem;box-shadow:0 4px 16px rgba(0,0,0,.25);}
.loc-hero__title{font-family:var(--font-h);font-size:clamp(2rem,5vw,3.4rem);font-weight:700;color:var(--white);line-height:1.1;margin-bottom:.5rem;}
.loc-hero__sub{color:rgba(255,255,255,.82);font-size:1.05rem;margin-bottom:1.75rem;max-width:560px;}
.loc-hero__actions{display:flex;gap:1rem;flex-wrap:wrap;}
.loc-hero__actions .btn{box-shadow:0 4px 20px rgba(0,0,0,.2);}

/* ── ABOUT ───────────────────────────────────────── */
.loc-about{padding:5rem 2rem;background:var(--white);}
.loc-about__inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 320px;gap:4rem;align-items:start;}
.loc-about__content{font-size:.975rem;color:var(--text-mid);line-height:1.8;}
.loc-about__content p{margin-bottom:1rem;}
.loc-quick-facts{background:var(--cream);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.75rem;text-align:center;}
.loc-quick-facts__title{font-family:var(--font-h);font-size:1.1rem;color:var(--navy);margin-bottom:1rem;}
.loc-quick-facts__phone{display:block;font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:.75rem;}
.loc-quick-facts__btn{display:block;padding:.8rem;background:var(--btn-primary-bg);color:var(--white);border-radius:var(--r-sm);font-weight:700;font-size:.875rem;margin-bottom:1rem;transition:background .2s;}
.loc-quick-facts__btn:hover{background:var(--btn-primary-hover);}
.loc-quick-facts__badges{display:flex;flex-direction:column;gap:.4rem;font-size:.8rem;color:var(--text-mid);}

/* ── SERVICES ────────────────────────────────────── */
.loc-services{background:var(--cream);padding:5rem 2rem;}
.loc-services__inner{max-width:1200px;margin:0 auto;}
.loc-services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;}
.loc-service-card{display:flex;flex-direction:column;background:var(--white);border-radius:var(--r-md);overflow:hidden;border:1px solid var(--border);transition:transform .25s,box-shadow .25s;}
.loc-service-card:hover{transform:translateY(-5px);box-shadow:var(--sh-md);}
.loc-service-card__img{height:160px;background:var(--warm-gray) center/cover no-repeat;}
.loc-service-card__img--ph{background:linear-gradient(135deg,var(--navy),var(--navy-mid));}
.loc-service-card__body{padding:1.25rem;}
.loc-service-card__body h3{font-family:var(--font-h);font-size:1.05rem;color:var(--navy);margin-bottom:.4rem;}
.loc-service-card__body p{font-size:.85rem;color:var(--text-mid);line-height:1.5;margin-bottom:.75rem;}
.loc-service-card__more{font-size:.78rem;font-weight:700;color:var(--navy);}

/* ── GALLERY ─────────────────────────────────────── */
.loc-gallery{padding:5rem 2rem;background:var(--white);}
.loc-gallery__inner{max-width:1200px;margin:0 auto;}
.loc-gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;}
.loc-gallery__item{border-radius:var(--r-md);overflow:hidden;aspect-ratio:4/3;cursor:pointer;}
.loc-gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease);pointer-events:none;}
.loc-gallery__item:hover img{transform:scale(1.06);}

/* ── VIDEO ───────────────────────────────────────── */
.loc-video{padding:5rem 2rem;background:var(--peach);}
.loc-video__inner{max-width:900px;margin:0 auto;}
.loc-video__wrap{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:var(--r-lg);box-shadow:var(--sh-md);}
.loc-video__wrap iframe,.loc-video__wrap object,.loc-video__wrap embed{position:absolute;top:0;left:0;width:100%;height:100%;}
.loc-video__wrap video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;background:#000;}

/* ── NEWS ────────────────────────────────────────── */
.loc-news{padding:5rem 2rem;background:var(--cream);}
.loc-news__inner{max-width:1200px;margin:0 auto;}
.loc-news__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem;}
.loc-news-card{display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;background:var(--white);border:1px solid var(--border);box-shadow:var(--sh-sm);transition:transform .3s var(--ease),box-shadow .3s;text-decoration:none;color:inherit;}
.loc-news-card:hover{transform:translateY(-5px);box-shadow:var(--sh-md);}
.loc-news-card__img{aspect-ratio:16/9;background:var(--warm-gray) center/cover no-repeat;}
.loc-news-card__img--ph{background:linear-gradient(135deg,var(--navy),var(--navy-mid));}
.loc-news-card__body{padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;flex:1;}
.loc-news-card__date{font-size:.75rem;color:var(--text-light);font-weight:500;}
.loc-news-card__title{font-family:var(--font-h);font-size:1.05rem;font-weight:700;color:var(--navy);line-height:1.4;}
.loc-news-card__excerpt{font-size:.875rem;color:var(--text-mid);line-height:1.55;flex:1;}
.loc-news-card__more{font-size:.8rem;font-weight:700;color:var(--navy);margin-top:.25rem;}

/* ── OTHER CITIES ────────────────────────────────── */
.loc-others{background:var(--peach);padding:5rem 2rem;}
.loc-others__inner{max-width:1200px;margin:0 auto;}
.loc-others__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;}
.loc-other-card{position:relative;border-radius:var(--r-md);overflow:hidden;aspect-ratio:4/3;display:block;}
.loc-other-card__img{position:absolute;inset:0;background:var(--warm-gray) center/cover no-repeat;transition:transform .45s var(--ease);}
.loc-other-card__img--ph{background:linear-gradient(135deg,var(--navy),var(--navy-mid));}
.loc-other-card:hover .loc-other-card__img{transform:scale(1.07);}
.loc-other-card__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,40,100,.75),rgba(20,40,100,.1));}
.loc-other-card__logo{position:absolute;top:.6rem;right:.6rem;width:30px;height:30px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.6);z-index:2;}
.loc-other-card__name{position:absolute;bottom:.9rem;left:1rem;right:1rem;z-index:2;color:var(--white);font-family:var(--font-h);font-size:.95rem;font-weight:700;}

/* ── CTA ─────────────────────────────────────────── */
.loc-cta{background:var(--navy);padding:5rem 2rem;text-align:center;}
.loc-cta__inner{max-width:580px;margin:0 auto;}
.loc-cta h2{font-family:var(--font-h);font-size:1.9rem;color:var(--white);margin-bottom:.75rem;}
.loc-cta p{color:rgba(255,255,255,.75);margin-bottom:2rem;}
.loc-cta .btn{display:inline-flex;justify-content:center;}

/* ── RESPONSIVE ──────────────────────────────────── */
@media(max-width:1024px){
    .loc-about__inner{grid-template-columns:1fr;}
    .loc-others__grid{grid-template-columns:repeat(2,1fr);}
    .loc-news__grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:768px){
    .loc-hero{min-height:60vh;padding:1.5rem;}
    .loc-hero__breadcrumb{left:1.5rem;}
    .loc-about,.loc-services,.loc-gallery,.loc-video,.loc-news,.loc-others,.loc-cta{padding:3.5rem 1.25rem;}
    .loc-gallery__grid{grid-template-columns:repeat(2,1fr);}
    .loc-others__grid{grid-template-columns:repeat(2,1fr);}
    .loc-news__grid{grid-template-columns:1fr;}
}
