*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    :root{
      --bg:#f4f6fc;
      --parchment:#e8ecf5;
      --taupe:#9aa0b8;
      --charcoal:#2c2824;
      --muted:#6b7080;
    }
    html{scroll-behavior:smooth;}
    body{background:var(--bg);color:var(--charcoal);font-family:'EB Garamond',Georgia,serif;overflow-x:hidden;}

    /* NAV */
    nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 36px;height:62px;background:rgba(244,246,252,0.94);backdrop-filter:blur(10px);border-bottom:1px solid rgba(154,160,184,0.2);}
    .nav-left{display:flex;align-items:center;gap:16px;}
    .menu-btn{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:5px;padding:6px;}
    .menu-btn span{display:block;width:22px;height:1.5px;background:var(--charcoal);transition:transform 0.3s,opacity 0.3s;}
    .menu-btn.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
    .menu-btn.open span:nth-child(2){opacity:0;}
    .menu-btn.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
    .search-wrap{position:relative;display:flex;align-items:center;}
    .search-wrap svg{position:absolute;left:10px;width:14px;height:14px;stroke:var(--taupe);fill:none;stroke-width:1.8;pointer-events:none;}
    .search-input{background:rgba(154,160,184,0.1);border:1px solid rgba(154,160,184,0.28);padding:7px 14px 7px 32px;font-family:'EB Garamond',serif;font-size:0.8rem;letter-spacing:0.08em;color:var(--charcoal);width:180px;outline:none;transition:border-color 0.2s,width 0.3s;}
    .search-input::placeholder{color:var(--taupe);}
    .search-input:focus{border-color:var(--taupe);width:220px;}
    .cart-btn{display:flex;align-items:center;gap:8px;background:none;border:1px solid var(--charcoal);padding:8px 18px;font-family:'EB Garamond',serif;font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--charcoal);cursor:pointer;transition:background 0.25s,color 0.25s;}
    .cart-btn:hover{background:var(--charcoal);color:var(--bg);}
    .cart-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.6;}

    /* DROPDOWN */
    .dropdown-overlay{position:fixed;top:62px;left:0;right:0;z-index:190;background:rgba(244,246,252,0.98);backdrop-filter:blur(12px);border-bottom:1px solid rgba(154,160,184,0.18);padding:0 36px;max-height:0;overflow:hidden;transition:max-height 0.4s cubic-bezier(0.4,0,0.2,1),padding 0.3s;}
    .dropdown-overlay.open{max-height:380px;padding:36px 36px 40px;}
    .dropdown-label{font-size:0.62rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--taupe);margin-bottom:24px;}
    .dropdown-links{list-style:none;display:flex;flex-direction:column;}
    .dropdown-links li{border-bottom:1px solid rgba(154,160,184,0.18);}
    .dropdown-links li:first-child{border-top:1px solid rgba(154,160,184,0.18);}
    .dropdown-links a{display:block;padding:18px 4px;font-family:'Cormorant Upright',serif;font-size:1.45rem;font-weight:400;font-style:italic;color:var(--charcoal);text-decoration:none;letter-spacing:0.02em;transition:color 0.2s,padding-left 0.2s;}
    .dropdown-links a:hover{color:var(--taupe);padding-left:12px;}

    /* ── PAGES ── */
    .page{display:none;}
    .page.active{display:block;}

    /* HERO */
    .hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 24px 80px;background:var(--bg);}
    .hero-logo{width:clamp(280px,46vw,580px);height:auto;display:block;margin:0 auto 16px;}
    .hero-subtitle{font-family:'EB Garamond',serif;font-size:clamp(0.85rem,1.6vw,1.05rem);letter-spacing:0.12em;color:var(--muted);margin-bottom:48px;}
    .hero-divider{width:48px;height:1px;background:var(--taupe);margin:0 auto 48px;}
    .hero-tagline{font-family:'EB Garamond',serif;font-size:0.72rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--taupe);}
    .btn-primary{display:inline-block;padding:14px 40px;border:1px solid var(--charcoal);font-family:'EB Garamond',serif;font-size:0.78rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--charcoal);text-decoration:none;cursor:pointer;background:none;transition:all 0.3s;margin-top:40px;}
    .btn-primary:hover{background:var(--charcoal);color:var(--bg);}

    /* SECTIONS */
    .shop-section{padding:100px 24px;}
    .section-inner{max-width:1160px;margin:0 auto;}
    .section-eyebrow{font-family:'EB Garamond',serif;font-size:0.68rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--taupe);text-align:center;margin-bottom:18px;}
    .section-title{font-family:'Cormorant Upright',serif;font-size:clamp(2rem,4vw,3rem);font-weight:400;text-align:center;color:var(--charcoal);margin-bottom:20px;}
    .section-divider{width:40px;height:1px;background:var(--taupe);margin:0 auto 60px;}

    .bg-main{background:var(--bg);}
    .bg-tint{background:var(--parchment);}

    .product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:48px;}
    .product-grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px;}
    .product-card{display:flex;flex-direction:column;cursor:pointer;}
    .product-card:hover .product-carousel{opacity:0.92;}

    /* Carousel */
    .product-carousel{position:relative;overflow:hidden;background:var(--parchment);aspect-ratio:4/3.6;transition:opacity 0.2s;}
    .bg-tint .product-carousel{background:#dde3f0;}
    .carousel-track{display:flex;transition:transform 0.5s cubic-bezier(0.4,0,0.2,1);height:100%;}
    .carousel-slide{min-width:100%;height:100%;}
    .carousel-slide img{width:100%;height:100%;object-fit:cover;display:block;}
    .carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(244,246,252,0.85);border:none;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;color:var(--charcoal);transition:background 0.2s;z-index:2;}
    .carousel-btn:hover{background:rgba(244,246,252,1);}
    .carousel-btn.prev{left:10px;}
    .carousel-btn.next{right:10px;}
    .carousel-dots{display:flex;gap:6px;justify-content:center;margin-top:12px;}
    .dot{width:5px;height:5px;border-radius:50%;background:var(--taupe);opacity:0.35;cursor:pointer;transition:opacity 0.2s;}
    .dot.active{opacity:1;}

    .product-info{padding:18px 2px 0;}
    .product-meta-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px;}
    .product-sizes{font-family:'EB Garamond',serif;font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--taupe);}
    .product-price{font-family:'EB Garamond',serif;font-size:0.85rem;letter-spacing:0.08em;color:var(--muted);}
    .product-name{font-family:'Cormorant Upright',serif;font-size:1.35rem;font-weight:400;font-style:italic;color:var(--charcoal);}

    /* ── PRODUCT PAGE ── */
    #product-page{padding-top:62px;min-height:100vh;background:var(--bg);}
    .product-page-inner{max-width:1060px;margin:0 auto;padding:60px 24px 100px;}
    .product-page-back{display:inline-flex;align-items:center;gap:8px;font-family:'EB Garamond',serif;font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--taupe);cursor:pointer;border:none;background:none;margin-bottom:48px;transition:color 0.2s;}
    .product-page-back:hover{color:var(--charcoal);}
    .product-page-back svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;}
    .product-page-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
    @media(max-width:760px){.product-page-layout{grid-template-columns:1fr;gap:40px;}}

    /* Product page gallery */
    .pp-gallery{}
    .pp-main-img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;background:var(--parchment);}
    .pp-thumbs{display:flex;gap:10px;margin-top:12px;}
    .pp-thumb{width:72px;height:72px;object-fit:cover;cursor:pointer;border:2px solid transparent;transition:border-color 0.2s;opacity:0.65;transition:opacity 0.2s,border-color 0.2s;}
    .pp-thumb.active{border-color:var(--charcoal);opacity:1;}

    /* Product page info */
    .pp-info{}
    .pp-collection{font-family:'EB Garamond',serif;font-size:0.68rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--taupe);margin-bottom:14px;}
    .pp-name{font-family:'Cormorant Upright',serif;font-size:2.4rem;font-weight:400;font-style:italic;color:var(--charcoal);margin-bottom:10px;line-height:1.1;}
    .pp-price{font-family:'EB Garamond',serif;font-size:1.2rem;color:var(--muted);margin-bottom:28px;letter-spacing:0.06em;}
    .pp-divider{width:36px;height:1px;background:var(--taupe);margin-bottom:28px;}

    /* Size selector */
    .pp-size-label{font-family:'EB Garamond',serif;font-size:0.72rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--taupe);margin-bottom:12px;}
    .pp-sizes{display:flex;gap:10px;margin-bottom:28px;flex-wrap:wrap;}
    .size-btn{padding:9px 20px;border:1px solid rgba(154,160,184,0.4);background:none;font-family:'EB Garamond',serif;font-size:0.82rem;letter-spacing:0.1em;color:var(--muted);cursor:pointer;transition:all 0.2s;}
    .size-btn:hover{border-color:var(--charcoal);color:var(--charcoal);}
    .size-btn.selected{border-color:var(--charcoal);color:var(--charcoal);background:rgba(44,40,36,0.04);}

    .pp-description{font-family:'EB Garamond',serif;font-size:1.05rem;line-height:1.8;color:var(--muted);margin-bottom:24px;}
    .pp-dimensions-label{font-family:'EB Garamond',serif;font-size:0.68rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--taupe);margin-bottom:8px;}
    .pp-dimensions{font-family:'EB Garamond',serif;font-size:0.95rem;line-height:1.7;color:var(--muted);margin-bottom:24px;}
    .pp-details{font-family:'EB Garamond',serif;font-size:0.85rem;letter-spacing:0.06em;color:var(--taupe);margin-bottom:36px;}

    .add-to-cart-btn{width:100%;padding:16px;background:var(--charcoal);color:var(--bg);font-family:'EB Garamond',serif;font-size:0.82rem;letter-spacing:0.22em;text-transform:uppercase;border:none;cursor:pointer;transition:opacity 0.25s;}
    .add-to-cart-btn:hover{opacity:0.85;}
    .add-to-cart-btn:active{opacity:0.7;}
    .cart-confirm{display:none;text-align:center;margin-top:14px;font-family:'EB Garamond',serif;font-size:0.85rem;letter-spacing:0.1em;color:var(--taupe);}
    .cart-confirm.show{display:block;}

    /* ABOUT */
    .about-section{padding:100px 24px;background:var(--parchment);}
    .about-text{max-width:680px;margin:0 auto;text-align:center;}
    .about-text p{font-family:'EB Garamond',serif;font-size:1.05rem;line-height:1.85;color:var(--muted);margin-bottom:24px;}
    .about-text p:last-child{margin-bottom:0;}

    /* FOOTER */
    footer{background:var(--charcoal);color:var(--bg);text-align:center;padding:60px 24px;}
    .footer-logo{height:48px;width:auto;margin:0 auto 20px;display:block;opacity:0.85;filter:invert(1) brightness(2);}
    .footer-links{display:flex;gap:28px;justify-content:center;list-style:none;margin-bottom:40px;flex-wrap:wrap;}
    .footer-links a{font-family:'EB Garamond',serif;font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--bg);text-decoration:none;opacity:0.5;transition:opacity 0.2s;cursor:pointer;}
    .footer-links a:hover{opacity:0.9;}
    .footer-copy{font-family:'EB Garamond',serif;font-size:0.68rem;letter-spacing:0.1em;opacity:0.3;}

    /* CONTACT PAGE */
    #contact-page{padding-top:62px;min-height:100vh;background:var(--bg);}
    .contact-inner{max-width:680px;margin:0 auto;padding:60px 24px 100px;}
    .contact-content{text-align:center;}
    .contact-text{max-width:520px;margin:0 auto;}
    .contact-text p{font-family:'EB Garamond',serif;font-size:1.05rem;line-height:1.85;color:var(--muted);margin-bottom:24px;}
    .contact-email-label{font-family:'EB Garamond',serif;font-size:0.72rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--taupe);margin-bottom:8px !important;}
    .contact-email{display:inline-block;font-family:'Cormorant Upright',serif;font-size:1.6rem;font-weight:400;font-style:italic;color:var(--charcoal);text-decoration:none;letter-spacing:0.02em;transition:color 0.2s;margin-bottom:28px;}
    .contact-email:hover{color:var(--taupe);}
    .contact-note{font-family:'EB Garamond',serif;font-size:0.88rem;color:var(--taupe);letter-spacing:0.04em;}

    .fade-in{opacity:0;transform:translateY(24px);transition:opacity 0.8s ease,transform 0.8s ease;}
    .fade-in.visible{opacity:1;transform:translateY(0);}

    /* ── CART BADGE ── */
    .cart-btn{position:relative;}
    .cart-badge{position:absolute;top:-4px;right:-4px;background:var(--charcoal);color:var(--bg);font-family:'EB Garamond',serif;font-size:0.6rem;width:17px;height:17px;border-radius:50%;display:flex;align-items:center;justify-content:center;letter-spacing:0;pointer-events:none;opacity:0;transform:scale(0.5);transition:opacity 0.25s,transform 0.25s;}
    .cart-badge.visible{opacity:1;transform:scale(1);}
    .cart-btn:hover .cart-badge{background:var(--bg);color:var(--charcoal);}

    /* ── CART DRAWER ── */
    .cart-overlay{position:fixed;inset:0;z-index:300;background:rgba(44,40,36,0.25);opacity:0;pointer-events:none;transition:opacity 0.35s;}
    .cart-overlay.open{opacity:1;pointer-events:auto;}

    .cart-drawer{position:fixed;top:0;right:0;bottom:0;z-index:310;width:420px;max-width:92vw;background:var(--bg);box-shadow:-4px 0 24px rgba(44,40,36,0.08);display:flex;flex-direction:column;transform:translateX(100%);transition:transform 0.4s cubic-bezier(0.4,0,0.2,1);}
    .cart-drawer.open{transform:translateX(0);}

    .cart-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px 20px;border-bottom:1px solid rgba(154,160,184,0.2);}
    .cart-drawer-title{font-family:'Cormorant Upright',serif;font-size:1.5rem;font-weight:400;font-style:italic;color:var(--charcoal);}
    .cart-drawer-count{font-family:'EB Garamond',serif;font-size:0.72rem;letter-spacing:0.14em;color:var(--taupe);margin-left:10px;}
    .cart-drawer-close{background:none;border:none;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;}
    .cart-drawer-close svg{width:18px;height:18px;stroke:var(--charcoal);fill:none;stroke-width:1.6;}
    .cart-drawer-close:hover svg{stroke:var(--taupe);}

    .cart-drawer-items{flex:1;overflow-y:auto;padding:0;}
    .cart-drawer-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:40px 28px;text-align:center;}
    .cart-drawer-empty p{font-family:'EB Garamond',serif;font-size:1.05rem;color:var(--taupe);letter-spacing:0.06em;margin-bottom:24px;}
    .cart-drawer-empty button{padding:12px 32px;border:1px solid var(--charcoal);background:none;font-family:'EB Garamond',serif;font-size:0.75rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--charcoal);cursor:pointer;transition:all 0.25s;}
    .cart-drawer-empty button:hover{background:var(--charcoal);color:var(--bg);}

    /* Cart item */
    .cart-item{display:flex;gap:18px;padding:22px 28px;border-bottom:1px solid rgba(154,160,184,0.14);}
    .cart-item-img{width:80px;height:80px;object-fit:cover;background:var(--parchment);flex-shrink:0;}
    .cart-item-info{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0;}
    .cart-item-name{font-family:'Cormorant Upright',serif;font-size:1.1rem;font-weight:400;font-style:italic;color:var(--charcoal);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
    .cart-item-variant{font-family:'EB Garamond',serif;font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--taupe);margin-bottom:10px;}
    .cart-item-bottom{display:flex;align-items:center;justify-content:space-between;}
    .cart-item-price{font-family:'EB Garamond',serif;font-size:0.92rem;color:var(--muted);letter-spacing:0.04em;}

    /* Quantity controls */
    .cart-item-qty{display:flex;align-items:center;gap:0;border:1px solid rgba(154,160,184,0.3);}
    .cart-item-qty button{background:none;border:none;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-family:'EB Garamond',serif;font-size:0.9rem;color:var(--muted);transition:color 0.2s;}
    .cart-item-qty button:hover{color:var(--charcoal);}
    .cart-item-qty span{font-family:'EB Garamond',serif;font-size:0.82rem;min-width:24px;text-align:center;color:var(--charcoal);letter-spacing:0.06em;}

    .cart-item-remove{background:none;border:none;cursor:pointer;font-family:'EB Garamond',serif;font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--taupe);padding:0;margin-top:6px;transition:color 0.2s;align-self:flex-start;}
    .cart-item-remove:hover{color:var(--charcoal);}

    /* Cart footer */
    .cart-drawer-footer{padding:20px 28px 28px;border-top:1px solid rgba(154,160,184,0.2);}
    .cart-subtotal{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px;}
    .cart-subtotal-label{font-family:'EB Garamond',serif;font-size:0.75rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--taupe);}
    .cart-subtotal-amount{font-family:'EB Garamond',serif;font-size:1.15rem;color:var(--charcoal);letter-spacing:0.04em;}
    .cart-shipping-note{font-family:'EB Garamond',serif;font-size:0.78rem;color:var(--taupe);letter-spacing:0.04em;margin-bottom:20px;}
    .cart-checkout-btn{display:block;width:100%;padding:16px;background:var(--charcoal);color:var(--bg);font-family:'EB Garamond',serif;font-size:0.82rem;letter-spacing:0.22em;text-transform:uppercase;border:none;cursor:pointer;transition:opacity 0.25s;text-align:center;}
    .cart-checkout-btn:hover{opacity:0.85;}
    .cart-checkout-btn:disabled{opacity:0.5;cursor:not-allowed;}

    @media(max-width:640px){
      nav{padding:0 20px;}
      .search-input{width:120px;}
      .product-grid,.product-grid-4{grid-template-columns:1fr;gap:36px;}
      .hero-logo{width:78vw;}
      .cart-drawer{width:100%;max-width:100vw;}
    }