/* Ish Travel – destination-sri-lanka page styles.
 * Generated from phase 2/design/destination-sri-lanka.html (approved designs, 24 Oct 2026).
 * Edit here from now on; the design HTML is no longer the source. */

.hero h1{font-size:clamp(46px, 7.4vw, 88px); max-width:13ch; line-height:1.02}

.hero__intro{font-size:19px; max-width:46ch; text-shadow:0 1px 14px rgba(0,0,0,.55)}

.hero h1,.hero__eyebrow{text-shadow:0 2px 24px rgba(0,0,0,.3)}

.dest__visual{position:relative; max-width:500px; width:100%; justify-self:center; display:grid; gap:22px}

.dest__visual svg{width:100%; height:auto; display:block; overflow:visible}

.dest__photo{transition:opacity .5s}

.dest__name{font:300 clamp(30px,3.4vw,40px)/1 var(--serif); fill:#fff; font-style:italic}

.dest__sub{font:600 11px var(--sans); letter-spacing:.16em; text-transform:uppercase; fill:#FFD9A8}

.months{display:grid; gap:10px}

.months__head{display:flex; justify-content:space-between; font-size:13px; color:var(--muted)}

.months__head b{color:var(--fg); font-weight:600}

.months ol{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(12,1fr); gap:4px}

.months li{text-align:center; font:600 11px/1 var(--sans); padding:9px 0; border-radius:999px; background:var(--fill); color:var(--muted); transition:background .35s, color .35s}

.months li.on{background:var(--red); color:#fff}

.dest__list a{display:grid; grid-template-columns:1fr auto; align-items:center; gap:4px 18px; padding:18px 4px; text-decoration:none; transition:padding .3s}

.dest__list b{font:300 clamp(26px,3vw,32px)/1.1 var(--serif); transition:color .3s}

.home-tag{font:600 10px/1 var(--sans); letter-spacing:.12em; text-transform:uppercase; color:var(--red); border:1px solid currentColor; border-radius:999px; padding:4px 8px; margin-left:10px; vertical-align:middle; font-style:normal}

@media (max-width:820px){
  .topbar__l a:not(:first-child){display:none}
  .qs{grid-template-columns:1fr 1fr; border-radius:26px}
  .qs__f{border-right:0; border-bottom:1px solid rgba(18,17,15,.12)}
  .qs__f:first-child{grid-column:1 / -1}
  .qs__f:nth-child(3){border-bottom:1px solid rgba(18,17,15,.12)}
  .qs__f:focus-within{border-radius:18px}
  .qs .btn{grid-column:1 / -1; justify-content:center; margin-top:8px}
  .ways,.dest,.cta,.news{grid-template-columns:1fr}
  .way{min-height:440px}
  .way__body{padding:26px}
  .dest__visual{max-width:400px}
  .cta::after{display:none}
}

@media (max-width:560px){
  .topbar__r a:not(.heart){display:none}
  .wa span{display:none}
  .wa{padding:16px}
  .months li{font-size:9px}
  .hdr__bar{height:66px}
  .logo small{display:none}
  .hero .wrap{padding-block:120px 28px}
  .hero__intro{font-size:17px}
  .exp{grid-template-columns:1fr 1fr}
  .why{grid-template-columns:1fr}
  .why div,.why div + div{padding-left:0; border-left:0; border-bottom:1px solid var(--line); padding-bottom:24px}
  .dep{grid-template-columns:1fr auto; grid-template-areas:"d p" "t t" "s b"; gap:12px}
  .ftr__top{grid-template-columns:1fr}
  .news form{flex-direction:column; border-radius:24px}
  .news input{padding:14px 16px}
  .news .btn{justify-content:center}
  .head{margin-bottom:30px}
}

.crumbs{font-size:13px; display:flex; flex-wrap:wrap; gap:8px; align-items:center}

.crumbs a{text-decoration:none}

.chero{position:relative; color:#fff; isolation:isolate; overflow:hidden; min-height:min(720px, 86vh); display:flex; padding:0}

.chero > img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transform:scale(1.06); animation:settle 6s cubic-bezier(.2,.6,.2,1) forwards}

@keyframes settle{to{transform:scale(1)}}

.chero::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(10,9,8,.45) 0%, rgba(10,9,8,.05) 35%, rgba(10,9,8,.75) 100%)}

.chero .wrap{display:flex; flex-direction:column; justify-content:space-between; width:100%; padding-block:28px 40px; gap:40px}

.chero .crumbs{color:rgba(255,255,255,.85)}

.chero__name{font-size:clamp(76px, 15vw, 210px); line-height:.85; letter-spacing:-.03em; font-weight:300}

.chero__name em{color:var(--coconut)}

.chero__row{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:24px}

.chero__row p{font-size:19px; max-width:44ch; text-shadow:0 1px 14px rgba(0,0,0,.4)}

.chero__tag{display:inline-flex; align-items:center; gap:10px; font:600 12px/1 var(--sans); letter-spacing:.16em; text-transform:uppercase}

.chero__tag .drop{background:var(--coconut); width:10px; height:14px}

.facts{display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); border-bottom:1px solid var(--line)}

.facts div{padding:22px 20px; display:grid; gap:4px; border-right:1px solid var(--line)}

.facts div:last-child{border-right:0}

.facts small{font:600 11px/1.2 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}

.facts b{font:400 22px/1.2 var(--serif)}

.facts span{font-size:13px; color:var(--muted)}

.intro{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(30px,6vw,90px); align-items:start}

.intro h2{font-size:clamp(36px,4.6vw,52px); margin-top:16px}

.intro h2 em{color:var(--red)}

.intro__text{display:grid; gap:16px; font-size:17px}

.intro__text p:first-child{font-size:20px}

.intro__text p + p{color:var(--muted)}

.hl{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px}

.hl article{display:grid; gap:12px}

.hl figure{margin:0; position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:4/3.2; background:var(--fill)}

.hl img{width:100%; height:100%; object-fit:cover; transition:transform 1s}

.hl article:hover img{transform:scale(1.05)}

.hl figcaption{position:absolute; left:12px; bottom:12px; font-size:12px; color:#fff; background:rgba(18,17,15,.55); padding:5px 10px; border-radius:999px; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px)}

.hl b{font:400 24px/1.2 var(--serif)}

.hl p{color:var(--muted); font-size:15px}

.regions{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:clamp(32px,6vw,90px); align-items:center}

.island{position:relative; max-width:500px; width:100%; justify-self:center}

.island svg{width:100%; height:auto; display:block; overflow:visible}

.island__photo{transition:opacity .5s}

.pin{cursor:pointer}

.pin .ring{fill:var(--red); opacity:.18; transform-box:fill-box; transform-origin:center; animation:pulse 2.6s ease-out infinite}

.pin .dot{fill:var(--red); stroke:var(--bg-alt); stroke-width:3}

.pin text{font:600 13px var(--sans); fill:var(--fg); paint-order:stroke; stroke:var(--bg-alt); stroke-width:4px; stroke-linejoin:round}

.pin.is-on .dot{fill:var(--fg)}

.pin.is-on text{fill:var(--red)}

@keyframes pulse{0%{transform:scale(.6); opacity:.35} 100%{transform:scale(2.2); opacity:0}}

.rlist{list-style:none; padding:0; margin:0; border-top:1px solid var(--line)}

.rlist li{border-bottom:1px solid var(--line)}

.rlist button{width:100%; background:none; border:0; text-align:left; cursor:pointer; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 18px; padding:20px 4px; transition:padding .3s}

.rlist b{font:300 clamp(26px,3vw,34px)/1.1 var(--serif); transition:color .3s}

.rlist span{grid-column:1; font-size:14px; color:var(--muted)}

.rlist i{grid-row:1 / span 2; grid-column:2; align-self:center; font-style:normal; font-size:13px; font-weight:600; white-space:nowrap}

.rlist p{display:none; grid-column:1 / -1; font-size:15px; color:var(--muted); max-width:56ch; margin-top:6px}

.rlist button.is-on{padding-left:14px}

.rlist button.is-on b{color:var(--red); font-style:italic}

.rlist button.is-on p{display:block}

.when{border:1px solid var(--line); border-radius:var(--radius); background:var(--card); padding:clamp(20px,3vw,32px); overflow-x:auto}

.when table{border-collapse:separate; border-spacing:4px; width:100%; min-width:640px; table-layout:fixed}

.when th{font:600 12px/1 var(--sans); color:var(--muted); padding:6px 0; text-align:center}

.when th:first-child{text-align:left; width:200px}

.when td{height:38px; border-radius:10px; text-align:center; font-size:11px; font-weight:700}

.when td:first-child{text-align:left; font:400 18px/1.2 var(--serif); padding-right:10px; height:auto}

.when td:first-child small{display:block; font:400 12px var(--sans); color:var(--muted)}

.lv3{background:var(--red); color:#fff}

.lv2{background:color-mix(in srgb, var(--red) 35%, var(--card)); color:var(--fg)}

.lv1{background:var(--fill); color:var(--muted)}

.when__key{display:flex; flex-wrap:wrap; gap:16px; margin-top:16px; font-size:13px; color:var(--muted)}

.when__key span{display:inline-flex; align-items:center; gap:8px}

.when__key i{width:18px; height:12px; border-radius:4px; display:inline-block}

.when td.now{outline:2px solid var(--fg); outline-offset:1px}

.rail--3{grid-template-columns:repeat(3,1fr)}

@media (max-width:1100px){.rail--3{grid-template-columns:repeat(3,minmax(270px,1fr))}}

.faq{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(30px,5vw,80px)}

.faq h2{font-size:clamp(36px,4.6vw,48px); margin-top:16px}

.faq h2 em{color:var(--red)}

.faq details{border-top:1px solid var(--line)}

.faq details:last-child{border-bottom:1px solid var(--line)}

.faq summary{list-style:none; cursor:pointer; padding:20px 0; display:flex; justify-content:space-between; gap:16px; font:400 21px/1.3 var(--serif)}

.faq summary::-webkit-details-marker{display:none}

.faq summary svg{flex:none; transition:transform .3s; color:var(--muted); margin-top:4px}

.faq details[open] summary svg{transform:rotate(180deg)}

.faq details p{color:var(--muted); padding-bottom:20px; max-width:62ch}

.dhead{padding-block:28px 10px}

.dhead h1{font-size:clamp(48px,7vw,88px); margin-top:16px; max-width:14ch}

.dhead h1 em{color:var(--red)}

.dhead p{font-size:19px; color:var(--muted); max-width:52ch; margin-top:16px}

.monthpick{display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin-top:34px; padding:16px 18px; border:1px solid var(--line); border-radius:22px; background:var(--card)}

.monthpick > span{font-weight:600; font-size:15px}

.monthpick div{display:flex; flex-wrap:wrap; gap:4px}

.monthpick button{border:1px solid var(--line); background:var(--bg); border-radius:999px; padding:8px 12px; font-size:13px; font-weight:600; cursor:pointer}

.monthpick button[aria-pressed="true"]{background:var(--fg); color:var(--bg); border-color:var(--fg)}

.monthpick small{color:var(--muted); font-size:13px; margin-left:auto}

.cgrid{display:grid; grid-template-columns:repeat(6, minmax(0,1fr)); gap:20px}

.ccard{grid-column:span 2; position:relative; border-radius:var(--radius); overflow:hidden; color:#fff; isolation:isolate; min-height:440px; display:flex; flex-direction:column; justify-content:flex-end; text-decoration:none; transition:opacity .4s, filter .4s, transform .4s}

.ccard:nth-child(1),.ccard:nth-child(2){grid-column:span 3; min-height:520px}

.ccard img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}

.ccard::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, rgba(10,9,8,0) 35%, rgba(10,9,8,.82))}

.ccard:hover img{transform:scale(1.05)}

.ccard__body{padding:26px; display:grid; gap:10px}

.ccard__tag{justify-self:start; font:600 11px/1 var(--sans); letter-spacing:.14em; text-transform:uppercase; background:rgba(255,255,255,.16); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); padding:8px 12px; border-radius:999px}

.ccard h2{font-size:clamp(40px,4.6vw,56px); line-height:1}

.ccard p{opacity:.9; font-size:15px; max-width:40ch}

.ccard__foot{display:flex; justify-content:space-between; align-items:flex-end; gap:12px; flex-wrap:wrap}

.ccard__foot small{display:block; font-size:12px; opacity:.8}

.ccard__foot b{font:400 26px/1 var(--serif)}

.mini{display:grid; grid-template-columns:repeat(12, 1fr); gap:3px; width:100%; max-width:300px}

.mini i{height:6px; border-radius:3px; background:rgba(255,255,255,.25)}

.mini i.on{background:var(--coconut)}

.ccard.dim,.js .ccard.rv.dim{opacity:.35; filter:grayscale(.6)}

.ccard__good{display:none; justify-self:start; font:700 11px/1 var(--sans); letter-spacing:.08em; text-transform:uppercase; background:var(--coconut); color:#12110F; padding:7px 11px; border-radius:999px}

.ccard.good .ccard__good{display:inline-block}

.combos{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px}

.combo{border:1px solid var(--line); border-radius:var(--radius); background:var(--card); padding:24px; display:grid; gap:12px; text-decoration:none}

.combo:hover{border-color:var(--red)}

.combo b{font:400 26px/1.15 var(--serif)}

.combo b em{color:var(--red)}

.combo p{color:var(--muted); font-size:15px}

.combo__fl{display:flex; align-items:center; gap:10px; font-size:13px; font-weight:600}

.combo__fl svg{color:var(--red)}

@media (max-width:1000px){
  .facts{grid-template-columns:repeat(3, minmax(0,1fr))}
  .facts div:nth-child(3){border-right:0}
  .facts div:nth-child(n+4){border-top:1px solid var(--line)}
  .hl,.combos{grid-template-columns:1fr 1fr}
  .cgrid{grid-template-columns:1fr 1fr}
  .ccard,.ccard:nth-child(1),.ccard:nth-child(2){grid-column:span 1; min-height:420px}
}

@media (max-width:820px){
  .intro,.regions,.faq{grid-template-columns:1fr}
  .island{max-width:360px}
}

@media (max-width:620px){
  .facts{grid-template-columns:1fr 1fr}
  .facts div{border-right:0 !important; border-top:1px solid var(--line)}
  .facts div:nth-child(odd){border-right:1px solid var(--line) !important}
  .facts div:nth-child(-n+2){border-top:0}
  .hl,.combos,.cgrid{grid-template-columns:1fr}
  .ccard,.ccard:nth-child(1),.ccard:nth-child(2){min-height:380px}
  .monthpick small{margin-left:0}
  .wa span{display:none}
  .wa{padding:16px}
}
