/* MXA Studio: woodland colour, tactile paper and product-led editorial layouts. */
:root { --paper: #f3ecdd; --ink: #243b2e; --olive: #626b4e; --muted: #61665c; --line: #d6cbb5; --dark: #132b22; --copper: #a8865f; --forest: #132b22; --ivory: #f6efdf; --brass: #c1a16f; }
body { background: radial-gradient(ellipse at 90% 15%, #dfd7c666, transparent 45%), var(--paper); }
body::after { content: ''; position: fixed; inset: 0; z-index: 100; pointer-events: none; background: url('/assets/paper-grain.svg') repeat; background-size: 200px; opacity: .038; }
.section { padding-block: 88px; }
.eyebrow { color: #706b53; letter-spacing: .14em; }
.button, .shop-primary { border-radius: 2px; }
.header { top: 0; height: 88px; color: var(--ivory); background: linear-gradient(180deg, #10271ebd, #10271e00); border-bottom-color: transparent; }
.header.is-scrolled { top: 0; color: var(--ivory); background: #132b22f5; border-bottom-color: #c1a16f38; box-shadow: 0 6px 25px #10271e1a; backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
.header .brand, .footer-brand { align-items: center; gap: 12px; line-height: 1; }
.header .brand { font-size: 34px; }
.header .brand > span, .footer-brand > span { display: grid; align-content: center; gap: 5px; line-height: .9; }
.header .brand img, .footer-brand img { display: block; width: 44px; height: 44px; flex: 0 0 44px; object-fit: cover; object-position: center; border: 1px solid #c1a16f45; transform: none; }
.header .brand-small, .footer-brand .brand-small { margin: 0; font-size: 8px; line-height: 1; text-align: center; letter-spacing: .36em; text-indent: .36em; }
.header .nav-cta { border-color: #e9dec277; }
.header .nav-cta:hover { background: var(--ivory); color: var(--forest); border-color: var(--ivory); }
.header .menu-toggle { color: inherit; }
.header .menu-toggle span { background: currentColor; }
.header .bag-toggle #bag-count { border-color: #e9dec277; }
.hero { background: #1b2920; min-height: max(730px, 100svh); }
.hero::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url('/assets/contour-lines.svg') right center / 1100px auto no-repeat; opacity: .24; mix-blend-mode: screen; }
.hero-shade { background: linear-gradient(90deg, #10231bec 0%, #14261eb5 35%, #1c2a2038 67%, #18271d26), linear-gradient(0deg, #12231ddd, transparent 37%, transparent 66%, #14221c45); }
.hero-copy { max-width: 830px; padding-left: 8%; padding-top: 166px; padding-bottom: 186px; }
.hero .eyebrow { font-size: 9px; color: #cdd0b8; }
.hero h1 { font-size: clamp(78px, 7.2vw, 112px); line-height: .94; }
.hero-description { font-size: 13px; max-width: 380px; color: #d8dacf; }
.hero .button-dark { background: var(--ivory); color: var(--forest); border-color: var(--ivory); }
.hero .button-dark:hover { background: #fff6dc; border-color: #fff6dc; }
.hero-product { background: #1c3124bf; border-color: #c2b88a55; box-shadow: 0 16px 45px #0d1c1940; }
.hero-product > img { filter: saturate(.9); }
.hero-showcase { position: absolute; top: 24%; right: 7%; width: clamp(235px, 23vw, 350px); z-index: 1; }
.hero-showcase-main { display: block; position: relative; width: 100%; padding: 9px; border: 1px solid #d9d0af88; background: #e2dccb; text-align: left; box-shadow: 0 25px 80px #0d1e1b55; transform: rotate(3deg); transition: transform .5s, box-shadow .5s; }
.hero-showcase-main > img { aspect-ratio: 3/4; width: 100%; height: auto; object-fit: cover; filter: saturate(.8); }
.hero-showcase-main > span { position: absolute; inset: auto 9px 9px; padding: 32px 22px 20px 64px; color: #fff8e8; background: linear-gradient(transparent, #1b261de8); }
.hero-showcase-main small { display: block; font-size: 9px; letter-spacing: .12em; color: #e0d6b7; }
.hero-showcase-main strong { display: block; font: 500 37px/1.02 var(--serif); margin-top: 9px; }
.hero-showcase-main i { position: absolute; bottom: 24px; right: 22px; font-style: normal; font-size: 24px; }
.hero-showcase-detail { display: block; position: absolute; left: -88px; bottom: -54px; width: 42%; padding: 6px; background: #e5e0d2; border: 1px solid #d7caa8; color: #364135; box-shadow: 0 12px 40px #0c1c1855; text-align: left; transform: rotate(-7deg); transition: transform .5s; }
.hero-showcase-detail > img { width: 100%; height: auto; aspect-ratio: 4/5; object-fit: cover; filter: sepia(.18) saturate(.7); }
.hero-showcase-detail span { display: flex; align-items: center; justify-content: space-between; font-size: 6px; letter-spacing: .07em; padding: 8px 2px 3px; gap: 3px; }
.hero-showcase-detail i { font-size: 16px; font-style: normal; }
.hero-seal { display: grid; align-content: center; justify-items: center; position: absolute; width: 84px; height: 84px; right: -23px; top: -32px; border: 1px solid #d8cfaa; outline: 1px solid #d8cfaa66; outline-offset: 5px; border-radius: 50%; color: #e9e0c9; background: #2d3e2d; transform: rotate(12deg); }
.hero-seal > span { font: 500 30px/.95 var(--serif); letter-spacing: .08em; }
.hero-seal small { font: 7px/1.5 var(--sans); letter-spacing: .14em; text-align: center; margin-top: 6px; }
.hero-side { right: 2.5%; font-size: 9px; color: #d8d9c5; }
.hero-materials { display: none; }
.craft-strip { background: #1d2d23; height: 82px; border-top: 1px solid #b4a68055; border-bottom: 1px solid #b4a68033; font-size: 11px; color: #e0ddcc; letter-spacing: .055em; }
.craft-strip i { color: #b59e6c; font-size: 22px; }

.collection { position: relative; isolation: isolate; background: radial-gradient(ellipse at 80% 0, #e3d4b566, transparent 50%), var(--paper); }
.collection::before { content: ''; position: absolute; top: 0; right: 0; width: 60%; height: 670px; background: url('/assets/contour-lines.svg') right top / 950px auto no-repeat; opacity: .42; z-index: -1; pointer-events: none; }
.collection .section-heading { margin-bottom: 42px; }
.collection-intro { padding-bottom: 7px; max-width: 380px; }
.studio-label { display: inline-flex; align-items: center; gap: 8px; font-size: 8px; font-weight: 600; letter-spacing: .1em; color: #716951; margin-bottom: 19px; }
.studio-label::before { content: ''; width: 20px; height: 1px; background: var(--copper); }
.collection-intro p { font-size: 13px; line-height: 1.9; color: #61675b; }
.collection-custom-link { display: inline-flex; gap: 20px; align-items: center; min-height: 44px; font-size: 11px; border-bottom: 1px solid #b3ab92; margin-top: 7px; }
.collection-toolbar { padding: 0 0 8px; margin-bottom: 25px; }
.filters { gap: 10px; }
.filter { min-height: 44px; padding: 11px 17px; border: 1px solid #ccc3b2; border-radius: 2px; font-size: 11px; color: #696c5b; transition: background .2s, color .2s; }
.filter.active { background: #293c2e; color: #f2edde; border-color: #293c2e; }
.filter.active::after { display: none; }
.filter.active span { color: #d1c8a8; }
.filter:hover { border-color: #7f866a; }
.collection-note { font-size: 9px; color: #7c755f; }
.shop-preview-note { color: #6e6d60; font-size: 10px; margin: 0 0 27px; }
.shop-preview-note > span { border-color: #c6bdaa; background: #e8e1d1; color: #655e46; }
.product-grid { gap: 30px 24px; }
.product-card { display: flex; flex-direction: column; background: #f7f3e9; border: 1px solid #d8d0bd; border-radius: 3px; overflow: hidden; box-shadow: 0 5px 18px #524b3508; transition: box-shadow .35s, border-color .35s; }
.product-visual { aspect-ratio: 4/5; background: #d7d8c9; }
.product-visual > img { filter: saturate(.85); }
.product-tag { left: 15px; top: 15px; background: #f6efdde8; border: 1px solid #fff8e855; color: #4c4d37; font-size: 9px; padding: 6px 10px; backdrop-filter: blur(4px); }
.product-meta { margin: 20px 20px 8px; }
.product-meta h3 { font-size: 29px; min-height: 2.24em; max-width: 100%; }
.product-card > p { margin: 0 20px; max-width: none; font-size: 11px; min-height: 3.4em; line-height: 1.7; }
.shop-card-footer { margin: auto 20px 0; padding: 18px 0; border-top: 1px solid #ded6c4; display: flex; flex-direction: row; align-items: center; gap: 10px; }
.shop-card-price { font-size: 15px; font-weight: 600; color: #354333; }
.shop-card-action { font-size: 11px; min-height: 44px; border-bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; text-align: left; }
.shop-card-action::after { content: '↗'; font-size: 19px; }
.collection-bottom { border: 1px solid #d1c7b3; padding: 23px 27px; margin-top: 35px; background: #e6dfce88; font-size: 12px; }
.collection-bottom > div { gap: 30px; }
.collection-bottom a { min-height: 44px; display: inline-flex; align-items: center; border-bottom-color: #b6ac93; }

.details, .faq, .studio-copy, footer { position: relative; isolation: isolate; }
.details::before, .faq::before, .studio-copy::before, .custom::after, footer::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: url('/assets/contour-lines.svg') no-repeat; }
.details::before { background-size: 1000px auto; background-position: -250px 70%; opacity: .32; }
.faq::before { background-size: 950px auto; background-position: -170px 15%; opacity: .32; }
.studio-copy::before { background-size: 760px auto; background-position: 80% 35%; opacity: .22; mix-blend-mode: screen; }
.custom::after { background-size: 1200px auto; background-position: right top; opacity: .27; mix-blend-mode: screen; }
footer::before { background-size: 1100px auto; background-position: 70% 50%; opacity: .2; mix-blend-mode: screen; }

@media (hover: hover) and (pointer: fine) {
  .hero-showcase-main:hover { transform: rotate(1deg) translateY(-5px); box-shadow: 0 35px 80px #0d1e1b70; }
  .hero-showcase-detail:hover { transform: rotate(-3deg) translateY(-3px); }
  .product-card:hover { box-shadow: 0 18px 40px #4c462b16; border-color: #b7ad92; }
}
@media (min-width: 1600px) { .hero-copy { padding-top: 185px; max-width: 990px; } .hero-showcase { right: 10%; width: 370px; top: 22%; } }
@media (max-width: 1100px) { .hero-showcase { right: 6%; width: 245px; top: 29%; } .hero-showcase-main strong { font-size: 31px; } .hero-showcase-main i { display: none; } .hero-showcase-main small { font-size: 8px; letter-spacing: .06em; } .hero-copy { max-width: 690px; } .hero h1 { font-size: 82px; } .hero .eyebrow { font-size: 8px; } .section { padding-block: 74px; } .collection-intro { max-width: 310px; } }
@media (max-width: 900px) and (min-width: 761px) { .hero-showcase { width: 215px; top: 31%; } .hero-showcase-detail { left: -32px; bottom: -33px; width: 44%; } .hero-seal { width: 65px; height: 65px; right: -10px; top: -25px; } .hero-seal > span { font-size: 25px; } .hero-seal small { font-size: 6px; } .hero-description { max-width: 315px; } .hero h1 { font-size: 74px; } .hero-copy { padding-left: 6%; } .section-heading { gap: 30px; } .filters { gap: 8px; } .filter { padding-inline: 10px; font-size: 10px; } .product-meta { margin-inline: 15px; } .product-meta h3 { font-size: 25px; } .product-card > p, .shop-card-footer { margin-inline: 15px; } .shop-card-footer { gap: 6px; } .shop-card-action { font-size: 9px; } }
@media (max-width: 760px) {
  .header .brand { font-size: 30px; gap: 10px; }
  .header .brand img { width: 40px; height: 40px; flex-basis: 40px; }
  .header .brand-small { font-size: 7px; }
  .header .nav { color: var(--ivory); background: #132b22fa; border-bottom-color: #c1a16f45; padding: 20px 6% 26px; box-shadow: 0 15px 25px #10271e26; }
  .header .nav a { min-height: 44px; display: flex; align-items: center; }
  .section { padding-block: 62px; }
  .hero-showcase { display: none; }
  .hero::before { background-size: 870px auto; background-position: 36% 100%; opacity: .2; }
  .hero-shade { background: linear-gradient(90deg, #102218b0, #172c2055), linear-gradient(0deg, #14271ce0, transparent 48%, #1224183b); }
  .hero-copy { max-width: none; padding: 120px 6% 28px; }
  .hero h1 { font-size: clamp(49px, 13.3vw, 83px); line-height: .98; }
  .hero .eyebrow { font-size: 9px; }
  .hero-description { max-width: 365px; font-size: 13px; }
  .hero-materials { display: grid; grid-template-columns: 1fr 1fr; width: 100%; max-width: 365px; gap: 13px; margin-top: 19px; padding-top: 18px; border-top: 1px solid #d7d3b838; }
  .hero-materials figure { margin: 0; display: flex; align-items: center; gap: 10px; min-width: 0; }
  .hero-materials img { width: 42px; height: 55px; object-fit: cover; border: 2px solid #e6dfc9; filter: saturate(.8); flex-shrink: 0; }
  .hero-materials figcaption { min-width: 0; }
  .hero-materials strong { display: block; font: 500 21px/1.05 var(--serif); color: #f0ead6; }
  .hero-materials figcaption > span { display: block; font-size: 8px; letter-spacing: .08em; color: #c4c8b2; margin-top: 5px; }
  .hero-product { padding: 12px; }
  .hero-product small { color: #d7d0b4; }
  .craft-strip { height: auto; min-height: 98px; padding: 22px 6%; display: grid; grid-template-columns: 1fr 1fr; gap: 15px 20px; font-size: 10px; line-height: 1.6; letter-spacing: .025em; }
  .craft-strip i { display: none; }
  .craft-strip > span { display: flex; align-items: center; gap: 9px; }
  .craft-strip > span::before { content: ''; width: 4px; height: 4px; border: 1px solid #c3b17f; transform: rotate(45deg); flex-shrink: 0; }
  .collection::before { width: 100%; height: 480px; background-size: 650px auto; background-position: 50% top; opacity: .45; }
  .collection .section-heading { margin-bottom: 30px; }
  .collection h2 { font-size: clamp(45px, 12vw, 67px); }
  .collection-intro { max-width: 390px; padding-top: 25px; }
  .studio-label { font-size: 9px; margin-bottom: 12px; letter-spacing: .06em; }
  .collection-intro p { font-size: 13px; line-height: 1.8; }
  .collection-intro p br { display: none; }
  .collection-custom-link { font-size: 12px; }
  .collection-toolbar { margin-bottom: 21px; padding-bottom: 10px; }
  .filters { gap: 8px; }
  .filter { font-size: 11px; padding: 11px 13px; min-height: 46px; }
  .shop-preview-note { font-size: 11px; gap: 10px; margin-bottom: 23px; }
  .product-grid { gap: 20px 12px; }
  .product-visual { aspect-ratio: 3/4; }
  .product-tag { left: 8px; top: 8px; font-size: 8px; padding: 4px 6px; }
  .product-meta { margin: 13px 12px 7px; }
  .product-meta h3 { font-size: 23px; min-height: 2.3em; }
  .product-card > p { margin: 0 12px 14px; font-size: 10px; min-height: 3.4em; }
  .shop-card-footer { margin: auto 12px 0; padding: 11px 0; display: flex; flex-direction: column; align-items: flex-start; gap: 1px; }
  .shop-card-price { font-size: 14px; }
  .shop-card-action { width: 100%; font-size: 11px; min-height: 44px; gap: 5px; }
  .shop-card-action::after { font-size: 16px; }
  .collection-bottom { padding: 19px; display: block; font-size: 12px; margin-top: 28px; }
  .collection-bottom > div { gap: 24px; margin-top: 9px; flex-wrap: wrap; }
  .collection-bottom a span { margin-left: 10px; }
}
@media (max-width: 370px) {
  .hero-copy { padding-top: 112px; }
  .hero h1 { font-size: 46px; }
  .collection h2 { font-size: 44px; }
  .product-grid { grid-template-columns: 1fr; gap: 23px; }
  .product-visual { aspect-ratio: 5/6; }
  .product-tag { font-size: 10px; padding: 6px 9px; left: 12px; top: 12px; }
  .product-meta { margin: 17px 18px 8px; }
  .product-meta h3 { font-size: 29px; min-height: 0; }
  .product-card > p { margin-inline: 18px; font-size: 12px; min-height: 0; }
  .shop-card-footer { flex-direction: row; align-items: center; margin-inline: 18px; }
  .shop-card-action { width: auto; gap: 15px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) { .hero-showcase-main, .hero-showcase-detail { transition: none; } .hero-showcase-main:hover { transform: rotate(3deg); } .hero-showcase-detail:hover { transform: rotate(-7deg); } }
