:root{--ink:#473b36;--muted:#7b6d64;--wine:#733f4c;--gold:#b18a5c;--paper:#fbf7f1;--cream:#f7efe3;--line:#e9ded1;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;min-width:320px;overflow-x:hidden;color:var(--ink);background:var(--paper);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}[hidden]{display:none!important}.shell{width:min(1180px,calc(100% - 44px));margin:auto}.skip{position:fixed;z-index:100;top:-50px;left:10px;padding:12px;background:#fff}.skip:focus{top:10px}#scroll-progress{position:fixed;z-index:999;inset:0 auto auto 0;width:0;height:3px;background:linear-gradient(90deg,#b3a2a1,#b49058,#774956);transition:width .06s linear}
.header{height:91px;position:absolute;inset:0 0 auto;z-index:60;border-bottom:1px solid #9c786b21}.head-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;line-height:1;flex:none}.brand img{width:65px;height:53px;object-fit:contain}.brand span{display:flex;flex-direction:column;gap:9px}.brand strong{font:normal 1.05rem/1 var(--serif);letter-spacing:.17em}.brand small{font:.52rem/1 var(--sans);letter-spacing:.32em;color:#9b8372;font-weight:700}.header nav{display:flex;align-items:center;gap:31px}.header nav a{font-size:.77rem;font-weight:650;letter-spacing:.04em;text-decoration:none;transition:color .25s}.header nav a:hover{color:var(--gold)}.nav-cta{border:1px solid #b795714c;border-radius:35px;padding:12px 18px}.nav-cta span{font-size:1rem}.nav-toggle{display:none}.btn{display:inline-flex;gap:15px;align-items:center;justify-content:center;min-height:52px;padding:12px 27px;border-radius:60px;border:1px solid transparent;white-space:normal;font-size:.78rem;font-weight:700;letter-spacing:.035em;text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s,background .3s}.btn:hover{transform:translateY(-4px)}.btn-gold{background:#ad8054;color:#fff;box-shadow:0 14px 36px #76563830}.btn-gold:hover{background:#865d3f;box-shadow:0 18px 44px #76563844}.btn-quiet{color:var(--ink);background:#fff8;border-color:#c9b49e60}.btn-outline{background:transparent;border-color:#ffffff80;color:#fff}.btn-outline:hover{background:#ffffff18}.play-circle{display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid #c7aa87;border-radius:50%;font-size:.6rem;padding-left:2px}.overline{font-size:.67rem;letter-spacing:.29em;text-transform:uppercase;font-weight:800;color:#a27953;margin:0 0 19px}.overline.light{color:#e1c5a2}.tiny-star{font-size:1rem;margin-right:7px}.section{padding:clamp(76px,10vw,135px) 0}.section-top{text-align:center;max-width:760px;margin:0 auto 57px}.section-top h2,.promise h2,.interactive h2,.video-section h2,.closing h2{font:normal clamp(2.3rem,5.5vw,4.65rem)/1.09 var(--serif);letter-spacing:-.045em;margin:0 0 24px}.section-top em,.promise em,.interactive em,.video-section em,.closing em{font-weight:400;color:#af7c75}.section-top p:last-child{max-width:600px;margin:0 auto;color:var(--muted)}
.hero{min-height:790px;min-height:min(810px,100svh);position:relative;overflow:hidden;background:radial-gradient(ellipse at 1% 80%,#e8d9cb80,transparent 42%),radial-gradient(ellipse at 96% 13%,#f2e6da,transparent 43%),linear-gradient(125deg,#fffdf9,#fbf2e6 65%,#f7ebe0);display:flex;align-items:center;padding:140px 0 85px}.hero::before{content:"";pointer-events:none;position:absolute;inset:22px;background:linear-gradient(90deg,#cfb9a36b 1px,transparent 1px) left top /100% 100% no-repeat,linear-gradient(#cfb9a36b 1px,transparent 1px) top left /100% 100% no-repeat;mask-image:linear-gradient(#0004,#0004);border:1px solid #cfb9a333}.hero #petal-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.65}.hero-light{position:absolute;pointer-events:none;border-radius:50%;filter:blur(10px)}.hero-light-a{height:460px;width:460px;top:-210px;right:-170px;background:#efd2b866}.hero-light-b{height:450px;width:450px;bottom:-300px;left:-170px;background:#e8cccc66}.hero-layout{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:5vw}.hero-text{padding:25px 0}.hero h1{margin:0}.name-line{font:normal clamp(2.45rem,5.6vw,5.2rem)/1.03 var(--serif);letter-spacing:.085em;display:block;color:#77565c}.tagline-line{display:block;font:normal clamp(2.5rem,5.2vw,5.1rem)/1.12 var(--serif);letter-spacing:-.04em;margin:25px 0;color:#4e3c35}.tagline-line em{color:#a67f65;font-weight:400}.hero-intro{max-width:495px;color:#786b63;line-height:1.86;font-size:1.04rem;margin:0 0 30px}.hero-buttons{display:flex;gap:11px;flex-wrap:wrap}.hero-legend{display:flex;flex-wrap:wrap;gap:14px 19px;margin-top:34px;font-size:.71rem;color:#856e60;letter-spacing:.025em}.hero-gallery{height:565px;position:relative;perspective:1300px}.gallery-decoration{position:absolute;color:#c39a69;font:5rem var(--serif)}.gallery-decoration-one{right:8%;top:0;animation:starspin 18s linear infinite}.gallery-decoration-two{left:2%;bottom:10%;font-size:2.8rem;animation:starspin 13s linear infinite reverse}.hero-photo{position:absolute;overflow:hidden;border:7px solid #fffaf6;box-shadow:0 20px 55px #55402b38;display:block;border-radius:155px 155px 17px 17px;background:#fff7ec;transition:filter .35s,box-shadow .35s,transform .45s var(--ease);transform:translate3d(var(--px,0px),var(--py,0px),0) rotate(var(--rot,0deg))}.hero-photo:hover{filter:saturate(1.12);box-shadow:0 31px 75px #55402b44;transform:translate3d(var(--px,0px),calc(var(--py,0px) - 10px),0) rotate(var(--rot,0deg)) scale(1.04);z-index:7}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-photo>span{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);padding:7px 14px;border-radius:50px;background:#fffdf1eb;color:#6f5150;font:italic 1rem var(--serif);white-space:nowrap;box-shadow:0 5px 15px #0001}.photo-baptism{width:41%;height:57%;left:1%;top:23%;--rot:-11deg;background:#f3e9dd}.photo-baptism img{object-fit:contain;padding:10px}.photo-communion{width:44%;height:75%;top:0;left:32%;--rot:6deg;z-index:3}.photo-wedding{width:40%;height:59%;bottom:1%;right:0;--rot:11deg;z-index:4}.down-indicator{position:absolute;z-index:2;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;font-size:.58rem;letter-spacing:.28em;text-decoration:none;color:#9b826d}.down-indicator i{font-size:1.4rem;font-style:normal;animation:nudge 2s ease-in-out infinite}
.ribbon{background:#794753;overflow:hidden;color:#ead9c4;padding:14px 0}.ribbon-track{white-space:nowrap;width:max-content;display:flex;gap:50px;align-items:center;animation:marquee 32s linear infinite}.ribbon-track span{letter-spacing:.32em;font-size:.75rem}.ribbon-track b{font:1.2rem var(--serif);font-weight:400;color:#e3b9a3}.ribbon:hover .ribbon-track{animation-play-state:paused}
.collections{background:#fffbf6}.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}.collection-card{border-radius:160px 160px 18px 18px;overflow:hidden;background:#fff;box-shadow:0 12px 35px #62433813;transition:transform .45s var(--ease),box-shadow .45s var(--ease);transform-style:preserve-3d}.collection-card:hover{box-shadow:0 27px 60px #62433828;transform:translateY(-9px)}.col-photo{height:330px;position:relative;overflow:hidden;background:#f0e6d9}.col-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 65%,#352c2540)}.col-photo img{height:100%;width:100%;object-fit:cover;transition:transform 1s var(--ease)}.collection-card:hover .col-photo img{transform:scale(1.06)}.collection-baptism .col-photo{background:radial-gradient(#fffefa,#ebd9c8)}.collection-baptism .col-photo img{object-fit:contain;padding:20px 0}.collection-communion .col-photo{background:#cddacf}.collection-wedding .col-photo{background:#e7c4c8}.col-count{position:absolute;z-index:2;top:21px;left:24px;padding:7px 12px;border-radius:30px;font-size:.68rem;letter-spacing:.12em;background:#ffffffe6;box-shadow:0 4px 15px #654d3b15}.photo-shine{position:absolute;top:-80%;left:-100%;height:280%;width:55%;z-index:4;pointer-events:none;background:linear-gradient(90deg,transparent,#ffffff6e,transparent);transform:rotate(28deg);transition:left 1s var(--ease)}.collection-card:hover .photo-shine{left:150%}.col-copy{padding:28px 29px 30px}.col-small{font-size:.68rem;letter-spacing:.19em;text-transform:uppercase;color:#9d7e62}.col-copy h3{font:normal 2.3rem/1.12 var(--serif);margin:8px 0 14px}.col-copy p{color:#82766d;font-size:.91rem;line-height:1.7;margin:0 0 24px;min-height:70px}.col-link{display:flex;justify-content:space-between;align-items:center;padding-top:17px;text-decoration:none;border-top:1px solid var(--line);font-size:.85rem;font-weight:750;color:#8c6256}.col-link span{display:grid;place-items:center;border:1px solid #d6b6a0;width:32px;height:32px;border-radius:50%;transition:background .25s,transform .25s}.col-link:hover span{background:#f7e7db;transform:translate(3px,-3px)}
.promise{padding:115px 0;background:radial-gradient(ellipse at 7% 80%,#7a4956,transparent 62%),linear-gradient(140deg,#4f2633,#673944 48%,#47343a);color:#fff6ed;position:relative;overflow:hidden}.promise::after{content:'✧';position:absolute;right:-10px;top:-120px;font:26rem var(--serif);color:#ffeba808;pointer-events:none}.promise-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;position:relative;z-index:1}.promise h2{font-size:clamp(2.8rem,5vw,4.6rem)}.promise h2 em{color:#eac2aa}.promise-head>p:not(.overline){color:#e2ccd0;max-width:480px}.text-link{display:inline-flex;align-items:center;gap:20px;color:#f4dbbd;border-bottom:1px solid #cfa67e;padding:7px 0;text-decoration:none;font-size:.88rem;margin-top:14px}.benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:27px 20px}.benefit{border:1px solid #ffffff31;border-radius:20px;padding:25px 23px;background:#ffffff0d;backdrop-filter:blur(7px);transition:transform .25s,background .25s}.benefit:hover{transform:translateY(-5px);background:#ffffff16}.benefit-icon{font:2rem var(--serif);color:#e4be92}.benefit h3{font:normal 1.3rem var(--serif);margin:12px 0 8px}.benefit p{color:#e1ccd0;font-size:.84rem;margin:0}
.interactive{background:#f7f1e9}.interactive-grid{display:grid;grid-template-columns:.89fr 1.11fr;gap:8%;align-items:center}.interactive h2{font-size:clamp(2.65rem,4.9vw,4.2rem)}.interactive-copy>p:not(.overline):not(.invitation-detail){color:#807167}.invitation-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0 14px}.choice{padding:10px 15px;border:1px solid #d7c3ae;border-radius:30px;background:#fffaf5;font-size:.76rem;color:#775d4e;transition:background .25s,transform .25s}.choice:hover{transform:translateY(-2px)}.choice.active{background:#734957;color:white;border-color:#734957}.invitation-detail{font:italic 1.02rem/1.5 var(--serif);margin:15px 0 25px;color:#927d6a}.envelope-stage{min-height:510px;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;isolation:isolate;border:1px solid #e3d7c9;border-radius:18px;background:radial-gradient(ellipse at 50% 40%,#fff9f1,#efe4d6 75%);overflow:hidden;padding:20px}.envelope-stage::before{content:"";position:absolute;inset:15px;border:1px solid #ddcbb6;pointer-events:none;border-radius:12px}.envelope-glow{position:absolute;width:350px;height:350px;border-radius:50%;background:#ffeac988;filter:blur(40px)}.envelope-topline{position:absolute;top:47px;font-size:.62rem;letter-spacing:.24em;color:#a38e7b}.sample-envelope{width:330px;height:230px;max-width:80%;position:relative;background:transparent;border:0;filter:drop-shadow(0 25px 20px #8b715a3f);transition:transform .7s var(--ease);margin:50px 0 0}.sample-envelope:hover{transform:translateY(-9px) rotate(-1deg)}.sample-envelope>span{position:absolute;display:block}.env-back{inset:0;background:#e9d6be;border-radius:3px}.env-letter{z-index:2;left:10%;right:10%;bottom:12%;height:88%;border:1px solid #d5b992;background:#fffdf8;display:flex!important;flex-direction:column;gap:10px;align-items:center;justify-content:center;transition:transform 1.1s var(--ease);box-shadow:0 0 0 5px #fffdf8,0 0 0 6px #d6c4a7}.env-kicker{font:.54rem var(--sans);letter-spacing:.2em;color:#9c8468}.env-letter strong{font:normal 1.78rem var(--serif);color:#785459}.env-letter #letter-subtitle{font:italic .8rem var(--serif);color:#99816a}.env-letter i{font-style:normal;color:#c29b69}.env-fold-left,.env-fold-right,.env-fold-bottom,.env-flap{pointer-events:none}.env-fold-left{z-index:3;inset:0;clip-path:polygon(0 0,55% 55%,0 100%);background:#eddcc8}.env-fold-right{z-index:3;inset:0;clip-path:polygon(100% 0,45% 55%,100% 100%);background:#e4d0b7}.env-fold-bottom{z-index:4;inset:0;clip-path:polygon(0 100%,50% 45%,100% 100%);background:#f0ddc3}.env-flap{z-index:6;inset:0;clip-path:polygon(0 0,50% 58%,100% 0);background:#cfb598;transform-origin:50% 0;transition:transform .8s var(--ease),z-index 0s .45s;backface-visibility:hidden}.env-stamp{z-index:7;top:49%;left:50%;width:49px;height:49px;display:grid!important;place-items:center;background:#a47567;color:white;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 2px 7px #a16e63aa;transition:opacity .25s}.sample-envelope.open .env-flap{transform:rotateX(180deg);z-index:1}.sample-envelope.open .env-letter{transform:translateY(-130px);transition-delay:.28s}.sample-envelope.open .env-stamp{opacity:0}.envelope-hint{position:absolute;bottom:30px;text-align:center;color:#957d6b;font-size:.76rem;letter-spacing:.03em;max-width:85%}
.video-section{background:#314638;color:#fffaf1}.video-grid{display:grid;grid-template-columns:.72fr 1.28fr;align-items:center;gap:6%}.video-copy .overline{color:#ead3a8}.video-copy h2 em{color:#ddbd94}.video-copy>p:not(.overline){color:#d3e0d6}.video-copy .video-note{font-size:.8rem;opacity:.75;margin-top:22px}.video-frame{position:relative;border:8px solid #e8e3d7;border-radius:17px;overflow:hidden;box-shadow:0 20px 75px #0006;background:#111;aspect-ratio:16/9}.video-frame video{display:block;width:100%;height:100%;object-fit:contain;background:#141613}.video-frame-note{position:absolute;left:0;right:0;bottom:calc(100% + 12px);font-size:.55rem;letter-spacing:.15em}
.steps{background:#fffaf3}.steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px}.step{padding:16px 16px 0}.step-num{font:italic 3.1rem var(--serif);color:#b89773}.step-line{display:block;margin:13px 0 25px;width:100%;height:1px;background:linear-gradient(90deg,#ac8a61,#eadcd0)}.step h3{font:normal 1.45rem var(--serif)}.step p{color:#81736b;font-size:.88rem}.closing{padding:115px 0;background:radial-gradient(ellipse at 50% 16%,#f9eee3,#ead6c7);text-align:center;position:relative}.closing::before{content:"";position:absolute;inset:18px;border:1px solid #b795804a;pointer-events:none}.closing-inner{position:relative}.closing-ornament{color:#be9d72;font:3.6rem var(--serif)}.closing h2{margin:10px 0 18px}.closing h2 em{color:#a7746c}.closing-inner>p:not(.overline):not(.closing-fine){color:#927866;letter-spacing:.15em;text-transform:uppercase;font-size:.75rem}.closing-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:29px}.closing .btn-outline{border-color:#b49174;color:#815e51}.closing .btn-outline:hover{background:#fff8}.closing-fine{color:#98847a;font-size:.7rem;margin:26px 0 0}.footer{background:#fffdfa;border-top:1px solid #ece4da;padding:34px 0}.footer-inner{display:flex;gap:23px;align-items:center;justify-content:space-between;flex-wrap:wrap}.footer-links{display:flex;gap:17px;flex-wrap:wrap}.footer-links a{text-decoration:none;font-size:.78rem;color:#725c50}.footer p{font-size:.73rem;color:#968a80;margin:0}.back-top{position:fixed;z-index:55;right:17px;bottom:19px;width:47px;height:47px;border:1px solid #d7bdab;background:#fff8efeb;backdrop-filter:blur(10px);color:#70554b;font-size:1.4rem;border-radius:50%;box-shadow:0 9px 26px #583b2a2c;opacity:0;pointer-events:none;transform:translateY(20px);transition:opacity .3s,transform .3s}.back-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.toast{position:fixed;z-index:100;left:50%;bottom:30px;transform:translate(-50%,30px);opacity:0;pointer-events:none;background:#403b36;color:white;padding:12px 21px;border-radius:30px;box-shadow:0 10px 50px #0002;transition:opacity .3s,transform .3s;font-size:.85rem;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
.js-effects .reveal{opacity:0;transform:translateY(34px);transition:opacity .95s var(--ease),transform .95s var(--ease)}.js-effects .reveal.visible{opacity:1;transform:translateY(0)}[data-animate=rise]{animation:rise 1.2s var(--ease) both}[data-animate=rise]:nth-child(2){animation-delay:.16s}[data-animate=rise]:nth-child(3){animation-delay:.3s}[data-animate=rise]:nth-child(4){animation-delay:.46s}[data-animate=rise]:nth-child(5){animation-delay:.62s}
@keyframes rise{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}@keyframes nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}@keyframes starspin{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translateX(-50%)}}
@media(min-width:1200px){.hero-layout{gap:72px}.hero-gallery{height:590px}}
@media(max-width:1050px){.hero{min-height:740px}.hero-layout{gap:20px}.hero-gallery{height:470px}.collection-grid{gap:13px}.col-photo{height:300px}.col-copy{padding:23px 19px}.promise-grid{gap:35px}}
@media(max-width:780px){.header{height:76px}.head-inner{height:76px}.brand img{width:50px;height:43px}.brand strong{font-size:.9rem}.brand small{font-size:.44rem}.nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:1px solid #d8c3b1;border-radius:10px;background:#fff9f1}.nav-toggle span{width:21px;height:2px;background:#785a51;align-self:center}.header nav{position:absolute;top:76px;left:0;right:0;padding:20px 25px 28px;display:none;flex-direction:column;align-items:stretch;gap:20px;background:#fffbf7;box-shadow:0 18px 35px #4c333b24}.header nav.open{display:flex}.header nav a{font-size:.88rem}.nav-cta{text-align:center}.hero{min-height:auto;padding:120px 0 80px}.hero-layout{grid-template-columns:1fr;gap:10px}.hero-text{text-align:center}.hero-intro{margin-inline:auto}.hero-buttons,.hero-legend{justify-content:center}.hero-gallery{height:430px;width:min(540px,100%);margin:7px auto 0}.name-line{font-size:clamp(2.2rem,9vw,4.8rem)}.tagline-line{font-size:clamp(2.5rem,8vw,4.6rem);margin:18px 0}.down-indicator{display:none}.collection-grid{grid-template-columns:1fr 1fr;gap:19px}.collection-card:last-child{grid-column:1/-1;max-width:430px;width:100%;margin:0 auto}.col-photo{height:300px}.col-copy p{min-height:0}.promise-grid,.interactive-grid,.video-grid{grid-template-columns:1fr;gap:55px}.promise-head{text-align:center}.promise-head>p:not(.overline){margin-inline:auto}.benefit-grid{gap:12px}.interactive-copy{text-align:center}.invitation-tabs{justify-content:center}.video-copy{text-align:center}.video-frame{max-width:700px;margin:0 auto;width:100%}.footer-inner{justify-content:center;text-align:center}.footer-links{justify-content:center}}
@media(max-width:530px){.shell{width:calc(100% - 32px)}.hero{padding-top:104px}.hero::before{inset:9px}.hero h1 .name-line{font-size:clamp(2rem,9.1vw,2.8rem);letter-spacing:.06em}.tagline-line{font-size:clamp(2.5rem,12vw,3.65rem)}.hero-intro{font-size:.91rem}.hero-legend{gap:10px;font-size:.62rem}.hero-gallery{height:330px}.hero-photo{border-width:4px}.photo-baptism{width:43%;height:58%;left:0}.photo-communion{width:45%;height:76%;left:31%}.photo-wedding{width:42%;height:57%;right:0}.hero-photo>span{font-size:.74rem;padding:4px 9px;bottom:8px}.hero-buttons{gap:9px}.btn{min-height:46px;padding:10px 18px;font-size:.72rem}.ribbon-track{gap:27px}.section{padding:74px 0}.section-top{margin-bottom:36px}.section-top h2,.promise h2,.interactive h2,.video-section h2,.closing h2{font-size:clamp(2.15rem,9.2vw,3.35rem)}.collection-grid{grid-template-columns:1fr;gap:22px}.collection-card:last-child{grid-column:auto;max-width:none}.collection-card{border-radius:155px 155px 15px 15px;max-width:420px;margin:auto}.col-photo{height:300px}.col-copy{padding:25px}.promise{padding:80px 0}.benefit-grid{grid-template-columns:1fr 1fr;gap:9px}.benefit{padding:16px 14px}.benefit h3{font-size:1.1rem}.benefit p{font-size:.77rem}.interactive-grid{gap:35px}.envelope-stage{min-height:410px}.sample-envelope{width:280px;height:195px;max-width:85%}.sample-envelope.open .env-letter{transform:translateY(-110px)}.env-letter strong{font-size:1.5rem}.envelope-topline{font-size:.54rem;letter-spacing:.17em;top:35px}.envelope-hint{bottom:18px}.steps-grid{grid-template-columns:1fr;gap:10px}.step{padding:5px 10px}.step-line{margin:3px 0 10px}.closing{padding:86px 0}.closing::before{inset:10px}.closing-inner>p:not(.overline):not(.closing-fine){font-size:.65rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.js-effects .reveal{opacity:1;transform:none}.hero-photo{transform:none!important}}

/* Tarjeta que emerge del sobre · tres ilustraciones originales del proyecto */
.envelope-stage{min-height:590px;overflow:hidden;padding-top:35px;padding-bottom:35px}
.sample-envelope{margin-top:80px;filter:drop-shadow(0 26px 25px #674d4747);perspective:1000px}
.env-letter{height:126%;bottom:10%;border:2px solid #d8b894;background:radial-gradient(ellipse at 50% 10%,#fff,#fffaf1);gap:5px!important;padding:18px 13px 11px;border-radius:7px;box-shadow:0 0 0 5px #fffdf8,0 0 0 6px #d6c4a7,0 15px 28px #8e766124;transition:transform 1.5s cubic-bezier(.18,.84,.2,1) .2s}
.env-symbol{display:flex!important;align-items:center;justify-content:center;width:164px;height:118px;max-width:90%;position:relative;filter:drop-shadow(0 7px 9px #6b523224)}
.env-symbol img{max-height:114px;max-width:100%;width:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform 1.15s ease}
.env-letter strong{font-size:clamp(1.2rem,2.2vw,1.7rem);line-height:1.08;text-align:center;max-width:100%}
.env-letter .env-micro{font:.48rem var(--sans);letter-spacing:.13em;color:#af9575}
.env-letter #letter-subtitle{font-size:.75rem}
.sample-envelope.open .env-letter{transform:translateY(-173px) rotate(-1deg) scale(1.045)}
.sample-envelope.open .env-symbol img{transform:scale(1.06)}
.envelope-stage[data-theme='comuniones'] .env-letter{border-color:#a8bea4;background:linear-gradient(150deg,#fffefb,#f4faee)}
.envelope-stage[data-theme='bodas'] .env-letter{border-color:#cba7b0;background:linear-gradient(150deg,#fffefb,#fff2f5)}
@media(max-width:530px){.envelope-stage{min-height:540px}.sample-envelope{margin-top:86px}.env-letter{height:136%;gap:3px!important}.env-symbol{height:96px;width:130px}.env-symbol img{max-height:92px}.sample-envelope.open .env-letter{transform:translateY(-151px) scale(1.035)}.envelope-topline{top:28px}.envelope-hint{bottom:20px}}
@media(max-width:365px){.sample-envelope.open .env-letter{transform:translateY(-130px) scale(1.025)}.env-letter{height:128%}.env-symbol{height:81px}}
@media(prefers-reduced-motion:reduce){.sample-envelope,.env-symbol img,.env-letter{transition:none!important}}
/* Mayor recorrido visible: reservar espacio para sacar completa la tarjeta sin recortarla. */
.envelope-stage{min-height:700px}
@media(max-width:530px){.envelope-stage{min-height:650px}}
