/* Home page footer: a rounded three-column panel (build/home_footer.py). The right margin and bottom padding keep it clear of the side rail and "Plan a trip". */
footer.hf{padding:clamp(40px,8vh,90px) calc(var(--rail,64px) + 16px) 92px 18px;background:var(--bg);color:#111111}
.hf-box{max-width:1420px;margin:0 auto;padding:clamp(34px,4vw,60px) clamp(24px,4vw,64px) clamp(26px,3vw,38px);border-radius:30px;background:#F4F4F4}
.hf-main{display:grid;grid-template-columns:1.1fr 1.3fr .75fr;gap:clamp(28px,4vw,64px)}
.hf a{color:inherit;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;text-decoration-thickness:1px;transition:color .25s ease,text-decoration-color .25s ease,opacity .25s ease}
.hf a:hover{text-decoration-color:currentColor}
.hf a:focus-visible{outline:2px solid #111;outline-offset:3px;border-radius:3px}
.hf p{margin:0}
.hf-logo{display:block;height:58px;width:auto}
.hf-name{margin-top:14px;font-size:clamp(25px,2.2vw,31px);font-weight:600;letter-spacing:-.025em;line-height:1.1}
.hf-desc{margin-top:8px!important;max-width:30em;font-size:14.5px;line-height:1.5;color:#444444}
.hf-big{margin-top:26px!important;font-size:clamp(17px,1.5vw,20px);font-weight:500;line-height:1.45;letter-spacing:-.01em}
.hf-small{margin-top:14px!important;max-width:30em;font-size:13px;line-height:1.5;color:#444444}
.hf-small+.hf-small{margin-top:6px!important}
.hf-h{margin:0 0 14px;font-size:13px;font-weight:600;line-height:1.3;color:#111111}
.hf-links{display:grid;grid-template-columns:auto auto;grid-template-rows:repeat(7,auto);grid-auto-flow:column;justify-content:start;gap:7px clamp(24px,3vw,48px)}
.hf-links a{display:block;font-size:clamp(17px,1.5vw,20px);font-weight:500;line-height:1.3;letter-spacing:-.01em;color:#333333}
.hf-links a:hover{color:#000}
.hf-policy{max-width:17em;margin-bottom:34px!important;font-size:clamp(16px,1.3vw,18px);font-weight:500;line-height:1.35;letter-spacing:-.01em;color:#333333}
.hf-soc{display:flex;gap:12px;margin-left:-2px;color:#333333}
.hf-soc a{display:grid;place-items:center;width:34px;height:34px;transition:color .25s ease,opacity .25s}
.hf-soc a:hover{color:#000}
.hf-bar{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 30px;margin-top:clamp(36px,6vh,64px)}
.hf-line{font-size:clamp(19px,1.8vw,24px);font-weight:500;letter-spacing:-.015em}
.hf-copy{font-size:11.5px;font-weight:500;letter-spacing:.02em;color:#444444}
@media (max-width:1100px){
  .hf-main{grid-template-columns:1fr 1fr}
  .hf-side{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(28px,4vw,64px)}
  .hf-side .hf-h:nth-of-type(1){grid-column:1;grid-row:1}.hf-policy{grid-column:1;grid-row:2;margin-bottom:0!important}
  .hf-side .hf-h:nth-of-type(2){grid-column:2;grid-row:1}.hf-soc{grid-column:2;grid-row:2}
}
@media (max-width:760px){
  footer.hf{padding:36px 10px 96px}
  .hf-box{padding:30px 22px 24px;border-radius:24px}
  .hf-main{grid-template-columns:1fr;gap:34px}
  .hf-links{gap:0 16px;grid-template-columns:1fr 1fr;grid-template-rows:repeat(7,auto)}
  .hf-links a{display:flex;align-items:center;min-height:44px;font-size:16px;line-height:1.2}
  .hf-side{grid-template-columns:1fr;gap:0}
  .hf-side .hf-h:nth-of-type(1),.hf-policy,.hf-side .hf-h:nth-of-type(2),.hf-soc{grid-column:1;grid-row:auto}
  .hf-policy{margin-bottom:26px!important}
  .hf-soc a{width:44px;height:44px}
  .hf-big a{display:inline-block;padding:3px 0}
}
@media (prefers-reduced-motion:reduce){.hf a,.hf-soc a{transition:none}}
