:root {
  --pine: #153f36;
  --pine-deep: #0b2823;
  --moss: #416b4d;
  --paper: #f5f0e5;
  --sand: #e8dfcc;
  --sun: #e8c864;
  --coral: #ad4a37;
  --ink: #1b2823;
  --serif: "Fraunces", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
  --mono: "DM Mono", monospace;
  --shadow: 0 16px 45px rgba(14, 42, 34, 0.18);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 5.5rem; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
img, video { display: block; max-width: 100%; }

.skip-link { position: fixed; top: -5rem; left: 1rem; z-index: 100; background: var(--sun); color: var(--pine-deep); padding: .75rem 1rem; font-weight: 700; }
.skip-link:focus { top: 1rem; }

.site-header { position: fixed; z-index: 20; top: 0; width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 1.15rem clamp(1.25rem, 4vw, 4.8rem); color: #fff; transition: background .3s ease, padding .3s ease, color .3s ease, box-shadow .3s ease; }
.site-header.is-scrolled { padding-block: .7rem; color: var(--pine-deep); background: rgba(245, 240, 229, .96); box-shadow: 0 1px 0 rgba(21, 63, 54, .1); backdrop-filter: blur(12px); }
.brand { position: relative; display: block; flex: 0 0 136px; width: 136px; height: 64px; }
.brand__logo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 3px 8px rgba(0,0,0,.18)); }
.brand__logo--dark { display: none; }
.site-header.is-scrolled .brand__logo--light { display: none; }
.site-header.is-scrolled .brand__logo--dark { display: block; filter: none; }
.site-navigation { display: flex; align-items: center; gap: clamp(1rem, 2.4vw, 2.75rem); font-size: .85rem; font-weight: 600; }
.site-navigation > a:not(.nav-cta) { position: relative; }
.site-navigation > a:not(.nav-cta)::after { position: absolute; width: 0; height: 1px; bottom: -.35rem; left: 0; content: ""; background: currentColor; transition: width .2s ease; }
.site-navigation > a:not(.nav-cta):hover::after, .site-navigation > a:not(.nav-cta):focus-visible::after { width: 100%; }
.nav-cta { padding: .75rem 1rem; border: 1px solid currentColor; }
.menu-toggle { display: none; padding: .35rem 0; color: inherit; border: 0; background: transparent; align-items: center; gap: .6rem; cursor: pointer; }
.menu-toggle__label { font: 500 .7rem/1 var(--mono); text-transform: uppercase; letter-spacing: .1em; }
.menu-toggle__icon, .menu-toggle__icon::before { width: 20px; height: 1px; display: block; background: currentColor; content: ""; transition: transform .2s ease; }
.menu-toggle__icon::before { transform: translateY(-6px); }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon { transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon::before { transform: rotate(-90deg); }

.hero { position: relative; isolation: isolate; min-height: 750px; height: 100svh; overflow: hidden; color: #fff; background: var(--pine-deep); }
.hero__video { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero__wash { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(8, 31, 27, .75) 0%, rgba(8,31,27,.48) 42%, rgba(8,31,27,.14) 76%), linear-gradient(0deg, rgba(7,30,25,.62) 0%, transparent 28%, rgba(7,30,25,.18) 100%); }
.hero__topline { position: absolute; top: 8rem; left: clamp(1.25rem, 4vw, 4.8rem); right: clamp(1.25rem, 4vw, 4.8rem); display: flex; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.42); padding-top: .7rem; font: 400 .63rem/1.2 var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.hero__content { position: absolute; left: clamp(1.25rem, 11vw, 12.5rem); bottom: clamp(7rem, 14vh, 10rem); max-width: 750px; }
.eyebrow { margin: 0 0 1.15rem; color: var(--moss); font: 500 .67rem/1.2 var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.eyebrow--light { color: var(--sun); }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 1.5rem; font: 500 clamp(3.6rem, 7.3vw, 7.9rem)/.91 var(--serif); letter-spacing: -.065em; }
h1 em, h2 em { font-weight: 400; }
.hero h1 { margin-bottom: 0; }.hero__tagline { margin: 1.55rem 0 1.2rem; color: var(--sun); font: 500 .67rem/1.2 var(--mono); letter-spacing: .13em; text-transform: uppercase; }
.hero__lede { max-width: 480px; margin-bottom: 2rem; font-size: clamp(1rem, 1.4vw, 1.2rem); line-height: 1.55; }
.hero__actions, .visit__actions { display: flex; align-items: center; gap: 1.6rem; flex-wrap: wrap; }
.button { display: inline-flex; align-items: center; gap: .8rem; min-height: 48px; padding: .8rem 1.15rem; font-size: .82rem; font-weight: 700; transition: transform .2s ease, background .2s ease; }
.button:hover, .button:focus-visible { transform: translateY(-3px); }
.button--sun { color: var(--pine-deep); background: var(--sun); }
.text-link { display: inline-flex; gap: .6rem; align-items: baseline; border-bottom: 1px solid currentColor; padding-bottom: .25rem; color: var(--pine); font-size: .84rem; font-weight: 700; }
.text-link span { transition: transform .2s ease; }.text-link:hover span, .text-link:focus-visible span { transform: translate(3px, 3px); }.text-link--light { color: #fff; }
.hero__foot { position: absolute; left: clamp(1.25rem, 4vw, 4.8rem); right: clamp(1.25rem, 4vw, 4.8rem); bottom: 1.8rem; display: flex; gap: .85rem; align-items: center; font: 400 .6rem/1 var(--mono); letter-spacing: .09em; text-transform: uppercase; }.hero__line { height: 1px; flex: 1; background: rgba(255,255,255,.45); }.motion-toggle { display: inline-flex; gap: .42rem; align-items: center; padding: .3rem .45rem; border: 1px solid rgba(255,255,255,.55); color: #fff; background: rgba(11,40,35,.42); font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; }.motion-toggle:hover, .motion-toggle:focus-visible { color: var(--pine-deep); background: var(--sun); border-color: var(--sun); }.motion-toggle strong { color: var(--sun); font-weight: 500; }.motion-toggle:hover strong, .motion-toggle:focus-visible strong { color: inherit; }.hero__count { margin-left: auto; }

.section { padding: clamp(5.5rem, 10vw, 10rem) clamp(1.25rem, 8vw, 9rem); }
.intro { overflow: hidden; }.intro__tagline { display: flex; align-items: center; gap: .75rem; margin-bottom: 3.2rem; }.intro__tagline p { margin: 0; font: 500 .67rem var(--mono); letter-spacing: .1em; text-transform: uppercase; }.line-mark { width: 28px; height: 1px; background: var(--coral); }
.intro__layout { position: relative; display: grid; grid-template-columns: minmax(220px, .95fr) minmax(320px, .8fr); justify-content: space-between; align-items: end; gap: clamp(2rem, 9vw, 12rem); max-width: 1150px; margin: 0 auto; }.intro__copy { max-width: 490px; padding-bottom: 2rem; }.intro h2, .collection h2, .programs h2, .neighborhood h2 { margin-bottom: 1.75rem; color: var(--pine); font: 500 clamp(2.85rem, 5vw, 5rem)/.95 var(--serif); letter-spacing: -.055em; }.body-copy { margin-bottom: 2rem; font-size: 1rem; line-height: 1.75; }.portrait-frame { position: relative; margin: 0; }.portrait-frame::before { position: absolute; z-index: -1; top: -1rem; right: -1rem; width: 55%; height: 55%; border: 1px solid var(--coral); content: ""; }.portrait-frame img { width: 100%; aspect-ratio: 4/5; object-fit: cover; box-shadow: var(--shadow); }.portrait-frame figcaption { margin-top: .8rem; color: var(--pine); font: 500 .63rem/1.45 var(--mono); letter-spacing: .06em; text-transform: uppercase; }.portrait-frame figcaption span { display: block; color: #6b756c; }.intro__stamp { position: absolute; left: 42%; bottom: 10%; z-index: 1; display: grid; width: 130px; aspect-ratio: 1; place-content: center; gap: .2rem; border-radius: 50%; color: var(--paper); background: var(--coral); transform: rotate(-12deg); text-align: center; font: 500 .67rem/1 var(--mono); letter-spacing: .08em; }

.feature-band { display: grid; grid-template-columns: 1.12fr .88fr; min-height: 615px; color: #fff; background: var(--pine); }.feature-band__picture img { width: 100%; height: 100%; object-fit: cover; }.feature-band__copy { align-self: center; max-width: 580px; padding: clamp(3.5rem, 7vw, 7rem); }.display-quote { margin-bottom: 2.2rem; font: 400 clamp(2.5rem, 4.4vw, 4.5rem)/1.01 var(--serif); letter-spacing: -.055em; }.feature-band__copy > p:not(.eyebrow):not(.display-quote) { max-width: 400px; margin-bottom: 2rem; line-height: 1.7; }

.collection__heading { display: flex; justify-content: space-between; gap: 4rem; max-width: 1250px; margin: 0 auto clamp(3.25rem, 6vw, 5.5rem); }.collection__heading > div { max-width: 670px; }.collection__heading h2 { margin: 0; }.collection__intro { align-self: end; max-width: 340px; margin-bottom: .3rem; line-height: 1.65; }.art-ribbon { display: flex; align-items: flex-end; gap: clamp(1rem, 2.5vw, 2.8rem); max-width: 1380px; margin: auto; overflow: auto hidden; padding: 2rem clamp(1rem, 3vw, 3rem) 2.75rem; scrollbar-width: thin; scrollbar-color: var(--moss) transparent; }.art-card { flex: 0 0 auto; position: relative; overflow: hidden; border: 0; padding: 0; color: #fff; background: var(--pine); cursor: zoom-in; box-shadow: 0 8px 20px rgba(28, 42, 36, .13); transition: transform .25s ease, box-shadow .25s ease; }.art-card:hover, .art-card:focus-visible { transform: translateY(-9px) rotate(-1.5deg); box-shadow: var(--shadow); outline: 2px solid var(--coral); outline-offset: 3px; }.art-card--tall { width: clamp(195px, 18vw, 280px); }.art-card--wide { width: clamp(250px, 26vw, 370px); }.art-card--landscape { width: clamp(280px, 29vw, 400px); }.art-card--offset { margin-bottom: 3.2rem; }.art-card img { width: 100%; aspect-ratio: 3/4; object-fit: cover; transition: transform .4s ease; }.art-card--wide img, .art-card--landscape img { aspect-ratio: 4/3; }.art-card:hover img { transform: scale(1.04); }.art-card::after { position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(7, 29, 25, .8)); content: ""; }.art-card__meta { position: absolute; z-index: 1; display: flex; justify-content: space-between; align-items: end; inset: auto 1rem 1rem; font: 500 .64rem var(--mono); letter-spacing: .1em; }.art-card__meta em { font: 500 1.05rem/1 var(--serif); letter-spacing: -.03em; }.collection__note { max-width: 1250px; margin: 1rem auto 0; color: #6b756c; font: .65rem/1.5 var(--mono); letter-spacing: .04em; }

.home-shop { overflow: hidden; border-top: 1px solid rgba(21,63,54,.18); background: linear-gradient(180deg, #f8f4eb 0%, var(--paper) 100%); }.home-shop__heading { display: flex; justify-content: space-between; gap: 4rem; max-width: 1250px; margin: 0 auto 3rem; }.home-shop__heading > div { max-width: 650px; }.home-shop h2 { margin: 0; color: var(--pine); font: 500 clamp(3rem, 5vw, 5rem)/.95 var(--serif); letter-spacing: -.055em; }.home-shop__heading > p { align-self: end; max-width: 350px; margin: 0; line-height: 1.7; }.home-shop__tools { display: grid; grid-template-columns: minmax(230px, 1.2fr) auto auto; gap: 1rem 2rem; align-items: end; max-width: 1250px; margin: 0 auto 2rem; padding: 1.25rem 0; border-top: 1px solid rgba(21,63,54,.28); border-bottom: 1px solid rgba(21,63,54,.28); }.home-shop__search { display: grid; gap: .55rem; }.home-shop__search span, .home-shop__count { margin: 0; color: var(--moss); font: 500 .62rem/1.2 var(--mono); letter-spacing: .1em; text-transform: uppercase; }.home-shop__search input { width: 100%; border: 0; border-bottom: 1px solid var(--pine); border-radius: 0; padding: .45rem 0; color: var(--pine); outline: 0; background: transparent; font: 500 .94rem var(--sans); }.home-shop__search input:focus { border-color: var(--coral); }.home-shop__filters { display: flex; flex-wrap: wrap; gap: .9rem; padding-bottom: .3rem; }.home-shop__filters label { display: inline-flex; align-items: center; gap: .35rem; color: var(--pine); font-size: .76rem; font-weight: 700; white-space: nowrap; }.home-shop__filters input { accent-color: var(--coral); }.home-shop__count { padding-bottom: .4rem; text-align: right; }.home-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; max-width: 1250px; margin: 0 auto; }.home-product-card { display: flex; flex-direction: column; min-width: 0; border: 1px solid rgba(21,63,54,.25); background: rgba(255,255,255,.5); transition: transform .22s ease, box-shadow .22s ease; }.home-product-card:hover { transform: translateY(-4px); box-shadow: 0 14px 28px rgba(14,42,34,.11); }.home-product-card__visual { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; border: 0; padding: 0; background: var(--paper); cursor: pointer; }.home-product-card__visual img { position: absolute; inset: 0; width: 100%; height: 100%; padding: .75rem; object-fit: contain; }.home-product-card__type, .home-product-card__sold { position: absolute; z-index: 1; top: .7rem; padding: .3rem .45rem; background: var(--sun); color: var(--pine-deep); font: 500 .58rem/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; }.home-product-card__type { left: .7rem; }.home-product-card__sold { right: .7rem; color: #fff; background: var(--coral); }.home-product-card__body { display: grid; flex: 1; gap: .7rem; padding: .95rem; }.home-product-card__title { display: flex; justify-content: space-between; gap: .5rem; }.home-product-card__title button { border: 0; padding: 0; color: var(--pine); background: transparent; text-align: left; font: 500 1.35rem/1.04 var(--serif); letter-spacing: -.045em; cursor: pointer; }.home-product-card__title button:hover { color: var(--coral); }.home-product-card__price { color: var(--coral); font-weight: 700; white-space: nowrap; }.home-product-card__facts { margin: 0; color: #5f7568; font-size: .73rem; line-height: 1.4; }.home-product-card__action { display: flex; align-items: center; justify-content: space-between; gap: .65rem; margin-top: auto; }.home-product-card__detail { border: 0; border-bottom: 1px solid currentColor; padding: 0 0 .2rem; color: var(--pine); background: transparent; font: 700 .67rem var(--mono); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }.home-product-card__add { border: 0; padding: .62rem .7rem; color: var(--pine-deep); background: var(--sun); font: 700 .66rem var(--mono); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }.home-product-card__add:disabled { cursor: default; opacity: .55; }.home-product-empty { grid-column: 1 / -1; padding: 3rem; border: 1px dashed rgba(21,63,54,.35); text-align: center; }.home-product-empty h3 { margin: 0 0 .5rem; color: var(--pine); font: 500 2rem var(--serif); }.home-product-empty p { margin: 0; color: var(--moss); }.home-shop__more { display: flex; justify-content: center; max-width: 1250px; margin: 2.1rem auto 0; }.home-shop__more button { border: 1px solid var(--pine); padding: .85rem 1.25rem; color: var(--pine); background: transparent; font: 700 .68rem var(--mono); letter-spacing: .08em; text-transform: uppercase; transition: color .2s ease, background .2s ease, transform .2s ease; }.home-shop__more button:hover, .home-shop__more button:focus-visible { color: var(--paper); background: var(--pine); transform: translateY(-2px); }.home-product-modal { width: min(1050px, calc(100% - 2rem)); max-height: calc(100% - 2rem); padding: 0; border: 0; color: var(--ink); background: var(--paper); box-shadow: 0 24px 85px rgba(5,25,20,.45); }.home-product-modal::backdrop { background: rgba(7,30,25,.78); backdrop-filter: blur(4px); }.home-product-modal__close { position: fixed; z-index: 3; top: 1.25rem; right: 1.25rem; width: 42px; height: 42px; border: 1px solid var(--pine); border-radius: 50%; color: var(--pine); background: var(--paper); font-size: 1.8rem; line-height: 1; cursor: pointer; }.home-product-modal__layout { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(310px,.92fr); min-height: min(680px, calc(100vh - 2rem)); }.home-product-modal__media { display: grid; place-items: center; min-height: 420px; padding: clamp(1rem,3vw,3rem); background: #ece4d6; }.home-product-modal__media img { width: 100%; height: 100%; max-height: calc(100vh - 8rem); object-fit: contain; }.home-product-modal__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem,5vw,5rem); background: #fffdf8; }.home-product-modal__copy h3 { margin: 0; color: var(--pine); font: 500 clamp(2.8rem,5vw,4.8rem)/.94 var(--serif); letter-spacing: -.06em; }.home-product-modal__artist { margin: 1rem 0 0; color: var(--moss); font-weight: 700; }.home-product-modal__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 2rem 0; background: var(--sand); border: 1px solid var(--sand); }.home-product-modal__facts div { padding: .8rem; background: var(--paper); }.home-product-modal__facts span { display: block; color: var(--moss); font: 500 .58rem var(--mono); letter-spacing: .08em; text-transform: uppercase; }.home-product-modal__facts b { display: block; margin-top: .35rem; color: var(--pine); font: 500 1rem var(--serif); }.home-product-modal__price { margin: 0 0 1.1rem; color: var(--coral); font: 700 2rem/1 var(--sans); }.home-product-modal__add { align-self: flex-start; border: 0; padding: .8rem 1rem; color: var(--pine-deep); background: var(--sun); font: 700 .72rem var(--mono); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }.home-product-modal__add:disabled { opacity: .55; cursor: default; }.home-product-modal__note { margin: 1.25rem 0 0; color: var(--moss); font-size: .8rem; line-height: 1.55; }

.programs { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(3rem, 10vw, 12rem); border-top: 1px solid rgba(21,63,54,.18); }.programs__mast h2 { margin-bottom: 0; }.programs__list { display: grid; border-top: 1px solid var(--pine); }.program-item { display: grid; grid-template-columns: 55px 1fr; gap: 1rem; padding: 1.5rem 0 1.65rem; border-bottom: 1px solid rgba(21,63,54,.24); }.program-item > span { color: var(--coral); font: 500 .7rem var(--mono); }.program-item h3 { margin: 0 0 .55rem; color: var(--pine); font: 500 1.55rem/1 var(--serif); letter-spacing: -.04em; }.program-item p { max-width: 370px; margin: 0; font-size: .9rem; line-height: 1.65; }

.visit { position: relative; display: grid; grid-template-columns: 1fr 1fr; min-height: 720px; overflow: hidden; color: #fff; background: var(--pine-deep); }.visit__visuals { position: relative; min-height: 500px; }.visit__image { position: absolute; object-fit: cover; box-shadow: var(--shadow); }.visit__image--front { z-index: 2; top: 12%; left: 11%; width: 52%; height: 69%; }.visit__image--back { right: 4%; bottom: 7%; width: 45%; height: 43%; opacity: .83; }.visit__provided-logo { position: absolute; z-index: 3; width: 160px; left: 8%; bottom: 3%; mix-blend-mode: screen; opacity: .62; }.visit__content { align-self: center; max-width: 630px; padding: clamp(4rem, 9vw, 9rem) clamp(1.25rem, 7vw, 7rem) clamp(4rem, 9vw, 9rem) 0; }.visit h2 { margin-bottom: 2.75rem; font: 500 clamp(3rem, 4.8vw, 5rem)/.95 var(--serif); letter-spacing: -.06em; }.visit__details { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.6rem; margin-bottom: 2.7rem; }.visit__details span { display: block; margin-bottom: .65rem; color: var(--sun); font: 500 .61rem var(--mono); letter-spacing: .1em; text-transform: uppercase; }.visit__details address, .visit__details p { margin: 0; font-size: .86rem; font-style: normal; line-height: 1.6; }.visit__details a { border-bottom: 1px solid rgba(255,255,255,.45); }

.neighborhood { display: grid; grid-template-columns: .7fr 1.3fr; gap: 4rem; align-items: start; }.neighborhood h2 { margin: 0; }.neighborhood__links { border-top: 1px solid var(--pine); }.neighborhood__links a { display: grid; grid-template-columns: 45px 1fr 25px; gap: 1rem; padding: 1rem 0; align-items: center; border-bottom: 1px solid rgba(21,63,54,.2); color: var(--pine); font-size: 1rem; font-weight: 600; transition: padding .2s ease; }.neighborhood__links a:hover, .neighborhood__links a:focus-visible { padding-left: .65rem; color: var(--coral); }.neighborhood__links span { color: var(--coral); font: .65rem var(--mono); }.neighborhood__links b { font-size: 1.25rem; font-weight: 400; }

.site-footer { display: grid; grid-template-columns: 1.3fr 1fr 1fr; column-gap: 2rem; padding: 3.2rem clamp(1.25rem, 4vw, 4.8rem) 1.5rem; color: var(--paper); background: #0c211e; }.footer__brand { display: flex; align-items: center; gap: 1rem; }.footer__brand img { width: 66px; height: 66px; object-fit: contain; }.footer__brand p { margin: 0; font: 400 1.25rem/1 var(--serif); letter-spacing: -.04em; }.footer__meta, .footer__social { font: .72rem/1.6 var(--mono); letter-spacing: .02em; }.footer__meta p { margin-bottom: 1rem; }.footer__social { display: grid; align-content: start; gap: .45rem; }.footer__social a { width: fit-content; border-bottom: 1px solid rgba(255,255,255,.42); }.footer__copyright { grid-column: 1 / -1; margin: 3.8rem 0 0; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.6); font: .6rem var(--mono); letter-spacing: .05em; }

.lightbox { width: min(900px, calc(100% - 2rem)); max-height: min(880px, calc(100% - 2rem)); padding: 1rem; border: 0; color: var(--paper); background: var(--pine-deep); box-shadow: 0 20px 80px rgba(0,0,0,.55); }.lightbox::backdrop { background: rgba(6,19,16,.82); backdrop-filter: blur(4px); }.lightbox img { max-height: calc(100vh - 9rem); width: 100%; object-fit: contain; }.lightbox p { margin: .75rem .3rem .15rem; font: .72rem/1.5 var(--mono); }.lightbox__close { position: fixed; z-index: 2; top: 1rem; right: 1rem; width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.65); border-radius: 50%; color: #fff; background: rgba(11,40,35,.85); font-size: 1.75rem; line-height: 1; cursor: pointer; }

@media (max-width: 850px) {
  .menu-toggle { display: flex; }.site-navigation { position: fixed; top: 0; left: 0; right: 0; display: grid; align-content: center; gap: 1.8rem; min-height: 100svh; padding: 7rem 2rem 2rem; color: var(--paper); background: var(--pine-deep); font: 500 2.2rem/1 var(--serif); transform: translateX(100%); transition: transform .3s ease; }.site-navigation[aria-hidden="true"] { visibility: hidden; }.site-navigation.is-open { visibility: visible; transform: translateX(0); }.site-navigation .nav-cta { width: fit-content; margin-top: 1rem; font: 600 .8rem var(--sans); }.site-header.is-scrolled .site-navigation { color: var(--paper); }.menu-toggle { position: relative; z-index: 1; }
  .hero { min-height: 700px; }.hero__content { left: 1.25rem; right: 1.25rem; }.hero__topline { top: 6.8rem; }.hero__topline p:last-child { display: none; }.intro__layout, .feature-band, .programs, .visit, .neighborhood { grid-template-columns: 1fr; }.intro__layout { gap: 2.5rem; }.intro__copy { padding-bottom: 0; }.portrait-frame { width: min(430px, 85%); justify-self: end; }.intro__stamp { left: 7%; bottom: 20%; }.feature-band__picture { min-height: 400px; }.feature-band__copy { padding: 4rem 1.5rem; }.collection__heading { display: block; }.collection__intro { max-width: 480px; margin-top: 1.25rem; }.programs { gap: 3rem; }.visit__visuals { min-height: 440px; }.visit__content { padding: 4rem 1.5rem 5rem; }.visit__details { grid-template-columns: 1fr 1fr; }.neighborhood { gap: 2.5rem; }.site-footer { grid-template-columns: 1fr 1fr; row-gap: 2rem; }.footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
  .brand { min-width: 0; }.brand-type { display: none; }.hero { min-height: 640px; }.hero__topline { font-size: .56rem; }.hero__content { bottom: 6.3rem; }.hero__actions { gap: 1.1rem; }.hero__foot { bottom: 1.3rem; }.hero__foot p { display: none; }.section { padding-inline: 1.25rem; }.intro h2, .collection h2, .programs h2, .neighborhood h2 { font-size: 2.8rem; }.intro__stamp { width: 100px; }.portrait-frame { width: 84%; }.art-ribbon { margin-inline: -1.25rem; padding-inline: 1.25rem; }.art-card--offset { margin-bottom: 1.5rem; }.visit__details { grid-template-columns: 1fr; gap: 1.4rem; }.visit h2 { font-size: 3rem; }.site-footer { grid-template-columns: 1fr; }.footer__brand { grid-column: auto; }.footer__copyright { margin-top: 1.5rem; }.lightbox { padding: .55rem; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; scroll-behavior: auto !important; } .hero__video { display: none; } .hero { background: center/cover url('/assets/4th-hero-poster.jpg'); } }

.portrait-frame figcaption a { border-bottom: 1px solid currentColor; }.portrait-frame figcaption a:hover { color: var(--coral); }.visit__address { display: inline-block; border-bottom: 1px solid rgba(255,255,255,.45); }.visit__landmark { margin-top: .5rem !important; color: rgba(255,255,255,.72); font-size: .73rem !important; }.visit__map { position: relative; overflow: hidden; width: min(100%, 410px); margin: 0 0 2rem; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.08); }.visit__map iframe { display: block; width: 100%; height: 155px; border: 0; filter: saturate(.82) contrast(.96); }.visit__map a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem .8rem; color: var(--paper); font: 500 .61rem var(--mono); letter-spacing: .07em; text-transform: uppercase; }.visit__map a:hover { color: var(--sun); }

@media (max-width: 850px) { .home-shop__heading { display: block; }.home-shop__heading > p { max-width: 520px; margin-top: 1.25rem; }.home-shop__tools { grid-template-columns: minmax(200px,1fr) auto; }.home-shop__count { grid-column: 2; }.home-product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }.home-product-modal__layout { grid-template-columns: 1fr; }.home-product-modal__media { min-height: min(58vh, 520px); }.home-product-modal__copy { padding: 2rem; }.visit__map { width: min(100%, 490px); } }

@media (max-width: 520px) { .brand { flex-basis: 112px; width: 112px; height: 52px; }.home-shop__tools { grid-template-columns: 1fr; gap: 1rem; }.home-shop__filters { padding-bottom: 0; }.home-shop__count { grid-column: auto; padding-bottom: 0; text-align: left; }.home-product-grid { grid-template-columns: 1fr; }.home-product-card__body { padding: 1rem; }.home-product-modal__media { min-height: 360px; }.home-product-modal__copy { padding: 1.5rem; }.home-product-modal__facts { margin: 1.5rem 0; }.home-product-modal__close { top: .7rem; right: .7rem; }.visit__map { width: 100%; }.visit__map iframe { height: 180px; } }

.nav-cart { position: relative; border: 0; padding: 0; color: inherit; background: transparent; font: inherit; font-weight: 600; cursor: pointer; }.nav-cart::after { position: absolute; width: 0; height: 1px; bottom: -.35rem; left: 0; content: ""; background: currentColor; transition: width .2s ease; }.nav-cart:hover::after, .nav-cart:focus-visible::after { width: 100%; }.home-product-card__action-buttons { display: flex; gap: .4rem; }.home-product-card__buy { border: 0; padding: .62rem .7rem; color: var(--paper); background: var(--pine); font: 700 .66rem var(--mono); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }.home-product-card__buy:hover { background: var(--coral); }.home-product-card__buy:disabled { cursor: default; opacity: .55; }.home-cart-drawer { position: fixed; z-index: 30; top: 5.65rem; right: clamp(1rem,4vw,4.8rem); width: min(420px, calc(100vw - 2rem)); max-height: min(680px, calc(100svh - 7rem)); overflow: auto; padding: 1.25rem; border: 1px solid rgba(21,63,54,.28); color: var(--ink); background: rgba(255,253,248,.98); box-shadow: 0 22px 55px rgba(7,30,25,.22); opacity: 0; transform: translateY(-.8rem); visibility: hidden; transition: opacity .2s ease, transform .2s ease, visibility .2s ease; }.home-cart-drawer[aria-hidden="false"] { opacity: 1; transform: translateY(0); visibility: visible; }.home-cart-drawer__head { display: flex; align-items: start; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--sand); }.home-cart-drawer__head .eyebrow { margin-bottom: .4rem; }.home-cart-drawer__head h2 { margin: 0; color: var(--pine); font: 500 2rem/1 var(--serif); letter-spacing: -.05em; }.home-cart-drawer__close { width: 32px; height: 32px; border: 1px solid var(--pine); border-radius: 50%; color: var(--pine); background: transparent; font-size: 1.4rem; line-height: 1; cursor: pointer; }.home-cart-items { display: grid; gap: .8rem; margin: 1rem 0; }.home-cart-item { display: grid; grid-template-columns: 66px 1fr auto; gap: .7rem; align-items: center; padding-bottom: .8rem; border-bottom: 1px solid var(--sand); }.home-cart-item img { width: 66px; height: 66px; padding: .2rem; background: var(--paper); object-fit: contain; }.home-cart-item h3 { margin: 0; color: var(--pine); font: 500 1.05rem/1.04 var(--serif); letter-spacing: -.03em; }.home-cart-item p { margin: .25rem 0 0; color: var(--moss); font-size: .7rem; line-height: 1.35; }.home-cart-item__remove { margin-top: .45rem; border: 0; border-bottom: 1px solid currentColor; padding: 0; color: var(--coral); background: transparent; font: 700 .58rem var(--mono); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }.home-cart-item__price { align-self: start; color: var(--coral); font-size: .75rem; white-space: nowrap; }.home-cart-summary { padding-top: .35rem; }.home-cart-summary__line { display: flex; justify-content: space-between; gap: 1rem; color: var(--pine); font-size: .86rem; }.home-cart-summary__note { margin: .8rem 0 1rem; color: var(--moss); font-size: .72rem; line-height: 1.45; }.home-cart-checkout { width: 100%; border: 0; padding: .9rem 1rem; color: var(--pine-deep); background: var(--sun); font: 700 .7rem var(--mono); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }.home-cart-checkout:disabled { opacity: .55; cursor: default; }.home-cart-empty { padding: 2.5rem .5rem 1.5rem; color: var(--moss); text-align: center; }.home-cart-empty h3 { margin: 0 0 .6rem; color: var(--pine); font: 500 1.65rem var(--serif); }.home-cart-empty p { margin: 0; font-size: .8rem; line-height: 1.5; }.home-cart-notice { margin: .8rem 0 0; color: var(--coral); font-size: .75rem; line-height: 1.4; }

@media (max-width: 850px) { .nav-cart { width: fit-content; color: inherit; font: inherit; }.home-cart-drawer { top: 5.25rem; } }
@media (max-width: 520px) { .home-product-card__action { align-items: flex-end; }.home-product-card__action-buttons { gap: .35rem; }.home-product-card__add, .home-product-card__buy { padding: .62rem .55rem; font-size: .6rem; }.home-cart-drawer { top: 4.8rem; right: 1rem; width: calc(100vw - 2rem); max-height: calc(100svh - 5.8rem); } }
.footer__admin-link { margin-left: .32rem; border-bottom: 1px solid rgba(255,255,255,.36); color: rgba(255,255,255,.72); transition: color .2s ease, border-color .2s ease; }.footer__admin-link:hover, .footer__admin-link:focus-visible { border-color: var(--sun); color: var(--sun); }
.home-product-sections { display: grid; gap: clamp(4rem, 8vw, 7rem); max-width: 1250px; margin: 0 auto; }.home-product-section { min-width: 0; }.home-product-section__heading { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.35rem; padding-bottom: 1rem; border-bottom: 1px solid rgba(21,63,54,.28); }.home-product-section__heading .eyebrow { margin-bottom: .55rem; }.home-product-section__heading h3 { margin: 0; color: var(--pine); font: 500 clamp(2rem, 3.5vw, 3.1rem)/.96 var(--serif); letter-spacing: -.05em; }.home-product-section__heading > p { margin: 0; color: var(--moss); font: 500 .62rem/1.35 var(--mono); letter-spacing: .08em; text-align: right; text-transform: uppercase; }.home-product-section__more { display: flex; justify-content: center; margin-top: 2.1rem; }.home-product-section__more button { border: 1px solid var(--pine); padding: .85rem 1.25rem; color: var(--pine); background: transparent; font: 700 .68rem var(--mono); letter-spacing: .08em; text-transform: uppercase; transition: color .2s ease, background .2s ease, transform .2s ease; }.home-product-section__more button:hover, .home-product-section__more button:focus-visible { color: var(--paper); background: var(--pine); transform: translateY(-2px); }
@media (max-width: 520px) { .home-product-sections { gap: 3.5rem; }.home-product-section__heading { display: block; }.home-product-section__heading > p { margin-top: .65rem; text-align: left; } }

/* The artwork stays fully contained; only the surplus wall around the original gallery photographs is removed in the focused derivatives. */
.home-product-card { border: 0; background: transparent; box-shadow: none; }.home-product-card:hover { box-shadow: none; }.home-product-card__visual { display: grid; place-items: center; isolation: isolate; overflow: visible; background: transparent; }.home-product-card__visual::before, .home-product-card__visual::after { position: absolute; content: ""; pointer-events: none; }.home-product-card__visual::before { z-index: 0; inset: 5% 4% 7%; background: linear-gradient(135deg, #b9caa9 0%, #d7ddbb 46%, #a3bb95 100%); box-shadow: 0 15px 24px rgba(21,63,54,.18); clip-path: polygon(5% 3%, 22% 8%, 41% 2%, 57% 7%, 76% 1%, 96% 6%, 93% 25%, 99% 43%, 94% 62%, 98% 82%, 85% 96%, 66% 92%, 49% 99%, 30% 93%, 10% 98%, 3% 78%, 7% 60%, 1% 39%, 6% 21%); transform: rotate(-1.15deg); }.home-product-card__visual::after { z-index: 0; inset: 8% 7% 4%; background: #e2d6b8; opacity: .88; clip-path: polygon(1% 9%, 18% 2%, 34% 7%, 51% 0, 73% 8%, 95% 2%, 99% 25%, 93% 48%, 100% 72%, 91% 96%, 66% 91%, 45% 99%, 27% 93%, 4% 97%, 7% 75%, 0 57%, 5% 35%); transform: rotate(1.5deg) translateY(2%); }.home-product-card__visual img { position: relative; inset: auto; z-index: 1; width: 86%; height: 86%; padding: 0; object-fit: contain; filter: drop-shadow(0 8px 10px rgba(11,31,26,.23)); }.home-product-card__type, .home-product-card__sold { z-index: 2; }.home-product-card__body { padding: 1.1rem .2rem .3rem; background: transparent; }.home-product-card__action { padding-bottom: .55rem; border-bottom: 1px solid rgba(21,63,54,.22); }
@media (max-width: 520px) { .home-product-card__visual img { width: 82%; height: 82%; }.home-product-card__body { padding-inline: .1rem; } }

.mobile-nav-utility { display: none; }
@media (max-width: 850px) { .site-navigation { top: 5.75rem; right: 1rem; left: auto; display: grid; align-content: initial; gap: 0; min-height: 0; width: min(330px, calc(100vw - 2rem)); padding: .45rem; border: 1px solid rgba(21,63,54,.22); color: var(--pine); background: rgba(255,253,248,.98); box-shadow: 0 16px 34px rgba(11,40,35,.18); font: 600 .73rem/1.2 var(--mono); letter-spacing: .04em; opacity: 0; transform: translateY(-.8rem); visibility: hidden; pointer-events: none; }.site-navigation[aria-hidden="true"] { visibility: hidden; }.site-navigation.is-open { visibility: visible; opacity: 1; transform: translateY(0); pointer-events: auto; }.site-navigation > a:not(.nav-cta)::after, .nav-cart::after { display: none; }.site-navigation > a, .site-navigation .nav-cart { display: flex; align-items: center; justify-content: space-between; width: 100%; margin: 0; padding: .82rem .78rem; border: 0; border-bottom: 1px solid rgba(21,63,54,.13); color: inherit; background: transparent; font: inherit; text-align: left; }.site-navigation .nav-cta { width: 100%; margin: 0; padding: .82rem .78rem; border: 0; border-bottom: 1px solid rgba(21,63,54,.13); font: inherit; }.site-navigation .mobile-secondary { display: none; }.site-navigation .mobile-nav-utility { display: flex; color: var(--pine); }.site-navigation .mobile-nav-utility span:not([aria-hidden="true"]) { color: var(--moss); font-size: .62rem; letter-spacing: 0; }.site-header.is-scrolled .site-navigation { color: var(--pine); }.site-navigation a:hover, .site-navigation a:focus-visible, .site-navigation .nav-cart:hover, .site-navigation .nav-cart:focus-visible { color: var(--coral); background: #f5f0e5; outline: 0; }.menu-toggle { position: relative; z-index: 1; } }
