@font-face {
  font-family: 'eGlobal';
  src: local('eGlobal'), local('Eglobal'), local('E Global');
  font-display: swap;
}
:root { --ink:#1e1e1e; --paper:#fff; --blue:#4b93cf; --blue-deep:#377eb8; --blue-pale:#f4f8fb; --muted:#777; --line:#e6e6e6; }
* { box-sizing:border-box; }
html { background:var(--ink); }
body { margin:0; min-width:320px; min-height:100svh; background:linear-gradient(160deg,#fff 0%,var(--paper) 100%); color:var(--ink); font-family:'eGlobal', Arial, Helvetica, sans-serif; }
.page-shell { width:min(100%,620px); min-height:calc(100svh - 91px); margin:auto; padding:34px 27px 42px; display:flex; flex-direction:column; }
.brand { display:flex; justify-content:center; align-items:center; }
.brand-mark { display:block; line-height:0; }
.brand-mark img { display:block; width:240px; max-width:78vw; height:auto; }
.hero { position:relative; overflow:hidden; margin:25px -27px 0; padding:48px 18px 44px; text-align:center; background:linear-gradient(112deg,#eff7fc 0%,#fff 66%); border-top:1px solid #e6f0f7; border-bottom:1px solid #e0edf5; }
.hero::before { content:''; position:absolute; top:0; bottom:0; left:0; width:7px; background:var(--blue); }
.hero::after { content:''; position:absolute; width:110px; height:110px; right:-44px; bottom:-64px; border:20px solid rgba(75,147,207,.12); border-radius:50%; }
h1, h2 { margin:0; font-weight:700; letter-spacing:.4px; line-height:1.22; text-transform:uppercase; }
h1 { position:relative; z-index:1; color:var(--blue); font-size:clamp(18px,5.7vw,36px); letter-spacing:0; text-transform:none; }
h1 span { display:block; color:var(--ink); white-space:nowrap; }
.details-card { position:relative; padding:34px 5px 35px; border-bottom:1px solid var(--line); text-align:center; }
h2 { color:var(--blue); font-size:clamp(23px,6.2vw,31px); }
.hours { margin:15px 0 19px; color:var(--ink); font-size:15px; font-weight:700; letter-spacing:.15px; }
.detail-value { max-width:460px; margin:0 auto; color:#555; font-size:16px; font-weight:400; line-height:1.55; }
.telephone { margin:14px 0 0; color:#555; font-size:15px; line-height:1.5; }
.phone-link { color:#555; text-decoration:none; }
.location-actions { margin-top:19px; }
.text-link { display:inline-block; color:var(--blue); font-size:13px; font-weight:700; letter-spacing:.7px; text-decoration:none; }
.text-link::after { content:' ›'; font-size:18px; vertical-align:-1px; }
.actions { display:grid; gap:12px; margin-top:31px; }
.button { min-height:56px; border-radius:0; display:flex; align-items:center; justify-content:center; padding:0 20px; font-size:15px; font-weight:700; letter-spacing:.4px; text-decoration:none; transition:transform .15s ease, background .15s ease; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--blue); color:white; }
.button-primary:hover { background:var(--blue-deep); }
.button-secondary { border:1px solid var(--blue); color:var(--blue); background:white; }
.follow-cta { margin:28px 0 0; padding:20px 18px; border-left:4px solid var(--blue); background:#fff; text-align:center; }
.follow-cta p { margin:0; color:var(--blue); font-size:18px; font-weight:700; line-height:1.28; }
.follow-cta strong { color:inherit; }
.follow-cta-links { display:flex; justify-content:center; flex-wrap:wrap; gap:8px 18px; margin-top:12px; }
.follow-cta-links a { color:var(--blue); font-size:12px; font-weight:700; text-decoration-color:var(--blue); text-decoration-thickness:2px; text-underline-offset:3px; }
.follow-cta-links span { color:var(--blue); font-size:15px; }
.site-footer { min-height:91px; padding:20px 27px; background:#252525; color:white; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.site-footer p { margin:0; font-size:15px; font-weight:700; letter-spacing:.7px; }
.site-footer span { margin-top:5px; color:#cfcfcf; font-size:9px; font-weight:700; letter-spacing:1.2px; }
.social-links { display:flex; gap:13px; margin-top:14px; }
.social-links a { width:29px; height:29px; border:1px solid #a8a8a8; border-radius:50%; color:white; display:grid; place-items:center; transition:background .15s ease, border-color .15s ease; }
.social-links a:hover { border-color:var(--blue); background:var(--blue); }
.social-links svg { width:15px; height:15px; fill:currentColor; }
.social-links svg rect, .social-links svg circle { fill:none; stroke:currentColor; stroke-width:2; }
.social-links svg .dot { fill:currentColor; stroke:none; }
@media (min-width:641px) { body { padding:24px 0; background:#eee; } .page-shell, .site-footer { width:620px; margin-left:auto; margin-right:auto; } .page-shell { min-height:calc(100svh - 139px); box-shadow:0 12px 45px rgba(0,0,0,.10); } .site-footer { box-shadow:0 12px 45px rgba(0,0,0,.10); } }
@media (prefers-reduced-motion:reduce) { .button { transition:none; } }
