/* Celebrity Express Limousine — Style M (Modern Minimal) */

*{box-sizing:border-box;margin:0;padding:0}

html{-webkit-text-size-adjust:100%}

body{
  background:#ffffff;
  color:#000000;
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-weight:300;
  font-size:17px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;height:auto;display:block}

.container{max-width:960px;margin:0 auto;padding:0 24px}

h1{font-weight:200;letter-spacing:-0.5px;line-height:1.15}
h2{font-weight:300;letter-spacing:-0.3px;line-height:1.25}
h3{font-weight:300}

a{color:#000;text-decoration:underline;transition:opacity .2s}
a:hover{opacity:0.5}

/* ---------- Header ---------- */
.site-header{position:relative;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2758%27%20height%3D%2758%27%3E%3Cpath%20d%3D%27M12%2017.27L18.18%2021l-1.64-7.03L22%209.24l-7.19-.61L12%202%209.19%208.63%202%209.24l5.46%204.73L5.82%2021z%27%20transform%3D%27translate%2817%2C17%29%27%20fill%3D%27%23000000%27%20opacity%3D%270.035%27/%3E%3C/svg%3E") repeat,linear-gradient(180deg,#ffffff,#f1f1f2);border-bottom:1px solid #ececec;padding:32px 0 24px}
.header-inner{display:flex;flex-direction:column;align-items:center}
.site-brand{text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:10px}
.site-brand:hover{opacity:1}
.site-logo img{max-width:100%;height:auto}
.brand-icon{display:block}

.site-title{display:block;font-size:20px;font-weight:300;letter-spacing:3px;text-transform:uppercase;color:#111;text-align:center;line-height:1.2}
.site-tagline{display:block;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#8a8a8a;text-align:center;margin-top:5px}

.nav-menu{
  display:flex;
  gap:32px;
  margin-top:24px;
  justify-content:center;
  flex-wrap:wrap;
}
.nav-menu a{
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:11px;
  font-weight:400;
  text-decoration:none;
  color:#000;
}
.nav-menu a:hover{opacity:0.5}

.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px}
.menu-toggle span{display:block;width:24px;height:2px;background:#000;margin:5px 0;transition:all .3s}
.menu-toggle.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.menu-toggle.open span:nth-child(2){opacity:0}
.menu-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ---------- Hero (Style 3 — full-bleed image) ---------- */
.hero{
  position:relative;
  min-height:460px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  background-image:url('/images/hero.webp');
  background-size:cover;
  background-position:center;
  background-color:#f0f0f0;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.5);
}
.hero .container{position:relative;z-index:1}
.hero h1{color:#fff;font-size:52px;margin-bottom:16px}
.hero p{color:#fff;font-style:italic;font-weight:300;font-size:20px;letter-spacing:0.5px}

/* ---------- Homepage ---------- */
.section{padding:64px 0}
.section-label{
  text-transform:uppercase;
  letter-spacing:3px;
  font-size:11px;
  font-weight:400;
  margin-bottom:32px;
  color:#000;
}

.featured{margin-bottom:64px}
.featured .card-image{margin-bottom:24px}
.featured .card-cat{text-transform:uppercase;letter-spacing:3px;font-size:11px;margin-bottom:12px}
.featured h2{font-size:38px;margin-bottom:16px}
.featured h2 a{text-decoration:none}
.featured p{font-weight:300;color:#000;max-width:680px}

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

.card{display:block}
.card-image{
  width:100%;
  aspect-ratio:3/2;
  overflow:hidden;
  background:#f0f0f0;
  margin-bottom:18px;
  border-radius:0;
}
.card-image img{width:100%;height:100%;object-fit:cover}
.card-cat{
  text-transform:uppercase;
  letter-spacing:3px;
  font-size:11px;
  font-weight:400;
  margin-bottom:10px;
}
.card-title{font-size:21px;font-weight:300;line-height:1.3;margin-bottom:8px}
.card-title a{text-decoration:none}
.card-meta{font-size:12px;letter-spacing:1px;color:#555;text-transform:uppercase}

/* ---------- Article ---------- */
.article{max-width:680px;margin:0 auto;padding:56px 24px 80px}
.article-cat{text-transform:uppercase;letter-spacing:3px;font-size:11px;margin-bottom:18px}
.article h1{font-size:40px;margin-bottom:18px}
.article-meta{font-size:12px;letter-spacing:1px;color:#555;text-transform:uppercase;margin-bottom:36px}
.article-image{
  width:100%;
  aspect-ratio:3/2;
  overflow:hidden;
  background:#f0f0f0;
  margin-bottom:40px;
}
.article-image img{width:100%;height:100%;object-fit:cover}

.article-content p{margin-bottom:24px}
.article-content h2{font-size:26px;margin:40px 0 18px}
.article-content a{color:#000;text-decoration:underline;text-decoration-color:#000;text-underline-offset:3px}
.article-content a:hover{opacity:0.5}

/* ---------- Related posts ---------- */
.related{max-width:960px;margin:0 auto;padding:0 24px 80px}
.related .section-label{margin-bottom:32px}
.related .grid{gap:40px 40px}

/* ---------- Standard pages ---------- */
.page{max-width:680px;margin:0 auto;padding:56px 24px 80px}
.page h1{font-size:40px;margin-bottom:28px}
.page h2{font-size:24px;margin:36px 0 14px}
.page p{margin-bottom:22px}
.page .updated{font-size:12px;letter-spacing:1px;color:#555;text-transform:uppercase;margin-bottom:32px}

/* ---------- Footer ---------- */
.site-footer{
  border-top:none;
  padding:64px 24px;
  text-align:center;
  margin-top:32px;
}
.site-footer .footer-logo .brand-icon{display:block;margin:0 auto 18px}
.site-footer .copyright{font-size:12px;letter-spacing:1px;color:#555;text-transform:uppercase}

/* ---------- Category page ---------- */
.cat-head{text-align:center;padding:56px 24px 28px;margin-bottom:8px;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2758%27%20height%3D%2758%27%3E%3Cpath%20d%3D%27M12%2017.27L18.18%2021l-1.64-7.03L22%209.24l-7.19-.61L12%202%209.19%208.63%202%209.24l5.46%204.73L5.82%2021z%27%20transform%3D%27translate%2817%2C17%29%27%20fill%3D%27%23000000%27%20opacity%3D%270.035%27/%3E%3C/svg%3E") repeat,linear-gradient(180deg,#fafafa,#ffffff);border-bottom:1px solid #ececec}
.cat-head .section-label{margin-bottom:14px}
.cat-head h1{font-size:42px}
.cat-head p{font-weight:300;color:#000;max-width:560px;margin:18px auto 0}

/* ---------- Mobile ---------- */
@media(max-width:768px){
  .menu-toggle{display:block;position:absolute;left:24px;top:32px}
  .nav-menu{display:none;flex-direction:column;width:100%;gap:0;padding:12px 0;margin-top:20px}
  .nav-menu.open{display:flex}
  .nav-menu a{padding:12px 0;border-bottom:1px solid #eee;text-align:center}
  .site-header{position:relative}
  .grid{grid-template-columns:1fr;gap:40px}
  .hero h1{font-size:36px}
  .hero p{font-size:17px}
  .featured h2{font-size:28px}
  .article h1{font-size:30px}
  .page h1{font-size:30px}
}
