
:root{
  --cream:#FBF6EA;--sage:#7C8454;--sage2:#AEB38C;--lav:#8E79BD;--lav2:#CBBCE7;--rose:#E8A7B2;--blue:#B4C6E8;--ink:#57573A;--lace:#FFFDF6;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='linear' slope='.32' intercept='.76'/%3E%3CfeFuncG type='linear' slope='.32' intercept='.76'/%3E%3CfeFuncB type='linear' slope='.32' intercept='.76'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
  --mottle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.007' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='linear' slope='.45' intercept='.7'/%3E%3CfeFuncG type='linear' slope='.45' intercept='.7'/%3E%3CfeFuncB type='linear' slope='.45' intercept='.7'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='520' height='520' filter='url(%23n)'/%3E%3C/svg%3E");
  /* Panel de los novios y música (demo/shared/panel.css) */
  --p-bg:var(--cream);--p-surface:#FFFDF6;--p-ink:var(--ink);--p-muted:#7A7A5C;--p-line:#AEB38C66;--p-accent:var(--sage);--p-on-accent:var(--cream);
  --p-serif:'Cormorant Garamond',Georgia,serif;--p-sans:'Cormorant Garamond',Georgia,serif;--m-bg:var(--sage);--m-fg:var(--cream);--m-border:#FFFDF688
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none !important}
html{-webkit-text-size-adjust:100%}
body.locked{overflow:hidden}
h1,h2,h3,p,blockquote{margin:0}
img{display:block;max-width:100%}
a{color:inherit}
button{font-family:inherit}
details summary{list-style:none;cursor:pointer}
details summary::-webkit-details-marker{display:none}
.ph-img{width:100%;height:100%;object-fit:cover}
/* La invitación es una columna (como en el teléfono); en pantallas grandes queda centrada. */
main{position:relative;max-width:480px;margin:0 auto;overflow:hidden}
.opening{position:fixed;inset:0;z-index:60;overflow:hidden;transition:opacity .8s,visibility 0s .8s}
.opening.gone{opacity:0;visibility:hidden;pointer-events:none}
.mbar{position:fixed;z-index:50;left:max(10px,calc(50% - 230px));right:max(10px,calc(50% - 230px));top:10px;height:48px;padding:0 20px;border-radius:999px;display:flex;align-items:center;justify-content:space-between;opacity:0;transform:translateY(-70px);transition:opacity .5s,transform .6s cubic-bezier(.22,1,.36,1);pointer-events:none}
.mbar.show{opacity:1;transform:none}
body{margin:0;font-family:'Cormorant Garamond',serif;color:var(--ink);background:#D9E0CB}
a:focus-visible,button:focus-visible,summary:focus-visible,textarea:focus-visible{outline:2px solid var(--sage);outline-offset:3px}
/* Marcos dibujados a la medida del contenido (se rehacen si el texto crece) */
[data-frame]{position:relative;isolation:isolate}
.fr{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:-1;pointer-events:none}

/* Aparecer, crecer, dibujar y escribir al llegar a la pantalla */
[data-rv]{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform 1s cubic-bezier(.22,1,.36,1)}
[data-rv=left]{transform:translateX(-60px) rotate(-8deg)}
[data-rv=right]{transform:translateX(60px) rotate(8deg)}
[data-rv=stamp]{transform:scale(2.2) rotate(-25deg);transition:opacity .25s,transform .5s cubic-bezier(.5,1.7,.6,1)}
[data-rv].in{opacity:1;transform:none}
.grow .st{stroke-dasharray:1;stroke-dashoffset:1}
.grow .lf,.grow .bl{transform:scale(0);transform-box:fill-box}
.grow .lf{transform-origin:0% 50%}
.grow .bl{transform-origin:50% 50%}
.grow.in .st{animation:gDraw var(--t,1.3s) var(--d,0s) ease-out forwards}
.grow.in .lf{animation:gPop .8s var(--d,0s) cubic-bezier(.3,1.6,.5,1) forwards}
.grow.in .bl{animation:gBloom 1.2s var(--d,0s) cubic-bezier(.3,1.45,.5,1) forwards}
@keyframes gDraw{to{stroke-dashoffset:0}}
@keyframes gPop{to{transform:scale(1)}}
@keyframes gBloom{0%{transform:scale(0) rotate(-70deg)}100%{transform:scale(1) rotate(0)}}
.draw path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2s cubic-bezier(.5,0,.3,1)}
.draw.in path,.in>.fr.draw path{stroke-dashoffset:0}
.write{display:inline-block;clip-path:inset(-20% 100% -30% -5%);transition:clip-path 2s cubic-bezier(.6,.1,.4,1)}
.write.in{clip-path:inset(-20% -10% -30% -5%)}
.typer i{font-style:normal;opacity:0;transition:opacity .05s calc(var(--i) * 24ms + .5s)}
.typer.in i{opacity:1}

.pa{font-family:Parisienne,cursive;font-weight:400}
.mc{font:400 10px/1.8 Marcellus,serif;letter-spacing:.24em;text-transform:uppercase}
.garden{background-color:#D6DEC6;background-image:var(--grain),radial-gradient(ellipse 90% 40% at 50% 0%,#EEF2F2,transparent 70%),radial-gradient(ellipse 55% 32% at 0% 62%,#A3B486,transparent 70%),radial-gradient(ellipse 55% 30% at 100% 52%,#9AAE7E,transparent 70%),radial-gradient(ellipse 45% 22% at 12% 100%,color-mix(in srgb,var(--lav2),transparent 25%),transparent 70%),radial-gradient(ellipse 45% 22% at 92% 98%,color-mix(in srgb,var(--rose),transparent 35%),transparent 70%);background-blend-mode:multiply,normal,normal,normal,normal,normal}
.scroll.garden{background-size:160px,100% 760px,100% 760px,100% 760px,100% 760px,100% 760px}
.wis{position:absolute;left:0;width:100%;pointer-events:none;overflow:visible}
.wis .rc{animation:glSway var(--du) ease-in-out var(--de) infinite alternate}
@keyframes glSway{from{transform:rotate(-2.2deg)}to{transform:rotate(2.2deg)}}
.petals{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2}
.petals i{position:absolute;top:-12px;width:7px;height:5px;border-radius:60% 40% 60% 40%;background:var(--lav2);opacity:.85;animation:glFall var(--du) linear var(--de) infinite}
@keyframes glFall{to{transform:translate(var(--x),780px) rotate(560deg)}}
.btn{text-decoration:none;display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border:0;border-radius:6px;background:var(--sage);color:var(--cream);font:400 10px Marcellus,serif;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;box-shadow:0 5px 12px -5px #57573A99}
.loval{position:relative;width:266px;height:340px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 54px;text-align:center;filter:drop-shadow(0 12px 16px #4a4a2a3a)}
.loval .opening-names{font:400 48px/1 Parisienne,cursive;color:var(--sage);margin:8px 0}
.loval .opening-names .y{display:block;font:italic 22px 'Cormorant Garamond',serif;color:var(--ink);margin:2px 0}
.loval .dt{font:400 13.5px Marcellus,serif;letter-spacing:.14em}
.bush{position:relative;z-index:1;display:block;margin:-62px auto 0}
.orn{display:block;margin:12px auto;color:var(--sage2)}
/* apertura: cortina de glicinas */
.opening{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center}
.opening>.wis{top:-6px;height:150px}
.curt{position:absolute;top:-8px;bottom:0;width:64%;z-index:3;cursor:pointer;transition:transform 1.7s cubic-bezier(.6,0,.3,1)}
.curt svg{width:100%;height:100%;display:block}
.curt.l{left:-6%}
.curt.r{right:-6%}
.curt.r svg{transform:scaleX(-1)}
.parted .curt.l{transform:translateX(-96%)}
.parted .curt.r{transform:translateX(96%)}
.ohint{position:absolute;z-index:4;left:0;right:0;bottom:44px;transition:opacity .5s;pointer-events:none}
.ohint span{display:inline-block;padding:9px 18px;border-radius:99px;background:#FBF6EAe6;font:italic 17px 'Cormorant Garamond',serif;box-shadow:0 6px 16px -6px #0004}
.parted .ohint{opacity:0}
.opening .write{transition-duration:1s}
.opening .after{opacity:0;transition:opacity 1s 1.6s;position:relative;z-index:1}
.parted .after{opacity:1;transition-delay:1.1s}
.opening .after p{font-size:17px;margin-bottom:12px}
/* sitio */
.ghero{position:relative;padding:150px 12px 40px;text-align:center;overflow:hidden}
.ghero>.wis{top:-6px;height:280px}
.ghero>.mc{display:inline-block;padding:5px 14px;border-radius:99px;background:#FBF6EAd9;box-shadow:0 4px 12px -6px #0003}
.ghero .loval{width:236px;height:300px;padding:0}
.ghero .loval .pic{position:absolute;inset:24px;border-radius:50%;overflow:hidden}
.ghero .loval.np{width:266px;height:340px;padding:0 54px}
/* versión sin fotos: ventana en arco con el jardín pintado en lugar de la galería */
.vign{position:relative;width:210px;height:260px;margin:26px auto 0;border-radius:999px 999px 8px 8px;overflow:hidden;box-shadow:0 0 0 5px var(--lace),0 0 0 6px var(--sage2),0 16px 22px -12px #0006}
.vign .wis{top:-4px;height:200px}
.vign .bush{position:absolute;left:50%;bottom:-6px;margin:0;translate:-50% 0}
.panel{position:relative;margin:0 12px;padding:50px 24px;text-align:center;background-color:var(--cream);background-image:var(--grain);background-blend-mode:multiply;box-shadow:0 0 0 1px #ffffff90}
.panel h2{font:400 40px/1.15 Parisienne,cursive;color:var(--sage);margin:6px 0 14px}
:where(.panel) p{font-size:16.5px;line-height:1.6}
.olive{background-color:var(--sage);color:var(--cream)}
.olive h2{color:var(--cream)}
.gap{position:relative;height:84px}
.gap .wis{top:-4px;height:110px;z-index:1}
.cameo{position:relative;width:64px;height:78px;margin:0 auto;display:grid;place-items:center;border-radius:50%;border:1px solid var(--sage2);outline:1px solid var(--sage2);outline-offset:3px;font:400 26px Parisienne,cursive;color:var(--sage)}
.names{font:400 54px/1.05 Parisienne,cursive;color:var(--sage);margin:14px 0 8px}
.arches{display:flex;justify-content:center;align-items:flex-end;gap:10px;margin-top:24px}
.arch{border-radius:999px 999px 6px 6px;overflow:hidden;padding:5px;background:var(--lace);box-shadow:0 0 0 1px var(--sage2),0 12px 18px -12px #0006}
.arch .pic{border-radius:999px 999px 3px 3px;overflow:hidden;aspect-ratio:3/4.4}
.arch:nth-child(1),.arch:nth-child(3){width:86px}
.arch:nth-child(2){width:112px}
.week{display:grid;grid-template-columns:repeat(7,1fr);margin-top:18px}
.week span{font:400 12px Marcellus,serif;color:var(--sage2)}
.week b{position:relative;display:grid;place-items:center;height:46px;font:400 25px Parisienne,cursive;font-weight:400}
.week b svg{position:absolute;left:50%;top:50%;width:46px;height:42px;margin:-21px 0 0 -23px;z-index:-1;animation:glBeat 1.6s ease-in-out infinite}
.week b.hit{color:#fff;isolation:isolate}
@keyframes glBeat{0%,100%{transform:scale(1)}15%{transform:scale(1.14)}30%{transform:scale(1)}45%{transform:scale(1.08)}}
.ledge{position:absolute;z-index:1;left:0;right:0;top:0;height:20px;}
.ledge.b{top:auto;bottom:0;transform:scaleY(-1)}
.cdov{width:100%;max-width:290px;height:272px;margin:6px auto 0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 46px}
.cdov h2{margin:0 0 2px;font-size:27px;line-height:1.1}
.cdov .mc{font-size:8px;letter-spacing:.16em}
.gcd{display:grid;grid-template-columns:repeat(4,1fr);width:100%;margin-top:8px}
.gcd>div+div{border-left:1px solid #ffffff44}
.gcd b{display:block;font:400 23px/1.15 Marcellus,serif;font-variant-numeric:tabular-nums}
.gcd span{font:400 7px Marcellus,serif;letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.prog{text-align:left;margin-top:22px}
.pe{position:relative;display:grid;grid-template-columns:66px 1fr;gap:10px;padding-bottom:26px}
.pe:not(:last-child)::before{content:"";position:absolute;left:33px;top:64px;bottom:6px;border-left:1px dashed var(--sage2)}
.pe .ic{width:66px;height:59px;color:var(--sage);overflow:visible}
.pe .fl{transform-box:fill-box;transform-origin:50% 100%;animation:glFlick 1.4s ease-in-out infinite alternate}
.pe .glw{animation:glGlowA 1.4s ease-in-out infinite alternate}
@keyframes glFlick{to{transform:scale(.9,1.1) skewX(3deg)}}
@keyframes glGlowA{to{opacity:.6}}
.pe h3{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font:400 27px/1.1 Parisienne,cursive;color:var(--sage)}
.pe h3 small{font-size:21px;flex:none;opacity:.85}
.pe p{font-size:15.5px;line-height:1.5}
.pe .btn{margin-top:10px;padding:8px 16px}
.brush{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 12px;margin-top:16px}
.brush svg{width:70px;height:26px}
.ti{padding:20px 0 4px;border-top:1px solid #ffffff38}
.ti svg{color:var(--cream)}
.ti h3{font:400 30px/1.15 Parisienne,cursive;margin:4px 0 6px}
.ti b{font-weight:600}
.ti .btn{background:var(--cream);color:var(--sage);margin-top:12px}
.heart{width:312px;height:300px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:94px 66px 0;color:var(--cream);text-align:center;filter:drop-shadow(0 14px 18px #4a4a2a40)}
.heart blockquote{margin:0 0 6px;font:italic 15.5px/1.38 'Cormorant Garamond',serif}
.faq{text-align:left;margin-top:10px;border-top:1px solid #7C845433}
.faq details{border-bottom:1px solid #7C845433}
.faq summary{display:flex;gap:12px;align-items:baseline;padding:15px 0;font:500 17px 'Cormorant Garamond',serif}
.faq summary::after{content:"+";margin-left:auto;font:400 18px Marcellus,serif;color:var(--sage);transition:rotate .3s}
.faq details[open] summary::after{rotate:45deg}
.faq p{font-size:15.5px;padding:0 0 16px}
.person{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 0;border-bottom:1px solid #7C845433;text-align:left}
.person span{font:500 18px 'Cormorant Garamond',serif}
.person div{display:flex;gap:8px;flex-wrap:wrap}
.person button{padding:7px 14px;border:1px solid var(--sage2);border-radius:99px;background:none;color:var(--ink);font:italic 15px 'Cormorant Garamond',serif;cursor:pointer}
.person button[aria-pressed=true]{background:var(--sage);border-color:var(--sage);color:var(--cream)}
label{display:block;text-align:left;font:400 9px Marcellus,serif;letter-spacing:.2em;text-transform:uppercase;color:var(--sage);margin-top:18px}
textarea{width:100%;margin-top:6px;border:1px solid var(--sage2);border-radius:10px;background:#ffffff80;padding:8px 10px;font:italic 16px 'Cormorant Garamond',serif;color:var(--ink);resize:none}
footer{position:relative;padding:200px 20px 64px;text-align:center;overflow:hidden}
footer>.wis{top:-6px;height:260px}
footer .names{color:var(--cream);text-shadow:0 2px 14px #3f4a2a88}
footer .mc{color:var(--cream);text-shadow:0 1px 8px #3f4a2a99}



/* ---------- Imágenes de Glicina (assets/glicina/) ---------- */
body.garden{background-size:160px,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%;background-attachment:fixed}
.wis{position:absolute;left:0;width:100%;height:0;pointer-events:none;overflow:visible;z-index:1}
/* La rama se ve completa (sin recortar) y se repite a lo ancho; una copia sí y otra en espejo para que las uniones coincidan. */
.wis .ramas{position:absolute;z-index:2;left:0;right:0;top:-12px;display:flex;justify-content:center;pointer-events:none}
.wis .ramas img{flex:none;width:auto;height:130px;max-width:none}
.wis .ramas img:nth-child(even){scale:-1 1}
.wis .rc{position:absolute;max-width:none;transform-origin:50% 0;animation:glSway var(--du) ease-in-out var(--de) infinite alternate}
.wis .rc.f{scale:-1 1}
.curt{position:absolute;top:0;bottom:0;width:64%;z-index:3;cursor:pointer;transition:transform 1.7s cubic-bezier(.6,0,.3,1)}
.curt .wis{top:0}
/* En la cortina los racimos no se mecen uno por uno: Safari en iPhone deja de dibujar capas animadas si son demasiadas */
.curt .rc{animation:none}
.curt.l{left:-8%}
.curt.r{right:-8%}
.parted .curt.l{transform:translateX(-125%)}
.parted .curt.r{transform:translateX(125%)}
.bush{position:relative;z-index:3;display:block;width:300px;max-width:96%;height:auto;margin:-70px auto 0;filter:drop-shadow(0 6px 8px #2c331833)}
.loval{isolation:isolate;filter:none}
.loval{width:320px;height:400px;max-width:92vw;padding:0 72px}
.loval .mc{font-size:9px;letter-spacing:.14em}
.loval .opening-names{font-size:44px}
.loval .dt{font-size:12.5px;letter-spacing:.1em}
.loval::before{content:"";position:absolute;inset:11% 19%;border-radius:50%;background:var(--cream);z-index:-1;box-shadow:inset 0 0 18px #c9c2a855}
.loval>.lace{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;filter:drop-shadow(0 2px 3px #3d3a2055)}
.ghero .loval{width:300px;height:376px;max-width:88vw}
.ghero .loval .pic{position:absolute;inset:10% 18%;border-radius:50%;overflow:hidden;z-index:1}
.ghero .loval.np{width:320px;height:400px;padding:0 72px}
.cdov{position:relative;isolation:isolate;max-width:340px;height:310px;padding:0 82px}
.cdov h2{font-size:21px}
.cdov .mc{font-size:7.5px;letter-spacing:.1em}
.cdov .gcd b{font-size:18px}
.cdov .gcd span{font-size:6.5px;letter-spacing:.08em}
.cdov>.lace{position:absolute;inset:-6px -8px;width:calc(100% + 16px);height:calc(100% + 12px);z-index:-1;pointer-events:none;filter:drop-shadow(0 2px 3px #0004)}
.ledge{top:-1px;height:34px;background:url(/assets/glicina/optimized/encaje-borde.webp) 0 0/auto 100% repeat-x;filter:drop-shadow(0 2px 2px #3d3a2040)}
.ledge.b{bottom:-1px}
.vign .wis{top:0}
.vign .bush{position:absolute;left:50%;bottom:-8px;width:260px;margin:0;translate:-50% 0}
.gap{height:96px}
.gap .wis{top:0}
.pe .ic{display:none}
.pe:nth-of-type(4n+1) .i0,.pe:nth-of-type(4n+2) .i1,.pe:nth-of-type(4n+3) .i2,.pe:nth-of-type(4n+4) .i3{display:block}
.lz-content .brush{display:none}
.rs-err{margin-top:14px;font-size:15px;color:var(--sage)}
footer{padding-bottom:120px !important}
.mbar{background:#FBF6EAe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 0 0 1px #AEB38C88,0 10px 24px -14px #4a4a2a66}
.ghero .pic img{position:relative;height:124%;top:-12%}

.lz-editor [data-rv]{opacity:1;transform:none}
.lz-editor .grow .st,.lz-editor .draw path{stroke-dashoffset:0}.lz-editor .grow .lf,.lz-editor .grow .bl{transform:none;animation:none}.lz-editor .write{clip-path:none}.lz-editor .typer i{opacity:1}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none !important;transition:none !important}[data-rv]{opacity:1;transform:none}.grow .st,.draw path{stroke-dashoffset:0}.grow .lf,.grow .bl{transform:none}.write{clip-path:none}.typer i{opacity:1}}

.dk{display:none}
.pill{position:relative;z-index:3;display:inline-block;padding:5px 14px;border-radius:99px;background:#FBF6EAd9;box-shadow:0 4px 12px -6px #0003}
/* Opción «sin fotos» (editor: photosOn; demo: botón Sin fotos o ?fotos=no): html.lz-no-photos */
html:not(.lz-no-photos) .np-only,.lz-no-photos .ph-only{display:none !important}
/* ---------- Computador: glicinas a lo ancho y los paneles en una sola columna más ancha ---------- */
@media (min-width:900px){
  main{max-width:760px;overflow:visible}
  body{overflow-x:hidden}
  .mbar{left:max(10px,calc(50% - 370px));right:max(10px,calc(50% - 370px))}
  .mb{display:none}.dk{display:block}
  .wis .ramas img{height:170px}
  .wis .rc{margin-top:4px}
  .ghero{padding-top:170px}
  .opening{padding-top:120px}
  .ghero{padding:170px 20px 70px;overflow:visible}
  .ghero>.wis{height:340px;left:calc(50% - 50vw);width:100vw}
  .ghero .loval{width:400px;height:500px}
  .ghero .loval.np{width:420px;height:525px;padding:0 100px}
  .ghero .loval.np h1{font-size:60px}
  .ghero .loval.np .mc{font-size:11px}
  .ghero .loval.np .dt{font-size:15px}
  .ghero .bush{width:560px;margin-top:-120px}
  .flow{max-width:660px;margin:0 auto}
  .panel{margin:0;padding:64px 56px}
  .panel p{font-size:18px}
  .panel h2{font-size:46px}
  .panel .cdov{max-width:380px;height:340px;padding:0 92px}
  .panel .cdov h2{font-size:25px}
  .panel .cdov .gcd b{font-size:21px}
  .gap{height:120px}
  .gap .wis{height:150px}
  .arch:nth-child(1),.arch:nth-child(3){width:120px}.arch:nth-child(2){width:150px}
  .vign{width:280px;height:340px}
  footer{padding:300px 20px 140px !important}
  footer>.wis{height:340px;left:calc(50% - 50vw);width:100vw}
  footer .names{font-size:76px}
  .opening .loval{width:360px;height:450px;padding:0 82px}
  .opening .loval .opening-names{font-size:54px}
  .opening .bush{width:440px;margin-top:-100px}
}

/* Padding follows the card width, never the width of the whole viewport. */
.loval,.opening .loval{padding-inline:clamp(56px,18vw,78px)}
.ghero .invitation-oval{padding-inline:clamp(62px,18vw,86px)}
.loval .write{max-width:100%;overflow-wrap:anywhere}
.opening{overflow-x:hidden}
.opening.gone *{animation-play-state:paused!important}
.heart.is-long{width:min(90vw,680px);height:auto;min-height:0;padding:48px 42px;background:var(--cream);color:var(--ink);border:1px solid #aeb38c88;box-shadow:inset 0 0 0 7px var(--cream),inset 0 0 0 8px #aeb38c40;filter:none}
.heart.is-long>.fr{display:none}
.heart.is-long::before{content:"";width:32px;height:30px;margin:0 auto 25px;display:block;background:var(--sage2);clip-path:polygon(50% 100%,5% 48%,0 27%,8% 8%,27% 0,50% 20%,73% 0,92% 8%,100% 27%,95% 48%)}
.heart.is-long blockquote{font-size:22px;line-height:1.6;max-width:46ch}
.heart.is-long>p.mc{color:var(--sage);font-size:12px!important}
@media(max-width:600px){.heart.is-long{padding:40px 28px}.heart.is-long blockquote{font-size:20px}}

/* Glicina: ivory stationery in a softly layered classical garden. */
:root{--sage:#697347;--ink:#454c36;--garden-image:none}
html{overflow-x:clip}
body.garden{background-attachment:scroll;background-color:#dce2cf;background-size:160px,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%}
main{max-width:1060px;overflow:clip}
.flow{max-width:900px;margin-inline:auto;position:relative}
.garden{background-color:#dce2cf}
.estate-scene{position:absolute;inset:0;background-image:linear-gradient(#e8eddd25,#d6dec615),var(--garden-image);background-position:center;background-size:cover;pointer-events:none;z-index:0}
.wis{overflow:clip;contain:paint;height:270px}
.wis .ramas{top:-12px}.wis .ramas img{height:120px}
.wis .rc{animation-play-state:paused}
.motion-active>.wis .rc,.motion-active .vign .rc{animation-play-state:running}
.curt .rc{animation:none}
.petals{z-index:1;opacity:.6}.petals i{animation-play-state:paused}.motion-active>.petals i{animation-play-state:running}
body.locked #invite *,html.motion-paused *,.opening.gone *{animation-play-state:paused!important}
.write,.write.in{clip-path:none;transition:none}
[data-rv],[data-rv=left],[data-rv=right]{transform:translateY(18px);transition:opacity .55s,transform .7s cubic-bezier(.22,1,.36,1)}
[data-rv].in{transform:none}
.mc{font-size:12px;line-height:1.8;letter-spacing:.14em}
.btn{min-height:48px;padding:14px 24px;border-radius:2px;font-size:12px;letter-spacing:.1em;justify-content:center;box-shadow:0 4px 8px -6px #3f4a2a60}
.btn:hover{filter:brightness(1.06)}.orn{opacity:.75;margin-block:24px}
.opening{display:block;padding:0;overflow-y:auto;overflow-x:hidden;scroll-padding-block:25px 110px;isolation:isolate}
.opening-content{position:relative;z-index:2;min-height:100svh;padding:70px 22px 110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}
.opening-intro{margin-top:0!important;max-width:360px;font-size:11px;letter-spacing:.2em;line-height:1.9;color:var(--ink);text-shadow:0 1px #fff8}
.curtain-trigger{position:fixed;inset:0;z-index:4;background:transparent;border:0;cursor:pointer;width:100%;height:100%}
.curtain-trigger:focus-visible{outline:2px solid var(--sage);outline-offset:-16px}
.parted .curtain-trigger{visibility:hidden;pointer-events:none}
.curt{position:fixed;top:0;bottom:0;height:100svh;pointer-events:none;transition:transform 1.05s cubic-bezier(.22,1,.36,1)}
.curt>.wis{height:100%;overflow:visible}
.opening>.wis{height:190px;z-index:3}
.loval,.opening .loval,.ghero .loval{position:relative;width:min(88vw,360px);height:auto;min-height:430px;max-width:none;padding:76px clamp(56px,18vw,78px);margin-inline:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;isolation:isolate}
.loval::before{inset:11% 19%;box-shadow:none;background-color:var(--cream)}
.loval>.lace{z-index:1;filter:drop-shadow(0 3px 5px #3d3a2022)}
.loval>*:not(.lace){position:relative;z-index:2;max-width:100%}
.loval .opening-names,.opening .loval .opening-names{font:400 50px/1.15 Parisienne,cursive;margin:0;color:var(--sage);overflow-wrap:anywhere;max-width:100%}
.loval .write{max-width:100%;overflow-wrap:anywhere}
.loval .opening-names .y{font:italic 23px/1.2 'Cormorant Garamond';margin:8px 0;color:var(--ink)}
.loval .mc,.opening .loval .mc{font-size:11px;letter-spacing:.08em;line-height:1.7}
.loval .dt{font:13px/1.7 Marcellus;letter-spacing:.04em;white-space:normal}
.opening .bush{width:min(84vw,380px);max-width:96%;margin-top:-66px;z-index:3;pointer-events:none}
.opening .after{position:relative;z-index:3;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s .55s,visibility 0s .55s;text-align:center;width:100%;max-width:450px}
.parted .after{opacity:1;visibility:visible;pointer-events:auto;transition-delay:.55s}
.opening .after p{font-size:18px;line-height:1.6;margin-bottom:18px}
.ohint{position:fixed;bottom:86px;z-index:5;left:16px;right:16px;transition:opacity .3s}
.ohint span{font-size:18px;background:#fbf6eae6;box-shadow:none;border:1px solid #aeb38c66}
.ghero{position:relative;isolation:isolate;padding:155px 24px 70px;text-align:center;overflow:clip}
.ghero>.wis{width:100%;left:0;height:300px;z-index:2}
.ghero>.mc{position:relative;z-index:3;background:none;box-shadow:none;border-radius:0;font-size:12px;letter-spacing:.2em;margin-bottom:20px!important;padding:0}
.ghero .invitation-oval{position:relative;z-index:2;width:min(88vw,390px);min-height:470px;padding:84px clamp(62px,18vw,86px);gap:14px}
.ghero .bush{position:relative;z-index:3;width:min(86vw,510px);max-width:96%;margin-top:-82px;pointer-events:none}
.panel{position:relative;margin:0 26px;padding:64px 40px;background:var(--cream);background-image:var(--grain);background-blend-mode:multiply;box-shadow:none;text-align:center}
.panel h2{font:400 clamp(40px,5vw,52px)/1.2 Parisienne;color:var(--sage);margin:10px 0 20px}
.panel p{font-size:18px;line-height:1.7}
.panel .mc{font:400 12px/1.8 Marcellus;letter-spacing:.13em}
.panel.olive{background-color:var(--sage);color:var(--cream)}.panel.olive h2,.panel.olive .mc{color:var(--cream)}
.cameo{width:76px;height:90px;margin-bottom:25px;background:#e8e8d93b;border-color:#8a9569;outline-color:#8a956966;box-shadow:inset 0 0 0 5px var(--cream)}
.cameo>[data-lz-seal]{width:62%;height:60%;font:22px/1 Georgia;display:flex;align-items:center;justify-content:center}
.cameo .lz-seal{flex:none;transform:scale(var(--mono-fit,1));transform-origin:center}.cameo img{width:100%;height:100%;object-fit:contain}
.panel>p[data-lz=msg],.panel>p[data-lz=story]{max-width:52ch;margin-inline:auto}
.cover-photo{width:min(100%,450px);aspect-ratio:4/5;margin:36px auto 6px;padding:9px;background:#fffdf6;border:1px solid #aeb38c80;box-shadow:0 15px 25px -20px #3f4a2a70;rotate:-1deg}
.cover-photo img{object-position:center 55%}
.gap{height:65px;overflow:clip}.gap>.wis{height:95px;opacity:.85}
.arches{gap:6%;margin:34px auto 0;max-width:700px;padding:6px 2px 24px;align-items:flex-end}
.arch:nth-child(n){width:28%;flex:none}.arch:nth-child(2){width:34%;margin-bottom:22px}.arch:nth-child(n+4){display:none}
.arches>.arch:only-child{width:min(80%,380px);margin-bottom:0}.arch .pic{aspect-ratio:3/4.2}
.gallery-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 8px;border:0;border-bottom:1px solid var(--sage2);background:none;font:12px/1.6 Marcellus;letter-spacing:.08em;color:var(--sage);cursor:pointer;margin-top:10px}
.vign{width:min(100%,350px);height:370px;margin-top:36px}.vign .estate-scene{background-position:center;z-index:0}.vign>.wis{height:220px}.vign .bush{width:380px;z-index:2}
.week{max-width:560px;margin:28px auto 8px}.week span{font-size:13px;color:var(--sage)}.week b{font-size:30px;height:54px;font-family:'Cormorant Garamond'}.week b svg{animation:none;width:44px;height:42px}
.ledge{height:24px;filter:drop-shadow(0 1px 1px #3d3a2020)}
.cdov,.panel .cdov{max-width:650px;height:auto;min-height:230px;padding:22px 0;margin:0 auto}
.cdov>.lace{display:none}.cdov h2,.panel .cdov h2{font-size:clamp(36px,5vw,48px);line-height:1.2;margin-block:16px}.cdov .mc{font-size:12px!important;letter-spacing:.08em!important}
.gcd{max-width:520px;gap:0;width:100%;margin-top:26px}.cdov .gcd b,.panel .cdov .gcd b{font:400 clamp(34px,5vw,52px)/1.2 Marcellus}.cdov .gcd span{display:block;font:11px/1.6 Marcellus;letter-spacing:.08em;margin-top:9px}.gcd>div{padding-inline:8px;min-width:0}
.prog{max-width:690px;margin:38px auto 0}.pe{grid-template-columns:62px minmax(0,1fr);gap:24px;padding-bottom:36px}.pe .ic{width:62px;height:58px}
.pe h3{font:400 32px/1.15 Parisienne;gap:16px;margin-bottom:12px}.pe h3>span{min-width:0;overflow-wrap:anywhere}.pe h3 small{font:400 14px/1.5 Marcellus;letter-spacing:.02em;opacity:1}
.pe p{font-size:18px;line-height:1.6}.pe p[data-lz-f=address]{font-size:16px!important;opacity:1!important;color:var(--ink)}.pe .btn{min-height:44px;padding:12px 18px;margin-top:14px}
.pe .fl,.pe .glw{animation-play-state:paused}.motion-active .pe .fl,.motion-active .pe .glw{animation-play-state:running}
.pe:not(:last-child)::before{top:68px;left:30px;border-left:1px solid #aeb38c77}.brush{display:none}
.ti{text-align:left;padding:28px 0;border-color:#fffdf63d}.ti h3{font:400 31px/1.2 Parisienne;margin-block:14px}.ti p{font-size:18px;line-height:1.65}
.panel .demo-booking,.panel .demo-note{font:italic 14px/1.7 'Cormorant Garamond';margin-top:18px}.ti:has([data-lz-href=hotelLink]:not([hidden])) .demo-booking{display:none}
.gap.q{padding-top:80px!important;padding-bottom:65px!important;isolation:isolate}.gap.q>.wis{height:120px}
.heart{width:min(90vw,600px);height:auto;min-height:380px;padding:115px 22% 80px;color:var(--cream);filter:drop-shadow(0 10px 14px #4a4a2a20);margin:auto;position:relative}
.heart blockquote{font:italic 20px/1.55 'Cormorant Garamond';margin:0;overflow-wrap:anywhere}
.heart>p.mc{font:11px/1.7 Marcellus!important;letter-spacing:.06em!important;margin-top:14px;max-width:100%;overflow-wrap:anywhere}
.faq{margin-top:24px}.faq summary{font:500 21px/1.5 'Cormorant Garamond';padding-block:20px;min-height:60px;align-items:center}
.faq summary::after{content:"";width:14px;height:14px;flex:none;background:linear-gradient(var(--sage),var(--sage)) center/100% 1px no-repeat,linear-gradient(var(--sage),var(--sage)) center/1px 100% no-repeat}.faq details[open] summary::after{rotate:0deg;background-size:100% 1px,1px 0}.faq p{font-size:18px;line-height:1.7}
#rsvp{padding-bottom:72px!important}#rsvp>p.pa{font-size:38px!important;line-height:1.25;overflow-wrap:anywhere}
.person{gap:12px;padding-block:18px}.person span{font:500 21px/1.4 'Cormorant Garamond'}.person>div{display:flex;width:100%;gap:12px}.person button{min-height:48px;flex:1;padding:10px 14px;font:400 17px/1.4 'Cormorant Garamond';border-radius:3px}
label{font-size:12px;letter-spacing:.08em;line-height:1.6}textarea{border-radius:2px;font:400 17px/1.7 'Cormorant Garamond';padding:12px;min-height:96px;resize:vertical}
.person .person-error,.rs-err{font-size:15px;line-height:1.5;color:var(--sage)}.reply-list{list-style:none;padding:0;margin:20px 0;text-align:left}.reply-list li{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid #7c845433;font-size:17px;line-height:1.5}.reply-list b{font-weight:500}#rsSave{width:100%;margin-top:28px!important}
footer{isolation:isolate;margin-top:45px;padding:230px 35px 125px!important;background-color:#56623c;color:var(--cream);overflow:clip}
footer>.wis{width:100%;left:0;top:-8px;height:290px;z-index:1}footer .estate-scene{opacity:.3;mix-blend-mode:luminosity}
footer .names{position:relative;z-index:2;font:400 clamp(52px,6vw,76px)/1.2 Parisienne;overflow-wrap:anywhere;max-width:760px;margin:0 auto 20px;color:var(--cream);text-shadow:none}
footer>.mc{position:relative;z-index:2;font-size:12px;line-height:1.9;color:var(--cream);text-shadow:none}
.footer-links{position:relative;z-index:2;display:flex;justify-content:center;gap:12px 30px;flex-wrap:wrap;margin-top:28px}.footer-links a{display:inline-flex;min-height:44px;align-items:center;font:12px/1.6 Marcellus;letter-spacing:.07em;color:var(--cream);text-underline-offset:5px}
@media(min-width:900px){.panel{margin-inline:26px;padding:72px 65px}.ghero{padding-top:170px}.ghero .invitation-oval{width:410px;min-height:500px;padding:90px 90px}.ghero .loval .opening-names{font-size:62px}.ghero .bush{width:560px;margin-top:-100px}.opening .loval{width:360px;min-height:445px;padding:85px 78px}.opening .bush{width:440px;margin-top:-88px}.wis .ramas img{height:150px}#viaje>div{display:grid;grid-template-columns:1fr 1fr;gap:0 42px}#viaje .ti:first-child{grid-row:span 2}#viaje .ti:nth-child(2){border-top:0}.cover-photo{width:480px;max-width:100%;aspect-ratio:5/4}.heart{padding-inline:140px}.gap{height:65px}}
@media(max-width:600px){.opening-content{padding-top:65px;gap:18px}.opening-intro{font-size:10px;max-width:300px}.loval,.opening .loval{width:min(88vw,330px);min-height:400px;padding:75px clamp(56px,18vw,74px);gap:12px}.loval .opening-names,.opening .loval .opening-names{font-size:44px}.loval .mc,.opening .loval .mc{font-size:10px}.loval .dt{font-size:12px}.opening .bush{margin-top:-62px;width:320px}.opening .after p{font-size:17px}.ghero{padding:140px 16px 50px}.ghero>.wis{height:250px}.ghero .invitation-oval{width:min(90vw,350px);min-height:420px;padding:78px clamp(60px,18vw,80px)}.ghero .bush{width:390px;margin-top:-75px}.panel{margin-inline:14px;padding:52px 25px}.panel h2{font-size:40px}.panel p{font-size:18px}.panel .mc{font-size:11px;letter-spacing:.08em}.gap{height:48px}.gap>.wis{height:75px}.arches{gap:5%;flex-wrap:wrap;align-items:flex-end}.arch:nth-child(n){width:44%}.arch:nth-child(2){width:48%;margin-bottom:20px}.arch:nth-child(3){width:66%;margin:8px auto 0}.cover-photo{padding:7px;aspect-ratio:4/5}.cdov,.panel .cdov{padding-inline:0;min-height:230px}.cdov .mc{font-size:11px!important}.cdov h2,.panel .cdov h2{font-size:36px}.cdov .gcd b,.panel .cdov .gcd b{font-size:34px}.cdov .gcd span{font-size:10px;letter-spacing:.02em}.gcd>div{padding-inline:5px}.pe{grid-template-columns:48px minmax(0,1fr);gap:14px}.pe .ic{width:48px;height:48px}.pe h3{flex-direction:column;gap:7px;font-size:30px}.pe h3 small{font-size:13px}.pe:not(:last-child)::before{left:24px;top:58px}.pe p{font-size:17px}.heart{width:min(94vw,450px);min-height:380px;padding:105px 22% 75px}.heart blockquote{font-size:18px;line-height:1.55}.heart>p.mc{font-size:10px!important}.faq summary{font-size:20px}.person>div{gap:8px}.person button{font-size:16px;padding-inline:8px}footer{padding:220px 30px 125px!important}footer>.wis{height:250px}footer .names{font-size:50px}footer>.mc{font-size:11px}}
@media(max-height:650px){.opening-content{padding-top:45px}.ohint{bottom:80px}}
@media(prefers-reduced-motion:reduce){.curt,.opening .after{transition:none!important}.wis .rc,.petals i,.week b svg{animation:none!important}}
/* Longer quotes retain comfortable reading rather than a stretched heart. */
.heart.is-long{width:min(90vw,680px);height:auto;min-height:0;padding:48px 42px;background:var(--cream);color:var(--ink);border:1px solid #aeb38c88;box-shadow:inset 0 0 0 7px var(--cream),inset 0 0 0 8px #aeb38c40;filter:none}
.heart.is-long>.fr{display:none}.heart.is-long blockquote{font-size:22px;line-height:1.6;max-width:46ch}.heart.is-long>p.mc{color:var(--sage);font-size:12px!important}
@media(max-width:600px){.heart.is-long{padding:40px 28px}.heart.is-long blockquote{font-size:20px}}

/* Delicate stationery, framed by a full botanical curtain. */
.opening.garden{background:#efeee5;background-image:radial-gradient(ellipse at 50% 40%,#fffdf4 0%,#eeeee4 72%)}
.opening .estate-scene{display:none}
.opening-content{padding:115px 20px 110px;gap:18px;justify-content:center}
.opening-intro{margin:0!important;max-width:290px;line-height:1.8;font-size:10px;letter-spacing:.12em}
.opening .loval{width:min(82vw,300px);min-height:340px;padding:65px 62px;gap:10px}
.opening .loval::before{background:#fffdf4;opacity:.65}
.opening .loval .lace{opacity:.78;filter:none}
.opening .loval .opening-names{font-size:43px;line-height:1.15}
.opening .loval .mc{font-size:10px}
.opening .loval .dt{font-size:12px;letter-spacing:.06em}
.opening .curt{height:200px;width:52%;top:-15px;bottom:auto;overflow:clip}
.opening .curt.l{left:0}.opening .curt.r{right:0}
.opening .curt .ramas img{height:85px;opacity:.8}
.opening .curt>.wis{height:200px;overflow:clip}
.opening .after{max-height:0;overflow:hidden;margin:0;transition:opacity .4s,max-height .5s}
.opening.parted .after{max-height:250px;overflow:visible;transition-delay:0s}
.opening .after p{font-size:17px;margin:0 0 14px;line-height:1.5}
.opening .after .btn{min-height:48px;padding:12px 26px;border-radius:2px;box-shadow:none;font-size:12px}
.ohint{bottom:90px}.ohint span{border:0;background:transparent;font-size:19px}
.flow{max-width:800px;background:var(--cream);margin-inline:auto}
.panel{margin-inline:0;background-color:var(--cream);box-shadow:none;border-radius:0}
.gap:not(.q){height:34px;background:var(--cream)}
.gap:not(.q)>.wis{display:none}
.ghero{padding-top:130px;padding-bottom:45px}
.ghero>.wis{height:210px}
.ghero .bush{width:min(90vw,430px);margin-top:-65px}
footer{padding:150px 30px 120px!important;background-color:#697347;margin-top:0}
footer>.wis{height:170px;opacity:.75}
@media(min-width:900px){.panel{margin-inline:0;padding:64px 65px}.opening .loval{width:310px;min-height:355px;padding:68px 65px}.opening .loval .opening-names{font-size:47px}.opening-content{padding-top:100px}.opening .curt{width:44%;height:210px}.opening .curt.l{left:6%}.opening .curt.r{right:6%}.ghero .bush{width:460px;margin-top:-75px}}
@media(max-width:600px){.opening-content{padding:105px 18px 115px;gap:14px}.opening .loval{width:min(82vw,290px);min-height:310px;padding:58px 55px}.opening .loval .opening-names{font-size:39px}.opening .curt{height:155px;opacity:.85}.opening .curt .rc{max-height:140px}.opening .curt .ramas img{height:65px}.panel{margin-inline:0;padding:48px 26px}.ghero{padding-top:120px}.ghero .bush{width:340px;margin-top:-60px}footer{padding:140px 26px 120px!important}}
@media(max-height:700px){.opening-content{padding-top:65px;padding-bottom:100px;gap:10px}.opening .loval{min-height:270px;width:250px;padding:48px 50px;gap:6px}.opening .loval .opening-names{font-size:35px}.opening-intro{font-size:9px}.opening .curt{height:110px;opacity:.6}.opening .curt .rc{max-height:100px}.ohint{bottom:80px}}

/* Two complete floral panels: long at the edges, airy around the names. */
.opening .curt{position:fixed;top:-12px;bottom:auto;width:54%;height:94svh;max-width:690px;overflow:visible;opacity:1;z-index:3;transition:transform 1.35s cubic-bezier(.3,.05,.2,1),opacity 1.1s ease;will-change:transform}
.opening .curt.l{left:-1%}.opening .curt.r{right:-1%}
.curtain-botanical{display:block;width:100%;height:100%;object-fit:fill;transform-origin:50% 0;animation:curtain-breathe 7s ease-in-out infinite alternate;pointer-events:none}
.opening .curt.r .curtain-botanical{transform:scaleX(-1);animation-name:curtain-breathe-right;animation-delay:-3s}
.opening.parted .curt.l{transform:translateX(-108%);opacity:0}
.opening.parted .curt.r{transform:translateX(108%);opacity:0}
.opening-content{padding-top:95px;padding-bottom:115px;gap:20px}
.opening .loval{width:min(80vw,320px);min-height:360px;padding:70px 66px}
.opening .loval .lace{opacity:.92}
.opening .loval .opening-names{font-size:46px}
.opening .loval::before{background:#fffdf4;opacity:.92}
.opening-intro{max-width:265px;position:relative;z-index:2}
.opening .after{transition:opacity .5s,max-height .65s}
.opening.parted .after{transition-delay:.35s}
.ohint span{background:#fffdf3eb;padding:10px 22px;border:1px solid #b2b69b55;font-size:19px}
@keyframes curtain-breathe{from{transform:rotate(-.35deg)}to{transform:rotate(.45deg)}}
@keyframes curtain-breathe-right{from{transform:scaleX(-1) rotate(-.4deg)}to{transform:scaleX(-1) rotate(.3deg)}}
@media(min-width:900px){.opening .curt{width:49%;height:98svh;max-width:740px}.opening .curt.l{left:0}.opening .curt.r{right:0}.opening .loval{width:340px;min-height:390px;padding:76px 73px}.opening .loval .opening-names{font-size:50px}}
@media(max-width:600px){.opening .curt{width:57%;height:90svh;opacity:1}.opening .curt.l{left:-4%}.opening .curt.r{right:-4%}.opening-content{padding:110px 18px 115px;gap:16px}.opening .loval{width:min(80vw,290px);min-height:320px;padding:61px 56px}.opening .loval .opening-names{font-size:40px}.opening-intro{max-width:230px}}
@media(max-height:700px){.opening .curt{height:91svh;opacity:1}.opening-content{padding-top:65px;padding-bottom:100px;gap:10px}.opening .loval{min-height:270px;width:250px;padding:48px 50px}.opening .loval .opening-names{font-size:35px}}
@media(prefers-reduced-motion:reduce){.curtain-botanical{animation:none!important}.opening .curt{transition:none!important}}

/* The flowers conceal the stationery until the guest parts the curtain. */
.opening .curt{width:54%;height:110svh;max-width:none;top:-4svh;opacity:1}
.opening .curt.l{left:-3%}.opening .curt.r{right:-3%}
.opening .opening-content{opacity:0;visibility:hidden;transition:opacity .7s .2s,visibility 0s .2s}
.opening.parted .opening-content{opacity:1;visibility:visible}
@media(prefers-reduced-motion:reduce){.opening .opening-content{transition:none}}

/* The revealed invitation continues the ivory and pale-lilac botanical suite. */
:root{--cream:#fcfaf3;--ink:#454b43;--sage:#606c53;--sage2:#afb6a0;--lav:#80738e;--lav2:#ddd5e8}
body.gl{background-color:#efeee8;background-image:radial-gradient(ellipse at 0 12%,#e7e2ec88,transparent 45%),radial-gradient(ellipse at 100% 65%,#e3e8dc88,transparent 45%);background-size:100% 1800px;background-repeat:repeat-y;background-blend-mode:normal}

/* Rich garden stationery inside; the approved opening is deliberately untouched. */
body.gl:not(.locked){overflow-x:clip;overflow-y:visible}
/* What the curtain uncovers is a garden invitation, not an empty backdrop. */
.opening .estate-scene{display:block;position:fixed;inset:0;z-index:0;background-image:linear-gradient(#f6f1e60a,#f6f1e618),url('/assets/glicina/optimized/jardin-villa.webp');background-size:cover;background-position:center;opacity:0;transition:opacity 1.05s ease;pointer-events:none}
.opening.parted .estate-scene{opacity:1}
.opening .opening-content{padding:40px 20px 105px;gap:14px;min-height:100svh}
.opening .opening-intro{max-width:350px;padding:10px 22px;border:3px double #b9b08c99;background:#fffaf0ed;color:#515b43;box-shadow:0 4px 15px #444c3020;font-size:10px;line-height:1.7;letter-spacing:.12em}
.opening .loval{width:min(86vw,390px);min-height:465px;padding:88px 82px;gap:14px;filter:drop-shadow(0 8px 12px #403f2940)}
.opening .loval::before{inset:9% 17%;opacity:1;background:#fffaf0;border-radius:50%;box-shadow:inset 0 0 0 1px #c2b89166}
.opening .loval .lace{opacity:1;filter:drop-shadow(0 1px 1px #403f2933)}
.opening .loval .opening-names{font-size:55px;color:#606c53}
.opening .loval .mc{font-size:11px;color:#60664e}
.opening .loval .dt{font-size:13px;color:#60664e}
.opening .after{width:fit-content;max-width:min(90vw,440px);padding:0 26px;background:#fffaf0f2;border:0 solid #b7ad88;box-shadow:0 8px 20px -12px #45472c66}
.opening.parted .after{padding-block:17px;border-width:3px;border-style:double;max-height:350px}
.opening .after p{font-size:18px;line-height:1.5;color:#4c5541;margin-bottom:12px}
.opening .after .btn{background:#66714e;border:3px double #e8e4c9;outline:1px solid #66714e;min-height:48px;padding:11px 25px;box-shadow:0 3px 6px #45472c20}
@media(min-width:1100px) and (min-height:950px){.opening .loval{width:430px;min-height:520px;padding:100px 92px}.opening .loval .opening-names{font-size:62px}.opening .opening-content{gap:20px}}
@media(max-width:600px){.opening .estate-scene{background-position:51% center}.opening .opening-content{padding:40px 14px 110px;gap:12px}.opening .opening-intro{max-width:270px;padding:9px 15px;font-size:9px}.opening .loval{width:min(88vw,335px);min-height:395px;padding:74px 72px;gap:10px}.opening .loval .opening-names{font-size:46px}.opening .loval .mc{font-size:10px}.opening .loval .dt{font-size:12px}.opening .after{max-width:90vw;padding-inline:18px}.opening .after p{font-size:17px}}
@media(max-height:740px){.opening .opening-content{padding-top:25px;padding-bottom:100px;gap:10px}.opening .loval{width:280px;min-height:310px;padding:56px 59px;gap:8px}.opening .loval .opening-names{font-size:39px}.opening .opening-intro{font-size:9px;padding:7px 15px}.opening .loval .mc{font-size:10px}.opening .loval .dt{font-size:12px}.opening.parted .after{padding-block:12px}.opening .after p{font-size:16px;margin-bottom:9px}}
@media(max-height:500px){.opening .opening-content{padding-top:20px}.opening .loval{width:250px;min-height:275px;padding:50px}.opening .loval .opening-names{font-size:34px}}
@media(prefers-reduced-motion:reduce){.opening .estate-scene{transition:none}}

/* ---------- Interior: papel de lino, filetes finos y la glicina como único adorno ----------
   Una sola tarjeta (la respuesta), una sola banda de encaje (la fecha) y la pintura en la portada, la cita y el cierre.
   En escritorio la portada queda fija a la izquierda y la invitación corre a la derecha. La apertura no cambia. */
#invite{--gx-linen:#F7F3EA;--gx-card:#FBF8F1;--gx-ink:#38372A;--gx-mute:#67664F;--gx-sage:#5A6440;--gx-hair:#CDC6B1;--gx-lav:#5C4F86;--gx-rose:#C9808E;--gx-err:#8E3B31;--gx-pad:32px;
  --gx-art:url('/assets/glicina/optimized/jardin-villa.webp');max-width:none;margin:0;overflow:visible;background:var(--gx-linen);color:var(--gx-ink);font-family:'Cormorant Garamond',Georgia,serif}
body.gl:not(.locked){background:#F7F3EA}
#invite .gx-ic{width:1em;height:1em;flex:none}
.gx-k{margin:0;font:400 11px/1.6 Marcellus,serif;letter-spacing:.3em;text-transform:uppercase;color:var(--gx-sage)}
.gx-k.gx-ink{color:var(--gx-ink)}.gx-k.gx-mute,.gx-mute{color:var(--gx-mute)}
.gx-h{margin:14px 0 0;font:italic 300 44px/1.1 'Cormorant Garamond',serif;color:var(--gx-ink);text-wrap:balance;overflow-wrap:anywhere}
.gx-h-s{font-size:31px;margin-top:6px}.gx-h-xs{font-size:28px;margin:0}
.gx-p{margin:0;font:400 19px/1.7 'Cormorant Garamond',serif;color:var(--gx-ink);overflow-wrap:anywhere}
.gx-m{margin:0;font:400 17px/1.6 'Cormorant Garamond',serif;color:var(--gx-mute);overflow-wrap:anywhere}
.gx-it{font-style:italic}
.gx-narrow{max-width:22em;margin-inline:auto}
.gx-sec>.gx-p,.gx-sec>.gx-m{margin-top:16px}
.gx-link{min-height:44px;display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:0;border:0;background:none;cursor:pointer;font:400 11px Marcellus,serif;letter-spacing:.26em;text-transform:uppercase;color:var(--gx-sage);text-decoration:underline;text-decoration-color:var(--gx-hair);text-underline-offset:7px;text-decoration-thickness:1px}
.gx-link:hover{text-decoration-color:var(--gx-sage)}
.gx-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin-top:24px;padding:0 28px;border:0;border-radius:2px;background:var(--gx-sage);color:var(--gx-card);font:400 12px Marcellus,serif;letter-spacing:.26em;text-transform:uppercase;cursor:pointer}
.gx-btno{display:inline-flex;align-items:center;gap:10px;min-height:48px;margin-top:18px;padding:0 26px;border:1px solid var(--gx-sage);border-radius:2px;color:var(--gx-sage);text-decoration:none;font:400 11px Marcellus,serif;letter-spacing:.26em;text-transform:uppercase}
#invite a:focus-visible,#invite button:focus-visible,#invite summary:focus-visible,#invite input:focus-visible+svg,#invite textarea:focus-visible,#mbar a:focus-visible{outline:2px solid var(--gx-sage);outline-offset:3px}

/* Barra al bajar: los nombres y «Confirmar» (en escritorio, también las secciones) */
#mbar{left:0;right:0;top:0;height:60px;padding:0 10px 0 22px;border-radius:0;background:#F7F3EAf2;box-shadow:none;border-bottom:1px solid #CDC6B1;-webkit-backdrop-filter:none;backdrop-filter:none;visibility:hidden;transition:opacity .4s,transform .5s cubic-bezier(.22,1,.36,1),visibility 0s .5s}
#mbar.show{visibility:visible;transition-delay:0s;pointer-events:auto}
.gx-bar-names{font:400 26px/1 Parisienne,cursive;color:#5A6440;white-space:nowrap}
#mbar nav{display:flex;align-items:center;gap:2px}
#mbar a{min-height:44px;display:inline-flex;align-items:center;padding:0 10px;font:400 11px Marcellus,serif;letter-spacing:.24em;text-transform:uppercase;color:#38372A;text-decoration:none}
#mbar .gx-bar-cta{color:#5A6440;text-decoration:underline;text-decoration-color:#CDC6B1;text-underline-offset:7px}
#mbar .gx-dk{display:none}

/* Portada: el final de la apertura */
.gx-cover{position:relative;min-height:100svh;display:flex;flex-direction:column;align-items:center;text-align:center;overflow:hidden;background:var(--gx-linen)}
.gx-cover-art{position:absolute;inset:0;background:var(--gx-art) 50% 0/auto 74% no-repeat}
.gx-cover-art::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#F7F3EA00 38%,#F7F3EAeb 62%,#F7F3EA 70%)}
.gx-cover-in{position:relative;flex:1;width:100%;display:flex;flex-direction:column;align-items:center;padding:clamp(70px,17svh,150px) 24px 110px}
.gx-oval{position:relative;width:280px;aspect-ratio:1070/1100;filter:drop-shadow(0 18px 22px #34321e38)}
.gx-oval>.lace{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.gx-oval-in{position:absolute;inset:11% 19%;border-radius:50%;overflow:hidden;background:var(--gx-card)}
.gx-oval-in img{width:100%;height:100%;object-fit:cover;object-position:50% 62%}
.gx-oval-text{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 6%}
.gx-oval-text .gx-k{font-size:9px;letter-spacing:.2em}
.gx-oval-names{margin:6px 0 0;font:400 38px/1.05 Parisienne,cursive;color:var(--gx-sage);overflow-wrap:anywhere}
.gx-oval-names span{display:block}.gx-oval-names .y{font:italic 20px/1.3 'Cormorant Garamond',serif;color:var(--gx-ink)}
.gx-names{margin:26px 0 12px;font:400 58px/1.1 Parisienne,cursive;color:var(--gx-sage);overflow-wrap:anywhere;outline:0}
.gx-names .y{font:italic 300 29px 'Cormorant Garamond',serif;color:var(--gx-ink)}
.lz-no-photos .gx-names{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);margin:0}
.lz-no-photos .gx-cover .gx-k.gx-ink{margin-top:26px}
.gx-city{margin:6px 0 0;font:italic 17px/1.5 'Cormorant Garamond',serif;color:var(--gx-mute)}
.gx-cue{position:absolute;left:50%;bottom:34px;translate:-50% 0;margin:0;display:flex;flex-direction:column;align-items:center;gap:10px;font:400 10px Marcellus,serif;letter-spacing:.3em;text-transform:uppercase;color:var(--gx-mute)}
.gx-cue i{width:1px;height:40px;background:linear-gradient(#CDC6B1,#CDC6B100)}

/* Capítulos */
.gx-flow{padding:24px var(--gx-pad) 90px}
.gx-sec{text-align:center}
.gx-guest{margin:10px 0 0;font:400 36px/1.2 Parisienne,cursive;color:var(--gx-lav);overflow-wrap:anywhere}
.gx-welcome .gx-h{margin-top:26px;font-size:40px}
.gx-div{display:flex;align-items:center;justify-content:center;gap:18px;height:54px;margin:72px 0}
.gx-div i{width:72px;height:0;border-top:1px solid var(--gx-hair)}
.gx-div img{height:54px;width:auto}

/* Historia: tres arcos superpuestos (la galería completa se abre en el visor) */
.gx-collage{position:relative;width:min(100%,326px);aspect-ratio:326/380;margin:40px auto 0}
.gx-arch{position:absolute;padding:6px;background:var(--gx-card);border-radius:999px 999px 4px 4px;box-shadow:0 0 0 1px var(--gx-hair),0 22px 30px -24px #0008}
.gx-arch img{display:block;width:100%;height:auto;object-fit:cover;object-position:50% 80%;border-radius:999px 999px 2px 2px}
.gx-arch:nth-child(1){left:0;top:6.8%;width:33.1%;z-index:1}.gx-arch:nth-child(1) img{aspect-ratio:96/140}
.gx-arch:nth-child(2){left:27%;top:0;width:49.7%;z-index:2}.gx-arch:nth-child(2) img{aspect-ratio:150/240}
.gx-arch:nth-child(3){right:0;top:39.5%;width:35.6%;z-index:3}.gx-arch:nth-child(3) img{aspect-ratio:104/150}
.gx-arch:nth-child(n+4){display:none}
.gx-arch:only-child{position:relative;left:auto;top:auto;width:62%;margin:0 auto}
.gx-collage:has(.gx-arch:only-child){aspect-ratio:auto}
.gx-collage:has(.gx-arch:nth-child(2):last-child){aspect-ratio:326/300}
.gx-collage:has(.gx-arch:nth-child(2):last-child) .gx-arch:nth-child(2){left:auto;right:6%}

/* La fecha: la única banda de papel, con el remate de encaje arriba y abajo */
.gx-band{position:relative;margin:110px calc(-1 * var(--gx-pad));padding:64px var(--gx-pad);background:var(--gx-card);box-shadow:0 0 0 1px var(--gx-hair)}
.gx-band::before,.gx-band::after{content:'';position:absolute;left:0;right:0;height:22px;background:url('/assets/glicina/optimized/encaje-borde.webp') center top/auto 22px repeat-x;pointer-events:none;filter:drop-shadow(0 2px 2px #3d3a2026)}
.gx-band::before{top:-18px;transform:scaleY(-1)}.gx-band::after{bottom:-18px}
#invite .week{max-width:none;margin:26px 0 0;padding:14px 0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));row-gap:6px;border-block:1px solid var(--gx-hair)}
#invite .week span{font:400 11px Marcellus,serif;letter-spacing:.2em;text-transform:uppercase;color:var(--gx-mute)}
#invite .week b{position:relative;height:48px;display:grid;place-items:center;font:300 24px 'Cormorant Garamond',serif;color:var(--gx-ink);isolation:isolate}
#invite .week b.hit{font-style:italic;font-weight:500;color:var(--gx-rose)}
#invite .week b svg{position:absolute;left:50%;top:50%;width:46px;height:42px;margin:0;translate:-50% -52%;z-index:-1;animation:none;opacity:1}
.gx-cd-k{margin-top:40px}
.gx-cd-k+.gx-h-s{margin:10px 0 24px;font-size:28px}
.gx-cd{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.gx-cd>div{display:flex;flex-direction:column;align-items:center;gap:6px;padding:4px 0;min-width:0}
.gx-cd>div+div{border-left:1px solid var(--gx-hair)}
.gx-cd b{font:300 46px/1 'Cormorant Garamond',serif;color:var(--gx-ink);font-variant-numeric:lining-nums tabular-nums}
.gx-cd span{font:400 11px Marcellus,serif;letter-spacing:.2em;text-transform:uppercase;color:var(--gx-mute)}
.gx-band .gx-m{margin-top:24px}

/* Programa: una columna centrada, como el orden del día impreso */
.gx-prog{margin-top:40px}
.gx-ev{display:flex;flex-direction:column;align-items:center}
.gx-ev .ic{display:none;width:46px;height:41px;margin-bottom:14px;color:var(--gx-sage);overflow:visible}
.gx-ev:nth-of-type(4n+1) .i0,.gx-ev:nth-of-type(4n+2) .i1,.gx-ev:nth-of-type(4n+3) .i2,.gx-ev:nth-of-type(4n+4) .i3{display:block}
.gx-ev .gx-p{margin-top:8px}
.gx-ev .gx-link{margin-top:4px}
.gx-ev+.gx-ev::before{content:'';display:block;width:1px;height:44px;margin:30px auto 26px;background:var(--gx-hair)}
.gx-ev .lz-off{display:none}

/* Vestimenta */
.gx-code{margin:22px 0 0;padding-left:.5em;font:400 15px Marcellus,serif;letter-spacing:.5em;text-transform:uppercase;color:var(--gx-sage)}

/* Viaje: todo sobre papel, nunca encima de la pintura */
.gx-hotel{margin-top:40px;display:flex;flex-direction:column;align-items:center}
.gx-hotel .gx-h-s{margin-top:10px;font-size:32px}.gx-hotel>.gx-p{margin-top:6px}
.gx-hotel .gx-k.gx-mute{margin-top:18px}
.gx-chip{margin:8px 0 0;padding:10px 18px 10px 22px;border:1px solid var(--gx-hair);font:400 17px Marcellus,serif;letter-spacing:.3em;color:var(--gx-ink);overflow-wrap:anywhere}
.gx-hotel .gx-m{margin-top:12px}
.gx-hotel:has([data-lz-href=hotelLink]:not([hidden])) .gx-demo-booking{display:none}
.gx-demo-booking{font-size:15px}
.gx-rule{display:block;width:64px;margin:44px auto 0;border-top:1px solid var(--gx-hair)}
.gx-info{margin-top:40px}
.gx-dl{margin-top:14px}.gx-dl .gx-p{margin-top:4px}

/* Cita: la pintura enmarcada, con paspartú */
.gx-vista{padding:10px;background:var(--gx-card);box-shadow:0 0 0 1px var(--gx-hair),0 26px 36px -28px #0009}
.gx-vista i{display:block;height:300px;background:var(--gx-art) 44% 50%/cover no-repeat}
.gx-quote blockquote{margin:40px auto 0;max-width:12em;font:italic 300 28px/1.35 'Cormorant Garamond',serif;color:var(--gx-ink);overflow-wrap:anywhere}
.gx-quote.is-long blockquote{max-width:24em;font-size:21px;line-height:1.6}
.gx-quote>.gx-k{margin-top:18px}

/* Preguntas */
.gx-faq{margin-top:32px;border-top:1px solid var(--gx-hair);text-align:left}
.gx-faq details{border-bottom:1px solid var(--gx-hair)}
.gx-faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px;padding:12px 0;font:italic 400 21px/1.35 'Cormorant Garamond',serif;color:var(--gx-ink)}
.gx-faq summary::after{content:'';width:14px;height:14px;flex:none;background:linear-gradient(var(--gx-sage),var(--gx-sage)) center/100% 1px no-repeat,linear-gradient(var(--gx-sage),var(--gx-sage)) center/1px 100% no-repeat}
.gx-faq details[open] summary::after{background-size:100% 1px,1px 0}
.gx-faq p{margin:-2px 0 18px;font:400 17px/1.6 'Cormorant Garamond',serif;color:var(--gx-mute)}

/* Tarjeta de respuesta: doble filete, remate de encaje y una fila por persona */
.gx-reply{margin-top:80px}
.gx-card{position:relative;padding:44px 26px 40px;background:var(--gx-card);box-shadow:0 28px 40px -32px #0007}
.gx-card::before{content:'';position:absolute;inset:8px;border:1px solid var(--gx-hair);pointer-events:none}
.gx-card::after{content:'';position:absolute;left:0;right:0;bottom:-18px;height:22px;background:url('/assets/glicina/optimized/encaje-borde.webp') center top/auto 22px repeat-x;pointer-events:none;filter:drop-shadow(0 2px 2px #3d3a2026)}
.gx-card>.gx-h{font-size:40px;margin-top:12px}
.gx-card>.gx-k.gx-mute{margin-top:12px;letter-spacing:.18em}
.gx-card>.gx-guest{margin-top:16px;font-size:34px}
.gx-card>.gx-guest+.gx-k{margin-top:6px}
.gx-rsvp-msg{margin:18px 0 14px}
.gx-thead,.gx-person{display:grid;grid-template-columns:minmax(0,1fr) 72px 72px;align-items:center}
.gx-thead{align-items:end;padding-bottom:8px;border-bottom:1px solid var(--gx-hair)}
.gx-thead span{text-align:center;font:400 10px/1.3 Marcellus,serif;letter-spacing:.1em;text-transform:uppercase;color:var(--gx-mute)}
.gx-person{margin:0;padding:4px 0;border:0;border-bottom:1px solid var(--gx-hair);min-width:0}
.gx-person legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.gx-person-name{display:flex;flex-direction:column;padding:8px 0;text-align:left;font:400 19px/1.25 'Cormorant Garamond',serif;color:var(--gx-ink);overflow-wrap:anywhere}
.gx-person-err{display:flex;align-items:center;gap:5px;font:italic 15px/1.3 'Cormorant Garamond',serif;color:var(--gx-err)}
#invite .gx-radio{position:relative;display:grid;place-items:center;width:72px;height:48px;margin:0;cursor:pointer}
.gx-radio input{position:absolute;opacity:0;width:1px;height:1px}
.gx-radio svg{width:22px;height:22px;overflow:visible}
.gx-radio circle{fill:none;stroke:#9F9A84;stroke-width:1.2}
.gx-radio .dot{fill:var(--gx-sage);stroke:none;opacity:0}
.gx-radio input:checked+svg circle{stroke:var(--gx-sage)}.gx-radio input:checked+svg .dot{opacity:1}
.gx-person.is-err .gx-radio circle{stroke:var(--gx-err)}
.gx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.gx-fields{margin-top:20px;display:flex;flex-direction:column;gap:14px}
#invite .gx-fld{display:flex;flex-direction:column;gap:4px;margin:0;text-align:left;font:400 11px/1.5 Marcellus,serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gx-sage)}
#invite .gx-fld textarea{width:100%;min-height:40px;margin:0;padding:8px 0;border:0;border-bottom:1px solid var(--gx-hair);border-radius:0;background:transparent;font:italic 18px/1.5 'Cormorant Garamond',serif;color:var(--gx-ink);resize:vertical;text-transform:none;letter-spacing:0}
.gx-err{margin:14px 0 0;display:flex;align-items:center;justify-content:center;gap:8px;font:italic 17px 'Cormorant Garamond',serif;color:var(--gx-err)}
.gx-demo{margin-top:14px;font-size:15px}
.gx-thanks{margin:22px 0 6px;font:400 58px/1.1 Parisienne,cursive;color:var(--gx-sage)}
#rsDone .reply-list{list-style:none;margin:18px 0 0;padding:0;text-align:left}
#rsDone .reply-list li{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--gx-hair);font-size:17px}
#rsDone .reply-list b{font-weight:500}

/* Cierre: vuelve al jardín (en escritorio, solo los nombres) */
.gx-end{position:relative;min-height:640px;display:flex;flex-direction:column;align-items:center;padding-top:40px;text-align:center;overflow:hidden;background:var(--gx-art) 50% 100%/auto 64% no-repeat,var(--gx-linen)}
.gx-end::before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,#F7F3EA 38%,#F7F3EAcc 46%,#F7F3EA00 60%)}
.gx-end-in{position:relative;display:flex;flex-direction:column;align-items:center;padding:0 20px}
.gx-end-names{margin:12px 0 14px;font:400 52px/1.1 Parisienne,cursive;color:var(--gx-sage);overflow-wrap:anywhere}
.gx-end-links{display:flex;gap:22px;margin-top:4px}
.gx-end-flowers{position:absolute;left:50%;bottom:-14px;width:max(440px,90%);max-width:none;translate:-50% 0}

@media(max-width:360px){#invite{--gx-pad:22px}.gx-cd b{font-size:38px}.gx-thead,.gx-person{grid-template-columns:minmax(0,1fr) 60px 60px}#invite .gx-radio{width:60px}}
@media(max-height:700px) and (max-width:899px){.gx-oval{width:220px}.gx-names{font-size:48px;margin-top:20px}.gx-cover-in{padding-top:56px}}

/* Escritorio: pantalla dividida, el jardín fijo a la izquierda */
@media(min-width:900px){
  #invite{display:grid;grid-template-columns:50% 50%;align-items:start}
  .gx-cover{position:sticky;top:0;grid-row:1 / span 2;height:100vh;min-height:0;justify-content:center}
  .gx-cover-art{background-position:50% 50%;background-size:cover}
  .gx-cover-art::after{background:linear-gradient(180deg,#F7F3EA00 50%,#F7F3EAe6 74%,#F7F3EA 84%)}
  .gx-cover-in{flex:none;justify-content:center;padding:40px 24px 0}
  .gx-oval{width:min(330px,40vh)}
  .gx-names{font-size:64px}.gx-names .y{font-size:32px}
  .gx-city,.gx-cue{display:none}
  .gx-flow{grid-column:2;--gx-pad:clamp(48px,7.8vw,112px);padding:150px var(--gx-pad) 96px}
  .gx-flow>*{max-width:520px;margin-inline:auto}
  .gx-flow>.gx-band{max-width:none;margin-inline:calc(-1 * var(--gx-pad))}
  .gx-band>.gx-sec{max-width:520px;margin-inline:auto}
  .gx-flow>.gx-div{margin-block:80px}
  .gx-h{font-size:48px}.gx-welcome .gx-h{font-size:44px}.gx-p{font-size:20px}
  .gx-collage{width:352px}
  .gx-cd b{font-size:50px}
  .gx-vista i{height:340px}
  .gx-quote blockquote{font-size:30px}
  .gx-card{padding:52px 48px 46px}
  .gx-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .gx-end{grid-column:2;min-height:0;padding:30px 0 110px;background:var(--gx-linen)}
  .gx-end::before,.gx-end-flowers{display:none}
  .gx-end-names{font-size:64px}
  #mbar{left:50%;height:72px;justify-content:center;padding:0 30px;opacity:1;transform:none;visibility:visible;pointer-events:auto}
  body.locked #mbar{visibility:hidden;opacity:0}
  #mbar .gx-bar-names{display:none}
  #mbar .gx-dk{display:inline-flex}
  #mbar .gx-bar-cta{margin-left:12px;min-height:44px;padding:0 24px;border:1px solid #5A6440;border-radius:2px;text-decoration:none}
}
@media(min-width:900px) and (max-height:760px){.gx-names{font-size:52px;margin-top:18px}.gx-oval{width:min(280px,42vh)}}
@media(prefers-reduced-motion:reduce){#mbar{transition:none}}
