@charset "UTF-8";
:root{color-scheme:light;--blue:#1e88e5;--blue-dark:#176fbd;--ink:#162b3d;--muted:#5d7181;--line:#e8edf1;--pale:#eff8ff;--page:#fff;--shadow:0 18px 48px rgba(30,74,108,.12);font-family:Inter,"Segoe UI",Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--page);color:var(--ink);min-width:320px}
a{color:inherit}
.site-header,main,.site-footer{width:min(1160px,calc(100% - 48px));margin-inline:auto}
.site-header{height:88px;display:flex;align-items:center;justify-content:space-between}
.brand,.footer-brand{display:inline-flex;align-items:center;text-decoration:none}
.brand img{display:block;width:150px;height:auto}
.language{display:flex;align-items:center;gap:11px;color:#a1aeb8;font-size:13px;font-weight:700;letter-spacing:.07em}
.language a{text-decoration:none;color:#6c7d8b;padding:8px 2px;border-bottom:2px solid transparent}
.language a:hover,.language a:focus-visible{color:var(--blue)}
.language a.active{color:var(--blue);border-color:var(--blue)}
.hero{display:grid;grid-template-columns:.83fr 1.17fr;align-items:center;gap:34px;padding:45px 0 78px;min-height:540px}
.hero-copy{padding:0 0 12px 5px}
.eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 22px;color:var(--blue-dark);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.eyebrow-dot{width:8px;height:8px;border-radius:50%;background:#24b5bf;box-shadow:0 0 0 4px #e5f8f7}
h1{max-width:550px;margin:0;color:var(--ink);font-size:clamp(38px,4.5vw,57px);line-height:1.1;letter-spacing:-.045em;font-weight:720}
h1 span{color:var(--blue)}
.intro{max-width:480px;margin:24px 0 28px;color:var(--muted);font-size:16px;line-height:1.72}
.primary-button{display:inline-flex;min-height:52px;align-items:center;gap:17px;padding:0 21px;border-radius:10px;background:var(--blue);box-shadow:0 7px 16px rgba(30,136,229,.2);color:white;text-decoration:none;font-weight:700;font-size:15px;transition:background .16s ease,transform .16s ease}
.primary-button:hover{background:var(--blue-dark);transform:translateY(-1px)}
.primary-button:focus-visible,.language a:focus-visible,.brand:focus-visible,.footer-brand:focus-visible{outline:3px solid #89c9fb;outline-offset:4px}
.primary-button span{font-size:18px;font-weight:400}
/* Static examples of three separate popup states; no map interaction. */
.map-card{position:relative;margin:0;border:1px solid #e4eef5;border-radius:22px;background:#edf7fc;box-shadow:var(--shadow);overflow:hidden}
.map-scene{position:relative;aspect-ratio:960/900}
.map-geography{position:absolute;inset:40px 0 0}
.map-base{display:block;width:100%;height:100%;object-fit:fill}
.geo-point{position:absolute;left:var(--x);top:var(--y);width:28px;height:39px;transform:translate(-50%,-100%)}
.geo-point img{display:block;width:100%;height:100%}
.geo-point[data-state="open"]{width:31px;height:43px}
.demo-card{position:absolute;z-index:1;width:clamp(140px,27%,180px);padding:10px;border:1px solid #e6ebef;border-radius:15px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.18);font-size:12px;line-height:1.3}
.demo-card::after{display:none;content:"";position:absolute;left:calc(50% - 7px);bottom:-7px;width:14px;height:14px;transform:rotate(45deg);background:#fff;border-right:1px solid #e6ebef;border-bottom:1px solid #e6ebef}
.demo-card-yosemite{left:18.17%;top:20px;transform:translateX(-50%)}
.demo-card-milford{left:94.7025%;top:20px;transform:translateX(-95%)}
.demo-card-samara{left:56%;top:56%;transform:translateX(-50%)}
.demo-card-milford::after{left:calc(95% - 7px)}
.demo-card time{display:block;margin-bottom:6px;font-weight:700;color:#1f2937}
.demo-photo{border-radius:9px;background:#f1f3f5;overflow:hidden}
.demo-photo img{display:block;width:100%;height:86px;object-fit:cover}
.demo-place{margin:7px 0;color:#4b5563;font-size:11px;font-weight:500;line-height:1.3}
.demo-weather{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:7px 6px;border-radius:8px;background:#f5f7fa;color:#1f2937;font-size:11px;font-weight:600;white-space:nowrap}
.weather-symbol{font-size:16px;line-height:1;vertical-align:-1px}
.weather-symbol.yosemite{color:#b17600}.weather-symbol.milford,.weather-symbol.samara{color:#61798d}
.map-card figcaption{position:relative;padding:0 12px 13px;color:#526c7f;font-size:10px;text-align:center;line-height:1.4}
.desktop-connectors{position:absolute;inset:0;width:100%;height:100%;stroke:#72a8c7;stroke-width:2;stroke-dasharray:6 6}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;padding:33px 0 74px;border-top:1px solid var(--line)}
.feature{padding:0 10px 0 5px}
.feature-icon{width:44px;height:44px;display:grid;place-items:center;margin-bottom:17px;border-radius:13px;background:var(--pale);color:var(--blue)}
.feature-icon img{display:block;width:24px;height:24px}
.feature h2{margin:0 0 10px;font-size:17px;line-height:1.35;letter-spacing:-.015em}
.feature p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.site-footer{border-top:1px solid var(--line);padding:24px 0 22px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:23px}
.footer-brand img{display:block;width:125px;height:auto}
.site-footer>p{margin:0;color:var(--muted);font-size:13px}
.site-footer .footer-copyright{color:#6e7f8c;font-size:12px;white-space:nowrap}
@media(max-width:1000px){.hero{grid-template-columns:1fr;gap:34px;padding:36px 0 60px}.hero-copy{max-width:650px}.map-card{width:min(100%,720px);margin-inline:auto}.features{gap:24px}.feature{padding-right:0}}
@media(max-width:600px){
  .site-header,main,.site-footer{width:calc(100% - 36px)}
  .site-header{height:75px}.brand img{width:128px}
  .hero{padding:27px 0 48px;gap:28px;min-height:auto}.hero-copy{padding-left:0}
  .eyebrow{margin-bottom:17px;font-size:10px}
  h1{font-size:clamp(35px,10vw,47px);letter-spacing:-.04em}
  .intro{margin:18px 0 23px;font-size:15px;line-height:1.65}.primary-button{min-height:50px}
  .map-card{width:100%;max-width:394px;border-radius:15px}
  .map-scene{display:grid;gap:10px;padding:12px;aspect-ratio:auto}
  /* Crop the existing SVG's desktop padding, preserving its geographic proportions. */
  .map-geography{position:relative;inset:auto;width:calc(100% + 24px);margin:-12px -12px 0;aspect-ratio:960/560;overflow:hidden}
  .map-base{position:absolute;top:-42.857143%;width:100%;height:146.428571%;object-fit:fill}
  .desktop-connectors{display:none}
  .geo-point,.geo-point[data-state="open"]{top:var(--mobile-y);width:22px;height:31px}
  .demo-card,.demo-card-yosemite,.demo-card-samara,.demo-card-milford{position:static;inset:auto;transform:none;width:100%;display:grid;grid-template-columns:80px minmax(0,1fr);gap:4px 10px;padding:10px;font-size:12px;box-shadow:0 4px 12px rgba(15,23,42,.09)}
  .demo-card time{grid-column:2;margin:0;align-self:end}
  .demo-photo{grid-column:1;grid-row:1/4;align-self:stretch}
  .demo-photo img{width:100%;height:100%;min-height:86px;object-fit:cover}
  .demo-place{grid-column:2;margin:0;font-size:12px;align-self:center}
  .demo-weather{grid-column:2;align-self:start;padding:6px;font-size:11px}
  .map-card figcaption{padding:2px 12px 14px;font-size:10px}
  .features{grid-template-columns:1fr;gap:27px;padding:28px 0 43px}
  .feature{display:grid;grid-template-columns:46px 1fr;column-gap:13px;align-items:start}
  .feature-icon{grid-row:1/3;margin:0}.feature h2{margin:1px 0 6px;font-size:16px}.feature p{font-size:13px;line-height:1.6}
  .site-footer{grid-template-columns:auto 1fr;column-gap:14px;padding-top:20px}
  .footer-brand img{width:100px}.site-footer>p{font-size:11px;line-height:1.5}
  .site-footer .footer-copyright{grid-column:1/-1;margin-top:15px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;scroll-behavior:auto!important}}
