/* smarttourism.com: crimson institutional look. Single light theme by design. */
:root{
  --crimson:#9B1C1F; --crimson-dark:#5E1013; --crimson-tint:#F6E3E3;
  --ink:#222222; --body:#333333; --muted:#5F5F5F; --line:#E2E2E2; --soft:#F4F4F4; --white:#ffffff;
  --c-str:#6B3FA0; --c-flow:#D7262E; --c-acc:#1F7BC1; --c-sus:#2E9A47; --c-ai:#C0267A; --c-link:#444444;
  --sans:"Roboto",Arial,Helvetica,sans-serif; --cond:"Roboto Condensed","Arial Narrow",Arial,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
body{margin:0;background:var(--white);color:var(--ink);font:16px/1.6 var(--sans)}
a{color:var(--crimson)} a:hover{color:var(--crimson-dark)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--crimson);outline-offset:2px}
img{max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.sr{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
h1,h2,h3{text-wrap:balance}

/* Utility bar + header */
.util{background:var(--soft);border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
.util .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding-block:8px}
.site-head{background:var(--white);box-shadow:0 2px 10px rgba(0,0,0,.08);position:relative;z-index:2}
.site-head .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;padding-block:16px}
.logo{display:flex;flex-direction:column;gap:5px;text-decoration:none;color:var(--ink)}
.logo-word{font-weight:700;font-size:28px;letter-spacing:-.02em;line-height:1;color:var(--ink)}
.logo-word b{color:var(--crimson);font-weight:700}
.logo-strip{display:flex;gap:3px}
.logo-strip span{width:22px;height:4px}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 26px;font-size:14px;font-weight:500;letter-spacing:.1em}
.nav a{color:#444;text-decoration:none;text-transform:uppercase}
.nav a[aria-current="page"]{color:var(--crimson)}
.nav a.cta{background:var(--crimson);color:var(--white);padding:12px 18px;border-radius:2px}
.nav a.cta:hover{background:var(--crimson-dark)}

/* Bands */
.band{background:var(--crimson);color:var(--white)}
.band a{color:var(--white)}
.hero{padding-block:60px 120px;display:flex;flex-direction:column;gap:20px}
.hero h1{margin:0;font:700 clamp(34px,5.4vw,54px)/1.04 var(--cond);text-transform:uppercase;max-width:820px}
.hero p{margin:0;font-size:clamp(16px,2vw,19px);line-height:1.5;max-width:680px;color:var(--crimson-tint)}
.search{display:flex;flex-wrap:wrap;max-width:720px}
.search input{flex:1 1 300px;min-width:0;height:56px;padding:0 18px;border:0;font:16px var(--sans);color:var(--ink);border-radius:2px 0 0 2px}
.search button{height:56px;padding:0 28px;border:0;background:var(--crimson-dark);color:var(--white);font:700 14px var(--sans);letter-spacing:.1em;cursor:pointer;border-radius:0 2px 2px 0}
.stats{margin:0;font-size:14px;letter-spacing:.04em;color:var(--crimson-tint)}
.page-band{padding-block:28px 40px;display:flex;flex-direction:column;gap:12px}
.page-band h1{margin:0;font:700 clamp(30px,4.4vw,44px)/1.06 var(--cond);text-transform:uppercase}
.page-band p{margin:0;font-size:17px;line-height:1.55;max-width:780px;color:var(--crimson-tint)}
.crumbs{font-size:13px;letter-spacing:.05em;color:var(--crimson-tint)}

/* Category cards overlapping the hero */
.cats{margin-top:-80px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;position:relative}
.cat{background:var(--white);text-decoration:none;color:var(--ink);box-shadow:0 6px 22px rgba(0,0,0,.12);border-top:6px solid var(--c);padding:20px 16px;display:flex;flex-direction:column;gap:10px;min-height:190px;min-width:0}
@media (max-width:1060px){.cats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.cats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cat:hover{box-shadow:0 8px 28px rgba(0,0,0,.18);color:var(--ink)}
.cat svg{stroke:var(--c)}
.cat strong{font-size:16px;line-height:1.3;overflow-wrap:anywhere}
.cat span{font-size:14px;color:var(--muted)}

/* Sections */
.sec{padding-block:60px 0;display:flex;flex-direction:column;gap:20px}
.h2{margin:0;border-left:8px solid var(--crimson);padding-left:14px;font:700 clamp(24px,3vw,30px)/1.15 var(--cond);text-transform:uppercase}
.lead{margin:0;color:#444;max-width:720px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:28px}
.steps div{display:flex;flex-direction:column;gap:6px}
.steps .n{font:700 40px/1 var(--cond);color:var(--crimson)}
.steps p{margin:0;color:#444}
.kicker{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--crimson);text-transform:uppercase}

/* News: featured item + vertical list */
.feature{box-shadow:0 6px 22px rgba(0,0,0,.12);border-top:6px solid var(--crimson);display:flex;flex-wrap:wrap}
.feature .f-date{flex:0 0 220px;background:var(--crimson-dark);color:var(--white);padding:26px 24px;display:flex;flex-direction:column;gap:8px}
.feature .f-date strong{font:700 40px/1 var(--cond)}
.feature .f-date span{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--crimson-tint)}
.feature .f-body{flex:1 1 420px;min-width:0;padding:26px 28px;display:flex;flex-direction:column;gap:12px}
.feature h3{margin:0;font:700 clamp(22px,2.6vw,28px)/1.15 var(--cond);text-transform:uppercase}
.feature h3 a{color:var(--ink);text-decoration:none}
.feature h3 a:hover{color:var(--crimson)}
.feature p{margin:0;color:var(--body);max-width:760px}
.feature ul{margin:0;padding-left:20px;color:var(--body);display:flex;flex-direction:column;gap:4px}
.feature .actions{margin-top:4px}
@media (max-width:640px){.feature .f-date{flex-basis:100%;flex-direction:row;align-items:baseline;gap:14px}.feature .f-date strong{font-size:30px}}

.news-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.news-list li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:6px 28px;padding:20px 0;border-bottom:1px solid var(--line)}
.news-list .date{font:700 18px/1.3 var(--cond);color:var(--crimson-dark);letter-spacing:.02em;padding-top:2px}
.news-list .body{display:flex;flex-direction:column;gap:6px;min-width:0}
.news-list h3{margin:0;font-size:18px;line-height:1.35}
.news-list h3 a{color:var(--ink);text-decoration:none}
.news-list h3 a:hover{color:var(--crimson)}
.news-list p{margin:0;color:#444;font-size:15px;line-height:1.55;max-width:760px}
.news-list .src{font-size:13px;color:var(--muted)}
@media (max-width:640px){.news-list li{grid-template-columns:1fr}}
.news-list li.upcoming .date::after{content:"Upcoming";display:block;margin-top:4px;font:700 11px var(--sans);letter-spacing:.1em;color:var(--crimson);text-transform:uppercase}

/* Older news: option A (collapsed below) and option B (greyed in place) */
.older{border:1px solid var(--line);background:var(--soft)}
.older > summary{cursor:pointer;padding:16px 20px;font-weight:500;color:var(--body);list-style-position:inside}
.older > summary span{color:var(--muted);font-weight:400}
.older .news-list{border-top:1px solid var(--line);padding:0 20px;background:var(--white)}
.news-list li.old{opacity:.6}
.news-list li.old .date{color:var(--muted)}
.news-list li.old:hover{opacity:1}

.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chip{border:1px solid var(--crimson);color:var(--crimson);text-decoration:none;padding:6px 14px;border-radius:999px;font-size:14px;font-weight:500}
.chip:hover{background:var(--crimson);color:var(--white)}
.chip.sm{padding:3px 11px;font-size:13px;font-weight:400}
.cta-box{background:var(--soft);padding:32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px}
.cta-box strong{font:700 24px/1.2 var(--cond);text-transform:uppercase;display:block}
.btn{display:inline-block;background:var(--crimson);color:var(--white);text-decoration:none;padding:13px 20px;font-weight:700;font-size:13px;letter-spacing:.1em;border-radius:2px;border:1px solid var(--crimson);text-transform:uppercase;white-space:nowrap;cursor:pointer;font-family:var(--sans)}
.btn:hover{background:var(--crimson-dark);color:var(--white)}
.btn.ghost{background:transparent;color:var(--crimson)}
.btn.ghost:hover{background:var(--crimson);color:var(--white)}
.btn .ext{display:inline-block;margin-left:6px;font-weight:400}
.faq{display:grid;gap:10px;max-width:820px}
.faq details{border:1px solid var(--line);padding:14px 18px}
.faq summary{cursor:pointer;font-weight:500}
.faq p{margin:10px 0 0;color:#444}

/* Directory layout */
.dir{padding-block:32px 0;display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start}
.filters{flex:1 1 230px;max-width:280px;display:flex;flex-direction:column;gap:24px}
.filters fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.filters legend{font-size:13px;font-weight:700;letter-spacing:.1em;border-left:5px solid var(--crimson);padding-left:10px;margin-bottom:6px}
.filters label{display:flex;gap:10px;align-items:center;font-size:15px}
.filters input{width:18px;height:18px;accent-color:var(--crimson)}
.side{background:var(--soft);padding:18px;display:flex;flex-direction:column;gap:8px;font-size:14px}
.results{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:18px}
.toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:14px;font-size:15px;color:#444}
.toolbar select{height:40px;padding:0 10px;font:14px var(--sans);border:1px solid #C9C9C9;background:var(--white);color:var(--ink)}
.gap-note{background:var(--soft);border-left:5px solid var(--crimson);padding:14px 18px;font-size:15px}
.card{box-shadow:0 4px 16px rgba(0,0,0,.09);padding:24px;display:flex;flex-wrap:wrap;gap:22px;background:var(--white)}
.mono{width:88px;height:88px;flex:0 0 88px;background:var(--soft);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font:700 30px var(--cond);color:var(--crimson)}
.card-main{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:10px}
.card-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:flex-start}
.card h2{margin:0;font-size:21px;line-height:1.3}
.card h2 a{color:var(--ink);text-decoration:none}
.card h2 a:hover{color:var(--crimson)}
.maker{font-size:14px;color:var(--muted)}
.badge{background:var(--crimson);color:var(--white);font-size:12px;font-weight:700;padding:6px 11px;letter-spacing:.05em;white-space:nowrap}
.badge.none{background:var(--soft);color:var(--muted)}
.card p{margin:0;color:var(--body)}
.meta{display:flex;flex-wrap:wrap;gap:4px 24px;font-size:14px}
.meta span span{color:var(--muted)}
.lbl{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--muted)}
.vr{font-size:12px;color:var(--muted)}
.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* Listing page */
.l-head{padding-block:28px 36px;display:flex;flex-wrap:wrap;align-items:center;gap:24px}
.l-head .mono{width:104px;height:104px;flex-basis:104px;background:var(--white);border:0;font-size:36px}
.l-title{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:6px}
.l-title h1{margin:0;font:700 clamp(28px,4vw,42px)/1.06 var(--cond);text-transform:uppercase}
.l-title span{color:var(--crimson-tint);font-size:17px}
.band .btn{background:var(--white);color:var(--crimson);border-color:var(--white)}
.band .btn:hover{background:var(--crimson-tint)}
.l-body{padding-block:36px 0;display:flex;flex-wrap:wrap;gap:36px;align-items:flex-start}
.l-main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:36px}
.l-main section{display:flex;flex-direction:column;gap:12px}
.l-main p{margin:0;max-width:720px;color:var(--body)}
.tbl{overflow-x:auto;border:1px solid var(--line)}
.tbl table{width:100%;border-collapse:collapse;font-size:15px;min-width:520px}
.tbl th{background:var(--soft);text-align:left;padding:12px 16px;font-size:12px;letter-spacing:.1em}
.tbl td{padding:14px 16px;border-top:1px solid var(--line);vertical-align:top}
.facts{margin:0;padding-left:20px;color:var(--body)}
.glance{flex:1 1 280px;max-width:340px;display:flex;flex-direction:column;gap:20px}
.glance-box{box-shadow:0 4px 16px rgba(0,0,0,.09);border-top:6px solid var(--crimson);padding:22px;display:flex;flex-direction:column;gap:12px}
.glance dl{margin:0;display:grid;grid-template-columns:max-content 1fr;gap:10px 14px;font-size:14px}
.glance dt{color:var(--muted)}
.glance dd{margin:0;min-width:0;overflow-wrap:anywhere}
.claim{background:var(--soft);padding:26px}
.claim p{margin:6px 0 0}
.claim code{font:15px ui-monospace,Menlo,Consolas,monospace;background:var(--white);padding:3px 8px;user-select:all}

/* Briefing page */
.points{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px}
.points div{border-left:4px solid var(--crimson);background:var(--soft);padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.points strong{font-size:15px}
.points span{font-size:15px;color:var(--body)}
.figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px}
.figs a{display:flex;flex-direction:column;gap:6px;padding:18px;box-shadow:0 4px 16px rgba(0,0,0,.09);text-decoration:none;color:var(--body)}
.figs strong{font:700 36px/1 var(--cond);color:var(--crimson)}
.figs span{font-size:14px}
.timeline{list-style:none;margin:0;padding:0;border-left:3px solid var(--crimson)}
.timeline li{display:grid;grid-template-columns:130px minmax(0,1fr);gap:4px 18px;padding:8px 0 8px 18px;font-size:15px}
.timeline li strong{font-family:var(--cond);color:var(--crimson-dark)}
.timeline li.next strong::after{content:" ●";color:var(--crimson)}
@media (max-width:640px){.timeline li{grid-template-columns:1fr}}
.watch{margin:0;padding-left:20px;color:var(--body);display:flex;flex-direction:column;gap:6px}
.srcs{margin:0;padding-left:20px;font-size:14px;display:flex;flex-direction:column;gap:6px}
.note-box{background:var(--crimson-tint);border-left:5px solid var(--crimson);padding:14px 18px;font-size:15px;color:var(--crimson-dark)}

/* Links page */
.link-groups{padding-block:32px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:32px}
.link-group{display:flex;flex-direction:column;gap:14px}
.link-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.link-list li{padding-left:14px;border-left:3px solid var(--crimson);display:flex;flex-direction:column}
.link-list a{font-weight:500}
.link-list .by{font-size:13px;color:var(--muted)}
.link-list .note{font-size:14px;color:#444}

/* Leaving-site notice */
dialog.leave{border:0;padding:0;max-width:min(520px,calc(100vw - 32px));width:100%;box-shadow:0 20px 60px rgba(0,0,0,.35);border-top:6px solid var(--crimson);color:var(--ink);background:var(--white)}
dialog.leave::backdrop{background:rgba(30,10,12,.55)}
.leave-in{padding:26px 26px 22px;display:flex;flex-direction:column;gap:14px}
.leave-in h2{margin:0;font:700 24px/1.15 var(--cond);text-transform:uppercase}
.leave-in p{margin:0;font-size:15px;color:var(--body)}
.leave-in .dest{font-weight:700;overflow-wrap:anywhere;color:var(--ink)}
.leave-in .btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:6px}

/* Footer */
.foot{background:var(--crimson-dark);color:var(--crimson-tint);margin-top:64px;font-size:14px}
.foot .wrap{padding-block:36px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px}
.foot p{margin:6px 0 0;max-width:600px}
.foot strong{color:var(--white);letter-spacing:.08em}
.foot nav{display:flex;flex-wrap:wrap;gap:16px 22px;letter-spacing:.08em}
.foot a{color:var(--white);text-decoration:none;text-transform:uppercase}
.foot a:hover{text-decoration:underline;color:var(--white)}

@media (max-width:640px){
  .hero{padding-block:40px 100px}
  .nav{gap:8px 16px;font-size:13px}
  .search button{flex:1 1 100%;border-radius:0 0 2px 2px}
  .search input{border-radius:2px 2px 0 0}
  .filters{max-width:none}
  .glance{max-width:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.glance .timeline li{grid-template-columns:1fr;gap:2px}
