:root {
    --pine: #173f35;
    --pine-deep: #0e3028;
    --moss: #49695d;
    --saffron: #e8a34a;
    --cream: #f7f3e9;
    --paper: #fffdf8;
    --ink: #18342d;
    --muted: #687871;
    --line: #dcded4;
    --serif: "Newsreader", Georgia, serif;
    --sans: "DM Sans", system-ui, sans-serif;
}

/* Order detail */
.order-detail-page { width: min(100% - 4rem, 1480px); margin: 0 auto; padding: 4rem 0 7rem; color: var(--pine-deep); }
.order-detail__back { display: inline-block; margin-bottom: 2.25rem; color: var(--muted); font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.order-detail__back:hover { color: var(--pine); }
.order-detail__hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; padding-bottom: 2.5rem; border-bottom: 1px solid var(--line); }
.order-detail__eyebrow { display: block; margin-bottom: .75rem; color: var(--orange); font-size: .62rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.order-detail__hero h1 { margin: 0; font-family: var(--serif); font-size: clamp(2.5rem,5vw,5rem); font-weight: 400; line-height: .95; }
.order-detail__hero p { margin: 1rem 0 0; color: var(--muted); font-size: .78rem; }
.order-detail__hero .order-status { flex: 0 0 auto; padding: .65rem 1rem; border-radius: 999px; font-size: .6rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.order-progress { display: grid; grid-template-columns: repeat(4,1fr); margin: 2.5rem 0 4rem; }
.order-progress__step { position: relative; display: flex; align-items: center; gap: .8rem; color: #9ba39f; }
.order-progress__step:not(:last-child)::after { content: ""; position: absolute; z-index: -1; top: 19px; left: 42px; width: calc(100% - 42px); height: 1px; background: var(--line); }
.order-progress__step > span { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--cream); font-size: .7rem; font-weight: 800; }
.order-progress__step strong,.order-progress__step small { display: block; }
.order-progress__step strong { font-size: .7rem; text-transform: uppercase; }
.order-progress__step small { margin-top: .15rem; font-size: .62rem; }
.order-progress__step.is-complete { color: var(--pine); }
.order-progress__step.is-complete > span { border-color: var(--pine); background: var(--pine); color: white; }
.order-progress__step.is-complete:not(:last-child)::after { background: var(--pine); }
.order-detail__layout { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(300px,.7fr); gap: 5rem; align-items: start; }
.order-section__heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.order-section__heading > div { display: flex; align-items: center; gap: .8rem; }
.order-section__heading span { color: var(--orange); font-size: .6rem; font-weight: 800; letter-spacing: .1em; }
.order-section__heading h2 { margin: 0; font-family: var(--serif); font-size: 2rem; font-weight: 400; }
.order-section__heading > small { color: var(--muted); font-size: .68rem; }
.order-items { border-top: 1px solid var(--line); }
.order-item { display: grid; grid-template-columns: 110px minmax(0,1fr) 80px 110px; gap: 1.5rem; align-items: center; padding: 1.4rem 0; border-bottom: 1px solid var(--line); }
.order-item__image { display: grid; width: 110px; aspect-ratio: 1; place-items: center; overflow: hidden; background: #f0ece2; color: var(--orange); font-family: var(--serif); font-size: 1.3rem; }
.order-item__image img { width: 100%; height: 100%; object-fit: cover; }
.order-item__info h3 { margin: 0 0 .4rem; font-family: var(--serif); font-size: 1.2rem; font-weight: 400; line-height: 1.25; }
.order-item__info p,.order-item__info small,.order-item__quantity small,.order-item__price small { display: block; margin: 0; color: var(--muted); font-size: .64rem; }
.order-item__quantity strong,.order-item__price strong { display: block; margin-top: .25rem; font-size: .78rem; }
.order-item__price { text-align: right; }
.order-tracking { display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; margin-top: 2rem; padding: 1.5rem; background: var(--pine); color: white; }
.order-tracking__icon { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #ffffff55; border-radius: 50%; }
.order-tracking small,.order-tracking h3,.order-tracking p { display: block; margin: 0; }
.order-tracking small { color: #ffffffaa; font-size: .58rem; text-transform: uppercase; }
.order-tracking h3 { margin: .15rem 0; font-family: var(--serif); font-weight: 400; }
.order-tracking p { font-size: .7rem; }
.order-tracking a { color: white; font-size: .65rem; font-weight: 700; text-decoration: none; text-transform: uppercase; }
.order-detail__aside { position: sticky; top: 120px; display: grid; gap: 1rem; }
.order-summary-card,.order-address-card { padding: 2rem; border: 1px solid var(--line); background: #fffdf8; }
.order-summary-card dl { display: grid; gap: .9rem; margin: 1.5rem 0; }
.order-summary-card dl > div { display: flex; justify-content: space-between; gap: 1rem; color: var(--muted); font-size: .72rem; }
.order-summary-card dt,.order-summary-card dd { margin: 0; }
.order-summary-card .is-saving { color: #397452; }
.order-summary-card__total { display: flex; align-items: end; justify-content: space-between; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.order-summary-card__total span { font-size: .68rem; font-weight: 700; text-transform: uppercase; }
.order-summary-card__total strong { font-family: var(--serif); font-size: 1.8rem; font-weight: 400; }
.order-address-card h3 { margin: 0 0 .6rem; font-family: var(--serif); font-size: 1.5rem; font-weight: 400; }
.order-address-card address { color: var(--muted); font-size: .75rem; font-style: normal; line-height: 1.75; }
.order-help { padding: 1.5rem 2rem; background: #f2ecdf; }
.order-help strong { font-family: var(--serif); font-weight: 400; }
.order-help p { margin: .35rem 0 .8rem; color: var(--muted); font-size: .68rem; }
.order-help a { color: var(--pine); font-size: .62rem; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.order-support { margin-top: 2rem; border: 1px solid var(--line); }
.order-support summary { display: flex; align-items: center; justify-content: space-between; padding: 1.25rem 1.5rem; cursor: pointer; list-style: none; }
.order-support summary::-webkit-details-marker { display: none; }
.order-support summary small,.order-support summary strong { display: block; }
.order-support summary small { margin-bottom: .25rem; color: var(--muted); font-size: .6rem; text-transform: uppercase; }
.order-support summary strong { font-family: var(--serif); font-size: 1rem; font-weight: 400; }
.order-support summary b { color: var(--orange); font-size: 1.2rem; transition: transform .2s; }
.order-support[open] summary b { transform: rotate(45deg); }
.order-support__body { padding: 0 1.5rem 1.5rem; }
.order-support__body label { display: grid; gap: .5rem; color: var(--muted); font-size: .65rem; }
.order-support__body textarea { width: 100%; padding: 1rem; resize: vertical; border: 1px solid var(--line); background: white; font: inherit; }
.order-support__body button { margin-top: 1rem; }
.order-request-state { margin-top: 2rem; padding: 1.5rem; border-left: 3px solid var(--orange); background: #f6eee0; }
.order-request-state h3,.order-request-state p { margin: 0; }
.order-request-state h3 { font-family: var(--serif); font-weight: 400; }
.order-request-state p,.order-request-state blockquote { margin-top: .5rem; color: var(--muted); font-size: .72rem; }

@media (max-width: 900px) {
    .order-detail__layout { grid-template-columns: 1fr; gap: 2.5rem; }
    .order-detail__aside { position: static; grid-template-columns: 1fr 1fr; }
    .order-help { grid-column: 1 / -1; }
}

@media (max-width: 650px) {
    .order-detail-page { width: min(100% - 2rem,1480px); padding-top: 2rem; }
    .order-detail__hero { align-items: flex-start; flex-direction: column; }
    .order-progress { grid-template-columns: 1fr 1fr; gap: 1.2rem; }
    .order-progress__step::after { display: none; }
    .order-progress__step small { display: none; }
    .order-item { grid-template-columns: 78px 1fr auto; gap: 1rem; }
    .order-item__image { width: 78px; }
    .order-item__quantity { grid-column: 2; }
    .order-item__price { grid-column: 3; grid-row: 1 / span 2; }
    .order-detail__aside { grid-template-columns: 1fr; }
    .order-help { grid-column: auto; }
    .order-tracking { grid-template-columns: auto 1fr; }
    .order-tracking a { grid-column: 2; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); line-height: 1.6; }
a { color: inherit; }
button, input, select { font: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--serif); font-weight: 500; line-height: .98; letter-spacing: -.035em; }
h1 { font-size: clamp(3rem, 6vw, 4.8rem); }
h2 { font-size: clamp(2.3rem, 4vw, 3.1rem); }
.eyebrow { display: block; margin-bottom: 1.1rem; color: var(--saffron); font-size: .71rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }

.announcement { min-height: 48px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: .45rem max(2rem,calc((100vw - 1620px)/2)); color: white; background: #c96f72; font-size: .72rem; line-height: 1.2; }
.announcement a { color: inherit; text-decoration: none; }
.announcement__email { justify-self: start; display: inline-flex; align-items: center; gap: .45rem; }
.announcement__email svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.announcement__offer { display: flex; align-items: center; gap: .8rem; }
.announcement__offer a { padding-bottom: .18rem; border-bottom: 1px solid white; text-transform: uppercase; }
.announcement-language { position: relative; justify-self: end; }
.announcement-language summary { list-style: none; }
.announcement-language summary::-webkit-details-marker { display: none; }
.announcement__language { display: inline-flex; align-items: center; gap: .55rem; padding: .45rem 0; color: white; background: none; border: 0; cursor: pointer; }
.announcement__language svg { width: 10px; height: 7px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.announcement-language[open] .announcement__language svg { transform: rotate(180deg); }
.announcement-language__menu { position: absolute; z-index: 20; top: calc(100% + .7rem); right: 0; min-width: 155px; padding: .45rem; color: var(--pine); background: #fffdf8; border: 1px solid rgba(13,54,44,.14); box-shadow: 0 15px 35px rgba(0,0,0,.18); }
.announcement-language__menu::before { position: absolute; right: 1rem; bottom: 100%; width: 0; height: 0; content: ""; border-right: 6px solid transparent; border-bottom: 7px solid #fffdf8; border-left: 6px solid transparent; }
.announcement-language__menu a { display: flex; align-items: center; justify-content: space-between; padding: .7rem .8rem; color: var(--pine); font-size: .8rem; }
.announcement-language__menu a:hover { background: var(--cream); }
.announcement-language__menu a.active { color: #b95159; font-weight: 700; }
.announcement-language__menu a.active::after { content: "✓"; }
.site-header { position: relative; z-index: 5; color: white; background: #050505; border: 0; }
.site-header__inner { width: min(100% - 4rem, 1600px); height: 90px; margin: auto; display: grid; grid-template-columns: 1fr 1.45fr 180px 1.45fr 1fr; align-items: center; gap: 1.25rem; }
.site-logo { display: inline-flex; align-items: center; width: max-content; color: var(--pine); text-decoration: none; }
.site-logo img {
    display: block;
    width: 95px;
    height: auto;
}
.site-logo--header { justify-self: center; }
.site-nav { display: flex; align-items: center; gap: 3rem; }
.site-nav--left { justify-self: end; }
.site-nav--right { justify-self: start; }
.site-nav a, .site-actions a, .logout-form button { color: inherit; background: none; border: 0; text-decoration: none; font-size: .82rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.site-nav a { position: relative; padding: 1.8rem 0; }
.site-nav a::after { content: ""; position: absolute; right: 0; bottom: 1.3rem; left: 0; height: 1px; background: #d86f72; transform: scaleX(0); transition: transform .2s; }
.site-nav a:hover::after,.site-nav a.active::after { transform: scaleX(1); }
.site-nav a.active { color: #d86f72; }
.site-actions { justify-self: end; display: flex; align-items: center; gap: 1.25rem; }
.header-search { justify-self: start; display: inline-flex; align-items: center; gap: .6rem; color: inherit; text-decoration: none; font-family: var(--sans); font-size: .84rem; }
.header-search svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.icon-link svg, .wishlist-link svg, .cart-link svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.account-menu { position: relative; }
.account-menu summary { display: flex; color: white; list-style: none; cursor: pointer; transition: color .2s; }
.account-menu summary::-webkit-details-marker { display: none; }
.account-menu[open] summary { color: #d86f72; }
.account-menu__dropdown { position: absolute; z-index: 20; top: calc(100% + 1.35rem); right: -.75rem; width: 220px; padding: .65rem; color: #222; background: white; border: 1px solid #ece6e1; box-shadow: 0 12px 35px rgba(0,0,0,.2); }
.account-menu__dropdown::before { content: ""; position: absolute; top: -7px; right: 17px; width: 12px; height: 12px; background: white; border-top: 1px solid #ece6e1; border-left: 1px solid #ece6e1; transform: rotate(45deg); }
.account-menu__heading { display: block; padding: .45rem .65rem .6rem; color: #8b7d75; font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.account-menu__dropdown a,.account-menu__dropdown button { width: 100%; display: flex; align-items: center; gap: .75rem; padding: .7rem .65rem; color: #222; background: transparent; border: 0; text-align: left; text-decoration: none; font-size: .76rem; font-weight: 600; letter-spacing: .02em; text-transform: none; cursor: pointer; }
.account-menu__dropdown a:hover,.account-menu__dropdown button:hover { color: #c95f64; background: #fff4f3; }
.account-menu__dropdown svg { width: 18px; height: 18px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.account-menu__divider { height: 1px; margin: .45rem .65rem; background: #ece6e1; }
.account-menu .logout-form { display: block; }
.cart-link,.wishlist-link { position: relative; display: inline-flex; }
.action-count { position: absolute; top: 10px; right: -10px; width: 22px; height: 22px; display: grid; place-items: center; color: white; background: #d86f72; border-radius: 50%; font-size: .58rem; font-weight: 500; letter-spacing: 0; }
.cart-menu { position: relative; }
.cart-menu summary { color: white; list-style: none; cursor: pointer; transition: color .2s; }
.cart-menu summary::-webkit-details-marker { display: none; }
.cart-menu[open] summary { color: #d86f72; }
.cart-menu__dropdown { position: absolute; z-index: 20; top: calc(100% + 1.35rem); right: -1rem; width: min(430px,calc(100vw - 2rem)); padding: 2.2rem 1.7rem 1.7rem; color: #999; background: white; border: 1px solid #eee; box-shadow: 0 14px 38px rgba(0,0,0,.22); }
.cart-menu__dropdown::before { content: ""; position: absolute; top: -7px; right: 18px; width: 12px; height: 12px; background: white; border-top: 1px solid #eee; border-left: 1px solid #eee; transform: rotate(45deg); }
.cart-menu__content--empty { min-height: 225px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.cart-menu__content > svg { width: 30px; height: 30px; margin-bottom: 1rem; fill: none; stroke: #999; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.cart-menu__content p { margin: 0 0 2.7rem; font-size: 1rem; }
.cart-menu__shop { min-width: 222px; padding: .8rem 1.2rem; color: #111!important; background: white!important; border: 1px solid #111!important; border-radius: 999px; text-align: center; font-size: .78rem!important; font-weight: 600!important; letter-spacing: .08em!important; text-transform: none!important; }
.cart-menu__products { max-height: 515px; overflow-y: auto; padding-right: .2rem; scrollbar-width: thin; }
.mini-cart-item { display: grid; grid-template-columns: 90px 1fr; gap: 1rem; padding: .75rem 0; }
.mini-cart-item__image { width: 90px; height: 120px; display: grid; place-items: center; overflow: hidden; background: #f6f3ee; }
.mini-cart-item__image img { width: 100%; height: 100%; object-fit: cover; }
.mini-cart-item__image svg { width: 25px; fill: none; stroke: #aaa; }
.mini-cart-item__details { min-width: 0; display: flex; flex-direction: column; align-items: stretch; padding: .15rem 0; }
.mini-cart-item__title { color: #171717!important; font-size: .82rem!important; font-weight: 500!important; line-height: 1.35; letter-spacing: 0!important; text-transform: none!important; }
.mini-cart-item__details small { margin-top: .15rem; color: #777; font-size: .65rem; }
.mini-cart-item__price { margin-top: .3rem; color: #999; font-size: .76rem; }
.mini-cart-item__footer { display: flex; align-items: end; justify-content: space-between; gap: .6rem; margin-top: auto; }
.mini-cart-item__footer form:first-child { height: 36px; display: grid; grid-template-columns: repeat(3,31px); align-items: center; border: 1px solid #e1e1e1; text-align: center; }
.mini-cart-item__footer form:first-child button { width: 31px; height: 34px; padding: 0; color: #999; background: white; border: 0; cursor: pointer; }
.mini-cart-item__footer form:first-child span { color: #555; font-size: .76rem; }
.mini-cart-item__remove { padding: 0!important; color: #999!important; background: transparent!important; border: 0!important; border-bottom: 1px solid #aaa!important; font-size: .68rem!important; font-weight: 400!important; letter-spacing: 0!important; text-transform: none!important; cursor: pointer; }
.mini-cart-more { display: block; margin: .5rem 0 1rem; color: #c95f64!important; text-align: center; font-size: .72rem!important; text-transform: none!important; }
.cart-menu__summary { padding: 1rem 0 1.35rem; border-top: 1px solid #e5e5e5; }
.cart-menu__summary > div { display: flex; justify-content: space-between; font-size: 1rem; }
.cart-menu__summary strong { color: #999; }
.cart-menu__summary small { display: block; margin-top: .15rem; font-size: .7rem; }
.cart-menu__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.cart-menu__actions a { display: grid; min-height: 54px; place-items: center; padding: .75rem!important; color: #111!important; background: white!important; border: 1px solid #111!important; border-radius: 999px; text-align: center; font-size: .76rem!important; font-weight: 600!important; letter-spacing: .08em!important; text-transform: none!important; }
.cart-menu__actions .cart-menu__checkout { color: #555!important; border-color: #777!important; border-radius: 0; }
.cart-menu__actions .is-disabled { color: #999!important; border-color: #bbb!important; }
.logout-form { display: inline; }
.logout-form button { padding: 0; cursor: pointer; }
.site-main { min-height: 60vh; }

.hero { position: relative; min-height: min(650px,calc(100vh - 138px)); overflow: hidden; color: #111; background: #21140d; }
.hero__slide { position: absolute; inset: 0; z-index: 0; visibility: hidden; background-position: center 42%; background-size: cover; background-repeat: no-repeat; will-change: transform; }
.hero__slide.is-active { visibility: visible; }
.hero__slide.slide-in-from-right { visibility: visible; animation: hero-in-from-right .65s cubic-bezier(.55,.05,.2,1) both; }
.hero__slide.slide-in-from-left { visibility: visible; animation: hero-in-from-left .65s cubic-bezier(.55,.05,.2,1) both; }
.hero__slide.slide-out-to-left { visibility: visible; animation: hero-out-to-left .65s cubic-bezier(.55,.05,.2,1) both; }
.hero__slide.slide-out-to-right { visibility: visible; animation: hero-out-to-right .65s cubic-bezier(.55,.05,.2,1) both; }
@keyframes hero-in-from-right { from { transform: translateX(100%); } to { transform: translateX(0); } }
@keyframes hero-in-from-left { from { transform: translateX(-100%); } to { transform: translateX(0); } }
@keyframes hero-out-to-left { from { transform: translateX(0); } to { transform: translateX(-100%); } }
@keyframes hero-out-to-right { from { transform: translateX(0); } to { transform: translateX(100%); } }
.hero__arrow { position: absolute; z-index: 2; top: 50%; width: 58px; height: 58px; display: grid; place-items: center; padding: 0; color: white; background: #ea5155; border: 0; border-radius: 50%; font-family: Arial,sans-serif; font-size: 2.35rem; font-weight: 200; line-height: 1; transform: translateY(-50%); cursor: pointer; }
.hero__arrow--previous { left: 3.4%; padding: 0 3px 5px 0; }
.hero__arrow--next { right: 3.4%; padding: 0 0 5px 3px; }
@media (prefers-reduced-motion: reduce) {
    .hero__slide { animation-duration: .01ms!important; }
}
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 2rem; min-width: 225px; padding: .9rem 1.15rem; text-decoration: none; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.button--light { color: var(--pine); background: var(--cream); }
.button span, .text-link span, .section-heading > a span { font-size: 1.2rem; }
.hero__art { position: relative; min-height: 630px; background: linear-gradient(145deg,#d9c6a2,#baa57d); }
.hero__art::after { content: ""; position: absolute; inset: 0; opacity: .16; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E"); mix-blend-mode: multiply; pointer-events: none; }
.hero__art svg { position: absolute; inset: auto 0 0; width: 100%; height: 82%; }
.mountain--back { fill: #7c8a78; }
.mountain--front { fill: #294f41; }
.sun { position: absolute; top: 12%; right: 17%; width: 155px; aspect-ratio: 1; border-radius: 50%; background: var(--saffron); box-shadow: 0 0 80px rgba(232,163,74,.35); }
.hero__stamp { position: absolute; z-index: 2; right: 6%; bottom: 8%; width: 102px; height: 102px; display: grid; place-items: center; text-align: center; border: 1px solid rgba(255,255,255,.65); border-radius: 50%; font-size: .6rem; font-weight: 700; line-height: 1.5; letter-spacing: .14em; transform: rotate(8deg); }

.trust-strip { display: grid; grid-template-columns: repeat(3,1fr); max-width: 1280px; margin: auto; padding: 2.1rem 0; border-bottom: 1px solid var(--line); }
.trust-strip div { display: flex; align-items: center; justify-content: center; gap: 1rem; padding: .2rem 3rem; text-align: left; border-right: 1px solid var(--line); }
.trust-strip div:last-child { border: 0; }
.trust-strip svg { width: 34px; height: 34px; flex: 0 0 auto; fill: none; stroke: var(--saffron); stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; }
.trust-strip p { margin: 0; }
.trust-strip strong, .trust-strip span { display: block; }
.trust-strip strong { color: var(--pine); font-family: var(--serif); font-size: 1.08rem; font-weight: 500; }
.trust-strip span { color: var(--muted); font-size: .7rem; }
.catalog { width: min(100% - 3rem,1280px); margin: auto; padding: 7rem 0; }
.section-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 3rem; }
.section-heading h2 { margin: 0; }
.section-heading > a, .text-link { display: inline-flex; align-items: center; gap: 1rem; padding-bottom: .25rem; border-bottom: 1px solid var(--pine); text-decoration: none; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.section-heading__actions { display: flex; align-items: center; gap: 2rem; }
.section-heading__actions > a { display: inline-flex; align-items: center; gap: 1rem; padding-bottom: .25rem; border-bottom: 1px solid var(--pine); text-decoration: none; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.rail-controls { display: flex; gap: .55rem; }
.rail-controls button { width: 42px; height: 42px; display: grid; place-items: center; padding: 0 0 .15rem; color: var(--pine); background: transparent; border: 1px solid var(--line); border-radius: 50%; font-family: var(--serif); font-size: 1.65rem; line-height: 1; cursor: pointer; transition: color .2s,background .2s,border-color .2s; }
.rail-controls button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.rail-controls button:hover { color: white; background: var(--pine); border-color: var(--pine); }

.search-page { max-width: none!important; margin: 0!important; }
.search-hero { display: grid; grid-template-columns: minmax(0,.9fr) minmax(520px,1.1fr); gap: clamp(3rem,8vw,9rem); align-items: end; min-height: 530px; padding: 6rem max(2rem,calc((100vw - 1500px)/2)); background: #f3ecdf; }
.search-hero__copy h1 { max-width: 760px; margin: .8rem 0 1.4rem; font-size: clamp(4rem,6.4vw,7rem); line-height: .86; }
.search-hero__copy h1 em { display: block; color: #d86f72; font-weight: 400; }
.search-hero__copy p { max-width: 610px; margin: 0; color: var(--muted); font-family: var(--serif); font-size: 1.05rem; line-height: 1.65; }
.search-hero__tool { align-self: center; }
.search-form { display: grid; grid-template-columns: 54px minmax(0,1fr) auto; align-items: center; width: 100%; min-height: 82px; margin: 0; padding: .55rem; background: white; border: 1px solid rgba(15,57,47,.16); box-shadow: 0 20px 55px rgba(15,57,47,.07); }
.search-form__icon { display: grid; place-items: center; color: var(--pine); }
.search-form__icon svg { width: 23px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; }
.search-form input { width: 100%; min-width: 0; padding: 0 1rem 0 .2rem; color: var(--pine); background: transparent; border: 0; outline: 0; font-family: inherit; font-size: 1rem; }
.search-form input::placeholder { color: #8d948f; }
.search-form button { display: flex; min-width: 165px; min-height: 66px; align-items: center; justify-content: space-between; gap: 2rem; padding: 0 1.4rem; color: white; background: var(--pine); border: 0; cursor: pointer; font-size: .67rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; transition: background .2s; }
.search-form button:hover { background: var(--pine-deep); }
.search-form button span { font-size: 1rem; }
.search-suggestions { display: flex; flex-wrap: wrap; gap: .55rem; align-items: center; margin-top: 1.25rem; color: var(--muted); font-size: .65rem; }
.search-suggestions > span { margin-right: .2rem; font-weight: 700; text-transform: uppercase; }
.search-suggestions a { padding: .45rem .75rem; color: var(--pine); border: 1px solid rgba(15,57,47,.18); border-radius: 999px; text-decoration: none; transition: .2s; }
.search-suggestions a:hover { color: white; background: var(--pine); border-color: var(--pine); }
.search-discover,.search-results { width: min(100% - 4rem,1500px); margin: auto; padding: 5rem 0 7rem; }
.search-discover { display: grid; grid-template-columns: .75fr 1.25fr; gap: 7rem; }
.search-discover__intro h2 { margin: .7rem 0 1rem; font-size: clamp(2.8rem,4.5vw,4.8rem); }
.search-discover__intro p { max-width: 470px; color: var(--muted); line-height: 1.7; }
.search-discover__links { border-top: 1px solid var(--line); }
.search-discover__links a { display: grid; grid-template-columns: 50px 1fr auto; gap: 1.5rem; align-items: center; min-height: 92px; color: var(--pine); border-bottom: 1px solid var(--line); text-decoration: none; transition: padding .2s,color .2s; }
.search-discover__links a:hover { padding-left: .8rem; color: #d86f72; }
.search-discover__links span { color: var(--orange); font-size: .62rem; font-weight: 700; letter-spacing: .1em; }
.search-discover__links strong { font-family: var(--serif); font-size: 1.45rem; font-weight: 400; }
.search-discover__links b { font-size: 1.1rem; font-weight: 400; }
.search-results__heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 3rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--line); }
.search-results__heading h2 { margin: .45rem 0 0; font-size: clamp(2.8rem,5vw,5rem); }
.search-results__heading p { color: var(--muted); font-size: .7rem; }
.search-results__heading p strong { color: var(--pine); }
.search-product-grid { margin: 0; }
.search-pagination { display: flex; justify-content: center; align-items: center; gap: 1.5rem; margin-top: 4rem; }
.search-pagination > span { color: var(--muted); font-size: .65rem; text-transform: uppercase; }
.search-state { min-height: 260px; display: grid; place-content: center; text-align: center; }
.search-empty { display: grid; grid-template-columns: 130px minmax(0,560px); justify-content: center; gap: 3rem; align-items: center; min-height: 330px; padding: 3rem; background: #f3ecdf; }
.search-empty__icon { display: grid; width: 120px; height: 120px; place-items: center; color: var(--orange); background: #fffdf9; border-radius: 50%; }
.search-empty__icon svg { width: 44px; fill: none; stroke: currentColor; stroke-width: 1.2; stroke-linecap: round; }
.search-empty h2 { margin: .5rem 0 1rem; font-size: clamp(2.5rem,4vw,4rem); }
.search-empty p { margin: 0 0 1.5rem; color: var(--muted); line-height: 1.6; }
@media (max-width: 980px) {
    .search-hero { grid-template-columns: 1fr; gap: 3rem; min-height: 0; padding-top: 4.5rem; padding-bottom: 4.5rem; }
    .search-hero__copy h1 { font-size: clamp(3.6rem,10vw,6rem); }
    .search-discover { grid-template-columns: 1fr; gap: 3rem; }
}
@media (max-width: 650px) {
    .search-hero { padding: 3.5rem 1rem; }
    .search-form { grid-template-columns: 42px minmax(0,1fr); min-height: 64px; }
    .search-form button { grid-column: 1 / -1; min-height: 54px; margin-top: .55rem; }
    .search-discover,.search-results { width: min(100% - 2rem,1500px); padding: 3.5rem 0 5rem; }
    .search-results__heading { align-items: flex-start; flex-direction: column; }
    .search-empty { grid-template-columns: 1fr; gap: 1.5rem; padding: 2rem 1.25rem; text-align: center; }
    .search-empty__icon { width: 88px; height: 88px; margin: auto; }
}
.collection-subcats { display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: 2.5rem; }

.store-hero { max-width: none!important; padding: 6rem max(2rem,calc((100vw - 1440px)/2)) 5rem; background: #f3ecdf; }
.store-hero h1 { max-width: 850px; margin-bottom: 1.3rem; color: var(--pine-deep); }
.store-hero h1 em { color: #d86f72; font-weight: 400; }
.store-hero p { max-width: 650px; margin: 0; color: var(--muted); font-family: var(--serif); font-size: 1.05rem; }
.store-catalog { max-width: 1440px!important; margin: auto; padding: 3rem 1.5rem 7rem; }
.store-toolbar { display: grid; grid-template-columns: auto minmax(260px,480px) auto 1fr; align-items: center; gap: 1rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--line); }
.store-filter-toggle { display: none; }
.store-search { min-height: 48px; display: flex; align-items: center; gap: .7rem; padding: 0 1rem; background: white; border: 1px solid var(--line); }
.store-search svg,.store-filter-toggle svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; }
.store-search input { width: 100%; min-height: 0; padding: 0; background: transparent; border: 0; outline: 0; }
.store-toolbar__summary { justify-self: start; color: var(--muted); font-size: .72rem; }
.store-toolbar__summary strong { color: var(--pine); }
.store-sort { grid-column: 4; justify-self: end; display: flex; align-items: center; gap: .6rem; color: var(--muted); font-size: .68rem; }
.store-sort select { min-width: 175px; }
.store-layout { display: grid; grid-template-columns: 245px minmax(0,1fr); gap: 2.5rem; padding-top: 2rem; }
.store-filters { align-self: start; position: sticky; top: 1rem; }
.store-filters__mobile-head { display: none; }
.store-filters details { padding: 1rem 0; border-bottom: 1px solid var(--line); }
.store-filters summary { display: flex; justify-content: space-between; color: var(--pine-deep); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; list-style: none; }
.store-filters summary::-webkit-details-marker { display: none; }
.store-filter-options { display: grid; gap: .55rem; padding-top: 1rem; }
.store-filter-options--scroll { max-height: 205px; overflow-y: auto; }
.store-filter-options label,.store-stock-filter { display: flex; align-items: center; gap: .65rem; color: var(--muted); font-size: .72rem; cursor: pointer; }
.store-filter-options input,.store-stock-filter input { min-height: 0; accent-color: var(--pine); }
.store-price-slider { padding: 1rem .15rem .35rem; }
.store-price-slider__values { display: flex; justify-content: space-between; margin-bottom: 1rem; color: var(--pine); font-size: .68rem; font-weight: 600; }
.store-price-slider__track { position: relative; height: 18px; }
.store-price-slider__track::before,.store-price-slider__fill { content: ""; position: absolute; top: 8px; right: 0; left: 0; height: 3px; background: #d9ddd7; }
.store-price-slider__fill { z-index: 1; background: var(--saffron); }
.store-price-slider input { position: absolute; z-index: 2; top: 0; width: 100%; height: 18px; min-height: 0; margin: 0; padding: 0; background: transparent; border: 0; outline: 0; pointer-events: none; appearance: none; }
.store-price-slider input::-webkit-slider-thumb { width: 17px; height: 17px; background: var(--paper); border: 2px solid var(--pine); border-radius: 50%; pointer-events: auto; appearance: none; cursor: grab; }
.store-price-slider input::-moz-range-thumb { width: 14px; height: 14px; background: var(--paper); border: 2px solid var(--pine); border-radius: 50%; pointer-events: auto; cursor: grab; }
.store-price-slider input::-moz-range-track { background: transparent; border: 0; }
.store-stock-filter { padding-top: 1rem; }
.store-apply { width: 100%; min-height: 46px; margin-top: 1.25rem; color: white; background: var(--pine); border: 0; font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.store-apply span { margin-left: .5rem; }
.store-clear { display: block; margin-top: .8rem; color: #b85a5e; font-size: .68rem; text-align: center; }
.store-active-filters { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin-bottom: 1.2rem; color: var(--muted); font-size: .65rem; }
.store-filter-chip { padding: .3rem .55rem; color: var(--pine); background: #f3ecdf; border-radius: 999px; }
.store-product-grid { grid-template-columns: repeat(3,1fr); }
.store-empty { padding: 7rem 2rem; text-align: center; background: var(--cream); }
.store-empty > span { color: var(--saffron); font-size: 2.5rem; }
.store-empty h2 { margin: .5rem 0; font-size: 2rem; }
.store-empty p { color: var(--muted); }
.store-empty a { color: var(--pine); font-size: .75rem; font-weight: 700; text-transform: uppercase; }
.store-pagination { display: flex; justify-content: center; gap: .5rem; margin-top: 4rem; }
.store-pagination a { width: 42px; height: 42px; display: grid; place-items: center; color: var(--pine); border: 1px solid var(--line); border-radius: 50%; text-decoration: none; font-size: .72rem; }
.store-pagination a.is-active,.store-pagination a:hover { color: white; background: var(--pine); border-color: var(--pine); }

.product-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.5rem; list-style: none; margin: 0; padding: 0; }
.product-rail { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: clamp(255px, 22vw, 310px); gap: 1.5rem; overflow-x: auto; overflow-y: hidden; padding: 0; scroll-behavior: smooth; scroll-snap-type: x proximity; overscroll-behavior-inline: contain; scrollbar-width: none; }
.product-rail > li { scroll-snap-align: start; }
.product-rail::-webkit-scrollbar { display: none; }
.product-card { display: block; color: inherit; }
.product-card__image { position: relative; aspect-ratio: .86; overflow: hidden; background: var(--cream); }
.product-card__image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 75%,rgba(15,47,39,.12)); pointer-events: none; }
.product-card__image-link { position: absolute; inset: 0; display: block; }
.product-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.product-card:hover img { transform: scale(1.035); }
.product-card__badge { position: absolute; z-index: 1; top: .8rem; left: .8rem; padding: .35rem .55rem; color: var(--pine); background: rgba(255,253,248,.9); font-size: .55rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.product-card__body { padding: 1rem .1rem; }
.product-card__title-link { color: inherit; text-decoration: none; }
.product-card__vendor { margin-bottom: .2rem; color: var(--saffron); font-size: .61rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.product-card__title { margin: 0; font-family: var(--serif); font-size: 1.3rem; font-weight: 500; line-height: 1.25; }
.product-card__footer { display: flex; align-items: center; justify-content: space-between; margin-top: .6rem; }
.product-card__price { font-size: .82rem; font-weight: 600; }
.product-card__arrow { width: 28px; height: 28px; display: grid; place-items: center; color: inherit; border: 1px solid var(--line); border-radius: 50%; text-decoration: none; transition: .2s; }
.product-card:hover .product-card__arrow { color: white; background: var(--pine); border-color: var(--pine); }
.product-card__actions { position: absolute; z-index: 3; right: 1rem; bottom: 1rem; left: 1rem; display: flex; align-items: stretch; gap: .55rem; opacity: 0; transform: translateY(14px); transition: opacity .25s ease,transform .25s ease; }
.product-card:hover .product-card__actions,.product-card:focus-within .product-card__actions { opacity: 1; transform: translateY(0); }
.product-card__add-form { flex: 1; }
.product-card__actions button { height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: .6rem; color: white; background: var(--pine-deep); border: 0; box-shadow: 0 5px 18px rgba(0,0,0,.18); font-size: .69rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; cursor: pointer; transition: background .2s,color .2s; }
.product-card__actions button:hover { background: #d86f72; }
.product-card__actions svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.product-card__add { width: 100%; padding: 0 1rem; }
.product-card__wish { width: 48px; padding: 0; color: var(--pine-deep)!important; background: white!important; }
.product-card__wish:hover { color: white!important; background: #d86f72!important; }
.store-toast { position: fixed; z-index: 1000; top: 1.25rem; right: 1.25rem; max-width: min(390px,calc(100vw - 2rem)); display: flex; align-items: center; gap: .8rem; padding: .95rem 1.1rem; color: white; background: var(--pine-deep); box-shadow: 0 12px 35px rgba(0,0,0,.24); font-size: .78rem; animation: store-toast-life 4s ease both; }
.store-toast--error { background: #a54848; }
.store-toast__icon { width: 24px; height: 24px; display: grid; flex: 0 0 auto; place-items: center; color: var(--pine-deep); background: white; border-radius: 50%; font-weight: 800; }
@keyframes store-toast-life { 0% { opacity: 0; transform: translateY(-14px); } 8%,82% { opacity: 1; transform: translateY(0); } 100% { opacity: 0; transform: translateY(-8px); visibility: hidden; } }
@media (hover: none) {
    .product-card__actions { opacity: 1; transform: translateY(0); }
}
.loading-state { padding: 4rem; text-align: center; color: var(--muted); background: var(--cream); }

.customer-reviews { padding: 5rem 1.5rem; background: #f3ecdf; }
.customer-reviews__inner { width: min(100%,1280px); margin: auto; }
.customer-reviews__heading { display: flex; align-items: end; justify-content: space-between; gap: 3rem; margin-bottom: 2.5rem; }
.customer-reviews__heading h2 { max-width: 700px; margin: 0; color: var(--pine-deep); }
.customer-reviews__heading-actions { display: flex; align-items: center; gap: 1.4rem; }
.customer-reviews__score { display: grid; grid-template-columns: auto auto; align-items: center; gap: 0 .8rem; min-width: 210px; padding-left: 2rem; border-left: 1px solid #cfc5b4; }
.customer-reviews__score > strong { grid-row: 1/3; color: var(--pine); font-family: var(--serif); font-size: 2.8rem; font-weight: 500; line-height: 1; }
.customer-reviews__score small { color: var(--muted); font-size: .65rem; }
.customer-reviews__stars { color: var(--saffron); font-size: .92rem; letter-spacing: .08em; white-space: nowrap; }
.customer-reviews__grid { display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: clamp(350px,31vw,420px); gap: 1.4rem; overflow-x: auto; overflow-y: hidden; scroll-behavior: smooth; scroll-snap-type: x proximity; overscroll-behavior-inline: contain; scrollbar-width: none; }
.customer-reviews__grid::-webkit-scrollbar { display: none; }
.customer-reviews__grid > article { scroll-snap-align: start; }
.customer-review { position: relative; min-height: 285px; display: flex; flex-direction: column; padding: 1.65rem; background: var(--paper); border: 1px solid rgba(23,63,53,.1); transition: transform .25s ease,box-shadow .25s ease; }
.customer-review:hover { transform: translateY(-5px); box-shadow: 0 16px 35px rgba(23,63,53,.09); }
.customer-review__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.customer-review__verified { color: #698379; font-size: .58rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.customer-review__quote { height: 40px; margin-top: .85rem; color: #d7b578; font-family: Georgia,serif; font-size: 3.8rem; line-height: 1; }
.customer-review h3 { margin: .4rem 0 .7rem; color: var(--pine-deep); font-family: var(--serif); font-size: 1.35rem; font-weight: 500; line-height: 1.15; }
.customer-review > p { display: -webkit-box; overflow: hidden; margin-bottom: 1.25rem; color: var(--muted); font-family: var(--serif); font-size: 1rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.customer-review footer { display: flex; align-items: center; gap: .8rem; margin-top: auto; padding-top: 1.2rem; border-top: 1px solid var(--line); }
.customer-review__avatar { width: 38px; height: 38px; display: grid; flex: 0 0 auto; place-items: center; color: white; background: var(--pine); border-radius: 50%; font-size: .65rem; font-weight: 700; letter-spacing: .05em; }
.customer-review footer strong,.customer-review footer small { display: block; }
.customer-review footer strong { color: var(--pine-deep); font-size: .73rem; }
.customer-review footer small { max-width: 220px; overflow: hidden; color: var(--muted); font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.customer-reviews__empty { padding: 4.5rem 2rem; text-align: center; background: rgba(255,253,248,.7); border: 1px solid rgba(23,63,53,.1); }
.customer-reviews__empty .customer-reviews__quote { display: block; height: 45px; color: #d7b578; font-family: Georgia,serif; font-size: 4.5rem; line-height: 1; }
.customer-reviews__empty h3 { margin: .5rem 0; color: var(--pine); font-family: var(--serif); font-size: 1.8rem; font-weight: 500; }
.customer-reviews__empty p { color: var(--muted); }
.customer-reviews__empty .text-link { margin-top: 1rem; }

.home-journal { max-width: none!important; padding: 7rem clamp(3rem,5vw,6rem); background: var(--paper); }
.home-journal__heading { display: grid; grid-template-columns: 1.25fr .75fr; gap: 5rem; align-items: end; margin-bottom: 3.5rem; padding-bottom: 2.5rem; border-bottom: 1px solid var(--line); }
.home-journal__heading h2 { margin: .65rem 0 0; color: var(--pine-deep); font-size: clamp(3.4rem,6vw,6.4rem); line-height: .88; }
.home-journal__heading h2 em { color: #d86f72; font-weight: 400; }
.home-journal__heading > div:last-child { justify-self: end; max-width: 450px; }
.home-journal__heading p { margin: 0 0 1.6rem; color: var(--muted); font-family: var(--serif); font-size: 1rem; line-height: 1.65; }
.home-journal__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
.home-story-card { min-width: 0; }
.home-story-card__image { position: relative; display: block; overflow: hidden; aspect-ratio: 1.2; background: #e6dfd2; }
.home-story-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.home-story-card:hover .home-story-card__image img { transform: scale(1.035); }
.home-story-card__image > span { position: absolute; top: 1rem; left: 1rem; padding: .55rem .75rem; color: var(--pine); background: #fffdf7; font-size: .52rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.home-story-card__body { padding: 1.25rem .15rem 0; }
.home-story-card__body > small { color: var(--orange); font-size: .55rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.home-story-card__body > a { color: inherit; text-decoration: none; }
.home-story-card h3 { margin: .7rem 0; font-family: var(--serif); font-size: clamp(1.5rem,2vw,2rem); font-weight: 400; line-height: 1.1; }
.home-story-card__body > p { min-height: 3.4em; margin: 0; color: var(--muted); font-size: .68rem; line-height: 1.7; }
.home-story-card__read { display: flex; align-items: center; justify-content: space-between; margin-top: 1.15rem; padding-top: 1rem; border-top: 1px solid var(--line); font-size: .58rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.home-story-card__read span { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--line); border-radius: 50%; transition: .2s; }
.home-story-card__read:hover span { color: white; background: var(--pine); border-color: var(--pine); }
@media (max-width: 900px) {
    .home-journal__heading { grid-template-columns: 1fr; gap: 2rem; }
    .home-journal__heading > div:last-child { justify-self: start; }
    .home-journal__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .home-story-card:last-child { display: none; }
}
@media (max-width: 600px) {
    .home-journal { padding: 5rem 1.25rem; }
    .home-journal__grid { grid-template-columns: 1fr; gap: 3rem; }
    .home-story-card:last-child { display: block; }
}

.story { display: grid; grid-template-columns: 1fr 1fr; min-height: 500px; color: white; background: var(--pine-deep); }
.story__art { min-height: 500px; display: flex; align-items: center; justify-content: center; gap: 1.3rem; background: radial-gradient(circle at 50% 45%,#d69a51 0 16%,transparent 16.5%),linear-gradient(150deg,#75887b,#294f41); }
.story__art strong { font-family: var(--serif); font-size: clamp(3rem,5vw,5rem); font-weight: 400; line-height: .85; text-align: center; }
.story__art span { writing-mode: vertical-rl; font-size: .58rem; letter-spacing: .18em; }
.story__copy { align-self: center; max-width: 590px; padding: 5rem clamp(2rem,6vw,7rem); }
.story__copy h2 { margin-bottom: 1.6rem; }
.story__copy p { margin-bottom: 2rem; color: #cbd9d3; font-family: var(--serif); font-size: 1.15rem; }
.story .text-link { color: white; border-color: rgba(255,255,255,.6); }

/* About */
.about-hero { width: 100%; max-width: none!important; min-height: 650px; display: grid; grid-template-columns: 46% 54%; color: white; background: var(--pine-deep); }
.about-hero__copy { position: relative; z-index: 2; align-self: center; padding: 6rem clamp(2rem,5vw,6rem) 6rem max(2rem,calc((100vw - 1440px)/2)); }
.about-hero__copy::after { content: ""; position: absolute; right: 0; bottom: -4rem; width: 1px; height: 8rem; background: var(--saffron); }
.about-hero__kicker { display: flex; align-items: center; gap: .7rem; margin-bottom: 1.5rem; color: var(--saffron); font-size: .68rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.about-hero__kicker i { width: 34px; height: 1px; background: currentColor; }
.about-hero h1 { max-width: 700px; margin-bottom: 1.7rem; font-size: clamp(3.3rem,5.5vw,6rem); }
.about-hero h1 em { color: #f1bb6f; font-weight: 400; }
.about-hero__copy p { max-width: 530px; margin-bottom: 2.2rem; color: #c8d8d1; font-family: var(--serif); font-size: 1.22rem; line-height: 1.55; }
.about-hero__link { display: inline-flex; align-items: center; gap: 1rem; padding-bottom: .35rem; color: white; border-bottom: 1px solid #6f8880; text-decoration: none; font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.about-hero__link span { color: var(--saffron); font-size: 1rem; }
.about-hero__visual { position: relative; min-height: 650px; overflow: hidden; background: #d5c29e; }
.about-hero__visual::before { content: ""; position: absolute; inset: 0; opacity: .2; background-image: radial-gradient(#173f35 1px,transparent 1px); background-size: 22px 22px; }
.about-hero__visual svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.about-hero__sun { position: absolute; z-index: 1; top: 9%; right: 12%; width: 145px; aspect-ratio: 1; background: var(--saffron); border-radius: 50%; box-shadow: 0 0 0 18px rgba(232,163,74,.12); }
.about-ridge--far { fill: #7f9188; }
.about-ridge--near { fill: #275344; }
.about-contour { fill: none; stroke: rgba(255,255,255,.25); stroke-width: 2; stroke-dasharray: 6 8; }
.about-hero__coordinates { position: absolute; z-index: 2; top: 2rem; left: 2rem; display: flex; gap: .55rem; color: var(--pine-deep); font-family: var(--serif); }
.about-hero__coordinates strong { font-size: 1.35rem; font-weight: 500; }
.about-hero__coordinates span { padding-top: .2rem; font-size: .8rem; }
.about-hero__places { position: absolute; z-index: 2; right: 2rem; bottom: 1.6rem; display: flex; gap: 1.25rem; color: white; font-size: .55rem; font-weight: 700; letter-spacing: .16em; }
.about-hero__seal { position: absolute; z-index: 3; right: 7%; bottom: 17%; width: 142px; aspect-ratio: 1; display: flex; align-items: center; justify-content: center; flex-direction: column; color: var(--pine-deep); background: #f7f3e9; border: 1px solid var(--pine-deep); border-radius: 50%; text-align: center; transform: rotate(-7deg); }
.about-hero__seal::before { content: ""; position: absolute; inset: 7px; border: 1px dashed #8da097; border-radius: inherit; }
.about-hero__seal small { font-size: .48rem; font-weight: 700; letter-spacing: .12em; }
.about-hero__seal strong { font-family: var(--serif); font-size: 1.45rem; font-style: italic; font-weight: 500; }
.about-intro { display: grid; grid-template-columns: 1fr 2.5fr; gap: 5rem; width: min(100% - 3rem,1100px); padding: 8rem 0; }
.about-index { color: var(--saffron); font-size: .63rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.about-intro h2 { max-width: 780px; margin-bottom: 2rem; }
.about-intro p { max-width: 700px; color: var(--muted); font-family: var(--serif); font-size: 1.15rem; }
.about-pillars { display: grid; grid-template-columns: 1fr 1fr; max-width: none!important; background: var(--cream); }
.about-pillars article { position: relative; padding: 6rem max(2rem,calc((100vw - 1280px)/2)); }
.about-pillars article:first-child { padding-right: 6rem; border-right: 1px solid var(--line); }
.about-pillars article:last-child { padding-left: 6rem; }
.about-pillar__mark { width: 78px; height: 78px; display: grid; place-items: center; margin: 2rem 0; color: var(--paper); background: var(--pine); border-radius: 50%; font-family: var(--serif); font-size: 2.3rem; font-style: italic; }
.about-pillars h3 { max-width: 450px; font-family: var(--serif); font-size: 2.3rem; font-weight: 500; line-height: 1.05; }
.about-pillars p { max-width: 510px; color: var(--muted); font-family: var(--serif); font-size: 1.04rem; }
.about-community { display: grid; grid-template-columns: 1fr 1.4fr; align-items: center; gap: 7rem; width: min(100% - 3rem,1100px); padding: 8rem 0; }
.about-community__stamp { width: 330px; aspect-ratio: 1; display: flex; align-items: center; justify-content: center; gap: 1rem; color: white; background: var(--saffron); border-radius: 50%; transform: rotate(-4deg); }
.about-community__stamp strong { font-family: var(--serif); font-size: 2.6rem; font-weight: 400; line-height: .83; text-align: center; }
.about-community__stamp span { font-size: .55rem; letter-spacing: .2em; writing-mode: vertical-rl; }
.about-community h2 { margin-bottom: 1.6rem; }
.about-community p { color: var(--muted); font-family: var(--serif); font-size: 1.08rem; }
.about-closing { max-width: none!important; padding: 7rem max(2rem,calc((100vw - 900px)/2)); text-align: center; color: white; background: var(--pine-deep); }
.about-closing h2 { max-width: 900px; margin: 0 auto 1.5rem; }
.about-closing p { max-width: 680px; margin: 0 auto 2rem; color: #cbd9d3; font-family: var(--serif); font-size: 1.12rem; }
.button--dark { color: var(--pine); background: var(--saffron); }
.about-closing small { display: block; margin-top: 2rem; color: #789087; font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; }

/* Inner storefront pages */
.site-main > :not(.hero):not(.trust-strip):not(.catalog):not(.customer-reviews):not(.story):not(.blog-page):not(.article-page) { max-width: 1180px; margin-left: auto; margin-right: auto; }
.site-main > h1:first-child { padding-top: 4rem; font-size: clamp(2.8rem,5vw,4.7rem); }
.breadcrumb { padding-top: 2.2rem; color: var(--muted); font-size: .73rem; }
.breadcrumb a { color: var(--pine); text-decoration: none; }
.product-detail { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr); gap: clamp(3rem,7vw,7rem); padding-bottom: 6rem; }
.product-gallery { min-width: 0; }
.product-detail__gallery-main { position: relative; aspect-ratio: 1; overflow: hidden; background: var(--cream); }
.product-detail__gallery-main img { width: 100%; height: 100%; object-fit: cover; transition: opacity .14s ease,transform .6s ease; }
.product-detail__gallery-main:hover img { transform: scale(1.045); }
.product-detail__gallery-main img.is-changing { opacity: 0; }
.product-gallery__hint { position: absolute; right: 1rem; bottom: 1rem; padding: .35rem .55rem; color: white; background: rgba(14,48,40,.78); font-size: .55rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.product-detail__thumbs { display: grid; grid-template-columns: repeat(5,1fr); gap: .65rem; margin-top: .75rem; }
.product-detail__thumbs button { aspect-ratio: 1; overflow: hidden; padding: 0; background: var(--cream); border: 1px solid transparent; cursor: pointer; transition: border-color .2s; }
.product-detail__thumbs button.is-active { border-color: var(--saffron); }
.product-detail__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.product-detail__info { align-self: start; position: sticky; top: 1.5rem; padding-top: 1rem; }
.product-detail__vendor { margin: .5rem 0 1rem; color: var(--saffron); font-size: .68rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.product-detail h1 { max-width: 720px; margin-bottom: 1rem; font-size: clamp(2.15rem,3.25vw,3.5rem); line-height: 1.02; }
.product-detail__price { margin: 1.2rem 0; font-family: var(--serif); font-size: 1.7rem; }
.review-summary { display: flex; align-items: center; gap: .65rem; color: var(--muted); font-size: .76rem; }
.review-summary a,.review-summary button { padding: 0 0 .1rem; color: var(--muted); background: none; border: 0; border-bottom: 1px solid var(--line); font: inherit; text-decoration: none; cursor: pointer; }
.review-summary__stars,.review-card__stars { color: var(--saffron); letter-spacing: .08em; }
.product-detail__meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1.4rem 0; padding: .85rem 0; color: var(--muted); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: .7rem; }
.product-purchase { display: grid; grid-template-columns: 132px 1fr 1fr; align-items: end; gap: .65rem; margin-top: 1.25rem; }
.product-purchase > label,.product-purchase__row label { display: flex; flex-direction: column; gap: .4rem; color: var(--muted); font-size: .68rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.product-variant-picker { grid-column: 1 / -1; min-width: 0; margin: 0 0 .45rem; padding: 0; border: 0; }
.product-variant-picker legend { margin-bottom: .65rem; padding: 0; color: var(--muted); font-size: .68rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.product-variant-pills { display: flex; flex-wrap: wrap; gap: .55rem; }
.product-variant-pill { position: relative; display: inline-flex; min-height: 42px; align-items: center; gap: .38rem; padding: .65rem .9rem; color: var(--pine); background: #fffdf9; border: 1px solid var(--line); border-radius: 999px; cursor: pointer; transition: color .2s,background .2s,border-color .2s,box-shadow .2s; }
.product-variant-pill:hover { border-color: var(--pine); }
.product-variant-pill input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.product-variant-pill span { font-size: .67rem; font-weight: 700; }
.product-variant-pill strong { font-size: .67rem; font-weight: 500; }
.product-variant-pill span + strong::before { content: "—"; margin-right: .38rem; color: var(--muted); }
.product-variant-pill small { color: inherit; font-size: .5rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.product-variant-pill.is-selected { color: white; background: var(--pine); border-color: var(--pine); box-shadow: 0 5px 15px rgba(15,57,47,.13); }
.product-variant-pill.is-selected span + strong::before { color: #ffffff8f; }
.product-variant-pill.is-unavailable { color: #8d9793; background: #f1f1ed; border-style: dashed; cursor: not-allowed; opacity: .72; }
.product-variant-pill.is-unavailable span,.product-variant-pill.is-unavailable strong { text-decoration: line-through; }
.product-purchase__row { display: contents; }
.quantity-stepper { height: 50px; display: grid; grid-template-columns: 34px 1fr 34px; background: white; border: 1px solid var(--line); }
.quantity-stepper button { min-height: 0!important; padding: 0!important; color: var(--pine)!important; background: transparent!important; border: 0!important; font-size: 1.15rem!important; font-weight: 400!important; cursor: pointer!important; }
.quantity-stepper input { width: 100%; min-width: 0; padding: 0; text-align: center; background: transparent; border: 0; -moz-appearance: textfield; }
.quantity-stepper input::-webkit-inner-spin-button,.quantity-stepper input::-webkit-outer-spin-button { margin: 0; -webkit-appearance: none; }
.product-purchase button,.product-wishlist button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: .55rem; border: 1px solid var(--pine); font-size: .68rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; cursor: pointer; transition: .2s; }
.product-purchase button svg,.product-wishlist svg,.product-detail__promises svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.product-purchase__cart { color: white; background: var(--pine); }
.product-purchase__cart:hover { background: var(--pine-deep); }
.product-bulk-pricing { margin: .25rem 0 1.1rem; padding: .9rem 1rem; background: var(--cream); border: 1px solid var(--line); border-radius: 6px; }
.product-bulk-pricing__label { display: block; margin-bottom: .5rem; color: var(--pine); font-size: .62rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.product-bulk-pricing table { width: 100%; border-collapse: collapse; font-size: .72rem; }
.product-bulk-pricing td { padding: .3rem 0; color: var(--muted); }
.product-bulk-pricing td:last-child { text-align: right; font-weight: 700; color: var(--pine); }
.product-bulk-pricing tr.is-active td { color: var(--pine-deep); font-weight: 800; }
.product-unit-price { margin: -.4rem 0 1rem; color: var(--muted); font-size: .7rem; font-weight: 600; }
.product-unit-price.is-discounted { color: #1e6b3c; }
.product-purchase__buy { color: var(--pine-deep); background: var(--saffron); border-color: var(--saffron)!important; }
.product-purchase__buy:hover { color: white; background: #d86f72; border-color: #d86f72!important; }
.product-purchase button:disabled { color: #65736e; background: #d7ddda; border-color: #c8d0cc!important; cursor: not-allowed; }
.product-wishlist { display: inline-block; margin-top: .85rem; }
.product-wishlist button { width: auto; min-height: 34px; padding: 0; color: var(--pine); background: transparent; border: 0; }
.product-wishlist button:hover { color: #d86f72; border-color: #d86f72; }
.product-tags { display: flex; align-items: baseline; gap: .7rem; margin-top: .9rem; }
.product-tags > small { flex: 0 0 auto; color: var(--muted); font-size: .57rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.product-tags .tag-pill { margin: .12rem .1rem .12rem 0; padding: .22rem .5rem; background: transparent; border: 1px solid #ded8cc; border-radius: 999px; font-size: .58rem; }
.product-detail__promises { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding: .85rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.product-detail__promises span { display: flex; align-items: center; justify-content: center; gap: .4rem; color: var(--muted); font-size: .56rem; line-height: 1.2; white-space: nowrap; }
.product-detail__promises svg { width: 18px; color: var(--saffron); flex: 0 0 auto; }
.variant-table { width: 100%; margin: 1.5rem 0; border-collapse: collapse; font-size: .8rem; }
.variant-table th { color: var(--muted); font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; }
.variant-table th,.variant-table td { padding: .85rem .65rem; text-align: left; border-bottom: 1px solid var(--line); }
.badge-instock { color: #37744b; font-weight: 600; }
.badge-oos { color: #a1483f; font-weight: 600; }
.add-to-cart-form { display: flex; align-items: end; gap: .8rem; margin: 1.5rem 0; }
.add-to-cart-form label,.checkout-form label { display: flex; flex-direction: column; gap: .35rem; color: var(--muted); font-size: .7rem; font-weight: 600; letter-spacing: .04em; }
input,select { min-height: 44px; padding: .7rem .8rem; color: var(--ink); background: white; border: 1px solid var(--line); border-radius: 0; }
.add-to-cart-form input[type=number] { width: 72px; }
.add-to-cart-form button,.checkout-form button,.checkout-button { min-height: 46px; padding: .8rem 1.5rem; color: white; background: var(--pine); border: 0; text-decoration: none; font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; cursor: pointer; }
.add-to-cart-form button:disabled { background: #99a49e; }
.add-to-cart-confirmation,.validation-message { color: #39714d; font-size: .8rem; }
.form-error { color: #a1483f; font-size: .8rem; }
.tag-pill { display: inline-block; margin: .2rem; padding: .3rem .7rem; color: var(--pine); background: var(--cream); font-size: .65rem; }
.account-hero,.cart-hero { max-width: none!important; padding: 5rem max(1.5rem,calc((100vw - 1280px)/2)) 0; background: #f3ecdf; }
.account-hero > div,.cart-hero { padding-bottom: 3rem; }
.account-hero h1,.cart-hero h1 { margin-bottom: .8rem; color: var(--pine-deep); }
.account-hero p,.cart-hero p { max-width: 570px; color: var(--muted); font-family: var(--serif); font-size: 1rem; }
.account-nav { display: flex; gap: 2.5rem; }
.account-nav a { position: relative; padding: 1rem 0; color: var(--muted); text-decoration: none; font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.account-nav a::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: #d86f72; transform: scaleX(0); }
.account-nav a.is-active { color: var(--pine); }
.account-nav a.is-active::after { transform: scaleX(1); }
.account-content { width: min(100% - 3rem,1280px); padding: 4rem 0 7rem; }
.account-section-head { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.account-section-head h2 { margin: 0; font-size: 2.35rem; }
.account-section-head > a { padding-bottom: .3rem; color: var(--pine); border-bottom: 1px solid var(--pine); text-decoration: none; font-size: .7rem; font-weight: 700; text-transform: uppercase; }
.account-empty { padding: 6rem 2rem; text-align: center; background: #f8f4eb; border: 1px solid #e8e1d5; }
.account-empty > span { color: var(--saffron); font-family: var(--serif); font-size: 2.7rem; }
.account-empty h2 { margin: .4rem 0 .8rem; font-size: 2.3rem; }
.account-empty p { color: var(--muted); }
.account-empty a { display: inline-block; margin-top: 1rem; color: var(--pine); font-size: .72rem; font-weight: 700; text-transform: uppercase; }
.order-list { display: grid; gap: .8rem; }
.order-card { display: grid; grid-template-columns: 1.25fr 1fr 1fr .8fr auto; align-items: center; gap: 1.5rem; padding: 1.5rem; background: white; border: 1px solid var(--line); transition: border-color .2s,transform .2s; }
.order-card:hover { border-color: #b7c2bd; transform: translateY(-2px); }
.order-card small,.order-card span,.order-card strong { display: block; }
.order-card small { margin-bottom: .25rem; color: var(--muted); font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; }
.order-card strong,.order-card span { color: var(--pine-deep); font-size: .78rem; }
.order-card__number strong { font-family: var(--serif); font-size: 1.15rem; }
.order-card > a { color: var(--pine); text-decoration: none; font-size: .68rem; font-weight: 700; text-transform: uppercase; }
.order-card > a span { display: inline; margin-left: .5rem; }
.order-status { width: max-content; padding: .28rem .55rem; background: #edf3ef; border-radius: 999px; font-size: .62rem!important; }
.order-status--cancelled { color: #a1483f!important; background: #faecea; }
.address-book { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; }
.address-card { position: relative; min-height: 250px; display: flex; flex-direction: column; padding: 1.6rem; background: white; border: 1px solid var(--line); }
.address-card__default { position: absolute; top: 1rem; right: 1rem; color: #d86f72; font-size: .55rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.address-card__icon { width: 38px; height: 38px; display: grid; place-items: center; color: var(--saffron); background: #f8f1e4; border-radius: 50%; font-size: 1.2rem; }
.address-card p { margin: 1.2rem 0; color: var(--muted); font-size: .8rem; line-height: 1.65; }
.address-card__actions { display: flex; gap: 1.25rem; margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--line); font-size: .7rem; }
.address-card__actions a { color: var(--pine); }
.wishlist-grid { grid-template-columns: repeat(4,1fr); }
.address-form-hero { padding: 4.5rem 0 2.5rem; border-bottom: 1px solid var(--line); }
.address-form-hero > a { display: inline-block; margin-bottom: 2rem; color: var(--muted); text-decoration: none; font-size: .68rem; font-weight: 700; text-transform: uppercase; }
.address-form-hero h1 { margin-bottom: .8rem; }
.address-form-hero p { max-width: 600px; color: var(--muted); font-family: var(--serif); font-size: 1rem; }
.address-form-page { padding: 3.5rem 0 7rem; }
.address-form { max-width: 820px; display: grid; gap: 1.5rem; }
.address-autocomplete { position: relative; z-index: 2; padding: 1.4rem; background: #f3ecdf; border: 1px solid #dfd4c1; }
.address-autocomplete > label,.address-form__grid label { display: block; margin-bottom: .45rem; color: var(--pine); font-size: .65rem; font-weight: 700; letter-spacing: .04em; }
.address-autocomplete__input { display: flex; align-items: center; gap: .7rem; padding: 0 1rem; background: white; border: 1px solid #cfc7b9; }
.address-autocomplete__input:focus-within { border-color: var(--pine); box-shadow: 0 0 0 2px rgba(23,63,53,.08); }
.address-autocomplete__input svg { width: 20px; height: 20px; flex: 0 0 auto; fill: none; stroke: var(--pine); stroke-width: 1.6; }
.address-autocomplete__input input { width: 100%; min-height: 52px; padding: 0; border: 0; outline: 0; }
.address-autocomplete > small { display: block; margin-top: .6rem; color: #7c887f; font-size: .58rem; }
.address-suggestions { position: absolute; z-index: 5; top: calc(100% - 1.4rem); right: 1.4rem; left: 1.4rem; overflow: hidden; background: white; border: 1px solid #cfc7b9; box-shadow: 0 15px 35px rgba(0,0,0,.14); }
.address-suggestions button { width: 100%; display: block; padding: .8rem 1rem; background: white; border: 0; border-bottom: 1px solid var(--line); text-align: left; cursor: pointer; }
.address-suggestions button:hover { background: #faf6ee; }
.address-suggestions strong,.address-suggestions span { display: block; }
.address-suggestions strong { color: var(--pine-deep); font-size: .73rem; }
.address-suggestions span { margin-top: .15rem; color: var(--muted); font-size: .62rem; }
.address-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.address-form__grid label { margin: 0; }
.address-form__grid label > span { float: right; color: var(--muted); font-size: .55rem; font-weight: 500; text-transform: uppercase; }
.address-form__grid input { width: 100%; margin-top: .45rem; }
.address-form__wide { grid-column: 1/-1; }
.address-default { display: flex; align-items: flex-start; gap: .75rem; padding: 1rem; background: #faf7f0; border: 1px solid var(--line); cursor: pointer; }
.address-default input { width: 17px; min-height: 17px; margin-top: .15rem; accent-color: var(--pine); }
.address-default strong,.address-default small { display: block; }
.address-default strong { color: var(--pine); font-size: .72rem; }
.address-default small { color: var(--muted); font-size: .62rem; }
.address-form__actions { display: flex; align-items: center; justify-content: flex-end; gap: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.address-form__actions a { color: var(--muted); font-size: .7rem; }
.address-form__actions button { min-width: 190px; min-height: 50px; color: white; background: var(--pine); border: 0; font-size: .7rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; cursor: pointer; }
.address-form__actions button span { margin-left: .7rem; }
.product-tabs { padding: 0 0 6rem; }
.product-tabs__nav { display: flex; gap: 2.5rem; border-bottom: 1px solid var(--line); }
.product-tabs__nav button { position: relative; padding: 1.2rem 0; color: var(--muted); background: none; border: 0; font-family: var(--serif); font-size: 1.2rem; cursor: pointer; }
.product-tabs__nav button::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--saffron); transform: scaleX(0); transition: transform .2s; }
.product-tabs__nav button.is-active { color: var(--pine); }
.product-tabs__nav button.is-active::after { transform: scaleX(1); }
.product-tabs__panel { padding-top: 3.5rem; }
.product-description-layout { display: grid; grid-template-columns: .8fr 1.5fr; gap: 5rem; }
.product-description-layout h2 { margin: 0; }
.product-detail__description { color: var(--muted); font-family: var(--serif); font-size: 1.08rem; line-height: 1.7; }
.reviews-section { max-width: none!important; margin: 0!important; padding: 0; border: 0; }
.reviews-section > h2 { margin: 0; padding: 0 0 1.5rem; color: var(--pine-deep); border-bottom: 1px solid var(--line); font-size: clamp(2rem,3vw,3rem); }
.reviews-section > h2::before { content: "Customer feedback"; display: block; margin-bottom: .65rem; color: var(--saffron); font-family: var(--sans); font-size: .58rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.reviews-section > h2::after { content: none; }
.review-card { position: relative; max-width: 900px; min-height: 0; margin: 0; padding: 2rem 0; background: transparent; border: 0; border-bottom: 1px solid var(--line); box-shadow: none; }
.review-card::before { content: none; }
.review-card__header { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; margin-bottom: .3rem; }
.review-card__header > strong { color: var(--pine-deep); font-family: var(--serif); font-size: 1.15rem; font-weight: 500; }
.review-card__stars { color: var(--saffron); letter-spacing: .08em; white-space: nowrap; }
.review-card__meta { margin-bottom: .9rem; color: var(--muted); font-size: .62rem; letter-spacing: .035em; }
.review-card > p { max-width: 720px; margin: 0; color: #52665e; font-family: var(--serif); font-size: 1rem; line-height: 1.6; }
.review-card__reply { margin-top: 1.25rem; padding: .9rem 1rem; background: #f8f5ed; border-left: 1px solid var(--saffron); }
.review-card__reply strong { color: var(--pine); font-size: .68rem; letter-spacing: .05em; text-transform: uppercase; }
.review-card__reply p { margin: .3rem 0 0; color: var(--muted); font-family: var(--serif); font-size: .9rem; }
.review-form { max-width: 900px; margin-top: 3rem; padding: 0; background: transparent; border: 0; }
.review-form::before { content: "Share your experience"; display: block; margin-bottom: .4rem; color: var(--saffron); font-size: .6rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.review-form h3 { margin-bottom: 1.5rem; padding-bottom: 1rem; color: var(--pine); border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: 1.7rem; font-weight: 500; }
.review-form .checkout-form { max-width: none; grid-template-columns: 1fr 1fr; }
.review-form .checkout-form label:last-of-type,.review-form .checkout-form button,.review-form .validation-summary-errors { grid-column: 1/-1; }
.review-form .checkout-form textarea { width: 100%; }
.review-form .checkout-form button { display: flex; align-items: center; justify-content: center; width: max-content; min-width: 180px; min-height: 48px; padding-inline: 1.5rem; background: var(--pine); }
.product-faq { display: grid; grid-template-columns: .75fr 1.5fr; gap: 6rem; padding: 6rem 0; border-top: 1px solid var(--line); }
.product-faq__heading h2 { margin: 0; }
.product-faq__list details { border-bottom: 1px solid var(--line); }
.product-faq__list summary { display: flex; justify-content: space-between; gap: 1rem; padding: 1.25rem 0; color: var(--pine-deep); font-family: var(--serif); font-size: 1.12rem; cursor: pointer; list-style: none; }
.product-faq__list summary::-webkit-details-marker { display: none; }
.product-faq__list summary span { color: var(--saffron); font-family: var(--sans); transition: transform .2s; }
.product-faq__list details[open] summary span { transform: rotate(45deg); }
.product-faq__list p { max-width: 720px; padding: 0 2rem 1.4rem 0; color: var(--muted); font-size: .82rem; }
.product-related { padding-top: 6rem; border-top: 1px solid var(--line); }

.cart-page { width: min(100% - 3rem,1280px); padding: 4rem 0 7rem; }
.cart-layout { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(320px,.7fr); align-items: start; gap: 4rem; }
.cart-items__heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 1rem; }
.cart-items__heading h2 { margin: 0; font-size: 2rem; }
.cart-items__heading span { color: var(--muted); font-size: .7rem; }
.cart-line { display: grid; grid-template-columns: 115px 1fr auto; gap: 1.25rem; padding: 1.25rem 0; border-top: 1px solid var(--line); }
.cart-line__image { width: 115px; aspect-ratio: .82; overflow: hidden; background: var(--cream); }
.cart-line__image img { width: 100%; height: 100%; object-fit: cover; }
.cart-line__details { display: flex; flex-direction: column; justify-content: space-between; }
.cart-line__title { color: var(--pine-deep); font-family: var(--serif); font-size: 1.15rem; line-height: 1.3; text-decoration: none; }
.cart-line__variant,.cart-line__unit { display: block; margin-top: .3rem; color: var(--muted); font-size: .65rem; }
.cart-line__details form { display: flex; align-items: end; gap: .5rem; }
.cart-line__details form label { color: var(--muted); font-size: .6rem; }
.cart-line__details form input { display: block; width: 60px; min-height: 36px; margin-top: .25rem; }
.cart-line__details form button,.cart-line__end button { min-height: 36px; padding: .5rem .7rem; color: var(--pine); background: white; border: 1px solid var(--line); cursor: pointer; }
.cart-line__end { display: flex; align-items: end; justify-content: space-between; flex-direction: column; }
.cart-line__end strong { color: var(--pine); font-family: var(--serif); font-size: 1.05rem; }
.cart-line__end button { min-height: 0; padding: 0; color: #a15b5b; border: 0; border-bottom: 1px solid #d9b7b7; font-size: .65rem; }
.cart-continue { display: inline-block; margin-top: 1.5rem; color: var(--pine); font-size: .7rem; font-weight: 700; text-decoration: none; text-transform: uppercase; }
.cart-order-summary { position: sticky; top: 1.5rem; padding: 2rem; background: #f3ecdf; border: 1px solid #dfd4c1; }
.cart-order-summary h2 { margin-bottom: 2rem; font-size: 2.2rem; }
.cart-order-summary > div:not(.cart-secure) { display: flex; justify-content: space-between; padding: .9rem 0; border-top: 1px solid #d8cdbb; font-size: .78rem; }
.cart-order-summary p { margin: 1rem 0 1.5rem; color: var(--muted); font-size: .68rem; }
.cart-order-summary .checkout-button { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 54px; color: white; background: var(--pine); }
.cart-secure { margin-top: 1rem; color: var(--muted); font-size: .58rem; text-align: center; }
.checkout-form { display: grid; gap: 1rem; max-width: 520px; }
.checkout-form button { margin-top: .5rem; background: var(--saffron); }
.validation-message,.validation-summary-errors { color: #a1483f; }
.valid.modified:not([type=checkbox]) { outline: 1px solid #37744b; }
.invalid { outline: 1px solid #a1483f; }

.site-footer { padding: 0 max(1.5rem,calc((100vw - 1760px)/2)) 1.5rem; color: #e7eee9; background: #050505; }
.footer-newsletter { min-height: 260px; display: grid; grid-template-columns: 1fr 1.15fr; align-items: center; gap: 6rem; padding: 3.5rem 1rem; border-bottom: 1px solid #466057; }
.footer-newsletter .eyebrow { margin-bottom: .8rem; color: #d86f72; }
.footer-newsletter h2 { margin: 0; color: white; font-family: var(--sans); font-size: clamp(2rem,3vw,3.2rem); font-weight: 400; letter-spacing: -.025em; }
.footer-newsletter__signup p { margin-bottom: 1.5rem; color: #dbe5df; font-size: .85rem; text-align: center; }
.footer-newsletter__signup form { position: relative; display: flex; min-height: 72px; padding: .65rem; background: #fff; border-radius: 999px; }
.footer-newsletter__signup input { flex: 1; min-width: 0; padding: 0 1.2rem; color: #222; background: transparent; border: 0; outline: 0; }
.footer-newsletter__signup button { min-width: 175px; padding: 0 1.5rem; color: white; background: #050505; border: 0; border-radius: 999px; font-size: .73rem; font-weight: 700; letter-spacing: .07em; cursor: pointer; }
.footer-newsletter__signup button span { margin-left: .5rem; font-size: 1rem; }

.contact-page { padding-block: clamp(5rem, 9vw, 9rem); }
.contact-page > header { max-width: 760px; margin-bottom: 3rem; }
.contact-page h1, .simple-result h1 { margin: .4rem 0 1rem; font-family: var(--serif); font-size: clamp(3.5rem, 7vw, 7rem); font-weight: 400; line-height: .92; color: var(--green); }
.contact-page__grid { display: grid; grid-template-columns: minmax(250px,.65fr) 1.35fr; border-top: 1px solid var(--line); }
.contact-page__grid aside { padding: 3rem 3rem 3rem 0; border-right: 1px solid var(--line); }
.contact-page__grid aside a { display: block; margin: .65rem 0; color: var(--green); }
.contact-page__form { padding: 3rem 0 3rem clamp(2rem,5vw,5rem); }
.contact-page__form form { display: grid; gap: 1.15rem; }
.contact-page__form label { display: grid; gap: .45rem; color: var(--green); font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.contact-page__form input, .contact-page__form textarea { width: 100%; padding: 1rem; border: 1px solid var(--line); background: #fff; font: inherit; text-transform: none; letter-spacing: 0; }
.form-two { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.simple-result { min-height: 65vh; padding-block: clamp(6rem,12vw,11rem); }
@media (max-width: 760px) { .contact-page__grid { grid-template-columns: 1fr; } .contact-page__grid aside { border-right: 0; border-bottom: 1px solid var(--line); } .contact-page__form { padding-left: 0; } .form-two { grid-template-columns: 1fr; } }
.footer__inner { display: grid; grid-template-columns: 1.55fr .9fr .9fr 1.1fr; gap: clamp(2.5rem,6vw,7rem); padding: 5rem 1.5rem 4rem; }
.footer__inner h3 { margin-bottom: 1.65rem; color: #d86f72; font-family: var(--sans); font-size: .76rem; letter-spacing: .15em; text-transform: uppercase; }
.footer__inner p { max-width: 460px; color: #d4dfd9; font-family: var(--sans); font-size: .83rem; line-height: 1.75; }
.footer__inner a { display: block; width: max-content; max-width: 100%; margin: .55rem 0; color: #edf3ef; text-decoration: none; font-size: .78rem; transition: color .2s; }
.footer__inner a:hover { color: var(--saffron); }
.footer-contact address { margin-top: 1.6rem; color: #edf3ef; font-size: .78rem; font-style: normal; line-height: 1.65; }
.footer-socials { display: flex; gap: 1.2rem; margin-top: 1.8rem; }
.footer-socials a { display: grid; width: 32px; height: 32px; place-items: center; margin: 0; border: 1px solid #466057; border-radius: 50%; }
.footer-socials svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.footer-socials .fill-current { fill: currentColor; stroke: none; }
.footer-socials .play { fill: currentColor; }
.footer__bottom { display: flex; justify-content: space-between; padding-top: 1.2rem; border-top: 1px solid #345048; color: #789087; font-size: .61rem; letter-spacing: .08em; text-transform: uppercase; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; padding: 0; margin: -1px; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

#blazor-error-ui { display: none; position: fixed; z-index: 1000; right: 1rem; bottom: 1rem; left: 1rem; padding: 1rem; color: white; background: #a1483f; }
.store-chat { position: fixed; z-index: 90; right: 1.5rem; bottom: 1.5rem; font-family: var(--sans); }
.store-chat [hidden] { display: none !important; }
.store-chat__launcher { position: relative; display: grid; width: 58px; height: 58px; place-items: center; color: white; background: var(--pine); border: 0; border-radius: 50%; box-shadow: 0 14px 35px rgba(8,42,33,.28); cursor: pointer; }
.store-chat__launcher svg { width: 23px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.store-chat__unread { position: absolute; top: 1px; right: 2px; width: 13px; height: 13px; background: #e56f72; border: 2px solid white; border-radius: 50%; }
.store-chat__panel { position: absolute; right: 0; bottom: 72px; width: min(390px,calc(100vw - 2rem)); overflow: hidden; background: #fffdf8; border: 1px solid #d7ded9; border-radius: 14px; box-shadow: 0 25px 70px rgba(8,38,31,.24); }
.store-chat__panel > header { display: flex; justify-content: space-between; padding: 1.35rem; color: white; background: var(--pine); }.store-chat__panel header small,.store-chat__panel header strong,.store-chat__panel header span { display: block; }.store-chat__panel header small { color: #f0a53e; font-size: .53rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }.store-chat__panel header strong { margin: .25rem 0; font-family: var(--serif); font-size: 1.35rem; font-weight: 400; }.store-chat__panel header span { color: #bdd0c9; font-size: .55rem; }.store-chat__panel header i { display: inline-block; width: 6px; height: 6px; margin-right: .25rem; background: #6cd390; border-radius: 50%; }.store-chat__panel header button { align-self: start; color: white; background: none; border: 0; cursor: pointer; font-size: 1.5rem; }
.store-chat__messages { display: flex; height: 280px; flex-direction: column; gap: .75rem; overflow-y: auto; padding: 1rem; }.store-chat__welcome { display: flex; align-items: flex-end; gap: .55rem; }.store-chat__welcome > span { display: grid; width: 28px; height: 28px; flex: 0 0 auto; place-items: center; color: white; background: var(--pine); border-radius: 50%; font-size: .48rem; font-weight: 800; }.store-chat__welcome p,.store-chat-message p { margin: 0; padding: .7rem .85rem; font-size: .68rem; line-height: 1.55; }.store-chat__welcome p,.store-chat-message--staff p,.store-chat-message--system p { background: #eeeade; border-radius: 10px 10px 10px 2px; }
.store-chat-message { max-width: 82%; }.store-chat-message small { display: block; margin-bottom: .25rem; color: #82928c; font-size: .47rem; }.store-chat-message--customer { align-self: flex-end; }.store-chat-message--customer small { text-align: right; }.store-chat-message--customer p { color: white; background: #245648; border-radius: 10px 10px 2px 10px; }.store-chat-message--system { align-self: flex-start; color: #33473f; text-align: left; }
.store-chat__start { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; padding: 1rem; border-top: 1px solid #e0e5e1; }.store-chat__start textarea,.store-chat__start button,.store-chat__error { grid-column: 1/-1; }.store-chat input,.store-chat textarea { width: 100%; padding: .7rem; background: white; border: 1px solid #d8dfda; border-radius: 6px; font: inherit; font-size: .65rem; }.store-chat textarea { min-height: 72px; resize: vertical; }.store-chat__start button { display: flex; min-height: 43px; align-items: center; justify-content: space-between; padding: 0 .9rem; color: white; background: var(--pine); border: 0; border-radius: 6px; font-size: .6rem; font-weight: 800; text-transform: uppercase; }
.store-chat__closed { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1rem; background: #f5f1e7; border-top: 1px solid #e0e5e1; }.store-chat__closed strong,.store-chat__closed span { display: block; }.store-chat__closed strong { color: var(--pine); font-family: var(--serif); font-size: .83rem; font-weight: 500; }.store-chat__closed div > span { margin-top: .15rem; color: #74857e; font-size: .52rem; }.store-chat__closed button { flex: 0 0 auto; padding: .65rem .75rem; color: white; background: var(--pine); border: 0; border-radius: 6px; font-size: .52rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; cursor: pointer; }.store-chat__closed button span { display: inline; margin-left: .3rem; }
.store-chat__reply { position: relative; display: grid; grid-template-columns: 1fr 42px; gap: .5rem; padding: .8rem; border-top: 1px solid #e0e5e1; }.store-chat__reply textarea { min-height: 45px; max-height: 100px; }.store-chat__reply button { color: white; background: var(--pine); border: 0; border-radius: 6px; cursor: pointer; }.store-chat__error { min-height: 0; color: #a1483f; font-size: .55rem; }
@media (max-width: 520px) { .store-chat { right: 1rem; bottom: 1rem; }.store-chat__panel { position: fixed; inset: 1rem; width: auto; display: grid; grid-template-rows: auto 1fr auto; }.store-chat__messages { height: auto; }.store-chat__launcher { width: 52px; height: 52px; } }

@media (max-width: 900px) {
    .announcement { grid-template-columns: 1fr auto; padding-inline: 1.5rem; }
    .announcement__email { display: none; }
    .announcement__offer { justify-self: start; }
    .site-header__inner { grid-template-columns: 1fr auto 1fr; height: 86px; }
    .site-nav { display: none; }
    .site-logo--header { grid-column: 2; grid-row: 1; }
    .header-search { grid-column: 1; grid-row: 1; }
    .header-search span { display: none; }
    .site-actions { grid-column: 3; grid-row: 1; }
    .hero { min-height: 610px; }
    .hero__slide { background-position: 58% center; }
    .hero__arrow { width: 48px; height: 48px; }
    .product-grid:not(.product-rail) { grid-template-columns: repeat(2,1fr); }
    .product-rail { grid-auto-columns: min(42vw,300px); }
    .story { grid-template-columns: 1fr; }
    .customer-reviews__grid { grid-template-columns: none; grid-auto-columns: min(72vw,430px); }
    .customer-review { min-height: 0; }
    .about-hero { grid-template-columns: 1fr; }
    .about-hero__visual { min-height: 460px; }
    .about-hero__copy::after { display: none; }
    .about-community { gap: 3rem; }
    .about-community__stamp { width: 270px; }
    .product-detail { grid-template-columns: 1fr; }
    .order-card { grid-template-columns: 1.2fr 1fr 1fr; }
    .order-card > a { justify-self: start; }
    .address-book { grid-template-columns: repeat(2,1fr); }
    .wishlist-grid { grid-template-columns: repeat(2,1fr); }
    .cart-layout { grid-template-columns: 1fr; gap: 3rem; }
    .cart-order-summary { position: static; }
    .store-toolbar { grid-template-columns: auto 1fr auto; }
    .store-sort { grid-column: 3; }
    .store-filter-toggle { min-height: 48px; display: inline-flex; align-items: center; gap: .5rem; padding: 0 .9rem; color: var(--pine); background: white; border: 1px solid var(--line); font-size: .68rem; font-weight: 700; text-transform: uppercase; }
    .store-toolbar__summary { display: none; }
    .store-layout { grid-template-columns: 1fr; }
    .store-filters { position: fixed; z-index: 100; inset: 0 auto 0 0; width: min(360px,88vw); overflow-y: auto; padding: 1.25rem; background: var(--paper); box-shadow: 15px 0 40px rgba(0,0,0,.18); transform: translateX(-105%); transition: transform .3s ease; }
    .store-filters.is-open { transform: translateX(0); }
    .store-filters__mobile-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 1rem; border-bottom: 1px solid var(--line); }
    .store-filters__mobile-head button { color: var(--pine); background: none; border: 0; font-size: 1.8rem; cursor: pointer; }
    .filters-open::after { content: ""; position: fixed; z-index: 99; inset: 0; background: rgba(0,0,0,.35); }
    .store-product-grid { grid-template-columns: repeat(2,1fr); }
    .product-detail__info { position: static; padding-top: 0; }
    .product-description-layout,.product-faq { grid-template-columns: 1fr; gap: 2.5rem; }
    .footer-newsletter { grid-template-columns: 1fr 1.3fr; gap: 3rem; }
    .footer__inner { grid-template-columns: 1.4fr 1fr 1fr; }
    .footer-contact { grid-column: 1/-1; }
}

@media (max-width: 600px) {
    .address-form-hero {
        padding-top: 3rem;
    }

    .address-form__grid {
        grid-template-columns: 1fr;
    }

    .address-form__wide {
        grid-column: auto;
    }

    .address-form__actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .address-form__actions .button,
    .address-form__actions button {
        width: 100%;
    }

    .announcement { display: flex; justify-content: center; min-height: 38px; padding-inline: 1rem; }
    .announcement-language,.announcement__offer a,.logout-form { display: none; }
    .announcement__offer { font-size: .66rem; }
    .site-header__inner { width: calc(100% - 2rem); height: 68px; }
    .site-logo img { width: 95px; }
    .site-actions { gap: .85rem; }
    .wishlist-link { display: none!important; }
    .hero { min-height: 610px; }
    .hero__slide { background-position: 64% center; }
    .hero__arrow { top: 65%; width: 42px; height: 42px; font-size: 1.8rem; }
    .hero__arrow--previous { left: 1rem; }
    .hero__arrow--next { right: 1rem; }
    .trust-strip { grid-template-columns: 1fr; padding: 1rem 1.5rem; }
    .trust-strip div { justify-content: flex-start; padding: 1rem; border-right: 0; border-bottom: 1px solid var(--line); }
    .catalog { width: calc(100% - 2rem); padding: 4rem 0; }
    .store-hero { padding: 4rem 1rem 3.5rem; }
    .store-catalog { padding: 1.5rem 1rem 5rem; }
    .store-toolbar { grid-template-columns: auto 1fr; }
    .store-search { min-width: 0; }
    .store-sort { grid-column: 1/-1; justify-content: space-between; }
    .store-sort select { flex: 1; }
    .store-product-grid { gap: 1.3rem .8rem; }
    .section-heading { align-items: start; flex-direction: column; gap: 1.4rem; }
    .section-heading__actions { width: 100%; justify-content: space-between; gap: 1rem; }
    .product-grid { gap: 1rem; }
    .reviews-section > h2 { padding: 0 0 1.25rem; }
    .review-card { min-height: 0; padding: 1.5rem 0; }
    .review-card__header { align-items: flex-start; flex-direction: column; gap: .3rem; }
    .review-form { padding: 0; }
    .review-form .checkout-form { grid-template-columns: 1fr; }
    .review-form .checkout-form label,.review-form .checkout-form button,.review-form .validation-summary-errors { grid-column: 1; }
    .product-rail { grid-auto-columns: 78vw; }
    .product-card__title { font-size: 1.08rem; }
    .product-card__badge { display: none; }
    .story__art { min-height: 370px; }
    .story__copy { padding: 4rem 1.5rem; }
    .customer-reviews { padding: 4.5rem 1rem; }
    .customer-reviews__heading { align-items: start; flex-direction: column; gap: 1.8rem; margin-bottom: 2.2rem; }
    .customer-reviews__heading-actions { width: 100%; justify-content: space-between; }
    .customer-reviews__score { padding-left: 0; border-left: 0; }
    .customer-reviews__grid { grid-auto-columns: 88vw; }
    .about-hero__copy { padding: 4rem 1.5rem; }
    .about-hero h1 { font-size: clamp(3rem,15vw,4.6rem); }
    .about-hero__visual { min-height: 360px; }
    .about-hero__sun { width: 90px; }
    .about-hero__seal { width: 105px; }
    .about-hero__places { right: 1rem; bottom: 1rem; gap: .65rem; font-size: .45rem; }
    .about-intro { grid-template-columns: 1fr; gap: 2rem; padding: 5rem 0; }
    .about-pillars { grid-template-columns: 1fr; }
    .about-pillars article,.about-pillars article:first-child,.about-pillars article:last-child { padding: 4rem 1.5rem; border-right: 0; border-bottom: 1px solid var(--line); }
    .about-community { grid-template-columns: 1fr; justify-items: center; padding: 5rem 0; }
    .about-community__stamp { width: 240px; }
    .site-main > :not(.hero):not(.trust-strip):not(.catalog):not(.customer-reviews):not(.story):not(.blog-page):not(.article-page) { margin-left: 1rem; margin-right: 1rem; }
    .variant-table { display: block; overflow-x: auto; }
    .account-hero,.cart-hero { padding: 4rem 1rem 0; }
    .account-nav { gap: 1.3rem; overflow-x: auto; }
    .account-content,.cart-page { width: calc(100% - 2rem); padding: 3rem 0 5rem; }
    .account-section-head { align-items: flex-start; flex-direction: column; }
    .order-card { grid-template-columns: 1fr 1fr; gap: 1.2rem; }
    .address-book { grid-template-columns: 1fr; }
    .cart-line { grid-template-columns: 88px 1fr; }
    .cart-line__image { width: 88px; }
    .cart-line__end { grid-column: 2; align-items: center; flex-direction: row; }
    .add-to-cart-form { align-items: stretch; flex-direction: column; }
    .add-to-cart-form input[type=number] { width: 100%; }
    .product-detail { gap: 2.5rem; padding-bottom: 4rem; }
    .product-gallery__hint { display: none; }
    .product-detail__thumbs { grid-template-columns: repeat(4,1fr); }
    .product-purchase { grid-template-columns: 112px 1fr; }
    .product-purchase__buy { grid-column: 1/-1; }
    .product-tags { align-items: flex-start; flex-direction: column; gap: .35rem; }
    .product-detail__promises { flex-wrap: wrap; justify-content: flex-start; }
    .product-tabs { padding-bottom: 4rem; }
    .product-tabs__panel { padding-top: 2.5rem; }
    .product-faq { padding: 4rem 0; }
    .site-footer { padding-inline: 1rem; }
    .footer-newsletter { grid-template-columns: 1fr; gap: 2rem; min-height: 0; padding: 3.5rem 0; }
    .footer-newsletter__signup p { text-align: left; }
    .footer-newsletter__signup form { min-height: 62px; }
    .footer-newsletter__signup button { min-width: 125px; padding-inline: 1rem; }
    .footer__inner { grid-template-columns: 1fr 1fr; gap: 2.5rem 2rem; padding: 3.5rem 0; }
    .footer-about,.footer-contact { grid-column: 1/-1; }
    .footer__bottom { align-items: flex-start; flex-direction: column; gap: .5rem; }
}

/* Admin */
.admin-shell { display: grid; grid-template-columns: 264px minmax(0,1fr); min-height: 100vh; color: #173d34; background: #f5f6f3; font-family: var(--sans); }
.admin-rail { position: sticky; top: 0; display: grid; grid-template-rows: auto 1fr auto; height: 100vh; overflow-y: auto; color: #dce7e2; background: #102f28; }
.admin-rail__brand { padding: 2rem 1.6rem 1.7rem; border-bottom: 1px solid #ffffff14; }
.admin-rail__brand a { display: flex; align-items: center; gap: .85rem; color: white; text-decoration: none; }
.admin-rail__brand img { width: 74px; height: auto; }
.admin-rail__brand span { max-width: 70px; font-size: .65rem; font-weight: 700; letter-spacing: .08em; line-height: 1.35; text-transform: uppercase; }
.admin-sidebar { display: flex; flex-direction: column; gap: .25rem; padding: 1.4rem .9rem; }
.admin-nav-label { margin: 1.2rem .75rem .35rem; color: #7fa095; font-size: .55rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.admin-nav-label:first-child { margin-top: 0; }
.admin-sidebar a { display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: .7rem; min-height: 46px; padding: .45rem .7rem; color: #c8d8d2; border-radius: 8px; text-decoration: none; font-size: .76rem; font-weight: 600; }
.admin-sidebar a:hover { color: white; background: #ffffff0c; }
.admin-sidebar a.active { color: #153d32; background: #f0a53e; box-shadow: 0 8px 24px #071c1738; }
.admin-nav-icon { display: grid; width: 29px; height: 29px; place-items: center; color: #9eb6ad; border: 1px solid #ffffff20; border-radius: 7px; font-size: .48rem; font-weight: 800; letter-spacing: .04em; }
.admin-sidebar a.active .admin-nav-icon { color: #153d32; border-color: #153d3230; }
.admin-sidebar a b { min-width: 20px; padding: .18rem .35rem; color: white; background: #cf666b; border-radius: 20px; font-size: .52rem; text-align: center; }
.admin-rail__foot { display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: .7rem; margin: .8rem; padding: 1rem .8rem; border-top: 1px solid #ffffff14; }
.admin-avatar { display: grid; width: 36px; height: 36px; place-items: center; color: #153d32; background: #f0a53e; border-radius: 50%; font-size: .62rem; font-weight: 800; }
.admin-rail__foot strong,.admin-rail__foot small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-rail__foot strong { color: white; font-size: .67rem; }.admin-rail__foot small { margin-top: .2rem; color: #86a69a; font-size: .55rem; }
.admin-workspace { min-width: 0; }
.admin-topbar { position: sticky; z-index: 20; top: 0; display: flex; height: 72px; align-items: center; justify-content: space-between; padding: 0 clamp(1.25rem,3vw,3rem); background: rgba(255,255,255,.93); border-bottom: 1px solid #dfe5df; backdrop-filter: blur(12px); }
.admin-topbar > div span,.admin-topbar > div strong { display: block; }.admin-topbar > div span { color: #83958f; font-size: .52rem; letter-spacing: .12em; text-transform: uppercase; }.admin-topbar > div strong { margin-top: .15rem; font-size: .78rem; }
.admin-topnav { display: flex; align-items: center; gap: .7rem; }
.admin-topnav a,.admin-logout-form button { min-height: 38px; padding: 0 .9rem; color: #35564d; background: transparent; border: 1px solid #d9e1dc; border-radius: 6px; cursor: pointer; font-size: .62rem; font-weight: 700; text-decoration: none; }
.admin-topnav a { display: inline-flex; align-items: center; gap: .4rem; }.admin-topnav a:hover,.admin-logout-form button:hover { color: white; background: #173f35; border-color: #173f35; }
.admin-logout-form { display: inline; }
.admin-main { width: 100%; max-width: 1580px; padding: clamp(1.5rem,3vw,3.25rem); }
.admin-main h1 { margin: 0; font-family: var(--serif); font-size: clamp(2.2rem,4vw,3.6rem); font-weight: 400; letter-spacing: -.035em; }
.admin-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.admin-page-head > div:first-child > span,.admin-card__head > div > span { display: block; margin-bottom: .45rem; color: #dd8e29; font-size: .55rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.admin-page-head p { margin: .55rem 0 0; color: #6e817a; font-size: .72rem; }
.admin-page-actions,.admin-toolbar { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.admin-toolbar { margin-bottom: 1.5rem; }
.admin-table-wrap { width: 100%; overflow-x: auto; }
.admin-table { width: 100%; border-collapse: collapse; background: white; font-size: .74rem; }
.admin-table th { padding: .8rem .9rem; color: #789087; border-bottom: 1px solid #dfe5df; font-size: .54rem; letter-spacing: .1em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.admin-table td { padding: .85rem .9rem; border-bottom: 1px solid #e6ebe7; vertical-align: middle; }
.admin-table tbody tr:last-child td { border-bottom: 0; }.admin-table tr:hover td { background: #f8faf7; }.admin-table a { color: #194b3e; text-underline-offset: .18rem; }.admin-table small { color: #7b8d86; line-height: 1.5; }
.admin-badge { display: inline-block; padding: .28rem .58rem; border-radius: 20px; font-size: .52rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
.admin-badge--paid, .admin-badge--active { color: #1e6b3c; background: #e2f3e6; }
.admin-badge--pending, .admin-badge--pendingpayment, .admin-badge--draft { color: #8a5a10; background: #fbecd4; }
.admin-badge--cancelled, .admin-badge--archived { color: #a1483f; background: #fbe3e0; }
.admin-badge--refunded, .admin-badge--processing { color: #4a5a91; background: #e6e9fb; }
.admin-badge--shipped, .admin-badge--delivered { color: #1e6b3c; background: #e2f3e6; }
.admin-card { margin-bottom: 1.5rem; padding: 1.5rem; background: white; border: 1px solid #dfe5df; border-radius: 12px; box-shadow: 0 8px 30px rgba(21,57,47,.035); }
.admin-card h2 { margin: 0; font-family: var(--serif); font-size: 1.35rem; font-weight: 400; }
.admin-card__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }.admin-card__head a { color: #49675e; font-size: .58rem; font-weight: 700; text-decoration: none; text-transform: uppercase; }
.admin-grid-2 { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; }
.admin-form label { display: flex; flex-direction: column; gap: .4rem; margin-bottom: 1rem; color: #647a72; font-size: .68rem; font-weight: 700; }
.admin-form input,.admin-form select,.admin-form textarea,.admin-form-row input { min-height: 46px; padding: .6rem .75rem; color: #173d34; background: white; border: 1px solid #d4ddd7; border-radius: 6px; font-size: .78rem; }
.admin-form--dormant { display: none; }
.admin-form textarea { min-height: 100px; font-family: var(--sans); }
.admin-form-row { display: flex; gap: .75rem; align-items: end; }
.admin-form-row .admin-form-row__field { flex: 1; }
.admin-image-thumb { width: 60px; height: 60px; object-fit: cover; border-radius: 4px; border: 1px solid var(--line); }
.admin-regional-prices { margin-top: .75rem; padding: .75rem; background: var(--cream); border-radius: 4px; }
.admin-regional-prices .admin-form-row { margin-top: .5rem; }
.admin-regional-prices__label { font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
.admin-btn { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: .6rem 1.1rem; color: white; background: #194b3e; border: 1px solid #194b3e; border-radius: 6px; cursor: pointer; font-size: .62rem; font-weight: 800; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.admin-btn--secondary { color: #194b3e; background: white; border-color: #cad6d0; }
.admin-btn--danger { background: #a1483f; }
.admin-shipment-summary { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; margin: 1.25rem 0; overflow: hidden; background: #dfe5df; border: 1px solid #dfe5df; border-radius: 8px; }
.admin-shipment-summary > div { padding: 1rem; background: #f8faf8; }
.admin-shipment-summary small,.admin-shipment-summary strong { display: block; }
.admin-shipment-summary small { margin-bottom: .35rem; color: #718078; font-size: .52rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.admin-shipment-summary strong { color: #173d34; font-size: .75rem; }
.admin-shipment-timeline { margin: 1.25rem 0; padding-left: .4rem; }
.admin-shipment-timeline > div { position: relative; display: flex; gap: .8rem; padding: 0 0 1rem 1rem; border-left: 1px solid #cfd9d2; }
.admin-shipment-timeline i { position: absolute; top: .1rem; left: -4px; width: 7px; height: 7px; background: #dd8e29; border-radius: 50%; }
.admin-shipment-timeline strong,.admin-shipment-timeline small { display: block; }
.admin-shipment-timeline strong { color: #173d34; font-size: .7rem; }
.admin-shipment-timeline small { margin-top: .15rem; color: #718078; font-size: .58rem; }
.admin-btn-row { display: flex; gap: .75rem; margin-top: 1.5rem; }
.admin-remove-row { color: #a1483f; background: none; border: 0; cursor: pointer; font-size: .8rem; padding: 0 .5rem; }
.admin-empty { padding: 2.5rem; color: #73877f; background: #f8faf7; border: 1px dashed #cdd8d2; border-radius: 8px; text-align: center; }
.admin-stat-row { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; margin-bottom: 1.25rem; }.admin-stat-row--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.admin-chart { display: flex; align-items: flex-end; gap: 3px; height: 160px; padding: .5rem 0; }
.admin-chart__bar { flex: 1; min-width: 3px; height: max(2%, var(--h, 0%)); background: linear-gradient(180deg,#2f7c5f,#194b3e); border-radius: 3px 3px 0 0; cursor: default; }
.admin-chart__bar:hover { background: #f0a53e; }
.admin-chart__axis { display: flex; justify-content: space-between; margin-top: .5rem; color: var(--muted); font-size: .58rem; letter-spacing: .06em; text-transform: uppercase; }
.admin-stat { position: relative; display: flex; min-height: 145px; flex-direction: column; justify-content: space-between; padding: 1.25rem 1.35rem; overflow: hidden; background: white; border: 1px solid #dfe5df; border-radius: 12px; }
.admin-stat::after { position: absolute; right: -35px; bottom: -50px; width: 110px; height: 110px; content: ""; border: 1px solid #e0a44d40; border-radius: 50%; }
.admin-stat__label { color: #70857d; font-size: .55rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.admin-stat__value { position: relative; z-index: 1; color: #173f35; font-family: var(--serif); font-size: 2.15rem; }.admin-stat small { color: #80928b; font-size: .56rem; }
.admin-alert-strip { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); margin-bottom: 1.25rem; overflow: hidden; background: #173f35; border-radius: 10px; }
.admin-alert-strip a { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .8rem; padding: 1rem 1.2rem; color: #dfe9e5; border-right: 1px solid #ffffff17; text-decoration: none; }.admin-alert-strip a:last-child { border: 0; }.admin-alert-strip b { color: #f0a53e; font-family: var(--serif); font-size: 1.4rem; }.admin-alert-strip span { font-size: .61rem; }.admin-alert-strip em { font-style: normal; }
.admin-stock { display: inline-grid; min-width: 34px; height: 28px; place-items: center; color: #8b5a12; background: #fff0d9; border-radius: 6px; font-weight: 800; }.admin-stock.is-critical { color: #a1453e; background: #fbe3e0; }
.admin-list-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid #e5ebe7; }.admin-list-row:last-child { border: 0; }.admin-list-row strong,.admin-list-row small { display: block; }.admin-list-row strong { font-family: var(--serif); font-weight: 400; }.admin-list-row small { margin-top: .25rem; color: #7d9088; font-size: .58rem; }
.admin-loading { padding: 4rem; color: #758a82; text-align: center; }
.admin-inbox-presence { display: flex; align-items: center; gap: .45rem; color: #557068; font-size: .62rem; font-weight: 700; }.admin-inbox-presence i { width: 7px; height: 7px; background: #51a86d; border-radius: 50%; box-shadow: 0 0 0 4px #51a86d20; }
.admin-inbox { display: grid; grid-template-columns: 310px minmax(420px,1fr) 230px; min-height: 680px; overflow: hidden; background: white; border: 1px solid #dce4df; border-radius: 12px; box-shadow: 0 12px 40px #173d3410; }
.admin-inbox__queue { min-width: 0; border-right: 1px solid #e0e7e2; }.admin-inbox__queue > header { display: flex; align-items: center; justify-content: space-between; padding: 1.1rem; }.admin-inbox__queue > header strong { font-family: var(--serif); font-size: 1.15rem; font-weight: 400; }.admin-inbox__queue > header span { color: #778a83; font-size: .55rem; }
.admin-inbox__filters { display: flex; gap: .3rem; padding: 0 1rem 1rem; border-bottom: 1px solid #e2e8e4; }.admin-inbox__filters a { padding: .4rem .65rem; color: #6f837b; border-radius: 20px; font-size: .55rem; font-weight: 700; text-decoration: none; }.admin-inbox__filters a.active { color: white; background: #194b3e; }
.admin-inbox__list { max-height: 610px; overflow-y: auto; }.admin-inbox__list > a { position: relative; display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: .65rem; align-items: center; padding: .9rem 1rem; color: #173d34; border-bottom: 1px solid #edf0ee; text-decoration: none; }.admin-inbox__list > a:hover,.admin-inbox__list > a.active { background: #f4f7f4; }.admin-inbox__list > a.active { box-shadow: inset 3px 0 #f0a53e; }.admin-inbox__list .admin-avatar { width: 36px; height: 36px; }.admin-inbox__list strong,.admin-inbox__list p { display: block; overflow: hidden; margin: 0; text-overflow: ellipsis; white-space: nowrap; }.admin-inbox__list strong { font-size: .66rem; }.admin-inbox__list p { margin-top: .2rem; color: #7c8e87; font-size: .55rem; }.admin-inbox__list small { align-self: start; color: #8a9a94; font-size: .48rem; }.admin-inbox__list > a > i { position: absolute; right: 1rem; bottom: .85rem; width: 6px; height: 6px; background: #e26d70; border-radius: 50%; }
.admin-inbox__thread { display: grid; min-width: 0; grid-template-rows: auto 1fr auto; }.admin-inbox__thread > header { display: flex; min-height: 73px; align-items: center; justify-content: space-between; padding: .9rem 1.2rem; border-bottom: 1px solid #e2e8e4; }.admin-inbox__thread > header strong,.admin-inbox__thread > header span { display: block; }.admin-inbox__thread > header strong { font-size: .72rem; }.admin-inbox__thread > header span { margin-top: .2rem; color: #7b8e86; font-size: .52rem; }.admin-inbox__thread > header button { padding: .45rem .7rem; color: #5f756d; background: white; border: 1px solid #d6dfda; border-radius: 5px; cursor: pointer; font-size: .52rem; }
.admin-inbox__messages { display: flex; max-height: 510px; flex-direction: column; gap: .85rem; overflow-y: auto; padding: 1.25rem; background: #fafbf9; }.admin-inbox__day { align-self: center; color: #899991; font-size: .48rem; }
.admin-chat-message { max-width: 72%; }.admin-chat-message small { display: block; margin-bottom: .25rem; color: #82938c; font-size: .48rem; }.admin-chat-message p { margin: 0; padding: .75rem .9rem; font-size: .67rem; line-height: 1.55; }.admin-chat-message--customer p { background: white; border: 1px solid #dde5e0; border-radius: 10px 10px 10px 2px; }.admin-chat-message--staff { align-self: flex-end; }.admin-chat-message--staff small { text-align: right; }.admin-chat-message--staff p { color: white; background: #194b3e; border-radius: 10px 10px 2px 10px; }.admin-chat-message--system { align-self: center; color: #75877f; text-align: center; }
.admin-inbox__composer { padding: 1rem; border-top: 1px solid #e0e7e2; }.admin-inbox__composer textarea { width: 100%; min-height: 76px; padding: .8rem; resize: vertical; border: 1px solid #d5ded8; border-radius: 7px; font: inherit; font-size: .68rem; }.admin-inbox__composer > div { display: flex; align-items: center; justify-content: space-between; margin-top: .6rem; }.admin-inbox__composer small { color: #82938d; font-size: .5rem; }.admin-inbox__composer .admin-btn { min-height: 36px; }.admin-inbox__closed { padding: 1rem; color: #7a8c85; background: #f1f4f1; font-size: .6rem; text-align: center; }
.admin-inbox__customer { padding: 1.5rem 1.1rem; border-left: 1px solid #e0e7e2; text-align: center; }.admin-inbox__customer > .admin-avatar { width: 54px; height: 54px; margin: 0 auto .8rem; }.admin-inbox__customer h2 { margin: 0; font-family: var(--serif); font-size: 1.15rem; font-weight: 400; }.admin-inbox__customer > a { display: block; margin-top: .3rem; overflow: hidden; color: #668078; font-size: .52rem; text-overflow: ellipsis; }.admin-inbox__customer dl { margin-top: 1.5rem; text-align: left; }.admin-inbox__customer dl > div { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid #e7ece9; font-size: .55rem; }.admin-inbox__customer dt { color: #82938d; }.admin-inbox__customer dd { margin: 0; font-weight: 700; }
.admin-inbox__blank { align-self: center; justify-self: center; max-width: 310px; padding: 3rem; color: #768a82; text-align: center; }.admin-inbox__blank > span { display: grid; width: 52px; height: 52px; margin: 0 auto 1rem; place-items: center; color: #e39b38; border: 1px solid #d8e0db; border-radius: 50%; }.admin-inbox__blank h2 { margin: 0; color: #173d34; font-family: var(--serif); font-size: 1.4rem; font-weight: 400; }.admin-inbox__blank p { font-size: .62rem; line-height: 1.6; }
.admin-tabs { display: flex; gap: .3rem; margin-bottom: 1.5rem; border-bottom: 1px solid var(--line); }
.admin-tabs a { padding: .6rem 1rem; color: var(--muted); text-decoration: none; font-size: .82rem; font-weight: 600; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.admin-tabs a.active, .admin-tabs a:hover { color: var(--pine); border-bottom-color: var(--pine); }
@media (max-width: 1100px) {
    .admin-shell { grid-template-columns: 82px minmax(0,1fr); }.admin-rail__brand { padding-inline: .6rem; }.admin-rail__brand span,.admin-sidebar a > span:not(.admin-nav-icon),.admin-nav-label,.admin-rail__foot div { display: none; }.admin-rail__brand a { justify-content: center; }.admin-rail__brand img { width: 62px; }.admin-sidebar a { grid-template-columns: 1fr; justify-items: center; padding-inline: .25rem; }.admin-sidebar a b { position: absolute; margin: -27px 0 0 27px; }.admin-rail__foot { grid-template-columns: 1fr; justify-items: center; }
    .admin-stat-row { grid-template-columns: repeat(2,1fr); }.admin-dashboard-grid { grid-template-columns: 1fr; }
    .admin-inbox { grid-template-columns: 280px minmax(400px,1fr); }.admin-inbox__customer { display: none; }
}
@media (max-width: 700px) {
    .admin-shell { display: block; }.admin-rail { position: static; display: block; height: auto; overflow: visible; }.admin-rail__brand,.admin-rail__foot { display: none; }.admin-sidebar { flex-direction: row; overflow-x: auto; padding: .65rem; }.admin-sidebar a { min-width: 48px; }.admin-topbar { height: 60px; }.admin-topbar > div span,.admin-topnav a { display: none; }.admin-main { padding: 1.25rem; }.admin-page-head { align-items: flex-start; flex-direction: column; }.admin-stat-row,.admin-stat-row--three,.admin-alert-strip,.admin-grid-2,.admin-shipment-summary { grid-template-columns: 1fr; }.admin-alert-strip a { border-right: 0; border-bottom: 1px solid #ffffff17; }.admin-form-row { align-items: stretch; flex-direction: column; }
    .admin-inbox { display: block; }.admin-inbox__queue { border: 0; }.admin-inbox__thread { min-height: 620px; border-top: 1px solid #dfe6e1; }.admin-inbox__list { max-height: 300px; }
}

/* Checkout */
.blog-page {
    width: calc(100% - 2rem);
    max-width: none !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding: 5rem clamp(1rem,2.5vw,3rem) 8rem;
    color: var(--pine-deep);
}
.article-page { width: 100%; max-width: none !important; margin: 0 !important; padding: 0 0 8rem; color: var(--pine-deep); }
.blog-hero {
    display: grid;
    grid-template-columns: 1.4fr .6fr;
    align-items: end;
    width: min(100%,1180px);
    margin-right: auto;
    margin-left: auto;
    padding-bottom: 4rem;
    border-bottom: 1px solid var(--line);
}
.blog-hero > span,.blog-section-head span,.blog-featured__copy > span,.article-header > span,.article-related > div:first-child span { grid-column: 1 / -1; margin-bottom: 1rem; color: var(--orange); font-size: .62rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.blog-hero h1 { margin: 0; font-family: var(--serif); font-size: clamp(4rem,9vw,9rem); font-weight: 400; line-height: .78; letter-spacing: -.05em; }
.blog-hero h1 em { color: #da7377; font-weight: 400; }
.blog-hero p { max-width: 420px; margin: 0 0 .5rem auto; color: var(--muted); font-family: var(--serif); font-size: 1.15rem; line-height: 1.6; }
.blog-featured {
    position: relative;
    display: block;
    min-height: clamp(620px,70vw,820px);
    margin: 4rem 0 8rem;
    color: inherit;
    background: #e7e1d3;
    text-decoration: none;
}
.blog-featured__image {
    position: absolute;
    inset: 0 22% 0 0;
    overflow: hidden;
    background: #879b91;
}
.blog-featured__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.blog-featured:hover img { transform: scale(1.025); }
.blog-featured__copy {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: clamp(2rem,5vw,5rem);
    display: flex;
    width: min(46%,700px);
    min-height: 470px;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2.25rem,4vw,4.5rem);
    color: white;
    background: var(--pine);
    box-shadow: -24px 28px 60px rgba(16,52,43,.16);
}
.blog-featured__copy::before {
    content: "01";
    position: absolute;
    top: 1.5rem;
    right: 1.75rem;
    color: #ffffff1c;
    font-family: var(--serif);
    font-size: 4.5rem;
    line-height: 1;
}
.blog-featured__copy h2 { position: relative; margin: 0; font-family: var(--serif); font-size: clamp(2.15rem,3vw,3.65rem); font-weight: 400; line-height: 1.02; }
.blog-featured__copy p { margin: 1.5rem 0; color: #ffffffb0; font-size: .74rem; line-height: 1.7; }
.blog-featured__copy > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1.5rem; border-top: 1px solid #ffffff28; }
.blog-featured__copy small { color: #ffffff90; font-size: .58rem; }
.blog-featured__copy b { font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; }
.blog-section-head { display: flex; align-items: end; justify-content: space-between; margin-bottom: 2rem; }
.blog-section-head h2,.article-related h2 { margin: 0; font-family: var(--serif); font-size: clamp(2.5rem,5vw,4.5rem); font-weight: 400; }
.blog-section-head > small { color: var(--muted); font-size: .62rem; }
.blog-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 3.5rem 1.5rem; }
.blog-card__image { position: relative; display: block; overflow: hidden; aspect-ratio: 1.15; background: #e8e1d4; }
.blog-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.blog-card:hover .blog-card__image img { transform: scale(1.035); }
.blog-card__image > span { position: absolute; top: 1rem; left: 1rem; padding: .5rem .7rem; background: #fffdf7; color: var(--pine); font-size: .52rem; font-weight: 800; text-transform: uppercase; }
.blog-card__body { padding-top: 1.2rem; }
.blog-card__body > small { color: var(--orange); font-size: .55rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.blog-card__body > a { color: inherit; text-decoration: none; }
.blog-card h3 { margin: .65rem 0; font-family: var(--serif); font-size: clamp(1.35rem,2vw,1.8rem); font-weight: 400; line-height: 1.15; }
.blog-card p { min-height: 3.4em; margin: 0; color: var(--muted); font-size: .68rem; line-height: 1.7; }
.blog-card__read { display: flex; align-items: center; justify-content: space-between; margin-top: 1rem; padding-top: .9rem; border-top: 1px solid var(--line); font-size: .58rem; font-weight: 800; text-transform: uppercase; }
.blog-card__read span { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid var(--line); border-radius: 50%; }
.article-masthead { position: relative; overflow: hidden; padding: 3rem 0 7rem; background: var(--pine-deep); color: white; }
.article-masthead::before { content: ""; position: absolute; top: -320px; right: -180px; width: 680px; height: 680px; border: 1px solid #ffffff10; border-radius: 50%; }
.article-masthead::after { content: ""; position: absolute; right: 5%; bottom: -260px; width: 480px; height: 480px; border: 1px solid #ffffff0d; border-radius: 50%; }
.article-masthead__inner { position: relative; z-index: 1; width: min(100% - 4rem,1450px); margin: 0 auto; }
.article-back { display: inline-block; margin-bottom: clamp(4rem,8vw,8rem); color: #ffffff9c; font-size: .58rem; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.article-back:hover { color: white; }
.article-header { width: min(100%,1250px); margin: 0; text-align: left; }
.article-header > span { display: inline-flex; align-items: center; gap: .7rem; margin-bottom: 1.25rem; color: var(--orange); font-size: .6rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.article-header > span::before { content: ""; width: 38px; height: 1px; background: var(--orange); }
.article-header h1 { max-width: 1250px; margin: 0; font-family: var(--serif); font-size: clamp(3.4rem,6vw,6.8rem); font-weight: 400; line-height: .9; letter-spacing: -.035em; text-wrap: balance; }
.article-header > div { display: flex; align-items: center; justify-content: flex-start; gap: .85rem; margin-top: 2rem; color: #ffffff9c; }
.article-header small { font-size: .57rem; letter-spacing: .05em; text-transform: uppercase; }
.article-header small strong { color: white; font-weight: 700; }
.article-header i { width: 3px; height: 3px; border-radius: 50%; background: var(--orange); }
.article-masthead__footer { display: flex; align-items: center; justify-content: space-between; margin-top: 5rem; padding-top: 1.25rem; border-top: 1px solid #ffffff22; color: #ffffff78; font-size: .52rem; letter-spacing: .1em; text-transform: uppercase; }
.article-masthead__footer b { color: #ffffffa8; font-weight: 500; }
.article-cover { width: min(100% - 4rem,1600px); margin: -4rem auto 0; position: relative; z-index: 2; }
.article-cover img { display: block; width: 100%; height: clamp(430px,55vw,780px); object-fit: cover; box-shadow: 0 28px 70px rgba(21,54,46,.14); }
.article-cover figcaption { margin-top: .7rem; color: var(--muted); font-size: .52rem; text-align: right; }
.article-layout { display: grid; grid-template-columns: 90px minmax(0,760px); justify-content: center; gap: 2rem; margin-top: 4rem; }
.article-share { display: flex; align-items: center; flex-direction: column; gap: .65rem; }
.article-share > span { margin-bottom: .4rem; color: var(--muted); font-size: .5rem; text-transform: uppercase; writing-mode: vertical-rl; }
.article-share a { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--pine); font-size: .65rem; font-weight: 800; text-decoration: none; }
.article-content { color: #36504a; font-family: var(--serif); font-size: 1.15rem; line-height: 1.9; }
.article-content > p:first-of-type::first-letter { float: left; margin: .1rem .5rem 0 0; color: var(--pine); font-size: 4.6rem; line-height: .75; }
.article-content h2,.article-content h3,.article-content strong:has(+ br) { color: var(--pine-deep); }
.article-content h2 { margin: 2.8rem 0 1rem; font-size: 2.2rem; line-height: 1.1; }
.article-content img { display: block; width: min(100%,1000px); height: auto; margin: 2.5rem auto; }
.article-content blockquote { margin: 2.5rem 0; padding: 1.5rem 2rem; border-left: 3px solid var(--orange); background: #f2ecdf; color: var(--pine); font-size: 1.4rem; }
.article-content a { color: var(--orange); }
.article-pagination { display: grid; grid-template-columns: 1fr 1fr; width: min(100% - 4rem,1100px); margin: 6rem auto 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.article-pagination a { display: grid; gap: .65rem; min-height: 150px; align-content: center; padding: 1.5rem 2rem; color: var(--pine); text-decoration: none; }
.article-pagination a:first-child { border-right: 1px solid var(--line); }
.article-pagination a:hover { background: #f2ecdf; }
.article-pagination small { color: var(--orange); font-size: .55rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.article-pagination strong { max-width: 420px; font-family: var(--serif); font-size: 1.3rem; font-weight: 400; line-height: 1.2; }
.article-pagination__next { justify-items: end; text-align: right; }
.article-comments { position: relative; overflow: hidden; width: min(100% - 4rem,1350px); margin: 7rem auto 0; padding: clamp(2.5rem,5vw,5rem); background: #f2ecdf; color: var(--pine-deep); }
.article-comments::after { content: "“"; position: absolute; top: -5rem; right: 2rem; color: rgba(226,157,62,.09); font-family: var(--serif); font-size: 22rem; line-height: 1; pointer-events: none; }
.article-comments__heading { position: relative; z-index: 1; display: block; max-width: 760px; margin: 0 auto; padding-bottom: 2.5rem; border-bottom: 1px solid #d8cfbf; text-align: center; }
.article-comments__heading span,.article-comment-form > span { display: block; margin-bottom: .6rem; color: var(--orange); font-size: .56rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.article-comments__heading h2 { margin: 0; color: var(--pine-deep); font-family: var(--serif); font-size: clamp(2.5rem,5vw,4.5rem); font-weight: 400; }
.article-comments__heading > p { max-width: 560px; margin: 1rem auto 0; color: var(--muted); font-family: var(--serif); line-height: 1.6; }
.article-comments__layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(260px,.65fr); gap: clamp(2rem,5vw,5rem); align-items: stretch; padding-top: 3rem; }
.article-comment-list { order: 2; padding-left: clamp(0rem,2vw,2rem); border-left: 1px solid #d8cfbf; }
.article-comment-form { order: 1; }
.article-comment-list { display: grid; align-content: start; }
.article-comment { display: grid; grid-template-columns: 46px 1fr; gap: 1rem; padding: 1.4rem 0; border-bottom: 1px solid #d8cfbf; }
.article-comment > div { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: var(--pine); color: white; font-size: .62rem; font-weight: 800; }
.article-comment header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.article-comment header strong { font-family: var(--serif); font-weight: 400; }
.article-comment header small { color: var(--muted); font-size: .52rem; text-transform: uppercase; }
.article-comment p { margin: .6rem 0 0; color: var(--muted); font-size: .7rem; line-height: 1.7; white-space: pre-line; }
.article-comments__empty { display: grid; min-height: 300px; align-content: center; padding: 2rem 0; }
.article-comments__empty > span { color: var(--orange); font-size: .6rem; font-weight: 800; }
.article-comments__empty h3 { margin: .7rem 0; color: var(--pine-deep); font-family: var(--serif); font-size: 1.8rem; font-weight: 400; }
.article-comments__empty p { max-width: 310px; color: var(--muted); font-size: .7rem; line-height: 1.6; }
.article-comment-form { padding: clamp(1.5rem,3vw,3rem); border: 1px solid #d8cfbf; background: #fffdf9; color: var(--pine-deep); box-shadow: 16px 16px 0 rgba(226,157,62,.12); }
.article-comment-form h3 { margin: 0 0 2rem; font-family: var(--serif); font-size: clamp(1.8rem,3vw,2.6rem); font-weight: 400; }
.article-comment-form form,.article-comment-form label { display: grid; gap: .5rem; }
.article-comment-form form { gap: 1rem; }
.article-comment-form form > div { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.article-comment-form label { color: var(--muted); font-size: .58rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.article-comment-form label small { font-weight: 400; text-transform: none; }
.article-comment-form input,.article-comment-form textarea { width: 100%; min-height: 52px; padding: .85rem 1rem; border: 1px solid var(--line); border-radius: 0; outline: 0; background: white; font: inherit; font-size: .72rem; }
.article-comment-form input:focus,.article-comment-form textarea:focus { border-color: var(--pine); }
.article-comment-form textarea { min-height: 140px; resize: vertical; }
.article-comment-form button { display: flex; min-height: 50px; align-items: center; justify-content: space-between; padding: 0 1.2rem; border: 0; background: var(--orange); color: var(--pine-deep); cursor: pointer; font-size: .6rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.article-comment-form__success { padding: .75rem; background: #e2eee5; color: #397452; font-size: .65rem; }
.article-related { width: min(100% - 4rem,1450px); margin: 7rem auto 0; padding-top: 4rem; border-top: 1px solid var(--line); }
.article-related > div:first-child { margin-bottom: 2.5rem; }
@media (max-width: 900px) {
    .blog-featured { min-height: 820px; }
    .blog-featured__image { inset: 0 0 300px; }
    .blog-featured__copy { right: 1.5rem; bottom: 0; width: calc(100% - 3rem); min-height: 380px; }
    .blog-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 650px) {
    .blog-page { width: 100%; padding: 3rem 1rem 6rem; }
    .article-page { width: 100%; padding-top: 0; }
    .article-masthead { padding: 2rem 0 5rem; }
    .article-masthead__inner { width: calc(100% - 2rem); }
    .article-back { margin-bottom: 4rem; }
    .article-header h1 { font-size: clamp(2.8rem,13vw,4.5rem); }
    .article-header > div { align-items: flex-start; flex-wrap: wrap; }
    .article-masthead__footer { align-items: flex-start; flex-direction: column; gap: .5rem; margin-top: 3rem; }
    .article-cover { width: calc(100% - 2rem); margin-top: -2.5rem; }
    .article-cover img { height: 360px; }
    .blog-hero { grid-template-columns: 1fr; gap: 2rem; }
    .blog-hero p { margin-left: 0; }
    .blog-featured { min-height: 720px; margin: 3rem 0 5rem; }
    .blog-featured__image { inset: 0 0 360px; }
    .blog-featured__copy { right: 0; bottom: 0; width: 100%; min-height: 400px; padding: 2rem 1.4rem; box-shadow: none; }
    .blog-grid { grid-template-columns: 1fr; }
    .article-header > div { flex-wrap: wrap; }
    .article-layout { grid-template-columns: 1fr; margin-top: 2.5rem; }
    .article-share { flex-direction: row; }
    .article-share > span { margin: 0 .5rem 0 0; writing-mode: initial; }
    .article-content { font-size: 1rem; }
    .article-pagination { grid-template-columns: 1fr; width: calc(100% - 2rem); }
    .article-pagination a:first-child { border-right: 0; border-bottom: 1px solid var(--line); }
    .article-pagination__next { justify-items: start; text-align: left; }
    .article-comments { width: calc(100% - 2rem); padding: 2rem 1rem; }
    .article-comments__heading,.article-comments__layout { grid-template-columns: 1fr; gap: 2rem; }
    .article-comments__heading > p { margin-left: 0; }
    .article-comment-list { padding: 0; border-top: 1px solid #d8cfbf; border-left: 0; }
    .article-comment-form { box-shadow: 8px 8px 0 rgba(226,157,62,.12); }
    .article-comment-form form > div { grid-template-columns: 1fr; }
    .article-related { width: calc(100% - 2rem); }
}

.confirmation-page { width: min(100% - 4rem,1320px); margin: 0 auto; padding: 4rem 0 7rem; color: var(--pine-deep); }
.confirmation-hero { position: relative; overflow: hidden; padding: 4.5rem max(2rem,8vw); background: var(--pine); color: white; text-align: center; }
.confirmation-hero::before,.confirmation-hero::after { content: ""; position: absolute; width: 260px; height: 260px; border: 1px solid #ffffff18; border-radius: 50%; }
.confirmation-hero::before { top: -150px; left: -70px; }
.confirmation-hero::after { right: -90px; bottom: -180px; }
.confirmation-hero--pending { background: #785820; }
.confirmation-hero__mark { display: grid; width: 72px; height: 72px; margin: 0 auto 1.5rem; place-items: center; border: 1px solid #ffffff75; border-radius: 50%; }
.confirmation-hero__mark span { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 50%; background: var(--orange); color: var(--pine-deep); font-size: 1.4rem; }
.confirmation-eyebrow { display: block; margin-bottom: .65rem; color: var(--orange); font-size: .58rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.confirmation-hero h1 { max-width: 850px; margin: 0 auto; font-family: var(--serif); font-size: clamp(2.8rem,6vw,5.5rem); font-weight: 400; line-height: .95; }
.confirmation-hero > p { max-width: 620px; margin: 1.5rem auto 0; color: #ffffffc7; font-size: .78rem; line-height: 1.7; }
.confirmation-hero > small { display: block; max-width: 620px; margin: 1rem auto 0; color: #fff0c9; font-size: .65rem; }
.confirmation-hero__number { display: inline-flex; align-items: center; gap: 1rem; margin-top: 2rem; padding: .75rem 1rem; border: 1px solid #ffffff30; background: #0000001f; }
.confirmation-hero__number small { color: #ffffff8f; font-size: .54rem; text-transform: uppercase; }
.confirmation-hero__number strong { font-size: .72rem; letter-spacing: .06em; }
.confirmation-hero__number button { padding: 0 0 0 1rem; border: 0; border-left: 1px solid #ffffff30; background: transparent; color: white; cursor: pointer; font-size: .55rem; text-transform: uppercase; }
.confirmation-progress { display: grid; grid-template-columns: repeat(3,1fr); padding: 2rem 3rem; border: 1px solid var(--line); border-top: 0; background: #fffdf9; }
.confirmation-progress > div { position: relative; display: flex; align-items: center; gap: .8rem; color: #99a09d; }
.confirmation-progress > div:not(:last-child)::after { content: ""; position: absolute; top: 19px; left: 42px; width: calc(100% - 55px); height: 1px; background: var(--line); }
.confirmation-progress > div > span { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: #fffdf9; font-size: .6rem; }
.confirmation-progress strong,.confirmation-progress small { display: block; }
.confirmation-progress strong { font-size: .65rem; text-transform: uppercase; }
.confirmation-progress small { margin-top: .2rem; font-size: .56rem; }
.confirmation-progress .is-active { color: var(--pine); }
.confirmation-progress .is-active > span { border-color: var(--pine); background: var(--pine); color: white; }
.confirmation-layout { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(280px,.65fr); gap: 1.5rem; margin-top: 1.5rem; }
.confirmation-card { padding: 2rem; border: 1px solid var(--line); background: #fffdf9; }
.confirmation-card__heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding-bottom: 1.5rem; border-bottom: 1px solid var(--line); }
.confirmation-card h2 { margin: 0; font-family: var(--serif); font-size: 1.8rem; font-weight: 400; }
.confirmation-card__heading > strong { font-family: var(--serif); font-size: 1.8rem; font-weight: 400; }
.confirmation-items article { display: grid; grid-template-columns: 34px 1fr auto; gap: 1rem; align-items: center; padding: 1.2rem 0; border-bottom: 1px solid var(--line); }
.confirmation-items article > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #f0eadf; font-size: .62rem; font-weight: 700; }
.confirmation-items h3 { margin: 0; font-family: var(--serif); font-size: 1rem; font-weight: 400; }
.confirmation-items small { display: block; margin-top: .25rem; color: var(--muted); font-size: .58rem; }
.confirmation-items article > strong { font-size: .7rem; }
.confirmation-breakdown { display: grid; gap: .7rem; margin: 1.2rem 0 0 auto; width: min(100%,320px); }
.confirmation-breakdown > div { display: flex; justify-content: space-between; color: var(--muted); font-size: .66rem; }
.confirmation-breakdown dt,.confirmation-breakdown dd { margin: 0; }
.confirmation-breakdown .is-saving { color: #397452; }
.confirmation-side { display: grid; gap: 1.5rem; }
.confirmation-card address { margin-top: .8rem; color: var(--muted); font-size: .7rem; font-style: normal; line-height: 1.75; }
.confirmation-payment > div { display: flex; align-items: center; gap: .9rem; margin-top: 1rem; }
.confirmation-payment > div > span { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--orange); font-family: var(--serif); font-size: 1.1rem; }
.confirmation-payment p { margin: 0; }
.confirmation-payment strong,.confirmation-payment small { display: block; }
.confirmation-payment strong { font-family: var(--serif); font-weight: 400; }
.confirmation-payment small { margin-top: .2rem; color: var(--muted); font-size: .58rem; }
.confirmation-actions { display: flex; align-items: center; justify-content: center; gap: 2rem; margin-top: 2rem; }
.confirmation-actions a { color: var(--pine); font-size: .63rem; font-weight: 800; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.confirmation-actions__primary { display: flex; width: min(100%,300px); min-height: 54px; align-items: center; justify-content: space-between; padding: 0 1.3rem; background: var(--pine); color: white !important; }
.confirmation-help { margin: 2rem 0 0; color: var(--muted); font-size: .6rem; text-align: center; }
.confirmation-help a { color: var(--pine); }
.confirmation-live-status { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; margin-top: .75rem; color: rgba(255,255,255,.72); }
.confirmation-live-status span { width: 7px; height: 7px; border-radius: 50%; background: #f0a53e; box-shadow: 0 0 0 0 rgba(240,165,62,.65); animation: payment-status-pulse 1.8s infinite; }
@keyframes payment-status-pulse {
    70% { box-shadow: 0 0 0 8px rgba(240,165,62,0); }
    100% { box-shadow: 0 0 0 0 rgba(240,165,62,0); }
}
.confirmation-missing { width: min(100% - 2rem,700px); margin: 6rem auto; text-align: center; }
.confirmation-missing > span { display: grid; width: 60px; height: 60px; margin: 0 auto; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--orange); font-family: var(--serif); font-size: 1.5rem; }
.confirmation-missing h1 { font-family: var(--serif); font-size: clamp(2rem,5vw,4rem); font-weight: 400; }
.confirmation-missing p { color: var(--muted); }
.confirmation-missing a { color: var(--pine); font-size: .65rem; font-weight: 800; text-transform: uppercase; }
@media (max-width: 800px) {
    .confirmation-layout { grid-template-columns: 1fr; }
    .confirmation-side { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
    .confirmation-page { width: min(100% - 2rem,1320px); padding-top: 2rem; }
    .confirmation-hero { padding: 3rem 1.2rem; }
    .confirmation-hero__number { align-items: flex-start; flex-direction: column; gap: .4rem; }
    .confirmation-hero__number button { padding: .4rem 0 0; border-left: 0; border-top: 1px solid #ffffff30; }
    .confirmation-progress { grid-template-columns: 1fr; gap: 1rem; padding: 1.3rem; }
    .confirmation-progress > div::after { display: none; }
    .confirmation-side { grid-template-columns: 1fr; }
    .confirmation-actions { flex-direction: column; gap: 1.2rem; }
}

.checkout-page { width: min(100% - 4rem,1500px); margin: 0 auto; padding: 4rem 0 7rem; color: var(--pine-deep); }
.checkout-hero { display: flex; align-items: flex-end; justify-content: space-between; padding-bottom: 2.5rem; border-bottom: 1px solid var(--line); }
.checkout-hero span,.checkout-step__heading span,.checkout-summary__eyebrow { display: block; margin-bottom: .6rem; color: var(--orange); font-size: .6rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.checkout-hero h1 { margin: 0; font-family: var(--serif); font-size: clamp(3rem,6vw,6rem); font-weight: 400; line-height: .9; }
.checkout-hero a { color: var(--muted); font-size: .65rem; font-weight: 700; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; }
.checkout-alert { margin: 1.5rem 0 -1rem; padding: 1rem 1.25rem; border-left: 3px solid #b14f45; background: #f9e8e4; color: #913d35; font-size: .76rem; }
.checkout-layout { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(350px,.7fr); gap: 5rem; align-items: start; padding-top: 4rem; }
.checkout-flow { display: grid; gap: 3.5rem; }
.checkout-step { display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 1.5rem; }
.checkout-step__number { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--orange); border-radius: 50%; color: var(--orange); font-size: .62rem; font-weight: 800; }
.checkout-step__content { min-width: 0; padding-bottom: 3.5rem; border-bottom: 1px solid var(--line); }
.checkout-step__heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.checkout-step__heading h2 { margin: 0; font-family: var(--serif); font-size: clamp(1.8rem,3vw,2.6rem); font-weight: 400; line-height: 1; }
.checkout-step__heading > small { color: var(--muted); font-size: .62rem; }
.checkout-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.checkout-field { display: grid; gap: .45rem; min-width: 0; }
.checkout-field--wide { grid-column: 1 / -1; }
.checkout-field > span:first-child { color: var(--muted); font-size: .62rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.checkout-field em { font-weight: 400; font-style: normal; text-transform: none; }
.checkout-field input { width: 100%; min-height: 52px; padding: .85rem 1rem; border: 1px solid var(--line); border-radius: 0; outline: 0; background: #fffdf9; color: var(--pine-deep); font: inherit; font-size: .78rem; }
.checkout-field input:focus { border-color: var(--pine); box-shadow: 0 0 0 1px var(--pine); }
.checkout-addresses,.checkout-payments { display: grid; gap: .75rem; }
.checkout-address { position: relative; display: grid; grid-template-columns: 20px 1fr auto; gap: .85rem; align-items: center; padding: 1.1rem 1.2rem; border: 1px solid var(--line); background: #fffdf9; cursor: pointer; transition: border-color .2s,background .2s; }
.checkout-address > input,.checkout-payment > input { position: absolute; opacity: 0; pointer-events: none; }
.checkout-address__radio { display: grid; width: 17px; height: 17px; place-items: center; border: 1px solid #8b9691; border-radius: 50%; }
.checkout-address.is-selected { border-color: var(--pine); background: #f1f4ef; }
.checkout-address.is-selected .checkout-address__radio::after { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--pine); }
.checkout-address__copy strong,.checkout-address__copy small { display: block; }
.checkout-address__copy strong { margin-bottom: .25rem; font-family: var(--serif); font-size: 1rem; font-weight: 400; }
.checkout-address__copy small { color: var(--muted); font-size: .66rem; line-height: 1.5; }
.checkout-address > b { padding: .3rem .5rem; border-radius: 999px; background: #f5dfb8; color: #8b5911; font-size: .52rem; letter-spacing: .06em; text-transform: uppercase; }
.checkout-address--new { border-style: dashed; }
.checkout-address-fields { margin-top: 1.5rem; }
.checkout-address-fields.is-saved { display: none; }
.checkout-autocomplete-note { grid-column: 1 / -1; color: var(--muted); font-size: .55rem; }
.checkout-payment { position: relative; display: grid; grid-template-columns: 46px 1fr auto; gap: 1rem; align-items: center; padding: 1.2rem; border: 1px solid var(--line); background: #fffdf9; cursor: pointer; transition: .2s; }
.checkout-payment:has(input:checked),.checkout-payment.is-selected { border-color: var(--pine); background: #f1f4ef; box-shadow: inset 3px 0 var(--pine); }
.checkout-payment__icon { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--pine); font-family: var(--serif); font-size: 1.15rem; }
.checkout-payment strong,.checkout-payment small { display: block; }
.checkout-payment strong { margin-bottom: .25rem; font-family: var(--serif); font-size: 1.05rem; font-weight: 400; }
.checkout-payment small { color: var(--muted); font-size: .64rem; }
.checkout-payment > b { color: var(--muted); font-size: .56rem; letter-spacing: .08em; text-transform: uppercase; }
.checkout-payment-note { display: flex; gap: .75rem; margin-top: 1rem; padding: .9rem 1rem; background: #f4efe4; color: var(--muted); }
.checkout-payment-note > span { color: #4b815c; }
.checkout-payment-note p { margin: 0; font-size: .62rem; line-height: 1.55; }
.checkout-code { margin-left: 61px; border: 1px solid var(--line); }
.checkout-code summary { display: flex; justify-content: space-between; padding: 1rem 1.2rem; cursor: pointer; list-style: none; font-size: .7rem; font-weight: 700; }
.checkout-code summary::-webkit-details-marker { display: none; }
.checkout-code summary span { color: var(--orange); font-size: 1rem; }
.checkout-code__fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding: 0 1.2rem 1.2rem; }
.checkout-summary { position: sticky; top: 120px; padding: 2rem; border: 1px solid var(--line); background: #fffdf9; }
.checkout-summary__heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 1.5rem; }
.checkout-summary__heading h2 { margin: 0; font-family: var(--serif); font-size: 2rem; font-weight: 400; }
.checkout-summary__heading a { color: var(--muted); font-size: .6rem; font-weight: 700; text-transform: uppercase; }
.checkout-summary__items { display: grid; gap: 1rem; max-height: 360px; overflow: auto; padding: .5rem .5rem 0 0; }
.checkout-item { display: grid; grid-template-columns: 70px minmax(0,1fr) auto; gap: 1rem; align-items: center; }
.checkout-item__image { position: relative; display: grid; width: 70px; height: 78px; place-items: center; background: #efeade; color: var(--orange); font-family: var(--serif); }
.checkout-item__image img { width: 100%; height: 100%; object-fit: cover; }
.checkout-item__image b { position: absolute; top: -.4rem; right: -.4rem; display: grid; width: 21px; height: 21px; place-items: center; border-radius: 50%; background: var(--pine); color: white; font-size: .55rem; }
.checkout-item h3 { margin: 0 0 .25rem; font-family: var(--serif); font-size: .95rem; font-weight: 400; line-height: 1.25; }
.checkout-item small,.checkout-item p { display: block; margin: 0; color: var(--muted); font-size: .59rem; }
.checkout-item p { margin-top: .35rem; }
.checkout-item > strong { font-size: .7rem; }
.checkout-totals { display: grid; gap: .8rem; margin: 1.5rem 0 0; padding: 1.5rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.checkout-totals > div { display: flex; justify-content: space-between; gap: 1rem; color: var(--muted); font-size: .7rem; }
.checkout-totals dt,.checkout-totals dd { margin: 0; }
.checkout-totals dd span { font-size: .58rem; }
.checkout-cod-fee { display: none !important; color: #8b5911 !important; }
.checkout-cod-fee.is-visible { display: flex !important; }
.checkout-total { display: flex; align-items: center; justify-content: space-between; padding: 1.4rem 0; }
.checkout-total span small,.checkout-total span em { display: block; }
.checkout-total small { color: var(--pine); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.checkout-total em { margin-top: .2rem; color: var(--muted); font-size: .55rem; font-style: normal; }
.checkout-total strong { font-family: var(--serif); font-size: 2rem; font-weight: 400; }
.checkout-submit { display: flex; width: 100%; min-height: 58px; align-items: center; justify-content: space-between; padding: 0 1.4rem; border: 0; background: var(--pine); color: white; cursor: pointer; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.checkout-submit:hover { background: var(--pine-deep); }
.checkout-submit b { font-size: 1rem; }
.checkout-assurances { display: flex; justify-content: space-between; gap: .5rem; margin-top: 1rem; color: var(--muted); font-size: .53rem; text-transform: uppercase; }
.checkout-terms { margin: 1rem 0 0; color: var(--muted); font-size: .52rem; line-height: 1.5; text-align: center; }
.checkout-terms a { color: inherit; }

@media (max-width: 1000px) {
    .checkout-layout { grid-template-columns: 1fr; gap: 3rem; }
    .checkout-summary { position: static; grid-row: 1; }
}
@media (max-width: 650px) {
    .checkout-page { width: min(100% - 2rem,1500px); padding-top: 2.5rem; }
    .checkout-hero { align-items: flex-start; flex-direction: column; gap: 1.5rem; }
    .checkout-layout { padding-top: 2.5rem; }
    .checkout-step { grid-template-columns: 1fr; gap: .8rem; }
    .checkout-step__number { width: 34px; height: 34px; }
    .checkout-step__heading { align-items: flex-start; flex-direction: column; }
    .checkout-fields,.checkout-code__fields { grid-template-columns: 1fr; }
    .checkout-field--wide { grid-column: auto; }
    .checkout-code { margin-left: 0; }
    .checkout-payment { grid-template-columns: 40px 1fr; }
    .checkout-payment > b { grid-column: 2; }
    .checkout-summary { padding: 1.25rem; }
}

.legal-page { max-width: 760px; margin: 4rem auto; padding: 0 1.5rem; line-height: 1.7; }
.legal-page h1 { margin-bottom: .5rem; }
.legal-page h2 { margin-top: 2.5rem; font-size: 1.4rem; }
.legal-page p, .legal-page li { color: var(--ink); font-size: .95rem; }

.auth-shell { min-height: 100vh; background: #f7f3ea; }
.signin-page { position: relative; display: grid; grid-template-columns: minmax(0,1fr) minmax(390px,560px); grid-template-rows: auto 1fr auto; grid-template-areas: "brand panel" "story panel" "store footer"; column-gap: clamp(3rem,7vw,9rem); min-height: 100vh; overflow: hidden; padding: clamp(1.5rem,2.5vw,3rem) clamp(1.5rem,6vw,7rem); color: var(--pine); background: radial-gradient(circle at 9% 88%,rgba(239,164,62,.17),transparent 24%),#f7f3ea; }
.signin-page::after { position: absolute; z-index: 0; top: -20vw; left: 43%; width: 48vw; height: 48vw; content: ""; border: 1px solid rgba(16,66,54,.1); border-radius: 50%; }
.signin-brand,.signin-story,.signin-panel,.signin-store-link,.signin-footer { position: relative; z-index: 1; }
.signin-brand { grid-area: brand; align-self: start; width: max-content; }
.signin-brand img { display: block; width: 112px; height: auto; }
.signin-story { grid-area: story; align-self: start; max-width: 610px; padding: clamp(3rem,7vh,5rem) 0 2rem; }
.signin-eyebrow { display: block; margin-bottom: 1rem; color: var(--orange); font-size: .62rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.signin-story h1 { margin: 0; font-family: var(--serif); font-size: clamp(4.5rem,8vw,8.5rem); font-weight: 400; line-height: .73; letter-spacing: -.055em; }
.signin-story h1 em { color: #d66f72; font-weight: 400; }
.signin-story > p { max-width: 480px; margin: 2.7rem 0; color: var(--muted); font-family: var(--serif); font-size: 1.25rem; line-height: 1.55; }
.signin-benefits { display: flex; flex-wrap: wrap; gap: 1rem 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.signin-benefits span { display: flex; align-items: center; gap: .6rem; color: var(--pine); font-size: .67rem; font-weight: 700; text-transform: uppercase; }
.signin-benefits b { color: var(--orange); font-size: .55rem; }
.signin-panel { grid-area: panel; align-self: start; padding: clamp(2rem,4vw,4rem); background: #fffdf8; border: 1px solid rgba(16,66,54,.14); box-shadow: 0 30px 80px rgba(25,48,39,.09); }
.signin-panel header { margin-bottom: 2rem; }
.signin-panel h2 { margin: 0; font-family: var(--serif); font-size: clamp(2.7rem,4vw,4rem); font-weight: 400; line-height: 1; }
.signin-panel header p { margin: .75rem 0 0; color: var(--muted); font-size: .78rem; }
.signin-form { display: grid; gap: 1.25rem; }
.signin-form > label { display: grid; gap: .5rem; color: var(--pine); font-size: .62rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.signin-form input[type=email],.signin-form input[type=password] { width: 100%; min-height: 58px; padding: 0 1rem; color: var(--pine); background: white; border: 1px solid var(--line); border-radius: 0; outline: none; }
.signin-form input:focus { border-color: var(--pine); box-shadow: 0 0 0 2px rgba(16,66,54,.08); }
.signin-options { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.signin-check { display: inline-flex !important; grid-template-columns: auto 1fr; align-items: center; gap: .55rem !important; color: var(--muted) !important; font-size: .68rem !important; font-weight: 400 !important; letter-spacing: 0 !important; text-transform: none !important; }
.signin-check input { width: 16px; height: 16px; accent-color: var(--pine); }
.signin-options a,.signin-register a,.signin-resend a,.signin-store-link { color: var(--pine); text-underline-offset: .2rem; }
.signin-options a { font-size: .68rem; }
.signin-form > button { display: flex; min-height: 58px; align-items: center; justify-content: space-between; padding: 0 1.25rem; color: white; background: var(--pine); border: 0; cursor: pointer; font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.signin-form > button:hover { background: #205d4d; }
.signin-form > button b { font-size: 1.1rem; font-weight: 400; }
.signin-message { margin: 0 0 1.25rem; padding: .9rem 1rem; font-size: .7rem; line-height: 1.5; }
.signin-message--success { color: #286441; background: #e4f0e7; border-left: 3px solid #4b815c; }
.signin-message--error,.signin-form .validation-summary-errors { color: #963f38; background: #f8e6e2; border-left: 3px solid #b45148; }
.signin-form .validation-summary-errors { padding: .75rem 1rem; font-size: .68rem; }
.signin-register { margin: 2rem 0 .5rem; padding-top: 1.5rem; border-top: 1px solid var(--line); font-family: var(--serif); font-size: 1rem; }
.signin-resend { margin: 0; color: var(--muted); font-size: .62rem; }
.signin-store-link { grid-area: store; align-self: end; width: max-content; font-size: .65rem; font-weight: 700; text-decoration: none; text-transform: uppercase; }
.signin-footer { grid-area: footer; align-self: end; justify-self: end; color: var(--muted); font-size: .55rem; letter-spacing: .08em; text-transform: uppercase; }
.auth-page--compact .signin-story { max-width: 530px; }
.auth-page--compact .signin-panel { width: 100%; max-width: 540px; justify-self: end; }
.auth-page--register .signin-panel { padding-block: clamp(1.75rem,3vw,3rem); }
.auth-page--register .signin-panel header { margin-bottom: 1.5rem; }
.auth-page--register .signin-form { gap: .9rem; }
.auth-page--register .signin-form input[type=email],.auth-page--register .signin-form input[type=password],.auth-page--register .signin-form input[type=text] { min-height: 50px; }
.auth-state-mark { display: grid; width: 54px; height: 54px; margin-bottom: 2rem; place-items: center; color: white; background: var(--pine); border-radius: 50%; font-family: var(--serif); font-size: 1.25rem; }
.auth-state-mark--error { color: #9d403a; background: #f6dfdb; }
.auth-primary-link { display: flex; min-height: 58px; align-items: center; justify-content: space-between; padding: 0 1.25rem; color: white; background: var(--pine); font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.auth-primary-link:hover { background: #205d4d; }
.auth-primary-link b { font-size: 1.1rem; font-weight: 400; }
.auth-result-panel header p { max-width: 370px; line-height: 1.65; }
@media (max-width: 900px) {
    .signin-page { grid-template-columns: 1fr; grid-template-rows: auto; grid-template-areas: "brand" "story" "panel" "store" "footer"; gap: 2rem; padding: 1.5rem 1.25rem 2rem; }
    .signin-story { padding: 1.5rem 0 0; }
    .signin-story h1 { font-size: clamp(4rem,20vw,7rem); }
    .signin-panel { width: min(100%,580px); padding: 2rem 1.35rem; }
    .signin-store-link { margin-top: 1rem; }
    .signin-footer { justify-self: start; }
}
.legal-page ul, .legal-page ol { padding-left: 1.4rem; }
.legal-page .legal-updated { color: var(--muted); font-size: .8rem; margin-bottom: 2rem; }
.legal-page .legal-placeholder-notice { padding: 1rem 1.25rem; margin-bottom: 2.5rem; background: #fbecd4; border-radius: 4px; font-size: .85rem; color: #8a5a10; }
.product-back-in-stock { margin: 1rem 0; padding: 1.1rem; background: #f6f0e5; border: 1px solid rgba(23,63,53,.16); }
.product-back-in-stock strong { display: block; margin-bottom: .65rem; color: var(--pine); font-family: var(--sans); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.product-back-in-stock div { display: grid; grid-template-columns: 1fr auto; }
.product-back-in-stock input { min-width: 0; padding: .85rem; border: 1px solid rgba(23,63,53,.25); }
.product-back-in-stock button { padding: .85rem 1.15rem; color: white; background: var(--pine); border: 0; cursor: pointer; }
