:root {
    --ink:#24231f;
    --muted:#807b77;
    --blush:#f7e7e4;
    --rose:#d87088;
    --line:#eee7e3;
    --paper:#fffdfb
}
* {
    box-sizing:border-box
}
body {
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:Arial,Helvetica,sans-serif;
    font-size:14px
}
a {
    color:inherit;
    text-decoration:none
}
button,input,select,textarea {
    font:inherit
}
button,a,input,select,textarea {
    touch-action:manipulation
}
button {
    cursor:pointer
}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible {
    outline:3px solid #b34f69;
    outline-offset:3px
}
h1,h2,h3,p {
    margin-top:0
}
h2 {
    font-size:25px;
    letter-spacing:-.6px
}
h3 {
    font-size:16px
}
p {
    line-height:1.6
}
.container {
    width:min(1280px,calc(100% - 80px));
    margin:auto
}
.announcement {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:clamp(18px,4vw,58px);
    min-height:38px;
    padding:8px 24px;
    background:#3d3936;
    color:#fffaf7;
    font-size:10px;
    letter-spacing:.45px;
    white-space:nowrap
}
.announcement-categories {
    color:#e7d3c7
}
.announcement-categories i {
    margin:0 5px;
    color:#c99078;
    font-style:normal
}
.header {
    position:sticky;
    top:0;
    z-index:1000;
    display:flex;
    align-items:center;
    gap:26px;
    padding:20px 35px;
    background:white;
    border-bottom:1px solid var(--line)
}
.wordmark {
    font-family:Georgia,serif;
    font-size:23px;
    letter-spacing:2px;
    white-space:nowrap
}
.brand-mark {
    font-size:25px;
    color:#aa9586
}
.navigation {
    display:flex;
    gap:20px;
    font-size:12px;
    font-weight:600;
    flex:1;
    justify-content:center
}
.mobile-language-control {
    display:none
}
.navigation a:hover,.text-link:hover {
    color:var(--rose)
}
.header-search {
    display:flex;
    align-items:center;
    background:#f3f0ee;
    border-radius:5px;
    padding:3px 8px;
    width:190px
}
.header-search input {
    background:none;
    border:0;
    padding:7px;
    min-width:0;
    width:100%;
    font-size:11px
}
.header-actions {
    display:flex;
    align-items:center;
    gap:14px
}
.icon {
    width:22px;
    height:22px;
    vertical-align:middle
}
.icon-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0;
    background:transparent;
    border:0;
    color:var(--ink)
}
.icon-button .icon {
    width:19px;
    height:19px
}
.bag-link {
    position:relative;
    width:22px;
    height:22px
}
.bag-count {
    position:absolute;
    top:-3px;
    right:-3px;
    transform:translate(20%,-15%);
    background:#c99276;
    color:white;
    border-radius:10px;
    padding:1px 4px;
    font-size:9px
}
.menu-toggle {
    display:none
}
.hero {
    position:relative;
    background:#eee2d9;
    min-height:390px;
    display:flex;
    overflow:hidden
}
.hero-copy {
    padding:60px 4% 60px 9%;
    width:47%;
    z-index:1
}
.eyebrow {
    font-size:11px;
    letter-spacing:2px;
    font-weight:600;
    color:#716a62
}
.hero h1 {
    font-family:Georgia,serif;
    font-weight:400;
    font-size:clamp(40px,4.3vw,65px);
    line-height:1.02;
    letter-spacing:-2px;
    max-width:420px
}
.hero-copy>p:not(.eyebrow) {
    max-width:320px;
    color:#60574f;
    font-size:16px;
    margin:24px 0
}
.button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:20px;
    border:1px solid var(--ink);
    background:var(--ink);
    color:white;
    border-radius:4px;
    padding:14px 22px;
    font-size:12px;
    font-weight:600
}
.button:hover {
    background:#464039
}
.button .icon {
    width:16px;
    height:16px
}
.button.small {
    padding:10px 15px;
    font-size:11px
}
.hero-photo {
    position:absolute;
    right:0;
    top:0;
    bottom:0;
    width:55%;
    overflow:hidden
}
.hero-photo img {
    position:absolute;
    width:190.2%;
    max-width:none;
    right:0;
    top:-26.9%
}
.hero-pagination {
    display:flex;
    gap:6px;
    position:absolute;
    bottom:20px;
    left:50%;
    z-index:2
}
.hero-pagination span {
    width:5px;
    height:5px;
    border-radius:50%;
    background:#fff8
}
.hero-pagination .active {
    background:white
}
.benefits {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    padding:25px 0;
    gap:30px
}
.benefits>a {
    display:flex;
    align-items:center;
    gap:14px;
    justify-content:center
}
.benefits .icon {
    width:30px;
    height:30px
}
.benefits strong {
    display:block;
    font-size:12px
}
.benefits small {
    display:block;
    color:var(--muted);
    font-size:10px;
    margin-top:4px
}
.category-strip {
    display:grid;
    grid-template-columns:repeat(6,1fr);
    padding:25px 20px 32px;
    gap:24px;
    text-align:center
}
.category-circle {
    display:flex;
    width:88px;
    height:88px;
    border-radius:50%;
    background:linear-gradient(145deg,#f8ece8,#edd6cf);
    align-items:center;
    justify-content:center;
    margin:0 auto 12px
}
.category-circle .icon {
    width:36px;
    height:36px;
    color:#9c7060
}
.category-strip strong {
    font-size:12px
}
.promo-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin-bottom:40px
}
.promo {
    position:relative;
    overflow:hidden;
    padding:30px;
    border-radius:5px;
    min-height:190px
}
.promo-skin {
    background:#e9e2d7
}
.promo-bundle {
    background:#f3cece
}
.promo small {
    font-size:9px;
    letter-spacing:1.8px
}
.promo h2 {
    margin:10px 0 6px;
    max-width:280px;
    font-size:28px
}
.promo p {
    font-size:12px
}
.mini-button {
    display:inline-block;
    padding:9px 14px;
    background:#51433a;
    color:white;
    font-size:10px;
    border-radius:3px
}
.promo-bundle .mini-button {
    background:#882f41
}
.promo-visual {
    position:absolute;
    right:35px;
    bottom:-20px;
    font-size:160px;
    color:#8b715241;
    transform:rotate(-16deg)
}
.promo-bundle .promo-visual {
    color:#a23c5844
}
.product-section {
    padding-bottom:38px
}
.section-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    margin:0 0 22px
}
.section-heading h2 {
    margin:0
}
.section-heading p {
    font-size:12px;
    margin:5px 0 0
}
.category-tabs {
    display:flex;
    gap:24px;
    font-size:11px;
    color:#8a847d
}
.category-tabs .selected {
    border-bottom:1px solid var(--ink);
    padding-bottom:5px;
    color:var(--ink)
}
.text-link {
    font-size:11px;
    white-space:nowrap
}
.product-grid {
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:17px
}
.product-card {
    border-radius:5px;
    border:1px solid #f0ebe7;
    background:white;
    overflow:hidden;
    transition:transform .18s,box-shadow .18s
}
.product-card:hover {
    transform:translateY(-3px);
    box-shadow:0 7px 22px #3626190b
}
.product-picture {
    position:relative;
    aspect-ratio:1.08;
    background:#f2e7e3;
    overflow:hidden
}
.picture-link {
    display:block;
    height:100%;
    width:100%
}
.own-image {
    width:100%;
    height:100%;
    object-fit:cover
}
.product-tag {
    position:absolute;
    top:9px;
    left:8px;
    padding:3px 5px;
    background:#dba077;
    color:white;
    font-size:9px;
    border-radius:3px
}
.wish-button {
    position:absolute;
    top:8px;
    right:8px
}
.wish-button .icon {
    width:14px;
    height:14px
}
.product-info {
    padding:12px 9px 9px
}
.product-info>small {
    font-size:9px;
    color:var(--muted)
}
.product-info h3 {
    font-size:12px;
    line-height:1.4;
    margin:5px 0;
    min-height:33px
}
.product-price {
    font-size:12px;
    font-weight:bold;
    margin-bottom:10px
}
.product-price small {
    font-size:9px;
    color:var(--muted);
    font-weight:normal
}
.quick-add {
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    border:0;
    background:#f6efec;
    border-radius:3px;
    padding:7px 9px;
    font-size:10px
}
.quick-add:hover {
    background:#eeded7
}
.muted {
    color:var(--muted)
}
.bundle-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px
}
.bundle-card {
    position:relative;
    overflow:hidden;
    border-radius:5px;
    padding:30px;
    min-height:180px;
    background:linear-gradient(125deg,#eadfd1,#f9efe6)
}
.bundle-card small {
    font-size:9px;
    letter-spacing:1px
}
.bundle-card h3 {
    font-family:Georgia,serif;
    font-size:27px;
    margin:8px 0
}
.bundle-card p {
    font-size:12px;
    max-width:70%
}
.bundle-card strong {
    display:block;
    margin-bottom:14px
}
.bundle-card .icon {
    position:absolute;
    right:20px;
    bottom:20px;
    width:100px;
    height:100px;
    color:#9eab8555
}
.deals-section {
    background:#fff7f6;
    padding:30px 0 40px;
    margin-bottom:30px
}
.bolt {
    color:#e7708b
}
.countdown {
    display:flex;
    gap:9px;
    color:#cf6081;
    font-size:16px
}
.countdown span {
    padding:12px;
    background:#fadce4;
    border-radius:4px
}
.philosophy {
    display:grid;
    grid-template-columns:1fr 1fr;
    background:#eeeae2;
    margin-bottom:38px;
    min-height:320px;
    overflow:hidden
}
.philosophy-photo {
    overflow:hidden;
    position:relative;
    min-height:320px
}
.philosophy-photo img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    max-width:none;
    object-fit:cover;
    object-position:center
}
.philosophy-copy {
    padding:40px 12% 40px 40px
}
.philosophy-copy h2 {
    font-family:Georgia,serif;
    font-weight:400;
    font-size:42px;
    line-height:1.05
}
.philosophy-copy>p:not(.eyebrow) {
    font-size:13px;
    max-width:380px;
    color:#68645e
}
.philosophy-values {
    display:flex;
    gap:30px;
    margin:25px 0
}
.philosophy-values span {
    font-size:10px;
    display:grid;
    gap:8px;
    text-align:center
}
.philosophy-values .icon {
    margin:auto
}
.reviews-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px
}
.reviews-grid blockquote {
    margin:0;
    background:#fcf8f4;
    padding:24px
}
.reviews-grid p {
    margin-top:10px
}
.stars {
    color:#bf864a
}
.reels-grid {
    display:flex;
    gap:20px;
    overflow:auto
}
.reels-grid figure {
    margin:0;
    width:180px
}
.reels-grid video {
    width:180px;
    max-height:300px;
    border-radius:8px
}
.newsletter {
    background:linear-gradient(115deg,#efbcc0,#f8d9d2);
    padding:32px 0
}
.newsletter>.container {
    display:flex;
    align-items:center;
    gap:40px;
    justify-content:space-between
}
.newsletter h2 {
    font-size:20px;
    margin-bottom:7px
}
.newsletter p {
    font-size:12px;
    margin:0
}
.newsletter form {
    width:46%
}
.subscribe-input {
    display:flex;
    gap:8px
}
.subscribe-input input {
    flex:1;
    min-width:0
}
.consent {
    display:block;
    margin-top:10px;
    font-size:10px
}
.consent input {
    width:auto;
    display:inline-block;
    vertical-align:middle
}
.consent a {
    text-decoration:underline
}
.footer {
    display:grid;
    grid-template-columns:1.4fr repeat(4,1fr);
    gap:35px;
    width:min(1280px,calc(100% - 80px));
    margin:40px auto 0;
    color:#76716c;
    font-size:11px
}
.footer h3 {
    font-size:12px;
    color:var(--ink);
    margin:0 0 12px
}
.footer a:not(.wordmark) {
    display:block;
    line-height:1.9
}
.footer .wordmark {
    font-size:20px;
    color:var(--ink);
    display:block;
    margin-bottom:12px
}
.footer-bottom {
    grid-column:1/-1;
    border-top:1px solid var(--line);
    padding:20px 0;
    display:flex;
    justify-content:space-between
}
.page-section {
    padding:50px 0;
    min-height:55vh
}
.page-section h1 {
    font-family:Georgia,serif;
    font-size:44px;
    font-weight:400;
    letter-spacing:-1px
}
.narrow {
    max-width:650px
}
.stack {
    display:grid;
    gap:17px
}
.stack .button {
    justify-self:start
}
.catalog-filter {
    display:flex;
    flex-wrap:wrap;
    gap:20px;
    align-items:end;
    background:#f8f1ed;
    padding:20px;
    margin:25px 0
}
.catalog-filter label {
    flex:1 1 160px
}
.catalog-grid {
    grid-template-columns:repeat(4,minmax(0,1fr))
}
.catalog-grid .product-picture {
    aspect-ratio:1.08
}
.product-detail {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    margin-top:30px;
    margin-bottom:60px
}
.product-detail .product-picture {
    height:auto
}
.product-detail .description {
    color:#726a64
}
.product-detail .stack {
    max-width:350px
}
.checkout-grid {
    display:grid;
    grid-template-columns:1.5fr 1fr;
    gap:60px;
    margin-bottom:40px
}
.bag-row {
    display:flex;
    justify-content:space-between;
    gap:25px;
    padding:20px 0;
    border-bottom:1px solid var(--line)
}
.bag-product {
    display:flex;
    align-items:center;
    gap:16px;
    min-width:0
}
.bag-product-image {
    width:76px;
    height:76px;
    flex:0 0 76px;
    overflow:hidden;
    border-radius:5px;
    background:#f8f0ec
}
.bag-product-image img,.bag-product-image svg {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover
}
.bag-row p {
    font-size:12px;
    color:var(--muted);
    margin:8px 0 0
}
.bag-row small {
    display:block;
    color:var(--rose);
    margin-top:5px
}
.qty-stepper {
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:10px
}
.qty-stepper form {
    margin:0
}
.qty-button {
    width:30px;
    height:30px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #ded5ce;
    background:white;
    border-radius:4px;
    font-size:16px;
    line-height:1;
    padding:0
}
.qty-button:hover:not(:disabled) {
    background:#f6efec
}
.qty-button:disabled {
    opacity:.45;
    cursor:not-allowed
}
.qty-value {
    min-width:58px;
    text-align:center;
    font-size:12px
}
.bag-line-side {
    text-align:right;
    display:grid;
    gap:8px;
    align-content:start;
    justify-items:end
}
.bag-side-top {
    display:flex;
    align-items:center;
    gap:12px
}
.bag-side-top form {
    margin:0
}
.icon-button.danger {
    color:#8a847d
}
.icon-button.danger:hover {
    color:#a9324a
}
.icon-button.danger .icon {
    width:18px;
    height:18px
}
.inline-form {
    align-items:stretch
}
.inline-form input {
    margin-top:0;
    flex:1;
    min-width:0;
    height:auto
}
.inline-form .button {
    align-self:stretch;
    display:inline-flex;
    align-items:center;
    flex-shrink:0;
    margin:0
}
.order-summary {
    padding:25px;
    background:#f8f0ec;
    border-radius:5px
}
.order-summary p {
    display:flex;
    justify-content:space-between
}
.order-summary small {
    line-height:1.7;
    display:block
}
.order-summary .total {
    border-top:1px solid #e6d6cd;
    padding-top:15px
}
.checkout-form {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    max-width:750px
}
.checkout-form .button {
    justify-self:start
}
.inline-form {
    display:flex;
    gap:10px;
    margin-top:25px
}
.inline-form [data-coupon-status] {
    flex:1 0 100%;
    min-height:1.4em;
    margin:0;
    font-size:12px;
    color:#477357
}
.inline-form [data-coupon-status].is-error {
    color:#a9324a
}
.inline-form [data-coupon-status]:empty {
    display:none
}
.text-button {
    border:0;
    padding:6px 0;
    background:none;
    text-decoration:underline;
    font-size:11px;
    color:var(--muted)
}
label {
    display:block;
    font-size:12px;
    font-weight:600
}
input,select,textarea {
    display:block;
    width:100%;
    background:white;
    border:1px solid #ded5ce;
    border-radius:4px;
    padding:12px;
    margin-top:7px;
    color:var(--ink)
}
input[type=checkbox] {
    display:inline-block;
    width:auto
}
textarea {
    min-height:110px;
    resize:vertical
}
.notice {
    padding:14px 5%;
    font-size:13px
}
.notice.success {
    background:#eff6ed
}
.notice.error {
    background:#fff0f1;
    color:#8a263a
}
.notice ul {
    margin:0;
    padding-left:16px
}
.empty-state {
    text-align:center;
    padding:70px 20px;
    color:var(--muted);
    grid-column:1/-1
}
.pagination {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:20px;
    margin-top:30px;
    font-size:12px
}
.pagination a {
    padding:9px;
    border:1px solid var(--line);
    border-radius:3px
}
.sr-only {
    position:absolute;
    width:1px;
    height:1px;
    margin:-1px;
    padding:0;
    overflow:hidden;
    clip:rect(0,0,0,0);
    border:0
}
.admin-shell {
    display:grid;
    grid-template-columns:210px minmax(0,1fr);
    min-height:100vh
}
.admin-nav {
    min-width:0;
    max-width:100%;
    background:#292724;
    color:white;
    padding:30px 20px
}
.admin-nav .wordmark {
    font-size:19px
}
.admin-nav nav {
    margin-top:35px
}
.admin-nav a:not(.wordmark) {
    display:block;
    font-size:12px;
    padding:10px;
    border-radius:4px
}
.admin-nav a:hover {
    background:#49413b
}
.admin-main {
    padding:35px;
    min-width:0
}
.admin-header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:35px
}
.admin-header h1 {
    font-family:Georgia,serif;
    font-size:32px;
    font-weight:400;
    margin:0
}
.admin-cards {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px
}
.admin-cards>div {
    padding:25px;
    background:#f3e8e0
}
.admin-cards strong {
    display:block;
    font-size:32px;
    margin-top:10px
}
.admin-table {
    border-collapse:collapse;
    width:100%;
    font-size:12px
}
.admin-table th {
    text-align:left;
    background:#f8f1ed
}
.admin-table th,.admin-table td {
    padding:12px;
    border-bottom:1px solid var(--line);
    vertical-align:top
}
.table-wrap {
    overflow:auto;
    margin-bottom:30px
}
.admin-form {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
    max-width:800px;
    padding:25px;
    background:#f9f5f1
}
.admin-form label { min-width:0; overflow-wrap:anywhere; }
.admin-form .button {
    align-self:end;
    justify-self:start
}
.admin-form-section { margin-bottom:28px; }
.admin-form-section:last-of-type { margin-bottom:8px; }
.admin-form-section > h3 { font-size:14px; margin:0 0 14px; }
.admin-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; max-width:900px; }
.admin-form-grid .field-wide { grid-column:1/-1; }
.admin-form-wide { margin-bottom:20px; }
.record-field { display:grid; gap:8px; min-width:0; align-content:start; }
.record-field-title { font-weight:600; font-size:12px; display:block; }
.record-check { display:flex !important; flex-direction:row !important; align-items:center; gap:10px; }
.record-actions { display:flex; align-items:center; gap:16px; margin-top:24px; }
.form-error { color:#a33b3b; font-size:12px; }
.media-field { display:grid; gap:10px; }
.media-field-preview { display:flex; align-items:center; gap:12px; }
.media-field-preview img { width:120px; height:120px; object-fit:cover; border-radius:12px; border:1px solid var(--line); }
.media-dropzone-compact { padding:20px !important; }
.media-dropzone.uploading { opacity:.6; pointer-events:none; }
.media-path-row { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.media-path-row input { flex:1; min-width:200px; }
.media-gallery-grid { display:flex; flex-wrap:wrap; gap:10px; }
.media-gallery-item { position:relative; width:96px; height:96px; border-radius:10px; overflow:hidden; border:1px solid var(--line); background:#f4ede8; }
.media-gallery-item img { width:100%; height:100%; object-fit:cover; display:block; }
.media-gallery-remove { position:absolute; top:4px; right:4px; width:24px; height:24px; border:0; border-radius:50%; background:#000000aa; color:#fff; font-size:14px; line-height:1; cursor:pointer; }
.media-gallery-empty { font-size:12px; color:var(--muted); padding:12px 0; }
.media-gallery-grid + .media-dropzone { margin-top:4px; }
.media-error { color:#a33b3b; font-size:12px; margin:0; }
.variant-thumb { width:56px; height:56px; object-fit:cover; border-radius:8px; }
@media (max-width:760px) { .admin-form-grid { grid-template-columns:minmax(0,1fr); } }
.field-note {
    font-weight:normal;
    color:var(--muted);
    font-size:10px
}
.badge {
    display:inline-block;
    border-radius:20px;
    background:#eee2d9;
    padding:5px 10px;
    font-size:11px
}
.stat-number {
    font-size:40px
}
.details-text {
    white-space:pre-wrap;
    font-size:11px;
    max-width:400px;
    overflow-wrap:anywhere
}
@media(min-width:1500px) {
    .hero {
    min-height:450px
}

}
@media(max-width:1100px) {
    .header {
    gap:15px;
    padding:18px 25px
}
.navigation {
    gap:12px
}
.header-search {
    width:150px
}
.navigation a:nth-child(5),.navigation a:nth-child(6) {
    display:none
}
.container {
    width:calc(100% - 50px)
}
.hero-copy {
    padding-left:6%
}
.hero h1 {
    font-size:48px
}
.product-grid {
    gap:12px
}
.category-tabs {
    gap:14px
}
.footer {
    width:calc(100% - 50px)
}
.philosophy-copy {
    padding-right:30px
}
}
@media(max-width:760px) {
    .announcement {
        justify-content:flex-start;
        gap:18px;
        min-height:34px;
        padding:8px 18px;
        overflow-x:auto;
        font-size:9px;
        scrollbar-width:none
    }
    .announcement::-webkit-scrollbar {
        display:none
    }
    .announcement-categories {
        display:none
    }
.header {
    flex-wrap:wrap;
    padding:15px 20px;
    gap:14px
}
.wordmark {
    font-size:21px
}
.header-actions {
    margin-left:auto
}
.header-actions .header-language-switcher {
    display:none
}
.menu-toggle {
    display:flex;
    order:-1
}
.navigation {
    display:none;
    order:4;
    flex:1 0 100%;
    flex-wrap:wrap;
    padding:15px
}
.navigation.open {
    display:flex
}
.navigation.open {
    flex-direction:column;
    align-items:stretch;
    gap:4px
}
.navigation.open>a {
    padding:9px 2px
}
.mobile-language-control {
    display:block;
    margin-top:8px;
    padding-top:14px;
    border-top:1px solid var(--line)
}
.mobile-language-control .language-switcher {
    width:max-content
}
.mobile-language-control .language-switcher-menu {
    top:auto;
    bottom:calc(100% + 8px)
}
.header-search {
    order:5;
    width:100%;
    padding:0 8px
}
.container {
    width:calc(100% - 36px)
}
.hero {
    min-height:390px
}
.hero-photo {
    width:76%;
    opacity:.45;
    right:-15%
}
.hero-photo img {
    top:-17%;
    width:230%
}
.hero-copy {
    width:80%;
    padding:55px 20px 55px 7%
}
.hero h1 {
    font-size:46px;
    max-width:320px
}
.hero-copy>p:not(.eyebrow) {
    font-size:14px;
    max-width:250px
}
.benefits {
    grid-template-columns:1fr 1fr;
    gap:20px;
    padding:22px 0
}
.benefits>a {
    justify-content:flex-start
}
.benefits .icon {
    width:25px
}
.category-strip {
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    padding:20px 0 30px
}
.category-circle {
    width:66px;
    height:66px
}
.category-circle .icon {
    width:27px
}
.promo-grid {
    grid-template-columns:1fr;
    gap:12px;
    margin-bottom:30px
}
.promo {
    padding:25px;
    min-height:160px
}
.promo h2 {
    font-size:26px
}
.promo-visual {
    font-size:135px
}
.product-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px
}
.section-heading {
    flex-wrap:wrap;
    gap:15px;
    margin-bottom:18px
}
.section-heading h2 {
    font-size:22px
}
.category-tabs {
    order:3;
    width:100%;
    overflow:auto
}
.product-info h3 {
    font-size:13px;
    min-height:36px
}
.product-info {
    padding:12px
}
.quick-add {
    font-size:11px;
    padding:9px
}
.bundle-grid {
    grid-template-columns:1fr
}
.countdown span {
    padding:8px;
    font-size:13px
}
.philosophy {
    grid-template-columns:1fr
}
.philosophy-photo {
    min-height:230px;
    height:230px
}
.philosophy-copy {
    padding:32px 25px
}
.philosophy-copy h2 {
    font-size:35px
}
.reviews-grid {
    grid-template-columns:1fr
}
.newsletter>.container {
    display:block
}
.newsletter form {
    width:100%;
    margin-top:20px
}
.subscribe-input .button {
    padding:12px
}
.footer {
    width:calc(100% - 36px);
    grid-template-columns:1fr 1fr;
    gap:30px
}
.footer>div:first-child {
    grid-column:1/-1
}
.footer-bottom {
    flex-direction:column;
    gap:10px
}
.catalog-filter {
    flex-wrap:wrap;
    gap:15px;
    padding:15px
}
.catalog-filter label {
    flex:1 0 40%
}
.catalog-filter label:first-child {
    flex:1 0 100%
}
.catalog-filter select {
    min-width:0;
    width:100%
}
.catalog-filter .button {
    width:100%
}
.page-section {
    padding:35px 0
}
.page-section h1 {
    font-size:35px
}
.product-detail {
    grid-template-columns:1fr;
    gap:25px
}
.checkout-grid {
    grid-template-columns:1fr;
    gap:25px
}
.checkout-form {
    grid-template-columns:1fr
}
.admin-shell {
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto 1fr
}
.admin-nav {
    padding:15px
}
.admin-nav nav {
    display:flex;
    overflow:auto;
    margin-top:15px
}
.admin-nav a:not(.wordmark) {
    white-space:nowrap
}
.admin-main {
    padding:20px
}
.admin-header {
    gap:20px;
    flex-wrap:wrap
}
.admin-cards {
    grid-template-columns:1fr
}
.admin-form {
    grid-template-columns:1fr;
    padding:20px
}

}

@media (max-width:420px) {
    .catalog-filter label { flex:1 0 100%; }
}

@media (max-width:380px) {
    .header {
        gap:8px;
        padding:12px 14px
    }
    .header .wordmark {
        font-size:18px;
        letter-spacing:1px
    }
    .header .brand-mark {
        font-size:22px
    }
    .header-actions {
        gap:8px
    }
    .header-actions .icon-button,
    .header-actions .bag-link {
        width:19px;
        height:22px
    }
    .header-actions .icon {
        width:18px;
        height:18px
    }
}

.campaign-art { display:block; width:100%; max-height:360px; object-fit:cover; border-radius:12px; }
.preserve-lines { white-space:pre-line; overflow-wrap:anywhere; }

.order-confirmation-shell {
    width:min(1060px,calc(100% - 48px));
    padding-top:64px;
    padding-bottom:82px
}
.order-confirmation-heading {
    max-width:680px;
    margin:0 auto 34px;
    text-align:center
}
.order-confirmation-mark {
    display:grid;
    place-items:center;
    width:54px;
    height:54px;
    margin:0 auto 20px;
    border:1px solid #d8c6b8;
    border-radius:50%;
    background:#f8f0ec;
    color:#5b765e;
    font-size:23px
}
.order-confirmation-heading .eyebrow {
    margin-bottom:12px
}
.order-confirmation-heading h1 {
    margin-bottom:12px;
    font-family:Georgia,serif;
    font-size:clamp(34px,4vw,48px);
    font-weight:400;
    letter-spacing:-1.1px
}
.order-confirmation-heading>p:last-child {
    margin-bottom:0;
    color:var(--muted)
}
.order-confirmation-meta {
    display:flex;
    justify-content:center;
    gap:clamp(32px,8vw,100px);
    margin:0 auto 28px;
    padding:18px 24px;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line)
}
.order-confirmation-meta div {
    display:grid;
    gap:5px
}
.order-confirmation-meta span,.order-state-row>span {
    color:var(--muted);
    font-size:11px
}
.order-confirmation-meta strong {
    font-size:13px;
    letter-spacing:.4px
}
.order-confirmation-grid {
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(270px,.85fr);
    gap:22px;
    align-items:start
}
.order-receipt-card,.order-followup-card {
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    box-shadow:0 12px 34px #382c2010
}
.order-receipt-card {
    padding:26px 30px
}
.order-card-heading {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:16px;
    padding-bottom:18px;
    border-bottom:1px solid var(--line)
}
.order-card-heading .eyebrow,.order-followup-card .eyebrow {
    margin-bottom:8px
}
.order-card-heading h2,.order-followup-card h2 {
    margin-bottom:0;
    font-family:Georgia,serif;
    font-size:25px;
    font-weight:400;
    letter-spacing:-.4px
}
.order-card-heading>span {
    color:var(--muted);
    font-size:12px
}
.order-confirmation-item {
    display:grid;
    grid-template-columns:42px minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    padding:19px 0;
    border-bottom:1px solid var(--line)
}
.order-item-mark {
    display:grid;
    place-items:center;
    width:42px;
    height:48px;
    border-radius:4px;
    background:#f8f0ec;
    color:#aa9586;
    font-size:22px
}
.order-item-copy {
    display:grid;
    gap:6px;
    min-width:0
}
.order-item-copy strong {
    font-size:13px;
    line-height:1.5
}
.order-item-copy span {
    color:var(--muted);
    font-size:11px
}
.order-item-price {
    white-space:nowrap;
    font-size:12px
}
.order-confirmation-totals {
    display:grid;
    gap:12px;
    padding-top:19px
}
.order-confirmation-totals p {
    display:flex;
    justify-content:space-between;
    gap:16px;
    margin:0;
    color:#716a62;
    font-size:12px
}
.order-confirmation-totals p strong {
    color:var(--ink)
}
.order-confirmation-totals .order-grand-total {
    margin-top:3px;
    padding-top:15px;
    border-top:1px solid var(--line);
    color:var(--ink);
    font-size:14px
}
.order-confirmation-totals .order-grand-total strong {
    font-size:17px
}
.order-followup-card {
    padding:27px 26px;
    background:#f8f3ef
}
.order-followup-card h2 {
    margin-bottom:22px
}
.order-state-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:13px 0;
    border-top:1px solid #e7ded8
}
.order-state {
    display:inline-flex;
    align-items:center;
    gap:6px;
    border-radius:20px;
    padding:5px 10px;
    background:#fff;
    font-size:11px;
    font-weight:600;
    text-transform:capitalize
}
.order-state-pending::before,.order-state-unpaid::before {
    width:6px;
    height:6px;
    border-radius:50%;
    background:#bd8a57;
    content:""
}
.order-state-unpaid::before {
    background:#9f6c67
}
.order-payment-note {
    margin:15px 0 21px;
    color:#716a62;
    font-size:12px
}
.order-continue-button {
    width:100%;
    justify-content:space-between
}
@media(max-width:760px) {
    .order-confirmation-shell {
        width:calc(100% - 36px);
        padding-top:42px;
        padding-bottom:54px
    }
    .order-confirmation-grid {
        grid-template-columns:1fr;
        gap:16px
    }
    .order-confirmation-meta {
        justify-content:space-around;
        gap:20px
    }
}
@media(max-width:480px) {
    .order-confirmation-shell {
        width:calc(100% - 28px)
    }
    .order-confirmation-heading h1 {
        font-size:34px
    }
    .order-confirmation-meta {
        justify-content:space-between;
        padding:16px 8px
    }
    .order-receipt-card,.order-followup-card {
        padding:21px 18px
    }
    .order-confirmation-item {
        grid-template-columns:36px minmax(0,1fr) auto;
        gap:10px
    }
    .order-item-mark {
        width:36px;
        height:42px
    }
    .order-item-price {
        font-size:11px
    }
}
.spin-art { display:grid; place-items:center; width:180px; height:180px; margin:28px auto; border-radius:50%; background:conic-gradient(#edd6cc 0deg 60deg,#f4aab8 60deg 120deg,#f5e7dc 120deg 180deg,#c9909b 180deg 240deg,#ead5c3 240deg 300deg,#ebbec9 300deg 360deg); border:8px solid #fff; box-shadow:0 0 0 2px #e6d1c5; font-size:54px; color:white; }
.gift-code { overflow-wrap:anywhere; font-family:monospace; font-size:20px; padding:18px; border:1px dashed #d5bbae; }

.support-messages { display:grid; gap:14px; margin:24px 0; min-width:0; }
.support-message { padding:18px; border:1px solid #eee1d8; border-radius:12px; background:#fffdfb; min-width:0; overflow-wrap:anywhere; }
.support-message.own-message { background:#f8eded; border-color:#ebd4d4; }
.support-message small { font-size:11px; color:#82746a; }
