:root {
  --plm-ink: #302b2a;
  --plm-navy: #101b31;
  --plm-navy-2: #172742;
  --plm-burgundy: #8d1f3d;
  --plm-burgundy-dark: #4a0d22;
  --plm-gold: #e0a63b;
  --plm-gold-soft: #f0d49c;
  --plm-ivory: #fff9ef;
  --plm-paper: #f6efe3;
  --plm-lotus: #e9cfd9;
  --plm-line: rgba(48, 43, 42, .17);
  --plm-serif: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
  --plm-sans: "Avenir Next", "Segoe UI", Helvetica, Arial, sans-serif;
  --plm-max: 1240px;
  --plm-shadow: 0 28px 70px rgba(16, 27, 49, .15);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--plm-ivory); color: var(--plm-ink); font-family: var(--plm-sans); font-size: 16px; line-height: 1.65; }
body.menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { background: var(--plm-gold-soft); color: var(--plm-navy); }
:focus-visible { outline: 3px solid var(--plm-gold); outline-offset: 4px; }

.plm-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.plm-skip-link { position: fixed; z-index: 9999; top: 12px; left: 12px; padding: 12px 18px; background: var(--plm-ivory); color: var(--plm-navy); font-weight: 800; transform: translateY(-150%); }
.plm-skip-link:focus { transform: none; }
.plm-section { width: min(calc(100% - 48px), var(--plm-max)); margin-inline: auto; padding-block: clamp(76px, 10vw, 144px); }
.plm-label, .plm-eyebrow { margin: 0 0 18px; font-size: .68rem; font-weight: 850; letter-spacing: .2em; line-height: 1.35; text-transform: uppercase; }
.plm-eyebrow { color: var(--plm-gold); }
.plm-eyebrow--dark { color: var(--plm-burgundy); }

.plm-header { position: relative; z-index: 100; border-bottom: 1px solid rgba(16, 27, 49, .12); background: rgba(255, 249, 239, .96); color: var(--plm-navy); }
.plm-header__inner { width: min(calc(100% - 48px), 1420px); min-height: 72px; display: grid; grid-template-columns: minmax(150px, .8fr) auto minmax(150px, .8fr); gap: 28px; align-items: center; margin: auto; }
.plm-brand { min-width: 0; }
.custom-logo { display: block; width: auto; max-width: 170px; max-height: 42px; }
.plm-wordmark { display: inline-flex; gap: 10px; align-items: center; color: var(--plm-navy); font-size: .88rem; font-weight: 900; letter-spacing: .17em; text-decoration: none; text-transform: uppercase; }
.plm-wordmark > span { width: 32px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; color: var(--plm-burgundy); font-family: var(--plm-serif); font-size: 1rem; letter-spacing: 0; }
.plm-nav__list, .plm-footer__menu { display: flex; gap: 28px; align-items: center; margin: 0; padding: 0; list-style: none; }
.plm-nav a { position: relative; display: block; color: inherit; font-size: .8rem; font-weight: 700; text-decoration: none; }
.plm-nav a::after { position: absolute; right: 0; bottom: -7px; left: 0; height: 1px; background: currentColor; content: ""; transform: scaleX(0); transform-origin: right; transition: transform .25s ease; }
.plm-nav a:hover::after, .plm-nav .current-menu-item > a::after { transform: scaleX(1); transform-origin: left; }
.plm-header__actions { display: flex; gap: 14px; align-items: center; justify-content: flex-end; }
.plm-icon-link { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; text-decoration: none; }
.plm-icon-link:hover { background: rgba(16, 27, 49, .07); }
.plm-icon-link svg { width: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.6; }
.plm-cart-link { display: inline-flex; gap: 8px; align-items: center; color: inherit; font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.plm-cart-link small { min-width: 22px; height: 22px; display: grid; place-items: center; border-radius: 99px; background: var(--plm-navy); color: var(--plm-ivory); font-size: .66rem; }
.plm-nav-toggle { display: none; border: 0; padding: 8px; background: transparent; color: inherit; }

.plm-hero { min-height: min(880px, calc(100vh - 72px)); display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr); gap: clamp(48px, 8vw, 130px); align-items: center; position: relative; overflow: hidden; padding: clamp(70px, 8.5vw, 128px) max(24px, calc((100vw - var(--plm-max)) / 2)); background: radial-gradient(circle at 76% 28%, rgba(224, 166, 59, .18), transparent 27rem), linear-gradient(138deg, var(--plm-navy), #182945); color: var(--plm-ivory); }
.plm-hero::after { position: absolute; right: -14rem; bottom: -14rem; width: 28rem; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; box-shadow: 0 0 0 58px rgba(255,255,255,.02), 0 0 0 116px rgba(255,255,255,.015); content: ""; }
.plm-hero__copy { position: relative; z-index: 2; }
.plm-hero h1, .plm-page h1, .plm-contact h1, .plm-maker h1, .plm-404 h1 { margin: 0; font-family: var(--plm-serif); font-weight: 400; letter-spacing: -.055em; line-height: .88; text-wrap: balance; }
.plm-hero h1 { max-width: 8.2ch; font-size: clamp(4.3rem, 8.4vw, 8.8rem); }
.plm-hero__lede { max-width: 610px; margin: 28px 0 0; color: rgba(255, 249, 239, .72); font-size: clamp(1rem, 1.35vw, 1.18rem); }
.plm-actions { display: flex; gap: 22px; align-items: center; margin-top: 34px; }
.plm-button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 999px; padding: 12px 24px; font-size: .75rem; font-weight: 850; letter-spacing: .02em; line-height: 1.2; text-align: center; text-decoration: none; cursor: pointer; transition: transform .2s ease, background .2s ease, color .2s ease; }
.plm-button:hover { transform: translateY(-2px); }
.plm-button--ivory { background: var(--plm-ivory); color: var(--plm-navy); }
.plm-button--ink { background: var(--plm-navy); color: var(--plm-ivory); }
.plm-text-link { display: inline-flex; gap: 9px; align-items: center; font-size: .78rem; font-weight: 800; text-decoration: none; }
.plm-text-link span { transition: transform .2s ease; }
.plm-text-link:hover span { transform: translateY(3px); }
.plm-text-link--light { color: var(--plm-ivory); }
.plm-proof { display: flex; flex-wrap: wrap; gap: 14px 24px; margin: 38px 0 0; padding: 0; list-style: none; }
.plm-proof li { display: flex; gap: 9px; align-items: center; color: rgba(255,249,239,.68); font-size: .64rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.plm-proof li::before { color: var(--plm-gold); content: "✦"; }

.plm-hero__stage { min-height: 700px; display: grid; place-items: center; position: relative; z-index: 2; }
.plm-orbit { position: absolute; width: min(100%, 520px); aspect-ratio: 1; border: 1px solid rgba(255,249,239,.16); border-radius: 50%; animation: plm-orbit 35s linear infinite; }
.plm-orbit span { position: absolute; color: rgba(255,249,239,.48); font-size: .64rem; font-weight: 800; letter-spacing: .16em; }
.plm-orbit span:nth-child(1) { top: 6%; left: 49%; }
.plm-orbit span:nth-child(2) { top: 49%; right: -4%; }
.plm-orbit span:nth-child(3) { bottom: 4%; left: 49%; }
.plm-orbit span:nth-child(4) { top: 49%; left: -5%; }
.plm-phone { width: min(300px, 73vw); position: relative; border: 12px solid #09111f; border-radius: 44px; background: #09111f; box-shadow: 0 35px 90px rgba(0,0,0,.38); transform: rotate(3deg); }
.plm-phone__speaker { position: absolute; z-index: 5; top: 10px; left: 50%; width: 42%; height: 20px; border-radius: 20px; background: #09111f; transform: translateX(-50%); }
.plm-phone__viewport { aspect-ratio: 9/18; position: relative; overflow: hidden; border-radius: 31px; background: var(--plm-burgundy); }
.plm-invite { position: absolute; inset: 0; display: grid; align-content: center; justify-items: center; gap: 15px; overflow: hidden; padding: 42px 24px 80px; opacity: 0; transform: scale(1.025); transition: opacity .65s ease, transform .8s ease; text-align: center; pointer-events: none; }
.plm-invite.is-active { z-index: 1; opacity: 1; transform: scale(1); pointer-events: auto; }
.plm-invite > * { position: relative; z-index: 2; }
.plm-invite p, .plm-invite h2, .plm-invite strong, .plm-invite small { margin: 0; }
.plm-invite p, .plm-invite small { font-size: .52rem; font-weight: 850; letter-spacing: .17em; line-height: 1.5; text-transform: uppercase; }
.plm-invite h2 { max-width: 10ch; font-family: var(--plm-serif); font-size: clamp(1.7rem, 4vw, 2.15rem); font-weight: 400; letter-spacing: -.04em; line-height: .98; }
.plm-invite strong { font-size: .62rem; letter-spacing: .1em; }
.plm-invite small { margin-top: 14px; opacity: .66; }
.plm-invite__seal { width: 72px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; color: var(--plm-gold); font-family: var(--plm-serif); font-size: 1.1rem; }
.plm-invite--royal { background: radial-gradient(circle at 50% 20%, rgba(224,166,59,.15), transparent 30%), linear-gradient(160deg, #a82d43, var(--plm-burgundy-dark)); color: #fff2dc; }
.plm-invite--royal::before, .plm-invite--royal::after { position: absolute; right: -20%; left: -20%; height: 35%; border: 1px solid rgba(224,166,59,.42); border-radius: 50%; content: ""; }
.plm-invite--royal::before { top: -22%; }.plm-invite--royal::after { bottom: -22%; }
.plm-invite--saffron { background: repeating-conic-gradient(from -8deg at 50% 38%, rgba(255,255,255,.06) 0 7deg, transparent 7deg 14deg), linear-gradient(155deg, #db6b20, #ad2e20); color: #fff4dd; }
.plm-invite__om { width: 64px; height: 64px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; font-family: var(--plm-serif); font-size: 1.8rem; }
.plm-invite--cosmic { background: radial-gradient(circle at 24% 65%, #4485aa 0 16%, transparent 16.5%), radial-gradient(circle at 75% 37%, #9a397f 0 18%, transparent 18.5%), radial-gradient(circle, #fff 0 1px, transparent 1.5px) 0 0/32px 39px, linear-gradient(160deg, #331369, #15104a); color: #fff6ed; }
.plm-invite__planet { width: 102px; aspect-ratio: 1; border: 6px solid #f1b44d; border-radius: 50%; background: linear-gradient(145deg, #e373ad, #8256c7); box-shadow: 0 0 30px rgba(238,123,185,.36); }
.plm-invite__planet::after { position: absolute; top: 48%; left: 50%; width: 160px; height: 48px; border: 2px solid #55bad4; border-radius: 50%; content: ""; transform: translate(-50%,-50%) rotate(8deg); }
.plm-invite--lotus { background: radial-gradient(circle at 50% 47%, rgba(210,132,137,.72) 0 23%, transparent 23.5%), radial-gradient(circle at 50% 55%, rgba(236,187,116,.65) 0 38%, transparent 38.5%), linear-gradient(160deg, #fff5e5, #efd7b5); color: #4f1834; }
.plm-invite--lotus::before { position: absolute; inset: 22px; border: 2px double rgba(79,24,52,.28); border-bottom: 0; border-radius: 130px 130px 0 0; content: ""; }
.plm-invite__lotus { font-family: var(--plm-serif); font-size: 3rem; transform: rotate(180deg); }
.plm-invite--afterglow { background: radial-gradient(circle at 50% 42%, rgba(242,164,61,.26), transparent 25%), linear-gradient(155deg, #160b13, #2a0e1d); color: #fff0dc; }
.plm-invite__rings { width: 118px; height: 60px; border: 2px solid #e89b37; border-radius: 50%; transform: rotate(-8deg); }
.plm-invite__rings::after { position: absolute; inset: 4px 18px; border: 2px solid #8b5cf6; border-radius: 50%; content: ""; transform: rotate(72deg); }
.plm-carousel-controls { position: absolute; z-index: 6; right: 15px; bottom: 16px; left: 15px; display: flex; gap: 10px; align-items: center; justify-content: space-between; }
.plm-carousel-dots { display: flex; gap: 8px; align-items: center; min-height: 40px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; padding: 0 13px; background: rgba(9,17,31,.64); backdrop-filter: blur(8px); }
.plm-carousel-dot { width: 8px; height: 8px; border: 0; border-radius: 99px; padding: 0; background: rgba(255,255,255,.55); cursor: pointer; transition: width .2s ease, background .2s ease; }
.plm-carousel-dot.is-active { width: 26px; background: var(--plm-gold); }
.plm-carousel-toggle { min-width: 84px; min-height: 40px; display: inline-flex; gap: 6px; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; padding: 0 11px; background: rgba(9,17,31,.8); color: #fff; font-size: .58rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.plm-carousel-toggle svg { width: 13px; fill: currentColor; }
.plm-carousel-toggle__play { display: none; }
.plm-carousel-toggle.is-paused .plm-carousel-toggle__pause { display: none; }
.plm-carousel-toggle.is-paused .plm-carousel-toggle__play { display: block; }
.plm-stage-note { position: absolute; right: -5px; bottom: 40px; margin: 0; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; padding: 10px 15px; background: rgba(53,45,63,.78); color: var(--plm-ivory); font-size: .6rem; font-weight: 700; letter-spacing: .03em; backdrop-filter: blur(8px); }

.plm-section-heading { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(260px, .65fr); gap: 50px; align-items: end; margin-bottom: clamp(38px, 6vw, 72px); }
.plm-section-heading h2, .plm-free-maker h2, .plm-process h2, .plm-maker__placeholder h2 { max-width: 13ch; margin: 0; font-family: var(--plm-serif); font-size: clamp(2.65rem, 5.6vw, 5.5rem); font-weight: 400; letter-spacing: -.05em; line-height: .95; text-wrap: balance; }
.plm-section-heading > p { max-width: 520px; margin: 0; color: rgba(48,43,42,.7); }
.plm-occasion-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--plm-line); border-left: 1px solid var(--plm-line); }
.plm-occasion { min-height: 210px; display: grid; align-content: start; position: relative; border-right: 1px solid var(--plm-line); border-bottom: 1px solid var(--plm-line); padding: 28px; color: inherit; text-decoration: none; transition: background .25s ease, color .25s ease; }
.plm-occasion > span { width: 42px; aspect-ratio: 1; display: grid; place-items: center; margin-bottom: 22px; border: 1px solid currentColor; border-radius: 50%; color: var(--plm-burgundy); font-family: var(--plm-serif); }
.plm-occasion strong { margin-bottom: 7px; font-family: var(--plm-serif); font-size: 1.25rem; font-weight: 500; }
.plm-occasion small { color: rgba(48,43,42,.62); font-size: .76rem; line-height: 1.5; }
.plm-occasion em { margin-top: 18px; color: var(--plm-burgundy); font-size: .64rem; font-style: normal; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; opacity: 0; transform: translateY(5px); transition: opacity .2s ease, transform .2s ease; }
.plm-occasion:hover { background: var(--plm-navy); color: var(--plm-ivory); }
.plm-occasion:hover > span { color: var(--plm-gold); }.plm-occasion:hover small { color: rgba(255,249,239,.65); }.plm-occasion:hover em { color: var(--plm-gold); opacity: 1; transform: none; }

.plm-templates { padding-top: 60px; }
.plm-fallback-grid, .plm-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 38px 16px; margin: 0; padding: 0; list-style: none; }
.plm-template-card__art { min-height: 440px; display: grid; align-content: center; justify-items: center; gap: 22px; overflow: hidden; position: relative; border-radius: 18px; color: #fff; text-align: center; text-decoration: none; box-shadow: 0 16px 42px rgba(16,27,49,.08); transition: transform .25s ease, box-shadow .25s ease; }
.plm-template-card__art:hover { transform: translateY(-6px); box-shadow: var(--plm-shadow); }
.plm-template-card__art > * { position: relative; z-index: 2; }
.plm-template-card__art > span { width: 70px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-family: var(--plm-serif); font-size: 1.3rem; }
.plm-template-card__art > strong { max-width: 10ch; font-family: var(--plm-serif); font-size: 2rem; font-weight: 400; line-height: 1; }
.plm-template-card__art > small { font-size: .54rem; font-weight: 850; letter-spacing: .17em; text-transform: uppercase; }
.plm-template-card--royal .plm-template-card__art { background: linear-gradient(145deg,#932544,#4a0d22); color:#fff1dd; }
.plm-template-card--saffron .plm-template-card__art { background: repeating-conic-gradient(from 0deg at 50% 48%,rgba(255,255,255,.05) 0 7deg,transparent 7deg 14deg),linear-gradient(145deg,#d46321,#aa281f); }
.plm-template-card--cosmic .plm-template-card__art { background: radial-gradient(circle at 18% 75%,#4687aa 0 13%,transparent 13.5%),radial-gradient(circle at 76% 32%,#963875 0 17%,transparent 17.5%),linear-gradient(150deg,#33136b,#171050); }
.plm-template-card--lotus .plm-template-card__art { background: radial-gradient(circle at 50% 48%,rgba(208,119,130,.67) 0 20%,transparent 20.5%),radial-gradient(circle at 50% 55%,rgba(239,187,113,.7) 0 36%,transparent 36.5%),linear-gradient(150deg,#fff4e4,#edd3af); color:#531a39; }
.plm-template-card > div { display: grid; grid-template-columns: 1fr auto; gap: 0 12px; align-items: start; padding: 16px 5px 0; }
.plm-template-card p { grid-column: 1/-1; margin: 0 0 4px; color: rgba(48,43,42,.58); font-size: .62rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.plm-template-card h3, .plm-template-card > div > strong { margin: 0; font-size: .84rem; }
.plm-template-card h3 { font-family: var(--plm-sans); }
.plm-section-cta { display: flex; justify-content: center; margin-top: 52px; }

.woocommerce ul.products.plm-product-grid::before, .woocommerce ul.products.plm-product-grid::after { display: none; }
.woocommerce ul.products.plm-product-grid li.product, .woocommerce-page ul.products.plm-product-grid li.product { width: auto; float: none; margin: 0; }
.plm-shop ul.products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 50px 22px; clear: both; margin: 0; }
.plm-shop ul.products::before, .plm-shop ul.products::after { display: none; }
.woocommerce .plm-shop ul.products li.product, .woocommerce-page .plm-shop ul.products li.product { width: auto; float: none; margin: 0; }
.woocommerce ul.products li.product a img { aspect-ratio: 4/5.35; margin: 0 0 16px; border-radius: 18px; object-fit: cover; background: var(--plm-paper); box-shadow: 0 14px 38px rgba(16,27,49,.08); transition: transform .25s ease, box-shadow .25s ease; }
.woocommerce ul.products li.product a:hover img { transform: translateY(-5px); box-shadow: var(--plm-shadow); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; color: var(--plm-ink); font-family: var(--plm-serif); font-size: 1.25rem; font-weight: 500; line-height: 1.15; }
.woocommerce ul.products li.product .price { color: var(--plm-burgundy); font-size: .78rem; font-weight: 850; }
.woocommerce ul.products li.product .button { margin-top: 12px; border-radius: 999px; padding: 11px 17px; background: var(--plm-navy); color: var(--plm-ivory); font-size: .7rem; }
.woocommerce span.onsale { min-width: 0; min-height: 0; top: 12px; left: 12px; border-radius: 999px; padding: 6px 11px; background: var(--plm-burgundy); font-size: .62rem; line-height: 1.2; }

.plm-free-maker { width: min(calc(100% - 48px), var(--plm-max)); display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(50px,8vw,120px); align-items: center; margin: 0 auto clamp(90px,12vw,160px); overflow: hidden; border-radius: 26px; padding: clamp(48px,7vw,92px); background: radial-gradient(circle at 15% 50%,rgba(224,166,59,.18),transparent 25rem),var(--plm-burgundy-dark); color: var(--plm-ivory); }
.plm-free-maker__mark { aspect-ratio: 1; display: grid; place-items: center; position: relative; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; }
.plm-free-maker__mark::after { position: absolute; width: 65%; aspect-ratio: 1; border: 1px solid rgba(224,166,59,.45); border-radius: 50%; content:""; }
.plm-free-maker__mark span { position: absolute; font-family: var(--plm-serif); font-size: clamp(1.4rem,3vw,2.6rem); }
.plm-free-maker__mark span:nth-child(1){top:12%;}.plm-free-maker__mark span:nth-child(2){right:7%;bottom:22%;}.plm-free-maker__mark span:nth-child(3){left:7%;bottom:22%;}
.plm-free-maker h2 { max-width: 10ch; }
.plm-free-maker__copy > p:not(.plm-eyebrow) { max-width: 600px; color: rgba(255,249,239,.7); }

.plm-process { display: grid; grid-template-columns: minmax(300px,.8fr) minmax(0,1.2fr); gap: clamp(50px,10vw,150px); padding: clamp(80px,10vw,140px) max(24px,calc((100vw - var(--plm-max))/2)); background: var(--plm-navy); color: var(--plm-ivory); }
.plm-process h2 { max-width: 9ch; }
.plm-process ol { margin: 0; padding: 0; list-style: none; }
.plm-process li { display: grid; grid-template-columns: 48px 1fr; gap: 22px; border-top: 1px solid rgba(255,255,255,.2); padding: 28px 0; }
.plm-process li > span { color: var(--plm-gold); font-size: .68rem; font-weight: 850; letter-spacing: .15em; }
.plm-process h3 { margin: 0; font-family: var(--plm-serif); font-size: 1.7rem; font-weight: 400; }
.plm-process li p { max-width: 620px; margin: 7px 0 0; color: rgba(255,249,239,.66); font-size: .88rem; }

.plm-footer { padding: 70px max(24px,calc((100vw - var(--plm-max))/2)) 22px; background: #0b1425; color: var(--plm-ivory); }
.plm-footer__inner { display: grid; grid-template-columns: 1.2fr .7fr .9fr; gap: 60px; padding-bottom: 65px; }
.plm-wordmark--footer { color: var(--plm-ivory); }
.plm-footer__statement p { max-width: 390px; color: rgba(255,249,239,.6); }
.plm-footer .plm-label { color: var(--plm-gold); }
.plm-footer__menu, .plm-footer .plm-nav__list { display: grid; gap: 7px; }
.plm-footer__menu a { color: rgba(255,249,239,.76); font-size: .82rem; text-decoration: none; }
.plm-footer__contact > a { display: block; max-width: 270px; font-family: var(--plm-serif); font-size: 1.45rem; line-height: 1.25; text-decoration: none; }
.plm-footer__contact small { display: block; margin-top: 20px; color: rgba(255,249,239,.5); }
.plm-footer__base { display: flex; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.13); padding-top: 22px; color: rgba(255,249,239,.42); font-size: .68rem; }
.plm-footer__base p { margin: 0; }

.plm-page, .plm-contact { min-height: 65vh; }
.plm-page__header { margin-bottom: 55px; }
.plm-page h1, .plm-contact h1 { max-width: 12ch; font-size: clamp(3.4rem,7vw,7.5rem); }
.plm-prose { max-width: 850px; }
.plm-prose > *:not(.plm-page__header):not(.alignwide):not(.alignfull) { max-width: 740px; }
.plm-prose h2, .plm-prose h3 { margin-top: 1.8em; font-family: var(--plm-serif); font-weight: 400; line-height: 1.1; }
.plm-prose h2 { font-size: 2.4rem; }.plm-prose h3 { font-size: 1.65rem; }
.plm-post-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:45px 24px; }
.plm-post-card img { aspect-ratio:4/3;object-fit:cover;border-radius:14px; }.plm-post-card h2 { margin:.2em 0;font-family:var(--plm-serif);font-size:1.8rem;line-height:1.1; }.plm-post-card h2 a{text-decoration:none;}
.plm-contact { display:grid;grid-template-columns:minmax(0,.9fr) minmax(380px,1.1fr);gap:clamp(50px,9vw,130px);align-items:start; }
.plm-contact__intro > p:not(.plm-eyebrow){max-width:560px;color:rgba(48,43,42,.68);}.plm-contact dl{margin-top:50px;border-top:1px solid var(--plm-line);}.plm-contact dl div{display:grid;grid-template-columns:140px 1fr;gap:20px;border-bottom:1px solid var(--plm-line);padding:18px 0;}.plm-contact dt{font-size:.67rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;}.plm-contact dd{margin:0;color:rgba(48,43,42,.66);}
.plm-contact__panel{border:1px solid var(--plm-line);border-radius:22px;padding:clamp(28px,5vw,58px);background:#fffdf8;box-shadow:var(--plm-shadow);}
.plm-form{display:grid;gap:20px}.plm-form label{display:grid;gap:8px}.plm-form label>span{font-size:.7rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.plm-form input,.plm-form select,.plm-form textarea,.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{width:100%;border:1px solid rgba(48,43,42,.3);border-radius:10px;padding:13px 14px;background:#fff;color:var(--plm-ink)}.plm-form textarea{resize:vertical}.plm-notice{margin-bottom:22px;border-left:4px solid;padding:14px 16px;background:var(--plm-paper);font-size:.85rem}.plm-notice--success{border-color:#2e7256}.plm-notice--error{border-color:var(--plm-burgundy)}
.plm-maker { min-height:70vh;background:linear-gradient(165deg,var(--plm-navy),#243656); }.plm-maker__hero{width:min(calc(100% - 48px),var(--plm-max));margin:auto;padding:clamp(75px,10vw,130px) 0 55px;color:var(--plm-ivory)}.plm-maker h1{max-width:11ch;font-size:clamp(3.8rem,8vw,8rem)}.plm-maker__hero>p:last-child{max-width:660px;color:rgba(255,249,239,.7)}.plm-maker__workspace{width:min(calc(100% - 48px),var(--plm-max));margin:auto;padding-bottom:120px}.plm-maker__placeholder{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:clamp(45px,8vw,110px);align-items:center;border-radius:26px;padding:clamp(35px,6vw,75px);background:var(--plm-ivory)}.plm-maker__card{aspect-ratio:3/4;display:grid;align-content:center;justify-items:center;gap:12px;position:relative;overflow:hidden;border:1px solid rgba(141,31,61,.24);padding:28px;background:radial-gradient(circle at 50% 22%,rgba(224,166,59,.18),transparent 25%),#fffaf0;color:var(--plm-burgundy-dark);text-align:center;box-shadow:var(--plm-shadow)}.plm-maker__card::after{position:absolute;inset:18px;border:1px double rgba(141,31,61,.25);border-radius:160px 160px 0 0;content:""}.plm-maker__card>*{position:relative;z-index:2}.plm-maker__card>span{font-size:2rem}.plm-maker__card h2{font-family:var(--plm-serif);font-size:2.4rem}.plm-maker__card small{text-transform:uppercase;letter-spacing:.15em}.plm-maker__placeholder>div:last-child>p:not(.plm-eyebrow){max-width:560px;color:rgba(48,43,42,.68)}
.plm-404 { min-height:72vh;display:grid;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);gap:clamp(50px,10vw,140px);align-items:center;padding:clamp(75px,10vw,130px) max(24px,calc((100vw - var(--plm-max))/2));background:radial-gradient(circle at 20% 50%,rgba(224,166,59,.15),transparent 25rem),var(--plm-navy);color:var(--plm-ivory)}.plm-404 h1{max-width:9ch;font-size:clamp(4rem,8vw,8rem)}.plm-404>div:last-child>p:not(.plm-eyebrow){max-width:600px;color:rgba(255,249,239,.68)}.plm-404__orbit{aspect-ratio:1;display:flex;align-items:center;justify-content:space-around;position:relative;border:1px solid rgba(255,255,255,.15);border-radius:50%;font-family:var(--plm-serif);font-size:clamp(4rem,9vw,9rem)}.plm-404__orbit i{width:28%;aspect-ratio:1;border:5px solid var(--plm-gold);border-radius:50%;box-shadow:0 0 0 22px rgba(224,166,59,.07)}

.plm-shop { min-height:65vh;padding-block:clamp(70px,9vw,130px) }.plm-shop__header{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;margin-bottom:55px}.plm-shop__header h1{margin:0;font-family:var(--plm-serif);font-size:clamp(3.5rem,7vw,7rem);font-weight:400;letter-spacing:-.05em;line-height:.9}.plm-shop__header p:last-child{max-width:430px;color:rgba(48,43,42,.65)}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{margin-bottom:30px;font-size:.78rem}.woocommerce .woocommerce-ordering select{border:1px solid var(--plm-line);border-radius:999px;padding:9px 34px 9px 14px;background:transparent}.woocommerce nav.woocommerce-pagination ul{border:0}.woocommerce nav.woocommerce-pagination ul li{border:0;margin:4px}.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{min-width:40px;height:40px;display:grid;place-items:center;border-radius:50%;padding:0}.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--plm-navy);color:var(--plm-ivory)}
.plm-product{min-height:70vh;padding-block:clamp(60px,8vw,120px)}.plm-product>.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:clamp(45px,8vw,110px)}.plm-product .woocommerce-product-gallery,.plm-product .summary{width:auto!important;float:none!important}.plm-product .woocommerce-product-gallery img{border-radius:20px}.plm-product .product_title{font-family:var(--plm-serif);font-size:clamp(3rem,5.5vw,6rem);font-weight:400;letter-spacing:-.05em;line-height:.92}.plm-product .price{color:var(--plm-burgundy)!important;font-size:1.25rem!important;font-weight:850}.woocommerce div.product form.cart .button,.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce input.button.alt{min-height:48px;border-radius:999px;padding:12px 22px;background:var(--plm-navy);color:var(--plm-ivory)}.woocommerce div.product form.cart .variations select{min-height:45px;border:1px solid var(--plm-line);border-radius:8px;padding:8px}.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0}.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-color:var(--plm-line)}.woocommerce div.product .woocommerce-tabs ul.tabs li{border:0;background:transparent}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom:2px solid var(--plm-burgundy)}.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--plm-burgundy);background:var(--plm-paper)}.woocommerce-message::before,.woocommerce-info::before{color:var(--plm-burgundy)}
.plm-product .product_meta .sku_wrapper,.plm-product .product_meta .tagged_as{display:none}.plm-product .product_meta .posted_in{display:block}
.plm-demo-entry{display:grid;gap:14px;margin:26px 0;padding:20px;border:1px solid color-mix(in srgb,var(--plm-burgundy) 24%,var(--plm-line));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--plm-burgundy) 7%,var(--plm-paper)),var(--plm-paper));box-shadow:0 18px 55px rgba(16,27,49,.06)}.plm-demo-entry>div{display:grid;gap:4px}.plm-demo-entry>div span{color:var(--plm-burgundy);font-size:.68rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.plm-demo-entry>div strong{color:var(--plm-navy);font-family:var(--plm-serif);font-size:1.14rem;font-weight:500}.plm-demo-entry>a{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:50px;padding:12px 14px 12px 17px;border-radius:999px;color:var(--plm-ivory);background:var(--plm-navy);font-size:.78rem;font-weight:820;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.plm-demo-entry>a span{display:grid;flex:0 0 auto;width:32px;height:32px;place-items:center;border-radius:50%;color:var(--plm-navy);background:var(--plm-gold)}.plm-demo-entry>a:hover,.plm-demo-entry>a:focus-visible{transform:translateY(-2px);box-shadow:0 12px 30px rgba(16,27,49,.18)}
@supports selector(.product:has(.pxp-personalizer)) {
  .plm-product>.product:has(.pxp-personalizer){grid-template-columns:minmax(280px,.64fr) minmax(0,1.36fr);gap:clamp(36px,5vw,72px);align-items:start}
  .plm-product>.product:has(.pxp-personalizer)>.woocommerce-tabs,
  .plm-product>.product:has(.pxp-personalizer)>.related{grid-column:1/-1;width:100%}
}

@keyframes plm-orbit { to { transform: rotate(360deg); } }
@media (max-width: 1080px) {
  .plm-header__inner { grid-template-columns: 1fr auto; }.plm-nav-toggle{display:inline-flex;gap:10px;align-items:center;justify-self:end}.plm-nav-toggle__label{font-size:.72rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.plm-nav-toggle__icon{width:20px;display:grid;gap:5px}.plm-nav-toggle__icon i{height:1px;background:currentColor;transition:transform .2s ease}.plm-nav-toggle[aria-expanded="true"] .plm-nav-toggle__icon i:first-child{transform:translateY(3px) rotate(45deg)}.plm-nav-toggle[aria-expanded="true"] .plm-nav-toggle__icon i:last-child{transform:translateY(-3px) rotate(-45deg)}.plm-nav{position:absolute;top:100%;right:0;left:0;display:none;border-top:1px solid var(--plm-line);padding:24px;background:var(--plm-ivory);box-shadow:0 20px 40px rgba(16,27,49,.12)}.plm-nav.is-open{display:block}.plm-nav__list{display:grid;gap:0}.plm-nav li{border-bottom:1px solid var(--plm-line)}.plm-nav a{padding:12px 0;font-size:1rem}.plm-header__actions{display:none}.plm-hero{grid-template-columns:1fr 390px;gap:40px}.plm-hero h1{font-size:clamp(4.3rem,8.5vw,7rem)}.plm-occasion-grid{grid-template-columns:repeat(2,1fr)}.plm-fallback-grid,.plm-product-grid{grid-template-columns:repeat(2,1fr)}.plm-template-card__art{min-height:520px}.plm-product>.product{grid-template-columns:1fr 1fr;gap:45px}.plm-shop ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 820px) {
  .plm-hero{grid-template-columns:1fr;min-height:0;padding-top:85px}.plm-hero__stage{min-height:680px}.plm-section-heading{grid-template-columns:1fr;gap:20px}.plm-free-maker,.plm-process,.plm-contact,.plm-maker__placeholder,.plm-404{grid-template-columns:1fr}.plm-free-maker__mark{max-width:380px}.plm-process{gap:60px}.plm-footer__inner{grid-template-columns:1fr 1fr}.plm-footer__statement{grid-column:1/-1}.plm-post-grid{grid-template-columns:repeat(2,1fr)}.plm-product>.product{grid-template-columns:1fr}.plm-maker__card{max-width:420px;margin:auto}.plm-404__orbit{max-width:450px}.plm-shop__header{grid-template-columns:1fr}
  @supports selector(.product:has(.pxp-personalizer)) {.plm-product>.product:has(.pxp-personalizer){grid-template-columns:1fr;gap:42px}}
}
@media (max-width: 560px) {
  .plm-section{width:min(calc(100% - 28px),var(--plm-max));padding-block:75px}.plm-header__inner{width:calc(100% - 28px);min-height:64px}.plm-wordmark{font-size:.74rem}.plm-wordmark>span{width:28px}.plm-hero{padding:70px 18px 80px}.plm-hero h1{font-size:clamp(3.8rem,18vw,6.2rem)}.plm-hero__lede{font-size:.96rem}.plm-actions{display:grid;align-items:stretch}.plm-button{width:100%}.plm-text-link{justify-content:center}.plm-proof{gap:10px 15px}.plm-hero__stage{min-height:600px}.plm-phone{width:250px}.plm-stage-note{right:0;bottom:16px}.plm-carousel-toggle{min-width:78px}.plm-occasion-grid{grid-template-columns:1fr}.plm-occasion{min-height:170px}.plm-fallback-grid,.plm-product-grid,.plm-shop ul.products{grid-template-columns:1fr}.plm-template-card__art{min-height:470px}.plm-free-maker{width:calc(100% - 28px);margin-bottom:75px;padding:38px 24px}.plm-free-maker__mark{max-width:280px}.plm-free-maker h2,.plm-section-heading h2,.plm-process h2,.plm-maker__placeholder h2{font-size:clamp(2.7rem,13vw,4rem)}.plm-process{padding-inline:18px}.plm-footer{padding-inline:18px}.plm-footer__inner{grid-template-columns:1fr}.plm-footer__statement{grid-column:auto}.plm-footer__base{display:grid;gap:7px}.plm-contact{width:calc(100% - 28px)}.plm-contact h1,.plm-page h1{font-size:clamp(3.1rem,15vw,5rem)}.plm-contact__panel{padding:26px 18px}.plm-contact dl div{grid-template-columns:1fr;gap:3px}.plm-post-grid{grid-template-columns:1fr}.plm-maker__hero,.plm-maker__workspace{width:calc(100% - 28px)}.plm-maker h1{font-size:clamp(3.3rem,16vw,5.4rem)}.plm-maker__placeholder{padding:24px 16px}.plm-404{padding-inline:18px}.plm-404 h1{font-size:clamp(3.6rem,16vw,5.6rem)}.plm-shop{width:calc(100% - 28px)}.woocommerce ul.products[class*=columns-] li.product{width:100%;float:none;margin:0 0 32px}.woocommerce div.product .product_title{font-size:3.2rem}
}
@media (prefers-reduced-motion: reduce) {
  html{scroll-behavior:auto}.plm-orbit{animation:none}.plm-invite,.plm-button,.plm-template-card__art,.plm-occasion,.plm-nav a::after,.woocommerce ul.products li.product a img{transition:none!important}.plm-invite{transform:none}.plm-button:hover,.plm-template-card__art:hover,.woocommerce ul.products li.product a:hover img{transform:none}
}
