/* =========================================================================
   1. VARIABLES
   Brand palette: royal blue (#2563EB) + accent orange (#F97316), on a
   cool slate background. Merriweather headings, Inter body.
   ========================================================================= */
:root{
  --primary:#2563EB;
  --primary-dark:#1E3A8A;
  --primary-light:#EEF4FF;
  --secondary:#F97316;
  --secondary-hover:#EA580C;
  --secondary-light:#FFEDD5;
  --accent:#EA580C;
  --bg:#F8FAFC;
  --surface:#FFFFFF;
  --surface-alt:#EEF4FF;
  --hero-overlay:#0F172A;
  --text:#0F172A;
  --text-body:#334155;
  --text-muted:#475569;
  --text-light:#94A3B8;
  --border:#E2E8F0;
  --success:#16A34A;
  --warning:#D97706;
  --danger:#DC2626;
  --logo-blue:#2563EB;
  --logo-orange:#F97316;
  --radius-sm:.6rem;
  --radius-md:1.4rem;
  --radius-lg:2.2rem;
  --shadow-sm:0 .2rem .6rem rgba(15,23,42,.06);
  --shadow-md:0 1rem 3rem rgba(15,23,42,.12);
  --font-display:'Merriweather', serif;
  --font-body:'Inter', sans-serif;
  --font-mono:'IBM Plex Mono', monospace;
  --gap-xs:.6rem;
  --gap-sm:1.2rem;
  --gap-md:2rem;
  --gap-lg:3.2rem;
  --gap-xl:5rem;
  --container:132rem;
}
/* =========================================================================
   2. RESET
   ========================================================================= */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:62.5%;scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  font-size:1.8rem;
  line-height:1.7;
  color:var(--text-body);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit;}
ul{list-style:none;}
input{font:inherit;}
:focus-visible{outline:.2rem solid var(--secondary);outline-offset:.2rem;}
.container{max-width:var(--container);margin-inline:auto;padding-inline:2.4rem;}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
/* body dark-mode hook (UI toggle only, wired for future theme swap) */
body.dark{
  --bg:#0B1120;
  --surface:#0F1B33;
  --surface-alt:#16264A;
  --text:#EAF0FB;
  --text-body:#CBD5E1;
  --text-muted:#93A0BD;
  --text-light:#64748B;
  --border:#1E2D4C;
  --primary-light:#16264A;
  --secondary-light:#2E230F;
}
/* =========================================================================
   3. TYPOGRAPHY
   ========================================================================= */
h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;color:var(--text);letter-spacing:-.01em;}
h1{font-size:clamp(3.2rem,5vw,5.6rem);line-height:1.15;}
h2{font-size:clamp(2.4rem,3vw,3.4rem);line-height:1.2;}
h3{font-size:2rem;}
p{color:var(--text-muted);}
.eyebrow{
  font-family:var(--font-mono);
  font-size:1.2rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--primary);
  font-weight:600; 
}
.data-figure{font-family:var(--font-mono);font-weight:600;}
/* =========================================================================
   4. LAYOUT / SECTION HEADER
   ========================================================================= */
/* section{padding-block:var(--gap-xl);} */
#calculator { padding-block:1rem;}
#updates { padding-block:3rem;}
.section-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:var(--gap-md);
  margin-bottom:var(--gap-xs);
}
.section-head .titles p{margin-top:.6rem;max-width:52rem;}
.section-head .view-all{
  font-weight:600;color:var(--primary);white-space:nowrap;
  display:inline-flex;align-items:center;gap:.5rem;
}
.section-head .view-all svg{width:1.6rem;height:1.6rem;transition:transform .2s;}
.section-head .view-all:hover svg{transform:translateX(.3rem);}
.grid{display:grid;gap:var(--gap-md);}
.calc-more-row{display:flex;justify-content:center;margin-top:var(--gap-lg);}
.calc-more-btn{display:inline-flex;align-items:center;gap:.6rem;white-space:nowrap;}
.calc-more-btn svg{width:1.8rem;height:1.8rem;transition:transform .2s;}
.calc-more-btn:hover svg{transform:translateX(.3rem);}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-5{grid-template-columns:repeat(5,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
.scroll-row{
  display:flex;gap:var(--gap-md);overflow-x:auto;padding-bottom:1rem;
  scroll-snap-type:x proximity;
}
.scroll-row::-webkit-scrollbar{height:.6rem;}
.scroll-row::-webkit-scrollbar-thumb{background:var(--border);border-radius:1rem;}
.scroll-row>*{scroll-snap-align:start;flex:0 0 auto;}
/* =========================================================================
   5. GOPURAM DIVIDER — signature element
   ========================================================================= */
/* .gopuram-divider{
  height:2.4rem;
  width:100%;
  background:
    linear-gradient(var(--secondary),var(--secondary)) 0 0/20% 100% no-repeat,
    linear-gradient(var(--secondary),var(--secondary)) 20% 30%/20% 70% no-repeat,
    linear-gradient(var(--secondary),var(--secondary)) 40% 55%/20% 45% no-repeat,
    linear-gradient(var(--secondary),var(--secondary)) 60% 30%/20% 70% no-repeat,
    linear-gradient(var(--secondary),var(--secondary)) 80% 0/20% 100% no-repeat;
  opacity:.9;
} */
/* =========================================================================
   6. BUTTONS
   ========================================================================= */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.8rem;
  padding:1.1rem 2.2rem;border-radius:var(--radius-sm);
  font-weight:600;font-size:1.5rem;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
}
.btn-primary{background:var(--primary);color:#fff;}
.btn-primary:hover{background:var(--primary-dark);box-shadow:var(--shadow-sm);}
.btn-secondary{background:var(--secondary);color:#fff;}
.btn-secondary:hover{background:var(--secondary-hover);box-shadow:var(--shadow-sm);}
.btn-outline{background:transparent;border:.15rem solid var(--border);color:var(--text);}
.btn-outline:hover{border-color:var(--primary);color:var(--primary);}
.btn-sm{padding:.8rem 1.6rem;font-size:1.3rem;}
.btn-icon{
  width:4rem;height:4rem;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--primary-light);color:var(--primary);
}
/* =========================================================================
   7. CARDS
   ========================================================================= */
.card{
  background:var(--surface);
  border:.1rem solid var(--border);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-sm);
  transition:box-shadow .2s ease,transform .2s ease;
}
.card:hover{box-shadow:var(--shadow-md);transform:translateY(-.3rem);}
/* live-update / rate card */
.rate-card{padding:1.8rem;min-width:17rem;display:flex;flex-direction:column;gap:1rem;}
.rate-card .rate-top{display:flex;align-items:center;justify-content:space-between;}
.rate-card .rate-icon{
  width:3.6rem;height:3.6rem;border-radius:50%;
  background:var(--primary-light);color:var(--primary);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.rate-card .rate-label{font-size:1.3rem;color:var(--text-muted);font-weight:500;}
.rate-card .rate-value{font-family:var(--font-mono);font-size:2.2rem;font-weight:600;color:var(--text);}
.rate-card .rate-trend{font-size:1.2rem;font-weight:600;display:inline-flex;align-items:center;gap:.3rem;}
.trend-up{color:var(--danger);}
.trend-down{color:var(--success);}
.rate-card .rate-updated{font-size:1.1rem;color:var(--text-light);}
/* badges / tags */
.badge{
  display:inline-block;padding:.4rem 1.1rem;border-radius:10rem;
  font-size:1.1rem;font-weight:600;letter-spacing:.02em;
}
.badge-primary{background:var(--primary-light);color:var(--primary);}
.badge-gold{background:var(--secondary-light);color:var(--secondary-hover);}
.badge-danger{background:#FEE2E2;color:var(--danger);}
.chip{
  padding:.9rem 1.8rem;border-radius:10rem;border:.1rem solid var(--border);
  background:var(--surface);font-size:1.4rem;font-weight:500;color:var(--text);
  transition:background .2s, color .2s, border-color .2s;
}
.chip:hover{background:var(--primary);color:#fff;border-color:var(--primary);}
/* update card (weather/AQI/traffic etc.) */
.update-card{padding:2rem;display:flex;flex-direction:column;gap:1.2rem;}
.update-card .u-head{display:flex;align-items:center;gap:1.2rem;}
.update-card .u-icon{
  width:4.4rem;height:4.4rem;border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;
  background:var(--primary-light);color:var(--primary);flex-shrink:0;
}
.update-card .u-title{font-weight:600;font-size:1.5rem;}
.update-card .u-value{font-family:var(--font-mono);font-size:2rem;font-weight:600;}
.update-card .u-sub{font-size:1.3rem;color:var(--text-muted);}
/* calculator card */
.calc-card{padding:2.2rem;display:flex;flex-direction:column;gap:1.2rem;}
.calc-card .calc-icon{
  width:5rem;height:5rem;border-radius:var(--radius-sm);
  background:var(--secondary-light);color:var(--secondary-hover);
  display:flex;align-items:center;justify-content:center;
}
.calc-card h3{font-size:1.8rem;}
.calc-card p{font-size:1.35rem;}
.calc-card .btn{align-self:flex-start;margin-top:.4rem;}
.calc-card .calc-cat{align-self:flex-start;}
/* calculator category blocks (homepage) */
.calc-cat-block{margin-bottom:var(--gap-lg);}
.calc-cat-block:last-child{margin-bottom:0;}
.calc-cat-head{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-md);margin-bottom:var(--gap-sm);}
.calc-cat-head .cat-title{display:flex;align-items:center;gap:1.2rem;}
.calc-cat-head .cat-icon{
  width:4.2rem;height:4.2rem;border-radius:var(--radius-sm);flex-shrink:0;
  background:var(--secondary-light);color:var(--secondary-hover);
  display:flex;align-items:center;justify-content:center;
}
.calc-cat-head h3{font-size:2rem;}
.calc-cat-head .more-link{
  font-weight:600;color:var(--primary);white-space:nowrap;font-size:1.4rem;
  display:inline-flex;align-items:center;gap:.4rem;
}
.calc-cat-head .more-link svg{width:1.5rem;height:1.5rem;transition:transform .2s;}
.calc-cat-head .more-link:hover svg{transform:translateX(.3rem);}
/* news card */
.news-card{overflow:hidden;display:flex;flex-direction:column;}
.news-card .news-media{position:relative;aspect-ratio:4/3;background:var(--primary-light);overflow:hidden;}
.news-card .news-media img{width:100%;height:100%;object-fit:cover;}
.news-card .news-media .badge{position:absolute;top:1.2rem;left:1.2rem;}
.news-card .news-body{padding:1.8rem;display:flex;flex-direction:column;gap:.8rem;flex:1;}
.news-card .news-meta{display:flex;gap:1rem;font-size:1.2rem;color:var(--text-light);}
.news-card h3{font-size:1.7rem;line-height:1.35;}
.news-card .news-desc{font-size:1.35rem;}
.news-card .read-more{margin-top:auto;font-weight:600;color:var(--primary);font-size:1.3rem;}
/* service tile */
.service-tile{
  padding:1.6rem;display:flex;flex-direction:column;align-items:center;gap:.9rem;text-align:center;
}
.service-tile .s-icon{
  width:4.6rem;height:4.6rem;border-radius:50%;
  background:var(--primary-light);color:var(--primary);
  display:flex;align-items:center;justify-content:center;
}
.service-tile span{font-size:1.3rem;font-weight:500;color:var(--text);}
/* price-history / chart container */
.chart-card{padding:2rem;}
.chart-card .chart-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1.6rem;}
.chart-card .chart-current{font-family:var(--font-mono);font-size:2.4rem;font-weight:600;color:var(--text);}
.chart-bars{
  height:14rem;display:flex;align-items:flex-end;gap:.8rem;
  border-bottom:.1rem solid var(--border);padding-bottom:.4rem;
}
.chart-bars .bar{
  flex:1;background:linear-gradient(var(--primary),var(--primary-dark));
  border-radius:.4rem .4rem 0 0;min-height:.4rem;position:relative;
}
.chart-bars .bar.is-peak{background:linear-gradient(var(--secondary),var(--secondary-hover));}
.chart-labels{display:flex;gap:.8rem;margin-top:.8rem;}
.chart-labels span{flex:1;text-align:center;font-size:1.1rem;color:var(--text-light);}
/* =========================================================================
   8. TABLES (directory-style listings)
   ========================================================================= */
.table{width:100%;border-collapse:collapse;}
.table th{text-align:left;font-size:1.2rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:1rem 1.2rem;border-bottom:.1rem solid var(--border);}
.table td{padding:1.2rem;border-bottom:.1rem solid var(--border);font-size:1.4rem;}
.table tr:last-child td{border-bottom:none;}
/* =========================================================================
   9. NAVIGATION / HEADER
   ========================================================================= */
.site-header{
  position:sticky;top:0;z-index:100;background:rgba(248,250,252,.9);
  backdrop-filter:blur(1rem);border-bottom:.1rem solid var(--border);
}
body.dark .site-header{background:rgba(11,17,32,.9);}
.site-header .header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--gap-md);height:8rem;}
.logo{font-family:var(--font-display);font-size:2.4rem;font-weight:900;display:flex;align-items:baseline;gap:.2rem;}
.logo span.wiki{color:var(--logo-blue);}
.logo span.city{color:var(--logo-orange);}
.logo-sub{display:none;font-size:1.1rem;color:var(--text-muted);font-family:var(--font-body);font-weight:400;margin-left:.8rem;}
.main-nav{display:flex;align-items:center;gap:var(--gap-lg);}
.main-nav ul{display:flex;gap:var(--gap-md);}
.main-nav a{font-weight:600;font-size:1.4rem;color:var(--text-muted);position:relative;padding-block:.4rem;}
.main-nav a:hover,.main-nav a.active{color:var(--primary);}
.main-nav a.active::after{content:"";position:absolute;left:0;bottom:-.4rem;width:100%;height:.2rem;background:var(--primary);border-radius:1rem;}
.header-search{
  display:flex;align-items:center;gap:.8rem;background:var(--surface);
  border:.1rem solid var(--border);border-radius:10rem;padding:.6rem 1rem .6rem 1.6rem;
  width:26rem;
}
.header-search input{flex:1;border:none;background:none;font-size:1.4rem;color:var(--text);}
.header-search input::placeholder{color:var(--text-light);}
.header-search button{width:3.4rem;height:3.4rem;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.header-actions{display:flex;align-items:center;gap:1.4rem;}
.icon-btn{width:4rem;height:4rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:background .2s,color .2s;}
.icon-btn:hover{background:var(--primary-light);color:var(--primary);}
.mobile-menu-btn{display:flex;}
/* mobile nav drawer */
.mobile-drawer{
  position:fixed;inset:0 0 0 auto;width:min(32rem,84vw);height:100vh;
  background:var(--surface);box-shadow:var(--shadow-md);
  transform:translateX(100%);transition:transform .3s ease;z-index:200;
  padding:2.4rem;display:flex;flex-direction:column;gap:var(--gap-md);
}
.mobile-drawer.open{transform:translateX(0);}
.mobile-drawer ul{display:flex;flex-direction:column;gap:1.8rem;}
.mobile-drawer a{font-weight:600;font-size:1.8rem;color:var(--text);}
.drawer-backdrop{
  position:fixed;inset:0;background:rgba(15,23,42,.5);opacity:0;pointer-events:none;
  transition:opacity .3s ease;z-index:190;
}
.drawer-backdrop.open{opacity:1;pointer-events:auto;}
/* =========================================================================
   10. HERO
   ========================================================================= */
.hero{
  background:
    linear-gradient(160deg, rgb(106 47 0 / 88%), rgb(75 94 135 / 55%) 72%),
    url('https://wikichennai.com/assets/image/wikibanner.png') center/cover no-repeat;
  color:#fff;padding-block:var(--gap-xl) var(--gap-lg);position:relative;overflow:hidden;
}
.hero::after{
  content:"";position:absolute;right:-8%;top:-20%;width:50rem;height:50rem;
  background:radial-gradient(circle,rgba(37,99,235,.3),transparent 70%);
}
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--gap-xl);align-items:center;position:relative;z-index:1;}
.hero-copy .eyebrow{color:var(--secondary);}
.hero-copy .eyebrow-loc{display:inline-flex;align-items:center;gap:.6rem;}
.hero-copy .eyebrow-loc svg{width:1.6rem;height:1.6rem;color:var(--secondary);}
.hero-copy h1{color:#fff;margin-top:1rem;}
.hero-copy h1 em{font-style:normal;color:var(--secondary);}
.hero-copy p{color:rgba(255,255,255,.82);max-width:46rem;margin-top:1.4rem;font-size:1.7rem;}
.hero-datetime{display:flex;gap:1.6rem;margin-top:var(--gap-md);flex-wrap:wrap;}
.dt-pill{display:flex;align-items:center;gap:1.1rem;background:rgba(255,255,255,.08);border:.1rem solid rgba(255,255,255,.18);border-radius:1.2rem;padding:1rem 1.6rem;}
.dt-ico{color:var(--secondary);display:flex;flex-shrink:0;}
.dt-ico svg{width:2rem;height:2rem;}
.dt-time{display:flex;flex-direction:column;line-height:1.2;}
.dt-value{font-family:var(--font-mono);font-size:1.8rem;font-weight:600;color:#fff;}
.dt-label{font-size:1.05rem;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.12em;}
.hero-search{
  margin-top:var(--gap-lg);display:flex;background:rgba(255,255,255,.1);
  border:.1rem solid rgba(255,255,255,.28);border-radius:10rem;padding:.6rem .6rem .6rem 2rem;max-width:48rem;
}
.hero-search input{flex:1;background:none;border:none;color:#fff;font-size:1.5rem;}
.hero-search input::placeholder{color:rgba(255,255,255,.6);}
.hero-search button{background:var(--primary);color:#fff;border-radius:10rem;padding:1rem 2.2rem;font-weight:700;display:flex;align-items:center;gap:.6rem;transition:background .2s;}
.hero-search button:hover{background:var(--primary-dark);}
/* weather panel inside hero */
.weather-panel{
  position:relative;
  background:rgba(15,23,42,.35);border:.1rem solid rgba(255,255,255,.2);
  border-radius:var(--radius-lg);padding:var(--gap-lg);backdrop-filter:blur(.05rem);
}
.weather-panel .wp-top{display:flex;align-items:center;gap:1.6rem;}
.weather-panel .wp-icon{width:6.4rem;height:6.4rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.weather-panel .wp-icon svg{width:100%;height:auto;}
.weather-panel .wp-headline{flex:1;}
.weather-panel .wp-temp{font-family:var(--font-mono);font-size:5rem;font-weight:600;line-height:1;}
.weather-panel .wp-cond{color:rgba(255,255,255,.78);margin-top:.4rem;}
.weather-panel .wp-loc{display:inline-flex;align-items:center;gap:.4rem;color:rgba(255,255,255,.7);font-size:1.3rem;margin-top:.4rem;}
.weather-panel .wp-loc svg{width:1.4rem;height:1.4rem;color:var(--secondary);}
.wp-live{
  position:absolute;top:var(--gap-lg);right:var(--gap-lg);
  display:inline-flex;align-items:center;gap:.6rem;
  background:rgba(22,163,74,.18);color:#4ADE80;border:.1rem solid rgba(74,222,128,.4);
  padding:.4rem 1.1rem;border-radius:10rem;font-size:1.2rem;font-weight:600;
}
.wp-live-dot{width:.7rem;height:.7rem;border-radius:50%;background:#22C55E;box-shadow:0 0 0 .3rem rgba(34,197,94,.25);}
.wp-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem;margin-top:var(--gap-md);}
.wp-item{display:flex;align-items:center;gap:1rem;}
.wp-item .wp-item-ico{display:flex;flex-shrink:0;}
.wp-item .wp-item-ico svg{width:2rem;height:2rem;}
.wp-item .wp-item-label{font-size:1.2rem;color:rgba(255,255,255,.65);}
.wp-item .wp-item-value{font-family:var(--font-mono);font-weight:600;}
/* =========================================================================
   11. LIVE UPDATE STRIP
   ========================================================================= */
.live-strip{margin-top:calc(var(--gap-xl) * -1 + 2rem);position:relative;z-index:2;padding-bottom:var(--gap-lg);}
.live-strip .scroll-row{padding-top:1rem;}
/* =========================================================================
   12. FOOTER
   ========================================================================= */
.site-footer{background:var(--primary-dark);color:rgba(255,255,255,.7);padding-block:var(--gap-xl) var(--gap-lg);margin-top:var(--gap-xl);}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.3fr;gap:var(--gap-lg);}
.footer-brand .logo{color:#fff;}
.footer-brand .logo span.wiki{color:#93B4FF;}
.footer-brand .logo span.city{color:var(--logo-orange);}
.footer-brand p{color:rgba(255,255,255,.6);margin-top:1.2rem;max-width:26rem;font-size:1.4rem;}
.footer-col h4{color:#fff;font-family:var(--font-body);font-size:1.4rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.6rem;}
.footer-col ul{display:flex;flex-direction:column;gap:1.1rem;font-size:1.4rem;}
.footer-col a:hover{color:#fff;}
.footer-social{display:flex;gap:1rem;margin-top:1.6rem;}
.footer-social a{width:3.8rem;height:3.8rem;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;}
.footer-social a:hover{background:var(--secondary);color:#fff;}
.newsletter-form{display:flex;margin-top:1.4rem;border:.1rem solid rgba(255,255,255,.2);border-radius:10rem;overflow:hidden;}
.newsletter-form input{flex:1;background:none;border:none;padding:1.2rem 1.6rem;color:#fff;font-size:1.4rem;}
.newsletter-form button{background:var(--secondary);color:#fff;padding:0 2rem;font-weight:700;transition:background .2s;}
.newsletter-form button:hover{background:var(--secondary-hover);}
.footer-bottom{
  margin-top:var(--gap-xl);padding-top:var(--gap-md);border-top:.1rem solid rgba(255,255,255,.12);
  display:flex;justify-content:space-between;font-size:1.3rem;color:rgba(255,255,255,.5);
}
/* =========================================================================
   13. UTILITIES
   ========================================================================= */
.mt-lg{margin-top:var(--gap-lg);}
.hide-mobile{display:none;}
.show-mobile{display:flex;}
/* =========================================================================
   14. MEDIA QUERIES
   ========================================================================= */
/* Tablet — 768px */
@media (min-width:48em){
  .hide-mobile{display:flex;}
  .show-mobile{display:none;}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-5{grid-template-columns:repeat(3,1fr);}
  .logo-sub{display:block;}
}
/* Laptop — 1024px */
@media (min-width:64em){
  .main-nav{display:flex;}
  .grid-4{grid-template-columns:repeat(4,1fr);}
  .grid-5{grid-template-columns:repeat(5,1fr);}
  .footer-top{grid-template-columns:1.4fr 1fr 1fr 1fr 1.3fr;}
}
@media (max-width:63.99em){
  .main-nav ul, .main-nav .header-search{display:none;}
  .footer-top{grid-template-columns:1fr 1fr;}
  .hero-inner{grid-template-columns:1fr;}
}
/* Mobile — up to 767px */
@media (max-width:47.99em){
  .grid-4,.grid-5,.grid-2{grid-template-columns:repeat(2,1fr);}
  .wp-grid{grid-template-columns:1fr 1fr;}
  .hero-datetime{flex-wrap:wrap;gap:var(--gap-md);}
  section{padding-block:var(--gap-lg);}
  .footer-top{grid-template-columns:1fr;}
}
@media (max-width:26.5625em){ /* 425px */
  .grid-4,.grid-5,.grid-2{grid-template-columns:1fr 1fr;}
  html{font-size:58%;}
}
@media (max-width:23.4375em){ /* 375px */
  html{font-size:56%;}
}
@media (max-width:20em){ /* 320px */
  html{font-size:52%;}
  .grid-4,.grid-5,.grid-2{grid-template-columns:1fr;}
}
/* Large desktop */
@media (min-width:90em){ /* 1440px */
  html{font-size:64%;}
}
@media (min-width:100em){ /* 1600px */
  :root{--container:148rem;}
}
@media (min-width:120em){ /* 1920px */
  :root{--container:160rem;}
  html{font-size:68%;}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important;scroll-behavior:auto !important;}
}
