:root{--ink:#123f39;--gold:#80a99c;--gold-ink:#215b4e;--paper:#e7eee8;--muted:#415f58}body{background:var(--paper);color:var(--ink)}.paper{background:#e7eee8}.sage{background:#b6d0c1}.dark{background:#123f39;color:#e7eee8;--gold-ink:#b6d0c1}.surface:before{content:'';position:absolute;inset:0;background:url(assets/mineral-paper.webp) center/cover;mix-blend-mode:soft-light;opacity:.22;pointer-events:none}.surface>*{position:relative}.surface>.divider,.surface>.divider-foliage,.surface>.entry-orbit{position:absolute}.surface.paper:before{opacity:.14}.eyebrow{font-size:12px;letter-spacing:.23em}.signature,.script-label{color:#215b4e}.dark .signature,.dark .script-label{color:#b6d0c1}.button{background:#215b4e;border-color:#215b4e;color:#f4faf3;font-size:14px}.button:hover{background:#173d36;color:#fff}.button-outline{background:transparent;color:#173d36;border-color:#215b4e80}.button-light{background:#e7eee8;color:#123f39;border-color:#e7eee8}.button-light:hover{background:#b6d0c1;color:#123f39}.text-button{font-size:14px;border-color:#215b4e66}.fine-rule{background:#80a99c}.music-button{background:#173d36;color:#e7eee8;border-color:#b6d0c180}.music-button[aria-pressed=true]{background:#e7eee8;color:#173d36}.hero{background:#123f39}.hero-photo,.closing>img{filter:none}.hero-shade{background:linear-gradient(180deg,#102b2888,#102b2833 48%,#102b2866)}.hero-copy{top:22%;padding:0 25px}.hero h1{font-size:clamp(74px,7.5vw,112px);line-height:1.08}.hero h1 em{color:#cfe1d3;font-size:.85em}.hero-date{font-size:16px;letter-spacing:.2em}.hero-date span{background:#b6d0c1aa}.hero .scroll-cue{bottom:150px;font-size:11px}.scroll-cue i{color:#e7eee8}.hero-leaves{top:0;left:50%;width:min(100%,950px);height:100%;transform:translateX(-50%)}.hero-leaves.secondary{display:none}.leaf-piece{background:url(assets/jade-foliage.png) center top/100% 100% no-repeat;mask:none}.entered .leaf-piece{animation-duration:2.2s}.divider-foliage{background:url(assets/jade-foliage.png) left center/contain no-repeat;mask:none;width:360px;height:140px;opacity:1}.story-leaf,.album-leaf{left:-25px;bottom:35px;rotate:0deg}.event-leaf,.details-leaf{right:-25px;bottom:35px;rotate:180deg}.rsvp-leaf{left:-25px;bottom:30px;rotate:0deg}.entry{background:radial-gradient(ellipse at 50% 25%,#2b6255,#123f39 80%)}.entry-orbit{width:min(580px,87vw);height:86%;border-color:#b6d0c188;border-radius:48% 48% 3px 3px;transform:none}.entry-orbit:after{border-color:#b6d0c133;border-radius:48% 48% 3px 3px;inset:13px;transform:none}.entry h1{font-family:Hand,cursive;font-size:clamp(76px,9vw,110px);color:#e7eee8}.entry h1 em{color:#b6d0c1;font-size:34px}.entry-date{font-size:14px}.entry-message{color:#c7ddd0;font-size:16px}.entry .text-button{color:#e7eee8;border-color:#b6d0c170}.entry .button{background:#e7eee8;color:#123f39;border-color:#e7eee8}.story{padding-top:55px}.count-grid strong{color:#215b4e}.count-grid span{color:#415f58;font-size:12px}.count-grid i,.tiny-heart{color:#6e9a86}.countdown{padding-bottom:110px}.story h2{color:#123f39}.story-copy>p{color:#415f58;font-size:16px}.story .signature{margin-top:40px}.event-intro{display:flex;flex-direction:column;text-align:center;gap:50px}.event-intro h2{color:#123f39}.date-seal{border:0;border-radius:0;width:min(550px,100%);height:auto;display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:18px;border-top:1px solid #215b4e70;border-bottom:1px solid #215b4e70;padding:30px 0}.date-seal strong{font-size:150px;grid-column:2;grid-row:1/3;color:#215b4e}.date-seal>span:first-child{grid-column:1;grid-row:1/3}.date-seal .month{grid-column:3;align-self:end;font-size:13px}.date-seal>span:last-child{grid-column:3;align-self:start}.event-details{gap:100px;margin-top:90px}.event-details article+article{border-color:#215b4e60}.event-time{color:#215b4e}.event-details p:not(.eyebrow):not(.event-time){color:#415f58;font-size:16px}.album-layout{display:block;max-width:850px;margin:auto}.album-copy{text-align:center;margin-bottom:55px}.album-copy h2{color:#e7eee8}.album-copy>p{font-size:16px;color:#b6d0c1}.album-copy .fine-rule{margin-left:auto;background:#b6d0c1}.album-wrap{max-width:550px;margin:auto}.album-stage{border-radius:3px 3px 45% 3px;outline:1px solid #80a99c66;outline-offset:13px}.album-controls{margin-top:32px}.album-controls button{color:#b6d0c1}.agenda h2{color:#123f39}.timeline time{color:#215b4e;font-size:14px}.timeline li>div{border-color:#80a99c80}.timeline li>div:before{background:#215b4e}.timeline p{font-size:16px;color:#415f58}.detail-index{font-size:12px;color:#215b4e}.detail-grid p{font-size:16px;color:#415f58}.detail-grid article+article:before{background:linear-gradient(transparent,#215b4e66 25%,#215b4e66 75%,transparent)}.notes-row{font-size:16px}.notes-row:before{background:linear-gradient(90deg,transparent,#215b4e66 12%,#215b4e66 37%,transparent 37%,transparent 63%,#215b4e66 63%,#215b4e66 88%,transparent)}.notes-row:after{width:100px;left:calc(50% - 50px);background:url(assets/jade-foliage.png) center/contain no-repeat;mask:none;transform:none}.rsvp h2{color:#e7eee8}.rsvp-content>p:not(.eyebrow){font-size:16px;color:#b6d0c1}.closing{height:800px}.closing-shade{background:#102b2888}.closing-copy .signature{color:#cfe1d3}.closing-copy>span{font-size:14px}.closing-copy h2{font-family:Hand,cursive;font-size:80px;letter-spacing:0}footer em{color:#215b4e}footer p{font-size:13px;color:#415f58}footer>span{font-size:14px}dialog{background:#e7eee8;color:#123f39;border-color:#80a99c}dialog h2{color:#215b4e}dialog p{font-size:16px}label{font-size:14px}input,select{color:#123f39;border-color:#215b4e70}.form-note{color:#415f58}.form-result{background:#d7e8da;border-color:#215b4e}.modal-close{color:#123f39}#notice{background:#e7eee8}
@media(min-width:701px){.hero-photo{object-position:center 47%}}
@media(max-width:700px){.hero{min-height:800px}.hero-copy{top:20%}.hero h1{font-size:57px;margin:16px auto;line-height:.98}.hero h1 em{font-size:35px;margin:10px 0}.hero-date{font-size:14px;letter-spacing:.15em;margin-top:22px}.hero .eyebrow{font-size:12px}.hero .scroll-cue{font-size:10px;bottom:140px}.hero-leaves{inset:0;width:100%;height:100%;transform:none}.hero-photo{object-position:center 40%}.entry h1{font-size:78px;margin:22px 0 18px}.entry .eyebrow{font-size:11px}.entry-date{font-size:14px}.entry-message{font-size:16px}.entry-orbit{width:89vw;height:91%}.story,.event,.album,.agenda,.details,.rsvp{padding-top:90px;padding-bottom:230px}.story{padding-top:50px}.story h2{font-size:43px}.story-copy>p{font-size:16px}.date-seal{gap:10px;padding:32px 0;grid-template-columns:1fr 1.5fr 1fr}.date-seal strong{font-size:110px}.date-seal>span{font-size:10px;letter-spacing:.13em}.date-seal .month{font-size:10px;letter-spacing:.05em}.event-intro h2{font-size:47px}.event-details article+article{border-color:#215b4e60}.album-copy{margin-bottom:50px}.album-stage{border-radius:3px 3px 28% 3px;outline-offset:9px}.album-copy h2{font-size:45px}.divider-foliage{width:265px;height:100px}.story-leaf,.album-leaf{bottom:45px;left:-15px}.event-leaf,.details-leaf{bottom:45px;right:-15px}.detail-grid article+article:before{background:linear-gradient(90deg,transparent,#215b4e66 10%,#215b4e66 34%,transparent 34%,transparent 66%,#215b4e66 66%,#215b4e66 90%,transparent)}.detail-grid article+article:after{width:100px;left:calc(50% - 50px);background:url(assets/jade-foliage.png) center/contain no-repeat;mask:none;transform:none}.closing{height:700px}.closing-copy h2{font-size:60px}.rsvp h2{font-size:49px}.rsvp-content>p:not(.eyebrow){font-size:16px}}

@media(max-width:700px){.hero-copy{top:17%}.hero h1{font-size:55px;line-height:1.06;max-width:300px}.hero h1>span{display:block}.hero h1 em{display:inline;font-size:37px;margin:0 3px 0 0}.hero-leaves{height:680px}.hero-date{margin-top:16px}}
@media(min-width:701px){.hero .scroll-cue{top:51%;bottom:auto}.hero h1{font-size:clamp(68px,6vw,88px)}}

/* Bienvenida centrada en la línea aprobada de Oliva y Eclipse. */
.entry{background:radial-gradient(ellipse at 50% 40%,#225346,#0d312c 90%);overflow-x:hidden;overflow-y:auto}
.entry .entry-orbit{width:min(660px,92vw);height:auto;aspect-ratio:1;border-radius:50%;max-height:none;border-color:#b6d0c15c;transform:none;box-shadow:0 0 80px #215b4e22}
.entry .entry-orbit:after{inset:18px;border-radius:50%;border-color:#b6d0c126;transform:none}
.entry .entry-content{padding:105px 24px 95px;max-width:580px}
.entry .entry-roses{position:absolute;width:270px;height:160px;object-fit:contain;pointer-events:none;left:calc(50% - 330px);top:calc(50% - 280px);transform:rotate(-25deg);animation:welcomeRoses 2.2s ease-out both}
.entry .entry-roses.second{left:auto;right:calc(50% - 330px);top:auto;bottom:calc(50% - 280px);transform:rotate(155deg);animation-delay:.35s}
.entry h1{font-family:Hand,cursive;font-size:clamp(78px,9vw,106px);line-height:1.04;color:#e7eee8;margin:24px 0}
.entry h1 em{display:block;font-family:Display,serif;font-size:30px;color:#b6d0c1;margin:6px 0}
.entry .eyebrow{font-size:12px;letter-spacing:.22em;color:#b6d0c1}
.entry .entry-date{font-size:14px;color:#e7eee8}.entry .entry-message{font-size:16px;color:#c7ddd0}
.entry .entry-actions{flex-direction:column;gap:12px;margin-top:28px}
.entry .entry-actions button{min-width:230px;min-height:52px;font-size:14px;border-radius:3px}
.entry .entry-actions .text-button{border:1px solid #b6d0c159;padding:12px 20px;color:#e7eee8}
@keyframes welcomeRoses{from{opacity:0;translate:0 -12px}to{opacity:1;translate:0 0}}
@media(max-width:700px){.entry .entry-orbit{width:112vw;max-width:510px}.entry .entry-content{padding:95px 24px 85px}.entry h1{font-size:78px}.entry .entry-roses{width:180px;height:110px;left:-22px;top:calc(50% - 300px)}.entry .entry-roses.second{right:-22px;bottom:calc(50% - 300px)}.entry .eyebrow{font-size:12px;letter-spacing:.12em}.entry .fine-rule{margin:20px auto}.entry .entry-actions{margin-top:23px}}
@media(max-height:700px){.entry .entry-content{padding:35px 24px}.entry h1{font-size:65px;margin:15px 0}.entry .entry-message{line-height:1.5}.entry .entry-actions{margin-top:20px}.entry .fine-rule{margin:16px auto}}
@media(prefers-reduced-motion:reduce){.entry .entry-roses{animation:none}}
/* Rosas del encabezado un 15% más pequeñas. */
.hero .hero-leaves{scale:.85;transform-origin:50% 0}
/* Composición compacta en esquina superior: centro de la foto despejado. */
.hero .hero-leaves{left:0;top:0;right:auto;width:min(65vw,580px);height:min(55%,500px);transform:none;scale:1;transform-origin:0 0}
@media(max-width:700px){.hero .hero-leaves{width:68%;height:420px;left:0;top:0;right:auto;transform:none}}
