@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');

:root { --ink:#172c3c; --ink-soft:#48606c; --cream:#f4f0e8; --paper:#e9e1d2; --paper-deep:#d8cbb7; --rose:#b56d5e; --rose-dark:#8f5047; --gold:#aa8b54; --line:rgba(23,44,60,.18); --white:#fbfaf6; --shadow:0 24px 70px rgba(33,43,48,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:'DM Sans',Arial,sans-serif; line-height:1.55; }
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
.section-shell { width:min(1180px,calc(100% - 48px)); margin:0 auto; }
.announcement { background:var(--ink); color:var(--cream); text-align:center; padding:9px 16px; font-size:11px; letter-spacing:.09em; text-transform:uppercase; }
.announcement a { color:#e6bd9a; margin-left:12px; }
.site-header { display:flex; align-items:center; justify-content:space-between; width:min(1280px,calc(100% - 48px)); margin:0 auto; min-height:88px; position:relative; z-index:5; }
.wordmark { display:flex; align-items:center; gap:11px; letter-spacing:-.02em; }
.wordmark-mark { width:31px; height:31px; border:1px solid var(--gold); border-radius:50%; color:var(--rose); display:grid; place-items:center; font-size:14px; }
.wordmark strong,.wordmark small { display:block; }
.wordmark strong { font-family:'Playfair Display',Georgia,serif; font-weight:600; font-size:18px; }
.wordmark small { font-family:'DM Mono',monospace; font-size:8px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); margin-top:1px; }
.site-nav { display:flex; gap:28px; align-items:center; font-family:'DM Mono',monospace; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.site-nav a:not(.nav-cta) { opacity:.72; transition:opacity .2s; }
.site-nav a:not(.nav-cta):hover { opacity:1; }
.nav-cta { background:var(--rose); color:var(--white); padding:13px 16px; border-radius:3px; }
.nav-cta span { margin-left:8px; }
.menu-toggle { display:none; border:0; background:none; color:var(--ink); text-transform:uppercase; letter-spacing:.1em; font:10px 'DM Mono',monospace; }
.hero { display:grid; grid-template-columns:1fr 1.02fr; gap:56px; align-items:center; min-height:660px; padding:55px 0 90px; }
.eyebrow { display:flex; align-items:center; gap:10px; font:10px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.14em; color:var(--rose-dark); }
.eyebrow span { width:26px; height:1px; background:var(--rose); display:inline-block; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font:500 clamp(46px,6vw,80px)/.98 'Playfair Display',Georgia,serif; letter-spacing:-.055em; }
h1 em,h2 em,h3 em { color:var(--rose); font-weight:500; }
.hero h1 { max-width:620px; margin:24px 0 25px; }
.hero-lede { max-width:485px; color:var(--ink-soft); font-size:16px; }
.hero-actions { display:flex; align-items:center; gap:24px; margin:32px 0 44px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:18px; border:0; border-radius:3px; padding:16px 20px; font:10px 'DM Mono',monospace; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button-dark { background:var(--ink); color:var(--white); }
.button-dark:hover { background:#274558; }
.button-light { background:var(--cream); color:var(--ink); }
.text-link { font:10px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.1em; border-bottom:1px solid var(--gold); padding-bottom:6px; }
.hero-proof { display:flex; align-items:center; gap:12px; color:var(--ink-soft); font-size:11px; }
.hero-proof strong { color:var(--ink); font-weight:600; }
.avatar-stack { display:flex; padding-left:8px; }
.avatar-stack i { display:grid; place-items:center; width:25px; height:25px; margin-left:-8px; border:2px solid var(--cream); border-radius:50%; color:var(--white); background:var(--rose); font:9px 'DM Mono',monospace; font-style:normal; }
.avatar-stack i:nth-child(2) { background:var(--ink); }.avatar-stack i:nth-child(3) { background:var(--gold); }
.hero-art { position:relative; padding:28px 42px 36px 35px; }
.art-frame { position:relative; background:#d0c9bf; padding:11px; transform:rotate(2.2deg); box-shadow:var(--shadow); }
.art-frame:after { content:''; position:absolute; inset:-16px 10px 10px -13px; border:1px solid var(--gold); z-index:-1; }
.art-frame img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.art-note { position:absolute; z-index:2; left:0; top:3px; color:var(--rose-dark); font:14px/1.3 'Playfair Display',serif; transform:rotate(-8deg); }
.art-note:before { content:'✧'; display:block; color:var(--gold); font-size:22px; }
.art-stamp { position:absolute; right:-3px; bottom:7px; display:grid; place-items:center; width:76px; height:76px; border:1px solid var(--rose); border-radius:50%; color:var(--rose-dark); text-align:center; text-transform:uppercase; font:8px/1.2 'DM Mono',monospace; transform:rotate(11deg); background:var(--cream); }
.art-stamp span { color:var(--ink); }
.marquee { border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden; white-space:nowrap; background:var(--paper); }
.marquee-track { display:flex; justify-content:space-around; align-items:center; gap:30px; min-width:max-content; padding:17px 0; color:var(--rose-dark); font:11px 'DM Mono',monospace; letter-spacing:.13em; }
.marquee i { color:var(--gold); font-style:normal; }
.section-pad { padding:116px 0; }
.section-intro { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:45px; }
.section-intro h2 { font-size:58px; margin:18px 0 0; }
.section-intro > p { max-width:340px; color:var(--ink-soft); font-size:14px; margin-bottom:8px; }
.collection-grid { display:grid; grid-template-columns:1.18fr .94fr .94fr; gap:18px; align-items:end; }
.collection-card { display:block; padding:21px; min-height:484px; transition:transform .3s,box-shadow .3s; overflow:hidden; }
.collection-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
.card-love { background:#d8d8d0; }.card-life { background:#d4d8d3; min-height:430px; }.card-remembrance { background:#d9d1c4; min-height:394px; }
.card-top { display:flex; justify-content:space-between; font:9px 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; opacity:.75; }
.card-illustration { position:relative; min-height:275px; margin:21px -21px 12px; overflow:hidden; }
.love-illustration { background:radial-gradient(circle at 50% 50%,transparent 0 11%,rgba(181,109,94,.12) 11.2% 11.7%,transparent 12%),linear-gradient(140deg,#c6d2d1,#e4e1d5); }
.orb { position:absolute; width:84px; height:84px; border-radius:50%; border:1px solid var(--rose); }.orb-a{left:20%;top:20%;}.orb-b{right:16%;bottom:19%;width:55px;height:55px;}
.route { position:absolute; border-top:1px solid var(--gold); transform-origin:left; }.route-a{width:80%;left:12%;top:45%;transform:rotate(28deg)}.route-b{width:67%;left:18%;top:61%;transform:rotate(-20deg)}
.heart { position:absolute; left:48%; top:34%; font-size:50px; color:var(--rose-dark); font-family:serif; }
.city-label { position:absolute; font:8px 'DM Mono',monospace; color:var(--ink); letter-spacing:.08em; }.city-a{left:8%;top:58%;}.city-b{right:5%;top:24%;}
.journey-illustration { background:linear-gradient(165deg,#c4d1d0,#e0dfd3); }.route-c{width:84%;left:10%;top:50%;transform:rotate(-14deg)}.route-d{width:64%;left:29%;top:53%;transform:rotate(33deg)}
.pin { position:absolute; display:grid; place-items:center; width:32px;height:32px;border:1px solid var(--rose); border-radius:50%; background:rgba(244,240,232,.8); color:var(--rose-dark); font:9px 'DM Mono',monospace; }.pin-a{left:13%;top:31%;}.pin-b{left:46%;top:61%;}.pin-c{right:12%;top:23%;}.journey-caption,.memorial-caption{position:absolute;left:13%;bottom:26px;font:19px/1.1 'Playfair Display',serif;}.journey-caption em,.memorial-caption em{color:var(--rose-dark)}
.memorial-illustration { background:radial-gradient(circle,#e6ddd2 1px,transparent 1px) 0 0/16px 16px,#ddd3c4; }.constellation{position:absolute;width:140px;height:115px;border:1px solid var(--gold);border-radius:50%;}.c-one{left:10%;top:21%;transform:rotate(38deg)}.c-two{right:4%;bottom:15%;transform:rotate(-26deg)}.paw{position:absolute;right:26%;top:27%;color:var(--rose);font-size:38px}.memorial-caption{left:15%;bottom:24px}
.collection-card h3 { font:500 31px/1.02 'Playfair Display',serif; letter-spacing:-.04em; margin:0 0 11px; }.collection-card p { margin:0; color:var(--ink-soft); font-size:12px; }
.paper-section { background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.intro-wide { align-items:end; }.steps-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--line); }.step { min-height:245px; padding:26px 26px 0 0; border-right:1px solid var(--line); margin-right:26px; position:relative; }.step:last-child{border:0;margin:0}.step-number{font:10px 'DM Mono',monospace;color:var(--rose-dark)}.step-icon{display:block;color:var(--gold);font-size:34px;margin:33px 0 15px}.step h3{font:500 21px 'Playfair Display',serif;margin:0 0 10px}.step p{font-size:12px;color:var(--ink-soft);max-width:200px}
.examples-section { background:var(--cream); }.example-layout { display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:80px; }.example-main{margin:0}.image-wrap{background:#d0c9bf;padding:10px;transform:rotate(-1.8deg);box-shadow:0 14px 35px rgba(33,43,48,.13)}.image-wrap img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center}.example-main figcaption{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-top:21px;font:10px 'DM Mono',monospace;letter-spacing:.02em}.example-main figcaption span:first-child{color:var(--rose-dark)}.example-main figcaption span:last-child{color:var(--rose-dark);text-transform:uppercase}.example-main figcaption strong,.example-main figcaption small{display:block}.example-main figcaption strong{font:500 18px 'Playfair Display',serif}.example-main figcaption small{color:var(--ink-soft);margin-top:4px}.example-notes{padding-top:20px}.quote-mark{font:72px/0.6 'Playfair Display',serif;color:var(--rose)}blockquote{font:500 38px/1.08 'Playfair Display',serif;letter-spacing:-.04em;margin:22px 0;color:var(--ink)}.example-notes>p{font:10px 'DM Mono',monospace;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em}.mini-detail{display:flex;align-items:center;gap:17px;border-top:1px solid var(--line);padding-top:24px;margin-top:45px;font:12px 'Playfair Display',serif}.mini-detail em{color:var(--rose-dark)}.detail-line{display:block;width:46px;height:1px;background:var(--gold)}
.create-section { background:var(--rose-dark); color:var(--cream); }.create-layout{display:grid;grid-template-columns:.73fr 1.27fr;gap:90px;align-items:start}.create-copy .eyebrow{color:#edbaa5}.create-copy .eyebrow span{background:#edbaa5}.create-copy h2{font-size:60px;margin:24px 0}.create-copy>p:not(.eyebrow){color:#eedbd0;max-width:320px}.order-note{display:flex;gap:14px;margin-top:72px;border-top:1px solid rgba(244,240,232,.35);padding-top:18px;color:#eedbd0;font:11px/1.5 'DM Mono',monospace}.order-note span{color:#e4bd77;font-size:20px}.order-note p{margin:0}.order-note strong{color:var(--cream)}.map-form{background:var(--cream);color:var(--ink);padding:34px 38px;box-shadow:var(--shadow)}.form-heading{display:grid;grid-template-columns:36px 1fr;column-gap:10px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:21px}.form-heading span{font:10px 'DM Mono',monospace;color:var(--rose-dark);padding-top:7px}.form-heading h3{margin:0;font:500 27px 'Playfair Display',serif}.form-heading p{grid-column:2;margin:2px 0 0;color:var(--ink-soft);font-size:12px}.form-heading-spaced{margin-top:35px}.product-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.product-option,.format-options label{border:1px solid var(--line);padding:12px;cursor:pointer;display:flex;justify-content:space-between;align-items:start;min-height:71px;transition:border .2s,background .2s}.product-option:hover,.format-options label:hover,.product-option.is-selected{border-color:var(--rose);background:#f0e4da}.product-option input,.format-options input{position:absolute;opacity:0}.product-option strong,.product-option small,.format-options span,.format-options small{display:block}.product-option strong{font:500 16px 'Playfair Display',serif}.product-option small,.format-options small{font-size:10px;color:var(--ink-soft);margin-top:3px}.product-option b{font:18px serif;color:var(--rose-dark);font-weight:400}.map-form label>span,fieldset legend{display:block;font:10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);margin-bottom:7px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.map-form>label,.field-row label{display:block;margin-bottom:17px}input,textarea{width:100%;border:1px solid var(--line);background:#fbfaf6;color:var(--ink);border-radius:0;padding:11px 12px;outline:0;resize:vertical}input:focus,textarea:focus{border-color:var(--rose)}textarea{min-height:102px;line-height:1.45}fieldset{border:0;padding:0;margin:4px 0 23px}fieldset legend{padding:0}.format-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.format-options label{min-height:64px;display:block}.format-options span{font:500 15px 'Playfair Display',serif}.format-options label:has(input:checked){border-color:var(--rose);background:#f0e4da}.form-submit{width:100%;margin-top:2px}.form-footnote{text-align:center;color:var(--ink-soft);font-size:10px;margin:12px 0 0}.form-success{display:flex;align-items:center;gap:13px;border:1px solid #aebfac;background:#e8efe3;margin-top:20px;padding:14px;color:#33513b}.form-success>span{font-size:22px;color:#788f69}.form-success p{font-size:11px;margin:2px 0 0}.text-button{margin-left:auto;background:none;border:0;border-bottom:1px solid currentColor;color:#33513b;font:10px 'DM Mono',monospace;cursor:pointer}
.faq-section{background:var(--paper)}.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:100px}.faq-layout h2{font-size:59px;margin:20px 0}.faq-intro{max-width:260px;color:var(--ink-soft);font-size:13px}.faq-list details{border-top:1px solid var(--line);padding:21px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font:500 21px 'Playfair Display',serif}summary::-webkit-details-marker{display:none}summary span{font:20px 'DM Mono',monospace;color:var(--rose)}details[open] summary span{transform:rotate(45deg)}details p{color:var(--ink-soft);font-size:13px;max-width:580px;margin:14px 30px 0 0}
.closing-cta{background:var(--ink);color:var(--cream);text-align:center;padding:118px 0}.closing-cta .eyebrow{justify-content:center;color:#d6a991}.closing-cta .eyebrow span{background:#d6a991}.closing-cta h2{font-size:65px;margin:27px 0 34px}.site-footer{background:#102432;color:#d4d9d6;padding:55px 0 24px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;align-items:start}.footer-mark{color:var(--cream)}.footer-mark small{color:#9aafb4}.footer-grid>p{font:13px/1.6 'Playfair Display',serif;color:#a7b7b6}.footer-links{display:flex;flex-direction:column;gap:13px;align-items:end;font:10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.09em;color:#b9c4c1}.footer-bottom{border-top:1px solid rgba(212,217,214,.18);margin-top:55px;padding-top:18px;display:flex;justify-content:space-between;color:#778d93;font:9px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .75s ease,transform .75s ease}.reveal.is-visible{opacity:1;transform:none}.reveal-delay{transition-delay:.11s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}
@media (max-width:900px){.site-nav{gap:15px}.hero{gap:25px}.collection-grid{grid-template-columns:1fr 1fr}.card-love{grid-column:span 2}.create-layout{gap:45px}.faq-layout{gap:45px}.section-intro h2{font-size:50px}blockquote{font-size:31px}}
@media (max-width:680px){.section-shell,.site-header{width:min(100% - 32px,560px)}.announcement{font-size:9px}.announcement a{display:block;margin:3px 0 0}.site-header{min-height:72px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:63px;left:0;right:0;background:var(--cream);padding:18px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:17px}.site-nav.is-open{display:flex}.nav-cta{text-align:center}.hero{grid-template-columns:1fr;padding:35px 0 65px;min-height:0}.hero-art{padding:30px 19px 28px 25px;max-width:480px;margin:0 auto}.hero h1{font-size:53px}.hero-lede{font-size:14px}.hero-actions{margin:28px 0 35px;gap:15px;flex-wrap:wrap}.section-pad{padding:75px 0}.section-intro{display:block;margin-bottom:32px}.section-intro h2,.faq-layout h2{font-size:48px}.section-intro>p{margin-top:24px}.collection-grid{grid-template-columns:1fr;gap:14px}.card-love{grid-column:auto}.collection-card,.card-love,.card-life,.card-remembrance{min-height:420px}.steps-grid{grid-template-columns:1fr 1fr}.step{min-height:230px;padding:20px 18px 0 0;margin-right:15px}.step:nth-child(2){border-right:0;margin:0}.step-icon{margin:22px 0 10px}.example-layout{grid-template-columns:1fr;gap:45px}.example-notes{padding:0 15px}.create-layout,.faq-layout{grid-template-columns:1fr;gap:42px}.create-copy h2,.closing-cta h2{font-size:52px}.order-note{margin-top:36px}.map-form{padding:24px 18px}.product-options,.format-options{grid-template-columns:1fr}.product-option{min-height:60px}.field-row{grid-template-columns:1fr;gap:0}.faq-layout{gap:15px}.faq-list{margin-top:25px}summary{font-size:18px}.closing-cta{padding:85px 0}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-grid>p{grid-column:span 2}.footer-links{align-items:start}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:7px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button,.collection-card{transition:none}}

/* Places We Keep dark gallery direction. Artwork stays bright; the site recedes. */
:root{--ink:#f3f7fb;--ink-soft:#aebdca;--cream:#07111d;--paper:#0e1c2d;--paper-deep:#182d43;--rose:#d17c72;--rose-dark:#e9a094;--gold:#9dbbd0;--white:#f7fbff;--line:rgba(225,239,248,.16);--shadow:0 28px 80px rgba(0,0,0,.42)}
body{background:var(--cream);color:var(--ink)}
.announcement{background:#03070d;color:#dce8f1}.announcement a{color:#efaa9d}.site-header{background:rgba(7,17,29,.86)!important;border-bottom:1px solid var(--line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.wordmark small{color:#8fa7b8}.site-nav a:not(.nav-cta){color:#c9d6df}.menu-toggle{color:var(--ink)}
.button-dark{background:#f2f7fa;color:#07111d}.button-dark:hover{background:#dceaf2}.button-light{background:#152a41;color:#f2f7fa}.text-link{color:var(--ink)}
.art-frame,.image-wrap{background:#111b29;box-shadow:0 28px 80px rgba(0,0,0,.48)}.art-frame:after{border-color:rgba(157,187,208,.55)}.marquee{background:#0c1928;border-color:var(--line)}.marquee-track{color:#c88f86}
.card-love,.card-life,.card-remembrance,.card-anniversary,.card-pets{background:#12243a;color:var(--ink)}.card-life{background:#102d39}.card-remembrance,.card-pets{background:#1b293b}.card-illustration{filter:saturate(.72) brightness(.78)}
.paper-section,.faq-section,.template-section,.shop-product-section{background:var(--paper)}.create-section{background:#112842;color:var(--ink)}.closing-cta{background:#03070d}.site-footer{background:#02060b}
.map-form,.config-main{background:#0e1c2d;color:var(--ink)}.map-form input,.map-form textarea,.create-panel input,.create-panel textarea{background:#081421;color:var(--ink);border-color:var(--line)}.map-form label>span,fieldset legend{color:#aebdca}.order-summary{background:#0a1726;color:var(--ink)}
.category-entry{background:#102238;color:var(--ink)}.category-entry:nth-child(2){background:#14273c}.category-entry:nth-child(3){background:#102d39}.category-entry:nth-child(4){background:#1b293b}.shop-collection-card{background:#0e1c2d}.split-callout>a{background:#0e1c2d}.split-callout>a:last-child{background:#132a42}.product-gallery-main{background:#050c15!important}.size-comparison-section{background:#0e2238!important}.product-materials-section{background:#0e1c2d}

/* Product option states stay dark; the selected finish is not a cream placeholder. */
.product-info .option-buttons button.active,
.product-info .option-buttons button:hover {
  border-color: var(--rose-dark);
  background: #18283b;
  color: var(--ink);
}

/* Configurator refinement: a clearer product path on every viewport. */
.site-header{position:sticky;top:0;background:rgba(244,240,232,.94);backdrop-filter:blur(14px);transition:transform .25s,box-shadow .25s}.site-header.is-scrolled{box-shadow:0 8px 24px rgba(23,44,60,.06)}.site-header.is-hidden{transform:translateY(-100%)}
.configurator-intro{display:grid;grid-template-columns:1fr .52fr;align-items:end;gap:48px;margin-bottom:38px}.configurator-intro h2{font-size:58px;margin:19px 0 0}.configurator-intro>p{max-width:330px;color:#eedbd0;font-size:14px;margin:0 0 8px}.configurator-layout{display:grid;grid-template-columns:minmax(0,1fr) 305px;gap:16px;background:transparent;padding:0;box-shadow:none}.config-main{background:var(--cream);color:var(--ink);padding:0 36px 24px}.config-header{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:22px 0 19px}.config-kicker,.summary-kicker{display:block;color:var(--rose-dark);font:9px 'DM Mono',monospace;letter-spacing:.13em;text-transform:uppercase}.config-header h3{font:500 28px 'Playfair Display',serif;margin:3px 0 0}.config-status{color:var(--ink-soft);font:9px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.config-status i{display:inline-block;width:6px;height:6px;background:#7f9b70;border-radius:50%;margin-right:6px}.config-group{border-bottom:1px solid var(--line);padding:27px 0}.config-group:last-of-type{border-bottom:0}.group-heading{display:grid;grid-template-columns:31px 1fr;gap:10px;margin-bottom:18px}.group-heading>span{font:10px 'DM Mono',monospace;color:var(--rose-dark);padding-top:5px}.group-heading h4{margin:0;font:500 23px 'Playfair Display',serif}.group-heading p{margin:2px 0 0;color:var(--ink-soft);font-size:11px}.finish-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:20px}.choice-group{border:0;padding:0;margin:0}.choice-group legend{padding:0;margin-bottom:8px}.choice-group legend span{font:10px 'DM Mono',monospace;text-transform:none;letter-spacing:0;color:var(--ink-soft)}.choice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.choice-row label{position:relative;border:1px solid var(--line);padding:10px 8px;min-height:55px;cursor:pointer;text-align:center;transition:background .2s,border .2s}.choice-row label:has(input:checked),.choice-row label.choice-selected{border-color:var(--rose);background:#f0e4da}.choice-row input,.swatch-choice input{position:absolute;opacity:0}.choice-row span,.choice-row small{display:block}.choice-row span{font:500 15px 'Playfair Display',serif}.choice-row small{font-size:9px;color:var(--ink-soft);margin-top:2px}.frame-group{margin-top:22px}.swatch-row{display:flex;gap:20px}.swatch-choice{position:relative;display:grid;justify-items:center;gap:5px;color:var(--ink-soft);font-size:10px;cursor:pointer}.swatch-choice.choice-selected span,.swatch-choice:has(input:checked) span{color:var(--ink);font-weight:600}.swatch{width:30px;height:30px;border-radius:50%;border:3px solid var(--cream);outline:1px solid var(--line);display:block}.swatch-choice:has(input:checked) .swatch{outline:2px solid var(--rose);outline-offset:2px}.swatch-wood{background:linear-gradient(135deg,#8b6748,#c49b6f)}.swatch-black{background:#17232b}.swatch-gold{background:linear-gradient(135deg,#9a7940,#e1c17a)}.places-group{padding-bottom:28px}.place-list{border-top:1px solid var(--line)}.place-row{display:grid!important;grid-template-columns:34px 1fr 25px;align-items:center;gap:8px;margin:0!important;padding:4px 0;border-bottom:1px solid var(--line)}.place-row b{color:var(--rose-dark);font:10px 'DM Mono',monospace;text-align:center}.place-row input{border:0;background:transparent;padding:10px 3px;font:500 15px 'Playfair Display',serif}.place-row input::placeholder{color:var(--ink);opacity:.72}.place-row input:focus{border:0;box-shadow:none}.place-row>span{color:var(--rose-dark);font-size:15px}.detail-group{padding-bottom:5px}.order-summary{position:sticky;top:108px;align-self:start;background:var(--ink);color:var(--cream);padding:25px 22px 20px}.order-summary .summary-kicker{color:#d9ad94}.summary-thumb{background:#e8e1d5;padding:8px;margin:15px 0 18px}.summary-thumb img{aspect-ratio:4/5;object-fit:cover;object-position:center}.order-summary dl{margin:0;border-top:1px solid rgba(244,240,232,.24);padding-top:12px}.order-summary dl div{display:flex;justify-content:space-between;gap:12px;margin:8px 0;font:10px 'DM Mono',monospace}.order-summary dt{color:#aebec0}.order-summary dd{margin:0;text-align:right;color:var(--cream)}.proof-note{display:flex;gap:10px;border-top:1px solid rgba(244,240,232,.24);border-bottom:1px solid rgba(244,240,232,.24);padding:14px 0;margin:18px 0}.proof-note>span{color:#e2bc78}.proof-note p{font-size:10px;line-height:1.45;margin:0;color:#b9c7c5}.proof-note strong{color:var(--cream);font-weight:500;text-transform:uppercase;letter-spacing:.05em}.summary-total{display:flex;align-items:end;justify-content:space-between;margin:18px 0 15px}.summary-total span{font:9px 'DM Mono',monospace;text-transform:uppercase;color:#aebec0}.summary-total strong{font:500 34px 'Playfair Display',serif}.order-summary .form-submit{background:var(--rose);color:var(--white)}.order-summary .form-submit:hover{background:#c17b6c}.order-summary .form-footnote{color:#aebec0}.form-success{grid-column:1/-1}.mobile-next-bar{display:none}
@media (max-width:1050px){.configurator-layout{grid-template-columns:minmax(0,1fr) 270px}.config-main{padding-left:26px;padding-right:26px}.finish-grid{grid-template-columns:1fr}.frame-group{margin-top:20px}}
@media (max-width:820px){.configurator-intro{grid-template-columns:1fr .8fr;gap:25px}.configurator-layout{grid-template-columns:1fr}.order-summary{position:static;display:grid;grid-template-columns:130px 1fr;column-gap:18px;align-items:start}.order-summary .summary-kicker{grid-column:1/-1}.summary-thumb{grid-row:span 4;margin-bottom:0}.order-summary dl{margin-top:15px}.proof-note{grid-column:1/-1}.summary-total{margin:8px 0}.order-summary .form-submit,.order-summary .form-footnote{grid-column:1/-1}}
@media (max-width:680px){body{padding-bottom:76px}.configurator-intro{display:block;margin-bottom:28px}.configurator-intro h2{font-size:48px}.configurator-intro>p{margin-top:20px}.config-main{padding:0 17px 18px}.config-header{align-items:start;flex-direction:column;gap:7px}.config-header h3{font-size:25px}.config-group{padding:24px 0}.group-heading h4{font-size:21px}.product-options{grid-template-columns:1fr}.product-option{min-height:60px}.finish-grid{gap:20px}.choice-row{gap:5px}.choice-row label{padding:9px 4px}.choice-row span{font-size:14px}.swatch-row{gap:18px}.place-row{grid-template-columns:30px 1fr 20px!important}.place-row input{font-size:14px}.order-summary{display:none}.mobile-next-bar{display:flex;position:fixed;z-index:10;left:0;right:0;bottom:0;justify-content:space-between;align-items:center;gap:12px;background:rgba(23,44,60,.97);padding:10px 15px;box-shadow:0 -8px 24px rgba(23,44,60,.2)}.mobile-next-bar>span{display:grid;gap:2px}.mobile-next-bar small{color:#b9c7c5;font:9px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.04em;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-next-bar strong{color:var(--cream);font:500 21px 'Playfair Display',serif}.mobile-next-bar .button{padding:12px 14px;font-size:9px;gap:9px;white-space:nowrap}.detail-group .field-row{grid-template-columns:1fr;gap:0}}

/* Showcase collection: browse finished directions before entering the configurator. */
.template-section{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.template-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin-bottom:25px}
.template-filters{display:flex;flex-wrap:wrap;gap:8px}.template-filter{border:1px solid var(--line);background:transparent;color:var(--ink-soft);padding:10px 13px;cursor:pointer;font:9px 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase;transition:background .2s,color .2s,border .2s}.template-filter:hover,.template-filter.is-active{background:var(--ink);border-color:var(--ink);color:var(--cream)}.template-count{color:var(--rose-dark);font:10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}
.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.template-card{background:var(--cream);border:1px solid var(--line);transition:transform .25s,box-shadow .25s;overflow:hidden}.template-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.template-card.is-hidden{display:none}.template-image{position:relative;aspect-ratio:4/5;overflow:hidden;background:#d8d4c9}.template-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,44,60,.02),rgba(23,44,60,.16));pointer-events:none}.template-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s,filter .35s}.template-card:hover .template-image img{transform:scale(1.04)}.template-image>span{position:absolute;z-index:1;left:14px;top:14px;color:var(--cream);font:9px 'DM Mono',monospace;letter-spacing:.12em}.template-classic img{object-position:center 45%;filter:saturate(.82) sepia(.08)}.template-modern{background:#d9dfe0}.template-modern img{object-position:62% center;filter:contrast(1.05) saturate(.72)}.template-executive{background:#ced6d2}.template-executive img{object-position:35% center;filter:saturate(.55) brightness(1.06)}.template-route{background:#d9d5c9}.template-route img{object-position:72% 54%;filter:sepia(.18) saturate(.68)}.template-remembrance{background:#d8cdc0}.template-remembrance img{object-position:48% 66%;filter:grayscale(.2) sepia(.2) brightness(1.04)}.template-legacy{background:#cbd2d0}.template-legacy img{object-position:25% 45%;filter:saturate(.62) contrast(.95)}
.template-card-body{padding:17px 17px 16px}.template-meta{margin:0 0 8px;color:var(--rose-dark);font:9px 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase}.template-card h3{margin:0 0 7px;font:500 25px/1.05 'Playfair Display',serif;letter-spacing:-.03em}.template-card-body>p:not(.template-meta){min-height:38px;margin:0;color:var(--ink-soft);font-size:11px;line-height:1.45}.template-card-footer{display:flex;align-items:end;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin-top:17px;padding-top:13px}.template-card-footer small{color:var(--ink-soft);font:10px 'DM Mono',monospace;white-space:nowrap}.template-use{border:0;border-bottom:1px solid var(--gold);background:transparent;color:var(--ink);padding:0 0 4px;cursor:pointer;font:9px 'DM Mono',monospace;letter-spacing:.04em;white-space:nowrap}.template-use:hover{color:var(--rose-dark)}.template-use span{color:var(--rose-dark);margin-left:4px}.template-note{margin:30px 0 0;color:var(--ink-soft);font:12px 'Playfair Display',serif}.template-note a{color:var(--ink);border-bottom:1px solid var(--gold);margin-left:7px;padding-bottom:3px}.selected-template{margin:7px 0 0;color:var(--ink-soft);font:10px 'DM Mono',monospace}.selected-template strong{color:var(--rose-dark);font-weight:500}.selected-template a{color:var(--ink);border-bottom:1px solid var(--gold);margin-left:8px}
@media (max-width:900px){.template-grid{grid-template-columns:repeat(2,1fr)}.template-card h3{font-size:22px}}
@media (max-width:680px){.template-toolbar{display:block}.template-filters{gap:6px}.template-filter{padding:9px 10px}.template-count{display:block;margin-top:13px}.template-grid{grid-template-columns:1fr;gap:14px}.template-image{aspect-ratio:5/4}.template-card-body>p:not(.template-meta){min-height:0}.template-card-footer{margin-top:15px}.template-note{line-height:1.6}.template-note a{display:inline-block;margin:5px 0 0}}

/* Catalog hierarchy: collection first, styles second, product story third. */
#templates{display:none}
.category-grid{grid-template-columns:repeat(4,1fr);align-items:stretch}.category-card{min-height:500px;padding:20px;display:flex;flex-direction:column}.category-card .card-illustration{flex:1;min-height:250px}.category-card h3{font-size:28px}.category-card>p{min-height:36px}.category-cta{display:block;margin-top:18px;color:var(--ink);font:9px 'DM Mono',monospace;letter-spacing:.07em;text-transform:uppercase}.category-cta span{color:var(--rose-dark);margin-left:5px}.card-anniversary{background:#e4ddd1}.card-pets{background:#d8d1c5}.anniversary-illustration{background:radial-gradient(circle at 50% 50%,transparent 0 18%,rgba(181,109,94,.16) 18.2% 18.8%,transparent 19%),linear-gradient(145deg,#d4dcd9,#e8dfd5)}.route-e{width:75%;left:14%;top:46%;transform:rotate(17deg)}.route-f{width:58%;left:30%;top:62%;transform:rotate(-34deg)}.anniversary-ring{position:absolute;left:42%;top:28%;display:grid;place-items:center;width:64px;height:64px;border:1px solid var(--rose);border-radius:50%;color:var(--rose-dark);font:17px 'Playfair Display',serif}.city-c{left:10%;top:25%}.city-d{right:8%;bottom:23%}.pets-illustration{background:radial-gradient(circle,#e6ddd2 1px,transparent 1px) 0 0/16px 16px,#ddd3c4}.browse-layer{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:40px}.browse-view[hidden],.style-detail-view[hidden]{display:none}.browse-view,.style-detail-view{position:relative}.back-link{display:inline-flex;align-items:center;gap:7px;color:var(--ink-soft);border-bottom:1px solid var(--gold);padding-bottom:5px;font:10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.07em}.collection-view-intro{max-width:670px;margin:34px 0 42px}.collection-view-intro h2{font-size:64px;margin:18px 0}.collection-view-intro>p:last-child{max-width:450px;color:var(--ink-soft);font-size:14px;line-height:1.6}.collection-view-toolbar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin-bottom:24px;color:var(--ink-soft);font:10px 'DM Mono',monospace;letter-spacing:.06em;text-transform:uppercase}.collection-view-toolbar span:first-child{color:var(--rose-dark)}.style-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.style-card{background:var(--cream);border:1px solid var(--line);transition:transform .25s,box-shadow .25s}.style-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.style-card-image{aspect-ratio:4/5;overflow:hidden;background:#d7d2c8}.style-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s,filter .3s}.style-card:hover img{transform:scale(1.04)}.style-card-body{padding:18px}.style-card-body small{color:var(--rose-dark);font:9px 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase}.style-card-body h3{font:500 27px/1.06 'Playfair Display',serif;margin:9px 0 8px}.style-card-body p{min-height:42px;color:var(--ink-soft);font-size:11px;line-height:1.5;margin:0}.style-card-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:16px;padding-top:13px;color:var(--ink);font:9px 'DM Mono',monospace;letter-spacing:.06em;text-transform:uppercase}.style-card-link span{color:var(--rose-dark);font-size:16px}.style-detail-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:60px;margin-top:28px;align-items:start}.style-media-main{background:#d2cbc0;padding:12px;box-shadow:var(--shadow)}.style-media-main img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.style-media-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px}.style-media-thumb{border:1px solid var(--line);background:var(--cream);padding:4px;cursor:pointer}.style-media-thumb.is-active{border-color:var(--rose)}.style-media-thumb img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}.style-detail-copy{padding-top:28px}.style-detail-copy h2{font-size:62px;margin:20px 0 17px}.style-detail-lede{max-width:430px;color:var(--ink-soft);font:18px/1.45 'Playfair Display',serif}.style-price{margin:26px 0;color:var(--ink);font:500 27px 'Playfair Display',serif}.detail-includes,.detail-options{border-top:1px solid var(--line);padding:18px 0}.detail-includes p,.detail-options>p{margin:0 0 12px;color:var(--rose-dark);font:9px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase}.detail-includes ul{margin:0;padding-left:17px;color:var(--ink-soft);font-size:12px;line-height:1.8}.detail-option-row{display:flex;gap:7px}.detail-option-row span{border:1px solid var(--line);padding:11px 12px;color:var(--ink-soft);font:10px 'DM Mono',monospace}.style-detail-copy .button{width:100%;margin-top:12px}.detail-note{color:var(--ink-soft);font-size:11px;line-height:1.5;margin-top:14px}.collection-view-intro,.style-detail-grid{animation:catalog-enter .35s ease both}@keyframes catalog-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (max-width:1050px){.category-grid{grid-template-columns:repeat(2,1fr)}.style-detail-grid{gap:36px}.style-detail-copy h2{font-size:54px}}
@media (max-width:680px){.category-grid{grid-template-columns:1fr}.category-card{min-height:430px}.collection-view-intro{margin:28px 0 30px}.collection-view-intro h2{font-size:49px}.collection-view-toolbar{display:block;line-height:1.8}.collection-view-toolbar span{display:block}.style-grid{grid-template-columns:1fr;gap:14px}.style-card-image{aspect-ratio:5/4}.style-detail-grid{grid-template-columns:1fr;gap:28px}.style-detail-copy{padding-top:0}.style-detail-copy h2{font-size:49px}.style-detail-lede{font-size:16px}.style-media-strip{grid-template-columns:repeat(5,1fr);gap:5px}.detail-option-row{flex-wrap:wrap}.detail-option-row span{flex:1;text-align:center}}
