*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Helvetica Neue',Arial,sans-serif;color:var(--clr-ink);background:var(--clr-bg);line-height:1.5;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
img{max-width:100%;display:block;}
.container{max-width:1280px;margin:0 auto;padding:0 24px;}

/* top promo bar */
.promo-bar{background:var(--clr-accent);color:var(--clr-white);text-align:center;font-size:13px;font-weight:700;letter-spacing:.04em;padding:9px 16px;text-transform:uppercase;}

/* header */
.site-header{background:var(--clr-header);color:var(--clr-white);}
.header-inner{display:flex;align-items:center;gap:32px;padding:18px 24px;max-width:1280px;margin:0 auto;}
.header-logo{font-family:Georgia,serif;font-weight:800;font-size:24px;letter-spacing:.02em;color:var(--clr-white);white-space:nowrap;}
.header-logo span{color:var(--clr-accent);}
.header-search{flex:1;display:flex;max-width:640px;}
.header-search input{flex:1;border:none;padding:12px 16px;font-size:14px;background:var(--clr-white);color:var(--clr-ink);}
.header-search button{background:var(--clr-accent);border:none;color:var(--clr-white);padding:0 20px;cursor:pointer;font-weight:700;}
.header-actions{display:flex;gap:20px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;}

.main-nav{background:var(--clr-header-alt);}
.main-nav .header-inner{padding:0 24px;gap:0;}
.nav-link{display:inline-block;padding:16px 20px;font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--clr-white);}
.nav-link:hover{color:var(--clr-accent);}

.util-bar{background:var(--clr-bg-alt);border-bottom:1px solid var(--clr-line);}
.util-inner{display:flex;justify-content:space-between;align-items:center;padding:10px 24px;max-width:1280px;margin:0 auto;font-size:12px;color:var(--clr-ink-soft);}
.util-links{display:flex;gap:20px;flex-wrap:wrap;}
.util-links a:hover{color:var(--clr-accent);}

/* hero carousel */
.hero{position:relative;height:520px;overflow:hidden;background:var(--clr-ink);}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;display:flex;align-items:center;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,29,33,.65) 0%,rgba(26,29,33,.15) 55%,rgba(26,29,33,0) 100%);}
.hero-content{position:relative;z-index:2;padding:0 60px;color:var(--clr-white);max-width:520px;}
.hero-tag{color:var(--clr-accent);font-weight:800;font-size:15px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;}
.hero-title{font-family:Georgia,serif;font-size:44px;font-weight:800;line-height:1.1;margin-bottom:16px;}
.hero-sub{font-size:16px;margin-bottom:24px;color:#e6e3dc;}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;z-index:3;}
.hero-arrow.left{left:24px;}
.hero-arrow.right{right:24px;}
.hero-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:3;}
.hero-dots span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.5);}
.hero-dots span.active{background:var(--clr-accent);}

/* three promo cards */
.promo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:56px 0;}
.promo-card{position:relative;height:340px;border-radius:2px;overflow:hidden;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:24px;color:var(--clr-white);}
.promo-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,29,33,0) 40%,rgba(26,29,33,.75) 100%);}
.promo-card-inner{position:relative;z-index:2;}
.promo-card-eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--clr-gold);margin-bottom:6px;}
.promo-card-title{font-family:Georgia,serif;font-size:24px;font-weight:800;}

/* dual feature blocks */
.feature-dual{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-bottom:56px;}
.feature-block{position:relative;height:300px;overflow:hidden;background-size:cover;background-position:center;display:flex;align-items:flex-end;}
.feature-block::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,29,33,0) 45%,rgba(26,29,33,.85) 100%);}
.feature-block-title{position:relative;z-index:2;color:var(--clr-white);font-family:Georgia,serif;font-size:22px;font-weight:800;padding:20px 24px;}

/* category grid */
.section-title{font-family:Georgia,serif;font-size:28px;font-weight:800;text-align:center;padding-top:56px;margin-bottom:36px;}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 24px;padding-bottom:56px;}
.cat-card{text-align:center;}
.cat-card-img{height:220px;border-radius:2px;background-size:cover;background-position:center;margin-bottom:18px;background-color:var(--clr-bg-alt);}
.cat-card-title{font-weight:800;font-size:16px;letter-spacing:.03em;text-transform:uppercase;margin-bottom:14px;}
.cat-card-btn{display:inline-block;border:1px solid var(--clr-ink);padding:9px 22px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;}
.cat-card-btn:hover{background:var(--clr-ink);color:var(--clr-white);}

/* newsletter */
.newsletter{background:var(--clr-bg-alt);padding:56px 0;text-align:center;}
.newsletter-title{font-family:Georgia,serif;font-size:26px;font-weight:800;margin-bottom:12px;}
.newsletter-desc{max-width:560px;margin:0 auto 24px;color:var(--clr-ink-soft);font-size:15px;}
.newsletter-form{display:flex;justify-content:center;gap:0;max-width:480px;margin:0 auto;}
.newsletter-form input{flex:1;border:1px solid var(--clr-line);padding:13px 16px;font-size:14px;}
.newsletter-form button{background:var(--clr-accent);color:var(--clr-white);border:none;padding:0 28px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:13px;cursor:pointer;}

/* trust badges */
.trust-row{display:flex;justify-content:center;align-items:center;gap:32px;padding:40px 0;flex-wrap:wrap;}
.trust-item{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;color:var(--clr-ink-soft);text-align:center;}
.trust-badge{width:64px;height:64px;border-radius:50%;background:var(--clr-bg-alt);border:2px solid var(--clr-gold);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:var(--clr-ink);}

/* footer */
.site-footer{background:var(--clr-header);color:#c7c4bc;padding-top:48px;}
.footer-inner{max-width:900px;margin:0 auto;padding:24px;text-align:center;}
.footer-nav-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;max-width:1280px;margin:0 auto;padding:0 24px 40px;}
.footer-col-title{color:var(--clr-white);font-weight:800;font-size:14px;letter-spacing:.03em;text-transform:uppercase;margin-bottom:16px;}
.footer-col a{display:block;font-size:13px;color:#a9a69f;padding:5px 0;}
.footer-col a:hover{color:var(--clr-accent);}
.footer-bottom{border-top:1px solid #33373d;max-width:900px;margin:0 auto;padding:20px 24px;text-align:center;font-size:12px;color:#8a8780;}

@media(max-width:900px){
  .header-inner{flex-wrap:wrap;}
  .promo-grid,.cat-grid{grid-template-columns:1fr 1fr;}
  .feature-dual{grid-template-columns:1fr;}
  .footer-nav-inner{grid-template-columns:1fr 1fr;}
  .hero-title{font-size:30px;}
}
@media(max-width:600px){
  .promo-grid,.cat-grid{grid-template-columns:1fr;}
  .footer-nav-inner{grid-template-columns:1fr;}
  .util-inner{flex-direction:column;gap:8px;align-items:flex-start;}
}
