
:root{
  --bg:#f8f4ee;
  --surface:#ffffff;
  --text:#171717;
  --muted:#6e6a65;
  --line:#ddd4c9;
  --accent:#7a1f2b;
  --accent-dark:#58141e;
  --shadow:0 16px 40px rgba(23,23,23,.09);
  --radius:20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:var(--bg);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body.lock{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 32px));margin-inline:auto}
.announcement{
  background:#171717;color:white;text-align:center;padding:10px 16px;
  font-size:13px;letter-spacing:.04em
}
.header{
  position:sticky;top:0;z-index:30;background:rgba(248,244,238,.92);
  backdrop-filter:blur(18px);border-bottom:1px solid rgba(221,212,201,.75)
}
.header-inner{
  min-height:78px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px
}
.logo{
  font-family:Georgia,serif;font-size:24px;font-weight:700;letter-spacing:.18em
}
.nav{display:flex;justify-content:center;gap:26px;font-size:14px}
.nav a{position:relative;padding:28px 0}
.nav a:after{
  content:"";position:absolute;left:0;right:100%;bottom:18px;height:2px;background:var(--accent);transition:.25s
}
.nav a:hover:after{right:0}
.header-actions{display:flex;align-items:center;gap:10px}
.icon-btn{
  width:42px;height:42px;border:1px solid var(--line);border-radius:999px;
  background:rgba(255,255,255,.75);display:grid;place-items:center;position:relative
}
.icon-btn:hover{background:white}
.cart-count{
  position:absolute;right:-4px;top:-5px;min-width:20px;height:20px;border-radius:999px;
  padding:0 5px;background:var(--accent);color:#fff;font-size:11px;display:grid;place-items:center
}
.mobile-menu-btn{display:none}
.hero{padding:34px 0 60px}
.hero-grid{
  min-height:610px;display:grid;grid-template-columns:1.05fr .95fr;
  border-radius:32px;overflow:hidden;background:#ece1d4;box-shadow:var(--shadow)
}
.hero-copy{
  padding:76px 64px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start
}
.eyebrow{font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:var(--accent);font-weight:700}
.hero h1{
  font-family:Georgia,serif;font-size:clamp(48px,6vw,82px);line-height:.96;
  margin:22px 0 24px;max-width:650px
}
.hero p{font-size:18px;line-height:1.7;color:var(--muted);max-width:560px;margin:0 0 34px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{
  min-height:50px;padding:0 24px;border-radius:999px;border:1px solid var(--text);
  display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700
}
.btn-primary{background:var(--text);color:white}
.btn-primary:hover{background:var(--accent);border-color:var(--accent)}
.btn-ghost{background:transparent}
.btn-ghost:hover{background:white}
.hero-visual{
  position:relative;isolation:isolate;background:
    radial-gradient(circle at 70% 20%,rgba(122,31,43,.2),transparent 28%),
    linear-gradient(145deg,#d9c8b7,#f8f4ee)
}
.hero-visual:before{
  content:"R";position:absolute;inset:auto 0 -100px auto;font-family:Georgia,serif;
  font-size:520px;color:rgba(122,31,43,.08);z-index:-1;line-height:1
}
.hero-stack{height:100%;display:grid;place-items:center;padding:46px}
.hero-card{
  width:min(430px,90%);aspect-ratio:4/5;border-radius:220px 220px 28px 28px;
  background:linear-gradient(160deg,#181818,#4c3436);position:relative;box-shadow:0 30px 80px rgba(0,0,0,.28)
}
.hero-card:before{
  content:"";position:absolute;width:52%;height:20%;border:18px solid #191919;border-bottom:0;
  border-radius:100px 100px 0 0;top:-11%;left:24%
}
.hero-card:after{
  content:"REDDINGTON";position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);
  color:#efe6dc;font-family:Georgia,serif;letter-spacing:.19em;font-size:26px
}
.trustbar{margin-top:-24px;position:relative;z-index:2}
.trust-grid{
  background:white;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;
  display:grid;grid-template-columns:repeat(4,1fr);padding:20px
}
.trust-item{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 12px}
.trust-item:not(:last-child){border-right:1px solid var(--line)}
.trust-icon{font-size:22px}
.trust-item strong{display:block;font-size:14px}
.trust-item span{font-size:12px;color:var(--muted)}
.section{padding:82px 0}
.section-head{
  display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px
}
.section h2{font-family:Georgia,serif;font-size:clamp(34px,4vw,52px);margin:8px 0 0}
.section-sub{color:var(--muted);max-width:620px;line-height:1.65}
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.category-card{
  min-height:420px;border-radius:26px;padding:28px;position:relative;overflow:hidden;
  display:flex;align-items:flex-end;background:#ddd;box-shadow:var(--shadow)
}
.category-card:before{
  content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.68),transparent 58%)
}
.category-card.bag{background:linear-gradient(145deg,#d9c6b0,#efe9df)}
.category-card.watch{background:linear-gradient(145deg,#b9b9b9,#ececec)}
.category-card.glasses{background:linear-gradient(145deg,#c7a994,#f4e6da)}
.category-art{position:absolute;inset:0;display:grid;place-items:center}
.category-art .shape{transform:scale(.92);transition:.45s}
.category-card:hover .shape{transform:scale(1.02) rotate(-2deg)}
.bag-shape{
  width:210px;height:175px;background:#1d1d1d;border-radius:24px;position:relative;
  box-shadow:0 25px 50px rgba(0,0,0,.22)
}
.bag-shape:before{
  content:"";position:absolute;width:90px;height:70px;border:18px solid #1d1d1d;border-bottom:0;
  border-radius:70px 70px 0 0;left:42px;top:-60px
}
.watch-shape{
  width:150px;height:150px;border-radius:999px;background:#191919;box-shadow:0 25px 50px rgba(0,0,0,.22);
  position:relative;border:20px solid #4a4a4a
}
.watch-shape:before,.watch-shape:after{
  content:"";position:absolute;left:45px;width:20px;height:120px;background:#262626;z-index:-1;border-radius:10px
}
.watch-shape:before{top:-105px}.watch-shape:after{bottom:-105px}
.glasses-shape{width:270px;height:100px;position:relative}
.glasses-shape:before,.glasses-shape:after{
  content:"";position:absolute;top:10px;width:105px;height:78px;border-radius:34px;
  background:rgba(95,34,37,.8);border:10px solid #171717
}
.glasses-shape:before{left:0}.glasses-shape:after{right:0}
.glasses-shape span{position:absolute;width:60px;height:10px;background:#171717;left:105px;top:41px}
.category-content{position:relative;color:white;z-index:2}
.category-content h3{font-size:30px;margin:0 0 8px;font-family:Georgia,serif}
.category-content span{font-size:14px}
.product-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:24px
}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filter-btn{
  border:1px solid var(--line);background:transparent;border-radius:999px;padding:10px 18px;font-weight:700
}
.filter-btn.active,.filter-btn:hover{background:var(--text);color:#fff;border-color:var(--text)}
.search-box{
  min-width:250px;border:1px solid var(--line);border-radius:999px;background:white;
  display:flex;align-items:center;padding:0 14px
}
.search-box input{border:0;outline:0;background:transparent;width:100%;height:44px}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.product-card{
  background:white;border:1px solid var(--line);border-radius:24px;overflow:hidden;
  transition:.25s;position:relative
}
.product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.product-media{background:#eee5db;aspect-ratio:4/3;overflow:hidden;position:relative}
.product-media img{width:100%;height:100%;object-fit:cover;transition:.35s}
.product-card:hover .product-media img{transform:scale(1.035)}
.product-tag{
  position:absolute;left:14px;top:14px;background:white;border-radius:999px;padding:7px 11px;
  font-size:11px;font-weight:800;letter-spacing:.04em
}
.quick-view{
  position:absolute;right:14px;top:14px;width:38px;height:38px;border-radius:999px;border:0;
  background:rgba(255,255,255,.92);display:grid;place-items:center
}
.product-body{padding:20px}
.product-category{font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-weight:800}
.product-name{font-family:Georgia,serif;font-size:21px;margin:8px 0 12px}
.price-row{display:flex;align-items:center;gap:10px}
.price{font-weight:800;font-size:19px}
.old-price{color:#918b85;text-decoration:line-through;font-size:14px}
.add-btn{
  width:100%;margin-top:18px;height:46px;border-radius:12px;border:1px solid var(--text);
  background:var(--text);color:white;font-weight:800
}
.add-btn:hover{background:var(--accent);border-color:var(--accent)}
.story{
  background:#171717;color:white;border-radius:30px;display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden
}
.story-visual{min-height:500px;background:
  radial-gradient(circle at 35% 30%,rgba(122,31,43,.75),transparent 24%),
  linear-gradient(145deg,#36272a,#0e0e0e);display:grid;place-items:center}
.story-mark{font-family:Georgia,serif;font-size:170px;color:rgba(255,255,255,.9)}
.story-copy{padding:70px;display:flex;flex-direction:column;justify-content:center}
.story-copy h2{margin:14px 0 20px}
.story-copy p{color:#cfc7c0;line-height:1.75;font-size:17px}
.newsletter{
  border:1px solid var(--line);background:white;border-radius:28px;padding:52px;
  display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center
}
.newsletter h2{margin:0 0 12px}.newsletter p{color:var(--muted);line-height:1.65}
.newsletter-form{display:flex;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:7px}
.newsletter-form input{flex:1;border:0;outline:0;background:transparent;padding:0 16px;min-width:0}
.newsletter-form button{border:0;border-radius:999px;background:var(--text);color:white;font-weight:800;padding:0 22px}
.footer{background:#111;color:white;padding:60px 0 24px;margin-top:80px}
.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:40px}
.footer-brand{font-family:Georgia,serif;font-size:28px;letter-spacing:.18em}
.footer p,.footer a{color:#bbb3ac;line-height:1.75;font-size:14px}
.footer h4{margin:0 0 18px}
.footer-col{display:flex;flex-direction:column;gap:9px}
.footer-bottom{
  border-top:1px solid #333;margin-top:38px;padding-top:22px;display:flex;justify-content:space-between;
  color:#888;font-size:13px
}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:.25s;z-index:60}
.overlay.show{opacity:1;pointer-events:auto}
.cart-drawer{
  position:fixed;right:0;top:0;height:100%;width:min(440px,100%);background:white;z-index:70;
  transform:translateX(100%);transition:.3s;display:flex;flex-direction:column
}
.cart-drawer.open{transform:translateX(0)}
.drawer-head{padding:22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.drawer-head h3{margin:0;font-family:Georgia,serif;font-size:28px}
.close-btn{width:40px;height:40px;border-radius:999px;border:1px solid var(--line);background:white}
.cart-items{padding:18px;overflow:auto;flex:1}
.cart-empty{text-align:center;color:var(--muted);padding:70px 20px}
.cart-item{display:grid;grid-template-columns:80px 1fr auto;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.cart-item img{width:80px;height:70px;object-fit:cover;border-radius:12px}
.cart-item h4{margin:0 0 6px;font-size:15px}
.cart-item small{color:var(--muted)}
.qty{display:flex;align-items:center;gap:8px;margin-top:8px}
.qty button{width:28px;height:28px;border-radius:8px;border:1px solid var(--line);background:white}
.remove-btn{border:0;background:transparent;color:var(--accent);font-size:12px;padding:0}
.cart-foot{padding:20px;border-top:1px solid var(--line)}
.total-row{display:flex;justify-content:space-between;font-weight:800;font-size:20px;margin-bottom:15px}
.checkout-btn{width:100%;height:52px;border:0;border-radius:14px;background:var(--accent);color:white;font-weight:800}
.modal{
  position:fixed;left:50%;top:50%;transform:translate(-50%,-45%);width:min(850px,calc(100% - 30px));
  background:white;border-radius:26px;z-index:80;opacity:0;pointer-events:none;transition:.25s;overflow:hidden
}
.modal.show{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}
.modal-grid{display:grid;grid-template-columns:1fr 1fr}
.modal-media{background:#eee5db}.modal-media img{width:100%;height:100%;object-fit:cover}
.modal-copy{padding:38px;position:relative}
.modal-copy h3{font-family:Georgia,serif;font-size:34px;margin:8px 0 14px}
.modal-copy p{color:var(--muted);line-height:1.7}
.modal-close{position:absolute;right:18px;top:18px}
.toast{
  position:fixed;left:50%;bottom:30px;transform:translate(-50%,30px);background:#171717;color:white;
  padding:13px 18px;border-radius:999px;opacity:0;pointer-events:none;transition:.25s;z-index:100;font-weight:700
}
.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){
  .nav{display:none}
  .mobile-menu-btn{display:grid}
  .header-inner{grid-template-columns:auto 1fr auto}
  .logo{text-align:center;font-size:19px}
  .hero-grid,.story,.newsletter{grid-template-columns:1fr}
  .hero-copy{padding:56px 34px}
  .hero-visual{min-height:460px}
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .trust-item:nth-child(2){border-right:0}
  .trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .category-grid,.product-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .modal-grid{grid-template-columns:1fr}
  .modal-media{max-height:360px}
}
@media(max-width:620px){
  .container{width:min(100% - 20px,1180px)}
  .announcement{font-size:11px}
  .header-inner{min-height:68px;gap:10px}
  .header-actions .icon-btn:first-child{display:none}
  .hero{padding-top:14px}
  .hero-grid{min-height:0;border-radius:22px}
  .hero-copy{padding:42px 24px}
  .hero h1{font-size:46px}
  .hero p{font-size:16px}
  .hero-visual{min-height:390px}
  .trustbar{margin-top:14px}
  .trust-grid{padding:10px}
  .trust-item{justify-content:flex-start}
  .trust-item span{display:none}
  .section{padding:58px 0}
  .section-head{align-items:flex-start;flex-direction:column}
  .category-grid,.product-grid{grid-template-columns:1fr}
  .category-card{min-height:330px}
  .product-toolbar{align-items:stretch;flex-direction:column}
  .search-box{min-width:0}
  .story-copy{padding:42px 24px}
  .story-visual{min-height:320px}
  .story-mark{font-size:120px}
  .newsletter{padding:34px 20px}
  .newsletter-form{border-radius:18px;display:grid;gap:8px;background:transparent;border:0;padding:0}
  .newsletter-form input{height:50px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}
  .newsletter-form button{height:50px;border-radius:12px}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:8px}
  .modal{max-height:92vh;overflow:auto}
}
