:root {
  --paper: #fffaf5;
  --paper-2: #f7eee6;
  --ink: #1d1b1c;
  --muted: #706b68;
  --line: rgba(29, 27, 28, 0.16);
  --coral: #fa6244;
  --pink: #ef779c;
  --pink-soft: #f5b5c2;
  --teal: #3d929d;
  --lime: #a5c434;
  --gold: #d6a63f;
  --gold-light: #f1cf6c;
  --shadow: 0 24px 60px rgba(48, 24, 25, 0.12);
  --serif: "DM Serif Display", Georgia, serif;
  --sans: "DM Sans", Arial, sans-serif;
  --script: "Playwrite AU SA", "Brush Script MT", cursive;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; color: var(--ink); background: var(--paper); font-family: var(--sans); -webkit-font-smoothing: antialiased; transition: background .3s ease, color .3s ease; }
body[data-theme="dark"] { --paper: #1e2022; --paper-2: #2a2c2e; --ink: #faf4ed; --muted: #c4bbb4; --line: rgba(250,244,237,.19); --shadow: 0 26px 65px rgba(0,0,0,.3); }
body.no-scroll { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }

.skip-link { position: fixed; z-index: 100; top: 12px; left: 12px; padding: 10px 14px; background: var(--ink); color: var(--paper); transform: translateY(-150%); transition: transform .2s; }
.skip-link:focus { transform: translateY(0); }
.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; }
.section-pad { padding-left: clamp(22px, 5.8vw, 94px); padding-right: clamp(22px, 5.8vw, 94px); }
.eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 18px; font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.eyebrow span { width: 25px; height: 2px; display: inline-block; background: var(--coral); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 50px; padding: 14px 20px; border: 1px solid transparent; font-size: 12px; font-weight: 700; letter-spacing: .045em; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px) rotate(-.2deg); box-shadow: 0 9px 20px rgba(36,17,19,.14); }
.button--coral { background: var(--coral); color: #fffaf5; }
.button--ink { background: var(--ink); color: var(--paper); }
.button--outline { color: var(--ink); border-color: var(--ink); background: transparent; }
.text-link, .article-button { display: inline-flex; align-items: center; gap: 8px; border: 0; padding: 2px 0; background: transparent; font-size: 13px; font-weight: 700; border-bottom: 1px solid currentColor; transition: color .2s, gap .2s; }
.text-link:hover, .article-button:hover { color: var(--coral); gap: 11px; }

.announcement { min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 7px clamp(22px, 4vw, 68px); color: #fffaf5; background: var(--ink); font-size: 10px; font-weight: 600; letter-spacing: .025em; }
.announcement p { margin: 0; display: flex; align-items: center; gap: 7px; }
.announcement a { border-bottom: 1px solid rgba(255,255,255,.6); white-space: nowrap; }
.announcement-dot { width: 6px; height: 6px; display: inline-block; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 3px rgba(165,196,52,.18); }

.site-header { position: sticky; z-index: 20; top: 0; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 78px; padding: 10px clamp(22px, 4vw, 68px); border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--paper) 92%, transparent); backdrop-filter: blur(15px); }
.brand { display: inline-flex; align-items: center; gap: 9px; width: max-content; }
.brand-mark { width: 38px; color: var(--ink); display: inline-flex; }
.brand-mark svg { width: 100%; height: auto; }
.brand-type { display: flex; align-items: baseline; gap: 7px; line-height: 1; }
.brand-script { font-family: var(--script); color: var(--gold); font-size: 25px; letter-spacing: -.07em; white-space: nowrap; transform: rotate(-4deg); }
.brand-art { font-size: 8px; font-weight: 700; letter-spacing: .25em; }
.desktop-nav { justify-self: center; display: flex; gap: clamp(20px, 2.5vw, 43px); font-size: 12px; font-weight: 600; }
.desktop-nav a { position: relative; padding: 8px 0; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; bottom: 2px; width: 0; height: 1px; background: var(--coral); transition: width .25s ease; }
.desktop-nav a:hover::after { width: 100%; }
.header-actions { justify-self: end; display: flex; align-items: center; gap: 8px; }
.icon-button, .menu-button { border: 0; background: transparent; color: var(--ink); }
.icon-button { width: 36px; height: 36px; display: grid; place-items: center; font-size: 21px; }
.theme-icon--moon { display: none; }
body[data-theme="dark"] .theme-icon--sun { display: none; } body[data-theme="dark"] .theme-icon--moon { display: inline; }
.cart-button { display: inline-flex; align-items: center; gap: 6px; border: 0; color: var(--ink); background: transparent; font-size: 12px; font-weight: 700; }
.bag-icon { width: 20px; display: inline-flex; } .bag-icon svg { width: 100%; }
.cart-count { display: grid; min-width: 19px; height: 19px; padding: 0 5px; place-items: center; border-radius: 99px; background: var(--coral); color: #fff; font-size: 10px; }
.menu-button { display: none; width: 37px; height: 37px; padding: 9px; }
.menu-button span { width: 19px; height: 1.5px; display: block; background: currentColor; margin: 5px auto; transition: transform .2s; }
.menu-button.is-open span:first-child { transform: translateY(3.25px) rotate(45deg); }.menu-button.is-open span:last-child { transform: translateY(-3.25px) rotate(-45deg); }
.mobile-menu { position: fixed; z-index: 19; inset: 114px 0 auto; padding: 28px 24px 30px; border-bottom: 1px solid var(--line); color: var(--ink); background: var(--paper); box-shadow: 0 14px 33px rgba(0,0,0,.12); }
.mobile-menu nav { border-top: 1px solid var(--line); }.mobile-menu a { display: flex; justify-content: space-between; padding: 15px 0; border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: 26px; }.mobile-menu a span { color: var(--coral); }.mobile-menu > p { max-width: 280px; margin: 25px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }

.hero { min-height: min(790px, calc(100vh - 114px)); display: grid; grid-template-columns: minmax(0, .96fr) minmax(420px, .93fr); align-items: center; gap: clamp(42px, 6vw, 104px); padding-top: clamp(60px, 9.5vw, 134px); padding-bottom: clamp(65px, 9vw, 120px); overflow: hidden; }
.hero-copy { max-width: 655px; }.hero h1, h2 { margin: 0; font-family: var(--serif); font-size: clamp(50px, 6.25vw, 95px); font-weight: 400; letter-spacing: -.065em; line-height: .91; }.hero h1 em, h2 em { color: var(--coral); font-weight: inherit; }.hero h1 em { position: relative; }.hero h1 em::after { content: ""; position: absolute; right: -6px; bottom: -7px; left: 3px; height: 4px; border-radius: 100%; background: var(--gold); transform: rotate(-3deg); }
.hero-intro { max-width: 470px; margin: 29px 0 29px; color: var(--muted); font-size: clamp(15px, 1.55vw, 18px); line-height: 1.65; }
.hero-cta { display: flex; align-items: center; flex-wrap: wrap; gap: 26px; }.hero-proof { display: flex; align-items: center; gap: 12px; max-width: 340px; margin-top: 43px; color: var(--muted); font-size: 11px; line-height: 1.42; }.hero-proof p { margin: 0; }.hero-proof strong { color: var(--ink); }.mini-avatars { display: flex; }.mini-avatars span { width: 25px; height: 25px; margin-left: -5px; border: 2px solid var(--paper); border-radius: 50%; background: var(--pink); }.mini-avatars span:first-child { margin: 0; background: var(--teal); }.mini-avatars span:nth-child(2) { background: var(--lime); }
.hero-art { position: relative; max-width: 570px; width: min(100%, 570px); justify-self: end; }.hero-art__shadow { position: absolute; z-index: -1; inset: 8% 8% -7% 6%; border-radius: 42% 58% 52% 48% / 34% 38% 62% 66%; background: var(--pink-soft); filter: blur(0); transform: rotate(6deg); }.portrait-crop { width: min(100%, 515px); aspect-ratio: .82; margin-left: auto; overflow: hidden; border: 10px solid #fff9f1; box-shadow: var(--shadow); background-image: url("assets/tammy-g-art-brand.png"); background-size: 340% auto; background-position: left top; background-repeat: no-repeat; transform: rotate(2.5deg); }.hero-card { position: absolute; box-shadow: 0 13px 24px rgba(27,13,14,.15); }.hero-card--eye { top: 9%; left: -4%; display: flex; align-items: center; gap: 7px; width: 151px; padding: 9px 10px; background: var(--paper); transform: rotate(-8deg); }.eye-icon { width: 76px; flex: 0 0 76px; }.eye-icon svg { width: 100%; }.hero-card--eye span { font-size: 8px; font-weight: 700; letter-spacing: .08em; line-height: 1.4; text-transform: uppercase; }.hero-card--sticker { right: -4%; bottom: 6%; display: grid; place-items: center; width: 112px; height: 112px; border-radius: 50%; color: #fffaf5; background: var(--teal); text-align: center; transform: rotate(14deg); }.hero-card--sticker span { font-size: 7px; font-weight: 700; letter-spacing: .13em; }.hero-card--sticker strong { margin-top: -5px; font-family: var(--serif); font-size: 20px; font-weight: 400; line-height: .75; }.hero-art__caption { position: absolute; right: 7%; bottom: -30px; margin: 0; color: var(--muted); font-family: var(--script); font-size: 15px; transform: rotate(-3deg); }

.marquee { overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--lime); color: #1c2812; }.marquee-track { width: max-content; display: flex; align-items: center; gap: 28px; padding: 16px 0; font-size: 11px; font-weight: 700; letter-spacing: .16em; animation: marquee 32s linear infinite; }.marquee-track i { font-size: 14px; color: var(--coral); font-style: normal; }@keyframes marquee { to { transform: translateX(-50%); } }

.shop { padding-top: clamp(86px, 12vw, 160px); padding-bottom: clamp(76px, 10vw, 138px); }.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; }.section-heading h2, .collector-note h2, .about h2, .newsletter h2, .contact h2 { font-size: clamp(44px, 5vw, 75px); }.section-lede { max-width: 335px; margin: 0 2% 7px 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.product-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(20px, 2.5vw, 37px) clamp(18px, 2.6vw, 36px); }.product-card { grid-column: span 4; min-width: 0; transition: opacity .25s, transform .25s; }.product-card--large { grid-column: span 5; }.product-card--tall { grid-column: span 3; }.product-card--wide { grid-column: span 4; }.product-copy { display: flex; align-items: start; justify-content: space-between; gap: 14px; padding: 14px 0 0; }.product-copy p { margin: 0 0 5px; font-family: var(--serif); font-size: 19px; letter-spacing: -.03em; }.product-copy span { display: block; color: var(--muted); font-size: 10px; line-height: 1.4; }.shop-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 48px; padding-top: 22px; border-top: 1px solid var(--line); font-size: 12px; }.shop-footer p { color: var(--muted); }.shop-footer p a { color: var(--ink); border-bottom: 1px solid currentColor; }
.inventory-intro { display: flex; align-items: center; max-width: 710px; gap: 12px; margin: 40px 0 28px; padding: 14px 17px; border-left: 3px solid var(--gold); background: color-mix(in srgb, var(--paper-2) 75%, transparent); }.inventory-intro p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }.inventory-intro__dot { flex: 0 0 auto; width: 13px; height: 13px; border: 2px solid var(--ink); border-radius: 50%; background: var(--lime); }.product-grid--slots .product-card { display: block; }.art-slot { position: relative; min-height: 332px; overflow: hidden; color: #fffaf5; background: var(--coral); isolation: isolate; }.product-card--large .art-slot, .product-card--tall .art-slot { min-height: 472px; }.product-card--wide .art-slot { min-height: 332px; }.art-slot::before, .art-slot::after { content: ""; position: absolute; z-index: -1; display: block; border-radius: 50%; }.art-slot::before { width: 78%; aspect-ratio: 1; right: -22%; bottom: -27%; border: 1px solid rgba(255,250,245,.55); }.art-slot::after { width: 35%; aspect-ratio: 1; left: 7%; top: 14%; background: rgba(255,250,245,.18); }.art-slot--coral { background: var(--coral); }.art-slot--teal { background: var(--teal); }.art-slot--gold { color: var(--ink); background: var(--gold-light); }.art-slot--pink { color: var(--ink); background: var(--pink-soft); }.slot-tag { position: absolute; top: 13px; left: 13px; padding: 6px 8px; border: 1px solid currentColor; font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }.slot-plus { position: absolute; right: 8%; top: 12%; font-family: var(--serif); font-size: clamp(45px,7vw,84px); font-weight: 400; line-height: 1; }.slot-copy { position: absolute; left: 10%; bottom: 10%; }.slot-copy small { display: block; margin-bottom: 10px; font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }.slot-copy strong { display: block; font-family: var(--serif); font-size: clamp(38px,4.8vw,64px); font-weight: 400; letter-spacing: -.07em; line-height: .78; }.product-copy--placeholder { padding-top: 15px; }.product-copy--placeholder .slot-status { margin-top: 3px; padding: 5px 7px; border: 1px solid var(--line); color: var(--muted); font-size: 8px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; }
.art-slot.has-art::before, .art-slot.has-art::after { display: none; }.art-slot.has-art { background: transparent; }.art-image { width: 100%; height: 100%; min-height: inherit; object-fit: cover; object-position: center; }
.prints { padding-top: clamp(77px, 10vw, 134px); padding-bottom: clamp(78px, 11vw, 146px); color: #fffaf5; background: #202225; }.prints-heading { display: flex; align-items: end; justify-content: space-between; gap: 44px; }.prints-heading .eyebrow span { background: var(--lime); }.prints-heading h2 { font-size: clamp(44px, 5vw, 75px); }.prints-heading h2 em { color: var(--gold-light); }.prints-heading > p { max-width: 350px; margin: 0 2% 7px 0; color: #d5d0ca; font-size: 14px; line-height: 1.65; }.print-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(19px,3vw,43px); margin-top: 47px; }.print-slot { position: relative; display: grid; min-height: 372px; place-items: center; overflow: hidden; background: var(--pink); }.print-slot::after { content: ""; position: absolute; width: 64%; aspect-ratio: 1; right: -18%; bottom: -23%; border: 1px solid rgba(255,250,245,.55); border-radius: 50%; }.print-slot--teal { background: var(--teal); }.print-slot--coral { background: var(--coral); }.print-paper { position: relative; z-index: 1; display: grid; align-content: space-between; width: 58%; aspect-ratio: .72; padding: 14px; color: var(--ink); background: #fffaf5; box-shadow: 10px 12px 0 rgba(0,0,0,.15); transform: rotate(-4deg); }.print-card--featured .print-paper { transform: rotate(4deg); }.print-paper small { color: var(--muted); font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }.print-paper strong { color: var(--coral); font-family: var(--serif); font-size: clamp(27px,4.2vw,50px); font-weight: 400; letter-spacing: -.08em; line-height: .77; }.print-slot--teal .print-paper strong { color: var(--teal); }.print-slot--coral .print-paper strong { color: var(--gold); }.print-paper span { align-self: end; justify-self: end; color: var(--gold); font-family: var(--serif); font-size: 34px; }.print-size { position: absolute; z-index: 2; right: 12px; bottom: 13px; color: #fffaf5; font-size: 9px; letter-spacing: .08em; line-height: 1.4; text-transform: uppercase; }.print-size b { font-size: 10px; letter-spacing: .04em; }.print-copy { display: flex; align-items: start; justify-content: space-between; gap: 15px; padding-top: 15px; }.print-copy p { margin: 0 0 5px; font-family: var(--serif); font-size: 21px; letter-spacing: -.035em; }.print-copy span { color: #c6c1bd; font-size: 10px; line-height: 1.45; }.print-copy > span { flex: 0 0 auto; padding: 5px 7px; border: 1px solid rgba(255,255,255,.35); color: #ece5dd; font-size: 8px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; }.prints-release { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 53px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.2); }.prints-release > div { display: flex; align-items: center; gap: 14px; max-width: 590px; }.release-star { display: grid; flex: 0 0 auto; width: 35px; height: 35px; place-items: center; border-radius: 50%; color: #19230c; background: var(--lime); }.prints-release p { margin: 0; color: #d5d0ca; font-size: 12px; line-height: 1.6; }.prints-release p strong { color: #fffaf5; }
.print-slot.has-art::after { display: none; }.print-slot.has-art .print-paper { padding: 0; overflow: hidden; }.print-image { width: 100%; height: 100%; object-fit: cover; object-position: center; }


.collector-note { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1fr); align-items: center; gap: clamp(52px, 9vw, 155px); padding-top: clamp(70px, 10vw, 140px); padding-bottom: clamp(70px, 10vw, 140px); background: var(--paper-2); }.collector-note__visual { position: relative; min-height: 510px; }.board-crop { position: absolute; overflow: hidden; box-shadow: var(--shadow); background-image: url("assets/tammy-g-art-brand.png"); background-repeat: no-repeat; }.board-crop--logo { width: 76%; height: 46%; top: 4%; left: 7%; border: 8px solid #fffaf5; background-size: 178% auto; background-position: 60% 1%; transform: rotate(-3deg); }.board-crop--earring { width: 42%; aspect-ratio: .9; right: 1%; bottom: 4%; border: 8px solid #fffaf5; background-size: 375% auto; background-position: 100% 0; transform: rotate(9deg); }.note-pin { position: absolute; z-index: 3; display: grid; place-items: center; width: 41px; height: 41px; border-radius: 50%; color: #4c3504; background: var(--gold-light); box-shadow: 0 6px 10px rgba(59,42,5,.2); }.note-pin--one { top: 0; left: 3%; }.note-pin--two { right: 3%; bottom: 0; }.collector-note__copy { max-width: 535px; }.collector-note__copy > p:not(.eyebrow) { max-width: 485px; margin: 26px 0 28px; color: var(--muted); font-size: 15px; line-height: 1.72; }.collector-list { display: grid; gap: 14px; margin: 0 0 32px; padding: 0; list-style: none; }.collector-list li { display: flex; align-items: center; gap: 12px; font-size: 12px; font-weight: 600; }.collector-list li span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: #fffaf5; background: var(--teal); font-size: 9px; }

.mood-section { padding-top: clamp(76px, 10vw, 135px); padding-bottom: clamp(76px, 10vw, 135px); }.mood-card { padding: clamp(28px, 5.5vw, 74px); color: #fffaf6; background: #1f2123; overflow: hidden; }.mood-card__top { display: flex; align-items: center; justify-content: space-between; gap: 18px; }.mood-card .eyebrow { margin: 0; }.mood-card .eyebrow span { background: var(--lime); }.mood-card__top button { border: 0; padding: 0; color: #fffaf6; background: transparent; font-size: 11px; font-weight: 700; border-bottom: 1px solid rgba(255,255,255,.7); }.mood-card__main { display: flex; align-items: end; justify-content: space-between; gap: 50px; padding-top: clamp(52px, 8vw, 105px); }.mood-copy { max-width: 540px; }.mood-copy > p:first-child { margin: 0 0 21px; color: var(--gold-light); font-size: 10px; font-weight: 700; letter-spacing: .16em; }.mood-copy h2 { font-size: clamp(44px, 5.2vw, 76px); }.mood-copy h2 em { color: var(--pink); }.mood-copy > p:last-child { max-width: 440px; margin: 25px 0 0; color: #d7d3d0; font-size: 14px; line-height: 1.67; }.mood-swatches { display: flex; align-items: flex-end; gap: 8px; height: 150px; }.mood-swatches span { display: block; width: clamp(31px, 3.2vw, 52px); border-radius: 50% 50% 8px 8px; transition: height .4s ease, background .4s ease; }.mood-swatches span:nth-child(1) { height: 60%; background: var(--coral); }.mood-swatches span:nth-child(2) { height: 90%; background: var(--pink); }.mood-swatches span:nth-child(3) { height: 72%; background: var(--teal); }.mood-swatches span:nth-child(4) { height: 43%; background: var(--lime); }.mood-swatches span:nth-child(5) { height: 100%; background: var(--gold-light); }

.journal { padding-top: clamp(76px, 10vw, 140px); padding-bottom: clamp(76px, 11vw, 150px); }.journal-grid { display: grid; grid-template-columns: minmax(0,1.06fr) minmax(330px,.94fr); gap: clamp(28px, 5vw, 82px); margin-top: 47px; }.journal-feature { display: grid; grid-template-columns: minmax(0,1fr) minmax(190px,.57fr); align-items: end; gap: 24px; }.journal-image { position: relative; overflow: hidden; }.journal-image--feature { min-height: 465px; background: var(--pink); }.journal-scribble { position: absolute; z-index: 2; top: 12%; left: 11%; color: var(--ink); font-family: var(--script); font-size: clamp(31px,4vw,52px); letter-spacing: -.08em; line-height: .96; transform: rotate(-6deg); }.journal-sun { position: absolute; width: 63%; aspect-ratio: 1; right: -8%; bottom: -14%; border-radius: 50%; background: var(--gold-light); }.journal-wave { position: absolute; width: 115%; height: 40%; left: -11%; bottom: 14%; border-radius: 50% 40% 0 0; background: var(--coral); transform: rotate(-8deg); }.journal-copy { padding-top: 17px; }.journal-meta { margin: 0 0 9px; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }.journal h3 { margin: 0; font-family: var(--serif); font-size: clamp(25px,2.4vw,37px); font-weight: 400; letter-spacing: -.055em; line-height: .98; }.journal-copy > p:not(.journal-meta) { margin: 15px 0; color: var(--muted); font-size: 12px; line-height: 1.7; }.article-button { margin-top: 6px; color: var(--ink); }.journal-side { display: grid; gap: 34px; }.journal-small { display: grid; grid-template-columns: 172px minmax(0,1fr); gap: 20px; align-items: center; }.journal-image--face { min-height: 181px; background: var(--teal); }.journal-image--face span { position: absolute; width: 66%; height: 71%; left: 18%; top: 20%; border-radius: 48% 45% 43% 40%; background: #f4d1bf; }.journal-image--face::before { content: ""; position: absolute; z-index: 2; width: 91%; height: 57%; left: 4%; top: 6%; border-radius: 50% 50% 38% 38%; background: #222125; }.journal-image--face i { position: absolute; z-index: 3; width: 24%; height: 5px; top: 50%; left: 33%; border-radius: 50%; background: #222125; }.journal-image--face b { position: absolute; z-index: 3; width: 18%; height: 5px; top: 64%; left: 43%; border-radius: 50%; background: var(--coral); }.journal-image--collection { min-height: 181px; display: grid; place-items: center; color: #fffaf6; background: var(--ink); }.journal-image--collection span { position: relative; z-index: 2; font-family: var(--serif); font-size: 26px; letter-spacing: -.06em; line-height: .83; text-align: center; }.journal-image--collection i { position: absolute; right: 10%; bottom: 8%; color: var(--gold-light); font-size: 42px; font-style: normal; }.journal-footer { display: flex; justify-content: center; margin-top: 54px; }

.about { display: grid; grid-template-columns: minmax(300px,.87fr) minmax(0,1fr); align-items: center; gap: clamp(52px, 9vw, 149px); padding-top: clamp(75px, 10vw, 140px); padding-bottom: clamp(75px, 10vw, 140px); border-top: 1px solid var(--line); }.about-photo { position: relative; min-height: 480px; background-image: url("assets/tammy-g-art-brand.png"); background-size: 323% auto; background-position: left top; background-repeat: no-repeat; box-shadow: var(--shadow); }.about-photo__frame { position: absolute; inset: 12px; border: 1px solid rgba(255,250,245,.8); }.about-photo__caption { position: absolute; right: -27px; bottom: 24px; padding: 11px 15px; color: var(--ink); background: var(--gold-light); box-shadow: 0 6px 15px rgba(51,28,5,.15); font-family: var(--script); font-size: 14px; transform: rotate(-4deg); }.about-copy { max-width: 580px; }.about-copy > p:not(.eyebrow) { margin: 25px 0 17px; color: var(--muted); font-size: 15px; line-height: 1.72; }.about-copy .text-link { margin-top: 8px; }

.newsletter { position: relative; display: grid; grid-template-columns: minmax(0,1fr) minmax(330px,.76fr); align-items: center; gap: clamp(36px, 7vw, 118px); padding-top: clamp(69px, 9vw, 115px); padding-bottom: clamp(69px, 9vw, 115px); overflow: hidden; color: #1d2811; background: var(--lime); }.newsletter .eyebrow span { background: var(--coral); }.newsletter h2 em { color: var(--coral); }.newsletter-copy { position: relative; z-index: 1; max-width: 580px; }.newsletter-copy > p:not(.eyebrow) { max-width: 510px; margin: 22px 0 0; font-size: 14px; line-height: 1.65; }.newsletter-form { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr auto; gap: 8px; }.newsletter-form input { width: 100%; min-height: 52px; padding: 0 17px; border: 1px solid rgba(30,35,20,.65); border-radius: 0; color: #1d2811; background: rgba(255,255,255,.7); outline: none; }.newsletter-form input:focus { border-width: 2px; }.form-message { grid-column: 1 / -1; min-height: 17px; margin: 4px 0 0; font-size: 11px; font-weight: 600; }.newsletter-decoration { position: absolute; color: rgba(255,250,244,.65); }.newsletter-decoration--eye { right: -34px; bottom: -24px; width: clamp(230px, 26vw, 410px); transform: rotate(-16deg); }.newsletter-decoration svg { width: 100%; height: auto; }.newsletter-decoration path:last-of-type { stroke: var(--teal); }.newsletter-decoration circle { fill: var(--ink); }

.contact { display: grid; grid-template-columns: minmax(0,.9fr) minmax(360px,1fr); gap: clamp(49px, 10vw, 160px); padding-top: clamp(78px, 10vw, 142px); padding-bottom: clamp(80px, 11vw, 150px); }.contact-copy { max-width: 560px; }.contact-copy > p:not(.eyebrow) { max-width: 420px; margin: 25px 0 26px; color: var(--muted); font-size: 15px; line-height: 1.72; }.contact-email { display: inline-flex; gap: 9px; padding-bottom: 4px; border-bottom: 1px solid var(--ink); font-size: 14px; font-weight: 700; }.contact-email span { color: var(--coral); }.contact-form { display: grid; gap: 19px; padding: clamp(24px, 4vw, 46px); background: var(--paper-2); }.contact-form label { display: grid; gap: 8px; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }.contact-form input, .contact-form textarea, .contact-form select { width: 100%; padding: 10px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; color: var(--ink); background: transparent; outline: none; font-size: 13px; font-weight: 400; letter-spacing: normal; text-transform: none; }.contact-form textarea { resize: vertical; }.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus { border-bottom: 2px solid var(--coral); }.contact-form .button { justify-self: start; margin-top: 3px; }.contact-form .form-message { margin: -8px 0 0; }

.footer { padding: 57px clamp(22px, 5.8vw, 94px) 23px; color: #fffaf5; background: #1d1e20; }.footer .brand { color: #fffaf5; }.footer .brand-script { color: var(--gold-light); }.footer-brand { display: flex; align-items: start; justify-content: space-between; gap: 30px; }.footer-brand p { max-width: 220px; margin: 6px 0 0; color: #cac6c0; font-size: 12px; line-height: 1.5; }.footer-links { display: grid; grid-template-columns: repeat(2, 145px); gap: 35px; margin: 51px 0 50px auto; width: max-content; }.footer-links div { display: grid; gap: 9px; }.footer-links p { margin: 0 0 3px; color: var(--gold-light); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }.footer-links a { width: max-content; font-size: 12px; }.footer-links a:hover { color: var(--lime); }.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.16); color: #b6b3b0; font-size: 10px; }.footer-bottom p { margin: 0; }.back-to-top { padding: 0; border: 0; color: #fffaf5; background: transparent; font-size: 10px; font-weight: 700; }

.cart-drawer { position: fixed; z-index: 50; top: 0; right: 0; bottom: 0; display: flex; flex-direction: column; width: min(100%, 430px); padding: 29px; color: var(--ink); background: var(--paper); box-shadow: -20px 0 50px rgba(0,0,0,.18); transform: translateX(105%); transition: transform .32s cubic-bezier(.2,.8,.2,1); }.cart-drawer.is-open { transform: translateX(0); }.cart-drawer__header { display: flex; align-items: start; justify-content: space-between; padding-bottom: 24px; border-bottom: 1px solid var(--line); }.cart-drawer__header .eyebrow { margin: 0 0 9px; }.cart-drawer__header h2 { font-size: 35px; }.close-button { display: grid; width: 37px; height: 37px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--ink); background: transparent; font-size: 25px; font-weight: 300; line-height: 1; transition: transform .2s, background .2s; }.close-button:hover { color: var(--paper); background: var(--ink); transform: rotate(90deg); }.cart-items { flex: 1; overflow: auto; padding: 18px 0; }.cart-empty { display: grid; place-items: center; gap: 14px; min-height: 280px; color: var(--muted); text-align: center; }.cart-empty span { color: var(--gold); font-size: 44px; }.cart-empty p { max-width: 200px; margin: 0; font-size: 14px; line-height: 1.5; }.cart-empty .button { min-height: 43px; padding: 10px 14px; }.cart-item { display: grid; grid-template-columns: 70px minmax(0,1fr) auto; align-items: center; gap: 13px; padding: 13px 0; border-bottom: 1px solid var(--line); }.cart-item__color { width: 70px; height: 80px; background: linear-gradient(135deg,var(--coral),var(--pink),var(--teal),var(--lime)); }.cart-item__name { margin: 0 0 5px; font-family: var(--serif); font-size: 17px; line-height: 1; }.cart-item__price { margin: 0; color: var(--muted); font-size: 11px; }.remove-item { width: 23px; height: 23px; border: 0; color: var(--muted); background: transparent; font-size: 20px; }.cart-summary { padding-top: 18px; border-top: 1px solid var(--line); }.cart-summary > div { display: flex; justify-content: space-between; font-size: 13px; }.cart-summary > div strong { font-family: var(--serif); font-size: 19px; }.cart-summary p { margin: 8px 0 16px; color: var(--muted); font-size: 10px; }.cart-summary .button { width: 100%; }.screen-overlay { position: fixed; z-index: 40; inset: 0; background: rgba(22,20,20,.45); backdrop-filter: blur(3px); }

.article-dialog { width: min(calc(100% - 36px), 720px); max-height: min(690px, calc(100vh - 36px)); padding: clamp(30px, 5vw, 62px); border: 0; color: var(--ink); background: var(--paper); box-shadow: var(--shadow); overflow: auto; }.article-dialog::backdrop { background: rgba(22,20,20,.55); backdrop-filter: blur(3px); }.article-dialog .close-button { position: absolute; top: 20px; right: 20px; }.article-dialog h2 { max-width: 550px; margin: 0 0 23px; font-size: clamp(39px,5.5vw,62px); }.article-dialog #article-body { max-width: 580px; color: var(--muted); font-size: 15px; line-height: 1.72; }.article-dialog #article-body p { margin: 0 0 16px; }.article-dialog .button { margin-top: 10px; }.toast { position: fixed; z-index: 70; right: 20px; bottom: 20px; max-width: min(340px, calc(100vw - 40px)); padding: 13px 16px; color: #fffaf5; background: var(--ink); box-shadow: 0 10px 28px rgba(0,0,0,.2); font-size: 12px; font-weight: 600; opacity: 0; pointer-events: none; transform: translateY(12px); transition: opacity .22s, transform .22s; }.toast.is-visible { opacity: 1; transform: translateY(0); }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }.reveal.is-visible { opacity: 1; transform: translateY(0); }.reveal--delay { transition-delay: .13s; }.reveal--delay-2 { transition-delay: .24s; }

@media (max-width: 920px) { .site-header { grid-template-columns: 1fr auto; }.desktop-nav { display: none; }.menu-button { display: block; }.hero { grid-template-columns: minmax(0,1fr) minmax(320px,.85fr); gap: 33px; }.hero-card--eye { left: -12%; }.collector-note { gap: 45px; }.journal-feature { grid-template-columns: 1fr; }.journal-feature .journal-image { min-height: 385px; }.journal-feature .journal-copy { max-width: 480px; }.journal-grid { grid-template-columns: minmax(0,1fr) minmax(300px,.88fr); gap: 35px; }.journal-small { grid-template-columns: 135px minmax(0,1fr); }.about { gap: 54px; }.newsletter { grid-template-columns: minmax(0,1fr) minmax(300px,.85fr); gap: 37px; }.contact { gap: 55px; } }
@media (max-width: 720px) { .announcement { min-height: 34px; font-size: 9px; }.announcement a { display: none; }.site-header { min-height: 67px; }.brand-mark { width: 34px; }.brand-script { font-size: 23px; }.brand-art { font-size: 7px; }.icon-button { display: none; }.cart-button > span:nth-child(2) { display: none; }.mobile-menu { inset: 101px 0 auto; }.hero { min-height: auto; grid-template-columns: 1fr; padding-top: 55px; padding-bottom: 74px; }.hero-copy { max-width: 580px; }.hero h1 { font-size: clamp(52px, 15vw, 79px); }.hero-art { width: min(88%, 510px); justify-self: center; margin-top: 15px; }.hero-card--eye { top: 7%; left: -16%; }.hero-card--sticker { right: -10%; }.section-heading { display: block; }.section-lede { margin: 24px 0 0; }.shop-toolbar { display: block; margin-top: 32px; }.filter-group { padding-bottom: 14px; overflow-x: auto; flex-wrap: nowrap; }.filter-button { white-space: nowrap; }.sort-button { margin-top: 5px; }.product-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 34px 17px; }.product-card, .product-card--large, .product-card--tall, .product-card--wide { grid-column: auto; }.product-card--large { grid-column: span 2; }.product-card--wide { grid-column: span 2; }.product-card .art-stage, .product-card--tall .art-stage { min-height: 270px; }.product-card--large .art-stage { min-height: 405px; }.product-card--wide .art-stage { min-height: 250px; }.product-copy { display: block; }.product-actions { justify-content: space-between; margin-top: 9px; }.shop-footer { display: block; }.shop-footer .text-link { margin-top: 6px; }.collector-note { grid-template-columns: 1fr; padding-top: 73px; padding-bottom: 75px; }.collector-note__visual { min-height: 410px; max-width: 520px; width: 100%; }.collector-note__copy { max-width: 600px; }.mood-card__main { display: block; }.mood-swatches { height: 82px; margin-top: 35px; }.mood-swatches span { width: 34px; }.journal-grid { grid-template-columns: 1fr; }.journal-feature { grid-template-columns: minmax(0,1fr) minmax(165px,.62fr); }.journal-feature .journal-image { min-height: 390px; }.journal-side { grid-template-columns: 1fr 1fr; gap: 20px; }.journal-small { grid-template-columns: 1fr; align-items: start; }.journal-small .journal-image { min-height: 200px; }.about { grid-template-columns: 1fr; padding-top: 80px; padding-bottom: 80px; }.about-photo { max-width: 540px; width: 91%; min-height: 450px; }.newsletter { grid-template-columns: 1fr; gap: 28px; }.newsletter-form { max-width: 530px; }.contact { grid-template-columns: 1fr; gap: 42px; }.contact-form { max-width: 620px; }.footer-links { margin-left: 0; }.footer-bottom { align-items: start; flex-wrap: wrap; } }
@media (max-width: 460px) { .announcement p { font-size: 8px; }.hero-card--eye { left: -9%; width: 124px; }.hero-card--eye .eye-icon { width: 60px; flex-basis: 60px; }.hero-card--eye span { font-size: 7px; }.hero-card--sticker { width: 88px; height: 88px; right: -9%; }.hero-card--sticker strong { font-size: 17px; }.product-grid { grid-template-columns: 1fr; }.product-card--large, .product-card--wide { grid-column: auto; }.product-card .art-stage, .product-card--large .art-stage, .product-card--tall .art-stage, .product-card--wide .art-stage { min-height: 350px; }.journal-feature { grid-template-columns: 1fr; }.journal-feature .journal-image { min-height: 330px; }.journal-side { grid-template-columns: 1fr; }.journal-small { grid-template-columns: 122px minmax(0,1fr); }.journal-small .journal-image { min-height: 135px; }.journal-small .journal-copy { padding-top: 0; }.journal-small h3 { font-size: 25px; }.newsletter-form { grid-template-columns: 1fr; }.newsletter-form .button { width: 100%; }.form-row { grid-template-columns: 1fr; }.footer-brand { display: block; }.footer-brand p { margin-top: 19px; }.footer-links { grid-template-columns: repeat(2, minmax(110px,1fr)); width: 100%; margin-top: 43px; }.footer-bottom { display: grid; grid-template-columns: 1fr auto; }.footer-bottom p:nth-child(2) { display: none; }.cart-drawer { padding: 22px; }.about-photo { min-height: 380px; }.about-photo__caption { right: -12px; }.contact-form { padding: 25px 20px; } }
@media (max-width: 720px) { .product-card--large .art-slot { min-height: 405px; }.product-card--tall .art-slot { min-height: 270px; }.product-card--wide .art-slot { min-height: 250px; }.prints-heading { display: block; }.prints-heading > p { margin: 24px 0 0; }.print-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 34px 17px; }.print-card--featured { grid-column: span 1; }.print-slot { min-height: 295px; }.prints-release { display: block; }.prints-release .button { margin-top: 20px; } }
@media (max-width: 460px) { .product-card .art-slot, .product-card--large .art-slot, .product-card--tall .art-slot, .product-card--wide .art-slot { min-height: 350px; }.print-grid { grid-template-columns: 1fr; }.print-slot { min-height: 350px; }.print-paper { width: 52%; }.prints-release > div { align-items: start; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
