*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#04136a;
  --navy-light:#1a2d8a;
  --white:#ffffff;
  --off-white:#f7f7f7;
  --grey:#666;
  --grey-light:#e5e5e5;
  --text:#333;
  --gold:#c9a96e;
  --font-body:'Georgia','Times New Roman',serif;
  --font-heading:'Georgia','Times New Roman',serif;
  --max-width:1200px;
  --transition:0.3s ease;
}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--text);line-height:1.6;background:var(--white)}
a{color:var(--navy);text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--navy-light)}
img{max-width:100%;height:auto;display:block}
.container{max-width:var(--max-width);margin:0 auto;padding:0 20px}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:400;line-height:1.3}
h1{font-size:2rem;letter-spacing:0.05em}
h2{font-size:1.6rem;letter-spacing:0.04em}
h3{font-size:1.2rem}

/* Announcement Bar */
.announcement-bar{background:var(--navy);color:var(--white);text-align:center;padding:8px 20px;font-size:0.85rem;letter-spacing:0.1em;text-transform:uppercase}
.announcement-bar a{color:var(--white)}

/* Header */
.site-header{background:var(--white);border-bottom:1px solid var(--grey-light);position:sticky;top:0;z-index:100}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;max-width:var(--max-width);margin:0 auto}
.logo img{height:50px;width:auto}
.main-nav{display:flex;gap:0}
.main-nav>li{position:relative;list-style:none}
.main-nav>li>a,.main-nav>li>button{display:block;padding:10px 15px;font-size:0.85rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--text);background:none;border:none;cursor:pointer;font-family:var(--font-body)}
.main-nav>li>a:hover,.main-nav>li>button:hover{color:var(--navy)}
.main-nav>li:hover>.dropdown{display:block}
.dropdown{display:none;position:absolute;top:100%;left:0;background:var(--white);min-width:220px;box-shadow:0 4px 20px rgba(0,0,0,0.1);z-index:200;padding:10px 0;list-style:none}
.dropdown li a{display:block;padding:8px 20px;font-size:0.8rem;color:var(--text);letter-spacing:0.05em}
.dropdown li a:hover{background:var(--off-white);color:var(--navy)}
.header-icons{display:flex;align-items:center;gap:15px}
.header-icons a{color:var(--text);font-size:0.85rem;letter-spacing:0.05em;text-transform:uppercase}
.header-icons a:hover{color:var(--navy)}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:5px}
.menu-toggle span{display:block;width:22px;height:2px;background:var(--text);margin:5px 0;transition:var(--transition)}
.mobile-nav{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:var(--white);z-index:300;padding:60px 30px;overflow-y:auto}
.mobile-nav.active{display:block}
.mobile-nav .close-btn{position:absolute;top:20px;right:20px;background:none;border:none;font-size:1.5rem;cursor:pointer}
.mobile-nav ul{list-style:none}
.mobile-nav>ul>li{border-bottom:1px solid var(--grey-light)}
.mobile-nav>ul>li>a,.mobile-nav .sub-toggle{display:block;padding:15px 0;font-size:0.95rem;letter-spacing:0.05em;text-transform:uppercase;color:var(--text);background:none;border:none;width:100%;text-align:left;cursor:pointer;font-family:var(--font-body)}
.mobile-nav .sub-menu{display:none;padding:0 0 10px 15px}
.mobile-nav .sub-menu.active{display:block}
.mobile-nav .sub-menu a{display:block;padding:8px 0;font-size:0.85rem;color:var(--grey)}

/* Hero / Slideshow */
.slideshow{position:relative;overflow:hidden;height:60vh;min-height:400px}
.slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity 1s ease;background-size:cover;background-position:center}
.slide.active{opacity:1}
.slide-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.25)}
.slide-content{position:absolute;bottom:15%;left:50%;transform:translateX(-50%);text-align:center;color:var(--white);z-index:2}
.slide-content h2{font-size:2.2rem;text-shadow:0 0 4px rgba(0,0,0,0.4);letter-spacing:0.06em;margin-bottom:10px}
.slide-content p{font-size:1rem;text-shadow:0 0 4px rgba(0,0,0,0.4);letter-spacing:0.05em}
.slide-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:5}
.slide-dots button{width:12px;height:12px;border-radius:50%;border:2px solid var(--white);background:transparent;cursor:pointer;transition:var(--transition)}
.slide-dots button.active{background:var(--white)}

/* Product Grid */
.section-title{text-align:center;margin-bottom:30px;text-transform:uppercase;letter-spacing:0.1em}
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;padding:0}
.product-card{text-align:center;position:relative}
.product-card a{display:block;color:var(--text)}
.product-card img{width:100%;aspect-ratio:1;object-fit:cover;transition:opacity var(--transition)}
.product-card:hover img{opacity:0.85}
.product-card .product-title{font-size:0.85rem;margin:12px 0 5px;letter-spacing:0.03em}
.product-card .product-price{font-size:0.85rem;color:var(--grey)}
.product-card .product-price .sale{color:#c00;margin-left:8px}
.product-card .product-price .original{text-decoration:line-through;color:#999}
.product-card .badge{position:absolute;top:10px;left:10px;background:var(--navy);color:var(--white);padding:3px 10px;font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase}

/* Image with Text Section */
.image-text-section{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:400px}
.image-text-section .img-side{background-size:cover;background-position:center;min-height:350px}
.image-text-section .text-side{display:flex;flex-direction:column;justify-content:center;padding:60px;background:var(--off-white)}
.image-text-section .text-side h2{margin-bottom:15px;text-transform:uppercase;letter-spacing:0.1em}
.image-text-section .text-side p{color:var(--grey);line-height:1.8;margin-bottom:20px}
.btn{display:inline-block;padding:12px 30px;border:1px solid var(--navy);color:var(--navy);text-transform:uppercase;letter-spacing:0.1em;font-size:0.8rem;transition:var(--transition);font-family:var(--font-body)}
.btn:hover{background:var(--navy);color:var(--white)}
.btn-white{border-color:var(--white);color:var(--white)}
.btn-white:hover{background:var(--white);color:var(--navy)}

/* Collection Grid */
.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:25px}
.collection-card{position:relative;overflow:hidden;aspect-ratio:1;cursor:pointer}
.collection-card img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}
.collection-card:hover img{transform:scale(1.05)}
.collection-card .card-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.2);display:flex;align-items:center;justify-content:center;transition:background var(--transition)}
.collection-card:hover .card-overlay{background:rgba(0,0,0,0.35)}
.collection-card h3{color:var(--white);text-transform:uppercase;letter-spacing:0.12em;font-size:1.1rem;text-shadow:0 1px 3px rgba(0,0,0,0.5)}

/* About page */
.page-header{text-align:center;padding:50px 20px 30px;background:var(--off-white)}
.page-header h1{text-transform:uppercase;letter-spacing:0.1em}
.page-content{max-width:800px;margin:0 auto;padding:40px 20px}
.page-content p{margin-bottom:18px;color:var(--grey);line-height:1.8}
.page-content h2{margin:30px 0 15px;text-transform:uppercase;letter-spacing:0.08em;font-size:1.3rem}
.about-hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-bottom:40px}
.about-hero img{border-radius:4px}

/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px;padding:40px 20px}
.gallery-grid img{width:100%;aspect-ratio:1;object-fit:cover;cursor:pointer;transition:opacity var(--transition)}
.gallery-grid img:hover{opacity:0.8}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:40px 20px;max-width:900px;margin:0 auto}
.contact-info h3{margin-bottom:15px;text-transform:uppercase;letter-spacing:0.08em}
.contact-info p{color:var(--grey);margin-bottom:12px;line-height:1.7}
.contact-form label{display:block;margin-bottom:5px;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.05em}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:10px;border:1px solid var(--grey-light);font-family:var(--font-body);font-size:0.9rem;margin-bottom:15px}
.contact-form textarea{min-height:120px;resize:vertical}
.contact-form button{background:var(--navy);color:var(--white);border:none;padding:12px 30px;text-transform:uppercase;letter-spacing:0.1em;cursor:pointer;font-family:var(--font-body);transition:var(--transition)}
.contact-form button:hover{background:var(--navy-light)}

/* Policy pages */
.policy-content{max-width:750px;margin:0 auto;padding:40px 20px}
.policy-content h1{margin-bottom:25px;text-transform:uppercase;letter-spacing:0.08em}
.policy-content p{margin-bottom:15px;color:var(--grey);line-height:1.8}
.policy-content ul{margin:10px 0 20px 25px;color:var(--grey)}
.policy-content li{margin-bottom:8px;line-height:1.6}

/* Afterpay Section */
.afterpay-section{text-align:center;padding:30px 20px;background:var(--off-white)}
.afterpay-section img{height:40px;margin:0 auto}

/* Section spacing */
.section{padding:60px 20px}
.section-alt{background:var(--off-white)}

/* Footer */
.site-footer{background:var(--navy);color:rgba(255,255,255,0.8);padding:50px 20px 20px}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px;max-width:var(--max-width);margin:0 auto}
.footer-col h4{color:var(--white);text-transform:uppercase;letter-spacing:0.1em;font-size:0.85rem;margin-bottom:15px}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:8px}
.footer-col a{color:rgba(255,255,255,0.7);font-size:0.85rem;transition:color var(--transition)}
.footer-col a:hover{color:var(--white)}
.footer-col p{font-size:0.85rem;line-height:1.7}
.footer-social{display:flex;gap:15px;margin-top:10px}
.footer-social a{font-size:1rem}
.footer-bottom{text-align:center;padding-top:30px;margin-top:30px;border-top:1px solid rgba(255,255,255,0.15);font-size:0.8rem;max-width:var(--max-width);margin-left:auto;margin-right:auto}
.newsletter-form{display:flex;gap:0;margin-top:10px}
.newsletter-form input{flex:1;padding:8px 12px;border:1px solid rgba(255,255,255,0.3);background:transparent;color:var(--white);font-family:var(--font-body);font-size:0.85rem}
.newsletter-form input::placeholder{color:rgba(255,255,255,0.5)}
.newsletter-form button{padding:8px 15px;background:var(--white);color:var(--navy);border:none;text-transform:uppercase;font-size:0.75rem;letter-spacing:0.08em;cursor:pointer;font-family:var(--font-body)}

/* Breadcrumbs */
.breadcrumbs{padding:15px 20px;font-size:0.8rem;color:var(--grey);max-width:var(--max-width);margin:0 auto}
.breadcrumbs a{color:var(--grey)}
.breadcrumbs a:hover{color:var(--navy)}

/* Collection page */
.collection-header{text-align:center;padding:40px 20px 20px}
.collection-header h1{text-transform:uppercase;letter-spacing:0.1em;margin-bottom:10px}
.collection-header p{color:var(--grey);font-size:0.9rem}
.product-count{text-align:center;color:var(--grey);font-size:0.85rem;margin-bottom:20px}

/* Responsive */
@media(max-width:900px){
  .main-nav{display:none}
  .menu-toggle{display:block}
  .header-inner{padding:10px 15px}
  .slideshow{height:45vh;min-height:300px}
  .slide-content h2{font-size:1.5rem}
  .image-text-section{grid-template-columns:1fr}
  .image-text-section .img-side{min-height:250px}
  .image-text-section .text-side{padding:40px 20px}
  .about-hero{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .collection-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
  h1{font-size:1.5rem}
  h2{font-size:1.3rem}
}
@media(max-width:480px){
  .product-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .product-card .product-title{font-size:0.75rem}
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .footer-grid{grid-template-columns:1fr}
  .slideshow{height:35vh;min-height:250px}
}
