:root{
  --ink:#171615;--ink-2:#242220;--ink-3:#302d29;--ivory:#f4f0e8;--cream:#ebe5d9;
  --gold:#c8a96b;--gold-light:#dfcb9c;--muted:#aaa39a;--line:rgba(244,240,232,.14);
  --serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;
  --shadow:0 25px 70px rgba(0,0,0,.28);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--ivory);font-family:var(--sans);line-height:1.6;overflow-x:hidden}
a{text-decoration:none;color:inherit}
button,input,select{font:inherit}
.announcement{height:31px;background:#11100f;color:#bcb4a7;display:flex;align-items:center;justify-content:center;font-size:9px;letter-spacing:3px}
.site-header{height:82px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;background:rgba(23,22,21,.88);backdrop-filter:blur(16px)}
.brand{display:flex;align-items:center;gap:11px}
.brand-mark{width:38px;height:38px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-family:var(--serif);font-size:24px}
.brand strong,.brand small{display:block;line-height:1}
.brand strong{font-size:13px;letter-spacing:4px;font-weight:600}.brand small{font-size:7px;letter-spacing:4px;color:var(--gold);margin-top:5px}
.nav{display:flex;align-items:center;gap:30px;font-size:12px;color:#c8c1b6}
.nav a{transition:.25s}.nav a:hover{color:var(--gold-light)}
.nav-cta{border:1px solid rgba(200,169,107,.6);padding:11px 19px;color:var(--gold-light)!important}
.menu-toggle{display:none;background:none;border:0;color:white}
.hero{min-height:calc(100vh - 113px);padding:70px 8vw 80px;display:grid;grid-template-columns:1.05fr .95fr;gap:5vw;align-items:center;position:relative}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 45%,rgba(200,169,107,.08),transparent 33%);pointer-events:none}
.eyebrow{font-size:9px;letter-spacing:3.4px;color:var(--gold);font-weight:600;margin-bottom:18px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:.98}
h1{font-size:clamp(58px,7vw,102px);max-width:800px;letter-spacing:-2px}
h2{font-size:clamp(42px,5vw,70px);letter-spacing:-1px}h3{font-size:30px}
em{font-style:italic;color:var(--gold-light)}
.hero-text{max-width:570px;color:#b9b2a8;font-size:15px;margin:27px 0 30px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:17px;padding:14px 22px;font-size:10px;letter-spacing:1.7px;text-transform:uppercase;border:1px solid transparent;cursor:pointer;transition:.3s}
.btn-gold{background:var(--gold);color:#191714}.btn-gold:hover{background:var(--gold-light);transform:translateY(-2px)}
.btn-ghost{border-color:rgba(244,240,232,.22);color:var(--ivory)}.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn-large{padding:16px 25px}
.hero-note{display:flex;align-items:center;gap:12px;color:#777168;font-size:10px;margin-top:36px;letter-spacing:.4px}.mini-line{width:42px;height:1px;background:var(--gold)}
.hero-visual{min-height:600px;display:grid;place-items:center;position:relative}
.halo{position:absolute;width:520px;height:520px;border-radius:50%;border:1px solid rgba(200,169,107,.18);box-shadow:0 0 0 45px rgba(200,169,107,.015),0 0 100px rgba(200,169,107,.08)}
.phone{width:286px;height:570px;border:7px solid #0e0e0d;border-radius:40px;background:#0e0e0d;padding:7px;box-shadow:var(--shadow);transform:rotate(4deg);z-index:2}
.phone-screen{height:100%;border-radius:30px;overflow:hidden;background:#d9d1c0}
.phone-speaker{position:absolute;z-index:3;width:68px;height:6px;border-radius:10px;background:#111;top:16px;left:50%;transform:translateX(-50%)}
.invite-card{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(145deg,#eee7da,#c9bfab);color:#292621;padding:30px;position:relative}
.invite-card:before,.invite-card:after{content:"";position:absolute;border:1px solid rgba(80,67,47,.32);inset:15px}.invite-card:after{inset:21px}
.invite-top,.invite-date,.invite-place{font-size:8px;letter-spacing:2px;position:relative;z-index:1}.invite-flower{font-size:24px;margin:25px 0 5px;color:#947b4a;z-index:1}.invite-script{font-family:var(--serif);font-size:54px;line-height:.65;font-style:italic;z-index:1}.invite-amp{font-family:var(--serif);font-size:23px;margin:13px 0;z-index:1}.invite-rule{height:1px;width:65px;background:#947b4a;margin:26px 0 12px;z-index:1}.invite-place{margin-top:5px}.invite-button{z-index:1;margin-top:28px;border:1px solid #806a43;background:transparent;padding:9px 12px;font-size:7px;letter-spacing:1px;color:#3a3329}
.floating-card{position:absolute;z-index:4;background:rgba(38,36,33,.9);border:1px solid rgba(244,240,232,.13);box-shadow:0 18px 45px rgba(0,0,0,.25);padding:14px 17px;display:flex;gap:11px;align-items:center;backdrop-filter:blur(12px)}.floating-card span{color:var(--gold);font-size:18px}.floating-card b,.floating-card small{display:block}.floating-card b{font-size:12px}.floating-card small{font-size:8px;color:#898279}.card-one{top:24%;left:2%}.card-two{bottom:20%;right:0}
.trust-strip{border-block:1px solid var(--line);min-height:72px;display:flex;justify-content:center;align-items:center;gap:32px;color:#777168;font-size:9px;letter-spacing:3px}.trust-strip i{width:4px;height:4px;border-radius:50%;background:var(--gold)}
.section{padding:125px 8vw}.section-heading{max-width:760px;margin-bottom:58px}.section-heading>p:last-child{color:#8f8980;max-width:580px;margin-top:24px;font-size:14px}.section-heading.centered{margin-inline:auto;text-align:center}.section-heading.centered>p:last-child{margin-inline:auto}.split{display:flex;justify-content:space-between;gap:70px;align-items:end}.split>p{max-width:360px!important;margin:0!important}
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.category-card{height:420px;position:relative;overflow:hidden;background:#2a2824}.category-card:before{content:"";position:absolute;inset:0;background:var(--bg,linear-gradient(145deg,#504a40,#171615));transition:transform .7s}
.category-wedding:before{background:linear-gradient(135deg,#837a69,#24221f)}.category-xv:before{background:linear-gradient(135deg,#4e4442,#161515)}.category-baptism:before{background:linear-gradient(135deg,#8b887c,#292822)}.category-event:before{background:linear-gradient(135deg,#465047,#171a17)}
.category-card:hover:before{transform:scale(1.06)}.category-overlay{position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(10,9,8,.85))}
.category-content{position:absolute;bottom:0;padding:28px;width:100%}.category-content>span{font-size:9px;color:var(--gold);letter-spacing:2px}.category-content h3{margin:8px 0 4px}.category-content p{font-size:11px;color:#c0bab0}.category-content a{display:inline-block;margin-top:20px;color:var(--gold-light);font-size:9px;letter-spacing:1px;text-transform:uppercase}.category-content a b{margin-left:7px}
.collection{background:#f1ede5;color:#27231e}.collection .eyebrow{color:#967744}.collection .section-heading>p:last-child{color:#716b63}.design-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.design-card{background:#e5dfd4}.design-preview{height:430px;position:relative;display:grid;place-items:center;overflow:hidden}.preview-noir{background:linear-gradient(135deg,#292826,#080807);color:#e6d9bd}.preview-champagne{background:linear-gradient(135deg,#e1d3ba,#9f8969);color:#322b21}.preview-botanical{background:linear-gradient(135deg,#596156,#20251f);color:#eee7d9}.preview-label{position:absolute;top:18px;left:18px;font-size:7px;letter-spacing:2px;opacity:.7}.preview-center{text-align:center;display:flex;flex-direction:column;gap:13px;align-items:center}.preview-center small,.preview-center i{font:normal 8px var(--sans);letter-spacing:2px}.preview-center strong{font:500 62px var(--serif);line-height:.75}.preview-champagne .preview-center strong{font-size:55px}.design-info{padding:20px 2px;position:relative}.design-info>span{font-size:8px;letter-spacing:2px;color:#8e8475}.design-info h3{font-size:26px;margin-top:5px}.design-info button{position:absolute;right:0;bottom:23px;background:none;border:0;color:#7e6741;font-size:9px;text-transform:uppercase;letter-spacing:1px;cursor:pointer}
.feature-section{display:grid;grid-template-columns:.9fr 1.1fr;min-height:760px;background:#1f1e1c}.feature-image{background:radial-gradient(circle,#4b4438,#1d1c1a);display:grid;place-items:center;padding:70px}.feature-frame{width:min(430px,80%);height:560px;border:1px solid rgba(200,169,107,.45);padding:16px;transform:rotate(-4deg);box-shadow:var(--shadow)}.feature-paper{height:100%;background:#e4ddce;color:#37312a;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--serif);position:relative}.feature-paper span{font:8px var(--sans);letter-spacing:4px}.feature-paper strong{font-size:68px;font-weight:500;line-height:.85}.feature-paper i{font-size:26px;margin-top:10px}.feature-ring{font-size:80px;color:#9b8358;margin-top:40px}.feature-copy{padding:115px 9vw 90px 8vw}.feature-copy>p:not(.eyebrow){color:#918b82;font-size:14px;max-width:560px;margin:25px 0 35px}.feature-list{border-top:1px solid var(--line)}.feature-list>div{display:flex;gap:22px;padding:18px 0;border-bottom:1px solid var(--line)}.feature-list b{color:var(--gold);font-size:9px;letter-spacing:1px}.feature-list strong,.feature-list small{display:block}.feature-list strong{font-size:12px}.feature-list small{color:#777168;font-size:10px;margin-top:3px}
.process{background:#181715}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.process-step{background:#181715;padding:40px}.process-step span{color:var(--gold);font-size:10px;letter-spacing:2px}.process-step h3{margin:35px 0 10px}.process-step p{font-size:12px;color:#817b72;max-width:300px}
.pricing{background:#eee9df;color:#25221e}.pricing .eyebrow{color:#967744}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;max-width:1100px;margin:auto}.price-card{background:#e3ddd2;padding:38px 32px;position:relative;border:1px solid transparent}.price-card.featured{background:#24221f;color:#eee9df;border-color:#8f7548;transform:translateY(-12px);box-shadow:0 25px 60px rgba(0,0,0,.16)}.price-kicker{font-size:8px;letter-spacing:3px;color:#927747}.price-card h3{font-size:37px;margin:8px 0}.price{font-family:var(--serif);font-size:43px}.price small{font:9px var(--sans);letter-spacing:1px}.price-desc{font-size:11px;color:#7d776e;min-height:52px;margin:12px 0 18px}.featured .price-desc{color:#aaa399}.price-card ul{list-style:none;border-top:1px solid rgba(36,34,31,.12);padding-top:16px;min-height:175px}.featured ul{border-color:var(--line)}.price-card li{font-size:10px;margin:8px 0;color:#656057}.featured li{color:#bcb6ac}.price-card li:before{content:"✓";color:#927747;margin-right:8px}.price-btn{display:flex;justify-content:center;border:1px solid #8d7854;padding:13px;font-size:9px;letter-spacing:1px;text-transform:uppercase}.price-btn.gold{background:var(--gold);color:#191714}.price-disclaimer{text-align:center;color:#8b847a;font-size:9px;margin-top:28px}
.testimonial-section{padding:120px 8vw;background:radial-gradient(circle at 50% 0,#353028,#181715)}.testimonial{max-width:880px;margin:auto;text-align:center}.quote-mark{font:80px var(--serif);color:var(--gold);height:65px}.testimonial blockquote{font:500 38px/1.15 var(--serif);font-style:italic;color:#e4ddd2}.testimonial-author{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:35px;text-align:left}.avatar{width:38px;height:38px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font:12px var(--serif)}.testimonial-author strong,.testimonial-author small{display:block}.testimonial-author strong{font-size:10px}.testimonial-author small{font-size:9px;color:#777168;margin-top:2px}
.faq{background:#f3eee6;color:#28241f}.faq .eyebrow{color:#967744}.faq-list{max-width:850px;margin:auto;border-top:1px solid #cfc7b9}.faq-item{width:100%;text-align:left;border:0;border-bottom:1px solid #cfc7b9;background:transparent;padding:22px 5px;display:grid;grid-template-columns:1fr auto;cursor:pointer;color:#28241f;font-family:var(--serif);font-size:23px;position:relative}.faq-item b{font:20px var(--sans);color:#987c4d}.faq-answer{grid-column:1/-1;max-height:0;overflow:hidden;opacity:0;font:11px/1.7 var(--sans);color:#746e65;transition:.35s}.faq-item.open .faq-answer{max-height:120px;opacity:1;padding-top:12px}.faq-item.open>b{transform:rotate(45deg)}
.cta-section{padding:125px 8vw;text-align:center;background:#171615;position:relative;overflow:hidden}.cta-section:before{content:"";position:absolute;width:600px;height:600px;border:1px solid rgba(200,169,107,.12);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.cta-inner{position:relative;max-width:850px;margin:auto}.cta-inner h2{max-width:800px;margin:auto}.cta-inner>p:not(.eyebrow){color:#827c73;font-size:13px;max-width:520px;margin:25px auto 30px}.cta-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.btn-light-outline{border-color:#6b665e;color:#e5ded4}.btn-light-outline:hover{border-color:var(--gold);color:var(--gold)}
.footer{padding:42px 8vw;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:20px}.footer>p{text-align:center;color:#6e6961;font:italic 16px var(--serif)}.footer-links{display:flex;justify-content:flex-end;gap:20px;font-size:9px;color:#858078;text-transform:uppercase;letter-spacing:1px}.footer>small{grid-column:1/-1;text-align:center;color:#514e49;font-size:8px}
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:20px}.modal.show{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(6px)}.modal-box{position:relative;width:min(500px,100%);background:#f0ebe2;color:#25221e;padding:45px;z-index:1;box-shadow:var(--shadow)}.modal-close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:28px;color:#625b51;cursor:pointer}.modal-box h2{font-size:48px}.modal-box>p:not(.eyebrow){font-size:11px;color:#746d63;margin:10px 0 24px}.modal-box form{display:grid;gap:14px}.modal-box label{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#635c52}.modal-box input,.modal-box select{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #cfc5b5;background:#faf7f1;outline:0;font-size:12px}.modal-box input:focus,.modal-box select:focus{border-color:#9b7e4d}.back-top{position:fixed;right:22px;bottom:22px;width:42px;height:42px;border:1px solid rgba(200,169,107,.5);background:#24221f;color:var(--gold);z-index:30;cursor:pointer;opacity:0;pointer-events:none;transition:.3s}.back-top.show{opacity:1;pointer-events:auto}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:950px){.hero{grid-template-columns:1fr;padding-top:65px}.hero-visual{min-height:590px}.category-grid{grid-template-columns:repeat(2,1fr)}.design-grid,.pricing-grid{grid-template-columns:1fr}.price-card.featured{transform:none}.feature-section{grid-template-columns:1fr}.feature-image{min-height:650px}.split{display:block}.split>p{margin-top:22px!important}.footer{grid-template-columns:1fr;text-align:center}.footer-links{justify-content:center}.footer>p{text-align:center}.footer>small{grid-column:auto}}
@media(max-width:700px){.announcement{font-size:7px;letter-spacing:2px}.site-header{height:70px;padding:0 5vw}.menu-toggle{display:flex;flex-direction:column;gap:5px}.menu-toggle span{width:24px;height:1px;background:#ddd}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:#191816;border-bottom:1px solid var(--line);padding:20px 5vw;flex-direction:column;align-items:flex-start;gap:18px}.nav.open{display:flex}.hero{padding:60px 7vw 55px;min-height:auto}.hero h1{font-size:55px}.hero-visual{min-height:530px}.phone{width:240px;height:480px}.halo{width:390px;height:390px}.floating-card{transform:scale(.85)}.card-one{left:-3%}.card-two{right:-3%}.trust-strip{gap:12px;flex-wrap:wrap;padding:18px;font-size:7px}.section{padding:85px 7vw}.category-grid{grid-template-columns:1fr 1fr;gap:8px}.category-card{height:310px}.category-content{padding:18px}.category-content h3{font-size:25px}.design-preview{height:360px}.feature-copy{padding:80px 7vw}.feature-image{padding:45px}.feature-frame{height:470px}.process-grid{grid-template-columns:1fr}.process-step{padding:30px}.pricing-grid{gap:12px}.price-card{padding:30px 24px}.testimonial blockquote{font-size:29px}.faq-item{font-size:20px}.cta-section{padding:95px 7vw}.footer{padding:35px 7vw}.modal-box{padding:35px 25px}.modal-box h2{font-size:42px}}

.mockup-phone {
  position: relative;
  z-index: 2;
  display: block;
  width: min(600px, 90vw);
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  filter: drop-shadow(0 25px 35px rgba(0, 0, 0, 0.20));
}
