:root{color-scheme:dark;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;--gold:#d6b783;--ink:#eae3d8;--muted:#bbb1b3;--border:#54434a;--base:#15141b}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 50% -10%,#41303b,#15141b 47%);color:var(--ink)}a{color:inherit}button,input,select{font:inherit}button,a,select{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.skip{position:absolute;top:-100px;left:0;padding:10px;background:#fff;color:#111}.skip:focus{top:0}.topbar{display:flex;align-items:center;gap:25px;justify-content:space-between;padding:19px max(20px,calc((100% - 1280px)/2));background:#16131dd9;border-bottom:1px solid #624b59}.brand{display:flex;gap:11px;align-items:center}.brand-icon{font:42px Georgia,serif;color:var(--gold)}.brand strong{display:block;font:31px Georgia,serif;font-weight:400;line-height:1}.brand small{font:10px system-ui;letter-spacing:.16em;text-transform:uppercase;color:#d8c2a8}.top-tag{color:#ceb8ae;font:italic 16px Georgia,serif}#lang{background:#2d2530;color:#fff3e2;border:1px solid #66515f;border-radius:30px;padding:9px 14px}.intro{max-width:1250px;margin:auto;padding:85px 24px 95px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(270px,.7fr);gap:45px;align-items:center}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:.25em;color:var(--gold);font-weight:700}.intro h1{font:clamp(40px,5vw,71px)/1.14 Georgia,serif;font-weight:400;max-width:720px;letter-spacing:-.022em;margin:15px 0 24px}.intro-copy>p:not(.eyebrow){font:18px/1.8 Georgia,serif;color:#d8cace;max-width:650px}.intro-prices{display:flex;flex-wrap:wrap;gap:9px;margin:35px 0}.intro-prices span{font-size:12px;border:1px solid #6b535e;border-radius:50px;padding:8px 13px;background:#2b232d}.jump{display:inline-block;margin-top:15px;text-decoration:none;color:#ebcc99;border-bottom:1px solid #a48b69;padding-bottom:7px;font:18px Georgia,serif}.intro-visual{min-height:310px;border-radius:150px 12px 140px 13px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(circle at 50% 45%,#8d654744,#47304744 40%,#241a2866 70%);border:1px solid #534148;overflow:hidden}.intro-ring{display:grid;place-items:center;width:200px;height:200px;border:1px solid #d8b881bb;border-radius:50%;box-shadow:0 0 70px #e6b05f26, inset 0 0 60px #e6b05f25}.intro-ring span{font:140px Georgia,serif;color:#e5bd7b;text-shadow:0 0 20px #ecc48677}.intro-visual p{font:italic 15px Georgia,serif;color:#e8d5c4}.catalog{max-width:1320px;margin:0 auto;padding:0 22px 75px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:20px;border-top:1px solid #624b53;padding-top:28px}.section-title h2{font:43px Georgia,serif;font-weight:400;margin:10px 0}.section-title output{color:#c9b8b2}.tools{display:grid;grid-template-columns:2fr 1fr 1fr;gap:15px;margin:25px 0 35px}.tools label{display:block;font-size:12px;color:#dcc9c6}.tools span{display:block;margin:0 0 7px}.tools input,.tools select{width:100%;border:1px solid #72606a;border-radius:10px;background:#25202b;color:#f4eadd;padding:13px}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(254px,1fr));gap:22px}.theme-card{background:#211b25;border:1px solid #53414d;border-radius:15px;overflow:hidden;transition:transform .2s,border-color .2s}.theme-card:hover{transform:translateY(-3px);border-color:#c9a97b}.card-media{padding:13px;height:290px;background:#2c2530;display:grid;place-items:center}.theme-card-bottom{padding:17px 17px 19px}.theme-card-bottom .category{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#baa6a6}.theme-card-bottom h3{font:22px/1.2 Georgia,serif;font-weight:400;margin:8px 0}.card-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.price{font-weight:650;color:#f2d09c}.card-row button{border:1px solid #8a6e6e;border-radius:20px;background:#3d303c;color:#f7eadb;padding:8px 15px}.card-row button:hover{background:#5a3f4f}.empty{text-align:center;padding:45px;color:#cbb}.promise{margin:35px auto 80px;max-width:900px;text-align:center;border-top:1px solid #5d444f;padding:40px 25px}.promise h2{font:30px Georgia,serif;font-weight:400}.promise p{line-height:1.8;color:#cfc2c0}footer{border-top:1px solid #44363e;max-width:1300px;margin:auto;padding:26px 18px 45px;color:#b4aaa9;display:flex;justify-content:space-between;font-size:12px}footer span:first-child{font:25px Georgia,serif;color:#ddbb85}
/* The theme frame is designed once and receives data-driven, semantically named tokens. */
.memorial-panel{--tbg:#1d1b23;--tink:#f1ece3;--taccent:#d8b682;--tpanel:#3b3140;--corners:22px;position:relative;isolation:isolate;color:var(--tink);background:var(--tbg);width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;text-align:center;padding:21px 17px;overflow:hidden;border-radius:var(--corners);font-family:Georgia,'Times New Roman',serif}.memorial-panel::before,.memorial-panel::after{content:'';position:absolute;pointer-events:none}.memorial-panel>.memory-content{position:relative;z-index:2;min-height:60%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.memorial-panel .memory-pretitle{font:600 8px system-ui;letter-spacing:.19em;text-transform:uppercase;opacity:.8}.memory-ornament{font:32px/1.3 Georgia,serif;color:var(--taccent);display:block;margin:4px auto}.memorial-panel h3{font-size:21px;line-height:1.1;font-weight:400;letter-spacing:-.018em;margin:4px 0;overflow-wrap:anywhere}.memory-dates{font-size:10px;letter-spacing:.08em;opacity:.8}.memory-quote{font:italic 11px/1.5 Georgia,serif;margin:10px 0 5px;max-width:85%;opacity:.88}.memory-footer{z-index:2;position:relative;display:flex;justify-content:center;gap:9px;align-items:center;font:9px system-ui;opacity:.9}.memory-candle{position:relative;display:inline-flex;align-items:end;justify-content:center;width:12px;height:25px;border-radius:3px 3px 2px 2px;background:linear-gradient(90deg,#9f7755,#f7e3b6,#b98a5c);box-shadow:0 0 25px #eec47e66}.memory-candle:before{content:'';position:absolute;bottom:24px;width:8px;height:14px;background:#ffe2a1;border-radius:70% 10% 70% 40%;transform:rotate(36deg);box-shadow:0 0 15px #ffc674dd}.memory-footer>span:last-child{opacity:.85}.card-media .memorial-panel{max-height:267px;max-width:250px}.variant-1{--corners:130px 130px 14px 14px}.variant-2{--corners:8px 45px 8px 45px}.variant-3{--corners:0}.variant-4{--corners:12px 12px 100px 10px}.variant-5{--corners:100px 8px 100px 8px}
/* Ten different composition systems, each with five independent finishing options. */
.layout-halo{background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--taccent),transparent 80%) 0,transparent 48%),var(--tbg)}.layout-halo:before{inset:12% 14% auto;border:1px solid var(--taccent);height:64%;border-radius:50%;opacity:.4}.layout-halo .memory-ornament{font-size:43px;text-shadow:0 0 23px var(--taccent)}.layout-halo.variant-3:after{inset:0;background:repeating-linear-gradient(110deg,transparent 0 37px,color-mix(in srgb,var(--tink),transparent 97%) 38px 39px);z-index:-1}.layout-halo.variant-5 .memory-pretitle{letter-spacing:.4em}
.layout-botanical{background:linear-gradient(25deg,color-mix(in srgb,var(--taccent),transparent 85%),transparent 55%),var(--tbg)}.layout-botanical:before{inset:-40px -15px auto auto;width:170px;height:240px;border:3px double var(--taccent);transform:rotate(-30deg);border-radius:90% 0 90% 0;opacity:.28}.layout-botanical:after{inset:auto auto -80px -75px;width:200px;height:200px;border:2px solid var(--taccent);border-radius:70% 20% 60% 20%;transform:rotate(25deg);opacity:.3}.layout-botanical.variant-2 .memory-content,.layout-botanical.variant-4 .memory-content{text-align:left;align-items:flex-start;margin-left:12%}.layout-botanical.variant-5:before{border-style:dashed}
.layout-stone{background:repeating-linear-gradient(153deg,transparent 0 70px,color-mix(in srgb,var(--tink),transparent 96%) 71px 73px,transparent 74px 100px),var(--tbg);border:5px solid color-mix(in srgb,var(--tpanel),var(--taccent) 20%)}.layout-stone:before{inset:13px;border:2px solid var(--taccent);opacity:.4}.layout-stone:after{width:56%;height:2px;background:var(--taccent);bottom:20%;left:22%;opacity:.4}.layout-stone.variant-2 .memory-ornament{border:1px solid var(--taccent);border-radius:50%;height:70px;width:70px;display:grid;place-items:center}.layout-stone.variant-4{border-style:double;border-width:10px}.layout-stone.variant-5 h3{letter-spacing:.09em;text-transform:uppercase;font-size:16px}
.layout-cosmos{background:radial-gradient(ellipse at 25% 17%,color-mix(in srgb,var(--taccent),transparent 68%),transparent 42%),radial-gradient(circle at 70% 70%,color-mix(in srgb,var(--taccent),transparent 90%),transparent 50%),var(--tbg)}.layout-cosmos:before{inset:0;background-image:radial-gradient(circle,var(--tink) 1px,transparent 2px);background-size:37px 42px;opacity:.18}.layout-cosmos:after{inset:13% 25%;border:1px dashed var(--taccent);border-radius:50%;opacity:.5}.layout-cosmos.variant-2:after{inset:9% 15%;transform:rotate(-35deg)}.layout-cosmos.variant-4 .memory-ornament{font-size:63px}.layout-cosmos.variant-5:before{background-size:21px 27px}
.layout-horizon{background:linear-gradient(to bottom,var(--tbg),color-mix(in srgb,var(--taccent),var(--tbg) 75%) 52%,var(--tpanel) 52%,var(--tbg) 100%)}.layout-horizon:before{bottom:5%;height:40%;left:-5%;right:-5%;background:var(--tpanel);clip-path:polygon(0 45%,16% 18%,28% 44%,45% 5%,63% 49%,81% 17%,100% 52%,100% 100%,0 100%);opacity:.85}.layout-horizon:after{width:125px;height:125px;top:16px;right:-20px;border-radius:50%;background:color-mix(in srgb,var(--taccent),transparent 60%)}.layout-horizon .memory-content{justify-content:flex-start;padding-top:15%}.layout-horizon.variant-3:before{clip-path:polygon(0 70%,25% 5%,55% 78%,74% 18%,100% 65%,100% 100%,0 100%)}.layout-horizon.variant-4:after{top:auto;bottom:24%;left:20px;width:65px;height:65px}
.layout-water{background:linear-gradient(to bottom,var(--tbg),var(--tpanel))}.layout-water:before{inset:auto -10% -13%;height:63%;border-radius:50% 50% 0 0;background:var(--taccent);opacity:.17;transform:rotate(-8deg)}.layout-water:after{inset:auto -20% -20%;height:55%;border-top:2px solid var(--taccent);border-radius:45% 55% 0 0;transform:rotate(12deg);opacity:.7}.layout-water .memory-content{justify-content:flex-start;padding-top:14%}.layout-water.variant-2:before{transform:rotate(7deg);height:50%}.layout-water.variant-3:after{border-top-style:dotted;transform:rotate(-20deg)}.layout-water.variant-4 .memory-ornament{font-size:55px}.layout-water.variant-5:before{border:10px double var(--taccent);opacity:.2}
.layout-book{background:linear-gradient(90deg,color-mix(in srgb,var(--tbg),#000 10%) 0 12%,var(--tpanel) 12% 13%,var(--tbg) 15% 85%,var(--tpanel) 86% 87%,color-mix(in srgb,var(--tbg),#000 10%) 100%);border:1px solid var(--taccent)}.layout-book:before{inset:12px;border:1px dashed var(--taccent);opacity:.47}.layout-book:after{inset:0;background:repeating-linear-gradient(0deg,transparent 0 25px,color-mix(in srgb,var(--tink),transparent 96%) 26px 27px);z-index:-1}.layout-book h3{font-style:italic}.layout-book.variant-2 h3,.layout-book.variant-5 h3{font-style:normal}.layout-book.variant-3 .memory-content{align-items:flex-start;text-align:left;padding-left:14%}.layout-book.variant-4 .memory-quote{font-style:normal;letter-spacing:.1em}
.layout-glass{background:radial-gradient(circle at 50% 15%,color-mix(in srgb,var(--taccent),transparent 45%),transparent 36%),conic-gradient(from 15deg at 50% 36%,var(--tbg) 0 12%,var(--tpanel) 13% 22%,var(--tbg) 23% 34%,color-mix(in srgb,var(--taccent),var(--tbg) 70%) 35% 44%,var(--tpanel) 45% 55%,var(--tbg) 56% 100%)}.layout-glass:before{inset:8px;border:4px double var(--taccent);border-radius:120px 120px 0 0;opacity:.68}.layout-glass:after{inset:22px;border:1px solid var(--tink);border-radius:110px 110px 0 0;opacity:.28}.layout-glass .memory-content{background:color-mix(in srgb,var(--tbg),transparent 10%);padding:18px 4px;border-radius:110px 110px 0 0}.layout-glass.variant-3 .memory-content{background:color-mix(in srgb,var(--tbg),transparent 3%)}.layout-glass.variant-5:before{border-radius:50% 50% 12px 12px}
.layout-modern{background:var(--tbg);text-align:left}.layout-modern .memory-content{align-items:flex-start;text-align:left;padding-left:10%;justify-content:flex-end;padding-bottom:30%}.layout-modern .memory-ornament{margin:0 0 10px}.layout-modern:before{height:3px;width:55%;top:15%;left:15%;background:var(--taccent)}.layout-modern:after{width:120px;height:120px;top:-45px;right:-40px;border:24px solid var(--taccent);border-radius:50%;opacity:.5}.layout-modern .memory-footer{justify-content:flex-start;padding-left:10%}.layout-modern.variant-2 h3{font-family:system-ui,sans-serif;font-weight:800;letter-spacing:-.08em}.layout-modern.variant-3{background:linear-gradient(180deg,var(--tpanel),var(--tbg))}.layout-modern.variant-3 .memory-ornament{font-size:68px}.layout-modern.variant-4:before{width:4px;height:80%;top:10%;left:10%}.layout-modern.variant-5 h3{text-transform:uppercase;letter-spacing:.18em;font-size:15px}
.layout-heritage{background:radial-gradient(ellipse at center,var(--tpanel),var(--tbg))}.layout-heritage:before{inset:8px;border:5px double var(--taccent);border-radius:35% 35% 4px 4px;opacity:.8}.layout-heritage:after{inset:22px;border:1px solid var(--taccent);border-radius:33% 33% 3px 3px;opacity:.5}.layout-heritage .memory-ornament{font-size:44px}.layout-heritage.variant-2:before{border-style:ridge;border-width:10px}.layout-heritage.variant-3:before{border-radius:35px}.layout-heritage.variant-4:after{border-style:dotted}.layout-heritage.variant-5:before{border-radius:0}
/* Variant transformations make both the macro-composition and typography differ. */
.variant-2 .memory-pretitle{letter-spacing:.32em}.variant-3 .memory-quote{border-top:1px solid var(--taccent);padding-top:10px}.variant-4 .memory-dates{border-bottom:1px solid var(--taccent);padding-bottom:9px}.variant-5 .memory-ornament{filter:drop-shadow(0 0 12px var(--taccent))}.memorial-panel.full{min-height:520px;max-width:760px;width:100%;padding:44px 40px;margin:auto}.memorial-panel.full h3{font-size:clamp(32px,4vw,58px)}.memorial-panel.full .memory-pretitle{font-size:12px}.memorial-panel.full .memory-dates{font-size:15px}.memorial-panel.full .memory-quote{font-size:20px}.memorial-panel.full .memory-ornament{font-size:70px}.memorial-panel.full .memory-footer{font-size:14px}.memorial-panel.full .memory-candle{transform:scale(1.45);margin-right:12px}.memorial-panel.full .memory-content{min-height:72%}
.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:18px}.modal-backdrop{position:absolute;inset:0;background:#07050acb;backdrop-filter:blur(5px)}.modal-inner{position:relative;z-index:1;width:min(95vw,900px);max-height:95vh;overflow:auto;background:#241e29;border:1px solid #76606b;border-radius:18px;padding:21px;box-shadow:0 22px 100px #000a}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h2{font:30px Georgia,serif;margin:5px 0 15px}.modal-head button{background:transparent;color:white;font-size:26px;border:1px solid #705a67;border-radius:50%;width:45px;height:45px}.large-preview{padding:20px;border-radius:15px;background:#18131d}.modal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:15px;padding-top:16px}.modal-actions #modal-price{color:#f6d39e;font-weight:700}.modal-actions p{color:#cdbdc5;flex:1;min-width:160px;font-size:12px}.modal-actions button{background:#d2ae7a;color:#20151a;border:0;border-radius:20px;padding:10px 24px;font-weight:700}body.modal-open{overflow:hidden}
@media(max-width:780px){.intro{grid-template-columns:1fr;padding:45px 20px}.intro-visual{min-height:220px}.intro-ring{width:135px;height:135px}.intro-ring span{font-size:90px}.tools{grid-template-columns:1fr 1fr}.search{grid-column:1/-1}.section-title h2{font-size:32px}.top-tag{display:none}}@media(max-width:520px){.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card-media{height:220px;padding:7px}.card-media .memorial-panel{max-height:208px;padding:10px 7px}.card-media .memorial-panel h3{font-size:16px}.card-media .memory-ornament{font-size:25px}.card-media .memory-quote{font-size:9px}.card-media .memory-pretitle,.card-media .memory-footer{font-size:7px}.theme-card-bottom{padding:12px}.theme-card-bottom h3{font-size:18px}.card-row{align-items:flex-start;flex-direction:column}.intro h1{font-size:40px}.topbar{padding:13px 15px}.brand strong{font-size:25px}.memorial-panel.full{min-height:440px;padding:25px 20px}.memorial-panel.full h3{font-size:34px}.large-preview{padding:5px}.modal-inner{padding:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.topbar .brand{text-decoration:none}.topbar .brand:hover .brand-icon{filter:brightness(1.25)}
