:root {
  --sd-green: #244034;
  --sd-green-deep: #1c3228;
  --sd-gold: #c9ad70;
  --sd-cream: #f8f7f3;
  --sd-sand: #eeeae2;
  --sd-ink: #20392f;
  --sd-muted: #6a746c;
  --sd-line: rgba(36, 51, 44, .18);
  --sd-serif: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
  --sd-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

html { scroll-behavior: smooth; }
body { margin: 0; height: auto; min-height: 100vh; background: var(--sd-cream); color: var(--sd-ink); font-family: var(--sd-sans); }
body, button, input { -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
.sumbeldan-site, .sd-header, .sd-footer { box-sizing: border-box; }
.sumbeldan-site *, .sumbeldan-site *::before, .sumbeldan-site *::after,
.sd-header *, .sd-header *::before, .sd-header *::after,
.sd-footer *, .sd-footer *::before, .sd-footer *::after { box-sizing: inherit; }
.sumbeldan-site h1, .sumbeldan-site h2, .sumbeldan-site h3,
.sumbeldan-site p, .sd-footer p { margin: 0; }
.sumbeldan-site h1, .sumbeldan-site h2, .sumbeldan-site h3 { color: inherit; }
.sumbeldan-site a, .sd-header a, .sd-footer a { color: inherit; text-decoration: none; }
.sumbeldan-site a:hover, .sd-header a:hover, .sd-footer a:hover { text-decoration: none; }
.sumbeldan-site :focus-visible, .sd-header :focus-visible, .sd-footer :focus-visible { outline: 2px solid var(--sd-green); outline-offset: 4px; }
.sd-footer :focus-visible, .sd-hero :focus-visible, .sd-closing :focus-visible { outline-color: var(--sd-gold); }
.sd-shell { width: min(100% - 8vw, 1440px); margin-inline: auto; }
.sd-overline, .sd-section-index { display: block; font-size: .68rem; font-weight: 600; line-height: 1.5; letter-spacing: .16em; text-transform: uppercase; }
.sd-section-index { color: var(--sd-green); }

/* Site chrome */
.sd-skip-link { position: fixed; z-index: 100; top: -80px; left: 20px; padding: 12px 18px; background: var(--sd-cream); color: var(--sd-ink); }
.sd-skip-link:focus { top: 12px; }
.sd-header { position: sticky; z-index: 50; top: 0; width: 100%; height: 60px; min-height: 60px; background: var(--sd-cream); color: var(--sd-ink); border-bottom: 1px solid rgba(36, 51, 44, .12); transition: transform .32s ease; }
.sd-header.is-scrolled { box-shadow: none; }
.sd-header.is-hidden { transform: translateY(calc(-100% - 1px)); }
.sd-header.is-hidden:has(:focus-visible) { transform: none; }
.sd-header-inner { width: min(100% - 8vw, 1680px); height: 100%; margin-inline: auto; display: grid; grid-template-columns: 190px minmax(0, 1fr) auto; align-items: center; gap: clamp(24px, 3vw, 52px); position: relative; top: -4px; }
.sd-wordmark { display: block; width: clamp(150px, 13vw, 188px); line-height: 1; }
.sd-wordmark img { display: block; width: 100%; height: auto; }
.sd-header .sd-wordmark { position: relative; top: 2px; }
.sd-line-icon { display: block; width: 24px; height: 24px; flex: 0 0 24px; pointer-events: none; }
.sd-header-utilities { width: min(100%, 416px); min-width: 0; display: flex; align-items: center; justify-self: center; gap: 24px; }
.sd-header-search { min-width: 0; flex: 1; display: flex; align-items: center; height: 42px; border-bottom: 1px solid rgba(36, 51, 44, .3); transition: border-color .2s ease; }
.sd-header-search:focus-within { border-color: var(--sd-ink); }
.sd-header-search input { min-width: 0; width: 100%; height: 40px; padding: 0 8px 0 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; outline: none; color: var(--sd-ink); font: 400 .88rem/1.4 var(--sd-sans); }
.sd-header-search input::placeholder { color: #7f857e; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; opacity: 1; }
.sd-header-search button, .sd-header-icon { position: relative; width: 44px; height: 44px; flex: 0 0 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--sd-ink); cursor: pointer; transition: color .2s ease; }
.sd-header-search button { width: 36px; flex-basis: 36px; }
.sd-header-icon:hover, .sd-header-search button:hover { color: #916f43; }
.sd-header-search-toggle { display: none; }
.sd-header-actions { display: flex; align-items: center; gap: 10px; position: relative; top: 4px; }
.sd-header-count { position: absolute; top: 1px; right: 1px; min-width: 15px; height: 15px; padding-inline: 3px; border-radius: 50%; background: var(--sd-green); color: var(--sd-cream); font: 500 .6rem/15px var(--sd-sans); text-align: center; }
.sd-header-count[hidden] { display: none; }
.sd-header-side { display: flex; align-items: center; justify-content: flex-end; }
.sd-header-nav { display: flex; align-items: center; gap: clamp(20px, 2vw, 32px); position: relative; top: 4px; }
.sd-header-nav a { padding: 12px 0; font-size: .82rem; font-weight: 400; letter-spacing: .02em; white-space: nowrap; transition: color .2s ease; }
.sd-header-nav a:hover { color: #916f43; }
.sd-header-nav span { margin-left: 3px; }
.sd-mobile-nav { display: none; }
.sd-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Search and shopping panels */
.sd-utility-dialog { position: fixed; inset: 0 0 0 auto; width: 460px; max-width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; padding: 28px 32px 36px; overflow-y: auto; overscroll-behavior: contain; border: 0; background: var(--sd-cream); color: var(--sd-ink); box-shadow: -20px 0 70px rgba(20, 37, 28, .1); font-family: var(--sd-sans); box-sizing: border-box; }
.sd-utility-dialog[open] { display: flex; flex-direction: column; animation: sd-panel-enter .25s ease both; }
.sd-utility-dialog::backdrop { background: rgba(20, 34, 28, .34); }
.sd-utility-dialog *, .sd-utility-dialog *::before, .sd-utility-dialog *::after { box-sizing: border-box; }
.sd-utility-dialog [hidden] { display: none !important; }
.sd-utility-dialog a { text-decoration: none; color: inherit; }
.sd-utility-dialog :focus-visible { outline: 2px solid var(--sd-green); outline-offset: 4px; }
.sd-utility-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 22px; border-bottom: 1px solid var(--sd-line); }
.sd-utility-heading h2 { margin: 0; color: inherit; font: 400 clamp(1.8rem, 3vw, 2.4rem)/1.12 var(--sd-serif); letter-spacing: -.025em; }
.sd-utility-heading .sd-header-icon { margin-right: -10px; }
.sd-utility-empty { display: flex; flex-direction: column; align-items: flex-start; gap: 0; padding-block: clamp(40px, 9vh, 88px); }
.sd-utility-empty > .sd-line-icon { width: 40px; height: 40px; margin-bottom: 30px; stroke-width: 1; }
.sd-utility-empty h3 { margin: 0 0 16px; color: inherit; font: 400 2.05rem/1.15 var(--sd-serif); letter-spacing: -.025em; }
.sd-utility-empty p { margin: 0; color: var(--sd-muted); font-size: .9rem; line-height: 1.7; }
.sd-utility-empty .sd-button { margin-top: 30px; gap: 28px; }
.sd-utility-empty .sd-text-link { margin-top: 26px; }
.sd-utility-status { margin: 20px 0 0; color: var(--sd-muted); font-size: .76rem; line-height: 1.5; }
.sd-utility-status:empty { display: none; }
.sd-favorites-list { display: flex; flex-direction: column; }
.sd-favorite-card { display: flex; align-items: center; gap: 18px; padding: 24px 0; border-bottom: 1px solid var(--sd-line); }
.sd-favorite-image { display: block; width: 90px; height: 135px; flex: 0 0 90px; overflow: hidden; background: var(--sd-sand); }
.sd-favorite-image img { width: 100%; height: 100%; object-fit: cover; }
.sd-favorite-placeholder { display: grid; width: 100%; height: 100%; place-items: center; color: var(--sd-muted); font-size: .6rem; }
.sd-favorite-copy { min-width: 0; flex: 1; }
.sd-favorite-title { display: block; color: var(--sd-ink); font: 400 1.5rem/1.15 var(--sd-serif); overflow-wrap: anywhere; }
.sd-favorite-price { display: block; margin: 10px 0 0; color: var(--sd-muted); font-size: .82rem; }
.sd-favorite-remove { width: 40px; height: 40px; flex: 0 0 40px; display: grid; place-items: center; padding: 0; border: 0; background: transparent; color: var(--sd-green); cursor: pointer; }
.sd-favorite-remove .sd-line-icon, .sd-favorite-toggle.is-favorite .sd-line-icon { fill: currentColor; }
.sd-panel-search { display: flex; align-items: center; margin: 35px 0 32px; border-bottom: 1px solid var(--sd-ink); }
.sd-panel-search input { min-width: 0; flex: 1; height: 52px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--sd-ink); font: 400 1rem/1.4 var(--sd-sans); }
.sd-panel-search input::placeholder { color: var(--sd-muted); opacity: 1; }
@keyframes sd-panel-enter { from { opacity: 0; transform: translateX(25px); } to { opacity: 1; transform: translateX(0); } }

.sd-favorite-toggle { width: 44px; height: 44px; flex: 0 0 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; background: transparent; color: var(--sd-ink); cursor: pointer; }
.sd-favorite-toggle:hover { color: #916f43; }
.sd-favorite-toggle[hidden] { display: none; }
.sd-catalog-item-heading { position: relative; padding-right: 48px; }
.sd-catalog-item-heading .sd-favorite-toggle { position: absolute; top: -9px; right: -6px; }
.sd-product-titlebar { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 32px; }
.sd-product-titlebar .sd-favorite-toggle { margin: -6px -8px -6px 0; }
.sd-search-reset { display: block; width: max-content; margin-top: 12px; color: var(--sd-ink) !important; font: 400 .76rem/1.4 var(--sd-sans); text-decoration: underline !important; text-underline-offset: 4px; }
.sd-footer { background: var(--sd-green-deep); color: var(--sd-cream); padding: 82px 0 20px; }
.sd-footer-inner, .sd-footer-bottom { width: min(100% - 8vw, 1440px); margin-inline: auto; }
.sd-footer-inner { display: flex; justify-content: space-between; gap: 80px; padding-bottom: 96px; }
.sd-footer-brand p { margin-top: 22px; color: rgba(247, 244, 238, .66); font-family: var(--sd-serif); font-size: clamp(1.15rem, 1.8vw, 1.6rem); line-height: 1.4; }
.sd-footer-brand .sd-wordmark { width: clamp(220px, 23vw, 360px); }
.sd-footer-links { display: flex; gap: clamp(70px, 9vw, 170px); }
.sd-footer-links > div { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.sd-footer-heading { margin-bottom: 12px; color: var(--sd-gold); font-size: .66rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.sd-footer-links a { font-size: .92rem; transition: color .2s ease; }
.sd-footer-links a:hover { color: var(--sd-gold); }
.sd-footer-bottom { display: flex; justify-content: space-between; padding-top: 20px; border-top: 1px solid rgba(247, 244, 238, .2); color: rgba(247, 244, 238, .58); font-size: .69rem; letter-spacing: .08em; text-transform: uppercase; }
.sd-platform-credit { letter-spacing: .02em; text-transform: none; }
.sd-platform-credit a { color: var(--sd-cream); text-decoration: underline; text-underline-offset: 3px; transition: color .2s ease; }
.sd-platform-credit a:hover { color: var(--sd-gold); text-decoration: underline; }

/* Shared controls */
.sd-button { min-height: 54px; width: max-content; max-width: 100%; display: inline-flex; align-items: center; justify-content: space-between; gap: 42px; padding: 16px 20px; border: 1px solid transparent; font-size: .69rem; font-weight: 600; letter-spacing: .14em; line-height: 1.2; text-transform: uppercase; transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease; }
.sd-button:hover { transform: translateY(-2px); }
.sd-button span, .sd-text-link span { font-size: 1.05rem; line-height: .5; }
.sd-button--light { background: var(--sd-cream); color: var(--sd-green-deep) !important; }
.sd-button--light:hover { background: var(--sd-gold); }
.sd-button--dark { background: var(--sd-green); color: var(--sd-cream) !important; }
.sd-button--dark:hover { background: var(--sd-green-deep); }
.sd-button--outline { border-color: var(--sd-green); color: var(--sd-green) !important; }
.sd-button--outline:hover { background: var(--sd-green); color: var(--sd-cream) !important; }
.sd-text-link { width: max-content; max-width: 100%; display: inline-flex; align-items: center; gap: 35px; padding-bottom: 8px; border-bottom: 1px solid currentColor; color: var(--sd-green) !important; font-size: .7rem; font-weight: 600; letter-spacing: .13em; line-height: 1.3; text-transform: uppercase; transition: gap .2s ease, color .2s ease; }
.sd-text-link:hover { gap: 43px; color: var(--sd-ink) !important; }

/* The portrait campaign photo stays beside the copy on wide screens. */
.sd-hero { position: relative; min-height: max(680px, calc(100svh - 82px)); display: flex; overflow: hidden; isolation: isolate; color: var(--sd-cream); background: var(--sd-green); }
.sd-hero-media, .sd-hero-shade { position: absolute; inset: 0 0 0 48%; }
.sd-hero-media { overflow: hidden; background: #d8d1c7; }
.sd-hero-media > img, .sd-promotion-media > img, .sd-story-media > img, .sd-news-media > img { width: 100%; height: 100%; object-fit: cover; }
.sd-hero-media > img { object-position: center 62%; transform: scale(calc(1 + var(--sd-hero-progress, 0) * .07)); }
.sd-hero-shade { background: linear-gradient(0deg, rgba(25, 46, 38, .25), transparent 35%); pointer-events: none; }
.sd-hero-content { position: relative; z-index: 1; min-height: inherit; display: flex; flex-direction: column; justify-content: space-between; padding-top: 28px; padding-bottom: 54px; }
.sd-hero-topline, .sd-hero-bottom { display: flex; justify-content: space-between; align-items: flex-start; gap: 32px; }
.sd-hero-topline { font-size: .66rem; font-weight: 600; letter-spacing: .16em; line-height: 1.4; text-transform: uppercase; }
.sd-hero-topline span:last-child { text-shadow: 0 1px 8px rgba(25, 46, 38, .5); }
.sd-hero-bottom { width: 43%; flex-direction: column; align-items: flex-start; gap: 30px; }
.sd-hero-copy { width: 100%; }
.sd-hero .sd-section-index { color: var(--sd-gold); }
.sd-hero h1 { margin: 19px 0 24px; font-family: var(--sd-serif); font-size: clamp(3.65rem, 5.25vw, 6.9rem); font-weight: 400; letter-spacing: -.055em; line-height: .93; }
.sd-hero p { max-width: 430px; margin-bottom: 38px; font-family: var(--sd-serif); font-size: clamp(1.15rem, 1.45vw, 1.55rem); line-height: 1.35; }
.sd-scroll-cue { display: flex; flex-direction: row; align-items: center; gap: 18px; flex-shrink: 0; margin-bottom: 3px; font-size: .6rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.sd-scroll-line { width: 64px; height: 1px; display: block; background: var(--sd-cream); opacity: .7; }

/* Media placeholders are visual scaffolding until client photos are supplied. */
.sd-visual-placeholder { position: relative; width: 100%; height: 100%; min-height: 300px; overflow: hidden; isolation: isolate; background: radial-gradient(circle at 67% 30%, rgba(224, 205, 159, .43), transparent 36%), linear-gradient(135deg, #b3a184, #d8c9b1 48%, #887969); }
.sd-visual-placeholder::before { content: ""; position: absolute; z-index: -1; width: min(48vw, 690px); height: min(58vw, 790px); right: 10%; bottom: -38%; border: 1px solid rgba(255, 250, 237, .5); border-radius: 47% 53% 49% 51%; transform: rotate(-27deg); }
.sd-visual-placeholder::after { content: ""; position: absolute; z-index: -1; width: min(43vw, 610px); height: min(59vw, 820px); right: 18%; bottom: -42%; border-radius: 50% 50% 9% 9%; background: linear-gradient(105deg, #c4ab8f, #776a55 54%, #a78e72); box-shadow: -30px 25px 70px rgba(30, 40, 29, .2), inset 1px 1px 0 rgba(255, 250, 237, .4); transform: rotate(-24deg); }
.sd-visual-orbit { position: absolute; width: 45%; height: 75%; right: 17%; top: -16%; border: 2px solid rgba(255, 248, 229, .55); border-radius: 50%; transform: rotate(-30deg); }
.sd-visual-fold { position: absolute; width: 70%; height: 35%; right: -12%; bottom: -8%; background: linear-gradient(100deg, rgba(240, 221, 187, .35), rgba(113, 98, 74, .22)); transform: rotate(-28deg); filter: blur(2px); }
.sd-placeholder-note { position: absolute; right: 4vw; bottom: 34px; color: rgba(255, 250, 236, .8); font-size: .61rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }

/* Editorial sections */
.sd-intro { min-height: 440px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding-top: 70px; padding-bottom: 80px; }
.sd-intro .sd-overline { margin-bottom: 34px; color: var(--sd-green); }
.sd-intro p { max-width: 1120px; font-family: var(--sd-serif); font-size: clamp(2.6rem, 5.6vw, 6rem); line-height: 1.09; letter-spacing: -.045em; }
.sd-intro em { color: var(--sd-green); font-weight: 400; }
.sd-intro-line { display: block; width: 135px; height: 1px; margin-top: 52px; background: var(--sd-gold); }
.sd-story { display: grid; grid-template-columns: 1fr 1fr; background: var(--sd-sand); }
.sd-story-stage { position: sticky; top: 0; align-self: start; height: 100svh; min-height: 600px; }
.sd-story-media { position: relative; width: 100%; height: 100%; overflow: hidden; background: #afa18b; }
.sd-story-media > img { object-position: center 70%; transition: transform 1.2s ease, filter 1.2s ease; }
.sd-story-media::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; height: 120px; background: linear-gradient(transparent, rgba(25, 46, 38, .42)); pointer-events: none; }
.sd-story-media-label { position: absolute; z-index: 1; right: 5vw; bottom: 38px; left: 5vw; display: flex; justify-content: space-between; gap: 24px; color: var(--sd-cream); font-size: .64rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.sd-visual-placeholder--story { background: radial-gradient(circle at 50% 48%, #d7c6ac, #a99c85 70%); transition: background .7s ease; }
.sd-visual-placeholder--story::before { width: 48%; height: 77%; right: 22%; bottom: -19%; border-color: rgba(255, 250, 235, .65); border-radius: 45% 45% 4% 4%; transform: rotate(15deg); }
.sd-visual-placeholder--story::after { width: 50%; height: 70%; right: 19%; bottom: -25%; background: linear-gradient(110deg, #cebaa2, #877861 60%, #b59e82); transform: rotate(15deg); transition: transform 1s ease; }
.sd-story-thread { position: absolute; z-index: 2; width: 52%; height: 52%; top: 26%; left: 26%; border: 2px solid rgba(245, 226, 190, .7); border-radius: 50% 8% 50% 8%; transform: rotate(35deg); transition: transform .9s ease, opacity .9s ease; }
.sd-story-thread--two { top: 32%; left: 31%; width: 42%; height: 42%; transform: rotate(-31deg); opacity: .55; }
.sd-story[data-active-step="2"] .sd-story-media > img { transform: scale(1.24); filter: saturate(1.12); }
.sd-story[data-active-step="3"] .sd-story-media > img { transform: scale(1.12) translateX(-5%); }
.sd-story[data-active-step="2"] .sd-visual-placeholder--story::after { transform: rotate(-5deg) scale(1.12); }
.sd-story[data-active-step="3"] .sd-visual-placeholder--story::after { transform: rotate(32deg) scale(.9); }
.sd-story[data-active-step="2"] .sd-story-thread--one { transform: rotate(78deg) scale(1.15); }
.sd-story[data-active-step="3"] .sd-story-thread--one { transform: rotate(-12deg) scale(.85); }
.sd-story[data-active-step="2"] .sd-story-thread--two { transform: rotate(-61deg) scale(1.2); opacity: .8; }
.sd-story[data-active-step="3"] .sd-story-thread--two { transform: rotate(40deg) scale(.8); opacity: .35; }
.sd-story-steps { display: flex; flex-direction: column; }
.sd-story-step { min-height: max(600px, 100svh); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 8vw 8vw 8vw 9vw; border-bottom: 1px solid rgba(36, 51, 44, .1); }
.sd-story-step .sd-section-index { margin-bottom: 32px; }
.sd-story-step h2 { max-width: 600px; font-family: var(--sd-serif); font-size: clamp(3.25rem, 5.2vw, 6.3rem); font-weight: 400; letter-spacing: -.05em; line-height: 1; }
.sd-story-step p { max-width: 440px; margin-top: 36px; color: #4c5d52; font-size: clamp(1rem, 1.2vw, 1.16rem); line-height: 1.75; }
.sd-story-step .sd-text-link { margin-top: 42px; }

.sd-featured { padding-top: 140px; padding-bottom: 155px; }
.sd-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 28px; margin-bottom: 42px; }
.sd-section-head .sd-section-index { margin-bottom: 20px; }
.sd-section-head h2 { font-family: var(--sd-serif); font-size: clamp(3rem, 5.5vw, 6rem); font-weight: 400; letter-spacing: -.05em; line-height: 1; }
.sd-section-head > .sd-text-link { margin-bottom: 6px; }
.sd-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.5vw, 40px); }
.sd-product-card { min-width: 0; display: block; }
.sd-product-card-media { position: relative; display: block; aspect-ratio: 2 / 3; overflow: hidden; background: #e7ded2; }
.sd-product-card-media > img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.sd-product-card:hover .sd-product-card-media > img { transform: scale(1.045); }
.sd-product-card-placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; background: radial-gradient(circle at 70% 28%, #f1e8db, transparent 32%), linear-gradient(145deg, #ddd0bf, #bbaa94); }
.sd-product-card-placeholder::before { content: ""; position: absolute; width: 50%; height: 52%; top: 29%; left: 25%; border-radius: 50% 50% 8% 8%; background: linear-gradient(130deg, #d0baa0, #917a63); box-shadow: 15px 18px 30px rgba(70, 62, 50, .18); transform: rotate(-10deg); transition: transform .5s ease; }
.sd-product-card:hover .sd-product-card-placeholder::before { transform: rotate(-4deg) translateY(-7px); }
.sd-placeholder-arc { position: absolute; width: 44%; height: 40%; top: 11%; left: 29%; border: 2px solid rgba(106, 86, 59, .48); border-radius: 50% 50% 0 0; transform: rotate(-10deg); }
.sd-placeholder-caption { position: absolute; bottom: 20px; left: 20px; color: rgba(53, 57, 41, .65); font-family: var(--sd-serif); font-size: 1rem; letter-spacing: -.03em; }
.sd-card-arrow { position: absolute; top: 18px; right: 18px; width: 35px; height: 35px; display: grid; place-items: center; border-radius: 50%; background: var(--sd-cream); color: var(--sd-green); font-size: 1.15rem; opacity: 0; transform: translateY(7px); transition: opacity .25s ease, transform .25s ease; }
.sd-product-card-unavailable { position: absolute; top: 18px; left: 18px; padding: 9px 12px; background: rgba(247, 244, 238, .94); color: var(--sd-ink); font-size: .62rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.sd-product-card-illustration { position: absolute; bottom: 16px; left: 16px; padding: 8px 10px; background: rgba(247, 244, 238, .94); color: var(--sd-green); font-size: .62rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.sd-product-card:hover .sd-card-arrow, .sd-product-card:focus-visible .sd-card-arrow { opacity: 1; transform: translateY(0); }
.sd-product-card-meta { display: flex; justify-content: space-between; align-items: flex-end; gap: 14px; padding-top: 20px; }
.sd-product-card-title-wrap { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.sd-product-card .sd-overline { color: var(--sd-muted); font-size: .6rem; }
.sd-product-card-title { display: block; font-family: var(--sd-serif); font-size: clamp(1.32rem, 2vw, 2rem); line-height: 1.1; }
.sd-product-card-colors { color: var(--sd-muted); font-size: .72rem; line-height: 1.4; }
.sd-product-card-price { flex-shrink: 0; padding-bottom: 3px; font-size: .82rem; white-space: nowrap; }
.sd-collection-empty { min-height: 420px; display: flex; align-items: center; justify-content: space-evenly; gap: 50px; padding: 50px; overflow: hidden; background: var(--sd-sand); }
.sd-empty-shape { width: 300px; height: 300px; flex-shrink: 0; border: 1px solid var(--sd-gold); border-radius: 50% 50% 5% 5%; transform: rotate(-24deg); box-shadow: inset 30px -20px 0 rgba(201, 173, 112, .16), 15px 25px 0 rgba(42, 80, 64, .06); }
.sd-collection-empty > div { max-width: 400px; }
.sd-collection-empty .sd-overline { color: var(--sd-green); }
.sd-collection-empty p { margin: 16px 0 24px; font-family: var(--sd-serif); font-size: clamp(1.7rem, 2.8vw, 3rem); line-height: 1.15; }

.sd-promotion { background: #e6dacb; }
.sd-promotion-inner { min-height: 640px; display: grid; grid-template-columns: 1fr 1fr; }
.sd-promotion-copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 80px 7vw 80px 0; }
.sd-promotion-copy h2 { max-width: 570px; margin-top: 25px; font-family: var(--sd-serif); font-size: clamp(3.4rem, 5.5vw, 6.5rem); font-weight: 400; letter-spacing: -.05em; line-height: .98; }
.sd-promotion-copy p { max-width: 400px; margin: 29px 0 36px; color: #57665a; font-size: 1.02rem; line-height: 1.7; }
.sd-promotion-media { min-height: 520px; overflow: hidden; background: #c9b99e; }
.sd-visual-placeholder--promo { background: linear-gradient(130deg, #8e9b83, #3d6655 60%, #204231); }
.sd-visual-placeholder--promo::after { right: 22%; bottom: -33%; background: linear-gradient(110deg, #9aa58e, #365943 50%, #bdab83); }
.sd-visual-placeholder--promo .sd-visual-orbit { right: 24%; border-color: rgba(233, 223, 210, .55); }

.sd-journal { padding-top: 140px; padding-bottom: 140px; }
.sd-news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.5vw, 40px); }
.sd-news-card { min-width: 0; display: block; }
.sd-news-media { display: block; aspect-ratio: 1.28; overflow: hidden; background: var(--sd-sand); }
.sd-news-media > img { transition: transform .5s ease; }
.sd-news-card:hover .sd-news-media > img { transform: scale(1.04); }
.sd-news-placeholder { width: 100%; height: 100%; display: grid; place-items: center; background: repeating-radial-gradient(circle at 50% 50%, transparent 0 34px, rgba(42, 80, 64, .1) 35px 36px), var(--sd-sand); }
.sd-news-placeholder span { color: var(--sd-green); font-family: var(--sd-serif); font-size: clamp(1.8rem, 3vw, 3.5rem); line-height: 1.05; text-align: center; }
.sd-news-content { display: flex; flex-direction: column; align-items: flex-start; padding-top: 20px; }
.sd-news-content .sd-overline { margin-bottom: 14px; color: var(--sd-muted); }
.sd-news-title { font-family: var(--sd-serif); font-size: clamp(1.5rem, 2.1vw, 2.2rem); line-height: 1.13; }
.sd-news-summary { margin-top: 14px; color: var(--sd-muted); font-size: .9rem; line-height: 1.6; }
.sd-news-more { display: inline-flex; gap: 20px; margin-top: 24px; padding-bottom: 5px; border-bottom: 1px solid var(--sd-green); color: var(--sd-green); font-size: .68rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.sd-journal-empty { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; min-height: 210px; padding: 60px 0; border-top: 1px solid var(--sd-line); }
.sd-journal-empty p { max-width: 600px; font-family: var(--sd-serif); font-size: clamp(1.8rem, 3vw, 3rem); line-height: 1.12; }
.sd-closing { padding: 140px 0 150px; background: var(--sd-green); color: var(--sd-cream); }
.sd-closing .sd-overline { color: var(--sd-gold); }
.sd-closing h2 { margin: 25px 0 42px; font-family: var(--sd-serif); font-size: clamp(4rem, 8vw, 9rem); font-weight: 400; letter-spacing: -.055em; line-height: .95; }
.sd-closing em { color: var(--sd-gold); font-weight: 400; }

/* Catalog */
.sd-page-hero { padding-top: 40px; padding-bottom: 80px; }
.sd-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; color: var(--sd-muted); font-size: .67rem; letter-spacing: .1em; line-height: 1.5; text-transform: uppercase; }
.sd-breadcrumbs a:hover { color: var(--sd-green); text-decoration: underline; }
.sd-breadcrumbs span[aria-hidden] { color: var(--sd-gold); }
.sd-page-hero-content { display: flex; justify-content: space-between; align-items: flex-end; gap: 50px; padding-top: 92px; }
.sd-page-hero-content h1 { max-width: 850px; margin-top: 20px; font-family: var(--sd-serif); font-size: clamp(4rem, 7.5vw, 8.5rem); font-weight: 400; letter-spacing: -.055em; line-height: .94; }
.sd-page-hero-content > p { max-width: 265px; padding-bottom: 13px; color: var(--sd-muted); font-size: .95rem; line-height: 1.6; }
.sd-catalog { padding-bottom: 150px; }
.sd-catalog-toolbar { min-height: 70px; display: flex; align-items: center; margin-bottom: 0; border-top: 1px solid var(--sd-line); border-bottom: 1px solid var(--sd-line); }
.sd-category-list { display: flex; flex-wrap: wrap; gap: 26px; }
.sd-category-list a { padding: 22px 0; color: var(--sd-muted); font-size: .69rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.sd-category-list a[aria-current], .sd-category-list a:hover { color: var(--sd-green); }
.sd-category-list a[aria-current] { box-shadow: inset 0 -2px var(--sd-green); }
.sd-catalog-count { flex-shrink: 0; color: var(--sd-muted); font-size: .73rem; }
.sd-catalog-options { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 18px 0 26px; }
.sd-catalog-view-switch { position: relative; display: inline-flex; flex: 0 0 auto; gap: 3px; padding: 4px; border: 1px solid var(--sd-line); border-radius: 10px; background: #eeeae2; }
.sd-catalog-view-switch button { position: relative; width: 46px; min-width: 46px; height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 7px; background: transparent; color: var(--sd-muted); cursor: pointer; transition: background .2s ease, color .2s ease, box-shadow .2s ease; }
.sd-catalog-view-switch button:hover { background: var(--sd-sand); color: var(--sd-ink); }
.sd-catalog-view-switch button[aria-pressed="true"], .sd-catalog-view-switch button[aria-pressed="true"]:hover { background: var(--sd-green); color: var(--sd-cream); box-shadow: 0 2px 5px rgba(25, 46, 38, .15); }
.sd-catalog-view-switch button::after { content: attr(data-tooltip); position: absolute; z-index: 3; top: calc(100% + 9px); left: 50%; width: max-content; padding: 7px 10px; border-radius: 4px; background: var(--sd-green-deep); color: var(--sd-cream); font: 500 .7rem/1.2 var(--sd-sans); white-space: nowrap; pointer-events: none; opacity: 0; transform: translate(-50%, -4px); transition: opacity .16s ease, transform .16s ease; }
.sd-catalog-view-switch button:focus-visible::after { opacity: 1; transform: translate(-50%, 0); }
@media (hover: hover) { .sd-catalog-view-switch button:hover::after { opacity: 1; transform: translate(-50%, 0); } }
.sd-catalog-view-icon { width: 28px; height: 24px; flex: 0 0 28px; display: block; }
.sd-catalog-items { width: min(100%, 1250px); display: grid; grid-template-columns: minmax(0, 1fr); margin-inline: auto; }
.sd-catalog-item { min-width: 0; display: grid; grid-template-columns: minmax(0, 36%) minmax(0, 1fr); gap: clamp(28px, 4.2vw, 60px); align-items: center; padding: clamp(30px, 3.3vw, 48px) 0; border-top: 1px solid var(--sd-line); }
.sd-catalog-item:first-child { border-top: 0; padding-top: 0; }
.sd-catalog-item:nth-child(even) { grid-template-columns: minmax(0, 1fr) minmax(0, 36%); }
.sd-catalog-item:nth-child(even) .sd-catalog-item-media { order: 2; }
.sd-catalog-item:nth-child(even) .sd-catalog-item-copy { order: 1; }
.sd-catalog-item [hidden] { display: none !important; }
.sd-catalog-item-media { position: relative; min-width: 0; display: block; aspect-ratio: 2 / 3; overflow: hidden; background: #e7ded2; }
.sd-catalog-item-media > img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.sd-catalog-item-media:hover > img { transform: scale(1.035); }
.sd-catalog-item-media:hover .sd-card-arrow, .sd-catalog-item-media:focus-visible .sd-card-arrow { opacity: 1; transform: translateY(0); }
.sd-catalog-item-copy { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.sd-catalog-item-heading { width: 100%; }
.sd-catalog-item-heading .sd-overline { margin-bottom: 10px; color: var(--sd-green); }
.sd-catalog-item-heading h2 { font-family: var(--sd-serif); font-size: clamp(2.8rem, 4.5vw, 5rem); font-weight: 400; letter-spacing: -.055em; line-height: .98; }
.sd-catalog-item-heading h2 a:hover { color: var(--sd-green); }
.sd-catalog-item-price { display: block; margin-top: 14px; color: var(--sd-green); font-size: clamp(1.1rem, 1.5vw, 1.35rem); line-height: 1.3; }
.sd-catalog-item-details { width: 100%; }
.sd-catalog-item-description { max-width: 560px; margin-top: 20px !important; color: #4f6156; font-size: clamp(.92rem, 1.06vw, 1.03rem); line-height: 1.6; white-space: pre-line; }
.sd-catalog-item-specs { display: grid; gap: 7px; margin: 14px 0 0; }
.sd-catalog-item-specs > div { display: flex; gap: 12px; color: var(--sd-muted); font-size: .8rem; line-height: 1.5; }
.sd-catalog-item-specs dt { min-width: 88px; color: var(--sd-ink); }
.sd-catalog-item-specs dd { margin: 0; }
.sd-catalog-item-colors { max-width: 100%; margin-top: 20px; }
.sd-catalog-item-color-heading { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 11px; color: var(--sd-muted); font-size: .73rem; }
.sd-catalog-item-color-heading span:last-child { color: var(--sd-green); font-weight: 600; }
.sd-catalog-item-color-list { max-width: 100%; display: flex; gap: 8px; overflow-x: auto; padding: 3px 3px 9px; scrollbar-width: thin; }
.sd-catalog-item-color { min-width: 78px; max-width: 92px; flex: 0 0 auto; display: flex; flex-direction: column; gap: 5px; padding: 5px; border: 1px solid var(--sd-line); border-radius: 4px; background: transparent; color: var(--sd-ink); font: 500 .68rem/1.25 var(--sd-sans); text-align: left; cursor: pointer; transition: border-color .2s ease, background .2s ease; }
.sd-catalog-item-color:hover { border-color: var(--sd-green); }
.sd-catalog-item-color[aria-pressed="true"] { border-color: var(--sd-green); background: #e9efe7; box-shadow: 0 0 0 1px var(--sd-green); }
.sd-catalog-item-color[data-variant-available="0"] { color: var(--sd-muted); }
.sd-catalog-item-color-thumb { position: relative; width: 100%; display: block; aspect-ratio: 1.17; overflow: hidden; background: var(--sd-sand); }
.sd-catalog-item-color-thumb > img { width: 100%; height: 100%; object-fit: cover; }
.sd-catalog-item-color-fallback { position: absolute; inset: 0; background: linear-gradient(145deg, #ddd0bf, #bbaa94); }
.sd-catalog-item-stock { display: flex; align-items: center; gap: 8px; margin-top: 14px !important; color: var(--sd-green); font-size: .75rem; }
.sd-catalog-item-stock::before { content: ""; width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: currentColor; }
.sd-catalog-item-stock[data-available="0"] { color: #98665b; }
.sd-catalog-item-link { display: inline-flex; justify-content: space-between; align-items: center; gap: 38px; margin-top: 18px; padding-bottom: 9px; border-bottom: 1px solid var(--sd-green); color: var(--sd-green); font-size: .71rem; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.sd-catalog-item-link:hover { color: var(--sd-ink); border-color: var(--sd-ink); }
.sd-catalog-item-link span { font-size: 1.12rem; line-height: .8; }
.sd-catalog[data-catalog-view="compact"] .sd-catalog-items { width: min(100%, 1080px); grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 42px 20px; }
.sd-catalog[data-catalog-view="compact"] .sd-catalog-item { display: block; padding: 0; border: 0; }
.sd-catalog[data-catalog-view="compact"] .sd-catalog-item-media { aspect-ratio: 2 / 3; }
.sd-catalog[data-catalog-view="compact"] .sd-catalog-item-copy { display: block; padding-top: 14px; }
.sd-catalog[data-catalog-view="compact"] .sd-catalog-item-heading .sd-overline { margin-bottom: 6px; color: var(--sd-muted); font-size: .6rem; }
.sd-catalog[data-catalog-view="compact"] .sd-catalog-item-heading h2 { font-size: clamp(1.35rem, 1.8vw, 2rem); letter-spacing: -.035em; }
.sd-catalog[data-catalog-view="compact"] .sd-catalog-item-price { margin-top: 5px; font-size: .85rem; }
.sd-catalog[data-catalog-view="compact"] .sd-catalog-item-details { display: none; }
.sd-catalog-empty { min-height: 590px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 70px 20px; text-align: center; }
.sd-catalog-empty-art { position: relative; width: 145px; height: 155px; margin-bottom: 45px; border: 1px solid rgba(42, 80, 64, .4); border-radius: 50% 50% 8% 8%; transform: rotate(-16deg); }
.sd-catalog-empty-art span { position: absolute; inset: 15px; border: 1px solid var(--sd-gold); border-radius: inherit; }
.sd-catalog-empty .sd-overline { color: var(--sd-green); }
.sd-catalog-empty h2 { max-width: 640px; margin: 16px 0 14px; font-family: var(--sd-serif); font-size: clamp(2.6rem, 4vw, 4.5rem); font-weight: 400; line-height: 1; }
.sd-catalog-empty p { max-width: 440px; color: var(--sd-muted); line-height: 1.6; }
.sd-catalog-empty .sd-text-link { margin-top: 30px; }

/* Product */
.sd-product-page { padding-top: 40px; padding-bottom: 150px; }
.sd-product-layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(340px, 1fr); gap: clamp(36px, 5.5vw, 96px); padding-top: 42px; }
.sd-product-gallery { min-width: 0; }
.sd-product-main-image { position: relative; width: min(100%, 420px); aspect-ratio: 2 / 3; margin-inline: auto; overflow: hidden; background: transparent; }
.sd-product-image-open { width: 100%; height: 100%; display: block; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.sd-product-image-open > img { width: 100%; height: 100%; object-fit: contain; }
.sd-product-zoom-cue { position: absolute; right: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 7px; padding: 9px 11px; background: rgba(247, 244, 238, .93); color: var(--sd-green); font-size: .65rem; font-weight: 600; letter-spacing: .04em; }
.sd-product-zoom-cue > span { font-size: .75rem; }
.sd-gallery-arrow { position: absolute; z-index: 2; top: 50%; width: 42px; height: 42px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(36, 64, 52, .18); border-radius: 50%; background: rgba(247, 244, 238, .92); color: var(--sd-green); font-size: 1.25rem; cursor: pointer; transform: translateY(-50%); transition: background .2s ease, color .2s ease; }
.sd-gallery-arrow:hover { background: var(--sd-green); color: var(--sd-cream); }
.sd-gallery-arrow--prev { left: 12px; }
.sd-gallery-arrow--next { right: 12px; }
.sd-gallery-count { position: absolute; top: 12px; right: 12px; padding: 8px 10px; background: rgba(247, 244, 238, .9); color: var(--sd-green); font-size: .65rem; font-weight: 600; letter-spacing: .08em; pointer-events: none; }
.sd-visual-placeholder--product { background: linear-gradient(145deg, #eee3d5, #b8aa93); }
.sd-visual-placeholder--product::after { right: 25%; bottom: -20%; }
.sd-product-thumbnails { width: min(100%, 420px); display: flex; gap: 9px; margin: 12px auto 0; padding: 2px 0 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #9eaa9f transparent; overscroll-behavior-inline: contain; }
.sd-product-thumbnail { width: 66px; height: 99px; flex: 0 0 66px; display: block; padding: 0; overflow: hidden; border: 2px solid transparent; background: var(--sd-sand); cursor: pointer; scroll-snap-align: start; }
.sd-product-thumbnail[aria-current="true"] { border-color: var(--sd-green); box-shadow: 0 0 0 1px var(--sd-green); }
.sd-product-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.sd-product-thumbnail:hover { border-color: #9eaa9f; }
.sd-product-thumbnail[aria-current="true"]:hover { border-color: var(--sd-green); }
.sd-lightbox-open { overflow: hidden; }
.sd-product-lightbox:not([open]) { display: none; }
.sd-product-lightbox[open] { position: fixed; inset: 0; z-index: 1000; width: 100vw; max-width: none; height: 100dvh; max-height: none; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 10px; margin: 0; padding: max(16px, env(safe-area-inset-top)) clamp(16px, 3vw, 50px) max(16px, env(safe-area-inset-bottom)); overflow: hidden; border: 0; background: #17251f; color: var(--sd-cream); }
.sd-product-lightbox::backdrop { background: rgba(10, 19, 15, .92); }
.sd-lightbox-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 42px; }
.sd-lightbox-count { font-size: .72rem; font-weight: 600; letter-spacing: .14em; }
.sd-lightbox-tools { display: flex; gap: 9px; }
.sd-lightbox-tools button, .sd-lightbox-arrow { width: 42px; height: 42px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(247, 244, 238, .45); border-radius: 50%; background: rgba(23, 37, 31, .65); color: var(--sd-cream); font-family: var(--sd-sans); font-size: 1.35rem; line-height: 1; cursor: pointer; }
.sd-lightbox-tools button:hover, .sd-lightbox-arrow:hover { background: var(--sd-cream); color: var(--sd-green); }
.sd-lightbox-tools button:disabled { opacity: .3; cursor: default; }
.sd-lightbox-tools button:disabled:hover { background: rgba(23, 37, 31, .65); color: var(--sd-cream); }
.sd-lightbox-stage { position: relative; min-width: 0; min-height: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.sd-lightbox-stage > img { max-width: calc(100% - 110px); max-height: 100%; width: auto; height: auto; object-fit: contain; user-select: none; -webkit-user-drag: none; touch-action: none; cursor: zoom-in; will-change: transform; }
.sd-lightbox-stage.is-zoomed > img { cursor: grab; }
.sd-lightbox-stage.is-zoomed > img:active { cursor: grabbing; }
.sd-lightbox-arrow { position: absolute; z-index: 1; top: 50%; transform: translateY(-50%); }
.sd-lightbox-arrow--prev { left: 0; }
.sd-lightbox-arrow--next { right: 0; }
.sd-lightbox-arrow[hidden] { display: none; }
.sd-lightbox-hint { min-height: 19px; color: rgba(247, 244, 238, .65); font-size: .67rem; line-height: 1.4; text-align: center; }
.sd-lightbox-hint span:last-child { display: none; }
.sd-product-videos { margin-top: 28px; }
.sd-product-videos h2 { margin: 0 0 12px; color: var(--sd-green); font-family: var(--sd-serif); font-size: 23px; font-weight: 400; }
.sd-product-video-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.sd-product-video-card { min-width: 0; overflow: hidden; border-radius: 6px; background: #e9e2d5; }
.sd-product-video-card video { display: block; width: 100%; aspect-ratio: 9 / 16; background: #26382f; object-fit: cover; }
.sd-product-video-card span { display: block; padding: 9px 11px 11px; color: var(--sd-green); font-size: 11px; line-height: 1.4; }
.sd-product-info { align-self: start; position: sticky; top: 120px; padding-top: 13px; }
.sd-product-info h1 { margin: 20px 0 18px; font-family: var(--sd-serif); font-size: clamp(3.7rem, 5.5vw, 6.2rem); font-weight: 400; letter-spacing: -.05em; line-height: .95; }
.sd-product-price { padding-top: 8px; font-size: 1.1rem; }
.sd-product-variants { margin-top: 35px; padding-top: 27px; border-top: 1px solid var(--sd-line); }
.sd-product-variants-heading { display: flex; justify-content: space-between; gap: 15px; margin-bottom: 17px; font-size: .74rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.sd-product-variants-heading span:last-child { color: var(--sd-muted); font-weight: 400; }
.sd-product-variant-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.sd-product-variant { min-width: 0; min-height: 75px; display: flex; align-items: center; gap: 12px; padding: 8px; border: 1px solid var(--sd-line); background: transparent; color: var(--sd-ink); font: inherit; text-align: left; cursor: pointer; transition: border-color .2s ease, background .2s ease; }
.sd-product-variant:hover { border-color: var(--sd-green); }
.sd-product-variant[aria-pressed="true"] { border-color: var(--sd-green); background: #eef0e8; box-shadow: inset 0 0 0 1px var(--sd-green); }
.sd-product-variant-media { width: 50px; height: 57px; flex: 0 0 50px; display: block; overflow: hidden; background: var(--sd-sand); }
.sd-product-variant-media img { width: 100%; height: 100%; object-fit: cover; }
.sd-product-variant-fallback { display: block; width: 100%; height: 100%; background: linear-gradient(130deg, #d1bd9d, #8b765d); }
.sd-product-variant-label { min-width: 0; display: flex; flex-direction: column; gap: 5px; font-size: .78rem; line-height: 1.2; overflow-wrap: anywhere; }
.sd-product-variant-label small { color: var(--sd-muted); font-size: .66rem; line-height: 1.25; }
.sd-product-variant[data-variant-available="0"] .sd-product-variant-media img { filter: saturate(.7); }
.sd-product-stock { display: flex; align-items: center; gap: 9px; margin-top: 23px !important; color: var(--sd-green); font-size: .8rem; line-height: 1.5; }
.sd-product-stock::before { content: ""; width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: #3b8862; }
.sd-product-stock[data-available="0"] { color: var(--sd-muted); }
.sd-product-stock[data-available="0"]::before { background: #a68e6d; }
.sd-product-description { max-width: 480px; margin-top: 40px !important; color: #526357; font-size: 1.02rem; line-height: 1.8; white-space: pre-line; }
.sd-product-action { margin-top: 40px; }
.sd-product-action [hidden] { display: none !important; }
.sd-product-action-note { max-width: 340px; padding: 16px 18px; border-left: 2px solid var(--sd-gold); color: var(--sd-muted); font-size: .85rem; line-height: 1.5; }
.sd-product-details { margin: 45px 0 0; border-top: 1px solid var(--sd-line); }
.sd-product-details > div { display: grid; grid-template-columns: minmax(100px, .4fr) 1fr; gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--sd-line); font-size: .83rem; line-height: 1.5; }
.sd-product-details dt { color: var(--sd-muted); font-weight: 400; }
.sd-product-details dd { margin: 0; }
.sd-product-bottom-link { margin-top: 48px; }
.sd-product-not-found { min-height: 70svh; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding-top: 100px; padding-bottom: 100px; }
.sd-product-not-found h1 { max-width: 690px; margin: 20px 0; font-family: var(--sd-serif); font-size: clamp(3.5rem, 6vw, 7rem); font-weight: 400; line-height: 1; }
.sd-product-not-found p { margin-bottom: 34px; color: var(--sd-muted); }

/* News article */
.sd-article { padding-top: 40px; padding-bottom: 140px; }
.sd-article-head { max-width: 1000px; padding: 110px 0 65px; }
.sd-article-head h1 { margin: 21px 0 25px; font-family: var(--sd-serif); font-size: clamp(4rem, 7.4vw, 8rem); font-weight: 400; letter-spacing: -.055em; line-height: .95; }
.sd-article-head p { max-width: 620px; color: var(--sd-muted); font-family: var(--sd-serif); font-size: clamp(1.2rem, 2vw, 1.9rem); line-height: 1.4; }
.sd-article-image { width: 100%; aspect-ratio: 16 / 8.5; overflow: hidden; background: var(--sd-sand); }
.sd-article-image > img { width: 100%; height: 100%; object-fit: cover; }
.sd-article-body { max-width: 760px; margin: 80px auto 0; color: #425146; font-size: 1.03rem; line-height: 1.85; overflow-wrap: anywhere; }
.sd-article-body > * + * { margin-top: 1.35em; }
.sd-article-body h2, .sd-article-body h3 { color: var(--sd-ink); font-family: var(--sd-serif); font-weight: 400; line-height: 1.15; }
.sd-article-body h2 { font-size: clamp(2.1rem, 3vw, 3.2rem); }
.sd-article-body h3 { font-size: clamp(1.5rem, 2vw, 2.1rem); }
.sd-article-body a { color: var(--sd-green); text-decoration: underline; text-underline-offset: 3px; }
.sd-article-body img { max-width: 100%; height: auto; }
.sd-article-body ul, .sd-article-body ol { padding-left: 1.35em; }
.sd-article-body blockquote { margin-inline: 0; padding: 8px 0 8px 27px; border-left: 2px solid var(--sd-gold); color: var(--sd-green); font-family: var(--sd-serif); font-size: 1.5rem; line-height: 1.4; }
.sd-article-back { max-width: 760px; margin: 80px auto 0; padding-top: 25px; border-top: 1px solid var(--sd-line); }

@media (max-width: 1100px) {
  .sd-header { height: 60px; min-height: 60px; }
  .sd-header-inner { grid-template-columns: 150px minmax(0, 1fr) auto; gap: 20px; }
  .sd-header .sd-wordmark { width: 150px; }
  .sd-header-utilities { gap: 12px; }
  .sd-header-actions { gap: 4px; }
  .sd-header-nav { gap: 18px; }
  .sd-header-nav a { font-size: .76rem; }
  .sd-hero h1 { font-size: clamp(3.3rem, 5.7vw, 4.8rem); }
  .sd-story-step { padding-inline: 6vw; }
  .sd-story-step h2 { font-size: clamp(2.8rem, 5vw, 4.5rem); }
  .sd-product-layout { gap: 5vw; }
  .sd-catalog[data-catalog-view="compact"] .sd-catalog-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sd-catalog-item { gap: 4vw; }
  .sd-catalog-item-heading h2 { font-size: clamp(2.5rem, 4.5vw, 4rem); }
  .sd-footer-bottom { flex-wrap: wrap; gap: 12px 30px; }
}

@media (max-width: 900px) {
  .sd-header-inner { grid-template-columns: 1fr auto auto; }
  .sd-header-search { display: none; }
  .sd-header-search-toggle { display: inline-flex; }
  .sd-header-utilities { width: auto; gap: 4px; }
  .sd-header-nav { display: none; }
  .sd-mobile-nav { position: relative; display: block; }
  .sd-mobile-nav summary { width: 44px; height: 44px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: var(--sd-ink); cursor: pointer; list-style: none; }
  .sd-mobile-nav summary::-webkit-details-marker { display: none; }
  .sd-mobile-nav summary > span:not(.sd-menu-label) { width: 23px; height: 1px; background: var(--sd-ink); transition: transform .2s ease; }
  .sd-mobile-nav[open] summary > span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .sd-mobile-nav[open] summary > span:nth-child(2) { transform: translateY(-3.5px) rotate(-45deg); }
  .sd-mobile-nav .sd-menu-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
  .sd-mobile-nav nav { position: fixed; top: 60px; right: 0; left: 0; display: flex; flex-direction: column; gap: 0; padding: 18px 4vw 30px; background: var(--sd-cream); border-top: 1px solid var(--sd-line); box-shadow: 0 20px 30px rgba(24, 61, 48, .1); }
  .sd-mobile-nav nav a { padding: 14px 0; border-bottom: 1px solid var(--sd-line); font-family: var(--sd-serif); font-size: 1.6rem; }
  .sd-hero { min-height: 0; flex-direction: column; }
  .sd-hero-media { position: relative; inset: auto; width: 100%; height: clamp(490px, 82vw, 740px); }
  .sd-hero-media > img { object-position: center 74%; }
  .sd-hero-shade { display: none; }
  .sd-hero-content { min-height: 0; padding-top: 28px; padding-bottom: 75px; }
  .sd-hero-topline { margin-bottom: clamp(68px, 12vw, 105px); }
  .sd-hero-topline span:last-child { display: none; }
  .sd-hero-bottom { width: 100%; }
  .sd-hero-copy { max-width: 720px; }
  .sd-hero h1 { font-size: clamp(3.6rem, 8vw, 6rem); }
}

@media (max-width: 760px) {
  .sd-shell, .sd-header-inner, .sd-footer-inner, .sd-footer-bottom { width: min(100% - 40px, 600px); }
  .sd-header { height: 60px; min-height: 60px; }
  .sd-header-inner { grid-template-columns: minmax(100px, 1fr) auto auto; gap: 8px; }
  .sd-header .sd-wordmark { width: 120px; }
  .sd-header-actions { gap: 0; }
  .sd-header-utilities { gap: 0; }
  .sd-header-icon { width: 40px; height: 44px; flex-basis: 40px; }
  .sd-header .sd-line-icon { width: 22px; height: 22px; flex-basis: 22px; }
  .sd-mobile-nav summary { width: 40px; }
  .sd-mobile-nav nav { top: 60px; padding-inline: 20px; }
  .sd-utility-dialog { padding: 22px 24px 32px; }
  .sd-hero-content { padding-top: 24px; padding-bottom: 60px; }
  .sd-scroll-cue { display: none; }
  .sd-hero p { max-width: 360px; }
  .sd-visual-placeholder--hero::after { width: 85%; height: 60%; right: -8%; bottom: 2%; }
  .sd-visual-placeholder--hero::before { width: 85%; height: 55%; right: -3%; bottom: 4%; }
  .sd-visual-placeholder--hero .sd-visual-orbit { width: 70%; right: 3%; top: -3%; }
  .sd-placeholder-note { right: 20px; bottom: 22px; }
  .sd-intro { min-height: 350px; padding-top: 80px; padding-bottom: 80px; }
  .sd-intro p { font-size: clamp(2.8rem, 8vw, 4.4rem); }
  .sd-story { display: block; }
  .sd-story-stage { position: relative; top: auto; height: 75vw; min-height: 330px; max-height: 600px; }
  .sd-story-step { min-height: 450px; padding: 80px 20px; }
  .sd-story-step h2 { max-width: 560px; font-size: clamp(3.2rem, 8vw, 5rem); }
  .sd-story-step p { margin-top: 25px; }
  .sd-featured, .sd-journal { padding-top: 100px; padding-bottom: 100px; }
  .sd-section-head { align-items: flex-start; flex-direction: column; gap: 26px; }
  .sd-product-grid, .sd-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 14px; }
  .sd-product-card-price { font-size: .72rem; }
  .sd-collection-empty { min-height: 360px; padding: 40px; }
  .sd-empty-shape { width: 180px; height: 180px; }
  .sd-promotion-inner { display: flex; flex-direction: column-reverse; width: 100%; }
  .sd-promotion-copy { width: min(100% - 40px, 600px); margin-inline: auto; padding: 65px 0 80px; }
  .sd-promotion-media { height: 68vw; min-height: 340px; max-height: 560px; }
  .sd-journal-empty { flex-direction: column; align-items: flex-start; }
  .sd-closing { padding: 110px 0; }
  .sd-closing h2 { font-size: clamp(3.5rem, 9vw, 6.5rem); }
  .sd-page-hero { padding-top: 30px; padding-bottom: 55px; }
  .sd-page-hero-content { align-items: flex-start; flex-direction: column; gap: 22px; padding-top: 66px; }
  .sd-page-hero-content h1 { font-size: clamp(4.3rem, 10vw, 7rem); }
  .sd-catalog { padding-bottom: 100px; }
  .sd-catalog-toolbar { align-items: flex-start; flex-direction: column; gap: 0; padding: 12px 0; }
  .sd-category-list { gap: 20px; }
  .sd-category-list a { padding: 15px 0; }
  .sd-catalog-options { padding: 18px 0 24px; }
  .sd-catalog-item { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 32px 0; }
  .sd-catalog-item:nth-child(even) { grid-template-columns: minmax(0, 1fr); }
  .sd-catalog-item:nth-child(even) .sd-catalog-item-media, .sd-catalog-item:nth-child(even) .sd-catalog-item-copy { order: initial; }
  .sd-catalog[data-catalog-view="editorial"] .sd-catalog-item-media { width: min(100%, 450px); }
  .sd-catalog-item-copy { padding-top: 20px; }
  .sd-catalog-item-heading h2 { font-size: clamp(2.6rem, 6.6vw, 4.3rem); }
  .sd-catalog-item-price { margin-top: 14px; }
  .sd-catalog-item-description { margin-top: 20px !important; }
  .sd-catalog-item-colors { margin-top: 22px; }
  .sd-catalog[data-catalog-view="compact"] .sd-catalog-items { gap: 26px 12px; }
  .sd-catalog[data-catalog-view="compact"] .sd-catalog-item-heading h2 { font-size: clamp(1.25rem, 3.6vw, 1.9rem); }
  .sd-footer-bottom { align-items: flex-start; }
  .sd-product-page { padding-top: 30px; padding-bottom: 100px; }
  .sd-product-layout { display: block; padding-top: 30px; }
  .sd-product-info { position: static; padding-top: 45px; }
  .sd-product-info h1 { font-size: clamp(3.8rem, 9vw, 6rem); }
  .sd-product-variant-list { max-width: 600px; }
  .sd-footer { padding-top: 70px; }
  .sd-footer-inner { flex-direction: column; gap: 65px; padding-bottom: 70px; }
  .sd-footer-links { gap: 80px; }
  .sd-article { padding-top: 30px; padding-bottom: 100px; }
  .sd-article-head { padding: 70px 0 45px; }
  .sd-article-head h1 { font-size: clamp(3.7rem, 9vw, 6rem); }
  .sd-article-image { aspect-ratio: 4 / 3; }
  .sd-article-body { margin-top: 55px; }
  .sd-article-back { margin-top: 60px; }
}

@media (max-width: 520px) {
  .sd-shell, .sd-header-inner, .sd-footer-inner, .sd-footer-bottom { width: calc(100% - 36px); }
  .sd-hero h1 { font-size: clamp(3.4rem, 13vw, 5rem); }
  .sd-hero p { font-size: 1.15rem; }
  .sd-intro p { font-size: clamp(2.5rem, 10vw, 3.7rem); }
  .sd-story-stage { height: 95vw; min-height: 320px; }
  .sd-story-step { min-height: 440px; padding: 70px 18px; }
  .sd-story-step h2 { font-size: clamp(2.8rem, 11vw, 4rem); }
  .sd-section-head h2 { font-size: clamp(2.9rem, 11vw, 4rem); }
  .sd-product-grid, .sd-news-grid { grid-template-columns: 1fr; gap: 42px; }
  .sd-product-card-media { aspect-ratio: 2 / 3; }
  .sd-product-card-title { font-size: 1.8rem; }
  .sd-collection-empty { min-height: 450px; align-items: flex-start; flex-direction: column; gap: 5px; padding: 40px 30px; }
  .sd-empty-shape { width: 125px; height: 125px; }
  .sd-promotion-copy h2 { font-size: clamp(3.5rem, 12vw, 5rem); }
  .sd-news-media { aspect-ratio: 1.25; }
  .sd-closing h2 { font-size: clamp(3.6rem, 12vw, 5rem); }
  .sd-page-hero-content > div { width: 100%; }
  .sd-page-hero-content h1 { font-size: clamp(2.4rem, 11vw, 3rem); }
  .sd-category-list { gap: 0 20px; }
  .sd-catalog-options { align-items: center; flex-direction: row; gap: 12px; }
  .sd-catalog-view-switch { width: auto; }
  .sd-catalog[data-catalog-view="compact"] .sd-catalog-item-heading h2 { font-size: clamp(1.2rem, 5vw, 1.6rem); }
  .sd-catalog[data-catalog-view="compact"] .sd-catalog-item-copy { padding-top: 10px; }
  .sd-catalog[data-catalog-view="compact"] .sd-catalog-item-price { font-size: .78rem; }
  .sd-footer-bottom { flex-direction: column; gap: 10px; }
  .sd-product-main-image, .sd-product-thumbnails { width: min(100%, 340px); }
  .sd-product-thumbnail { width: 58px; height: 87px; flex-basis: 58px; }
  .sd-gallery-arrow { width: 36px; height: 36px; }
  .sd-lightbox-tools button, .sd-lightbox-arrow { width: 38px; height: 38px; }
  .sd-lightbox-stage > img { max-width: calc(100% - 82px); }
  .sd-lightbox-hint { font-size: .6rem; }
  .sd-lightbox-hint span:first-child { display: none; }
  .sd-lightbox-hint span:last-child { display: inline; }
  .sd-product-variant { gap: 8px; padding: 6px; }
  .sd-product-variant-media { width: 42px; height: 50px; flex-basis: 42px; }
  .sd-product-variant-label { font-size: .72rem; }
  .sd-footer-links { gap: 42px; }
  .sd-footer-bottom { flex-direction: column; gap: 10px; }
  .sd-article-head h1 { font-size: clamp(3.5rem, 12vw, 5rem); }
  .sd-article-body { font-size: .98rem; }
}

@media (max-width: 370px) {
  .sd-header .sd-wordmark { width: 96px; }
  .sd-header-icon { width: 34px; flex-basis: 34px; }
  .sd-header-inner { grid-template-columns: minmax(96px, 1fr) auto auto; gap: 7px; }
  .sd-mobile-nav summary { width: 34px; }
}

@media (prefers-reduced-motion: reduce) {
  .sd-utility-dialog[open] { animation: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .sd-hero-media > img { transform: none; }
}
