/* One folded sheet: outer cover, two inner pages, branded reverse. */
.g-booklet-scene{perspective:1600px;perspective-origin:50% 43%;isolation:isolate;min-height:700px;padding:95px 30px 115px}
.g-booklet{position:relative;width:310px;height:450px;max-width:80%;transform:rotateZ(-6deg) rotateY(-5deg) rotateX(5deg);transform-style:preserve-3d;transition:transform 1.65s cubic-bezier(.22,.7,.18,1)}
.g-booklet-scene[data-booklet-step=open] .g-booklet{transform:translateX(43%) rotateZ(-2deg) rotateX(7deg) scale(.86)}
.g-booklet-scene[data-booklet-step=back] .g-booklet{transform:translateX(100%) rotateZ(5deg) rotateX(5deg)}
.g-booklet-shadow{position:absolute;width:300px;height:370px;top:calc(50% - 180px);left:calc(50% - 130px);border-radius:8px;background:#34412a;filter:blur(25px);opacity:.2;transform:translate(26px,30px) rotate(-7deg);transition:width 1.65s,transform 1.65s,opacity 1.65s;pointer-events:none}
.g-booklet-scene[data-booklet-step=open] .g-booklet-shadow{width:460px;transform:translate(-80px,35px) rotate(-2deg);opacity:.17}
.g-booklet-leaf{position:absolute;inset:0;transform-style:preserve-3d;transform-origin:left center;transform:translateZ(0) rotateY(0);transition:transform 1.65s cubic-bezier(.25,.72,.19,1)}
.g-booklet-scene[data-booklet-step=back] .g-booklet-leaf{transform:translateZ(4px) rotateY(-180deg)}
.g-booklet-inside,.g-booklet-face{position:absolute;inset:0;background-color:#fffdf5;background-image:radial-gradient(ellipse at 24% 15%,#ffffff96,transparent 60%),linear-gradient(115deg,#f5efdf33,transparent 40%,#d3bd8a0c);border:1px solid #e8dec7;text-align:center;color:#173d35;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.g-booklet-inside::after,.g-booklet-face::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23877758' filter='url(%23n)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.g-booklet-inside::before,.g-booklet-front::before,.g-booklet-back::before,.g-booklet-outer-back::before{content:"";position:absolute;inset:15px;border:1px solid #b49353;box-shadow:0 1px 0 #fffef9,inset 0 1px 0 #e5d3a983;pointer-events:none}
.g-booklet-inside{padding:35px 27px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;box-shadow:inset 13px 0 19px -13px #78633a7a,2px 2px 0 #e4dac4,3px 3px 0 #fffdf7,4px 4px 0 #d9ccb1,5px 5px 1px #eee6d4,9px 14px 25px #43513222;transform:translateZ(.6px)}
.g-booklet-pages{position:absolute;inset:1px -3px -4px 0;background:repeating-linear-gradient(0deg,#e1d6bc 0 1px,#fffcf0 1px 2px);transform:translateZ(-1px);box-shadow:1px 3px 4px #6b573322}
.g-booklet-cover{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;border-radius:0;background:none;color:inherit;cursor:pointer;transform-style:preserve-3d;transform-origin:left center;transform:translateZ(2px) rotateY(0deg);transition:transform 1.65s cubic-bezier(.25,.72,.19,1);-webkit-tap-highlight-color:transparent}
.g-booklet-scene[data-booklet-step=open] .g-booklet-cover{transform:translateZ(2px) rotateY(-158deg)}
.g-booklet-scene[data-booklet-step=back] .g-booklet-cover{transform:translateZ(2px) rotateY(-180deg)}
.g-booklet-face{display:block}
.g-booklet-front{padding:34px 30px 28px;transform:translateZ(.6px);box-shadow:inset 2px 0 3px #fff,2px 0 1px #e3d7bd,0 2px 2px #bca47435,14px 20px 27px #40533514}
.g-booklet-front>.g-kicker{font:500 5.5px/1.8 var(--body);letter-spacing:.16em;margin-bottom:10px}
.g-booklet-crest{position:relative;display:block;width:132px;height:106px;margin:0 auto 14px}
.g-booklet-crest svg{position:absolute;inset:0;width:100%;height:100%;stroke:#b89a61;stroke-width:.65}
.g-booklet-crest>span{position:absolute;inset:17px 0 auto;font:italic 59px/1.15 var(--heading);letter-spacing:-13px;padding-right:9px}
.g-booklet-crest i{position:relative;top:9px;font-weight:500;font-size:.94em}
.g-booklet-title{display:block;font:500 34px/1.03 var(--heading);letter-spacing:-.025em;margin-bottom:17px}
.g-booklet-date{display:block;font:400 8px/1.7 var(--body);letter-spacing:.06em}
.g-booklet-scene .g-invitation-line{display:block;flex:none;width:30px;height:1px;margin:20px auto;background:linear-gradient(90deg,#8e6428,#d7bb76 45%,#a27b3e);box-shadow:0 1px 0 #fff,0 -1px 1px #9d804522}
.g-booklet-front-note{display:block;font:italic 16px/1.3 var(--heading);color:#7a8066}
.g-booklet-foil{color:#a38143;background-image:linear-gradient(125deg,#72501e 0%,#b68f47 23%,#e1c780 40%,#987030 53%,#d4b470 70%,#78511e 100%);background-size:200% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px .25px #fff8dd) drop-shadow(0 -.4px .35px #6c4c2c65)}
.g-booklet-back{transform:rotateY(180deg) translateZ(.6px);background-color:#faf7ec;box-shadow:inset -15px 0 25px -18px #79623a8f,-2px 0 1px #d2c4a8}
.g-booklet-dedication{position:absolute;inset:39px 29px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px}
.g-booklet-dedication>small{font:500 5.5px/1.8 var(--body);letter-spacing:.17em;color:#9c814d}
.g-booklet-dedication>span{font:italic 25px/1.2 var(--heading);color:#5d6c4d}
.g-booklet-dedication>em{font:italic 18px/1.3 var(--heading);color:#9c814d}
.g-booklet-inside>*{flex:none;margin:0}
.g-booklet-inner-kicker{font:500 5.5px/1.8 var(--body);letter-spacing:.13em}
.g-booklet-inside .g-booklet-couple{font:500 42px/.97 var(--heading);letter-spacing:-.03em}
.g-booklet-couple i{font-size:.6em;font-weight:400}
.g-booklet-inside>.g-booklet-invite-line{font:400 8px/1.9 var(--body);letter-spacing:.02em}
.g-booklet-inside>.g-booklet-inner-date{font:500 9px/1.7 var(--body);letter-spacing:.02em}
.g-booklet-inside>.g-booklet-inner-note{font:400 8px/1.9 var(--body);color:#758064}
.g-booklet-inside>.g-booklet-closing{font:italic 19px/1.15 var(--heading);color:#8d794c}
.g-booklet-inside>.g-invitation-line{margin:0 auto}
.g-booklet-inside>small{font:400 4.5px/1.8 var(--body);letter-spacing:.15em;color:#8e937f}
.g-booklet-logo{display:block;object-fit:contain;max-width:100%;filter:drop-shadow(0 1px .4px #fffdf5)}
.g-booklet-logo-small{width:87px;height:29px;margin:19px auto 0}
.g-booklet-outer-back{width:100%;height:100%;padding:0;border-radius:0;transform:rotateY(180deg) translateZ(1.5px);background-color:#faf7ec;cursor:pointer;box-shadow:inset -4px 0 7px #d6c69c42,0 4px 14px #43513219}
.g-booklet-reverse-content{position:absolute;inset:35px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.g-booklet-logo-back{width:158px;height:auto;margin:0}
.g-booklet-reverse-content>span:not(.g-invitation-line){font:italic 20px/1.25 var(--heading);color:#7b835e}
.g-booklet-reverse-content>small{font:500 5px/1.8 var(--body);letter-spacing:.17em;color:#aa915f;margin-top:36px}
.g-booklet-control{position:absolute;bottom:92px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:18px;white-space:nowrap;border:0;border-bottom:1px solid #9a895a80;padding:9px 3px;background:transparent;color:#435739;font:500 9px/1.7 var(--body);letter-spacing:.08em;cursor:pointer}
.g-booklet-control[hidden]{display:none}.g-booklet-control>span:last-child{font-size:17px;color:#9f7c39}
.g-booklet-cover:focus-visible,.g-booklet-outer-back:focus-visible{outline:2px solid #80612e;outline-offset:9px}.g-booklet-control:focus-visible{outline:2px solid #80612e;outline-offset:5px}
.g-booklet-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(hover:hover){.g-booklet-scene[data-booklet-step=front] .g-booklet-cover:hover{transform:translateZ(2px) rotateY(-13deg)}.g-booklet-cover:hover .g-booklet-foil{background-position:75% 50%}}
@media(max-width:1100px) and (min-width:701px){.g-booklet{width:280px;height:440px}.g-booklet-front{padding:34px 26px 28px}.g-booklet-title{font-size:32px}.g-booklet-scene[data-booklet-step=open] .g-booklet{transform:translateX(41%) rotateZ(-2deg) scale(.71)}}
@media(max-width:700px){.g-booklet-scene{min-height:630px;padding:75px 25px 105px}.g-booklet{width:280px;height:440px;max-width:88%}.g-booklet-front{padding:34px 25px 28px}.g-booklet-title{font-size:32px}.g-booklet-scene[data-booklet-step=open] .g-booklet{transform:translateX(32%) rotateZ(-2deg) rotateX(5deg) scale(.62)}.g-booklet-control{bottom:75px}.g-booklet-scene .g-art-caption{font-size:26px;right:25px;bottom:26px}.g-booklet-scene[data-booklet-step=open] .g-booklet-shadow{width:300px;transform:translate(-40px,20px) rotate(-2deg)}.g-booklet-inside{padding:32px 25px;gap:15px}.g-booklet-inside .g-booklet-couple{font-size:39px}}
@media(max-width:360px){.g-booklet-scene[data-booklet-step=open] .g-booklet{transform:translateX(30%) rotateZ(-2deg) scale(.54)}}
@media(prefers-reduced-motion:reduce){.g-booklet,.g-booklet-cover,.g-booklet-leaf,.g-booklet-shadow{transition:none!important}}


/* The full inner page is a native keyboard/touch control. Scroll drives the same physical folds. */
.g-booklet-page-action{position:absolute;inset:0;z-index:3;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;cursor:pointer}
.g-booklet-page-action:focus-visible{outline:2px solid #a38143;outline-offset:-20px}
.g-booklet-scene[data-booklet-motion] .g-booklet{transform:translateX(var(--bk-x,0%)) rotateZ(var(--bk-rz,-6deg)) rotateY(var(--bk-ry,-5deg)) rotateX(var(--bk-rx,5deg)) scale(var(--bk-scale,1))}
.g-booklet-scene[data-booklet-motion] .g-booklet-cover{transform:translateZ(2px) rotateY(var(--bk-cover,0deg))}
.g-booklet-scene[data-booklet-motion] .g-booklet-leaf{transform:translateZ(var(--bk-depth,0px)) rotateY(var(--bk-leaf,0deg))}
.g-booklet-scene[data-booklet-motion=scroll] :is(.g-booklet,.g-booklet-cover,.g-booklet-leaf,.g-booklet-shadow){transition:none}
