@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,500&family=Instrument+Sans:wght@400;500;600;700&display=swap');
:root{--plum:#32172c;--deep:#210f1e;--rose:#e6adad;--paper:#faf1e9;--ink:#371d2b;--line:#d9bec1;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Instrument Sans",system-ui,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.55}
[hidden]{display:none!important}
a{color:inherit}
button,input,select{font:inherit}
button{cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b96678;outline-offset:5px}
.bar,footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1.2rem,5vw,5rem);background:var(--deep);color:#fff3e9}
.brand{font:600 1.7rem/1 var(--serif);text-decoration:none}
.brand span{color:var(--rose)}
.bar-link,footer>span{font-size:.82rem}
.bar-link{text-decoration:none;border-bottom:1px solid #b58c9a;padding-bottom:.16rem}
.cover{overflow:hidden;text-align:center;background:radial-gradient(ellipse at 50% 92%,#693344 0%,var(--plum) 54%,var(--deep) 100%);color:#fff3e9}
.cover-content{position:relative;max-width:870px;margin:auto;padding:clamp(3.7rem,9vw,7.4rem) 1rem clamp(2.2rem,5vw,3.8rem);isolation:isolate}
.eyebrow{font-size:.76rem;font-weight:600;letter-spacing:.13em}
.cover .eyebrow,.instruction{color:#edc5c2}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:.96}
h1{font-size:clamp(4rem,12vw,9rem);letter-spacing:-.055em;margin:.25em 0 .12em}
h1 i{font-weight:400;color:var(--rose)}
.cover-date{color:#f2d7d3}
.envelope{position:relative;margin:clamp(2.1rem,5vw,3.6rem) auto 0;width:min(100%,490px);height:clamp(150px,30vw,238px);background:linear-gradient(145deg,#b9737e,#683144);border:1px solid #d1979b;border-radius:5px;box-shadow:0 24px 52px #190a15a0;perspective:780px}
.envelope::after{position:absolute;inset:0;content:"";background:linear-gradient(29deg,#8b4b59 49%,#aa6670 50%);clip-path:polygon(0 100%,50% 20%,100% 100%)}
.flap{position:absolute;inset:0;z-index:2;background:linear-gradient(150deg,#d18c90,#9f5366);clip-path:polygon(0 0,100% 0,50% 70%);transform-origin:top;transition:transform .7s ease}
.lining{position:absolute;inset:0;background:repeating-linear-gradient(47deg,#dfaaa8 0 2px,#a96574 2px 9px);opacity:.45}
.seal{position:relative;z-index:3;display:block;margin:clamp(-111px,-13vw,-75px) auto 0;width:68px;height:68px;border-radius:50%;border:2px solid #f8c2ad;background:#522235;color:#fff2d9;box-shadow:0 5px 17px #351328a0,inset 0 0 0 4px #743e4e;font:600 1.35rem var(--serif);transition:transform .3s ease}
.seal span{color:var(--rose);padding:0 2px}
.seal:hover{transform:scale(1.08)}
.instruction{margin-top:clamp(2.1rem,6vw,4.1rem);font-size:.81rem}
.is-open .flap{transform:rotateX(165deg)}
.is-open .seal{transform:translateY(6px) scale(.85);opacity:.65;pointer-events:none}
.paper{max-width:1120px;margin:auto;padding:clamp(3rem,7vw,6rem) clamp(1.35rem,5vw,4rem)}
.story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,8vw,7rem)}
h2{font-size:clamp(2.9rem,7vw,5.4rem);letter-spacing:-.04em;margin:.15em 0 .24em}
.story-copy>p:not(.eyebrow){max-width:37ch}
.signature{margin-top:1.4rem;font:italic 500 1.65rem var(--serif)}
figure{position:relative}
figure img{display:block;width:100%;height:auto;background:#c79995}
figcaption{position:absolute;right:1rem;bottom:.7rem;color:#fff3e9;text-shadow:0 1px 6px #210f1e;font:italic 500 1.5rem var(--serif)}
.schedule{border-top:1px solid var(--line)}
.events{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem}
.events article{border-top:1px solid var(--line);padding-top:1.3rem}
.events h3{font-size:2.1rem;margin:.4rem 0}
.events a{display:inline-block;margin-top:.6rem;font-weight:600}
.time{font-size:.8rem;font-weight:700}
.rsvp{background:var(--plum);color:#fff3e9;padding:clamp(3rem,7vw,6rem) max(clamp(1.35rem,5vw,4rem),calc((100vw - 992px)/2));display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.rsvp .eyebrow{color:var(--rose)}
.rsvp label{display:block;font-size:.88rem;margin-bottom:.25rem}
.rsvp input,.rsvp select{width:100%;border:1px solid #ba929e;background:#fff7f0;color:var(--ink);padding:.65rem .8rem;margin-bottom:.9rem;border-radius:4px}
.button{background:var(--plum);color:#fff6ef;padding:.8rem 1.05rem;border:1px solid transparent;border-radius:4px;font-weight:600}
.rsvp .button{background:#f1c5bf;color:var(--deep)}
.book{display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center}
.book h2{font-size:clamp(2.6rem,6vw,4.2rem)}
.share-actions{display:grid;gap:.55rem;justify-items:start}
.quiet{border:0;border-bottom:1px solid var(--line);padding:0;background:none;color:inherit}
[role="status"]:not(:empty){margin-top:.5rem;font-size:.86rem}
@media(max-width:650px){.story,.events,.rsvp,.book{grid-template-columns:1fr}.bar-link,footer>span{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.flap,.seal{transition:none}}
.product{background:#fdf6ee}
.bar nav{display:flex;gap:clamp(.75rem,4vw,2rem);align-items:center}
.landing{display:grid;grid-template-columns:1fr minmax(240px,.78fr);gap:clamp(2.5rem,7vw,7rem);align-items:center}
.landing h1,.editor h1{font-size:clamp(3.55rem,8vw,7rem);margin:.18em 0 .25em}
.landing-copy>p:not(.eyebrow){max-width:36ch;font-size:1.07rem}
.landing-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.5rem}
a.button{text-decoration:none;display:inline-block}
.text-link{font-weight:600;text-underline-offset:.2em}
.feature-card{position:relative;display:block;background:#522738;min-width:0;overflow:hidden;color:#fff3e9;box-shadow:0 18px 50px #3f203324}
.feature-card img{width:100%;display:block;aspect-ratio:4 / 4.6;object-fit:cover}
.feature-card::after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#210f1ee8)}
.feature-card span{position:absolute;z-index:1;left:clamp(1rem,4vw,2.5rem);bottom:1.3rem;font:500 clamp(2.6rem,6vw,5rem)/1 var(--serif)}
.feature-card small{display:block;font:600 .85rem var(--sans);margin-top:.45rem}
.pricing{background:#edd5d5}
.price-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:2rem;align-items:center}
.price{font:600 clamp(3rem,6vw,5rem)/1.05 var(--serif)}
.price-layout .text-link{display:inline-block;margin-top:.75rem}
.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(2rem,5vw,4rem);align-items:start;margin-top:2rem}
.editor form{min-width:0}
.editor fieldset{border:1px solid var(--line);margin:0 0 1.2rem;padding:1rem 1.1rem 1.25rem;min-width:0}
.editor legend{font:600 1.65rem var(--serif);padding:0 .35rem}
.editor legend small{font:400 .82rem var(--sans);margin-left:.35rem}
.editor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.editor-fields .wide{grid-column:1/-1}
.editor label{display:block;font-size:.85rem;font-weight:600;min-width:0}
.editor input,.editor select,.editor textarea{display:block;width:100%;min-width:0;margin-top:.3rem;border:1px solid #ab8a95;border-radius:4px;padding:.6rem;background:#fffaf5;color:var(--ink);font:inherit}
.preview-panel h2{font-size:2.2rem;margin:0 0 .65rem}
.preview-panel iframe{display:block;width:100%;height:550px;border:1px solid var(--line);background:var(--plum)}
.draft-preview .story{grid-template-columns:1fr}
.draft-preview .cover h1{overflow-wrap:anywhere}
[data-theme=forest]{--plum:#183f35;--deep:#102d26;--rose:#d9d4a9}
[data-theme=navy]{--plum:#1c3550;--deep:#11263b;--rose:#d9c6aa}
[data-theme=forest] .cover{background:radial-gradient(ellipse at 50% 92%,#496348,var(--plum) 54%,var(--deep))}
[data-theme=navy] .cover{background:radial-gradient(ellipse at 50% 92%,#44617d,var(--plum) 54%,var(--deep))}
@media(max-width:720px){.landing,.price-layout,.editor-layout{grid-template-columns:1fr}.feature-card{max-width:450px}.preview-panel iframe{height:490px}}
@media(max-width:380px){.editor-fields{grid-template-columns:1fr}}
.draft-preview [data-example]{display:none}
.draft-preview .story-copy>p{white-space:pre-line}

/* The studio and its invitation collection */
.studio{--studio-paper:#f8eee3;--studio-ink:#24141e;--studio-accent:#7b3349;background:var(--studio-paper);color:var(--studio-ink)}
.studio-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:.95rem clamp(1rem,5vw,4.5rem);border-bottom:1px solid #d8c4ba}
.studio-bar .brand{font-size:2rem}.studio-bar .brand span{color:var(--studio-accent)}
.studio-bar nav{display:flex;gap:clamp(1rem,3vw,2.5rem);font-size:.86rem}
.studio-bar nav a,.studio-start{text-decoration:none}
.studio-bar a:hover{text-decoration:underline;text-underline-offset:.25rem}
.studio-start{justify-self:end;font-size:.82rem;font-weight:700}
.studio-hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:600px;background:#291722;color:#fff0e2}
.hero-text{padding:clamp(2.6rem,7vw,7rem) clamp(1.4rem,6vw,6rem);align-self:center}
.studio-label{font-size:.79rem;font-weight:600;letter-spacing:.07em}
.studio-hero h1{font-size:clamp(3.65rem,7vw,8rem);margin:.23em 0 .25em;line-height:.9}
.studio-hero h1 em{font-weight:500;color:#efbdc6}
.hero-description{max-width:39ch;color:#f1dcd4}
.studio-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:1.3rem;border:1px solid transparent;text-decoration:none;padding:.86rem 1.15rem;background:#f0c4ca;color:#2b1620;font-size:.9rem;font-weight:700;min-height:44px}
.studio-primary:hover{background:#ffd7db}
.studio-primary:disabled{opacity:.65;cursor:wait}
.hero-text .studio-primary{margin-top:1.4rem}
.hero-art{min-width:0;position:relative;overflow:hidden;min-height:340px}
.hero-art img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 54%}
.collection{padding:clamp(3rem,7vw,6.5rem) clamp(1rem,5vw,4.5rem);max-width:1500px;margin:auto}
.collection-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;border-bottom:1px solid #cdb9ae;padding-bottom:1.2rem;margin-bottom:1.6rem}
.collection-heading h2{margin:0}.collection-heading p{max-width:29ch}
.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.6rem clamp(1rem,3vw,2rem)}
.art-link{display:block}.template-art{aspect-ratio:1.18;display:grid;place-items:center;position:relative;isolation:isolate;overflow:hidden;background:var(--cover-ink);color:var(--cover-paper)}
.template-art::before{position:absolute;inset:8%;content:"";border:1px solid var(--cover-accent);opacity:.68}
.mini-card{z-index:1;display:grid;place-content:center;text-align:center;width:48%;aspect-ratio:3/4;background:var(--cover-paper);color:var(--cover-ink);box-shadow:0 10px 32px #170b1655;border:1px solid var(--cover-accent);transform:rotate(-9deg);transition:transform .28s}
.art-link:hover .mini-card{transform:rotate(0deg) scale(1.07)}
.mini-card span{font:600 clamp(2rem,4.5vw,4rem)/1 var(--serif)}.mini-card small{font-size:clamp(.53rem,1vw,.72rem);margin-top:.5rem}
.mini-trim{position:absolute;inset:0;pointer-events:none}
.template-art[data-motion=gates] .mini-card{border-radius:50% 50% 0 0;transform:none}
.template-art[data-motion=curtain] .mini-trim{background:repeating-linear-gradient(90deg,transparent 0 15px,#f1d0a122 16px 17px)}
.template-art[data-motion=rise] .mini-card{transform:rotate(10deg);border-radius:50% 50% 0 0}
.template-art[data-motion=unfold] .mini-card{transform:none;width:65%;aspect-ratio:1.3;border:4px double var(--cover-accent)}
.template-art[data-motion=ribbon] .mini-trim{z-index:2;background:linear-gradient(125deg,transparent 47%,var(--cover-accent) 48% 52%,transparent 53%)}
.template-art[data-motion=wings] .mini-card{border-radius:48% 48% 12% 12%;transform:none}
.template-art[data-motion=weave] .mini-trim{background:repeating-linear-gradient(45deg,transparent 0 10px,#e5e9f34d 11px 12px,transparent 13px 25px)}
.template-art[data-motion=slide] .mini-card{transform:rotate(-18deg);border-radius:0 45% 45% 0}
.template-art[data-motion=vellum] .mini-card{opacity:.85;transform:rotate(7deg);border:6px double var(--cover-accent)}
.template-art[data-motion=box] .mini-card{aspect-ratio:1;width:53%;transform:rotate(45deg)}
.template-art[data-motion=box] .mini-card span,.template-art[data-motion=box] .mini-card small{transform:rotate(-45deg)}
.template-art[data-motion=turn] .mini-card{width:62%;aspect-ratio:1.45;transform:none;border-radius:0 0 28% 0}
.template-title{display:grid;grid-template-columns:1fr auto;align-items:start;gap:.5rem;margin-top:.85rem}
.template-title h3{font-size:clamp(1.75rem,3vw,2.6rem)}.template-title p{font-size:.84rem;margin-top:.35rem}
.template-actions{display:flex;flex-wrap:wrap;justify-content:end;gap:.2rem .8rem;font-size:.8rem;font-weight:700}
.template-actions a{display:inline-flex;min-height:44px;align-items:center;text-underline-offset:.2rem}
.choose-link{color:#742f47}
.studio-custom{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,8rem);background:#ead8e1;padding:clamp(3rem,7vw,6rem) clamp(1.4rem,8vw,8rem)}
.custom-copy p:not(.studio-label){max-width:40ch}.pricing-note{margin-top:1.5rem;font-size:.86rem}
#custom-form label{display:block;font-weight:600;font-size:.85rem;margin-bottom:.8rem}
#custom-form small{font-weight:400;margin-left:.4rem}
#custom-form input,#custom-form textarea{display:block;width:100%;margin-top:.35rem;border:1px solid #a98599;background:#fff9f5;color:#24141e;padding:.65rem;font:inherit}
#custom-form .studio-primary{background:#351b2b;color:#fff1e5;cursor:pointer}
.custom-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

/* The animated stationery stays readable with or without motion. */
.cover{--cover-ink:#351625;--cover-paper:#f5e2d4;--cover-accent:#b47f72;background:var(--cover-ink);color:var(--cover-paper)}
.cover .eyebrow,.cover .cover-date,.cover h1 i{color:var(--cover-paper)}
.cover h1{overflow-wrap:anywhere;font-size:clamp(3.4rem,10vw,8rem)}
.cover-content{padding-block:clamp(2.2rem,6vw,5rem)}
.opening-stage{height:clamp(180px,43vw,295px);width:min(84%,360px);margin:1.4rem auto 1.2rem;position:relative;display:grid;place-items:center;perspective:650px;isolation:isolate}
.opening-card{width:73%;height:88%;display:grid;place-content:center;text-align:center;position:relative;background:var(--cover-paper);color:var(--cover-ink);border:5px double var(--cover-accent);box-shadow:0 18px 35px #10091455;transform:scale(.8);transition:transform .76s cubic-bezier(.2,.7,.24,1) .24s}
.opening-card span{font:600 clamp(2.4rem,7vw,4rem)/1 var(--serif)}.opening-card small{margin-top:.4rem;font:italic 500 1rem var(--serif)}
.opening-panel{position:absolute;inset:0;background:var(--cover-accent);border:1px solid var(--cover-paper);transition:transform .76s cubic-bezier(.2,.7,.24,1),opacity .76s;backface-visibility:hidden}
.first-panel{clip-path:polygon(0 0,100% 0,50% 64%);transform-origin:top;background:linear-gradient(135deg,var(--cover-paper),var(--cover-accent))}
.second-panel{clip-path:polygon(0 0,50% 62%,100% 0,100% 100%,0 100%);transform-origin:bottom;background:linear-gradient(26deg,var(--cover-accent),var(--cover-paper))}
.opening-mark{z-index:2;position:absolute;width:50px;aspect-ratio:1;top:49%;left:50%;translate:-50% -50%;border-radius:50%;background:var(--cover-ink);border:3px double var(--cover-paper);transition:transform .38s,opacity .38s;box-shadow:0 5px 12px #130a1255}
.opening-action{padding:.75rem 1.15rem;min-height:46px;border:1px solid var(--cover-paper);background:var(--cover-paper);color:var(--cover-ink);font-weight:700}.opening-action:disabled{cursor:default}
.is-open .opening-card{transform:scale(1) translateY(-4%)}
.is-open .opening-mark{transform:scale(.4);opacity:0}
.is-open .first-panel{transform:rotateX(145deg);opacity:0}
.is-open .second-panel{transform:translateY(22%) rotateX(-30deg);opacity:0}
[data-motion=gates] .opening-panel,[data-motion=curtain] .opening-panel{clip-path:none;width:50%;height:100%;background:repeating-linear-gradient(90deg,var(--cover-accent) 0 5px,var(--cover-ink) 6px 16px)}
[data-motion=gates] .opening-panel{border-radius:50% 0 0 0}
[data-motion=gates] .second-panel,[data-motion=curtain] .second-panel{left:50%;transform-origin:right}
[data-motion=gates] .first-panel{transform-origin:left}
.is-open[data-motion=gates] .first-panel{transform:rotateY(-102deg)}
.is-open[data-motion=gates] .second-panel{transform:rotateY(102deg)}
.is-open[data-motion=curtain] .first-panel{transform:translateX(-75%) scaleX(.25)}
.is-open[data-motion=curtain] .second-panel{transform:translateX(75%) scaleX(.25)}
[data-motion=rise] .opening-card{transform:translateY(27%) scale(.74)}
.is-open[data-motion=rise] .opening-card{transform:translateY(-12%) scale(1)}
[data-motion=unfold] .opening-panel{width:50%;clip-path:none}
[data-motion=unfold] .first-panel{transform-origin:left}
[data-motion=unfold] .second-panel{left:50%;transform-origin:right}
.is-open[data-motion=unfold] .first-panel{transform:rotateY(170deg)}
.is-open[data-motion=unfold] .second-panel{transform:rotateY(-170deg)}
[data-motion=ribbon] .opening-mark{width:100%;height:18px;border:0;border-radius:2px;background:linear-gradient(0deg,var(--cover-accent),var(--cover-paper),var(--cover-accent))}
[data-motion=ribbon] .opening-mark::before,[data-motion=ribbon] .opening-mark::after{content:"";position:absolute;top:-16px;width:52px;height:38px;border:8px solid var(--cover-paper);box-shadow:0 2px 3px #30182766;border-radius:50% 50% 12% 50%}
[data-motion=ribbon] .opening-mark::before{right:50%;transform:rotate(20deg)}
[data-motion=ribbon] .opening-mark::after{left:50%;transform:rotate(-20deg) scaleX(-1)}
.is-open[data-motion=ribbon] .opening-mark{transform:translateX(90%) skewX(-20deg) scaleX(.5)}
[data-motion=ribbon] .opening-panel{transition-delay:.25s}
[data-motion=ribbon] .opening-card{transform:translateY(18%) scale(.72);transition-delay:.42s}
.is-open[data-motion=ribbon] .opening-card{transform:translateY(-12%) scale(1)}
[data-motion=wings] .opening-mark{border:0;background:none;box-shadow:none;width:74px}
[data-motion=wings] .opening-mark::before,[data-motion=wings] .opening-mark::after{content:"";position:absolute;top:8px;width:38px;height:46px;background:radial-gradient(ellipse at 65% 68%,var(--cover-paper),var(--cover-accent) 62%,var(--cover-ink));border:1px solid var(--cover-paper);border-radius:65% 45% 56% 20%;transform:rotate(-27deg);transform-origin:right bottom}
[data-motion=wings] .opening-mark::after{right:0;transform:rotate(27deg) scaleX(-1)}
.is-open[data-motion=wings] .opening-mark{transform:translateY(-140px) scale(.65);transition-duration:.7s}
[data-motion=weave] .opening-panel{clip-path:none;background:repeating-linear-gradient(45deg,var(--cover-ink) 0 8px,var(--cover-accent) 9px 11px,var(--cover-ink) 12px 20px)}
[data-motion=weave] .first-panel{height:50%}
[data-motion=weave] .second-panel{top:50%}
.is-open[data-motion=weave] .first-panel{transform:translateX(-100%)}
.is-open[data-motion=weave] .second-panel{transform:translateX(100%)}
[data-motion=slide] .opening-card{transform:translateX(-13%) scale(.73)}
.is-open[data-motion=slide] .opening-card{transform:translateX(13%) rotate(4deg)}
[data-motion=vellum] .first-panel{clip-path:none;background:var(--cover-paper);opacity:.75}
.is-open[data-motion=vellum] .first-panel{transform:translateY(-55%) rotateX(88deg);opacity:0}
[data-motion=box] .first-panel{clip-path:polygon(0 0,100% 0,90% 43%,10% 43%)}
[data-motion=box] .second-panel{clip-path:polygon(8% 40%,92% 40%,100% 100%,0 100%)}
.is-open[data-motion=box] .first-panel{transform:translateY(-45%) rotate(-13deg)}
[data-motion=turn] .first-panel{clip-path:none;transform-origin:left}
.is-open[data-motion=turn] .first-panel{transform:rotateY(-140deg)}
[data-theme=plum] .cover{--override:#32172c}
[data-theme=forest] .cover{--override:#183f35}
[data-theme=navy] .cover{--override:#1c3550}
[data-theme=terracotta] .cover{--override:#79351f}
[data-theme=rose] .cover{--override:#742d51}
[data-theme=cobalt] .cover{--override:#284696}
[data-theme=black] .cover{--override:#181818}
[data-theme=jade] .cover{--override:#1a604f}
[data-theme=lavender] .cover{--override:#5a3b7b}
[data-theme=wine] .cover{--override:#641d34}
[data-theme=ochre] .cover{--override:#725014}
[data-theme=ivory] .cover{--override:#695a45}
[data-theme=coral] .cover{--override:#8b372f}
body[data-theme]:not([data-theme=design]) .cover{background:var(--override,var(--cover-ink))}
.invitation-page:has(.cover[data-design]) #invitation{border-top:1px solid var(--line)}
@media(max-width:850px){.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.template-title{grid-template-columns:1fr}.template-actions{justify-content:start}}
@media(max-width:640px){.studio-hero,.studio-custom{grid-template-columns:1fr}.studio-hero{min-height:0}.hero-art{min-height:300px}.hero-text{padding-bottom:2.3rem}.studio-bar{grid-template-columns:1fr auto}.studio-start{display:none}.collection-heading{align-items:start;flex-direction:column}.template-grid{gap:1.6rem .85rem}.custom-fields{grid-template-columns:1fr;gap:0}.template-title h3{font-size:1.65rem}.template-actions{gap:.5rem}}
@media(prefers-reduced-motion:reduce){.opening-card,.opening-panel,.opening-mark,.mini-card{transition:none!important}}
.invitation-page{--cover-ink:#351625;--cover-paper:#f5e2d4;--cover-accent:#b47f72;--plum:var(--cover-ink);--ink:var(--cover-ink);background:color-mix(in srgb,var(--cover-paper),white 48%)}
.invitation-page .cover{--cover-ink:inherit;--cover-paper:inherit;--cover-accent:inherit}
.invitation-page .story{position:relative}
.invitation-page .story::before{content:"";position:absolute;inset:1rem clamp(.35rem,2vw,1.5rem);border:1px solid color-mix(in srgb,var(--cover-accent),transparent 45%);pointer-events:none}
.invitation-page[data-design=ivory-wings] .story::before,.invitation-page[data-design=garden] .story::before{border-radius:45% 45% 0 0}
.invitation-page[data-design=after-dark] .story::before,.invitation-page[data-design=golden-hour] .story::before{border-style:double;border-width:4px}
.invitation-page[data-design=adire] .schedule{border-top:7px solid var(--cover-accent)}
@media(max-width:390px){.studio-bar nav{gap:.7rem;font-size:.76rem}.studio-bar .brand{font-size:1.65rem}.studio-hero h1{font-size:3.35rem}}

/* Full-screen stationery opening and card reveal */
.invitation-page{--art:url('/heirloom.webp');--surface:#281a21}
[data-design=blue-note]{--art:url('/porcelain.webp');--surface:#e4e5ea}
[data-design=garden]{--art:url('/orangery.webp');--surface:#283027}
.invitation-page:has(.cover:not([hidden])){overflow:hidden}
.invitation-page .cover{position:fixed;inset:0;z-index:10;display:grid;place-items:center;overflow:auto;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--surface),white 15%),var(--surface) 78%);color:#fff9f3}
.invitation-page[data-design=blue-note] .cover{color:#24375d}
.invitation-page .cover.is-open{animation:scene-exit .28s ease 1.39s both}
@keyframes scene-exit{to{opacity:0}}
.opening-scene{width:min(100%,570px);padding:4rem 1rem 2rem;display:grid;justify-items:center;gap:.65rem}
.envelope-case{width:min(80vw,400px,62svh);aspect-ratio:1.45;position:relative;perspective:950px;isolation:isolate;margin:2rem auto 1.2rem}
.envelope-case>div{position:absolute}
.envelope-back,.envelope-pocket,.envelope-flap{inset:0;background-color:var(--cover-ink)}
.envelope-back{box-shadow:0 26px 64px #11081070}
.envelope-back,.envelope-pocket,.envelope-flap,.envelope-door{background-image:repeating-linear-gradient(42deg,#ffffff05 0 1px,transparent 1px 4px),linear-gradient(134deg,#ffffff21,transparent 50%,#00000038)}
.envelope-pocket{clip-path:polygon(0 0,50% 66%,100% 0,100% 100%,0 100%);z-index:3;filter:brightness(1.2)}
.envelope-flap{clip-path:polygon(0 0,100% 0,56% 65%,50% 69%,44% 65%);transform-origin:top;z-index:4;filter:brightness(1.34);transition:transform .67s cubic-bezier(.3,.64,.25,1) .16s}
.envelope-fastener{z-index:5;left:50%;top:60%;translate:-50% -50%;display:grid;place-items:center;width:56px;aspect-ratio:1;border-radius:46% 52% 48% 52%;border:3px double #f3d5ad;background:radial-gradient(ellipse at 30% 20%,#bf9373,#754731 77%);color:#fff5e3;box-shadow:0 4px 12px #0007;font:600 1rem var(--serif);transition:transform .3s,opacity .3s}
.letter-slip{z-index:2;top:3%;left:14%;width:72%;height:91%;background:var(--cover-paper) var(--art) center/cover;box-shadow:0 8px 20px #0005;transition:transform .72s cubic-bezier(.22,.67,.22,1) .52s}
.is-open .envelope-fastener{transform:rotate(-30deg) scale(.65);opacity:0}
.is-open .envelope-flap{transform:rotateX(168deg);z-index:1}
.is-open .letter-slip{transform:translateY(-42%) rotate(-3deg)}
.envelope-door{display:none}
[data-motion=ribbon] .envelope-back,[data-motion=ribbon] .envelope-pocket,[data-motion=ribbon] .envelope-flap{background-color:#d9d2bd}
[data-motion=ribbon] .envelope-fastener{width:100%;height:18px;border:0;border-radius:0;background:linear-gradient(0deg,#394d75,#a7b5d3,#d4daeb,#586b99);box-shadow:0 2px 4px #20243a40;transition-duration:.5s}
[data-motion=ribbon] .envelope-fastener span,[data-motion=gates] .envelope-fastener span{visibility:hidden}
[data-motion=ribbon] .envelope-fastener::before,[data-motion=ribbon] .envelope-fastener::after{content:"";position:absolute;width:48px;height:29px;top:-13px;border:7px solid #6479a5;border-radius:50% 50% 8% 50%;box-shadow:0 2px 4px #20243a66,inset 0 1px 3px #20243a66}
[data-motion=ribbon] .envelope-fastener::before{right:50%;rotate:15deg}
[data-motion=ribbon] .envelope-fastener::after{left:50%;transform:rotate(-15deg) scaleX(-1)}
.is-open[data-motion=ribbon] .envelope-fastener{transform:translateX(78%) scaleX(.4)}
[data-motion=ribbon] .envelope-flap{transition-delay:.35s}
[data-motion=ribbon] .letter-slip{transition-delay:.63s}
[data-motion=gates] .envelope-case{aspect-ratio:1.1}
[data-motion=gates] .envelope-door{display:block;inset:0 auto 0 0;width:50%;z-index:4;background-color:#394332;border:5px double #ae9975;transform-origin:left;transition:transform .9s ease .23s}
[data-motion=gates] .right-door{left:50%;transform-origin:right}
[data-motion=gates] .envelope-pocket,[data-motion=gates] .envelope-flap{display:none}
.is-open[data-motion=gates] .left-door{transform:rotateY(-110deg)}
.is-open[data-motion=gates] .right-door{transform:rotateY(110deg)}
.is-open[data-motion=gates] .letter-slip{transform:scale(1.12)}
.invitation-page .opening-action{min-width:12rem;background:#f6eadd;color:#2d1920;border:1px solid #e5cdb6;border-radius:2px}
.invitation-page .skip-opening{min-height:44px;background:none;border:0;text-decoration:underline;text-underline-offset:.2em;color:inherit;font-size:.86rem}
.revealed-stationery{min-height:calc(100svh - 60px);display:grid;place-items:center;background:var(--surface);padding:clamp(1.1rem,4vw,3.5rem);scroll-margin-top:0}
.stationery-card{width:min(100%,485px);min-height:min(695px,84svh);padding:20% 10%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--cover-paper) var(--art) center/100% 100% no-repeat;color:var(--cover-ink);box-shadow:0 18px 52px #140d144a}
.stationery-card h1{font-size:clamp(2.7rem,8vw,5rem);line-height:.9;max-width:100%;overflow-wrap:anywhere;margin:.32em 0}
.stationery-card p{font-size:clamp(.69rem,2.5vw,.85rem);max-width:75%}
.stationery-card a{font-weight:600;margin-top:1.3rem;font-size:.81rem;text-underline-offset:.3em}
[data-design=blue-note] .stationery-card h1{max-width:64%;font-size:clamp(2.5rem,7vw,4.3rem)}
[data-design=garden] .stationery-card{align-items:flex-end;text-align:right;padding-right:14%}
[data-design=garden] .stationery-card h1{max-width:80%;font-style:italic}
.studio .template-art .mini-card{background:var(--cover-paper) var(--art) center/100% 100% no-repeat;width:56%;aspect-ratio:2/3;border:0;border-radius:0;transform:none;box-shadow:0 10px 28px #12090f50}
.studio .art-link:hover .mini-card{transform:translateY(-4px)}
.studio .mini-card span{max-width:8ch;margin:auto;font-size:clamp(1.25rem,3.2vw,2.5rem)}
.studio .mini-card small{font-size:clamp(.48rem,1vw,.72rem)}
.studio .template-art{aspect-ratio:1.05;background:var(--surface,#281a21)}
.studio .template-art::before{border:0}
@media(max-width:640px){.studio .template-grid{grid-template-columns:1fr}.studio .template-title{grid-template-columns:1fr auto}.studio .template-actions{justify-content:end}.studio .template-art{aspect-ratio:1.15}.stationery-card{min-height:74svh}}
@media(prefers-reduced-motion:reduce){.invitation-page .cover.is-open{animation:none}.envelope-case>div{transition:none!important}}
.template-art[data-design=heirloom]{--art:url('/heirloom.webp');--surface:#281a21}
.invitation-page:has(.cover:not([hidden])) > :is(header,footer),
.invitation-page:has(.cover:not([hidden])) #book{display:none}

/* Wedding collection and ceremony programmes */
.studio{--studio-paper:#f8f5ef;--studio-ink:#272922;--studio-accent:#4b553e}
.studio-bar{border-color:#d9dbce}
.studio-hero{background:#242a22;min-height:0;grid-template-columns:1.04fr .96fr}
.studio-hero h1{font-size:clamp(3.6rem,6.5vw,7.2rem);line-height:.94}
.studio-hero .hero-description{color:#e2e5d6}
.studio-hero .studio-primary{background:#e7ead9;color:#242a22}
.hero-art img{object-position:center 58%}
.studio-custom{background:#e8eadf}
.studio .template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.75rem clamp(1rem,4vw,3.5rem)}
.studio .template-art{aspect-ratio:1.56}
.studio .template-art .mini-card{width:38%}
.studio .template-title p{max-width:39ch}
[data-design=registry]{--art:none;--surface:#4b4e43}
.studio .template-art[data-design=registry] .mini-card{border:1px solid var(--cover-accent);outline:1px solid #d1bea0;outline-offset:-8px;transform:rotate(-5deg)}
[data-motion=folio] .envelope-case{aspect-ratio:1.15}
[data-motion=folio] .envelope-flap{clip-path:none;transform-origin:left;z-index:4;border-left:8px solid var(--cover-accent)}
[data-motion=folio] .envelope-pocket{display:none}
[data-motion=folio] .envelope-fastener{border-radius:0;background:#e4d6b9;color:#28291f;left:64%;top:54%;width:70px;height:40px}
.is-open[data-motion=folio] .envelope-flap{transform:rotateY(-155deg)}
.is-open[data-motion=folio] .letter-slip{transform:translateX(12%)}
[data-design=registry] .stationery-card{align-items:start;text-align:left;border:1px solid #b3a583;outline:1px solid #c7bb9f;outline-offset:-15px;padding-inline:15%}
[data-design=registry] .stationery-card h1{font-family:var(--sans);font-size:clamp(2.65rem,7vw,4.5rem);font-weight:600;letter-spacing:-.07em}
.stationery-hosts{margin-top:.35rem;font-weight:600}
.event-date{font-size:.88rem;font-weight:600;margin:.45rem 0}
[data-ceremony=nikah] .events{grid-template-columns:1fr;max-width:720px;margin-inline:auto}
[data-ceremony=nikah] .events article{padding:clamp(1.25rem,4vw,2.4rem);border:1px solid var(--cover-accent);border-radius:4rem 4rem 0 0;text-align:center}
[data-ceremony=church] .events article{padding:1.5rem;border-top:3px double var(--cover-accent)}
[data-ceremony=civil] .events article{border-top:2px solid var(--cover-ink);padding-top:1.25rem}
[data-ceremony=civil] .schedule h2{font-family:var(--sans);font-size:clamp(2rem,5vw,4rem);font-weight:600}
@media(max-width:700px){.studio .template-grid{grid-template-columns:1fr;gap:2rem}.studio .template-art{aspect-ratio:1.32}.studio-hero h1{font-size:clamp(3.25rem,10vw,5rem)}}
@media(max-width:640px){.studio-hero{grid-template-columns:1fr}.studio-hero .hero-art{min-height:260px}.studio-bar nav a,.studio-start{display:inline-flex;align-items:center;min-height:44px}.studio-start{display:none}}
