@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&family=Open+Sans:wght@400;500;600&display=swap');
:root{--ink:#34354b;--muted:#54566c;--line:#ffffffb5}*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body.starlink-page,body.starlink-directory{margin:0;min-height:100svh;color:var(--ink);font:15px/1.55 'Open Sans',sans-serif;background:linear-gradient(125deg,#e4f0f4 0%,#ede8f8 42%,#f4e2e4 70%,#e8f3e8);isolation:isolate}a{color:inherit}button,input,select{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #695390;outline-offset:5px}button{border:0}button:active,.primary:active{transform:translateY(1px)}[hidden]{display:none!important}.masthead{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:28px 4vw}.wordmark{font:800 30px/1 'Montserrat',sans-serif;letter-spacing:-1.6px;text-decoration:none}.pill{font-size:12px;text-decoration:none;border:1px solid #fff9;padding:10px 18px;border-radius:30px;background:linear-gradient(110deg,#ffffff36,#c9dbf144);box-shadow:inset 0 1px 1px #fff}.hero{min-height:calc(100svh - 166px);display:flex;align-items:center;padding:22px 7vw 24px;position:relative}.intro{width:min(590px,48vw);z-index:1}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:600;margin:0 0 15px}h1{font:500 clamp(72px,8.8vw,142px)/.95 'Montserrat',sans-serif;letter-spacing:-7px;margin:0;animation:rise .7s both}.city-name{font:400 clamp(26px,3vw,46px)/1.1 'Montserrat',sans-serif;letter-spacing:-1.5px;margin:16px 0 0;animation:rise .8s .16s both;overflow-wrap:anywhere}.subtitle{font-size:16px;margin:18px 0 25px;color:var(--muted);animation:rise .8s .25s both}.glass{border:1px solid #fff9;border-radius:28px;padding:24px 27px;background:linear-gradient(125deg,#ffffff26,#f4dcf03b 50%,#e0f9ec3d);backdrop-filter:blur(3px) saturate(1.3);-webkit-backdrop-filter:blur(3px) saturate(1.3);box-shadow:inset 0 2px 2px #fffffff0,inset 0 -1px 2px #ffffffaf,0 16px 50px #66528712;animation:rise .9s .4s both}.glass p{margin:0 0 16px;max-width:470px}.glass .place{font-size:11px;letter-spacing:1px;text-transform:uppercase;margin-bottom:10px}.primary,.secondary{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;border-radius:25px;padding:12px 19px;text-decoration:none;font-weight:600;font-size:13px}.primary{background:linear-gradient(105deg,#d7c5ee,#e6d6ee 35%,#c3dfed 73%,#cae8d9);border:1px solid #fff9;box-shadow:inset 0 1px 1px white,0 6px 14px #64568c14}.primary span{font-size:22px;line-height:1}.secondary{background:linear-gradient(115deg,#ffffff35,#e5dff52b);border:1px solid #ffffff99;margin-top:9px;justify-content:center}.fine,.glass .fine{font-size:11px;line-height:1.6;color:var(--muted);margin:15px 0 0}.text-button{padding:13px 3px;margin-top:7px;font-size:12px;background:transparent;border-bottom:1px solid #54566c22}.text-button span{margin-left:25px;font-size:18px}.footnav{display:flex;justify-content:center;flex-wrap:wrap;gap:24px;padding:20px 25px;font-size:11px;position:relative;z-index:1}.footnav a{text-decoration:none}.atmosphere{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 74% 54%,#d7f2ed99,transparent 42%),radial-gradient(ellipse at 84% 5%,#d0ddf18a,transparent 50%)}.orb{position:absolute;left:65%;top:25%;width:clamp(290px,33vw,550px);aspect-ratio:1;border-radius:47% 53% 49% 51% / 52% 47% 53% 48%;background:repeating-radial-gradient(ellipse at 35% 10%,#faebd8 0%,#cde5e7 9%,#b8a4d9 14%,#eed0df 20%,#f7e7bd 27%,#accfe0 33%);box-shadow:inset 4px 8px 16px #fff, inset -8px -9px 23px #b8a4cc90,0 0 70px #e7cbe36b,0 60px 80px #bba4c826;transform:translateX(-10%);animation:arrive 1.4s .15s both,float 12s 1.5s ease-in-out infinite alternate}.orbit{position:absolute;left:63%;top:24%;width:clamp(320px,38vw,600px);aspect-ratio:1;border:1px solid #ffffff8c;border-radius:50%;transform:rotate(-24deg) scaleY(.65);animation:arrive 1.5s .3s both}.floor-glow{position:absolute;left:62%;top:73%;width:35%;height:8%;border-radius:50%;background:linear-gradient(90deg,#d6c3ed,#d6f3df,#fff0db);filter:blur(27px);opacity:.75}.scene-caption{position:absolute;right:8vw;bottom:10%;display:flex;flex-direction:column;gap:7px;font-size:9px;letter-spacing:2px;color:#5e587b;text-align:right}dialog{color:var(--ink);border:1px solid #fff;border-radius:26px;padding:35px;max-width:720px;width:calc(100% - 32px);max-height:88svh;background:linear-gradient(125deg,#f0f3fc,#f5eaf1,#e9f5ee);box-shadow:0 30px 120px #39324c40;line-height:1.65}dialog::backdrop{background:#35344935;backdrop-filter:blur(6px)}dialog h2{font:500 32px/1.2 'Montserrat',sans-serif;letter-spacing:-1.2px;clear:both}dialog h3{font:600 17px/1.4 'Montserrat',sans-serif;margin-top:27px}.close{float:right;border:1px solid #fff;background:#fff6;border-radius:22px;padding:8px 17px;font-size:12px}dialog a{text-underline-offset:3px}dialog label{display:block;font-size:12px;font-weight:600;margin:15px 0 6px}dialog select,dialog input,.search input,.search select{display:block;width:100%;margin-top:7px;padding:12px 14px;border:1px solid #ffffffdb;background:#ffffff6b;border-radius:13px;min-height:46px;max-width:100%}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.advice{padding:15px 0;border-top:1px solid #b1acd03b;border-bottom:1px solid #b1acd03b;font-size:13px}#estimate{display:block;margin:20px 0;font-size:16px}#download-plan{margin-top:12px}.directory{padding:35px 6vw 55px}.directory h1{font-size:clamp(52px,6vw,90px);letter-spacing:-4px;line-height:1.05}.directory h1 span{color:#6a6481;font-weight:400}.directory-intro{margin:22px 0 35px}.search{display:grid;grid-template-columns:2fr 1fr;gap:20px;max-width:850px}.search label{font-size:12px}.search input,.search select{background:linear-gradient(100deg,#ffffff60,#eadbf354,#d9eee954);border-radius:18px}#city-count{font-size:12px;color:var(--muted);margin:26px 0 8px}.city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 35px}.city-link{display:grid;grid-template-columns:1fr auto;padding:20px 0;border-bottom:1px solid #8e8ba635;text-decoration:none;align-items:center;gap:3px 10px}.city-link strong{font:500 17px/1.3 'Montserrat',sans-serif}.city-link span:nth-child(2){grid-column:1;font-size:11px;color:var(--muted)}.city-link span:nth-child(3){grid-column:2;grid-row:1/3}.directory-method{margin-top:40px;max-width:850px;font-size:13px}.directory-method summary{cursor:pointer;font-weight:600}@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes arrive{from{opacity:0}to{opacity:1}}@keyframes float{from{translate:0 -6px;rotate:-3deg}to{translate:0 14px;rotate:4deg}}@media(min-width:1700px){.intro{width:640px}.glass{max-width:600px}.hero{padding-left:10vw}}@media(max-width:850px){.masthead{padding:22px 6vw}.hero{padding:25px 6vw 20px}.intro{width:min(580px,82vw)}.orb{left:67%;top:25%;opacity:.45;width:350px}.orbit{left:64%;top:24%;width:390px}.scene-caption{display:none}.city-grid{grid-template-columns:repeat(2,1fr)}h1{font-size:96px}.glass{background:linear-gradient(125deg,#ffffff55,#f4dcf057,#e0f9ec63)}}@media(max-width:540px){.masthead{padding:20px 6vw}.wordmark{font-size:26px}.pill{font-size:11px;padding:8px 13px}.hero{min-height:calc(100svh - 135px);padding:20px 6vw;align-items:center}.intro{width:100%}h1{font-size:clamp(64px,20vw,88px);letter-spacing:-4.5px}.eyebrow{font-size:9px;letter-spacing:1.7px}.city-name{font-size:30px;line-height:1.12;margin-top:12px}.subtitle{font-size:14px;margin:15px 0 20px}.glass{padding:20px;border-radius:24px;font-size:13px}.glass .fine{font-size:10px}.primary,.secondary{font-size:12px;min-height:47px}.orb{left:62%;top:12%;width:310px;opacity:.6}.orbit{left:58%;top:13%;width:350px}.floor-glow{top:50%;left:40%;width:75%}.footnav{gap:17px;font-size:10px;padding:15px}.fields{grid-template-columns:1fr}dialog{padding:24px}dialog h2{font-size:26px}.directory{padding:25px 6vw}.directory h1{font-size:54px;letter-spacing:-2.5px}.search{grid-template-columns:1fr;gap:12px}.city-grid{grid-template-columns:1fr}.city-link{padding:17px 0}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}@media print{.atmosphere,.masthead,.footnav,.close{display:none}dialog[open]{position:static;max-height:none;border:0;width:100%}.hero{min-height:0}.glass{box-shadow:none}body{background:white!important}}
@media(min-width:851px) and (max-height:800px){.masthead{padding-top:21px;padding-bottom:21px}.hero{padding-top:12px;padding-bottom:12px;min-height:calc(100svh - 132px)}h1{font-size:94px}.city-name{font-size:34px;margin-top:10px}.subtitle{margin:12px 0 18px;font-size:14px}.glass{padding:19px 24px}.glass p{margin-bottom:12px}.glass .fine{margin-top:12px}.eyebrow{margin-bottom:12px}.text-button{padding:9px 3px;margin-top:3px}.footnav{padding:14px 25px}}
