*,*::before,*::after{box-sizing:border-box}
:root{
  --page:#f7f6f3;
  --surface:#fff;
  --surface-2:#eef3ef;
  --ink:#1f2320;
  --muted:#5f6862;
  --soft:#8b938d;
  --line:rgba(0,0,0,.1);
  --line-strong:rgba(0,0,0,.18);
  --teal:#2f8f63;
  --teal-dark:#27784f;
  --blue:#3a6b9f;
  --amber:#b36b25;
  --radius:8px;
  --sans:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html{scroll-behavior:smooth}
body{margin:0;background:var(--page);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
body.no-scroll{overflow:hidden}
a{color:inherit}
img,video{max-width:100%;display:block}
.seo-nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:18px;height:60px;padding:0 clamp(18px,4vw,48px);background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.nav-logo{display:inline-flex;align-items:center;text-decoration:none}
.nav-logo-wordmark{width:132px;height:auto}
.nav-hamburger{display:none;width:40px;height:40px;margin-left:auto;padding:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;position:relative}
.nav-hamburger span{position:absolute;left:10px;width:18px;height:2px;border-radius:999px;background:var(--ink);transition:top .18s,transform .18s,opacity .18s}
.nav-hamburger span:nth-child(1){top:13px}
.nav-hamburger span:nth-child(2){top:19px}
.nav-hamburger span:nth-child(3){top:25px}
.nav-hamburger.open span:nth-child(1){top:19px;transform:rotate(45deg)}
.nav-hamburger.open span:nth-child(2){opacity:0}
.nav-hamburger.open span:nth-child(3){top:19px;transform:rotate(-45deg)}
.nav-links{display:flex;align-items:center;gap:2px;margin-left:auto;list-style:none;padding:0}
.nav-links a{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid transparent;border-radius:var(--radius);color:var(--muted);font:700 14px/1 var(--sans);text-decoration:none;white-space:nowrap}
.nav-links a:hover{background:#f0f1ed;color:var(--ink)}
.nav-links a[aria-current=page]{border-color:#a8d5be;background:#e7f3ec;color:var(--ink)}
.nav-links .nav-btn-ghost{border-color:var(--line);background:var(--surface);color:var(--ink)}
.nav-links .nav-btn-primary{border-color:var(--teal);background:var(--teal);color:#fff}
.nav-links .nav-btn-primary:hover{background:var(--teal-dark);color:#fff}
.product-hero{display:grid;grid-template-columns:minmax(0,1120px);justify-content:center;gap:24px;padding:80px clamp(20px,5vw,64px) 44px;color:var(--ink);background:var(--page)}
.product-hero-media{width:min(960px,100%);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#dfe8e5}
.product-hero-media video,.product-hero-media img{width:100%;aspect-ratio:16/9;height:auto;object-fit:cover}
.product-hero-media video{background-color:#dfe8e5;background-image:var(--preview-poster,none);background-position:center;background-size:cover;background-repeat:no-repeat}
.preview-fallback-gpx{--preview-poster:url('/previews/gpx-preview-poster.jpg')}
.preview-fallback-zoom{--preview-poster:url('/previews/zoom-preview-poster.jpg')}
.product-hero-inner{width:min(900px,100%)}
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;color:var(--muted);font-size:13px;font-weight:700}
.breadcrumb a{text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}
.hero-kicker{margin:0 0 10px;color:var(--teal);font:800 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase}
h1{max-width:820px;margin:0;color:var(--ink);font-size:clamp(38px,5vw,66px);line-height:.98;letter-spacing:0}
.hero-lead{max-width:760px;margin:16px 0 0;color:var(--muted);font-size:17px;line-height:1.55}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:800 14px/1 var(--sans);text-decoration:none}
.btn:hover{background:#f0f1ed}
.btn-primary{border-color:var(--teal);background:var(--teal);color:#fff}
.btn-primary:hover{background:var(--teal-dark);color:#fff}
.hero-proof{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding:0;list-style:none}
.hero-proof li{min-height:32px;padding:8px 11px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--muted);font-size:13px;font-weight:800}
.page-band{padding:60px clamp(20px,5vw,64px)}
.workflow-band{padding-top:46px;padding-bottom:46px;background:var(--page)}
.page-band.white{background:#fff;border-top:1px solid var(--line)}
.page-band.soft{background:#eef3ef;border-top:1px solid var(--line)}
.inner{width:min(1120px,100%);margin:0 auto}
.narrow{width:min(1120px,100%);margin:0 auto}
.narrow > .eyebrow,.narrow > h2,.narrow > .copy-stack{max-width:800px}
.section-stack{display:grid;gap:22px}
.section-head{max-width:780px}
.eyebrow{display:block;margin-bottom:12px;color:var(--teal);font:800 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase}
h2{margin:0;color:var(--ink);font-size:clamp(30px,4vw,48px);line-height:1.04;letter-spacing:0}
h3{margin:0;color:var(--ink);font-size:20px;line-height:1.2}
p{margin:0;color:var(--muted);font-size:16px;line-height:1.7}
.section-lead{margin-top:12px;font-size:16px;line-height:1.62}
.split-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(280px,.98fr);gap:34px;align-items:start}
.copy-stack{display:grid;gap:14px}
.workflow-steps{counter-reset:workflow;display:grid;gap:10px;max-width:920px;margin:20px 0 0;padding:0;list-style:none}
.workflow-steps li{counter-increment:workflow;display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:12px;align-items:baseline;color:var(--muted);font-size:15px;line-height:1.46}
.workflow-steps li::before{content:counter(workflow, decimal-leading-zero);color:var(--teal);font:800 13px/1 var(--sans)}
.workflow-steps li > span{min-width:0}
.workflow-steps strong{display:inline;color:var(--ink);font-weight:800}
.use-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 14px;margin:0;padding:0;list-style:none}
.use-list li{min-width:0}
.use-case-link{display:grid;gap:7px;color:inherit;text-decoration:none}
.use-case-link:focus-visible{outline:2px solid var(--teal);outline-offset:4px;border-radius:var(--radius)}
.use-case-media{display:block;position:relative;overflow:hidden;aspect-ratio:16/9;border-radius:var(--radius);background:#dfe8e5}
.use-case-media img,.use-case-media video{display:block;width:100%;height:100%;object-fit:cover}
.use-case-title{display:block;color:var(--ink);font-size:15px;font-weight:800;line-height:1.2}
.use-case-copy{display:block;color:var(--muted);font-size:13px;line-height:1.38}
.use-case-link:hover .use-case-title{color:var(--teal)}
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}
details{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}
summary{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;color:var(--ink);font-weight:800;cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--teal);font-size:22px;line-height:1}
details[open] summary::after{content:"-"}
details p{padding:0 20px 20px;font-size:14px}
.related-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.related-card{display:block!important;visibility:visible!important;opacity:1!important;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-decoration:none}
.related-tools > a.related-card[href="/map-zoom-video"],.related-tools > a.related-card[href="/map-zoom-video/"],.related-tools > a.related-card[href="/zoom-in-effect"],.related-tools > a.related-card[href="/zoom-in-effect/"]{display:block!important;visibility:visible!important;opacity:1!important}
.related-card-body{padding:16px}
.related-card span{display:block;margin-bottom:7px;color:var(--teal);font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.related-card h3{font-size:18px;margin-bottom:7px}
.related-card p{font-size:14px}
.related-link{appearance:none;-webkit-appearance:none;display:inline-flex!important;align-items:center;margin:12px 0 0;padding:0;border:0;background:transparent;color:var(--teal);font:800 13px/1 var(--sans);text-decoration:none;cursor:pointer}
.related-link:hover{text-decoration:underline}
.related-tools.related-map-tools{gap:24px;align-items:stretch}
.related-map-tools .tool-card{display:flex!important;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:inherit;text-align:left;text-decoration:none;box-shadow:0 1px 4px rgba(31,35,32,.06),0 4px 16px rgba(31,35,32,.06);transition:transform .18s,box-shadow .18s,border-color .18s}
.related-map-tools .tool-card:hover{border-color:rgba(47,143,99,.34);box-shadow:0 8px 28px rgba(31,35,32,.1);transform:translateY(-2px)}
.related-map-tools .tool-card-visual{position:relative;height:200px;overflow:hidden;background:#dfe8e5}
.related-map-tools .tool-card-visual-gpx{background:#dfe8e5}
.related-map-tools .tool-card-visual-zoom{background:#e8f0f8}
.related-map-tools .tool-card-visual-travel{background:#d9ece9}
.related-map-tools .tool-card-visual video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.related-map-tools .tool-card:hover .tool-card-visual video{transform:scale(1.03)}
.related-map-tools .tool-card-body{display:flex;flex:1;flex-direction:column;padding:24px}
.related-map-tools .tool-tag{margin:0 0 12px;color:var(--teal);font:800 11px/1 var(--sans);letter-spacing:.07em;text-transform:uppercase}
.related-map-tools .tool-tag.blue{color:var(--blue)}
.related-map-tools .tool-tag.travel{color:var(--teal)}
.related-map-tools .tool-card h3{margin:0 0 10px;color:var(--ink);font-size:24px;line-height:1.12}
.related-map-tools .tool-card p{flex:1;margin:0 0 22px;color:var(--muted);font-size:14px;line-height:1.6}
.related-map-tools .tool-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto}
.related-map-tools .tool-action{display:inline-flex!important;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius);font:800 13px/1 var(--sans);text-align:center;text-decoration:none;white-space:nowrap}
.related-map-tools .tool-action-primary{border-color:var(--teal);background:var(--teal);color:#fff!important}
.related-map-tools .tool-action-primary:hover{border-color:var(--teal-dark);background:var(--teal-dark);color:#fff!important}
.related-map-tools .tool-action-secondary{background:#fff;color:var(--ink)}
.related-map-tools .tool-action-secondary:hover{border-color:rgba(47,143,99,.34);background:var(--page);color:var(--teal)}
.related-map-tools .tool-action-secondary.blue{border-color:rgba(58,107,159,.34);background:#f7fafc;color:#2f5f8f}
.related-map-tools .tool-action-secondary.travel{border-color:rgba(47,143,99,.34);background:#f3f9f8;color:var(--teal)}
.use-case-more{margin:0}
.use-case-more .related-link{margin-top:0}
.cta-band{padding:44px clamp(20px,5vw,64px);background:#1f2320;color:#fff}
.cta-band .inner{display:flex;align-items:center;justify-content:space-between;gap:26px}
.cta-band h2{color:#fff;font-size:clamp(26px,3.2vw,38px)}
.cta-band p{max-width:640px;margin-top:10px;color:rgba(255,255,255,.76);font-size:15px;line-height:1.55}
.footer{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:48px clamp(24px,6vw,72px);background:#141715;color:rgba(255,255,255,.58)}
.footer-logo img{width:154px;height:auto}
.footer-links{display:flex;flex-wrap:wrap;gap:20px;list-style:none;margin:0;padding:0}
.footer-links a,.footer-links button{border:0;background:transparent;color:rgba(255,255,255,.58);font:500 13px/1 var(--sans);text-decoration:none;cursor:pointer}
.footer-links a:hover,.footer-links button:hover{color:#fff}
.footer-social{display:flex;gap:14px;list-style:none;margin:0;padding:0}
.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;color:rgba(255,255,255,.55);text-decoration:none;transition:color .15s,background .15s}
.footer-social a:hover{background:rgba(255,255,255,.08);color:#fff}
.footer-copy{color:rgba(255,255,255,.58);font:500 13px/1 var(--sans);margin:0}
.accent-blue .hero-kicker{color:#bed8f5}
.accent-blue .page-band .eyebrow,.accent-blue .related-card span,.accent-blue .related-link{color:var(--blue)}
.accent-blue .btn-primary{border-color:var(--blue);background:var(--blue)}
.accent-amber .hero-kicker{color:#f3d1a4}
.accent-amber .page-band .eyebrow,.accent-amber .related-card span,.accent-amber .related-link{color:var(--amber)}
.accent-amber .btn-primary{border-color:var(--amber);background:var(--amber)}
.page-band.soft .eyebrow{color:var(--teal)}
.related-card[data-seo-related-card="zoom"]{border-color:rgba(58,107,159,.32);background:#f7fafc}
.related-card[data-seo-related-card="zoom"] span,.related-card[data-seo-related-card="zoom"] .related-link{color:var(--blue)}
.related-map-tools .related-card[data-seo-related-card]{border-color:var(--line);background:#fff}
@media(max-width:920px){
  .seo-nav{height:56px;padding:0 18px}
  .nav-logo-wordmark{width:126px}
  .nav-hamburger{width:38px;height:38px}
  .nav-hamburger{display:block}
  .nav-links{display:none;position:absolute;top:calc(100% + 10px);left:16px;right:16px;flex-direction:column;align-items:stretch;gap:6px;margin:0;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.98)}
  .nav-links.open{display:flex}
  .nav-links li,.nav-links a{width:100%}
  .nav-links a{min-height:44px;justify-content:flex-start;padding:0 14px}
  .product-hero{gap:20px;padding:72px 18px 34px}
  .product-hero-media video,.product-hero-media img{aspect-ratio:16/9}
  .breadcrumb{margin-bottom:12px;font-size:12px}
  .hero-kicker{margin-bottom:9px;font-size:11px}
  h1{font-size:clamp(32px,9.4vw,44px);line-height:1.02}
  .hero-lead{margin-top:13px;font-size:15px;line-height:1.5}
  .hero-actions{gap:10px;margin-top:18px}
  .btn{min-height:42px;padding:0 14px;font-size:13px}
  .hero-proof{gap:7px;margin-top:16px}
  .hero-proof li{min-height:30px;padding:7px 10px;font-size:12px}
  .split-grid,.faq-grid{grid-template-columns:1fr}
  .split-grid{gap:22px}
  .copy-stack{gap:12px}
  .page-band{padding:42px 20px}
  h2{font-size:clamp(26px,7.4vw,36px);line-height:1.08}
  h3{font-size:18px}
  p{font-size:14px;line-height:1.55}
  .section-lead{font-size:15px;line-height:1.58}
  .section-stack{gap:18px}
  .workflow-steps{gap:8px;margin-top:16px}
  .workflow-steps li{grid-template-columns:28px minmax(0,1fr);column-gap:10px;font-size:14px;line-height:1.42}
  .workflow-steps li::before{font-size:12px}
  .use-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}
  .use-case-title{font-size:14px;line-height:1.18}
  .use-case-copy{font-size:12px;line-height:1.36}
  .faq-grid{gap:10px;margin-top:20px}
  summary{min-height:52px;padding:14px 16px;font-size:14px}
  details p{padding:0 16px 16px;font-size:13px}
  .related-tools{grid-template-columns:1fr;gap:9px;margin-top:18px}
  .related-card-body{padding:12px}
  .related-card span{margin-bottom:6px;font-size:10px}
  .related-card h3{font-size:15px;margin-bottom:5px;line-height:1.16}
  .related-card p{font-size:12px;line-height:1.42}
  .related-link{margin-top:10px;font-size:12px}
  .cta-band{padding:32px 18px}
  .cta-band .inner{display:grid;gap:16px}
  .cta-band h2{font-size:26px;line-height:1.08}
  .cta-band p{margin-top:8px;font-size:14px;line-height:1.48}
  .cta-band .hero-actions{display:block;margin-top:0}
  .cta-band .btn{width:100%}
  .footer{align-items:flex-start;flex-direction:column;padding:26px 20px}
  .footer-links,.footer-social{max-width:100%;flex-wrap:wrap}
  .footer-social{order:3;margin-top:8px}
}
@media(max-width:480px){
  .product-hero{padding-top:68px;padding-bottom:30px}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr}
  .hero-actions .btn{min-width:0;text-align:center}
  .cta-band .hero-actions{display:block}
  .cta-band .btn{width:100%}
  .page-band{padding:36px 18px}
  .workflow-band{padding-top:28px;padding-bottom:28px}
  .cta-band{padding:36px 18px}
}
@media(max-width:339px){
  .use-list{grid-template-columns:1fr}
}

/* GPX animation landing page */
.gpx-animation-page{
  background:#f7f6f3;
  color:var(--ink);
}
.gpx-animation-page .skip-link{
  position:fixed;
  top:10px;
  left:10px;
  z-index:120;
  transform:translateY(-150%);
  padding:10px 12px;
  border-radius:var(--radius);
  background:#fff;
  color:var(--ink);
  font:800 13px/1 var(--sans);
  text-decoration:none;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}
.gpx-animation-page .skip-link:focus{
  transform:translateY(0);
}
.gpx-animation-page :is(a,button,summary):focus-visible{
  outline:3px solid rgba(47,143,99,.76);
  outline-offset:3px;
}
.gpx-animation-page .seo-nav{
  box-shadow:0 8px 28px rgba(31,35,32,.08);
}
.gpx-animation-page .nav-links .nav-btn-primary,
.gpx-animation-page .btn-primary{
  border-color:#27784f;
  background:#27784f;
  color:#fff;
}
.gpx-animation-page .nav-links .nav-btn-primary:hover,
.gpx-animation-page .btn-primary:hover{
  border-color:#206642;
  background:#206642;
  color:#fff;
}
.gpx-animation-page .page-band .eyebrow,
.gpx-animation-page .related-card span,
.gpx-animation-page .related-link,
.gpx-animation-page summary::after{
  color:#27784f;
}
.gpx-animation-page .gpx-hero{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,500px) minmax(0,592px);
  grid-template-areas:
    "copy media"
    "actions media"
    "support media";
  align-items:center;
  justify-content:center;
  gap:22px 28px;
  min-height:auto;
  overflow:visible;
  padding:clamp(92px,10vh,116px) clamp(20px,5vw,64px) 34px;
  background:linear-gradient(180deg,#f7f6f3 0%,#fff 100%);
  color:var(--ink);
}
.gpx-animation-page .gpx-hero .product-hero-media{
  grid-area:media;
  position:relative;
  align-self:start;
  width:100%;
  margin:53px 0 0;
  padding:8px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.12);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 24px 58px rgba(31,35,32,.16);
}
.gpx-animation-page .gpx-hero .product-hero-media video,
.gpx-animation-page .gpx-hero .product-hero-media img{
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  border-radius:6px;
  object-fit:cover;
  object-position:center;
}
.gpx-animation-page .gpx-hero figcaption{
  position:absolute;
  left:18px;
  bottom:18px;
  max-width:calc(100% - 36px);
  padding:8px 10px;
  border:1px solid rgba(0,0,0,.1);
  border-radius:6px;
  background:rgba(255,255,255,.92);
  color:var(--ink);
  font:900 12px/1 var(--sans);
  box-shadow:0 10px 24px rgba(31,35,32,.14);
}
.gpx-animation-page.reduce-motion .gpx-hero .product-hero-media video{
  background-image:url('/previews/gpx-preview-poster.jpg');
  background-position:center;
  background-size:cover;
}
.gpx-animation-page .gpx-hero .product-hero-inner{
  grid-area:copy;
  width:100%;
}
.gpx-animation-page .gpx-hero .breadcrumb,
.gpx-animation-page .gpx-hero .hero-lead,
.gpx-animation-page .gpx-hero .cta-microcopy,
.gpx-animation-page .gpx-hero .cta-plan-note{
  color:var(--muted);
}
.gpx-animation-page .gpx-hero .breadcrumb a:hover{
  color:var(--ink);
}
.gpx-animation-page .gpx-hero .hero-kicker{
  display:block;
  color:#27784f;
}
.gpx-animation-page .gpx-hero h1{
  color:var(--ink);
  text-shadow:none;
  text-wrap:balance;
}
.gpx-animation-page .gpx-hero .hero-lead{
  max-width:620px;
  font-size:clamp(16px,1.6vw,19px);
}
.gpx-animation-page .gpx-hero .hero-actions{
  grid-area:actions;
  align-self:start;
  margin-top:0;
}
.gpx-animation-page .gpx-hero .btn{
  border-color:var(--line);
  background:#fff;
  color:#17211c;
  box-shadow:none;
}
.gpx-animation-page .gpx-hero .btn:hover{
  background:#fff;
}
.gpx-animation-page .gpx-hero .btn-primary{
  border-color:#27784f;
  background:#27784f;
  color:#fff;
}
.gpx-animation-page .gpx-hero .btn-primary:hover{
  border-color:#206642;
  background:#206642;
}
.gpx-animation-page .gpx-hero :is(a,button):focus-visible{
  outline-color:rgba(47,143,99,.76);
}
.gpx-animation-page .hero-support{
  grid-area:support;
  display:grid;
  gap:10px;
  max-width:640px;
}
.gpx-animation-page .cta-microcopy,
.gpx-animation-page .cta-plan-note{
  max-width:720px;
  margin:0;
  font-size:14px;
  line-height:1.48;
}
.gpx-animation-page .cta-microcopy{
  font-weight:800;
}
.gpx-animation-page .workflow-band{
  background:#eef3ef;
}
.gpx-animation-page .gpx-workflow-steps{
  grid-template-columns:repeat(4,minmax(0,1fr));
  max-width:none;
  gap:16px;
  margin-top:28px;
}
.gpx-animation-page .gpx-workflow-steps li{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  align-content:start;
  min-width:0;
  padding:12px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  color:var(--muted);
  box-shadow:0 10px 26px rgba(31,35,32,.06);
}
.gpx-animation-page .gpx-workflow-steps li::before{
  position:static;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  margin:0 0 -2px;
  border:1px solid rgba(47,143,99,.28);
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:var(--teal);
  font-size:12px;
  box-shadow:0 8px 22px rgba(31,35,32,.12);
}
.gpx-animation-page .workflow-shot{
  margin:0;
  overflow:hidden;
  height:auto;
  aspect-ratio:309/215;
  border:1px solid rgba(0,0,0,.08);
  border-radius:var(--radius);
  background:#edf1ee;
}
.gpx-animation-page .workflow-shot img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top left;
}
.gpx-animation-page .gpx-workflow-steps strong{
  display:block;
  margin-bottom:5px;
}
.gpx-animation-page .spec-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:26px 0 0;
}
.gpx-animation-page .spec-grid div{
  min-width:0;
  padding:18px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.gpx-animation-page .spec-grid div:last-child:nth-child(odd){
  grid-column:1 / -1;
}
.gpx-animation-page .spec-grid dt{
  margin:0 0 7px;
  color:var(--ink);
  font-size:14px;
  font-weight:900;
  line-height:1.25;
}
.gpx-animation-page .spec-grid dd{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.48;
}
.gpx-animation-page .spec-lines{
  display:grid;
  gap:5px;
}
.gpx-animation-page .spec-lines span{
  display:block;
}
.gpx-animation-page .spec-lines strong{
  color:var(--ink);
  font-weight:900;
}
.gpx-animation-page .faq-grid{
  grid-template-columns:1fr;
}
.gpx-animation-page .gpx-use-list{
  gap:18px;
}
.gpx-animation-page .gpx-use-list li{
  display:flex;
}
.gpx-animation-page .gpx-use-list .use-case-link{
  width:100%;
  padding:10px;
  border:1px solid rgba(0,0,0,.1);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 10px 24px rgba(31,35,32,.05);
}
.gpx-animation-page .gpx-use-list .use-case-media{
  margin-bottom:4px;
}
.gpx-animation-page .proof-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:24px;
}
.gpx-animation-page .proof-card{
  min-width:0;
  margin:0;
  padding:10px;
  border:1px dashed rgba(31,35,32,.26);
  border-radius:var(--radius);
  background:#fff;
}
.gpx-animation-page .proof-media{
  aspect-ratio:16/9;
  display:grid;
  place-items:center;
  border:1px dashed rgba(47,143,99,.36);
  border-radius:var(--radius);
  background:
    linear-gradient(135deg,rgba(47,143,99,.09),rgba(255,255,255,.9)),
    repeating-linear-gradient(45deg,rgba(31,35,32,.06) 0 1px,transparent 1px 9px);
  color:#27784f;
  font:900 13px/1.2 var(--sans);
  text-align:center;
}
.gpx-animation-page .proof-card p{
  margin-top:10px;
  font-size:13px;
  line-height:1.45;
}
.gpx-animation-page .related-tools{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.gpx-animation-page .related-card{
  transition:border-color .16s,transform .16s,box-shadow .16s;
}
.gpx-animation-page .related-card:hover{
  border-color:rgba(47,143,99,.38);
  box-shadow:0 14px 28px rgba(31,35,32,.08);
  transform:translateY(-1px);
}
.gpx-animation-page .mobile-sticky-cta{
  display:none;
}
html[data-dddmaps-test-theme="true"] body.gpx-animation-page .nav-links a[hidden],
body.gpx-animation-page .nav-links a[hidden],
body.gpx-animation-page [hidden]{
  display:none!important;
}
html[data-dddmaps-test-theme="true"] body.gpx-animation-page .gpx-hero h1{
  color:var(--test-text)!important;
}
html[data-dddmaps-test-theme="true"] body.gpx-animation-page .gpx-hero .breadcrumb,
html[data-dddmaps-test-theme="true"] body.gpx-animation-page .gpx-hero .breadcrumb a,
html[data-dddmaps-test-theme="true"] body.gpx-animation-page .gpx-hero .hero-lead,
html[data-dddmaps-test-theme="true"] body.gpx-animation-page .gpx-hero .cta-microcopy,
html[data-dddmaps-test-theme="true"] body.gpx-animation-page .gpx-hero .cta-plan-note{
  color:var(--test-muted)!important;
}
html[data-dddmaps-test-theme="true"] body.gpx-animation-page .gpx-hero .hero-kicker{
  color:#27784f!important;
}
html[data-dddmaps-test-theme="true"] body.gpx-animation-page .gpx-hero .btn{
  border-color:var(--test-line)!important;
  background:var(--test-surface)!important;
  color:#17211c!important;
}
html[data-dddmaps-test-theme="true"] body.gpx-animation-page .gpx-hero .btn-primary{
  border-color:#27784f!important;
  background:#27784f!important;
  color:#fff!important;
}
html[data-dddmaps-test-theme="true"] body.gpx-animation-page .nav-links a.nav-btn-primary,
html[data-dddmaps-test-theme="true"] body.gpx-animation-page .btn-primary{
  border-color:#27784f!important;
  background:#27784f!important;
  color:#fff!important;
}
html[data-dddmaps-test-theme="true"] body.gpx-animation-page .page-band .eyebrow,
html[data-dddmaps-test-theme="true"] body.gpx-animation-page .related-card span,
html[data-dddmaps-test-theme="true"] body.gpx-animation-page .related-link,
html[data-dddmaps-test-theme="true"] body.gpx-animation-page summary::after{
  color:#27784f!important;
}
@media(max-width:1060px){
  .gpx-animation-page .gpx-hero{
    grid-template-columns:minmax(0,430px) minmax(360px,1fr);
    gap:20px 28px;
  }
  .gpx-animation-page .gpx-workflow-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .gpx-animation-page .related-tools,
  .gpx-animation-page .proof-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:920px){
  .gpx-animation-page .gpx-hero{
    grid-template-columns:1fr;
    grid-template-areas:
      "copy"
      "media"
      "actions"
      "support";
    gap:18px;
    padding-bottom:32px;
  }
  .gpx-animation-page .gpx-hero .product-hero-media{
    align-self:start;
    max-width:680px;
    margin-top:0;
  }
}
@media(max-width:760px){
  .gpx-animation-page{
    padding-bottom:84px;
  }
  .gpx-animation-page .gpx-hero{
    min-height:auto;
    padding:72px 18px 34px;
  }
  .gpx-animation-page .gpx-hero .product-hero-media video,
  .gpx-animation-page .gpx-hero .product-hero-media img{
    object-position:center top;
  }
  .gpx-animation-page .gpx-hero .hero-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .gpx-animation-page .gpx-hero .btn{
    width:100%;
  }
  .gpx-animation-page .cta-microcopy,
  .gpx-animation-page .cta-plan-note{
    font-size:13px;
    line-height:1.42;
  }
  .gpx-animation-page .gpx-workflow-steps,
  .gpx-animation-page .spec-grid,
  .gpx-animation-page .proof-grid,
  .gpx-animation-page .related-tools{
    grid-template-columns:1fr;
  }
  .gpx-animation-page .workflow-shot{height:auto}
  .gpx-animation-page .mobile-sticky-cta{
    position:fixed;
    right:12px;
    bottom:12px;
    left:12px;
    z-index:70;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    padding:10px;
    border:1px solid rgba(31,35,32,.12);
    border-radius:var(--radius);
    background:rgba(255,255,255,.96);
    box-shadow:0 18px 44px rgba(31,35,32,.2);
    transform:translateY(calc(100% + 28px));
    opacity:0;
    pointer-events:none;
    transition:transform .18s,opacity .18s;
  }
  .gpx-animation-page .mobile-sticky-cta.is-visible{
    transform:translateY(0);
    opacity:1;
    pointer-events:auto;
  }
  .gpx-animation-page .mobile-sticky-cta span{
    min-width:0;
    color:var(--ink);
    font:900 13px/1.18 var(--sans);
  }
  .gpx-animation-page .mobile-sticky-cta .btn{
    min-height:40px;
    padding:0 12px;
    white-space:nowrap;
  }
}
@media(max-width:480px){
  .gpx-animation-page .gpx-hero{
    padding-top:68px;
    padding-bottom:24px;
  }
  .gpx-animation-page .gpx-hero h1{
    font-size:34px;
    line-height:1.02;
  }
  .gpx-animation-page .gpx-hero .hero-lead{
    font-size:14px;
    line-height:1.44;
  }
  .gpx-animation-page .gpx-hero .hero-actions{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
  .gpx-animation-page .gpx-hero .btn{
    min-height:44px;
    padding:0 10px;
    font-size:12px;
    line-height:1.15;
    text-align:center;
  }
  .gpx-animation-page .workflow-shot{height:auto}
}
@media(max-width:360px){
  .gpx-animation-page .gpx-hero .hero-actions{
    grid-template-columns:1fr;
  }
  .gpx-animation-page .mobile-sticky-cta{
    grid-template-columns:1fr;
  }
  .gpx-animation-page .mobile-sticky-cta .btn{
    width:100%;
  }
}
@media(prefers-reduced-motion:reduce){
  .gpx-animation-page .related-card,
  .gpx-animation-page .mobile-sticky-cta{
    transition:none;
  }
}

/* Zoom-in and travel route landing pages */
.zoom-in-effect-page,
.travel-route-page{
  background:#f7f6f3;
  color:var(--ink);
}
.zoom-in-effect-page .skip-link,
.travel-route-page .skip-link{
  position:fixed;
  top:10px;
  left:10px;
  z-index:120;
  transform:translateY(-150%);
  padding:10px 12px;
  border-radius:var(--radius);
  background:#fff;
  color:var(--ink);
  font:800 13px/1 var(--sans);
  text-decoration:none;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}
.zoom-in-effect-page .skip-link:focus,
.travel-route-page .skip-link:focus{
  transform:translateY(0);
}
.zoom-in-effect-page :is(a,button,summary):focus-visible,
.travel-route-page :is(a,button,summary):focus-visible{
  outline:3px solid rgba(47,143,99,.76);
  outline-offset:3px;
}
.zoom-in-effect-page .seo-nav,
.travel-route-page .seo-nav{
  box-shadow:0 8px 28px rgba(31,35,32,.08);
}
.zoom-in-effect-page .nav-links .nav-btn-primary,
.travel-route-page .nav-links .nav-btn-primary,
.zoom-in-effect-page .btn-primary,
.travel-route-page .btn-primary{
  border-color:#27784f;
  background:#27784f;
  color:#fff;
}
.zoom-in-effect-page .nav-links .nav-btn-primary:hover,
.travel-route-page .nav-links .nav-btn-primary:hover,
.zoom-in-effect-page .btn-primary:hover,
.travel-route-page .btn-primary:hover{
  border-color:#206642;
  background:#206642;
  color:#fff;
}
.zoom-in-effect-page .page-band .eyebrow,
.travel-route-page .page-band .eyebrow,
.zoom-in-effect-page .related-card span,
.travel-route-page .related-card span,
.zoom-in-effect-page .related-link,
.travel-route-page .related-link,
.zoom-in-effect-page summary::after,
.travel-route-page summary::after{
  color:#27784f;
}
.preview-fallback-travel{
  --preview-poster:url('/previews/travel-preview-poster.jpg');
}
.zoom-in-effect-page .tool-hero,
.travel-route-page .tool-hero{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,500px) minmax(0,592px);
  grid-template-areas:
    "copy media"
    "actions media"
    "support media";
  align-items:start;
  justify-content:center;
  gap:22px 28px;
  min-height:auto;
  overflow:visible;
  padding:clamp(92px,10vh,116px) clamp(20px,5vw,64px) 34px;
  background:linear-gradient(180deg,#f7f6f3 0%,#fff 100%);
  color:var(--ink);
}
.zoom-in-effect-page .tool-hero .product-hero-media,
.travel-route-page .tool-hero .product-hero-media{
  grid-area:media;
  position:relative;
  align-self:start;
  width:100%;
  margin:36px 0 0;
  padding:8px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.12);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 24px 58px rgba(31,35,32,.16);
}
.zoom-in-effect-page .tool-hero .product-hero-media video,
.travel-route-page .tool-hero .product-hero-media video,
.zoom-in-effect-page .tool-hero .product-hero-media img,
.travel-route-page .tool-hero .product-hero-media img{
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  border-radius:6px;
  object-fit:cover;
  object-position:center;
}
.zoom-in-effect-page .tool-hero figcaption,
.travel-route-page .tool-hero figcaption{
  position:absolute;
  left:18px;
  bottom:18px;
  max-width:calc(100% - 36px);
  padding:8px 10px;
  border:1px solid rgba(0,0,0,.1);
  border-radius:6px;
  background:rgba(255,255,255,.92);
  color:var(--ink);
  font:900 12px/1 var(--sans);
  box-shadow:0 10px 24px rgba(31,35,32,.14);
}
.zoom-in-effect-page.reduce-motion .tool-hero .product-hero-media video,
.travel-route-page.reduce-motion .tool-hero .product-hero-media video{
  background-image:var(--preview-poster);
  background-position:center;
  background-size:cover;
}
.zoom-in-effect-page .tool-hero .product-hero-inner,
.travel-route-page .tool-hero .product-hero-inner{
  grid-area:copy;
  width:100%;
}
.zoom-in-effect-page .tool-hero .breadcrumb,
.travel-route-page .tool-hero .breadcrumb,
.zoom-in-effect-page .tool-hero .hero-lead,
.travel-route-page .tool-hero .hero-lead,
.zoom-in-effect-page .tool-hero .cta-microcopy,
.travel-route-page .tool-hero .cta-microcopy,
.zoom-in-effect-page .tool-hero .cta-plan-note,
.travel-route-page .tool-hero .cta-plan-note{
  color:var(--muted);
}
.zoom-in-effect-page .tool-hero .breadcrumb a:hover,
.travel-route-page .tool-hero .breadcrumb a:hover{
  color:var(--ink);
}
.zoom-in-effect-page .tool-hero .hero-kicker,
.travel-route-page .tool-hero .hero-kicker{
  display:block;
  color:#27784f;
}
.zoom-in-effect-page .tool-hero h1,
.travel-route-page .tool-hero h1{
  color:var(--ink);
  text-shadow:none;
  text-wrap:balance;
}
.zoom-in-effect-page .tool-hero .hero-lead,
.travel-route-page .tool-hero .hero-lead{
  max-width:620px;
  font-size:clamp(16px,1.6vw,19px);
}
.zoom-in-effect-page .tool-hero .hero-actions,
.travel-route-page .tool-hero .hero-actions{
  grid-area:actions;
  align-self:start;
  margin-top:0;
}
.zoom-in-effect-page .tool-hero .btn,
.travel-route-page .tool-hero .btn{
  border-color:var(--line);
  background:#fff;
  color:#17211c;
  box-shadow:none;
}
.zoom-in-effect-page .tool-hero .btn:hover,
.travel-route-page .tool-hero .btn:hover{
  background:#fff;
}
.zoom-in-effect-page .tool-hero .btn-primary,
.travel-route-page .tool-hero .btn-primary{
  border-color:#27784f;
  background:#27784f;
  color:#fff;
}
.zoom-in-effect-page .tool-hero .btn-primary:hover,
.travel-route-page .tool-hero .btn-primary:hover{
  border-color:#206642;
  background:#206642;
}
.zoom-in-effect-page .tool-hero :is(a,button):focus-visible,
.travel-route-page .tool-hero :is(a,button):focus-visible{
  outline-color:rgba(47,143,99,.76);
}
.zoom-in-effect-page .hero-support,
.travel-route-page .hero-support{
  grid-area:support;
  display:grid;
  gap:10px;
  max-width:640px;
}
.zoom-in-effect-page .cta-microcopy,
.travel-route-page .cta-microcopy,
.zoom-in-effect-page .cta-plan-note,
.travel-route-page .cta-plan-note{
  max-width:720px;
  margin:0;
  font-size:14px;
  line-height:1.48;
}
.zoom-in-effect-page .cta-microcopy,
.travel-route-page .cta-microcopy{
  font-weight:800;
}
.zoom-in-effect-page .workflow-band,
.travel-route-page .workflow-band{
  background:#eef3ef;
}
.zoom-in-effect-page .tool-workflow-steps,
.travel-route-page .tool-workflow-steps{
  grid-template-columns:repeat(4,minmax(0,1fr));
  max-width:none;
  gap:16px;
  margin-top:28px;
}
.zoom-in-effect-page .tool-workflow-steps li,
.travel-route-page .tool-workflow-steps li{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  align-content:start;
  min-width:0;
  padding:12px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  color:var(--muted);
  box-shadow:0 10px 26px rgba(31,35,32,.06);
}
.zoom-in-effect-page .tool-workflow-steps li::before,
.travel-route-page .tool-workflow-steps li::before{
  position:static;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  margin:0 0 -2px;
  border:1px solid rgba(47,143,99,.28);
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:var(--teal);
  font-size:12px;
  box-shadow:0 8px 22px rgba(31,35,32,.12);
}
.zoom-in-effect-page .workflow-shot,
.travel-route-page .workflow-shot{
  margin:0;
  overflow:hidden;
  height:auto;
  aspect-ratio:430/315;
  border:1px solid rgba(0,0,0,.08);
  border-radius:var(--radius);
  background:#fff;
}
.zoom-in-effect-page .workflow-shot img,
.travel-route-page .workflow-shot img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top left;
}
.zoom-in-effect-page .workflow-shot.is-contain img,
.travel-route-page .workflow-shot.is-contain img{
  object-fit:contain;
  background:#fff;
}
.zoom-in-effect-page .tool-workflow-steps strong,
.travel-route-page .tool-workflow-steps strong{
  display:block;
  margin-bottom:5px;
}
.zoom-in-effect-page .spec-grid,
.travel-route-page .spec-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:26px 0 0;
}
.zoom-in-effect-page .spec-grid div,
.travel-route-page .spec-grid div{
  min-width:0;
  padding:18px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.zoom-in-effect-page .spec-grid div:last-child:nth-child(odd),
.travel-route-page .spec-grid div:last-child:nth-child(odd){
  grid-column:1 / -1;
}
.zoom-in-effect-page .spec-grid dt,
.travel-route-page .spec-grid dt{
  margin:0 0 7px;
  color:var(--ink);
  font-size:14px;
  font-weight:900;
  line-height:1.25;
}
.zoom-in-effect-page .spec-grid dd,
.travel-route-page .spec-grid dd{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.48;
}
.zoom-in-effect-page .spec-lines,
.travel-route-page .spec-lines{
  display:grid;
  gap:5px;
}
.zoom-in-effect-page .spec-lines span,
.travel-route-page .spec-lines span{
  display:block;
}
.zoom-in-effect-page .spec-lines strong,
.travel-route-page .spec-lines strong{
  color:var(--ink);
  font-weight:900;
}
.zoom-in-effect-page .faq-grid,
.travel-route-page .faq-grid{
  grid-template-columns:1fr;
}
.zoom-in-effect-page .tool-use-list,
.travel-route-page .tool-use-list{
  gap:18px;
}
.zoom-in-effect-page .tool-use-list li,
.travel-route-page .tool-use-list li{
  display:flex;
}
.zoom-in-effect-page .tool-use-list .use-case-link,
.travel-route-page .tool-use-list .use-case-link{
  width:100%;
  padding:10px;
  border:1px solid rgba(0,0,0,.1);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 10px 24px rgba(31,35,32,.05);
}
.zoom-in-effect-page .tool-use-list .use-case-media,
.travel-route-page .tool-use-list .use-case-media{
  margin-bottom:4px;
}
.zoom-in-effect-page .use-case-media.is-missing,
.travel-route-page .use-case-media.is-missing{
  display:grid;
  place-items:center;
  border:1px dashed rgba(47,143,99,.34);
  background:
    linear-gradient(135deg,rgba(47,143,99,.08),rgba(255,255,255,.88)),
    repeating-linear-gradient(45deg,rgba(31,35,32,.055) 0 1px,transparent 1px 9px);
}
.zoom-in-effect-page .use-case-media.is-missing span,
.travel-route-page .use-case-media.is-missing span{
  max-width:76%;
  color:#27784f;
  font:900 13px/1.2 var(--sans);
  text-align:center;
}
.zoom-in-effect-page .proof-grid,
.travel-route-page .proof-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:24px;
}
.zoom-in-effect-page .proof-card,
.travel-route-page .proof-card{
  min-width:0;
  margin:0;
  padding:10px;
  border:1px dashed rgba(31,35,32,.26);
  border-radius:var(--radius);
  background:#fff;
}
.zoom-in-effect-page .proof-media,
.travel-route-page .proof-media{
  aspect-ratio:16/9;
  display:grid;
  place-items:center;
  border:1px dashed rgba(47,143,99,.36);
  border-radius:var(--radius);
  background:
    linear-gradient(135deg,rgba(47,143,99,.09),rgba(255,255,255,.9)),
    repeating-linear-gradient(45deg,rgba(31,35,32,.06) 0 1px,transparent 1px 9px);
  color:#27784f;
  font:900 13px/1.2 var(--sans);
  text-align:center;
}
.zoom-in-effect-page .proof-card p,
.travel-route-page .proof-card p{
  margin-top:10px;
  font-size:13px;
  line-height:1.45;
}
.zoom-in-effect-page .related-tools,
.travel-route-page .related-tools{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.zoom-in-effect-page .related-card,
.travel-route-page .related-card{
  transition:border-color .16s,transform .16s,box-shadow .16s;
}
.zoom-in-effect-page .related-card:hover,
.travel-route-page .related-card:hover{
  border-color:rgba(47,143,99,.38);
  box-shadow:0 14px 28px rgba(31,35,32,.08);
  transform:translateY(-1px);
}
.zoom-in-effect-page .mobile-sticky-cta,
.travel-route-page .mobile-sticky-cta{
  display:none;
}
html[data-dddmaps-test-theme="true"] body.zoom-in-effect-page .nav-links a[hidden],
html[data-dddmaps-test-theme="true"] body.travel-route-page .nav-links a[hidden],
body.zoom-in-effect-page .nav-links a[hidden],
body.travel-route-page .nav-links a[hidden],
body.zoom-in-effect-page [hidden],
body.travel-route-page [hidden]{
  display:none!important;
}
html[data-dddmaps-test-theme="true"] body.zoom-in-effect-page .tool-hero h1,
html[data-dddmaps-test-theme="true"] body.travel-route-page .tool-hero h1{
  color:var(--test-text)!important;
}
html[data-dddmaps-test-theme="true"] body.zoom-in-effect-page .tool-hero .breadcrumb,
html[data-dddmaps-test-theme="true"] body.travel-route-page .tool-hero .breadcrumb,
html[data-dddmaps-test-theme="true"] body.zoom-in-effect-page .tool-hero .breadcrumb a,
html[data-dddmaps-test-theme="true"] body.travel-route-page .tool-hero .breadcrumb a,
html[data-dddmaps-test-theme="true"] body.zoom-in-effect-page .tool-hero .hero-lead,
html[data-dddmaps-test-theme="true"] body.travel-route-page .tool-hero .hero-lead,
html[data-dddmaps-test-theme="true"] body.zoom-in-effect-page .tool-hero .cta-microcopy,
html[data-dddmaps-test-theme="true"] body.travel-route-page .tool-hero .cta-microcopy,
html[data-dddmaps-test-theme="true"] body.zoom-in-effect-page .tool-hero .cta-plan-note,
html[data-dddmaps-test-theme="true"] body.travel-route-page .tool-hero .cta-plan-note{
  color:var(--test-muted)!important;
}
html[data-dddmaps-test-theme="true"] body.zoom-in-effect-page .tool-hero .hero-kicker,
html[data-dddmaps-test-theme="true"] body.travel-route-page .tool-hero .hero-kicker{
  color:#27784f!important;
}
html[data-dddmaps-test-theme="true"] body.zoom-in-effect-page .tool-hero .btn,
html[data-dddmaps-test-theme="true"] body.travel-route-page .tool-hero .btn{
  border-color:var(--test-line)!important;
  background:var(--test-surface)!important;
  color:#17211c!important;
}
html[data-dddmaps-test-theme="true"] body.zoom-in-effect-page .tool-hero .btn-primary,
html[data-dddmaps-test-theme="true"] body.travel-route-page .tool-hero .btn-primary,
html[data-dddmaps-test-theme="true"] body.zoom-in-effect-page .nav-links a.nav-btn-primary,
html[data-dddmaps-test-theme="true"] body.travel-route-page .nav-links a.nav-btn-primary,
html[data-dddmaps-test-theme="true"] body.zoom-in-effect-page .btn-primary,
html[data-dddmaps-test-theme="true"] body.travel-route-page .btn-primary{
  border-color:#27784f!important;
  background:#27784f!important;
  color:#fff!important;
}
html[data-dddmaps-test-theme="true"] body.zoom-in-effect-page .page-band .eyebrow,
html[data-dddmaps-test-theme="true"] body.travel-route-page .page-band .eyebrow,
html[data-dddmaps-test-theme="true"] body.zoom-in-effect-page .related-card span,
html[data-dddmaps-test-theme="true"] body.travel-route-page .related-card span,
html[data-dddmaps-test-theme="true"] body.zoom-in-effect-page .related-link,
html[data-dddmaps-test-theme="true"] body.travel-route-page .related-link,
html[data-dddmaps-test-theme="true"] body.zoom-in-effect-page summary::after,
html[data-dddmaps-test-theme="true"] body.travel-route-page summary::after{
  color:#27784f!important;
}
@media(max-width:1060px){
  .zoom-in-effect-page .tool-hero,
  .travel-route-page .tool-hero{
    grid-template-columns:minmax(0,430px) minmax(360px,1fr);
    gap:20px 28px;
  }
  .zoom-in-effect-page .tool-workflow-steps,
  .travel-route-page .tool-workflow-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .zoom-in-effect-page .related-tools,
  .travel-route-page .related-tools,
  .zoom-in-effect-page .proof-grid,
  .travel-route-page .proof-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:920px){
  .zoom-in-effect-page .tool-hero,
  .travel-route-page .tool-hero{
    grid-template-columns:1fr;
    grid-template-areas:
      "copy"
      "media"
      "actions"
      "support";
    gap:18px;
    padding-bottom:32px;
  }
  .zoom-in-effect-page .tool-hero .product-hero-media,
  .travel-route-page .tool-hero .product-hero-media{
    align-self:start;
    max-width:680px;
    margin-top:0;
  }
}
@media(max-width:760px){
  .zoom-in-effect-page,
  .travel-route-page{
    padding-bottom:84px;
  }
  .zoom-in-effect-page .tool-hero,
  .travel-route-page .tool-hero{
    min-height:auto;
    padding:72px 18px 34px;
  }
  .zoom-in-effect-page .tool-hero .product-hero-media video,
  .travel-route-page .tool-hero .product-hero-media video,
  .zoom-in-effect-page .tool-hero .product-hero-media img,
  .travel-route-page .tool-hero .product-hero-media img{
    object-position:center top;
  }
  .zoom-in-effect-page .tool-hero .hero-actions,
  .travel-route-page .tool-hero .hero-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .zoom-in-effect-page .tool-hero .btn,
  .travel-route-page .tool-hero .btn{
    width:100%;
  }
  .zoom-in-effect-page .cta-microcopy,
  .travel-route-page .cta-microcopy,
  .zoom-in-effect-page .cta-plan-note,
  .travel-route-page .cta-plan-note{
    font-size:13px;
    line-height:1.42;
  }
  .zoom-in-effect-page .tool-workflow-steps,
  .travel-route-page .tool-workflow-steps,
  .zoom-in-effect-page .spec-grid,
  .travel-route-page .spec-grid,
  .zoom-in-effect-page .proof-grid,
  .travel-route-page .proof-grid,
  .zoom-in-effect-page .related-tools,
  .travel-route-page .related-tools{
    grid-template-columns:1fr;
  }
  .zoom-in-effect-page .workflow-shot,
  .travel-route-page .workflow-shot{
    height:auto;
  }
  .zoom-in-effect-page .mobile-sticky-cta,
  .travel-route-page .mobile-sticky-cta{
    position:fixed;
    right:12px;
    bottom:12px;
    left:12px;
    z-index:70;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    padding:10px;
    border:1px solid rgba(31,35,32,.12);
    border-radius:var(--radius);
    background:rgba(255,255,255,.96);
    box-shadow:0 18px 44px rgba(31,35,32,.2);
    transform:translateY(calc(100% + 28px));
    opacity:0;
    pointer-events:none;
    transition:transform .18s,opacity .18s;
  }
  .zoom-in-effect-page .mobile-sticky-cta.is-visible,
  .travel-route-page .mobile-sticky-cta.is-visible{
    transform:translateY(0);
    opacity:1;
    pointer-events:auto;
  }
  .zoom-in-effect-page .mobile-sticky-cta span,
  .travel-route-page .mobile-sticky-cta span{
    min-width:0;
    color:var(--ink);
    font:900 13px/1.18 var(--sans);
  }
  .zoom-in-effect-page .mobile-sticky-cta .btn,
  .travel-route-page .mobile-sticky-cta .btn{
    min-height:40px;
    padding:0 12px;
    white-space:nowrap;
  }
}
@media(max-width:480px){
  .zoom-in-effect-page .tool-hero,
  .travel-route-page .tool-hero{
    padding-top:68px;
    padding-bottom:24px;
  }
  .zoom-in-effect-page .tool-hero h1,
  .travel-route-page .tool-hero h1{
    font-size:34px;
    line-height:1.02;
  }
  .zoom-in-effect-page .tool-hero .hero-lead,
  .travel-route-page .tool-hero .hero-lead{
    font-size:14px;
    line-height:1.44;
  }
  .zoom-in-effect-page .tool-hero .hero-actions,
  .travel-route-page .tool-hero .hero-actions{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
  .zoom-in-effect-page .tool-hero .btn,
  .travel-route-page .tool-hero .btn{
    min-height:44px;
    padding:0 10px;
    font-size:12px;
    line-height:1.15;
    text-align:center;
  }
}
@media(max-width:360px){
  .zoom-in-effect-page .tool-hero .hero-actions,
  .travel-route-page .tool-hero .hero-actions{
    grid-template-columns:1fr;
  }
  .zoom-in-effect-page .mobile-sticky-cta,
  .travel-route-page .mobile-sticky-cta{
    grid-template-columns:1fr;
  }
  .zoom-in-effect-page .mobile-sticky-cta .btn,
  .travel-route-page .mobile-sticky-cta .btn{
    width:100%;
  }
}
@media(prefers-reduced-motion:reduce){
  .zoom-in-effect-page .related-card,
  .travel-route-page .related-card,
  .zoom-in-effect-page .mobile-sticky-cta,
  .travel-route-page .mobile-sticky-cta{
    transition:none;
  }
}

/* Mobile-only fixes shared by the three tool landing pages */
@media(max-width:760px){
  body.gpx-animation-page,
  body.zoom-in-effect-page,
  body.travel-route-page{
    --mobile-sticky-cta-height:64px;
    padding-bottom:calc(var(--mobile-sticky-cta-height) + env(safe-area-inset-bottom));
  }
  .gpx-animation-page .gpx-hero,
  .zoom-in-effect-page .tool-hero,
  .travel-route-page .tool-hero{
    grid-template-areas:
      "copy"
      "media"
      "actions"
      "support";
    gap:14px;
  }
  .gpx-animation-page .gpx-hero .product-hero-media,
  .zoom-in-effect-page .tool-hero .product-hero-media,
  .travel-route-page .tool-hero .product-hero-media{
    margin-top:2px;
  }
  .gpx-animation-page main > .page-band,
  .zoom-in-effect-page main > .page-band,
  .travel-route-page main > .page-band{
    padding-bottom:72px;
  }
  .gpx-animation-page main > .workflow-band,
  .zoom-in-effect-page main > .workflow-band,
  .travel-route-page main > .workflow-band{
    padding-bottom:72px;
  }
  .gpx-animation-page #specs,
  .zoom-in-effect-page #specs,
  .travel-route-page #specs{
    padding-top:28px;
    padding-bottom:72px;
  }
  .gpx-animation-page .spec-grid,
  .zoom-in-effect-page .spec-grid,
  .travel-route-page .spec-grid{
    display:block;
    margin-top:16px;
    border-top:1px solid var(--line);
  }
  .gpx-animation-page .spec-grid div,
  .zoom-in-effect-page .spec-grid div,
  .travel-route-page .spec-grid div{
    padding:9px 0 10px;
    border:0;
    border-bottom:1px solid var(--line);
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  .gpx-animation-page .spec-grid dt,
  .zoom-in-effect-page .spec-grid dt,
  .travel-route-page .spec-grid dt{
    margin-bottom:2px;
    font-size:12px;
    line-height:1.18;
  }
  .gpx-animation-page .spec-grid dd,
  .zoom-in-effect-page .spec-grid dd,
  .travel-route-page .spec-grid dd{
    font-size:12px;
    line-height:1.34;
  }
  .gpx-animation-page .spec-lines,
  .zoom-in-effect-page .spec-lines,
  .travel-route-page .spec-lines{
    gap:1px;
  }
  .gpx-animation-page .gpx-hero .hero-actions,
  .zoom-in-effect-page .tool-hero .hero-actions,
  .travel-route-page .tool-hero .hero-actions{
    grid-template-columns:1fr;
  }
  .gpx-animation-page .gpx-hero .btn,
  .zoom-in-effect-page .tool-hero .btn,
  .travel-route-page .tool-hero .btn{
    width:100%;
  }
  .gpx-animation-page .gpx-use-list,
  .zoom-in-effect-page .tool-use-list,
  .travel-route-page .tool-use-list{
    grid-template-columns:1fr;
  }
  .gpx-animation-page .proof-media,
  .zoom-in-effect-page .proof-media,
  .travel-route-page .proof-media{
    height:96px;
    min-height:96px;
    aspect-ratio:auto;
    padding:0 16px;
  }
  .gpx-animation-page .mobile-sticky-cta,
  .zoom-in-effect-page .mobile-sticky-cta,
  .travel-route-page .mobile-sticky-cta{
    bottom:0;
    padding:10px 10px calc(10px + env(safe-area-inset-bottom));
    transition:transform .18s ease,opacity .18s ease;
  }
  .gpx-animation-page .gpx-workflow-steps .workflow-shot,
  .zoom-in-effect-page .tool-workflow-steps .workflow-shot,
  .travel-route-page .tool-workflow-steps .workflow-shot{
    width:100%;
  }
  .gpx-animation-page .workflow-steps.is-mobile-accordion,
  .zoom-in-effect-page .workflow-steps.is-mobile-accordion,
  .travel-route-page .workflow-steps.is-mobile-accordion{
    gap:10px;
  }
  .gpx-animation-page .workflow-steps.is-mobile-accordion li,
  .zoom-in-effect-page .workflow-steps.is-mobile-accordion li,
  .travel-route-page .workflow-steps.is-mobile-accordion li{
    grid-template-columns:40px minmax(0,1fr) 28px;
    grid-template-rows:auto auto;
    align-items:center;
    gap:0 10px;
    padding:12px;
    cursor:pointer;
  }
  .gpx-animation-page .workflow-steps.is-mobile-accordion li:focus-visible,
  .zoom-in-effect-page .workflow-steps.is-mobile-accordion li:focus-visible,
  .travel-route-page .workflow-steps.is-mobile-accordion li:focus-visible{
    outline:3px solid rgba(47,143,99,.76);
    outline-offset:3px;
  }
  .gpx-animation-page .workflow-steps.is-mobile-accordion li::before,
  .zoom-in-effect-page .workflow-steps.is-mobile-accordion li::before,
  .travel-route-page .workflow-steps.is-mobile-accordion li::before{
    grid-column:1;
    grid-row:1;
    width:40px;
    height:40px;
    margin:0;
  }
  .gpx-animation-page .workflow-steps.is-mobile-accordion li::after,
  .zoom-in-effect-page .workflow-steps.is-mobile-accordion li::after,
  .travel-route-page .workflow-steps.is-mobile-accordion li::after{
    content:"+";
    grid-column:3;
    grid-row:1;
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border:1px solid rgba(47,143,99,.28);
    border-radius:999px;
    color:#27784f;
    font:900 20px/1 var(--sans);
  }
  .gpx-animation-page .workflow-steps.is-mobile-accordion li.is-open::after,
  .zoom-in-effect-page .workflow-steps.is-mobile-accordion li.is-open::after,
  .travel-route-page .workflow-steps.is-mobile-accordion li.is-open::after{
    content:"-";
  }
  .gpx-animation-page .workflow-steps.is-mobile-accordion li > span,
  .zoom-in-effect-page .workflow-steps.is-mobile-accordion li > span,
  .travel-route-page .workflow-steps.is-mobile-accordion li > span{
    grid-column:2;
    grid-row:1;
  }
  .gpx-animation-page .workflow-steps.is-mobile-accordion .workflow-shot,
  .zoom-in-effect-page .workflow-steps.is-mobile-accordion .workflow-shot,
  .travel-route-page .workflow-steps.is-mobile-accordion .workflow-shot{
    grid-column:1 / -1;
    grid-row:2;
    margin-top:12px;
  }
  .gpx-animation-page .workflow-steps.is-mobile-accordion li:not(.is-open) .workflow-shot,
  .zoom-in-effect-page .workflow-steps.is-mobile-accordion li:not(.is-open) .workflow-shot,
  .travel-route-page .workflow-steps.is-mobile-accordion li:not(.is-open) .workflow-shot{
    display:none;
  }
  .gpx-animation-page .gpx-workflow-steps li:nth-child(2) .workflow-shot{
    aspect-ratio:309/316;
  }
  .gpx-animation-page .gpx-workflow-steps li:nth-child(3) .workflow-shot{
    aspect-ratio:309/390;
  }
  .zoom-in-effect-page .tool-workflow-steps li:nth-child(1) .workflow-shot{
    aspect-ratio:430/205;
  }
  .zoom-in-effect-page .tool-workflow-steps li:nth-child(2) .workflow-shot{
    aspect-ratio:430/295;
  }
  .zoom-in-effect-page .tool-workflow-steps li:nth-child(3) .workflow-shot{
    aspect-ratio:430/315;
  }
  .zoom-in-effect-page .tool-workflow-steps li:nth-child(4) .workflow-shot{
    aspect-ratio:430/124;
  }
  .travel-route-page .tool-workflow-steps li:nth-child(1) .workflow-shot{
    aspect-ratio:430/400;
  }
  .travel-route-page .tool-workflow-steps li:nth-child(2) .workflow-shot{
    aspect-ratio:430/311;
  }
  .travel-route-page .tool-workflow-steps li:nth-child(3) .workflow-shot{
    aspect-ratio:430/249;
  }
}
@media(max-width:480px){
  .gpx-animation-page h2,
  .zoom-in-effect-page h2,
  .travel-route-page h2{
    font-size:24px;
    line-height:1.12;
  }
  .gpx-animation-page .gpx-hero .hero-actions,
  .zoom-in-effect-page .tool-hero .hero-actions,
  .travel-route-page .tool-hero .hero-actions{
    grid-template-columns:1fr;
  }
  .gpx-animation-page .proof-media,
  .zoom-in-effect-page .proof-media,
  .travel-route-page .proof-media{
    height:88px;
    min-height:88px;
  }
}
@media(max-width:360px){
  body.gpx-animation-page,
  body.zoom-in-effect-page,
  body.travel-route-page{
    --mobile-sticky-cta-height:106px;
  }
  .gpx-animation-page main > .page-band,
  .zoom-in-effect-page main > .page-band,
  .travel-route-page main > .page-band{
    padding-bottom:112px;
  }
}
@media(min-width:761px){
  .gpx-animation-page .related-tools.related-map-tools,
  .zoom-in-effect-page .related-tools.related-map-tools,
  .travel-route-page .related-tools.related-map-tools{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:760px;
  }
}
