@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--ink:#182d50;--muted:#6c778b;--paper:#f5f7fb;--line:#dce2ec;--accent:#c9dafa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:17px;line-height:1.6}.shell{max-width:1240px;margin:auto;padding:0 48px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #5d81b8;outline-offset:5px}header{height:110px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:inline-flex;gap:10px;align-items:center;font-family:'Manrope',sans-serif;font-size:28px;font-weight:800;letter-spacing:-1.2px}.brand-accent{font-weight:500}.brand-dot{color:#6485b7}nav{display:flex;align-items:center;gap:32px}header nav a{font-size:15px;font-weight:550}header nav a[aria-current]{color:#365f98}header nav a:last-child{border:1px solid #becadc;border-radius:7px;padding:9px 17px}header nav a span{margin-left:12px}.hero{text-align:center;padding:70px 0 54px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:9px}.hero>.eyebrow{justify-content:center}.status-dot{display:inline-block;width:6px;height:6px;background:#547aad;border-radius:100%;flex-shrink:0}h1,h2,h3{font-family:'Manrope',sans-serif}h1{font-weight:650;font-size:70px;line-height:1.1;letter-spacing:-3.8px;margin:22px 0 15px}h1>span{color:#627fa9}.intro{color:var(--muted);font-size:19px;margin:0 0 38px}.ip-card{max-width:880px;margin:0 auto;background:#fff;border:1px solid #d4ddeb;border-radius:16px;text-align:left;box-shadow:0 12px 34px #18345b10;overflow:hidden}.card-top{display:flex;justify-content:space-between;align-items:center;padding:25px 32px 0;font-size:12px;font-weight:650;letter-spacing:1.6px}.card-top>span:first-child{display:flex;gap:9px;align-items:center}.pill{font-size:12px;letter-spacing:.7px;background:#eaf0fa;color:#426493;border:1px solid #d8e3f4;border-radius:5px;padding:3px 9px}.address-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 32px 0}.ip-address{font-family:'Manrope',sans-serif;font-size:clamp(30px,calc(4.8vw + 2px),59px);font-weight:650;letter-spacing:-2px;overflow-wrap:anywhere;line-height:1.4}.copy-button{display:flex;align-items:center;gap:8px;white-space:nowrap;color:var(--ink);background:#fff;border:1px solid #d7dfed;border-radius:7px;padding:10px 13px;font-size:14px}.copy-button:hover{background:#edf2fa}button:disabled{opacity:.5;cursor:wait}.location-line{display:flex;gap:8px;align-items:center;color:#6b778c;padding:7px 32px 28px;font-size:15px}.location-line>span:first-child{font-size:26px;line-height:1;color:#5676a2}.connection-details{display:grid;grid-template-columns:1fr 1.3fr 1.5fr 1fr;padding:24px 32px;border-top:1px solid #e5eaf2;gap:22px}.detail-label{display:block;font-size:11px;letter-spacing:1.2px;color:#778398;margin-bottom:8px;font-weight:600}.connection-details strong{font-weight:550;font-size:14px;display:block;overflow-wrap:anywhere}.card-bottom{border-top:1px solid #e5eaf2;background:#f3f6fb;padding:14px 32px;display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:12px;color:#667992}.card-bottom button{padding:0;border:0;background:none;white-space:nowrap;font-size:13px;color:var(--ink)}.card-bottom button span{margin-left:6px;font-size:18px}.location-note{font-size:13px;color:#7c8aa0;margin:19px 0 0}.about{border-top:1px solid var(--line);padding:57px 0 45px;display:grid;grid-template-columns:1fr 1.12fr;gap:84px}.about h2{font-size:34px;line-height:1.25;letter-spacing:-1.2px;font-weight:600;margin:18px 0}.about-heading p{max-width:250px;color:var(--muted);font-size:15px}.explainers article{display:flex;gap:22px;margin:0 0 25px}.number{color:#788cab;font-size:13px;padding-top:3px}.explainers h3{font-size:16px;margin:0 0 6px;font-weight:700}.explainers p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.quiet-note{display:flex;align-items:center;gap:18px;background:#e7edf7;border-radius:10px;padding:23px 29px;margin-bottom:57px}.quiet-note>span{font-size:37px;color:#5c7da9}.quiet-note p{margin:0;font-size:14px;line-height:1.7}.quiet-note strong{font-weight:500;color:var(--muted)}.quiet-note a{margin-left:auto;font-size:12px;color:#5c7293}footer{border-top:1px solid var(--line);display:flex;align-items:center;flex-wrap:wrap;gap:18px;padding:30px 0 28px}.footer-brand{font-size:19px;letter-spacing:-.7px;gap:7px}footer p{font-size:12px;color:var(--muted);margin:0}footer nav{margin-left:auto;gap:22px;font-size:12px}footer small{width:100%;font-size:11px;color:#7d899c}.document{max-width:760px;min-height:65vh;padding:45px 0 85px;margin:0 auto}.back-link{font-size:14px;color:var(--muted);display:inline-block;margin-bottom:42px}.document h1{font-size:50px;letter-spacing:-2px;margin:18px 0 25px}.document-lead{font-size:21px!important;color:#5d7190!important}.document p{color:var(--muted);font-size:16px}.document h2{font-size:23px;margin:33px 0 8px;letter-spacing:-.5px}.document p a{text-decoration:underline;text-underline-offset:3px}.updated{font-size:13px!important}.email-link{display:flex;justify-content:space-between;align-items:center;background:#e7edf7;border:1px solid #d0dced;border-radius:12px;font-family:'Manrope',sans-serif;font-size:29px;letter-spacing:-1px;padding:26px;margin:35px 0 18px}.contact-note{display:flex;gap:10px;align-items:center;font-size:14px;margin:0 0 40px}a:hover{color:#3e659d}@media(min-width:1500px){.hero{padding-top:90px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(max-width:800px){.shell{padding:0 24px}header{height:90px}.brand{font-size:24px}nav{gap:20px}header nav a{font-size:14px}.hero{padding-top:50px}h1{font-size:58px}.about{gap:38px}.connection-details{grid-template-columns:1fr 1fr;gap:20px}.quiet-note{margin-bottom:40px}.quiet-note a{max-width:115px}footer nav{margin-left:0}footer p{flex:1}.document h1{font-size:44px}}@media(max-width:520px){.shell{padding:0 18px}header{height:80px}header nav a:nth-child(2){display:none}header nav{gap:16px}header nav a:last-child{padding:7px 10px}.brand{font-size:22px}.brand img{width:32px;height:32px}.hero{padding:42px 0}.eyebrow{font-size:10px;letter-spacing:1.5px}h1{font-size:47px;letter-spacing:-2.5px}.intro{font-size:16px;max-width:250px;margin:0 auto 26px}.card-top{padding:20px 20px 0;font-size:10px;letter-spacing:1px}.address-row{padding:16px 20px 0;flex-wrap:wrap;gap:10px}.ip-address{font-size:35px;letter-spacing:-1.5px;max-width:100%}.copy-button{padding:7px 10px;font-size:12px}.copy-button svg{width:13px}.location-line{padding:12px 20px 20px;font-size:13px}.connection-details{padding:20px;gap:20px 14px}.connection-details strong{font-size:13px}.detail-label{font-size:10px}.card-bottom{padding:14px 20px;gap:15px;align-items:flex-start}.card-bottom>span{font-size:11px}.card-bottom button{font-size:12px}.location-note{font-size:11px;max-width:280px;margin:18px auto 0}.about{grid-template-columns:1fr;gap:25px;padding:35px 0 20px}.about h2{font-size:31px}.about-heading p{max-width:100%}.explainers article{gap:18px}.quiet-note{padding:18px;gap:13px;flex-wrap:wrap}.quiet-note a{margin-left:44px;max-width:none}.quiet-note p{font-size:13px}footer{gap:15px}footer p{font-size:11px}footer nav{width:100%;justify-content:space-between;font-size:12px;gap:10px}.document{padding-top:30px}.document h1{font-size:38px}.document-lead{font-size:19px!important}.email-link{font-size:22px;padding:20px}}

/* Single-row footer; narrow screens can scroll horizontally. */
footer{flex-wrap:nowrap;justify-content:space-between;gap:24px;align-items:center;overflow-x:auto;white-space:nowrap}
.footer-content{display:flex;flex-direction:row;align-items:center;gap:24px;flex-shrink:0}
footer small{width:auto;font-size:11px}
footer p{flex:none;font-size:12px}
footer nav{margin-left:0;gap:10px;font-size:12px;flex-wrap:nowrap;justify-content:flex-start;width:auto}
footer nav>span{color:#7d899c}
.footer-brand{margin-left:auto;flex-shrink:0;filter:grayscale(1);color:#68707b}
@media(max-width:520px){footer{gap:20px;align-items:center}.footer-content{gap:20px}footer nav{gap:6px;font-size:12px}.footer-brand{font-size:17px;gap:5px}.footer-brand img{width:25px;height:25px}}

/* Full-width geolocation hero. */
.hero{position:relative;isolation:isolate;width:100vw;margin-left:calc(50% - 50vw);min-height:780px;padding:90px 32px 70px;background:#0b1930;color:#fff;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:url('/images/ip-location-hero.png') center center/cover no-repeat;opacity:.65}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,18,37,.15),rgba(7,18,37,.55)),radial-gradient(ellipse at center,rgba(7,18,37,.65),transparent 75%)}
.hero>.eyebrow{color:#c8dbf7}.hero .status-dot{background:#9ac5ff;box-shadow:0 0 12px #72aaff77}
.hero h1{font-size:clamp(56px,7vw,94px);letter-spacing:-4px;margin:22px 0 18px;font-weight:650}.hero h1>span{color:#fff}.hero .intro{color:#c3cfe1;font-size:21px;margin-bottom:44px}
.hero .ip-card{background:rgba(12,29,54,.91);border-color:#6f94c149;box-shadow:0 25px 80px #0004;backdrop-filter:blur(8px);max-width:920px}
.hero .card-top{color:#cfdef3;padding:28px 34px 0}.hero .pill{background:#233e60;color:#e2edff;border-color:#47658d}
.hero .address-row{padding:14px 34px 0}.hero .ip-address{color:#fff;font-size:clamp(35px,5vw,65px)}
.hero .copy-button{background:#263f61;border-color:#506a8c;color:#fff}.hero .copy-button:hover{background:#355379}
.hero .location-line{color:#d0ddf0;padding:10px 34px 30px}.hero .location-line>span:first-child{color:#9ac5ff}
.hero .connection-details{border-color:#6f94c133;padding:26px 34px}.hero .detail-label{color:#a8bddb}.hero .connection-details strong{color:#fff}
.hero .card-bottom{background:#07172e77;border-color:#6f94c133;color:#b7cae4;padding:16px 34px}.hero .card-bottom button{color:#fff}.hero .location-note{color:#afc2df;margin-top:24px}
.about{border-top:0;padding-top:65px}
@media(max-width:800px){.hero{padding:70px 24px 55px;min-height:740px}.hero h1{letter-spacing:-3px}.hero .intro{font-size:19px}.hero::before{background-position:center}}
@media(max-width:520px){.hero{padding:55px 18px 45px;min-height:750px}.hero h1{font-size:50px;letter-spacing:-2.7px}.hero .intro{font-size:17px;max-width:285px;margin-bottom:30px}.hero .card-top{padding:22px 20px 0}.hero .address-row{padding:18px 20px 0}.hero .ip-address{font-size:36px}.hero .location-line{padding:14px 20px 24px}.hero .connection-details{padding:22px 20px}.hero .card-bottom{padding:16px 20px}.hero .location-note{max-width:310px;font-size:12px}}

.blog-section{padding:65px 0 80px;min-height:65vh}.blog-section>h1{font-size:56px;letter-spacing:-2.5px}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:45px 0}.blog-card{padding:28px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.blog-card-media{display:block;margin:-28px -28px 20px}.blog-card-media img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid var(--line)}.article-hero{margin:28px 0 8px}.article-hero img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:12px}.article-body figure{margin:28px 0}.article-body figure img{display:block;border:1px solid var(--line);border-radius:10px}.article-body figcaption{font-size:13px;color:var(--muted);margin-top:8px;text-align:center}.blog-card time{font-size:12px;color:var(--muted)}.blog-card h2{font-size:23px;line-height:1.4;letter-spacing:-.7px}.blog-card p{font-size:15px;color:var(--muted)}.blog-card>a{font-size:14px}.blog-empty{grid-column:1/-1;padding:55px 20px;border:1px dashed #b9c8de;border-radius:12px;text-align:center}.blog-empty h2{font-size:25px}.blog-empty p{font-size:15px;color:var(--muted)}.blog-article h1{overflow-wrap:anywhere}.article-body{overflow-wrap:anywhere}.article-body img{display:block;max-width:100%;height:auto;margin:30px auto 8px;border:1px solid var(--line);border-radius:10px}.article-body img[alt]+em,.article-body p>img+em{display:block;text-align:center;font-size:13px;color:var(--muted)}.article-body p:has(>img){margin-bottom:26px}.article-body pre{padding:20px;background:#e7edf7;overflow:auto;border-radius:8px;font-size:14px}.article-body code{font-size:.9em}.article-body a{text-decoration:underline}.article-body blockquote{border-left:3px solid #627fa9;padding-left:22px;margin-left:0;color:#627fa9}.article-body h1{font-size:32px;letter-spacing:-1px}.preview-banner{background:#e7edf7;padding:16px;border:1px solid #bdcbe0;border-radius:8px;font-size:13px;margin-bottom:30px}.preview-banner a{margin-left:15px;text-decoration:underline}@media(max-width:900px){.blog-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.blog-grid{grid-template-columns:1fr}.blog-section>h1{font-size:40px}.blog-section{padding-top:40px}header nav{gap:10px}header nav a{font-size:12px}}


.country-flag{width:24px;height:18px;object-fit:cover;flex-shrink:0;border-radius:2px;box-shadow:0 0 0 1px #ffffff25}

/* Shared blog and dashboard pagination. */
.pagination{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:24px;margin:32px 0 12px}
.pagination-summary{margin:0;color:var(--muted);font-size:13px;white-space:nowrap}.pagination-summary strong{color:var(--ink);font-weight:600}
.pagination-controls,.pagination-pages{display:flex;align-items:center;gap:6px}.pagination-controls{flex-wrap:wrap;justify-content:center}
.pagination-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:40px;min-height:40px;padding:8px 12px;border:1px solid #d4ddeb;border-radius:8px;background:#fff;font-size:14px;font-weight:550;line-height:1.4;color:var(--ink);text-decoration:none;white-space:nowrap}
a.pagination-button:hover{background:#e7edf7;border-color:#9bb0cf;color:var(--ink)}.pagination-button.is-current{background:var(--ink);color:#fff;border-color:var(--ink)}.pagination-button.is-disabled{color:#8c97a8;background:transparent;border-color:transparent}.pagination-ellipsis{display:flex;align-items:center;justify-content:center;width:24px;color:var(--muted)}.pagination-mobile{display:none}
@media(max-width:1100px){.pagination{flex-direction:column;gap:16px}.pagination-controls{width:100%}}
@media(max-width:650px){.pagination-pages{display:none}.pagination-mobile{display:inline;font-size:13px;color:var(--muted);white-space:nowrap}.pagination-controls{justify-content:space-between;gap:8px;flex-wrap:nowrap}.pagination-button{font-size:13px;min-height:42px;padding:9px 11px}.pagination-direction{gap:5px}.pagination-summary{font-size:12px}}

header nav a.header-search{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;flex-shrink:0}header nav a.header-search:hover{background:#e7edf7}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-search-form{display:flex;gap:12px;max-width:740px;margin:32px 0 20px}.site-search-form input{min-width:0;flex:1;border:1px solid #becadc;border-radius:9px;background:#fff;padding:16px 18px;font:inherit;color:var(--ink)}.site-search-form button{border:0;border-radius:9px;background:var(--ink);color:#fff;padding:14px 24px;font:inherit;cursor:pointer}.site-search-form input:focus-visible{outline:3px solid #7599ca;outline-offset:3px}.search-summary{font-size:15px;color:var(--muted)}.search-group-title{font-size:22px;margin-top:40px}.search-page-results{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.search-page-results article{padding:20px 24px;background:#fff;border:1px solid var(--line);border-radius:10px}.search-page-results h3{font-size:18px;margin:0 0 8px}.search-page-results p{font-size:14px;color:var(--muted);margin:0}.search-section .blog-grid{margin-top:20px}@media(max-width:520px){.site-search-form{gap:8px}.site-search-form input{padding:12px;font-size:14px}.site-search-form button{padding:12px;font-size:14px}.search-page-results{grid-template-columns:1fr}}

.location-line .country-flag{border-radius:2px;box-shadow:0 0 0 1px #ffffff25}.location-line .country-flag[hidden]{display:none}.connection-details{grid-template-columns:1.7fr 1fr 1fr 1fr}@media(max-width:800px){.connection-details{grid-template-columns:1fr 1fr}}
