:root { --shop-line: #d9d4ca; }
.store-page { background: var(--cream); }
.shop-header { background: var(--cream); padding: 0 5vw; }
.shop-topbar { align-items: center; border-bottom: 1px solid var(--shop-line); display: grid; font-size: 11px; grid-template-columns: 1fr 1fr 1fr; letter-spacing: .08em; padding: 12px 0; }
.shop-topbar a, .shop-topbar span { color: var(--ink); text-decoration: none; }
.shop-topbar p { margin: 0; text-align: center; }
.shop-topbar div { display: flex; gap: 18px; justify-content: flex-end; }
.shop-topbar b { font-weight: 400; }
.shop-brand { padding: 33px 0 28px; text-align: center; }
.store-logo { color: var(--ink); font: 400 clamp(36px, 4.4vw, 64px)/.8 var(--serif); letter-spacing: -.07em; text-decoration: none; }
.store-logo em { font-style: italic; }
.shop-nav { border-bottom: 1px solid var(--shop-line); border-top: 1px solid var(--shop-line); display: flex; gap: clamp(18px, 3vw, 48px); justify-content: center; overflow: auto; padding: 15px 0; white-space: nowrap; }
.shop-nav a { color: var(--ink); font-size: 14px; text-decoration: none; }
.shop-nav a:first-child { text-decoration: underline; text-underline-offset: 6px; }
.collection-heading { padding: 88px 10vw 45px; text-align: center; }
.collection-heading h1 { font: 400 clamp(52px, 7vw, 96px)/.88 var(--serif); letter-spacing: -.07em; margin: 20px 0 24px; }
.collection-heading > p:not(.eyebrow) { font-size: 18px; margin: auto; max-width: 530px; }
.collection-controls { align-items: center; border-bottom: 1px solid var(--shop-line); border-top: 1px solid var(--shop-line); display: flex; font-size: 13px; justify-content: space-between; margin: 0 5vw; padding: 15px 0; }
.collection-controls button { background: transparent; border: 0; color: var(--ink); cursor: pointer; font: inherit; padding: 0; }
.catalogue { display: grid; grid-template-columns: repeat(4, 1fr); padding: 35px 5vw 115px; }
.catalogue-card { min-width: 0; padding: 0 12px 42px; }
.catalogue-image { background-color: #fff; background-position: center; background-repeat: no-repeat; background-size: contain; height: clamp(305px, 36vw, 520px); position: relative; }
.product-alaia { background-image: url('assets/alaia-hooded-body-web.jpg'); }
.product-zeynep { background-image: url('assets/zeynep-arcay-knit-dress-web.jpg'); }
.product-esquire { background-image: url('assets/esquire-patent-heels-web.jpg'); }
.product-envy { background-image: url('assets/envy-milk-heels-web.jpg'); }
.product-white-lace { background-image: url('assets/white-lace-maxi-dress.jpg'); }
.product-bond-midi { background-image: url('assets/bond-midi-dress-black.webp'); }
.product-tortoise-bikini { background-image: url('assets/beach-edit/tortoise-bandeau-bikini-top-espresso.jpg'); }
.product-draped-bikini { background-image: url('assets/beach-edit/draped-asymmetric-midi-bikini-bottom-navy.avif'); }
.product-nadege-dress { background-image: url('assets/beach-edit/nadege-draped-mini-dress-white.avif'); }
.product-bias-skirt { background-image: url('assets/beach-edit/bias-cut-mini-skirt-peyote.avif'); }
.product-plunging-one-piece { background-image: url('assets/beach-edit/plunging-one-piece-black.webp'); }
.product-andres-top { background-image: url('assets/beach-edit/andres-otalora-ivory-linen-top.jpg'); }
.product-eterne-dress { background-image: url('assets/beach-edit/e-terne-black-maxi-dress.jpg'); }
.product-zulu-dress { background-image: url('assets/beach-edit/zulu-zephyr-gold-mini-dress.jpg'); }
.product-deiji-top { background-image: url('assets/beach-edit/deiji-studios-white-linen-halter-top.jpg'); }
.product-eres-oda { background-image: url('assets/beach-edit/eres-black-oda.jpg'); }
.product-deiji-white { background-image: url('assets/beach-edit/deiji-white-linen-halter-top.jpg'); }
.product-andres-ivory { background-image: url('assets/beach-edit/andres-otalora-ivory-linen-top-large.jpg'); }
.product-brandon-white { background-image: url('assets/beach-edit/brandon-maxwell-white-ames-midi-dress.jpg'); }
.product-onia-ivory { background-image: url('assets/beach-edit/onia-ivory-linen-maxi-dress.jpg'); }
.product-midi-espresso { background-image: url('assets/beach-edit/midi-high-cut-bikini-bottom-espresso.webp'); }
.product-balconette-black { background-image: url('assets/beach-edit/balconette-underwire-bikini-top-black.webp'); }
.product-one-piece-black { background-image: url('assets/beach-edit/plunging-one-piece-black-large.webp'); }
.heart { background: transparent; border: 0; color: var(--ink); cursor: pointer; font: 30px/1 var(--serif); position: absolute; right: 12px; top: 12px; }
.heart.saved { color: #a44747; }
.catalogue-info { padding: 14px 4px 0; text-align: center; }
.catalogue-info p, .catalogue-info h2, .catalogue-info strong { margin: 0; }
.catalogue-info p { font-size: 11px; letter-spacing: .09em; }
.catalogue-info h2 { font-size: 18px; font-weight: 400; line-height: 1.25; margin-top: 5px; }
.catalogue-info strong { display: block; font-size: 15px; font-weight: 400; margin-top: 8px; }
.store-cta { background: center / cover no-repeat linear-gradient(90deg, rgba(0,0,0,.52), rgba(0,0,0,.12)), url('assets/store-next-piece-web.jpg'); color: var(--cream); min-height: 600px; padding: 105px 10vw; }
.store-cta h2 { font: 400 clamp(52px, 6.5vw, 92px)/.9 var(--serif); letter-spacing: -.06em; margin: 24px 0; }
.shopify-handoff { display: grid; gap: 9vw; grid-template-columns: .55fr 1fr; padding: 64px 10vw; }
.shopify-handoff p { font-size: 19px; margin: 0; max-width: 650px; }
.shopify-handoff .eyebrow { font-size: 11px; }
@media (max-width: 900px) { .catalogue { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 720px) { .shop-header { padding: 0 6vw; } .shop-topbar { grid-template-columns: 1fr auto; } .shop-topbar p, .shop-topbar div a { display: none; } .shop-nav { justify-content: flex-start; } .collection-heading { padding: 65px 8vw 40px; } .catalogue { padding: 22px 4vw 65px; } .catalogue-card { padding-left: 7px; padding-right: 7px; } .catalogue-image { height: 57vw; } .catalogue-info h2 { font-size: 16px; } .collection-controls { margin: 0 6vw; } .store-cta { min-height: 500px; padding: 75px 8vw; } .shopify-handoff { gap: 22px; grid-template-columns: 1fr; padding: 55px 8vw; } }
