:root{--ink:#071a3a;--blue:#0754c7;--muted:#5d6a7d;--line:#e4eaf1;--soft:#f5f8fc;--paper:#fff;--warm:#fff9f4;--orange:#f4a126}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f8fb;color:var(--ink);font-family:'Source Sans 3','Source Sans Pro',sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}h1,h2,h3,h4,h5,h6,.site-brand,.primary-nav a{font-family:Georgia,'Times New Roman',serif}.site-header{height:78px;background:#fff;border-bottom:1px solid rgba(222,228,237,.8);position:relative;z-index:20}.site-header__inner{width:min(1280px,calc(100% - 48px));height:100%;margin:auto;display:flex;align-items:center}.site-brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:21px;font-weight:700;text-decoration:none}.site-brand__mark{font-size:29px;color:#0b376e}.primary-nav{display:flex;gap:38px;margin-left:82px}.primary-nav a{color:#202b3d;font-size:13px;font-weight:500;text-decoration:none}.primary-nav a:hover{color:var(--blue)}.site-actions{display:flex;gap:9px;margin-left:auto}.icon-button{width:38px;height:38px;border:1px solid #e4e9ef;border-radius:50%;background:#f8fafc;color:#22324a;cursor:pointer}.menu-button{display:none}.site-footer{background:#fff;border-top:1px solid var(--line);margin-top:72px}.site-footer__inner{width:min(1200px,calc(100% - 48px));margin:auto;padding:48px 0 38px;display:grid;grid-template-columns:1.7fr repeat(3,1fr);gap:60px}.site-footer h2{font-size:13px;margin:3px 0 16px}.site-footer a,.site-footer span,.site-footer p{display:block;color:var(--muted);font-size:13px;line-height:1.65;text-decoration:none;margin:0 0 7px}.site-footer .site-brand{color:var(--ink);font-size:18px;margin-bottom:15px}.footer-intro p{max-width:285px}.site-footer__bottom{width:min(1200px,calc(100% - 48px));margin:auto;border-top:1px solid var(--line);padding:18px 0 24px;display:flex;justify-content:space-between;color:#7b8797;font-size:11px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.site-header{height:68px}.site-header__inner{width:calc(100% - 28px)}.primary-nav{display:none;position:absolute;left:14px;right:14px;top:62px;margin:0;padding:12px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px #10233e20}.primary-nav.is-open{display:grid;gap:0}.primary-nav a{padding:12px}.menu-button{display:block}.search-button{display:none}.site-footer__inner{grid-template-columns:1fr 1fr;gap:30px}.footer-intro{grid-column:1/-1}.site-footer__bottom{display:block}.site-footer__bottom span+span{margin-top:5px}}
/* Public typography from the approved homepage artwork. */
@font-face{font-family:'Source Sans 3';src:url('../fonts/source-sans-3-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('../fonts/source-sans-3-latin-500-normal.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('../fonts/source-sans-3-latin-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Source Sans 3';src:url('../fonts/source-sans-3-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
body,button,input,select,textarea{font-family:'Source Sans 3',Arial,sans-serif}
h1,h2,h3,.display-title{font-family:Georgia,'Times New Roman',serif}
.site-brand,.primary-nav a,.site-footer h2{font-family:'Source Sans 3',Arial,sans-serif}
.site-header .site-brand,.site-footer .site-brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:21px;font-weight:700;line-height:normal;text-decoration:none}
.site-header .site-brand>span,.site-footer .site-brand>span{display:inline;margin:0;color:inherit;font-size:inherit;line-height:normal}
.site-header .site-brand>.site-brand__mark,.site-footer .site-brand>.site-brand__mark{font-size:29px;color:#0b376e}

/* Spacious five-column public footer, based on the approved homepage artwork. */
.site-footer{background:linear-gradient(180deg,#fff 0%,#f8faff 100%);border-top:1px solid var(--line);margin-top:88px}
.site-footer__statement{width:min(1280px,calc(100% - 48px));margin:auto;padding:46px 0 42px;border-bottom:1px solid #dfe6ef;display:grid;grid-template-columns:1.15fr .85fr;gap:100px;align-items:end}
.site-footer__statement span{color:var(--blue);font-size:10px;font-weight:700;letter-spacing:.13em;margin-bottom:11px}
.site-footer__statement strong{display:block;max-width:620px;font:500 29px/1.25 Georgia,'Times New Roman',serif;letter-spacing:-.35px}
.site-footer__statement p{max-width:470px;margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.site-footer__inner{width:min(1280px,calc(100% - 48px));margin:auto;padding:52px 0 50px;display:grid;grid-template-columns:1.65fr .9fr 1.15fr 1.3fr;gap:68px}
.site-footer h2{font-size:15px;font-weight:700;letter-spacing:.035em;margin:4px 0 19px;color:var(--ink)}
.primary-nav a{font-size:16px;font-weight:700}
.site-footer a:not(.site-brand),.site-footer span:not(.site-brand__mark),.site-footer p{display:block;color:var(--muted);font-size:13px;line-height:1.65;text-decoration:none;margin:0 0 9px}.site-footer .site-footer__statement span{color:var(--blue)}
.site-footer a{transition:color .18s ease}.site-footer a:hover{color:var(--blue)}
.footer-intro>.site-brand{margin-bottom:17px}.footer-intro p{max-width:292px}
.footer-connect p{max-width:225px}.footer-social{display:flex;gap:8px;margin-top:18px}
.footer-social button{width:36px;height:36px;border:1px solid #dce4ee;border-radius:50%;display:grid;place-items:center;background:#fff;color:#1e3555}.footer-social button:disabled{opacity:1;cursor:default}
.footer-social svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.footer-subscribe{margin-top:20px}.footer-subscribe__control{height:52px;padding:5px 5px 5px 14px;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #d8e2ed;border-radius:12px;box-shadow:0 10px 28px rgba(16,35,61,.07);transition:border-color .18s,box-shadow .18s}.footer-subscribe__control:focus-within{border-color:#7ba9e7;box-shadow:0 0 0 3px rgba(7,84,199,.1),0 12px 30px rgba(16,35,61,.08)}.footer-subscribe__control>svg{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:#66809f;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.footer-subscribe input[type=email]{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:13px}.footer-subscribe input::placeholder{color:#96a3b3}.footer-subscribe button{width:41px;height:41px;flex:0 0 auto;border:0;border-radius:9px;display:grid;place-items:center;background:var(--ink);color:#fff;cursor:pointer;transition:background .18s,transform .18s}.footer-subscribe button:hover{background:var(--blue);transform:translateX(1px)}.footer-subscribe button:disabled{cursor:wait;opacity:.65}.footer-subscribe button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.footer-subscribe small{display:block;margin-top:8px;color:#8996a6;font-size:10px;line-height:1.45}.footer-subscribe__message{min-height:0;margin:0!important;font-size:11px!important;line-height:1.4!important}.footer-subscribe__message:not(:empty){margin-top:9px!important}.footer-subscribe__message.is-success{color:#1b7b55}.footer-subscribe__message.is-error{color:#b33b3b}.footer-subscribe__trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.site-footer__bottom{width:min(1280px,calc(100% - 48px));margin:auto;border-top:1px solid #dfe6ef;padding:20px 0 24px;display:flex;justify-content:space-between;align-items:center;color:#7b8797;font-size:11px}
.site-footer__bottom>span{margin:0;font-size:11px}.site-footer__bottom div{display:flex;align-items:center;gap:24px}.site-footer__bottom a,.site-footer__bottom div span{font-size:11px;margin:0;color:#7b8797}
.footer-weather{background:#f2f6fb;border-bottom:1px solid #dfe7f0}.footer-weather__inner{position:relative;width:min(1280px,calc(100% - 48px));min-height:250px;margin:auto;padding:42px 0 38px;display:grid;grid-template-columns:390px 1fr;grid-template-rows:auto auto;column-gap:72px;align-items:center}.footer-weather__eyebrow{display:block!important;margin:0 0 7px!important;color:var(--blue)!important;font-size:10px!important;font-weight:700;letter-spacing:.13em}.footer-weather h2{margin:0 0 24px;font:500 29px/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.35px}.footer-weather__now{display:flex;align-items:center;gap:19px}.footer-weather__now strong{color:var(--ink);font:600 54px/1 Georgia,'Times New Roman',serif;letter-spacing:-2px}.footer-weather__now b{font:600 19px/1.25 'Source Sans 3',Arial,sans-serif;color:var(--ink)}.footer-weather__icon{display:grid!important;place-items:center;width:58px;height:58px;margin:0!important;color:var(--blue)!important}.footer-weather__icon svg{width:54px;height:54px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.footer-weather__units{display:flex;gap:22px;margin-top:18px}.footer-weather__units button{padding:0;border:0;background:none;color:#77869a;font-size:12px;font-weight:600;cursor:pointer}.footer-weather__units button.is-active{color:var(--blue)}.footer-weather__facts{display:grid;grid-template-columns:repeat(6,minmax(72px,1fr));gap:23px;margin:29px 0 0}.footer-weather__facts div{min-width:0}.footer-weather__facts dt{margin:0 0 7px;color:#536176;font-size:11px}.footer-weather__facts dd{margin:0;color:var(--blue);font-size:14px;font-weight:700;white-space:nowrap}.footer-weather__link{grid-column:2;display:inline-flex!important;align-items:center;gap:9px;justify-self:start;margin-top:21px!important;color:var(--blue)!important;font-size:13px!important;font-weight:700}.footer-weather__link svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s}.footer-weather__link:hover svg{transform:translateX(3px)}.footer-weather__error{position:absolute;right:0;bottom:17px;margin:0!important;color:#8a6570!important;font-size:10px!important}
@media(max-width:1000px){.site-footer__statement{gap:50px}.site-footer__inner{grid-template-columns:1.5fr repeat(2,1fr);gap:42px}.footer-intro{grid-row:span 2}.footer-connect{grid-column:2/-1}}
@media(max-width:760px){.site-footer{margin-top:58px}.site-footer__statement{width:calc(100% - 36px);padding:34px 0 30px;grid-template-columns:1fr;gap:16px}.site-footer__statement strong{font-size:24px}.site-footer__inner{width:calc(100% - 36px);padding:36px 0;grid-template-columns:1fr 1fr;gap:34px 28px}.footer-intro{grid-column:1/-1;grid-row:auto}.footer-connect{grid-column:1/-1}.site-footer__bottom{width:calc(100% - 36px);display:block;padding:18px 0 22px}.site-footer__bottom div{margin-top:9px;gap:16px;flex-wrap:wrap}.site-footer__bottom>span{margin:0}}
@media(max-width:1000px){.footer-weather__inner{grid-template-columns:300px 1fr;column-gap:38px}.footer-weather__facts{grid-template-columns:repeat(3,1fr);row-gap:22px}}
@media(max-width:760px){.footer-weather__inner{width:calc(100% - 36px);padding:34px 0;display:block}.footer-weather h2{font-size:25px;margin-bottom:18px}.footer-weather__now{gap:13px}.footer-weather__now strong{font-size:45px}.footer-weather__icon{width:48px;height:48px}.footer-weather__icon svg{width:44px;height:44px}.footer-weather__now b{font-size:17px}.footer-weather__facts{grid-template-columns:repeat(3,1fr);gap:20px 14px;margin-top:30px;padding-top:25px;border-top:1px solid #dfe7f0}.footer-weather__link{margin-top:28px!important}.footer-weather__error{position:static;margin-top:12px!important}}

/* Live weather band: light treatment above the unchanged public footer. */
.footer-weather{
  position:relative;
  overflow:hidden;
  color:var(--ink);
  background:#fff;
  border-bottom:0;
}
.footer-weather::after{
  content:"";
  position:absolute;
  right:-360px;
  bottom:-370px;
  width:560px;
  height:560px;
  border:42px solid rgba(7,84,199,.065);
  border-radius:50%;
  box-shadow:
    0 0 0 42px rgba(7,84,199,.050),
    0 0 0 84px rgba(7,84,199,.037),
    0 0 0 126px rgba(7,84,199,.025);
  pointer-events:none;
}
.footer-weather__inner{
  z-index:1;
  width:min(1280px,calc(100% - 48px));
  min-height:0;
  padding:38px 0 42px;
  border-bottom:1px solid #e1e7ee;
  grid-template-columns:minmax(0,80px) 300px 48px minmax(0,1fr) minmax(0,80px);
  grid-template-rows:auto auto;
  column-gap:0;
  row-gap:27px;
  align-items:center;
}
.footer-weather__heading{
  grid-column:1/-1;
  display:flex;
  align-items:end;
  justify-content:space-between;
  padding-bottom:4px;
  border-bottom:0;
}
.footer-weather__eyebrow{margin:0 0 8px!important;color:var(--blue)!important;font:600 11px/1.2 'Source Sans 3',Arial,sans-serif!important;letter-spacing:.11em}
.footer-weather h2{margin:0;color:var(--ink);font:700 28px/normal Georgia,'Times New Roman',serif;letter-spacing:-.6px}
.footer-weather__lead{padding-left:28px}
.footer-weather__now{gap:17px}
.footer-weather__now strong{color:var(--ink);font-size:62px;font-weight:500}
.footer-weather__now b{color:var(--ink);font-size:17px;font-weight:600}
.footer-weather__icon{color:var(--blue)!important;width:54px;height:54px}
.footer-weather__icon svg{width:50px;height:50px;stroke-width:2}
.footer-weather__units{margin-top:14px;gap:8px}
.footer-weather__units button{
  min-width:78px;
  padding:6px 12px;
  border:1px solid #dce5ef;
  border-radius:999px;
  color:#77869a;
  font-size:11px;
}
.footer-weather__units button.is-active{color:var(--blue);background:#eef5ff;border-color:#b9d1ef}
.footer-weather__facts{
  grid-template-columns:repeat(6,minmax(78px,1fr));
  gap:28px;
  margin:0;
  padding:24px 0;
  background:transparent;
  border:0;
  border-radius:0;
  backdrop-filter:none;
}
.footer-weather__facts div{padding:0;border:0}
.footer-weather__facts dt{color:#77869a;font-size:10px;letter-spacing:.025em}
.footer-weather__facts dd{color:var(--ink);font-size:14px}
.footer-weather__link{
  grid-column:auto;
  margin:0!important;
  color:var(--blue)!important;
  font-size:13px!important;
  font-weight:600;
}
.footer-weather__link svg{width:18px;height:18px}
.footer-weather__error{right:0;bottom:13px;color:#9d4250!important}
.footer-weather__error[hidden]{display:none!important}
.footer-weather__heading>div{max-width:760px}
.footer-weather__description{max-width:750px;margin:10px 0 0!important;color:#637287!important;font-size:14px!important;line-height:1.5!important}
.footer-weather__lead{grid-column:2;align-self:center;padding:0 0 0 28px;border:0;border-radius:0;background:transparent;box-shadow:none}
.footer-weather__status{display:flex;align-items:center;gap:7px;margin-top:14px;color:#718198;font-size:10px}
.footer-weather__status>span{width:6px;height:6px;border-radius:50%;background:#2e9b70;box-shadow:0 0 0 4px #2e9b7012}
.footer-weather__facts{grid-column:4;grid-template-columns:repeat(6,minmax(72px,1fr));gap:20px}
.footer-weather__facts div{min-height:0;padding:0;border:0;border-radius:0;background:transparent}
.footer-weather__facts dt{margin-bottom:8px;color:#6e7d91;font-size:10px}
.footer-weather__facts dd{font:600 17px/1.2 Georgia,'Times New Roman',serif;color:var(--ink)}
@media(max-width:1000px){
  .footer-weather__inner{grid-template-columns:270px minmax(0,1fr);column-gap:34px}
  .footer-weather__lead,.footer-weather__facts{grid-column:auto}
  .footer-weather__facts{grid-template-columns:repeat(3,1fr);padding:8px 0;gap:22px 28px}
  .footer-weather__facts div{padding:0}
}
@media(max-width:760px){
  .footer-weather__inner{padding:30px 0 34px;display:block}
  .footer-weather__heading{align-items:flex-start;padding-bottom:8px}
  .footer-weather h2{font-size:23px}
  .footer-weather__description{font-size:12px!important}
  .footer-weather__heading .footer-weather__link{font-size:0!important;margin-top:6px!important;gap:0}
  .footer-weather__heading .footer-weather__link svg{width:22px;height:22px}
  .footer-weather__lead{margin-top:23px;padding:0 0 0 10px}
  .footer-weather__now strong{font-size:50px}
  .footer-weather__facts{grid-template-columns:repeat(2,1fr);margin-top:25px;padding:22px 0 0;border-top:1px solid #e1e7ee;gap:22px 18px}
  .footer-weather__facts div{min-height:0;padding:0}
  .footer-weather__error{position:static;margin-top:12px!important}
}

/* Footer refinement: full-width statement artwork and header-aligned icons. */
.site-footer__statement{
  width:100%;
  padding:46px max(24px,calc((100% - 1280px)/2)) 42px;
  background:
    radial-gradient(circle at 82% 24%,rgba(7,84,199,.11) 0 2px,transparent 3px),
    radial-gradient(circle at 89% 69%,rgba(7,84,199,.08) 0 3px,transparent 4px),
    linear-gradient(116deg,rgba(239,246,255,.92),rgba(248,251,255,.78) 58%,rgba(232,243,255,.88));
  border-radius:0;
  box-shadow:none;
}
.footer-intro p{
  max-width:330px;
  font-size:13.5px;
  line-height:1.72;
}
.footer-social button{
  width:38px;
  height:38px;
  border:1px solid #e4e9ef;
  background:#f8fafc;
  color:#22324a;
}
.footer-social svg{
  width:17px;
  height:17px;
  stroke-width:1.7;
}
@media(max-width:760px){
  .site-footer__statement{
    width:100%;
    padding:34px 18px 30px;
  }
}

/* Unified TravelGraph image logo. */
.site-brand__logo{display:block;width:182px;height:38px;max-width:100%;object-fit:contain;object-position:left center}
.site-footer .site-brand__logo{width:108px;height:auto}
@media(max-width:760px){.site-header .site-brand__logo{width:108px;height:auto}}
