:root { --font-vietnam:"Be Vietnam Pro"; --font-display:Impact; --ink:#151512; --paper:#f3f0e8; --red:#ec3d25; --yellow:#ffd735; --blue:#1645d8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-vietnam),Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button { color:inherit; }
.lucide { width:1em; height:1em; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.hero h1,.section-heading h2,.membership-strip h2,.catalog-hero h1,.policy-page>h1,.lookup-box h1,.purchase-panel h1,.detail-story h2,.size-guide h2,.related-products h2,.membership-steps h2,.membership-faq h2,.cart-lines>h1,.checkout-form>h1,.empty-cart h1,.membership-hero h1,.collection-hero h1,.policy-layout article h2 { font-family:var(--font-vietnam),Arial,sans-serif!important; font-weight:800!important; letter-spacing:-.055em!important; }

.site-header { position:sticky; top:0; z-index:50; box-shadow:0 2px 14px #1515120d; }
.announcement { height:26px; background:var(--ink); color:#fff; display:flex; align-items:center; justify-content:center; gap:12px; font-size:9px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.announcement .announcement-separator { color:var(--yellow); }
.announcement .announcement-extra { color:#fff; }
.nav-shell { height:64px; padding:0 clamp(24px,4vw,70px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid #15151226; background:#f3f0e8f7; backdrop-filter:blur(12px); }
.brand { display:inline-flex; align-items:center; gap:10px; width:max-content; }
.brand-mark { width:46px; height:31px; display:grid; place-items:center; background:var(--red); color:#fff; transform:skew(-8deg); font-family:var(--font-display),sans-serif; font-size:17px; letter-spacing:.04em; }
.brand-copy { display:flex; flex-direction:column; line-height:.88; }
.brand-copy strong { font-family:var(--font-display); font-size:18px; letter-spacing:.04em; }
.brand-copy small { font-size:8px; font-weight:800; letter-spacing:.2em; margin-top:5px; }
.main-nav { display:flex; align-items:center; gap:34px; font-size:13px; font-weight:600; }
.main-nav a { position:relative; padding:23px 0 20px; }
.main-nav a::after { content:""; position:absolute; height:3px; left:0; right:100%; bottom:0; background:var(--red); transition:.2s; }
.main-nav a:hover::after,.main-nav a.active::after { right:0; }
.nav-actions { display:flex; justify-content:flex-end; align-items:center; gap:18px; font-size:12px; font-weight:600; }
.icon-action { font-size:24px; line-height:1; }
.cart-action { border:1.5px solid var(--ink); padding:8px 12px; text-transform:uppercase; font-size:9px; letter-spacing:.06em; }
.cart-action span { display:inline-grid; place-items:center; margin-left:8px; width:18px; height:18px; background:var(--red); color:#fff; border-radius:50%; }

.cover-hero { position:relative; width:100%; min-height:clamp(360px,46vw,610px); overflow:hidden; background:var(--blue); }
.cover-hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.cover-hero-shade { position:absolute; inset:0; background:linear-gradient(180deg,transparent 48%,#111111d9 100%); pointer-events:none; }
.cover-hero-content { position:absolute; z-index:2; left:4vw; right:4vw; bottom:28px; min-height:88px; padding:17px 20px; display:flex; align-items:center; justify-content:space-between; gap:30px; color:#fff; background:#111111e8; border-left:4px solid var(--yellow); box-shadow:0 12px 35px #0004; backdrop-filter:blur(10px); }
.cover-hero-copy { display:grid; grid-template-columns:auto auto; align-items:center; gap:5px 18px; }
.cover-hero-copy>span { grid-row:1/3; max-width:82px; color:var(--yellow); font-size:7px; font-weight:800; letter-spacing:.15em; line-height:1.5; }
.cover-hero-copy h1 { margin:0; font-family:var(--font-vietnam),Arial,sans-serif; font-size:clamp(22px,2.4vw,35px); font-weight:800; letter-spacing:-.045em; line-height:1.05; text-transform:uppercase; }
.cover-hero-copy h1 em { color:var(--yellow); font-style:normal; }
.cover-hero-copy p { margin:0; color:#bbb8b0; font-size:10px; }
.cover-hero-content>a { flex:none; padding:13px 15px; color:var(--ink); background:var(--yellow); font-size:9px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.cover-hero-content>a b { margin-left:10px; font-size:14px; }

.hero { min-height:560px; display:grid; grid-template-columns:48% 52%; overflow:hidden; border-bottom:1px solid #15151226; background:#ebe6da; }
.hero-copy { padding:58px 5.5vw 48px 7vw; display:flex; flex-direction:column; justify-content:center; }
.eyebrow { font-size:10px; font-weight:800; letter-spacing:.14em; display:flex; align-items:center; gap:8px; }
.eyebrow>span { display:inline-block; width:22px; height:3px; background:var(--red); }
.hero h1 { margin:18px 0 22px; font-size:clamp(55px,5.4vw,82px); line-height:.96; text-transform:uppercase; }
.hero h1 span,.hero h1 em { display:block; }
.hero h1 em { color:var(--red); font-style:normal; white-space:nowrap; }
.hero-copy>p { max-width:560px; font-size:15px; line-height:1.75; color:#57564f; }
.hero-actions { display:flex; align-items:center; gap:28px; margin-top:26px; }
.primary-btn { background:var(--ink); color:#fff; padding:16px 20px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; transition:.2s; }
.primary-btn:hover { transform:translateY(-2px); background:var(--red); }
.primary-btn b { margin-left:18px; font-size:17px; }
.secondary-link { font-size:12px; font-weight:600; border-bottom:1px solid; padding-bottom:3px; }
.hero-notes { display:flex; gap:20px; margin-top:38px; padding-top:18px; border-top:1px solid #15151220; color:#68665f; font-size:8px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.hero-notes span::before { content:"✓"; color:var(--red); margin-right:6px; }

.hero-stage { position:relative; min-height:560px; padding:34px 34px 112px; background:var(--blue); overflow:hidden; display:grid; place-items:center; }
.hero-stage::before { content:""; position:absolute; width:520px; height:520px; left:50%; top:43%; transform:translate(-50%,-50%); border-radius:50%; background:var(--yellow); opacity:.94; }
.hero-stage::after { content:""; position:absolute; inset:0; background:linear-gradient(135deg,#ffffff0e,transparent 45%); pointer-events:none; }
.hero-drop-label { position:absolute; top:25px; left:28px; z-index:5; width:74px; height:86px; padding:11px 8px; display:flex; flex-direction:column; align-items:center; justify-content:center; background:var(--ink); color:#fff; border:1px solid #ffffff55; }
.hero-drop-label span,.hero-drop-label small { font-size:7px; letter-spacing:.15em; }
.hero-drop-label strong { font:400 35px/1 var(--font-display); color:var(--yellow); }
.hero-product-frame { position:relative; z-index:2; width:min(490px,82%); height:420px; display:grid; place-items:center; background:#eee9dd; box-shadow:0 30px 70px #071b6c55; transform:rotate(-1.5deg); }
.hero-featured-product { width:112%; height:112%; object-fit:contain; filter:drop-shadow(0 24px 20px #1118); transform:rotate(1.5deg); }
.hero-product-caption { position:absolute; z-index:7; left:28px; right:28px; bottom:24px; min-height:72px; padding:14px 16px; display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:22px; background:var(--ink); color:#fff; box-shadow:0 12px 35px #071b6c55; }
.hero-product-caption>div:first-child { display:flex; flex-direction:column; gap:5px; }
.hero-product-caption>div:first-child span { color:#9e9c94; font-size:7px; font-weight:700; letter-spacing:.14em; }
.hero-product-caption>div:first-child strong { font-size:14px; }
.hero-price { display:flex; flex-direction:column; gap:5px; text-align:right; }
.hero-price b { font-size:13px; }
.hero-price span { color:var(--yellow); font-size:8px; font-weight:700; }
.hero-product-caption>a { padding-left:18px; border-left:1px solid #ffffff2e; font-size:9px; font-weight:800; text-transform:uppercase; white-space:nowrap; }
.stage-word { position:absolute; left:-10px; top:5px; color:#ffffff17; font-family:var(--font-display); font-size:260px; line-height:1; transform:rotate(-6deg); }
.stage-card { position:absolute; background:#e7e0cf; box-shadow:0 24px 50px #050b3740; }
.card-back { width:245px; height:340px; left:8%; top:20%; transform:rotate(-10deg); background:var(--yellow); display:flex; flex-direction:column; justify-content:space-between; align-items:center; padding:60px 20px 22px; }
.hero-product { position:relative; z-index:2; display:block; object-fit:contain; filter:drop-shadow(0 24px 18px #050b3759); }
.hero-cap { width:285px; height:245px; margin:-35px -35px 0; transform:rotate(5deg); }
.hero-tee { width:118%; height:112%; max-width:none; transform:rotate(-4deg); }
.card-back small { font-size:9px; font-weight:800; letter-spacing:.15em; }
.card-main { width:min(430px,48vw); height:535px; right:10%; top:8%; transform:rotate(5deg); display:grid; place-items:center; }
.membership-ticket { position:absolute; right:2%; bottom:8%; width:176px; min-height:200px; transform:rotate(-8deg); background:var(--red); color:#fff; border:3px solid #fff; outline:2px solid var(--red); display:flex; flex-direction:column; align-items:center; justify-content:center; z-index:5; }
.membership-ticket span { font-size:8px; letter-spacing:.18em; }
.membership-ticket strong { font-family:var(--font-display); font-size:86px; line-height:1; font-weight:400; }
.membership-ticket b { font-size:10px; letter-spacing:.08em; }
.membership-ticket small { border-top:1px dashed #fff; padding-top:8px; margin-top:10px; font-size:8px; }
.stage-sticker { position:absolute; top:6%; right:3%; width:92px; height:92px; background:var(--yellow); border-radius:50%; display:grid; place-items:center; text-align:center; font-family:var(--font-display); font-size:18px; transform:rotate(12deg); border:2px solid var(--ink); z-index:6; }

.product-section { padding:90px clamp(24px,7vw,110px) 110px; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:34px; }
.section-heading h2,.membership-strip h2 { margin:12px 0 0; font-family:var(--font-display); font-size:clamp(42px,5vw,72px); line-height:1; font-weight:400; text-transform:uppercase; }
.section-heading>a { font-size:12px; font-weight:700; padding-bottom:5px; border-bottom:1px solid; }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.product-card { background:#fff; transition:transform .25s; }
.product-card:hover { transform:translateY(-6px); }
.product-art { position:relative; aspect-ratio:1/1.08; overflow:hidden; display:grid; place-items:center; }
.product-art.cream { background:#d9d1c1; } .product-art.blue { background:#b9c7f2; } .product-art.red { background:#e25c46; }
.product-art.yellow { background:#e9c93d; }
.art-light { position:absolute; width:80%; height:80%; border-radius:50%; background:#ffffff38; filter:blur(20px); }
.product-png { position:relative; z-index:1; display:block; width:92%; height:92%; object-fit:contain; filter:drop-shadow(0 22px 16px #18181838); transition:transform .35s ease; }
.product-card:hover .product-png { transform:scale(1.035) rotate(-1deg); }
.gift-sticker { position:absolute; z-index:4; top:16px; right:16px; width:96px; height:96px; padding:12px 8px 10px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; background:var(--red); border:2px solid #fff8e9; border-radius:50%; box-shadow:0 10px 24px #1515122e; text-align:center; line-height:1; }
.gift-sticker small { color:var(--yellow); font-size:7px; font-weight:800; letter-spacing:.18em; }
.gift-sticker strong { margin:3px 0 4px; font-size:31px; font-weight:800; letter-spacing:-.07em; }
.gift-sticker b { max-width:68px; font-size:6px; font-weight:800; letter-spacing:.055em; line-height:1.15; }
.product-art-large .gift-sticker { top:30px; right:30px; width:126px; height:126px; padding:15px 10px; box-shadow:0 14px 34px #15151235; }
.product-art-large .gift-sticker strong { font-size:42px; }
.product-art-large .gift-sticker small { font-size:8px; }
.product-art-large .gift-sticker b { max-width:88px; font-size:8px; }
.product-info { padding:19px 20px 22px; }
.product-meta { display:flex; justify-content:space-between; font-size:8px; letter-spacing:.15em; font-weight:700; color:#77746c; }
.product-meta b { color:var(--red); }
.product-info h3 { min-height:46px; margin:10px 0 14px; font-size:17px; line-height:1.35; }
.product-bottom { display:flex; justify-content:space-between; align-items:center; }
.product-bottom>strong { font-size:14px; }
.quick-purchase { padding-top:16px; margin-top:16px; border-top:1px solid #1515121f; }
.quick-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.quick-actions button { min-height:44px; padding:10px 8px; border:1px solid var(--ink); font:700 9px var(--font-vietnam); letter-spacing:.025em; text-transform:uppercase; white-space:nowrap; cursor:pointer; transition:.18s ease; }
.quick-add { background:#fff; color:var(--ink); }
.quick-add:hover,.quick-add.added { color:#fff; background:var(--ink); }
.quick-buy { color:#fff; background:var(--red); border-color:var(--red)!important; }
.quick-buy:hover { background:#c92d19; }
.quick-purchase>small { display:block; margin-top:8px; color:#8a867d; font-size:8px; text-align:center; }

.membership-strip { padding:48px 7vw; background:var(--ink); color:#fff; display:grid; grid-template-columns:auto 1.25fr .9fr auto; gap:44px; align-items:center; }
.membership-symbol { width:96px; height:96px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; border-radius:50%; background:var(--red); border:1px solid #ffffff55; box-shadow:0 0 0 6px var(--red),0 0 0 7px #ffffff2f; }
.membership-symbol strong { font:400 29px/1 var(--font-display); }
.membership-symbol small { font-size:6px; font-weight:800; letter-spacing:.12em; }
.eyebrow.light>span { background:var(--yellow); }
.membership-strip h2 { margin-top:9px; color:#fff; font-size:clamp(30px,3.2vw,46px); line-height:1.08; text-transform:none; }
.membership-how { display:flex; flex-direction:column; }
.membership-how span { padding:9px 0; border-bottom:1px solid #ffffff1f; color:#aaa89f; font-size:10px; }
.membership-how b { display:inline-block; min-width:29px; color:var(--yellow); font-size:8px; letter-spacing:.08em; }
.membership-strip>a { white-space:nowrap; background:var(--yellow); color:var(--ink); padding:14px 16px; font-size:9px; font-weight:800; text-transform:uppercase; }

.page-kicker { font-size:10px; font-weight:800; letter-spacing:.14em; color:var(--red); }
.store-footer { position:relative; padding:70px 7vw 35px; background:#e5e0d4; display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:50px; border-top:1px solid #15151226; }
.store-footer>div { display:flex; flex-direction:column; align-items:flex-start; gap:11px; font-size:12px; color:#56544e; }
.store-footer>div:first-child p { max-width:300px; line-height:1.7; }
.store-footer>div>b { color:var(--ink); font-size:10px; letter-spacing:.13em; margin-bottom:7px; }
.store-footer a:not(.brand):hover { color:var(--red); }
.footer-brand { margin-bottom:10px; }
.store-footer>small { grid-column:1/-1; padding-top:32px; margin-top:20px; border-top:1px solid #15151226; color:#79766f; font-size:9px; letter-spacing:.06em; }

.catalog-hero { padding:75px 7vw 60px; border-bottom:1px solid #15151226; background:#ebe6da; }
.catalog-hero h1,.policy-page>h1,.lookup-box h1 { margin:10px 0 16px; font-family:var(--font-display); font-size:clamp(60px,8vw,110px); line-height:.95; font-weight:400; text-transform:uppercase; }
.catalog-hero p { margin:0; color:#67645e; max-width:600px; line-height:1.7; }
.catalog-shell { padding:40px 7vw 100px; display:grid; grid-template-columns:190px 1fr; gap:45px; }
.catalog-filters { display:flex; flex-direction:column; align-items:stretch; gap:7px; position:sticky; top:20px; align-self:start; }
.catalog-filters>b { font-size:9px; letter-spacing:.15em; margin:8px 0; }
.catalog-filters>a { display:flex; justify-content:space-between; padding:10px 0; font-size:12px; border-bottom:1px solid transparent; }
.catalog-filters>a.active { color:var(--red); border-bottom-color:var(--red); font-weight:700; }
.catalog-filters hr { width:100%; border:0; border-top:1px solid #15151226; margin:17px 0; }
.catalog-filters label { font-size:11px; padding:5px 0; color:#5f5c55; }
.catalog-toolbar { display:flex; justify-content:space-between; margin:0 0 18px; font-size:9px; letter-spacing:.1em; color:#737069; }
.catalog-grid { grid-template-columns:repeat(3,1fr); }

.breadcrumb { padding:20px 7vw; display:flex; gap:10px; font-size:10px; color:#79766f; border-bottom:1px solid #15151226; }
.breadcrumb b { color:var(--ink); }
.product-detail { display:grid; grid-template-columns:58% 42%; min-height:730px; }
.detail-visual { position:relative; background:#ded8ca; padding:55px; }
.product-art-large { width:100%; height:100%; aspect-ratio:auto; min-height:620px; }
.product-art-large .product-png { width:94%; height:94%; filter:drop-shadow(0 34px 24px #18181845); }
.detail-count { position:absolute; right:72px; bottom:70px; font-size:9px; font-weight:800; letter-spacing:.12em; }
.purchase-panel { background:#fff; padding:75px 6vw 55px; }
.product-type { font-size:9px; font-weight:700; letter-spacing:.14em; color:#77746c; }
.purchase-panel h1 { margin:14px 0 18px; font-family:var(--font-display); font-size:clamp(46px,5vw,74px); line-height:1; font-weight:400; text-transform:uppercase; }
.detail-price { display:flex; align-items:center; gap:22px; padding-bottom:25px; border-bottom:1px solid #15151226; }
.detail-price strong { font-size:20px; }
.detail-price span { background:#fff0a6; padding:8px 10px; font-size:9px; font-weight:800; text-transform:uppercase; }
.detail-description { color:#67645e; line-height:1.75; font-size:13px; margin:25px 0 30px; }
.choice-block { margin:22px 0; }
.choice-block>b,.choice-title>b { font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.choice-title { display:flex; justify-content:space-between; align-items:center; }
.choice-title a { font-size:10px; border-bottom:1px solid; }
.size-list { display:flex; gap:8px; margin-top:12px; }
.size-list button { width:48px; height:43px; border:1px solid #bbb7ad; background:#fff; cursor:pointer; font-weight:700; }
.size-list button.selected { color:#fff; background:var(--ink); border-color:var(--ink); }
.quantity-control { display:flex; align-items:center; width:max-content; border:1px solid #bbb7ad; margin-top:12px; }
.quantity-control button { width:38px; height:36px; border:0; background:transparent; cursor:pointer; font-size:17px; }
.quantity-control span { min-width:32px; text-align:center; font-size:12px; font-weight:700; }
.purchase-actions { display:grid; grid-template-columns:.75fr 1.25fr; gap:8px; }
.add-cart-btn,.buy-now-btn,.checkout-btn { width:100%; border:0; background:var(--ink); color:#fff; padding:18px 16px; cursor:pointer; font-family:inherit; font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.add-cart-btn { color:var(--ink); background:#fff; border:1px solid var(--ink); }
.buy-now-btn { background:var(--red); }
.add-cart-btn b { float:right; font-size:18px; }
.buy-now-btn b { float:right; font-size:16px; }
.add-cart-btn:hover { color:#fff; background:var(--ink); }
.buy-now-btn:hover,.checkout-btn:hover { background:#c92d19; }
.cart-message { padding:12px; margin:10px 0 0; color:#386130; background:#e6f3dd; font-size:11px; }
.cart-message a { float:right; font-weight:800; text-decoration:underline; }
.purchase-promises { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:25px; padding-top:22px; border-top:1px solid #15151226; }
.purchase-promises span { display:flex; flex-direction:column; gap:4px; }
.purchase-promises b { font-size:10px; }
.purchase-promises small { font-size:9px; color:#77746c; }
.detail-story { padding:100px 7vw; display:grid; grid-template-columns:1.1fr 1fr .8fr; gap:70px; align-items:start; background:var(--ink); color:#fff; }
.detail-story h2,.size-guide h2,.related-products h2,.membership-steps h2,.membership-faq h2 { margin:12px 0 0; font-family:var(--font-display); font-size:clamp(40px,5vw,70px); line-height:1; font-weight:400; text-transform:uppercase; }
.detail-story>p { color:#b5b2aa; line-height:1.8; font-size:13px; }
.material-card { padding:25px; border:1px solid #ffffff4d; display:flex; flex-direction:column; gap:12px; }
.material-card b { font-size:9px; color:var(--yellow); letter-spacing:.13em; margin-bottom:8px; }
.material-card span { font-size:11px; padding-bottom:10px; border-bottom:1px solid #ffffff1f; }
.size-guide { padding:90px 7vw; display:grid; grid-template-columns:1fr 1.2fr; gap:80px; align-items:center; }
.size-guide p { color:#6b6861; font-size:12px; line-height:1.7; }
.size-guide table { border-collapse:collapse; width:100%; font-size:11px; }
.size-guide th,.size-guide td { padding:14px; text-align:left; border-bottom:1px solid #15151226; }
.size-guide th { font-size:8px; letter-spacing:.1em; }
.related-products { padding:80px 7vw 110px; background:#e9e4d8; }
.not-found { min-height:600px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.not-found>b { font-family:var(--font-display); font-size:120px; color:var(--red); }
.not-found h1 { margin:0 0 30px; text-transform:uppercase; }

.cart-layout { padding:75px 7vw 100px; display:grid; grid-template-columns:1.5fr .75fr; gap:70px; min-height:650px; }
.cart-lines>h1,.checkout-form>h1 { margin:10px 0 35px; font-family:var(--font-display); font-size:clamp(50px,6vw,82px); line-height:1; font-weight:400; text-transform:uppercase; }
.cart-line { display:grid; grid-template-columns:150px 1fr auto; gap:25px; padding:22px 0; border-top:1px solid #15151226; }
.cart-thumb { width:150px; height:170px; }
.cart-thumb .product-art { width:100%; height:100%; aspect-ratio:auto; }
.cart-thumb .gift-sticker { display:none; }
.cart-line-info>span { font-size:8px; letter-spacing:.1em; color:#77746c; text-transform:uppercase; }
.cart-line-info h2 { font-size:17px; margin:9px 0; }
.cart-line-info p { font-size:11px; color:#67645e; }
.cart-line-info>button { margin-top:28px; border:0; padding:0; background:none; color:#77746c; text-decoration:underline; cursor:pointer; font-size:10px; }
.cart-line-side { display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.cart-line-side .quantity-control { margin-top:25px; }
.cart-line-side small { color:var(--red); font-size:9px; font-weight:700; }
.order-summary,.checkout-summary { background:#fff; padding:30px; align-self:start; position:sticky; top:25px; border:1px solid #1515121a; }
.order-summary h2,.checkout-summary h2 { margin:0 0 25px; text-transform:uppercase; font-size:16px; }
.order-summary>div { display:flex; justify-content:space-between; font-size:11px; padding:10px 0; }
.order-summary .summary-gift { margin:12px 0; padding:14px; color:#5b4a00; background:#fff0a6; }
.order-summary .summary-total,.summary-total { border-top:2px solid var(--ink); margin-top:12px; padding:20px 0; align-items:center; }
.summary-total strong { font-size:20px; }
.order-summary>p { font-size:9px; color:#77746c; line-height:1.6; text-align:center; }
.empty-cart { min-height:650px; padding:90px 20px; display:flex; flex-direction:column; align-items:center; text-align:center; }
.empty-cart>span { width:100px; height:100px; border:2px dashed; border-radius:50%; display:grid; place-items:center; font-family:var(--font-display); font-size:44px; color:var(--red); }
.empty-cart h1 { font-family:var(--font-display); font-size:64px; line-height:1; font-weight:400; text-transform:uppercase; margin:25px 0 10px; }
.empty-cart p { color:#77746c; margin-bottom:35px; }
.cart-loading { min-height:500px; display:grid; place-items:center; }

.checkout-layout { padding:70px 7vw 100px; display:grid; grid-template-columns:1.3fr .7fr; gap:80px; }
.checkout-form label { display:flex; flex-direction:column; gap:7px; font-size:9px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin-bottom:18px; }
.checkout-form input,.checkout-form select,.checkout-form textarea,.lookup-box input { width:100%; border:1px solid #bdb9ae; padding:14px; background:#fff; font:12px var(--font-vietnam); outline:none; }
.checkout-form input:focus,.checkout-form select:focus,.checkout-form textarea:focus,.lookup-box input:focus { border-color:var(--blue); }
.checkout-form fieldset { min-width:0; margin:0; padding:0; border:0; }
.checkout-form fieldset:disabled { opacity:.45; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.checkout-form>form>h2 { font-size:14px; margin:35px 0 15px; text-transform:uppercase; }
.account-connect { display:flex; justify-content:space-between; align-items:center; padding:18px; margin-bottom:32px; background:#fff0a6; border:1px solid #d4c05b; }
.account-connect>div { display:flex; align-items:center; gap:13px; }
.account-connect>div>span { width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:var(--red); color:#fff; font-family:var(--font-display); }
.account-connect p,.payment-option span,.checkout-gift p { margin:0; display:flex; flex-direction:column; gap:4px; }
.account-connect b,.payment-option b { font-size:11px; }.account-connect small,.payment-option small { color:#6e6b64; font-size:9px; }
.account-connect button { border:0; background:var(--ink); color:#fff; padding:11px 14px; font-size:9px; font-weight:700; cursor:pointer; }
.account-connect.connected { background:#e5f1dc; border-color:#8eaf76; }
.delivery-required { display:flex; flex-direction:column; gap:5px; margin:-15px 0 28px; padding:14px 16px; color:#6a4200; background:#fff5cf; border-left:3px solid var(--yellow); }
.delivery-required b { font-size:10px; }.delivery-required span { font-size:9px; line-height:1.55; }
.payment-option { flex-direction:row!important; align-items:center; gap:13px!important; padding:16px; background:#fff; border:1px solid #bdb9ae; text-transform:none!important; letter-spacing:0!important; }
.payment-option input { width:auto; }
.payment-option.qr-only { display:grid; grid-template-columns:auto 1fr auto; margin-bottom:0; border:2px solid var(--ink); }
.payment-qr { width:45px; height:45px; display:grid!important; place-items:center; color:#fff; background:var(--ink); font-size:12px; font-weight:800; letter-spacing:.04em; }
.payment-option em { padding:6px 8px; color:#6b5300; background:var(--yellow); font-size:7px; font-style:normal; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.payment-aftercare { display:grid; grid-template-columns:auto 1fr auto 1fr; gap:10px; align-items:start; padding:16px 0; }
.payment-aftercare>span { width:26px; height:26px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--red); font-size:7px; font-weight:800; }
.payment-aftercare p { margin:0; display:flex; flex-direction:column; gap:4px; }
.payment-aftercare b { font-size:9px; }.payment-aftercare small { color:#77746c; font-size:8px; line-height:1.45; }
.checkout-line { display:grid; grid-template-columns:auto 1fr auto; gap:10px; padding:14px 0; border-top:1px solid #1515121f; align-items:start; font-size:10px; }
.checkout-line p { margin:0; display:flex; flex-direction:column; gap:5px; }
.checkout-line small { color:#77746c; }.checkout-line strong { font-size:10px; }
.summary-total.compact { display:flex; justify-content:space-between; }
.checkout-costs { margin-top:10px; padding-top:10px; border-top:1px solid #1515121f; }
.checkout-costs>div { display:flex; justify-content:space-between; padding:6px 0; font-size:10px; }
.checkout-gift { display:flex; gap:12px; padding:15px; background:#fff0a6; margin-bottom:18px; }
.checkout-gift>span { font-size:22px; }.checkout-gift b { font-size:10px; }.checkout-gift small { font-size:9px; color:#6d6440; }
.qr-ready { display:flex; gap:11px; align-items:center; margin:-4px 0 14px; padding:12px; color:#294d24; background:#e5f1dc; border:1px solid #8eaf76; }
.qr-ready>span { width:38px; height:38px; display:grid; place-items:center; color:#fff; background:#294d24; font-size:10px; font-weight:800; }
.qr-ready p { margin:0; display:flex; flex-direction:column; gap:3px; }.qr-ready b { font-size:9px; }.qr-ready small { font-size:8px; color:#51704c; line-height:1.4; }
.payment-qr-image { width:min(230px,48vw); height:auto; border-radius:12px; background:#fff; }.qr-ready:has(.payment-qr-image) { flex-direction:column; text-align:center; }.qr-ready:has(.payment-qr-image) p { display:grid; gap:7px; }
.checkout-btn:disabled { opacity:.45; cursor:not-allowed; }
.terms-note { display:block; text-align:center; color:#77746c; font-size:8px; line-height:1.6; margin-top:12px; }

.lookup-page { min-height:700px; display:grid; grid-template-columns:1fr 1fr; }
.lookup-box { padding:90px 8vw; }
.lookup-box>p { color:#77746c; margin-bottom:30px; }
.lookup-box label { display:flex; flex-direction:column; gap:8px; margin-bottom:16px; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.lookup-box>small { display:block; margin-top:25px; color:#77746c; font-size:9px; line-height:1.6; }
.lookup-result { margin-top:16px; padding:16px; background:#f4d8d1; color:#6b2f25; font-size:11px; }
.lookup-result p { margin-bottom:0; line-height:1.6; }
.lookup-poster { position:relative; overflow:hidden; padding:90px 7vw; background:var(--blue); color:#fff; display:flex; flex-direction:column; justify-content:center; }
.lookup-poster::before { content:""; position:absolute; width:420px; height:420px; border:70px solid var(--yellow); border-radius:50%; right:-120px; top:70px; opacity:.95; }
.lookup-poster span,.lookup-poster strong,.lookup-poster b { position:relative; z-index:1; }
.lookup-poster span { font-size:10px; letter-spacing:.2em; }
.lookup-poster strong { font-family:var(--font-display); font-size:clamp(70px,9vw,130px); line-height:.85; font-weight:400; margin:20px 0 40px; }
.lookup-poster b { font-size:9px; letter-spacing:.15em; }

.membership-hero { min-height:650px; padding:80px 10vw; display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; align-items:center; background:var(--blue); color:#fff; overflow:hidden; }
.membership-symbol.giant { width:300px; height:300px; font-size:95px; box-shadow:35px 35px 0 var(--yellow); }
.membership-hero h1,.collection-hero h1 { margin:16px 0 25px; font-family:var(--font-display); font-size:clamp(70px,9vw,125px); line-height:.9; font-weight:400; text-transform:uppercase; }
.membership-hero h1 em,.collection-hero h1 em { color:var(--yellow); font-style:normal; }
.membership-hero p { max-width:610px; color:#d3d8ee; line-height:1.8; margin-bottom:35px; }
.membership-steps { padding:100px 7vw; }
.step-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:35px; }
.step-grid article { min-height:260px; padding:30px; background:#fff; display:flex; flex-direction:column; align-items:flex-start; }
.step-grid article>span { font-family:var(--font-display); font-size:60px; color:var(--red); }
.step-grid article>b { font-size:15px; text-transform:uppercase; margin:22px 0 8px; }
.step-grid article>p { color:#77746c; font-size:12px; line-height:1.7; }
.membership-faq { padding:90px 7vw; background:#e6e0d3; display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; }
.faq-list details { padding:18px 0; border-bottom:1px solid #15151240; }
.faq-list summary { font-weight:700; font-size:13px; cursor:pointer; }
.faq-list p { color:#68655e; font-size:12px; line-height:1.7; max-width:700px; }

.collection-hero { min-height:700px; padding:70px 7vw; background:var(--red); color:#fff; display:grid; grid-template-columns:auto 1fr .8fr; gap:50px; align-items:center; overflow:hidden; }
.collection-number { align-self:start; font-family:var(--font-display); font-size:90px; color:var(--yellow); }
.collection-hero>div>p { max-width:500px; line-height:1.7; margin-bottom:35px; }
.collection-stack { position:relative; min-height:500px; }
.collection-stack div { position:absolute; width:330px; height:410px; display:grid; place-items:center; background:var(--yellow); color:var(--ink); font-family:var(--font-display); font-size:43px; border:2px solid var(--ink); box-shadow:12px 14px 0 #151512; }
.collection-stack div:nth-child(1) { transform:rotate(-9deg); left:0; top:45px; }.collection-stack div:nth-child(2) { transform:rotate(5deg); left:40px; top:25px; background:var(--blue); color:#fff; }.collection-stack div:nth-child(3) { transform:rotate(-2deg); left:20px; top:0; background:#eee8da; }
.collection-manifesto { padding:110px 7vw; display:flex; justify-content:center; gap:30px; text-align:center; background:var(--ink); color:#fff; }
.collection-manifesto span { font-family:serif; font-size:90px; color:var(--yellow); line-height:1; }
.collection-manifesto p { margin:0; font-family:var(--font-display); font-size:clamp(37px,5vw,70px); line-height:1.15; text-transform:uppercase; }

.policy-page { padding:80px 7vw 120px; }
.policy-layout { display:grid; grid-template-columns:240px 1fr; gap:80px; margin-top:60px; }
.policy-layout nav { display:flex; flex-direction:column; position:sticky; top:20px; align-self:start; }
.policy-layout nav a { padding:13px 0; border-bottom:1px solid #15151226; font-size:11px; font-weight:700; }
.policy-layout article { max-width:800px; }
.policy-layout article section { padding:0 0 55px; margin-bottom:50px; border-bottom:1px solid #15151226; }
.policy-layout article span { font-family:var(--font-display); font-size:38px; color:var(--red); }
.policy-layout article h2 { font-family:var(--font-display); font-size:46px; font-weight:400; text-transform:uppercase; margin:5px 0 15px; }
.policy-layout article p { color:#625f58; line-height:1.9; }

@media (max-width:1024px) {
  .main-nav { display:none; } .nav-shell { grid-template-columns:1fr auto; } .hero { grid-template-columns:1fr; } .hero-copy { min-height:auto; padding:52px 7vw; } .hero-stage { min-height:540px; }
  .product-grid { grid-template-columns:repeat(2,1fr); gap:14px; } .membership-strip { grid-template-columns:auto 1.15fr 1fr; } .membership-strip>a { grid-column:2/-1; justify-self:start; }
  .store-footer { grid-template-columns:1fr 1fr; } .catalog-grid { grid-template-columns:repeat(2,1fr); }
  .product-detail { grid-template-columns:1fr; } .product-art-large { min-height:600px; } .detail-story { grid-template-columns:1fr 1fr; } .material-card { grid-column:1/-1; }
  .cart-layout,.checkout-layout { grid-template-columns:1fr; } .order-summary,.checkout-summary { position:static; }
  .membership-hero { grid-template-columns:1fr 1fr; } .membership-symbol.giant { width:220px; height:220px; font-size:70px; }
  .collection-hero { grid-template-columns:auto 1fr; } .collection-stack { grid-column:1/-1; justify-self:center; width:370px; min-height:460px; }
}
@media (max-width:680px) {
  .announcement { height:22px; font-size:7px; gap:0; } .announcement-extra,.announcement-separator,.text-action,.icon-action { display:none; }
  .nav-shell { height:52px; padding:0 12px; } .brand { gap:7px; } .brand-mark { width:40px; height:27px; font-size:15px; } .brand-copy strong { font-size:16px; } .brand-copy small { font-size:6px; margin-top:4px; } .cart-action { padding:6px 8px; font-size:8px; } .cart-action span { width:16px; height:16px; margin-left:5px; }
  .hero { display:none; }
  .cover-hero { min-height:0; height:auto; overflow:visible; background:var(--ink); }
  .cover-hero-image { position:relative; inset:auto; display:block; width:100%; height:auto; aspect-ratio:1729/910; object-fit:contain; object-position:center; }
  .cover-hero-shade { display:none; }
  .cover-hero-content { position:relative; left:auto; right:auto; bottom:auto; min-height:auto; padding:14px 12px; gap:12px; border-left:3px solid var(--yellow); box-shadow:none; backdrop-filter:none; }
  .cover-hero-copy { display:block; }
  .cover-hero-copy>span { display:block; margin-bottom:4px; max-width:none; font-size:6px; }
  .cover-hero-copy h1 { max-width:220px; font-size:20px; line-height:1.12; }
  .cover-hero-copy p { display:none; }
  .cover-hero-content>a { padding:11px 10px; font-size:7px; }
  .cover-hero-content>a b { display:none; }
  .product-section { padding:28px 12px 60px; } .section-heading { align-items:flex-end; gap:12px; margin-bottom:18px; } .section-heading h2 { font-size:39px; } .section-heading .eyebrow { font-size:7px; letter-spacing:.1em; } .section-heading>a { font-size:8px; text-align:right; white-space:nowrap; } .product-grid { grid-template-columns:1fr; gap:14px; }
  .home-product-card { border-radius:2px; overflow:hidden; } .home-product-card .product-art { aspect-ratio:1/1; } .home-product-card .product-info { padding:14px 14px 13px; } .home-product-card .product-info h3 { min-height:0; margin:8px 0 12px; font-size:16px; line-height:1.35; } .home-product-card .product-bottom { gap:8px; } .quick-actions button { min-height:46px; font-size:9px; } .quick-purchase { padding-top:12px; margin-top:12px; } .quick-purchase>small { display:none; }
  .gift-sticker { top:13px; right:13px; width:90px; height:90px; }
  .gift-sticker strong { font-size:29px; }
  .product-art-large .gift-sticker { top:18px; right:18px; width:112px; height:112px; }
  .product-art-large .gift-sticker strong { font-size:37px; }
  .membership-strip { padding:42px 18px; grid-template-columns:1fr; gap:24px; } .membership-strip>a { grid-column:1; width:max-content; } .membership-symbol { width:82px; height:82px; } .membership-symbol strong { font-size:25px; } .membership-strip h2 { font-size:34px; } .membership-how span { font-size:10px; }
  .store-footer { padding:55px 22px 30px; grid-template-columns:1fr 1fr; gap:35px 20px; } .store-footer>div:first-child { grid-column:1/-1; }
  .catalog-hero { padding:55px 22px; } .catalog-shell { padding:25px 16px 70px; grid-template-columns:1fr; } .catalog-filters { position:static; display:grid; grid-template-columns:repeat(3,1fr); } .catalog-filters>b,.catalog-filters hr,.catalog-filters label { display:none; } .catalog-filters>a { justify-content:center; gap:5px; }
  .catalog-grid { grid-template-columns:1fr; } .breadcrumb { padding:16px; overflow:auto; white-space:nowrap; }
  .detail-visual { padding:12px; } .product-art-large { min-height:390px; } .purchase-panel { padding:32px 16px 40px; } .purchase-panel h1 { font-size:45px; } .detail-price { align-items:flex-start; flex-direction:column; gap:12px; } .purchase-actions { grid-template-columns:1fr 1.25fr; position:sticky; bottom:8px; z-index:5; padding:8px; margin:0 -8px; background:#fffffff2; box-shadow:0 5px 25px #15151226; } .add-cart-btn,.buy-now-btn { min-height:50px; padding:12px 8px; font-size:9px; }
  .detail-story { padding:75px 22px; grid-template-columns:1fr; gap:35px; } .material-card { grid-column:1; } .size-guide { padding:65px 22px; grid-template-columns:1fr; gap:35px; overflow:auto; } .size-guide table { min-width:560px; } .related-products { padding:65px 16px; }
  .cart-layout { padding:50px 16px 70px; gap:40px; } .cart-line { grid-template-columns:100px 1fr; gap:15px; } .cart-thumb { width:100px; height:125px; } .cart-line-side { grid-column:2; align-items:flex-start; } .cart-line-info>button { margin-top:10px; } .cart-line-side .quantity-control { margin-top:0; }
  .empty-cart h1 { font-size:48px; } .checkout-layout { padding:50px 16px 70px; gap:40px; } .form-grid { grid-template-columns:1fr; gap:0; } .account-connect { align-items:flex-start; flex-direction:column; gap:15px; } .payment-option.qr-only { grid-template-columns:auto 1fr; } .payment-option.qr-only em { grid-column:2; justify-self:start; } .payment-aftercare { grid-template-columns:auto 1fr; }
  .lookup-page { grid-template-columns:1fr; } .lookup-box { padding:65px 22px; } .lookup-poster { min-height:500px; padding:60px 22px; }
  .membership-hero { padding:70px 22px; grid-template-columns:1fr; gap:65px; } .membership-symbol.giant { width:170px; height:170px; font-size:55px; } .membership-hero h1 { font-size:64px; } .membership-steps { padding:70px 16px; } .step-grid { grid-template-columns:1fr; } .membership-faq { padding:70px 22px; grid-template-columns:1fr; gap:40px; }
  .collection-hero { padding:60px 22px; grid-template-columns:1fr; gap:20px; } .collection-number { font-size:60px; } .collection-hero h1 { font-size:75px; } .collection-stack { grid-column:1; width:290px; min-height:400px; } .collection-stack div { width:260px; height:340px; font-size:35px; } .collection-manifesto { padding:75px 20px; gap:8px; }
  .policy-page { padding:60px 22px 80px; } .policy-layout { grid-template-columns:1fr; gap:45px; } .policy-layout nav { position:static; } .policy-page>h1 { font-size:64px; }
}

/* AEP platform design language */
:root {
  --ink:#111827;
  --paper:#f9fafb;
  --red:#ef4444;
  --yellow:#f0c040;
  --blue:#4f46e5;
  --aep-purple:#a855f7;
  --aep-sky:#3b82f6;
  --aep-muted:#6b7280;
  --aep-border:#e5e7eb;
  --aep-surface:rgba(255,255,255,.82);
}

body {
  background:#f9fafb;
  background-image:linear-gradient(125deg,#f3e8ff 0%,#e0f2fe 50%,#fdf4f4 100%);
  background-attachment:fixed;
  color:var(--ink);
}

.site-header { box-shadow:none; }
.nav-shell {
  height:56px;
  padding:0 clamp(16px,3vw,42px);
  border-bottom:1px solid rgba(0,0,0,.08);
  background:rgba(255,255,255,.76);
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
}
.brand { gap:9px; }
.aep-platform-wordmark {
  display:inline-flex;
  align-items:baseline;
  gap:8px;
  font-family:var(--font-vietnam),Arial,sans-serif;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}
.aep-name,.shop-subbrand {
  background:-webkit-linear-gradient(45deg,#ef4444,#a855f7,#4f46e5);
  background:linear-gradient(45deg,#ef4444,#a855f7,#4f46e5);
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}
.aep-name { font-size:24px; font-weight:800; letter-spacing:-.02em; }
.shop-subbrand { font-size:9px; font-weight:800; letter-spacing:.14em; }
.main-nav { gap:4px; font-size:11px; }
.main-nav a { padding:9px 13px; border-radius:999px; color:#6b7280; transition:.18s ease; }
.main-nav a::after { display:none; }
.main-nav a:hover { color:#2563eb; background:rgba(59,130,246,.06); }
.main-nav a.active { color:#2563eb; background:rgba(59,130,246,.1); }
.nav-actions { gap:7px; font-size:10px; }
.platform-action { display:inline-flex; align-items:center; gap:5px; padding:8px 11px; border-radius:999px; color:#4b5563; }
.platform-action:hover { background:rgba(0,0,0,.04); }
.account-action { display:flex; align-items:center; gap:6px; padding:4px 9px 4px 4px; border-radius:999px; color:#4b5563; background:rgba(255,255,255,.65); border:1px solid rgba(0,0,0,.07); }
.account-action>span { width:25px; height:25px; display:grid; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(135deg,#3b82f6,#a855f7); font-size:9px; font-weight:800; }
.account-action>b { font-size:9px; }
.cart-action { display:inline-flex; align-items:center; gap:6px; padding:7px 8px 7px 10px; border:1px solid rgba(0,0,0,.1); border-radius:999px; background:rgba(255,255,255,.72); font-size:8px; letter-spacing:.03em; }
.cart-action .cart-label { display:inline; width:auto; height:auto; margin:0; color:inherit; background:none; border-radius:0; }
.cart-action .cart-count { margin-left:0; width:19px; height:19px; background:#3b82f6; }
.announcement { height:25px; color:#4b5563; background:rgba(255,255,255,.58); border-bottom:1px solid rgba(0,0,0,.05); font-size:7px; }
.announcement .announcement-separator { color:#8b5cf6; }.announcement .announcement-extra { color:#4b5563; }
.mobile-shop-bar { display:none; }

.cover-hero { width:min(1400px,calc(100% - 32px)); margin:18px auto 0; border-radius:24px; box-shadow:0 18px 55px rgba(31,41,55,.14); }
.cover-hero-content { border:1px solid rgba(255,255,255,.12); border-radius:18px; background:rgba(17,24,39,.84); box-shadow:0 16px 40px rgba(0,0,0,.22); backdrop-filter:saturate(140%) blur(18px); }
.cover-hero-copy h1 em { color:#c4b5fd; }
.cover-hero-content>a,.membership-strip>a,.primary-btn { color:#fff; background:linear-gradient(135deg,#3b82f6,#7c3aed); border-radius:999px; box-shadow:0 6px 16px rgba(79,70,229,.2); }

.product-section,.catalog-shell,.cart-layout,.checkout-layout,.size-guide,.membership-steps,.policy-page { width:min(1280px,100%); margin-left:auto; margin-right:auto; }
.product-section { padding-top:64px; }
.section-heading h2,.membership-strip h2 { font-size:clamp(32px,4vw,52px); letter-spacing:-.045em!important; line-height:1.05; text-transform:none; }
.section-heading>a { color:#4f46e5; border:0; }
.eyebrow,.page-kicker { color:#7c3aed; }
.eyebrow>span { height:2px; background:linear-gradient(90deg,#ef4444,#8b5cf6); }

.product-card { overflow:hidden; border:1px solid rgba(17,24,39,.07); border-radius:18px; background:rgba(255,255,255,.9); box-shadow:0 6px 20px rgba(17,24,39,.06); }
.product-card:hover { transform:translateY(-3px); box-shadow:0 14px 30px rgba(17,24,39,.1); }
.product-info { padding:18px 18px 20px; }
.product-meta { color:#6b7280; }.product-meta b { color:#7c3aed; }
.gift-sticker { color:#78350f; background:linear-gradient(135deg,#f5d77a 0%,#f0c040 45%,#e8a820 100%); border-color:#fff; box-shadow:0 8px 22px rgba(146,64,14,.22); }
.gift-sticker small { color:#92400e; }.gift-sticker b { color:#78350f; }
.quick-purchase { border-color:#e5e7eb; }
.quick-actions button { border-radius:11px; font-size:10px; text-transform:none; }
.quick-add { border-color:#d1d5db!important; color:#374151; background:#f9fafb; }
.quick-add:hover,.quick-add.added { color:#fff; background:#111827; }
.quick-buy,.buy-now-btn,.checkout-btn { border:0!important; background:linear-gradient(135deg,#3b82f6,#7c3aed); box-shadow:0 5px 14px rgba(79,70,229,.2); }
.quick-buy:hover,.buy-now-btn:hover,.checkout-btn:hover { background:linear-gradient(135deg,#2563eb,#6d28d9); }

.membership-strip { width:min(1280px,calc(100% - 32px)); margin:0 auto 28px; color:#111827; background:rgba(255,255,255,.78); border:1px solid rgba(255,255,255,.8); border-radius:24px; box-shadow:0 12px 34px rgba(31,41,55,.08); backdrop-filter:blur(18px); }
.membership-symbol { color:#78350f; background:linear-gradient(135deg,#f5d77a,#e8a820); border-color:#fff; box-shadow:0 8px 24px rgba(146,64,14,.18); }
.membership-strip h2 { color:#111827; }
.eyebrow.light { color:#7c3aed; }.eyebrow.light>span { background:#8b5cf6; }
.membership-how span { color:#6b7280; border-color:#e5e7eb; }.membership-how b { color:#7c3aed; }

.catalog-hero { width:min(1280px,calc(100% - 32px)); margin:18px auto 0; padding:54px 5vw; border:1px solid rgba(255,255,255,.85); border-radius:24px; background:rgba(255,255,255,.7); box-shadow:0 12px 34px rgba(31,41,55,.06); backdrop-filter:blur(16px); }
.catalog-hero h1,.policy-page>h1,.lookup-box h1 { font-size:clamp(48px,6vw,82px); text-transform:none; letter-spacing:-.055em; }
.catalog-shell { padding-top:28px; }
.catalog-filters { padding:18px; border:1px solid var(--aep-border); border-radius:16px; background:rgba(255,255,255,.72); box-shadow:0 5px 18px rgba(31,41,55,.05); }
.catalog-filters>a { border-radius:9px; padding:9px 10px; }.catalog-filters>a.active { color:#2563eb; border:0; background:#eff6ff; }

.product-detail { width:min(1400px,calc(100% - 32px)); min-height:0; margin:18px auto; overflow:hidden; border:1px solid rgba(17,24,39,.08); border-radius:24px; box-shadow:0 18px 45px rgba(31,41,55,.1); }
.detail-visual { background:rgba(255,255,255,.48); }.purchase-panel { background:rgba(255,255,255,.94); }
.purchase-panel h1 { text-transform:none; font-size:clamp(42px,4vw,64px); }
.detail-price span { border-radius:999px; color:#78350f; background:#fef3c7; }
.size-list button,.quantity-control,.add-cart-btn { border-radius:10px; }
.size-list button.selected { background:linear-gradient(135deg,#3b82f6,#7c3aed); border-color:transparent; }
.detail-story { width:min(1280px,calc(100% - 32px)); margin:20px auto; border-radius:24px; background:linear-gradient(135deg,#111827,#312e81); }
.size-guide { margin-top:20px; margin-bottom:20px; border-radius:24px; background:rgba(255,255,255,.66); }
.related-products { background:transparent; }

.order-summary,.checkout-summary { border:1px solid var(--aep-border); border-radius:18px; background:rgba(255,255,255,.9); box-shadow:0 10px 30px rgba(31,41,55,.08); }
.cart-line { border-color:#e5e7eb; }.cart-thumb { overflow:hidden; border-radius:14px; }
.account-connect,.delivery-required,.payment-option,.qr-ready,.order-summary .summary-gift,.checkout-gift { border-radius:14px; }
.account-connect.connected { background:#ecfdf5; border-color:#a7f3d0; }
.account-connect>div>span { background:linear-gradient(135deg,#3b82f6,#a855f7); }
.account-connect button { border-radius:999px; background:#111827; }
.delivery-required { color:#854d0e; background:#fffbeb; border:1px solid #fde68a; }
.checkout-form input,.checkout-form select,.checkout-form textarea,.lookup-box input { border-color:#d1d5db; border-radius:11px; }
.checkout-form input:focus,.checkout-form select:focus,.checkout-form textarea:focus,.lookup-box input:focus { border-color:#3b82f6; box-shadow:0 0 0 3px rgba(59,130,246,.14); }
.payment-option.qr-only { border-color:#c7d2fe; background:#f8faff; }
.payment-qr { border-radius:11px; background:linear-gradient(135deg,#3b82f6,#7c3aed); }
.payment-option em { border-radius:999px; color:#78350f; background:linear-gradient(135deg,#f5d77a,#f0c040); }
.payment-aftercare>span { background:linear-gradient(135deg,#3b82f6,#8b5cf6); }
.checkout-btn,.add-cart-btn,.buy-now-btn { border-radius:12px; text-transform:none; }

.membership-hero,.collection-hero,.lookup-poster { width:min(1400px,calc(100% - 32px)); margin:18px auto; border-radius:24px; background:linear-gradient(135deg,#4f46e5,#7c3aed,#a855f7); box-shadow:0 18px 45px rgba(79,70,229,.2); }
.membership-symbol.giant { box-shadow:22px 22px 0 rgba(255,255,255,.16); }
.step-grid article { border:1px solid var(--aep-border); border-radius:18px; box-shadow:0 8px 24px rgba(31,41,55,.06); }
.step-grid article>span { color:#7c3aed; }
.membership-faq { width:min(1280px,calc(100% - 32px)); margin:20px auto; border-radius:24px; background:rgba(255,255,255,.72); }
.collection-manifesto { width:min(1280px,calc(100% - 32px)); margin:20px auto; border-radius:24px; background:linear-gradient(135deg,#111827,#312e81); }

.store-footer { margin-top:32px; padding:54px max(7vw,24px) 28px; border-top:1px solid rgba(0,0,0,.06); background:rgba(255,255,255,.72); backdrop-filter:blur(18px); }
.store-footer>div { color:#6b7280; }.store-footer>div>b { color:#374151; }.store-footer a:not(.brand):hover { color:#7c3aed; }
.footer-external { display:inline-flex!important; flex-direction:row!important; align-items:center; gap:5px; }

@media (max-width:1024px) {
  .main-nav { display:none; }
  .nav-shell { grid-template-columns:1fr auto; }
  .platform-action { display:none; }
}

@media (max-width:680px) {
  body { padding-bottom:88px; }
  .nav-shell { height:50px; padding:0 12px; }
  .brand { gap:0; }.aep-platform-wordmark { gap:6px; }.aep-name { font-size:20px; }.shop-subbrand { font-size:8px; }
  .account-action { display:none; }.cart-action { padding:5px 7px 5px 9px; }
  .cart-action .cart-label { display:none; }
  .announcement { height:22px; color:#6b7280; background:rgba(255,255,255,.7); }
  .mobile-shop-bar { position:fixed; z-index:70; left:50%; bottom:calc(12px + env(safe-area-inset-bottom,0px)); transform:translateX(-50%); display:flex; align-items:center; gap:2px; padding:6px 8px; border:1px solid rgba(0,0,0,.08); border-radius:999px; background:rgba(255,255,255,.78); box-shadow:0 8px 32px rgba(0,0,0,.14); backdrop-filter:saturate(180%) blur(24px); -webkit-backdrop-filter:saturate(180%) blur(24px); }
  .mobile-shop-bar a { position:relative; width:48px; height:40px; display:grid; place-items:center; border-radius:999px; color:#6b7280; line-height:1; transition:.18s ease; }
  .mobile-shop-bar a>svg { width:21px; height:21px; stroke-width:2; }
  .mobile-shop-bar a.active { color:#2563eb; background:rgba(59,130,246,.11); }
  .mobile-shop-bar a>b { position:absolute; top:1px; right:4px; min-width:16px; height:16px; padding:0 3px; display:grid; place-items:center; border-radius:999px; color:#fff; background:#ef4444; border:1.5px solid #fff; font-size:8px; }

  .cover-hero { width:calc(100% - 20px); margin-top:10px; border-radius:18px; }
  .cover-hero-content { border:0; border-top:1px solid rgba(255,255,255,.1); border-left:0; border-radius:0 0 18px 18px; background:#111827; }
  .cover-hero-content>a { border-radius:999px; }
  .product-section { padding:34px 12px 58px; }
  .section-heading h2 { font-size:32px; }.section-heading>a { color:#4f46e5; }
  .home-product-card { border-radius:18px; }
  .quick-actions button { border-radius:11px; }
  .membership-strip { width:calc(100% - 24px); padding:28px 18px; border-radius:20px; }
  .membership-strip h2 { font-size:30px; }
  .store-footer { margin-top:18px; padding:44px 20px 105px; }

  .catalog-hero { width:calc(100% - 24px); margin-top:12px; padding:38px 20px; border-radius:20px; }
  .catalog-hero h1,.policy-page>h1,.lookup-box h1 { font-size:44px; }
  .catalog-shell { padding:20px 12px 60px; }
  .catalog-filters { padding:6px; border-radius:14px; }
  .product-detail { width:calc(100% - 20px); margin:10px auto; border-radius:20px; }
  .detail-story,.membership-hero,.collection-hero,.lookup-poster,.membership-faq,.collection-manifesto { width:calc(100% - 24px); border-radius:20px; }
  .purchase-panel h1 { font-size:38px; }
  .purchase-actions { bottom:78px; border-radius:16px; }
  .size-guide { border-radius:20px; }
  .cart-layout,.checkout-layout { padding:42px 12px 60px; }
  .cart-lines>h1,.checkout-form>h1 { font-size:42px; text-transform:none; }
  .order-summary,.checkout-summary { border-radius:16px; }
  .account-connect,.delivery-required,.payment-option.qr-only { border-radius:14px; }
}

/* Platform navigation and customer login */
.header-brand-group { display:flex; align-items:center; gap:10px; width:max-content; }
.platform-home { width:32px; height:32px; display:grid; place-items:center; flex:none; border:1px solid rgba(0,0,0,.08); border-radius:50%; color:#4f46e5; background:rgba(255,255,255,.72); transition:.18s ease; }
.platform-home:hover { color:#fff; border-color:transparent; background:linear-gradient(135deg,#3b82f6,#7c3aed); transform:translateY(-1px); }
.platform-home .lucide { width:16px; height:16px; }
.account-action.active { color:#2563eb; background:rgba(59,130,246,.1); }
.account-connect .account-switch { flex:none; padding:10px 14px; border-radius:999px; color:#fff; background:#111827; font-size:9px; font-weight:800; }

.customer-login-page { width:min(1120px,calc(100% - 32px)); min-height:620px; margin:24px auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.8fr); overflow:hidden; border:1px solid rgba(17,24,39,.08); border-radius:24px; background:rgba(255,255,255,.82); box-shadow:0 18px 45px rgba(31,41,55,.1); }
.customer-login-card { padding:64px clamp(28px,6vw,82px); display:flex; flex-direction:column; justify-content:center; }
.login-mark { width:52px; height:52px; display:grid; place-items:center; margin-bottom:24px; border-radius:16px; color:#fff; background:linear-gradient(135deg,#3b82f6,#a855f7); box-shadow:0 10px 24px rgba(79,70,229,.22); }
.login-mark .lucide { width:25px; height:25px; }
.customer-login-card h1 { margin:12px 0; font-size:clamp(46px,6vw,72px); line-height:1; letter-spacing:-.055em; }
.customer-login-card>p { max-width:560px; margin:0 0 26px; color:#6b7280; line-height:1.7; }
.customer-login-card form { display:grid; gap:14px; }
.customer-login-card label { display:grid; gap:8px; font-size:9px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.customer-login-card input { width:100%; padding:15px 16px; border:1px solid #d1d5db; border-radius:11px; background:#fff; }
.customer-login-card input:focus { outline:0; border-color:#3b82f6; box-shadow:0 0 0 3px rgba(59,130,246,.14); }
.customer-login-card .checkout-btn { margin-top:4px; display:flex; align-items:center; justify-content:center; gap:8px; }
.customer-login-card>small { margin-top:18px; color:#6b7280; }.customer-login-card>small a { color:#4f46e5; font-weight:700; }
.sso-options { display:grid; gap:12px; }
.sso-button { min-height:68px; display:grid; grid-template-columns:34px 1fr 20px; align-items:center; gap:12px; padding:12px 16px; border:1px solid #d1d5db; border-radius:14px; color:#111827; background:#fff; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.sso-button:hover { transform:translateY(-1px); border-color:#818cf8; box-shadow:0 10px 24px rgba(79,70,229,.1); }
.sso-button>span { display:grid; gap:3px; }.sso-button b { font-size:13px; }.sso-button small { color:#6b7280; font-size:10px; }.sso-button>.lucide:last-child { width:18px; }
.sso-button.phone { background:#f8f7ff; }
.login-error { margin:0 0 16px; padding:12px 14px; border:1px solid #fecaca; border-radius:12px; color:#991b1b; background:#fef2f2; font-size:11px; font-weight:700; }
.signed-account { display:grid; gap:5px; margin:0 0 18px; padding:18px; border:1px solid #c7d2fe; border-radius:14px; background:#eef2ff; }.signed-account b { font-size:16px; }.signed-account span { color:#4b5563; font-size:11px; }
.sso-link { text-decoration:none; display:flex; align-items:center; justify-content:center; gap:8px; }
.customer-login-card form:has(.sso-logout) { margin-top:10px; }.sso-logout { border:0; color:#6b7280; background:transparent; cursor:pointer; text-decoration:underline; }
.customer-login-status { margin-top:16px; padding:14px 16px; display:grid; gap:4px; border:1px solid #c7d2fe; border-radius:12px; color:#3730a3; background:#eef2ff; }
.customer-login-status[hidden] { display:none; }.customer-login-status span { font-size:11px; line-height:1.5; }
.login-benefits { padding:58px 44px; display:flex; flex-direction:column; justify-content:center; color:#fff; background:linear-gradient(145deg,#111827,#312e81 58%,#6d28d9); }
.login-benefits>span { width:66px; height:66px; display:grid; place-items:center; border-radius:50%; color:#78350f; background:linear-gradient(135deg,#f5d77a,#e8a820); font-weight:800; }
.login-benefits h2 { margin:24px 0 16px; font-size:clamp(36px,4vw,54px); line-height:1.02; letter-spacing:-.05em; }.login-benefits p { color:#ddd6fe; line-height:1.7; }
.login-benefits ul { margin:24px 0 0; padding:0; display:grid; gap:14px; list-style:none; }.login-benefits li { display:flex; align-items:center; gap:10px; font-size:12px; font-weight:600; }.login-benefits li .lucide { color:#f5d77a; }

@media (max-width:680px) {
  .header-brand-group { gap:7px; }
  .platform-home { width:38px; height:38px; }
  .platform-home .lucide { width:15px; height:15px; }
  .customer-login-page { width:calc(100% - 20px); min-height:0; margin:10px auto; grid-template-columns:1fr; border-radius:20px; }
  .customer-login-card { padding:38px 22px 32px; }
  .customer-login-card h1 { font-size:46px; }
  .login-benefits { padding:36px 24px 40px; }
  .login-benefits h2 { font-size:36px; }
}

/* Mobile usability pass */
@media (max-width:680px) {
  html { scroll-padding-bottom:112px; }

  .nav-shell { gap:8px; }
  .cart-action { min-width:48px; min-height:38px; justify-content:center; }
  .mobile-shop-bar a { height:44px; }
  .mobile-shop-bar a>b[hidden] { display:none; }

  .catalog-filters>a { min-height:44px; align-items:center; }
  .breadcrumb { overflow:hidden; }
  .breadcrumb b { min-width:0; overflow:hidden; text-overflow:ellipsis; }
  .account-connect .account-switch { min-height:42px; display:inline-flex; align-items:center; }
  .cart-line-info>button { min-height:40px; display:inline-flex; align-items:center; }
  .quantity-control button { width:42px; height:42px; }
  .checkout-btn,.add-cart-btn,.buy-now-btn { min-height:52px; }

  .product-art-large .gift-sticker {
    top:12px;
    right:12px;
    width:98px;
    height:98px;
    padding:11px 8px;
  }
  .product-art-large .gift-sticker strong { font-size:32px; }
  .product-art-large .gift-sticker small { font-size:7px; }
  .product-art-large .gift-sticker b { max-width:72px; font-size:6.5px; }

  .size-guide {
    width:calc(100% - 24px);
    padding:38px 14px;
    gap:24px;
    overflow:hidden;
  }
  .size-guide table { width:100%; min-width:0; table-layout:fixed; font-size:9px; }
  .size-guide th,.size-guide td { padding:10px 4px; text-align:center; line-height:1.35; }
  .size-guide th { font-size:7px; letter-spacing:.04em; }
  .size-guide th:first-child,.size-guide td:first-child { width:36px; text-align:left; }

  .collection-hero { padding:44px 20px 52px; gap:16px; }
  .collection-number { font-size:48px; }
  .collection-hero h1 { font-size:clamp(54px,17vw,66px); line-height:.9; }
  .collection-stack { width:100%; max-width:260px; min-height:360px; justify-self:center; }
  .collection-stack div { left:50%!important; width:calc(100% - 24px); height:310px; font-size:30px; }
  .collection-stack div:nth-child(1) { transform:translateX(-50%) rotate(-7deg); }
  .collection-stack div:nth-child(2) { transform:translateX(-50%) rotate(4deg); }
  .collection-stack div:nth-child(3) { transform:translateX(-50%) rotate(-1deg); }
  .collection-manifesto { display:grid; grid-template-columns:1fr; padding:54px 22px; text-align:left; }
  .collection-manifesto span { font-size:52px; }
  .collection-manifesto span:last-child { justify-self:end; }
  .collection-manifesto p { font-size:32px; }

  .membership-hero { padding:52px 20px 58px; gap:44px; }
  .membership-symbol.giant { width:150px; height:150px; font-size:48px; }
  .membership-hero h1 { font-size:56px; }
  .lookup-poster { min-height:390px; }

  .policy-layout nav { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  .policy-layout nav a { min-height:44px; padding:11px 12px; display:flex; align-items:center; border:1px solid #e5e7eb; border-radius:10px; background:rgba(255,255,255,.72); }

  .order-summary .checkout-btn,.checkout-summary .checkout-btn { scroll-margin-bottom:112px; }
  .store-footer a:not(.brand) { min-height:36px; display:flex; align-items:center; }
}

@media (max-width:360px) {
  .aep-platform-wordmark { gap:5px; }
  .aep-name { font-size:18px; }
  .shop-subbrand { font-size:7px; }
  .header-brand-group { gap:6px; }
  .platform-home { width:36px; height:36px; }

  .collection-hero h1 { font-size:52px; }
  .membership-hero h1 { font-size:48px; }
  .catalog-hero h1,.policy-page>h1,.lookup-box h1 { font-size:40px; }
  .cart-lines>h1,.checkout-form>h1 { font-size:38px; }
  .customer-login-card h1 { font-size:42px; }
}

/* Mobile type scale: preserve emphasis without burying products and actions below the fold. */
@media (max-width:860px) {
  .catalog-hero h1,
  .policy-page>h1,
  .lookup-box h1 { font-size:clamp(36px,7vw,48px); line-height:1.02; }

  .cart-lines>h1,
  .checkout-form>h1 { font-size:clamp(36px,7vw,50px); line-height:1.02; }

  .customer-login-card h1 { font-size:clamp(38px,7vw,50px); }
  .login-benefits h2 { font-size:clamp(32px,6vw,44px); line-height:1.04; }
}

@media (max-width:680px) {
  .section-heading h2 { font-size:27px; }
  .catalog-hero { padding:32px 20px; }
  .catalog-hero h1,
  .policy-page>h1,
  .lookup-box h1 { font-size:34px; }

  .cart-layout,.checkout-layout { padding-top:32px; }
  .cart-lines>h1,.checkout-form>h1 { margin-bottom:26px; font-size:34px; }
  .cart-line { grid-template-columns:92px minmax(0,1fr); gap:14px; padding:18px 0; }
  .cart-thumb { width:92px; height:116px; }
  .cart-line-info h2 { margin:6px 0 8px; font-size:16px; }
  .cart-line-side { grid-column:2; gap:5px; }
  .cart-line-side .quantity-control { margin-top:4px; }

  .membership-hero h1 { font-size:44px; line-height:.98; }
  .customer-login-card h1 { font-size:40px; }
  .login-benefits h2 { margin-top:20px; font-size:31px; }
  .login-benefits p { font-size:14px; }
}

/* Final mobile guardrails: compact hierarchy and zero horizontal overflow. */
html,body { max-width:100%; overflow-x:hidden; overflow-x:clip; }
img,svg { max-width:100%; }

@media (max-width:680px) {
  h1,h2,h3,p,a,button,small,strong { overflow-wrap:anywhere; }

  .catalog-hero h1,
  .policy-page>h1,
  .lookup-box h1,
  .cart-lines>h1,
  .checkout-form>h1,
  .empty-cart h1 { font-size:32px; line-height:1.06; letter-spacing:-.04em!important; }

  .purchase-panel h1 { font-size:32px; line-height:1.08; }
  .membership-hero h1 { font-size:38px; line-height:1; }
  .collection-hero h1 { font-size:40px; line-height:.98; }
  .customer-login-card h1 { font-size:34px; line-height:1.05; }
  .login-benefits h2 { font-size:28px; line-height:1.08; }

  .detail-story h2,
  .size-guide h2,
  .related-products h2,
  .membership-steps h2,
  .membership-faq h2 { font-size:28px; line-height:1.08; }
  .policy-layout article h2 { font-size:27px; line-height:1.1; }
  .collection-manifesto p { font-size:24px; line-height:1.2; }
  .lookup-poster strong { font-size:48px; line-height:.92; }

  .detail-story,.membership-steps,.membership-faq,.policy-page { padding-top:48px; padding-bottom:48px; }
  .membership-hero { padding-top:48px; padding-bottom:52px; gap:38px; }
  .collection-hero { padding-top:42px; padding-bottom:48px; }
  .lookup-box { padding:48px 20px; }
  .lookup-poster { min-height:360px; padding:44px 20px; }

  .product-info h3,.cart-line-info h2 { overflow-wrap:anywhere; }
  .purchase-actions,.quick-actions { min-width:0; }
  .purchase-actions button,.quick-actions button { white-space:normal; line-height:1.25; }
  .store-footer { grid-template-columns:1fr; gap:28px; }
  .store-footer>div:first-child { grid-column:1; }
}

@media (max-width:360px) {
  .catalog-hero h1,.policy-page>h1,.lookup-box h1,
  .cart-lines>h1,.checkout-form>h1,.empty-cart h1,
  .purchase-panel h1 { font-size:29px; }
  .membership-hero h1 { font-size:34px; }
  .collection-hero h1 { font-size:36px; }
  .cover-hero-copy h1 { font-size:18px; }
  .quick-actions { grid-template-columns:1fr; }
  .purchase-actions { grid-template-columns:1fr; }
}
