/* Korea navigator (home). Palette and type follow the daylight system: ivory ground, ink burgundy, bronze. */
.knav{padding-block:110px 120px;background:#f3ebe0;border-block:1px solid #e3d6c7}
.knav-head{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end;margin-bottom:56px}
.knav-head .lead{max-width:44ch}
.knav-finder{display:inline-flex;align-items:center;min-height:48px;margin-top:18px;padding:10px 20px;background:#4a2225;color:#fff9f2;text-decoration:none;font-size:15px;line-height:1.35}
.knav-finder:hover{background:#623439}
.knav-body{display:grid;grid-template-columns:minmax(260px,5fr) 7fr;gap:72px;align-items:start}
.knav-map{position:relative;max-width:470px;width:100%;margin-inline:auto;position:sticky;top:90px}
.knav-map img{display:block;width:100%;height:auto}
.knav-dot{position:absolute;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:#c3ad9c;pointer-events:none}
.knav-dot.is-on{width:7px;height:7px;margin:-3.5px 0 0 -3.5px;background:#a77c53}
.knav-pin{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;padding:0;border:0;background:none;cursor:pointer;border-radius:50%}
.knav-pin::before{content:"";position:absolute;inset:8px;border-radius:50%;background:#fffdf9;border:2px solid #4a2225;transition:transform .2s,background .2s}
.knav-pin span{position:absolute;left:24px;top:50%;transform:translateY(-50%);white-space:nowrap;font-family:var(--serif);font-weight:600;font-size:14px;color:#4a2225;background:rgba(255,253,249,.92);padding:2px 7px;opacity:0;pointer-events:none;transition:opacity .2s}
.knav-pin:hover span,.knav-pin:focus-visible span,.knav-pin.is-on span{opacity:1}
.knav-pin.is-on::before{background:#4a2225;transform:scale(1.25)}
.knav-pin:hover::before{transform:scale(1.2)}
.knav-pin:focus-visible{outline:2px solid #4a2225;outline-offset:2px}
.knav-cities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;margin:0 0 44px;padding:0;list-style:none;border-top:1px solid #d9cbbd}
.knav-cities li{border-bottom:1px solid #e3d6c7}
.knav-cities a{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-height:48px;padding:10px 2px;text-decoration:none;font-family:var(--serif);font-weight:600;font-size:18px;color:#8a6f62}
.knav-cities a:hover,.knav-cities a[aria-pressed="true"]{color:#4a2225}
.knav-cities a[aria-pressed="true"]{box-shadow:inset 0 -2px 0 #4a2225}
.knav-cities .ko{font-family:"Paperlogy",sans-serif;font-weight:300;font-style:normal;font-size:12px;color:#9b8578}
.knav-city-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:6px 24px;margin-bottom:22px;scroll-margin-top:90px}
.knav-city-head h3{margin:0;font-family:var(--serif);font-weight:600;font-size:clamp(34px,3.6vw,48px);line-height:1.05;letter-spacing:-.025em;color:#4a2225}
.knav-city-head h3 .ko{font-family:"Paperlogy",sans-serif;font-weight:300;font-style:normal;font-size:.42em;letter-spacing:0;color:#8a6f62;margin-left:8px}
.knav-city-head p{grid-column:1;margin:0;font-size:14px;color:#79665b}
.knav-city-link{grid-column:2;grid-row:1/span 2;align-self:center;font-size:14px;color:#4a2225;text-underline-offset:4px}
.knav-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 26px}
.knav-card{display:flex;flex-direction:column;text-decoration:none;color:inherit}
.knav-card-photo{display:block;aspect-ratio:4/3;overflow:hidden;background:#e2d8cb}
.knav-card-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.knav-card:hover .knav-card-photo img{transform:scale(1.03)}
.knav-card-photo--none{background:linear-gradient(135deg,#e8dccb,#d9c8b3)}
.knav-card b{margin-top:14px;font-family:var(--serif);font-weight:600;font-size:22px;line-height:1.2;color:#4a2225}
.knav-card b .ko{font-family:"Paperlogy",sans-serif;font-weight:300;font-style:normal;font-size:12px;color:#8a6f62;margin-left:5px}
.knav-card-line{margin-top:6px;font-size:15px;line-height:1.6;color:#655955}
.knav-card:focus-visible{outline:2px solid #4a2225;outline-offset:4px}
@media (max-width:1100px){.knav-cities{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){
  .knav{padding-block:72px 80px}
  .knav-head{display:block;margin-bottom:28px}.knav-head .lead{margin-top:18px}
  .knav-body{display:block}
  .knav-map{position:relative;top:0;max-width:280px;margin:0 auto 26px}
  .knav{overflow-x:clip}
  .knav-cities{display:flex;overflow-x:auto;gap:0 22px;border:0;margin:0 calc(var(--gutter)*-1) 30px;padding:0 var(--gutter);scroll-snap-type:x proximity}
  .knav-cities li{border:0;flex:0 0 auto;scroll-snap-align:start}
  .knav-cities a{font-size:17px;min-height:44px}
  .knav-city-head{grid-template-columns:1fr}.knav-city-link{grid-column:1;grid-row:auto;margin-top:6px}
  .knav-cards{display:flex;overflow-x:auto;gap:18px;margin:0 calc(var(--gutter)*-1);padding:0 var(--gutter) 6px;scroll-snap-type:x mandatory}
  .knav-card{flex:0 0 78vw;max-width:320px;scroll-snap-align:start}
}
@media (prefers-reduced-motion:reduce){.knav-pin::before,.knav-card-photo img,.knav-pin span{transition:none}}
@media (min-width:1200px){.knav-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px}.knav-card b{font-size:20px}.knav-card-line{font-size:14px}}
/* Tools hub: the quote comparison and the arrival planner under one heading. */
.tools-hub{padding-bottom:40px}
.tools-hub-head{margin-bottom:10px}
.tools-tabs{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:34px;border-bottom:1px solid #d9cbbd}
.tools-tabs [role="tab"]{appearance:none;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:10px 0 12px;min-height:48px;font-family:var(--serif);font-weight:600;font-size:20px;color:#9a7f70;cursor:pointer}
.tools-tabs [role="tab"][aria-selected="true"]{color:#4a2225;border-bottom-color:#4a2225}
.tools-tabs [role="tab"]:focus-visible{outline:2px solid #4a2225;outline-offset:4px}
.tools-hub:not(.is-tabbed) .tools-tabs{display:none}
.tools-hub .tool-panel{padding-top:40px}
.tools-hub .tool-panel[hidden]{display:none}
@media (max-width:700px){.tools-tabs [role="tab"]{font-size:17px}}
.tools-hub .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tools-hub-head .tools-tabs{margin-top:0}
