
.presence-page { background:#fff; color:#141414; }
.presence-wrap { max-width:1320px; padding-inline:54px; margin-inline:auto; }
.presence-hero { overflow:hidden; padding:150px 0 70px; background:#141414; color:#fff; }
.presence-hero-grid { display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:50px; }
.presence-kicker { margin:0 0 20px; color:#e44825; font-size:10px; line-height:1.6; letter-spacing:.15em; font-weight:800; }
.presence-hero .presence-kicker,.presence-cta .presence-kicker { color:#ff795a; }
.presence-page :is(h1,h2,h3) { font-family:var(--display-font); font-weight:400; margin:0; }
.presence-page h1 { font-size:clamp(50px,6vw,84px); line-height:1.06; letter-spacing:-.02em; }
.presence-page h1 span,.presence-page h2 span { color:#f4512c; }
.presence-lead { max-width:42ch; margin:24px 0; color:#ccc; font-size:15px; line-height:1.8; }
.presence-jump { display:inline-flex; gap:30px; align-items:center; min-height:50px; background:#f4512c; padding:14px 22px; border-radius:11px; font-size:13px; font-weight:800; }
.presence-network { position:relative; width:min(100%,340px); aspect-ratio:1; margin:auto; display:grid; place-items:center; }
.presence-network-ring { position:absolute; inset:0; border:1px dashed #ffffff40; border-radius:50%; animation:presence-orbit 40s linear infinite; }
.presence-network-ring::before { content:''; position:absolute; inset:28px; border:1px solid #ffffff14; border-radius:50%; }
.presence-network-stat { display:flex; flex-direction:column; align-items:center; }
.presence-network-stat strong { font-family:var(--display-font); font-size:112px; line-height:1.1; font-weight:400; }
.presence-network-stat strong span { color:#f4512c; font-size:40px; vertical-align:top; display:inline-block; animation:presence-orbit 24s linear infinite; }
.presence-network-stat > span { margin-top:10px; font-size:9px; letter-spacing:.2em; color:#aaa; }
.presence-network-stat b { margin-top:9px; font-size:16px; letter-spacing:.18em; }
.presence-dot { position:absolute; width:12px; height:12px; border-radius:50%; background:#f4512c; box-shadow:0 0 0 6px #f4512c20; animation:presence-pulse 3s ease-in-out infinite; }
.dot-one { left:15%; top:12%; }.dot-two { right:0; top:50%; animation-delay:-1s; }.dot-three { bottom:4%; left:29%; animation-delay:-2s; }
.presence-directory { padding-block:64px; scroll-margin-top:100px; }
.presence-directory-head { display:flex; align-items:end; justify-content:space-between; gap:32px; }
.presence-page h2 { font-size:clamp(36px,4vw,54px); line-height:1.1; }
.presence-search { width:280px; max-width:100%; flex-shrink:0; }
.presence-search label { display:block; margin-bottom:9px; font-size:12px; font-weight:700; }
.presence-search > div { position:relative; }
.presence-search svg { position:absolute; top:15px; left:14px; width:20px; height:20px; color:#777; pointer-events:none; }
.presence-search input { width:100%; min-height:50px; padding:12px 14px 12px 44px; background:#f7f5f2; border:1px solid #dcd7d1; border-radius:11px; color:#141414; font-size:16px; }
.presence-search input:focus-visible { outline:2px solid #f4512c; outline-offset:3px; }
.presence-count { margin:32px 0 16px; color:#777; font-size:12px; }
.presence-cities { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.presence-city { min-width:0; padding:22px; border:1px solid #e3ded9; border-radius:17px; background:#f7f5f2; transition:transform .2s ease,border-color .2s ease; }
.presence-city[hidden] { display:none; }
.presence-city-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:28px; }
.presence-city-top > span { font-size:10px; font-weight:800; letter-spacing:.1em; color:#666; }
.presence-city-top svg { width:25px; height:25px; color:#e44825; }
.presence-city h3 { font-size:clamp(25px,2.5vw,34px); line-height:1.15; overflow-wrap:anywhere; }
.presence-city p { margin:9px 0 0; font-size:11px; line-height:1.6; color:#777; }
.presence-directory-note { margin:24px 0 0; font-size:12px; line-height:1.8; color:#666; }
.presence-directory-note a,.presence-empty a { color:#bb3419; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.presence-empty { padding:28px; background:#f7f5f2; border-radius:12px; font-size:14px; line-height:1.7; }
.presence-cta { background:#141414; padding-block:54px; color:#fff; border-bottom:1px solid #333; }
.presence-cta > div { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.presence-cta p:not(.presence-kicker) { color:#ccc; max-width:42ch; font-size:14px; line-height:1.8; margin:0 0 22px; }
.presence-cta-actions { display:flex; flex-wrap:wrap; gap:12px; }
.presence-cta-actions a { display:inline-flex; align-items:center; justify-content:space-between; gap:22px; padding:15px 18px; border:1px solid #555; border-radius:10px; font-size:12px; font-weight:800; }
.presence-cta-actions a:first-child { background:#f4512c; border-color:#f4512c; }
@keyframes presence-orbit { to { transform:rotate(360deg); } }
@keyframes presence-pulse { 0%,100% { box-shadow:0 0 0 5px #f4512c20; } 50% { box-shadow:0 0 0 12px #f4512c05; } }
@media(max-width:1000px) { .presence-wrap { padding-inline:30px; } .presence-cities { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:767px) {
 .presence-wrap { padding-inline:20px; } .presence-hero { padding:112px 0 44px; } .presence-hero-grid { grid-template-columns:minmax(0,1fr); gap:36px; }
 .presence-page h1 { font-size:clamp(42px,10.5vw,68px); } .presence-lead { font-size:14px; } .presence-network { width:240px; } .presence-network-stat strong { font-size:86px; }
 .presence-directory { padding-block:40px; } .presence-directory-head { flex-direction:column; align-items:stretch; gap:26px; } .presence-search { width:100%; } .presence-page h2 { font-size:36px; }
 .presence-cities { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .presence-city { padding:16px 12px; border-radius:14px; } .presence-city h3 { font-size:clamp(22px,6vw,30px); } .presence-city-top { margin-bottom:22px; }
 .presence-cta { padding-block:40px; } .presence-cta > div { grid-template-columns:minmax(0,1fr); gap:24px; }
}
@media(hover:hover) { .presence-city:hover { transform:translateY(-4px); border-color:#f4512c; } .presence-jump:hover,.presence-cta-actions a:first-child:hover { background:#db3d1b; } }
@media(prefers-reduced-motion:reduce) { .presence-network * { animation:none; } .presence-city { transition:none; } .presence-city:hover { transform:none; } }
