/* AAcreate Wedding / Collection 3 — редактируемая открытка без обрезки декора. */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;min-width:0;min-height:100%;overflow-x:clip}
html{background:var(--bg,#eee9e4)}
body{background:var(--bg,#eee9e4)}
.stage{--bg:#ebe8e3;--paper:#fbf9f4;min-height:100svh;min-height:100dvh;width:100%;padding:10px;display:grid;place-items:center;background:radial-gradient(ellipse at center,var(--paper) 0%,var(--bg) 86%)}
.invite{--paper:#fbf9f4;--ink:#373937;--accent:#b8917a;--secondary:#77736d;--line:#d5c7b6;--soft:#ece4d8;--darkaccent:#906c59;--name-scale:1;--decor-opacity:1;position:relative;isolation:isolate;overflow:hidden;width:min(600px,calc(100vw - 20px),calc((100dvh - 20px) * 2 / 3));aspect-ratio:2/3;background:var(--paper);color:var(--ink);font-family:'Georgia','Liberation Serif',serif;box-shadow:0 14px 48px #211d1924;container-type:inline-size;flex-shrink:0}
/* SVG has exactly the same aspect ratio and coordinate system as the card. */
.art,.content{position:absolute;inset:0;width:100%;height:100%}
.art{z-index:0;display:block;opacity:var(--decor-opacity)}
.content{z-index:1;pointer-events:none;text-align:center}
.content>*{position:absolute;margin:0;left:50%;transform:translateX(-50%);max-width:92%}
.eyebrow{top:15%;width:80%;font:500 2.4cqw/1.3 'Cantarell',Arial,sans-serif;letter-spacing:.26em;text-transform:uppercase;color:var(--secondary)}
.heading{top:22.5%;width:86%;font:500 3.6cqw/1.3 'Georgia','Liberation Serif',serif;letter-spacing:.17em;text-transform:uppercase}
.symbol{top:29%;color:var(--accent);font:400 4cqw/1 Georgia,serif}
.names{top:35%;width:85%;height:20%;display:flex;flex-direction:column;justify-content:center;align-items:center;font:400 calc(11cqw * var(--name-scale))/1.01 'Georgia','Liberation Serif',serif;color:var(--ink)}
.person{display:block;max-width:100%;overflow-wrap:anywhere}
.and{font:italic 400 .43em/.92 Georgia,serif;color:var(--accent);margin:-.08em 0}
.date{top:59%;width:83%;font:400 4.8cqw/1.15 'Georgia','Liberation Serif',serif;letter-spacing:.11em;text-transform:uppercase}
.divider{top:65.5%;color:var(--accent);font:400 3cqw/1 Georgia,serif}
.schedule{top:69.3%;width:80%;min-height:8%;display:flex;flex-direction:column;justify-content:center;gap:.6cqw;font:400 4cqw/1.12 'Georgia','Liberation Serif',serif}
.schedule span{display:block}
.venue{top:80%;width:83%;min-height:5.5%;display:grid;place-items:center;font:500 3.9cqw/1.2 'Georgia','Liberation Serif',serif}
.message{top:87%;width:76%;min-height:5.8%;display:grid;place-items:center;font:italic 400 3.7cqw/1.12 'Georgia','Liberation Serif',serif}
.credit{bottom:1.2%;width:80%;font:500 1.9cqw/1.15 'Cantarell',Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--secondary);pointer-events:auto}
.credit strong{color:var(--ink);font-weight:700}
.credit:hover,.credit:focus-visible{text-decoration:underline}
/* Layouts really differ: the text itself is repositioned, not only recolored. */
.t-herbarium .eyebrow{top:13%}.t-herbarium .heading{top:22.3%}.t-herbarium .names{top:34.5%;font-family:'Georgia','Liberation Serif',serif;font-size:calc(11.3cqw * var(--name-scale));font-style:italic}.t-herbarium .date{top:60.4%;font-size:4.6cqw}.t-herbarium .message{top:87%;font-size:3.55cqw}
.t-ticket .eyebrow{top:19.5%;font-size:2.7cqw;letter-spacing:.18em}.t-ticket .heading{top:27%;font:700 4.3cqw/1.2 'Cantarell',Arial,sans-serif;letter-spacing:.1em}.t-ticket .symbol{top:33%}.t-ticket .names{top:37%;font-family:'GFS Didot','Georgia','Liberation Serif',serif;font-style:italic;font-size:calc(11.2cqw * var(--name-scale))}.t-ticket .date{top:59.5%;font-family:'Cantarell',Arial,sans-serif;font-size:3.8cqw;letter-spacing:.05em}.t-ticket .divider{top:64%}.t-ticket .schedule{top:68.5%;font-size:3.8cqw}.t-ticket .venue{top:78%;font-size:3.7cqw}.t-ticket .message{top:85%;font-size:3.5cqw}
.t-editorial .eyebrow{top:16.7%;font-size:2.3cqw;letter-spacing:.27em}.t-editorial .heading{top:25%;font:500 3.2cqw/1.3 'Cantarell',Arial,sans-serif;letter-spacing:.14em}.t-editorial .symbol{top:30%}.t-editorial .names{top:34%;font-family:'GFS Didot','Georgia','Liberation Serif',serif;font-size:calc(11.6cqw * var(--name-scale));font-style:italic}.t-editorial .date{top:59%;font-size:4.4cqw}.t-editorial .message{font-size:3.6cqw}
.t-mountains .eyebrow{top:15.5%}.t-mountains .heading{top:24.5%}.t-mountains .names{top:35%;font-style:italic;font-size:calc(10.8cqw * var(--name-scale))}.t-mountains .message{top:85.5%;font-size:3.5cqw}.t-mountains .venue{top:78.8%}
.t-daisy .eyebrow{top:16.2%;font-weight:700}.t-daisy .heading{top:23.2%;font:500 3.8cqw/1.2 'Cantarell',Arial,sans-serif;letter-spacing:.16em}.t-daisy .names{top:35%;font-size:calc(11.2cqw * var(--name-scale));font-style:italic}.t-daisy .message{top:88%;font-size:3.4cqw}
.t-wine .eyebrow{top:23.5%;font-size:2.1cqw}.t-wine .heading{top:30%;font-size:3.4cqw}.t-wine .symbol{display:none}.t-wine .names{top:37%;font-family:'Georgia','Liberation Serif',serif;font-style:italic;font-size:calc(10.7cqw * var(--name-scale))}.t-wine .date{top:59.5%;font-size:4.5cqw}.t-wine .divider{top:65%}.t-wine .schedule{top:69%;font-size:3.7cqw}.t-wine .venue{top:79%;font-size:3.6cqw}.t-wine .message{top:86%;font-size:3.3cqw}
.t-sea .eyebrow{top:14.5%}.t-sea .heading{top:23.5%}.t-sea .names{top:35%;font-style:italic}.t-sea .date{top:60%}.t-sea .venue{top:79%}.t-sea .message{top:86%;font-size:3.5cqw}
.t-origami .eyebrow{top:15%}.t-origami .heading{top:24%}.t-origami .names{top:36%;font-family:'GFS Didot','Georgia','Liberation Serif',serif;font-style:italic}.t-origami .date{top:60%}.t-origami .message{top:87%}
@media(max-width:600px){.stage{padding:6px}.invite{width:min(calc(100vw - 12px),calc((100dvh - 12px) * 2 / 3));box-shadow:0 6px 25px #2b292017}}
/* Mobile fullscreen: every pixel belongs to the invitation, no external letterboxing.
   Original SVG occupies the entire card; decor remains inside the viewBox. */
@media (max-width: 700px) and (orientation: portrait) {
  html, body {
    width: 100%; height: 100%; min-height: 100%;
    overflow: hidden;
    overscroll-behavior: none;
  }
  .stage {
    width: 100%; height: 100vh; height: 100svh; height: 100dvh;
    min-height: 0; margin: 0; padding: 0;
    display: block; overflow: hidden;
    background: var(--paper);
  }
  .invite {
    width: 100%; height: 100vh; height: 100svh; height: 100dvh;
    min-height: 0; max-width: none; max-height: none;
    aspect-ratio: auto; margin: 0; border: 0;
    box-shadow: none;
  }
  .art { width: 100%; height: 100%; }
  .content { width: 100%; height: 100%; }
  .credit { bottom: max(1.2%, env(safe-area-inset-bottom)); }
}

@media print{@page{size:100mm 150mm;margin:0}html,body,.stage{background:none!important;min-height:0!important;padding:0!important}.invite{width:100mm;height:150mm;aspect-ratio:auto;box-shadow:none;print-color-adjust:exact;-webkit-print-color-adjust:exact}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}


