/* KoriNavi homepage responsive layout. Keep every section aligned and avoid horizontal overflow. */
html,body{max-width:100%;overflow-x:hidden}
.hero .container,#destinations .container,.section-soft .container,.home-latest .container,.section-sand .container,.site-footer .container,.site-header .container{width:min(calc(100% - 48px),1180px)}
.site-header{position:relative;top:auto}
.hero{padding:28px 0 58px}
.hero-frame,.hero-content{min-height:520px}
.hero-content{max-width:720px;padding:58px 68px 58px 84px}
.hero h1{font-size:clamp(46px,5.5vw,72px)}
.section{padding:66px 0}
.section-head{margin-bottom:27px;align-items:flex-end}
.section-title{font-size:clamp(31px,3.25vw,43px);line-height:1.08}

.destination-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;min-width:0}
.destination-card{min-width:0;min-height:0!important;aspect-ratio:16/11!important}
.destination-card .label{padding:44px 58px 20px 22px}
.destination-card h3{font-size:25px}
.destination-photo-credits{margin-top:8px}

.topic-rail{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch;width:100%;min-width:0}
.topic-rail::before{left:4%;right:4%;top:27px}
.topic-link{min-width:0;min-height:150px;padding:56px 18px 22px!important}
.topic-link::before{left:18px!important}
.topic-number{margin-bottom:10px!important}
.topic-link strong{min-height:2.5em;margin-bottom:5px!important;font-size:clamp(17px,1.45vw,21px)!important;line-height:1.22}
.topic-link>span:last-child{max-width:20ch;font-size:11.5px;line-height:1.55}

.home-latest-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;min-width:0}
.home-story,.home-story:nth-child(n){grid-column:auto!important;min-width:0}
.home-story-media{aspect-ratio:16/8.7}
.home-story-body{min-height:176px;padding:20px 21px 18px}
.home-story h3{font-size:clamp(20px,1.8vw,24px);line-height:1.26}
.home-story p{line-height:1.6}
.home-story-footer{padding-top:15px}
.latest-photo-credits{margin-top:10px}

.decision-band{grid-template-columns:1.05fr .95fr;gap:34px;padding:36px 40px}
.decision-band h2{font-size:clamp(30px,3.2vw,42px)}
.finder{padding:18px;min-width:0}

/* Tablet / narrow desktop: stop squeezing desktop grids. */
@media (max-width:980px){
  .hero .container,#destinations .container,.section-soft .container,.home-latest .container,.section-sand .container,.site-header .container,.site-footer .container{width:min(calc(100% - 36px),1180px)}
  .site-header .nav-links{display:none!important}
  .site-header .nav{justify-content:space-between;gap:16px}
  .nav-utility{margin-left:auto}
  .hero-frame,.hero-content{min-height:450px}
  .hero-content{padding:48px 42px 48px 58px;max-width:650px}
  .hero h1{font-size:clamp(40px,6vw,56px)}
  .section{padding:56px 0}
  .destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  .destination-card{aspect-ratio:16/10!important}

  /* Six items remain a balanced 3 + 3 grid. */
  .topic-rail{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:0}
  .topic-rail::before{display:none!important}
  .topic-link{grid-column:span 2;min-height:128px;padding:22px 18px 20px 52px!important;border-bottom:1px solid var(--k-line)!important}
  .topic-link::before{left:18px!important;top:23px!important}
  .topic-number{margin-bottom:7px!important}
  .topic-link strong{min-height:0;font-size:18px!important}
  .topic-link>span:last-child{max-width:none;font-size:11px;line-height:1.5}

  .home-story-body{min-height:164px;padding:18px}
  .home-story h3{font-size:20px}
  .decision-band{grid-template-columns:1fr;gap:22px;padding:30px 28px}
}

/* Phone rules complement mobile.css; keep six intent cards balanced. */
@media (max-width:640px){
  .hero .container,#destinations .container,.section-soft .container,.home-latest .container,.section-sand .container,.site-header .container,.site-footer .container{width:calc(100% - 32px)}
  .site-header{position:sticky;top:0}

  .topic-rail{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .topic-link,.topic-link:nth-child(4),.topic-link:nth-child(5),.topic-link:nth-child(6){grid-column:auto!important}
  .topic-link:nth-child(5),.topic-link:nth-child(6){border-bottom:0!important}

  .footer-grid{grid-template-columns:1fr 1fr!important;gap:24px 18px!important}
  .footer-grid>div:first-child{grid-column:1/-1}
}

@media (max-width:430px){
  .topic-rail{grid-template-columns:1fr!important}
  .topic-link,.topic-link:nth-child(4),.topic-link:nth-child(5),.topic-link:nth-child(6){grid-column:auto!important;border-right:0!important;border-bottom:1px solid var(--k-line)!important}
  .topic-link:last-child{border-bottom:0!important}
}
