*{margin:0;padding:0;box-sizing:border-box}
:root{--black:#080808;--white:#f4f3ef;--gray:#969696;--dark:#151515;--border:#2a2a2a;--blue:#a9cde3}
html{scroll-behavior:smooth}
body{background:var(--black);color:var(--white);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
body.cart-open{overflow:hidden}
a{color:inherit;text-decoration:none}img{width:100%;display:block}button,input{font:inherit}
.navbar{position:fixed;top:0;left:0;width:100%;height:76px;padding:0 40px;display:flex;align-items:center;justify-content:space-between;z-index:1000;background:rgba(0,0,0,.45);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.14)}
.navbar--solid{background:rgba(8,8,8,.96)}
.logo{font-size:14px;font-weight:700;letter-spacing:2px}.nav-links{display:flex;gap:35px}.nav-links a,.nav-actions button{font-size:10px;letter-spacing:1.6px;text-transform:uppercase}.nav-links a:hover{opacity:.55}.nav-actions{display:flex;gap:20px}.nav-actions button{border:0;background:none;color:white;cursor:pointer}
.eyebrow{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gray);margin-bottom:20px}.eyebrow.light{color:white}.eyebrow.dark{color:#222}
.hero-image {position: absolute;inset: 0; width: 100%;height: 100%; object-fit: cover;/* Move the photo DOWN so the faces stay visible */ object-position: center 25%;  z-index: 0;}
.hero-button,.light-outline-button,.dark-button,.cart-view-button{display:inline-block;border:1px solid white;padding:16px 28px;font-size:10px;letter-spacing:2px;text-transform:uppercase;transition:.25s}.hero-button:hover,.light-outline-button:hover{background:white;color:black}.dark-button{border-color:#080808;width:max-content}.dark-button:hover{background:#080808;color:white}
.collection-intro{min-height:75vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 30px}.collection-intro h2{font-size:clamp(55px,9vw,135px);line-height:.83;letter-spacing:-6px;margin-bottom:35px}.intro-copy{max-width:450px;color:var(--gray);line-height:1.7;font-size:13px}
.featured{padding:90px 40px 150px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.section-heading h2{font-size:clamp(55px,7vw,100px);letter-spacing:-5px;line-height:.9}.text-link{font-size:10px;letter-spacing:2px;border-bottom:1px solid white;padding-bottom:5px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product-grid--four{grid-template-columns:repeat(4,1fr)}.product-image{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--dark)}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.product-card:hover img{transform:scale(1.025)}.product-info{display:flex;justify-content:space-between;gap:12px;padding-top:15px}.product-info h3{font-size:13px;margin-bottom:7px}.product-info p{color:var(--gray);font-size:10px}.product-info>span{font-size:10px;white-space:nowrap}
.campaign-wide{position:relative;height:85vh;overflow:hidden}.campaign-wide img{width:100%;height:100%;object-fit:cover}.campaign-caption{position:absolute;bottom:30px;left:35px;display:flex;gap:20px;font-size:10px;letter-spacing:2px;text-transform:uppercase}
.special-edition{display:grid;grid-template-columns:1.15fr .85fr;min-height:100vh;background:var(--blue);color:#080808}.special-image{min-height:100vh}.special-image img{width:100%;height:100%;object-fit:cover}.special-content{display:flex;flex-direction:column;justify-content:center;padding:70px}.special-content h2{font-size:clamp(70px,9vw,145px);letter-spacing:-7px;line-height:.78;margin-bottom:35px}.special-content>p:not(.eyebrow){margin-bottom:30px;font-size:13px}
.editorial-split{display:grid;grid-template-columns:1fr 1fr;min-height:95vh}.editorial-image{overflow:hidden}.editorial-image img{width:100%;height:100%;object-fit:cover}.editorial-copy{display:flex;flex-direction:column;justify-content:center;padding:70px}.editorial-copy h2{font-size:clamp(55px,7vw,110px);line-height:.84;letter-spacing:-6px;margin-bottom:35px}.editorial-copy>p:not(.eyebrow){max-width:450px;color:var(--gray);line-height:1.8;font-size:13px;margin-bottom:30px}
.gallery{padding:130px 30px}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.gallery-item{overflow:hidden;min-height:550px}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery-item:hover img{transform:scale(1.015)}.gallery-large{grid-row:span 2}.gallery-wide{grid-column:1/-1;min-height:75vh}
.statement{min-height:90vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:100px 30px}.statement p{color:var(--gray);font-size:10px;letter-spacing:4px;margin-bottom:30px}.statement h2{font-size:clamp(55px,9vw,140px);line-height:.82;letter-spacing:-6px}
.newsletter{padding:140px 30px;text-align:center;background:#efeee9;color:#080808}.newsletter h2{font-size:clamp(45px,6vw,90px);letter-spacing:-4px;margin-bottom:20px}.newsletter>p:not(.eyebrow){font-size:12px;margin-bottom:35px}.newsletter-form{max-width:550px;margin:0 auto;display:flex;border-bottom:1px solid black}.newsletter-form input{flex:1;padding:17px 0;background:transparent;border:0;outline:0;font-size:11px;letter-spacing:1px}.newsletter-form button{border:0;background:transparent;cursor:pointer;font-size:10px;letter-spacing:2px}
footer{padding:55px 40px;border-top:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center}.footer-logo{font-size:13px;font-weight:700;letter-spacing:2px}.footer-links{display:flex;justify-content:center;gap:20px}.footer-links a,footer p{font-size:9px;letter-spacing:1px;color:var(--gray);text-transform:uppercase}footer p{text-align:right}
/* Product page */
.product-page{display:grid;grid-template-columns:1.15fr .85fr;min-height:100vh;padding-top:76px}.product-gallery{padding:30px}.main-product-image{width:100%;background:#eeeeec;overflow:hidden}.main-product-image img{width:100%;max-height:88vh;object-fit:contain}.thumbnail-row{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:10px}.thumbnail{border:1px solid transparent;background:none;padding:0;cursor:pointer;opacity:.55}.thumbnail.active{opacity:1;border-color:white}.thumbnail img{width:100%;aspect-ratio:4/5;object-fit:cover}.product-details{position:sticky;top:76px;height:max-content;padding:70px 55px}.product-title{font-size:clamp(45px,6vw,88px);line-height:.9;letter-spacing:-4px;margin-bottom:20px}.product-price{font-size:14px;margin-bottom:45px}.product-option{margin-bottom:35px}.option-label{font-size:10px;letter-spacing:2px;margin-bottom:15px}.option-heading{display:flex;align-items:center;justify-content:space-between}.size-guide-link{background:none;border:0;color:#aaa;font-size:9px;letter-spacing:1.5px;cursor:pointer}.color-options{display:flex;gap:14px}.color-swatch{width:32px;height:32px;border-radius:50%;border:1px solid #555;background:var(--swatch);cursor:pointer}.color-swatch.active{outline:1px solid white;outline-offset:4px}.photo-note{max-width:420px;margin-top:18px;color:#b1b1b1;font-size:11px;line-height:1.6}.size-options{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.size-options button{background:transparent;border:1px solid #444;color:white;padding:14px 8px;cursor:pointer}.size-options button:hover,.size-options button.selected{background:white;color:black}.add-to-bag{width:100%;padding:18px;margin-bottom:12px;border:1px solid white;background:white;color:black;font-size:11px;letter-spacing:2px;cursor:pointer;transition:.25s}.add-to-bag:hover{background:transparent;color:white}.product-message{min-height:18px;color:#d6d6d6;font-size:10px;letter-spacing:1.5px;margin-bottom:25px}.product-description{color:#aaa;line-height:1.8;font-size:13px;margin-bottom:35px}.product-accordion details{border-top:1px solid #333;padding:20px 0}.product-accordion details:last-child{border-bottom:1px solid #333}.product-accordion summary{cursor:pointer;font-size:10px;letter-spacing:2px}.product-accordion details p{margin-top:15px;color:#999;font-size:12px;line-height:1.7}.related-products{padding:110px 40px 140px;border-top:1px solid var(--border)}.related-products h2{font-size:clamp(46px,6vw,86px);letter-spacing:-4px;margin-bottom:40px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.related-grid a img{aspect-ratio:4/5;object-fit:cover;margin-bottom:12px}.related-grid a span{font-size:10px;letter-spacing:1.5px}
/* Cart drawer */
.cart-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1998;opacity:0;visibility:hidden;transition:.25s}.cart-backdrop.open{opacity:1;visibility:visible}.cart-drawer{position:fixed;top:0;right:0;width:min(480px,100%);height:100vh;background:#0c0c0c;z-index:1999;transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column;border-left:1px solid #2b2b2b}.cart-drawer.open{transform:translateX(0)}.cart-drawer__header{display:flex;justify-content:space-between;align-items:flex-start;padding:32px;border-bottom:1px solid #282828}.cart-drawer__header h2{font-size:28px;letter-spacing:-1.5px}.cart-close{border:0;background:none;color:white;font-size:34px;line-height:1;cursor:pointer}.cart-drawer__items{flex:1;overflow:auto;padding:0 28px}.cart-drawer__footer{padding:28px;border-top:1px solid #282828}.cart-total-row,.summary-row{display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:1px;text-transform:uppercase}.cart-note{color:#888;font-size:10px;line-height:1.6;margin:12px 0 20px}.cart-view-button{display:block;text-align:center;background:white;color:black}.mini-cart-item{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid #242424}.mini-cart-image img{aspect-ratio:4/5;object-fit:cover}.mini-cart-info h3{font-size:13px;margin-bottom:8px}.mini-cart-info p{font-size:10px;color:#aaa;margin-bottom:7px}.mini-cart-actions{display:flex;justify-content:space-between;align-items:center;margin-top:15px}.mini-cart-actions label{font-size:9px;color:#aaa;letter-spacing:1px}.mini-cart-qty{width:45px;background:#151515;color:white;border:1px solid #444;padding:6px}.mini-cart-remove{border:0;background:none;color:#aaa;font-size:9px;letter-spacing:1px;cursor:pointer}.cart-empty{padding:60px 0;text-align:center;color:#aaa}.cart-empty p{margin-bottom:20px}.cart-empty a{font-size:10px;letter-spacing:1.5px;border-bottom:1px solid white;color:white}
/* Full cart */
.cart-page{min-height:100vh;padding:145px 40px 120px}.cart-page-heading{margin-bottom:55px}.cart-page-heading h1{font-size:clamp(56px,8vw,120px);letter-spacing:-6px;line-height:.85}.cart-page-layout{display:grid;grid-template-columns:1.4fr .6fr;gap:70px}.cart-line-item{display:grid;grid-template-columns:210px 1fr;gap:25px;padding:25px 0;border-top:1px solid #292929}.cart-line-item:last-child{border-bottom:1px solid #292929}.cart-line-image img{aspect-ratio:4/5;object-fit:cover}.cart-line-info{display:grid;grid-template-columns:1fr auto;gap:15px;align-content:start}.cart-line-info h2{font-size:22px;margin-bottom:8px}.cart-line-info p{font-size:11px;color:#aaa}.cart-line-price{text-align:right}.cart-line-controls{grid-column:1/-1;display:flex;gap:20px;align-items:center;margin-top:30px}.cart-line-controls label{font-size:10px;color:#aaa}.cart-page-qty{width:50px;margin-left:8px;background:#151515;color:white;border:1px solid #444;padding:8px}.cart-page-remove{background:none;border:0;color:#aaa;font-size:9px;letter-spacing:1px;cursor:pointer}.cart-summary{position:sticky;top:110px;height:max-content;border:1px solid #292929;padding:30px}.checkout-button{width:100%;padding:17px;border:0;background:white;color:black;font-size:10px;letter-spacing:1.5px;margin-top:25px}.checkout-button:disabled{opacity:.35;cursor:not-allowed}.checkout-note{font-size:10px;line-height:1.6;color:#888;margin-top:15px}.cart-page-empty{padding:70px 0;border-top:1px solid #292929}.cart-page-empty h2{font-size:38px;margin-bottom:30px}
@media(max-width:1100px){.product-grid--four{grid-template-columns:repeat(2,1fr)}.product-page{grid-template-columns:1fr 1fr}.product-details{padding:55px 30px}.thumbnail-row{grid-template-columns:repeat(4,1fr)}}


/* =========================================
   SMART HIDE NAVIGATION
========================================= */

.navbar {
    transition:
        transform 0.4s ease,
        background 0.3s ease;
}

.navbar.nav-hidden {
    transform: translateY(-110%);
}

.navbar.nav-visible {
    transform: translateY(0);
}

/* Gallery bottom image: keep portrait photos proportional and fully visible. */
.gallery-item.gallery-bottom {
    grid-column: 1 / -1;
    min-height: 0;
    height: auto;
    overflow: hidden;
    display: flex;
    justify-content: center;
    background: #0a0a0a;
}

.gallery-item.gallery-bottom img {
    width: min(100%, 980px);
    height: auto;
    max-height: 90vh;
    object-fit: contain;
    object-position: center;
    display: block;
}




/* =========================================
   ORDER ADMIN + SKU
========================================= */
.cart-sku { color: var(--gray); font-size: 9px !important; letter-spacing: 1px; text-transform: uppercase; margin-top: 5px; }
.admin-body { background: #0a0a0a; min-height: 100vh; }
.orders-admin { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 70px 0 100px; }
.orders-admin__heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; border-bottom: 1px solid #2a2a2a; padding-bottom: 28px; }
.orders-admin__heading h1 { font-size: clamp(58px, 9vw, 120px); line-height: .8; letter-spacing: -6px; }
.orders-admin__heading > a { font-size: 10px; letter-spacing: 2px; border-bottom: 1px solid currentColor; padding-bottom: 5px; }
.admin-login { padding: 36px 0; border-bottom: 1px solid #2a2a2a; }
.admin-login label { display: block; font-size: 10px; letter-spacing: 2px; margin-bottom: 12px; }
.admin-key-row { display: flex; max-width: 700px; }
.admin-key-row input, .orders-toolbar input { flex: 1; min-width: 0; background: #111; border: 1px solid #333; color: white; padding: 15px; outline: none; }
.admin-key-row button, .orders-toolbar button { border: 1px solid white; background: white; color: black; padding: 0 22px; font-size: 10px; letter-spacing: 1.5px; cursor: pointer; }
#adminMessage { color: #d8a0a0; font-size: 11px; margin-top: 12px; }
.orders-toolbar { display: flex; gap: 10px; padding: 30px 0; }
.orders-list { display: grid; gap: 14px; }
.order-card { border: 1px solid #2b2b2b; background: #101010; padding: 24px; }
.order-card__top, .order-item, .order-customer { display: flex; justify-content: space-between; gap: 20px; }
.order-card__top h2 { font-size: 24px; letter-spacing: -1px; }
.order-card__top p, .order-customer span, .order-item span { color: #929292; font-size: 10px; }
.order-total { font-size: 18px; }
.order-badges { display: flex; gap: 8px; margin: 18px 0; }
.order-badges span { border: 1px solid #3a3a3a; padding: 7px 9px; font-size: 9px; letter-spacing: 1px; text-transform: uppercase; }
.order-customer { padding: 16px 0; border-top: 1px solid #252525; border-bottom: 1px solid #252525; }
.order-customer strong, .order-customer span { display: block; }
.order-items { padding: 8px 0; }
.order-item { padding: 12px 0; border-bottom: 1px solid #202020; font-size: 11px; }
.order-item div:first-child { display: grid; gap: 4px; }
.order-status-row { padding-top: 18px; }
.order-status-row label { font-size: 9px; letter-spacing: 1.5px; }
.order-status-row select { margin-left: 10px; background: #0a0a0a; color: white; border: 1px solid #444; padding: 8px; }
.orders-empty { padding: 50px 0; color: #777; letter-spacing: 2px; font-size: 11px; }
@media (max-width: 700px) {
  .orders-admin { width: min(100% - 28px, 1180px); padding-top: 35px; }
  .orders-admin__heading { align-items: flex-start; }
  .admin-key-row, .orders-toolbar { flex-direction: column; }
  .admin-key-row button, .orders-toolbar button { padding: 14px; }
  .order-card__top, .order-customer, .order-item { align-items: flex-start; }
  .order-customer, .order-item { flex-direction: column; gap: 8px; }
}


/* =========================================
   GALLERY — NATURAL PHOTO SIZING
   Keeps real photos proportional, fills gaps with a masonry flow,
   and prevents portrait images from being oversized/cropped.
========================================= */
.gallery-grid {
    display: block;
    columns: 2;
    column-gap: 12px;
}

.gallery-item,
.gallery-large,
.gallery-wide {
    display: inline-block;
    width: 100%;
    min-height: 0;
    height: auto;
    margin: 0 0 12px;
    overflow: hidden;
    break-inside: avoid;
}

.gallery-item img,
.gallery-large img,
.gallery-wide img {
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    object-position: center;
}

/* Portrait gallery photos fill their column with no black side gaps. */
.gallery-item--portrait {
    background: transparent;
}

.gallery-item--portrait img {
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0;
    display: block;
}

.gallery-item--landscape img {
    width: 100%;
}

/* Brown shirt photo stays full-width at the bottom and keeps its original proportions. */
.gallery-bottom {
    width: 100%;
    margin-top: 12px;
    overflow: hidden;
    background: #080808;
}

.gallery-bottom img {
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    object-position: center;
}





/* =========================================
   GALLERY LOGO TILE
   Uses the intentional dark gallery space for the brand mark.
========================================= */
.gallery-logo-tile {
    display: inline-flex;
    width: 100%;
    min-height: 360px;
    margin: 0 0 12px;
    padding: 55px;
    break-inside: avoid;
    align-items: center;
    justify-content: center;
    background: #080808;
    overflow: hidden;
}

.gallery-logo-tile img {
    width: min(72%, 520px);
    height: auto;
    object-fit: contain;
    filter: invert(1);
    opacity: .96;
}




/* Header logo home button */
.logo-home{display:flex;align-items:center;justify-content:flex-start;height:100%;width:150px;flex:0 0 150px}
.logo-home img{width:auto;height:58px;max-width:145px;object-fit:contain;filter:invert(1);transition:opacity .2s ease}
.logo-home:hover img{opacity:.72}

/* =========================================
   MOBILE — MATCHES THE CURRENT DESKTOP SITE
   One responsive source of truth. Desktop rules above are unchanged.
========================================= */
@media (max-width: 850px) {
    html { scroll-padding-top: 104px; }
    body { overflow-x: hidden; }

    /* Keep the same desktop header identity, scaled for phone. */
    .navbar {
        height: 68px;
        padding: 0 14px;
        background: rgba(8,8,8,.92);
        backdrop-filter: blur(14px);
    }
    .logo-home { width: 92px; flex: 0 0 92px; }
    .logo-home img { height: 44px; max-width: 90px; }
    .nav-actions { gap: 8px; margin-left: auto; }
    .nav-actions button { font-size: 8px; letter-spacing: 1.2px; }

    /* Preserve the desktop navigation as a slim second row instead of removing it. */
    .nav-links {
        display: flex;
        position: fixed;
        top: 68px;
        left: 0;
        right: 0;
        height: 36px;
        align-items: center;
        justify-content: center;
        gap: 20px;
        padding: 0 10px;
        background: rgba(8,8,8,.96);
        border-bottom: 1px solid rgba(255,255,255,.10);
        overflow-x: auto;
        white-space: nowrap;
        scrollbar-width: none;
    }
    .nav-links::-webkit-scrollbar { display: none; }
    .nav-links a { font-size: 8px; letter-spacing: 1.15px; }

    /* Hero keeps the desktop photograph and typography treatment. */
    .hero {
        margin-top: 104px;
        height: calc(100svh - 104px);
        min-height: 560px;
    }
    .hero-image { object-position: center top; }
    .hero-content { left: 18px; right: 18px; bottom: 34px; max-width: 94%; }
    .hero h1 {
        font-size: clamp(54px, 18vw, 86px);
        line-height: .84;
        letter-spacing: -4px;
        margin-bottom: 22px;
    }
    .hero-description { max-width: 310px; font-size: 12px; margin-bottom: 22px; }
    .hero-button, .light-outline-button, .dark-button, .cart-view-button {
        padding: 13px 18px;
        font-size: 8px;
        letter-spacing: 1.5px;
    }

    .collection-intro {
        min-height: 62vh;
        padding: 90px 20px;
    }
    .collection-intro h2 {
        font-size: clamp(52px, 16vw, 82px);
        letter-spacing: -4px;
        margin-bottom: 26px;
    }
    .intro-copy { max-width: 330px; font-size: 12px; }

    /* Two-column storefront keeps the desktop catalog feeling on phone. */
    .featured { padding: 70px 14px 95px; }
    .section-heading { margin-bottom: 28px; }
    .section-heading h2 { font-size: clamp(48px, 14vw, 68px); letter-spacing: -3px; }
    .text-link { font-size: 8px; }
    .product-grid,
    .product-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 10px; }
    .product-image { aspect-ratio: 4 / 5; }
    .product-info { display: block; padding-top: 10px; }
    .product-info h3 { font-size: 11px; line-height: 1.25; margin-bottom: 5px; }
    .product-info p { font-size: 8px; line-height: 1.4; margin-bottom: 6px; }
    .product-info > span { display: block; font-size: 9px; }

    .campaign-wide { height: 64svh; min-height: 470px; }
    .campaign-wide img { object-position: center; }
    .campaign-caption { left: 16px; bottom: 18px; gap: 10px; font-size: 8px; }

    /* Same color/story treatment as desktop; stacked only because the screen is narrow. */
    .special-edition,
    .editorial-split { grid-template-columns: 1fr; min-height: 0; }
    .special-image { min-height: 0; height: 68svh; }
    .special-image img { object-position: center top; }
    .special-content { padding: 66px 20px 72px; }
    .special-content h2 {
        font-size: clamp(62px, 20vw, 96px);
        letter-spacing: -4px;
        margin-bottom: 24px;
    }
    .editorial-image { min-height: 0; height: 72svh; }
    .editorial-image img { object-position: center top; }
    .editorial-copy { padding: 68px 20px 76px; }
    .editorial-copy h2 {
        font-size: clamp(52px, 16vw, 78px);
        letter-spacing: -4px;
        margin-bottom: 26px;
    }

    /* Keep the same two-column editorial gallery used on desktop. */
    .gallery { padding: 86px 10px 90px; }
    .gallery-grid { columns: 2; column-gap: 6px; }
    .gallery-item,
    .gallery-large,
    .gallery-wide { margin: 0 0 6px; width: 100%; min-height: 0; height: auto; }
    .gallery-item img,
    .gallery-large img,
    .gallery-wide img,
    .gallery-item--portrait img,
    .gallery-item--landscape img {
        width: 100%;
        height: auto;
        max-height: none;
        object-fit: contain;
    }
    .gallery-logo-tile {
        min-height: 185px;
        margin: 0 0 6px;
        padding: 24px 14px;
    }
    .gallery-logo-tile img { width: min(82%, 250px); }
    .gallery-bottom { width: 100%; margin-top: 6px; }
    .gallery-bottom img {
        width: 100%;
        height: auto;
        max-height: none;
        object-fit: contain;
    }

    .statement { min-height: 68vh; padding: 88px 18px; }
    .statement h2 {
        font-size: clamp(50px, 16vw, 82px);
        letter-spacing: -4px;
    }

    .newsletter { padding: 88px 18px; }
    .newsletter h2 { font-size: clamp(44px, 13vw, 64px); letter-spacing: -3px; }
    .newsletter-form { width: 100%; max-width: 520px; }
    .newsletter-form input { min-width: 0; }

    footer { grid-template-columns: 1fr; gap: 24px; padding: 42px 18px; text-align: center; }
    .footer-links { flex-wrap: wrap; gap: 14px 20px; }
    footer p { text-align: center; }

    /* Product pages retain desktop product hierarchy. */
    .product-page { grid-template-columns: 1fr; padding-top: 104px; }
    .product-gallery { padding: 0; }
    .main-product-image img { width: 100%; height: auto; max-height: none; object-fit: contain; }
    .thumbnail-row {
        display: flex;
        gap: 7px;
        padding: 8px 10px 0;
        margin-top: 0;
        overflow-x: auto;
        scrollbar-width: none;
    }
    .thumbnail-row::-webkit-scrollbar { display: none; }
    .thumbnail { flex: 0 0 74px; }
    .product-details { position: static; padding: 44px 18px 70px; }
    .product-title { font-size: clamp(46px, 14vw, 68px); letter-spacing: -3px; }
    .product-price { margin-bottom: 34px; }
    .size-options { grid-template-columns: repeat(3, 1fr); }
    .related-products { padding: 72px 14px 90px; }
    .related-products h2 { font-size: clamp(42px, 12vw, 58px); letter-spacing: -3px; }
    .related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 10px; }

    /* Cart stays usable while retaining the desktop styling. */
    .cart-drawer { width: 100%; max-width: none; }
    .cart-drawer__header, .cart-drawer__footer { padding: 20px 18px; }
    .cart-drawer__items { padding: 0 16px; }
    .mini-cart-item { grid-template-columns: 84px 1fr; gap: 12px; }
    .cart-page { padding: 122px 14px 70px; }
    .cart-page-layout { grid-template-columns: 1fr; gap: 38px; }
    .cart-summary { position: static; }
    .cart-line-item { grid-template-columns: 104px 1fr; gap: 14px; }
    .cart-line-info { grid-template-columns: 1fr; }
    .cart-line-price { text-align: left; }
}

@media (max-width: 390px) {
    .nav-links { justify-content: flex-start; }
    .product-grid,
    .product-grid--four { gap: 22px 8px; }
    .product-info h3 { font-size: 10px; }
    .gallery { padding-left: 7px; padding-right: 7px; }
}

