:root{--paper:#faf7ef;--ink:#34362d;--muted:#68695f;--wine:#713248;--rose:#f0ded8;--line:#dcd9ca;--olive:#5d6648;--white:#fffdf7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{ -webkit-tap-highlight-color:transparent}button,summary,a{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,.table-wrap:focus-visible{outline:3px solid #b7657a;outline-offset:4px}h1:focus,h2:focus{outline:none}button{cursor:pointer}button:disabled{cursor:default}button,.button{border:1px solid var(--line);background:var(--white);color:var(--ink);padding:13px 19px;border-radius:7px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:20px;font-size:13px;font-weight:600;line-height:1.4}.primary{background:var(--wine);border-color:var(--wine);color:#fffaf2}.primary:hover{background:#592437}.text-link{text-decoration:underline;text-underline-offset:5px;font-size:13px;line-height:1.6;display:inline-block;padding:10px 0}.skip{position:fixed;top:-100px;left:20px;padding:16px;background:white;z-index:9}.skip:focus{top:10px}[hidden]{display:none!important}.site-header,main,footer{max-width:1240px;margin:0 auto}.site-header{padding:26px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:9px;font-size:30px;font-weight:900;letter-spacing:-2px}.brand span{font-size:22px;letter-spacing:-1px}.brand i{width:8px;height:8px;background:#9bac52;border-radius:50%;align-self:flex-start;margin-top:8px}.back{font-size:13px;padding:12px 0}main{padding:0 40px}.wedding-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:45px;align-items:center;padding:54px 0 40px}.eyebrow{text-transform:uppercase;letter-spacing:1.7px;font-size:10px;font-weight:700;line-height:1.8;color:var(--wine)}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(56px,6.6vw,87px);line-height:.99;letter-spacing:-4px;color:var(--wine);margin:24px 0 25px}h1 em{font-weight:400}h2{font-family:Georgia,serif;font-size:46px;line-height:1.1;letter-spacing:-1.7px;font-weight:400;margin:15px 0 20px;color:var(--wine)}h3{font-size:20px;line-height:1.3;margin:12px 0}h4{font-size:15px;margin:22px 0 8px}.lead{font-size:17px;line-height:1.65;max-width:40ch;color:var(--muted)}.facts{display:flex;gap:32px;margin:33px 0}.facts span{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:8px}.facts strong{font-family:Georgia,serif;font-weight:400;color:var(--ink);font-size:32px;letter-spacing:-1px}.hero-note{font-size:11px;color:var(--muted);line-height:1.6;margin:16px 0}.hero-art{margin:0;position:relative}.hero-art img{display:block;width:100%;height:auto;max-height:530px;object-fit:cover;border-radius:180px 180px 12px 12px}.hero-art figcaption{font-family:Georgia,serif;font-style:italic;font-size:13px;line-height:1.5;text-align:center;color:var(--wine);margin-top:13px}.edition{border-top:1px solid var(--line);padding:19px 0;display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:.2px;color:var(--muted);line-height:1.6}.section-nav{position:sticky;top:0;z-index:5;display:flex;gap:8px;padding:10px 0;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-nav a{padding:14px 18px;border-radius:6px;font-size:13px;white-space:nowrap}.section-nav a span{font-size:10px;margin-left:5px;opacity:.65}.section-nav a[aria-current=page]{background:var(--wine);color:var(--paper)}.section-nav a:hover:not([aria-current=page]){background:#eee8de}.pane{padding:55px 0 15px}.section-heading{max-width:750px;margin-bottom:33px}.section-heading>p{font-size:15px;line-height:1.65;max-width:65ch;color:var(--muted)}.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:65px;align-items:center}.prose{font-size:15px;line-height:1.75;overflow-wrap:anywhere}.prose p{margin:0 0 17px}.prose h3{font-size:23px;font-family:Georgia,serif;color:var(--wine);font-weight:400;margin:28px 0 14px}.prose h4{font-size:19px;font-family:Georgia,serif;color:var(--wine);font-weight:400;line-height:1.4;margin:28px 0 14px}.prose li{margin:8px 0}.prose ul,.prose ol{padding-left:23px}.intro-story{max-width:65ch}blockquote{background:#e9ecdf;color:var(--olive);border-radius:180px 180px 10px 10px;min-height:280px;display:flex;flex-direction:column;justify-content:center;text-align:center;margin:0;padding:55px 25px 40px;font-family:Georgia,serif;font-size:28px;line-height:1.35;letter-spacing:-.8px}blockquote cite{font-family:Arial,sans-serif;font-style:normal;font-size:10px;letter-spacing:1px;margin-top:25px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:45px 0}.steps article{border-top:1px solid var(--line);padding-top:22px}.steps article>span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--wine)}.steps p{font-size:14px;color:var(--muted);line-height:1.65}.safety{background:var(--rose);padding:35px 40px;border-radius:12px;margin:45px 0 28px}.safety h3{font-family:Georgia,serif;font-size:33px;color:var(--wine);font-weight:400;line-height:1.15;letter-spacing:-.8px}.safety-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid #d7bcb5;border-bottom:1px solid #d7bcb5;margin:25px 0;padding:5px 0}.safety p{font-size:13px;line-height:1.65}.safety strong{font-family:Georgia,serif;font-size:21px;font-weight:400;display:block;color:var(--wine);margin-bottom:6px}.small-print{font-size:12px;color:var(--muted);line-height:1.7;max-width:90ch}.small-print p{margin:15px 0}.note{background:#eeeee3;border-left:3px solid #7b8060;padding:18px 22px;font-size:13px;line-height:1.7;margin:22px 0}.filters{display:grid;grid-template-columns:minmax(220px,1.4fr) 1fr 1fr auto;gap:12px;align-items:end;margin:30px 0 18px}.filters label{font-size:10px;text-transform:uppercase;letter-spacing:.8px;line-height:1.5;color:var(--muted)}.filters input,.filters select{display:block;width:100%;margin-top:8px;border:1px solid var(--line);padding:13px 12px;height:48px;min-width:0;background:var(--white);border-radius:6px;color:var(--ink);font-size:13px}.filters button{height:48px}.result-count{font-size:12px;color:var(--muted);margin:20px 0}.roles-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.role-card{background:var(--white);border:1px solid var(--line);border-radius:10px;min-width:0}.role-card[open]{grid-column:1/-1}.role-card summary{display:flex;align-items:center;gap:18px;padding:21px;cursor:pointer;list-style:none;min-height:113px}.role-card summary::-webkit-details-marker,.chapter summary::-webkit-details-marker{display:none}.role-number{font-family:Georgia,serif;font-size:30px;color:#aa7c81;flex-shrink:0;width:32px}.role-meta{display:block;font-size:9px;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);line-height:1.6;margin-bottom:6px}.role-name{display:block;font-size:16px;line-height:1.4;font-weight:600}.plus{font-weight:400;font-size:22px;color:var(--wine);margin-left:auto;flex-shrink:0}.role-card[open] .plus{transform:rotate(45deg)}.role-card[open] summary{border-bottom:1px solid var(--line);background:#f5ebe5;border-radius:10px 10px 0 0;min-height:90px}.role-body{max-width:850px;padding:24px 35px 30px;font-size:15px;line-height:1.75}.role-body section{break-inside:avoid}.role-body p{margin:8px 0 15px}.role-body li{margin:7px 0}.role-body ul{padding-left:22px}.role-body h4{color:var(--wine);font-size:11px;text-transform:uppercase;letter-spacing:1px;margin-top:23px}.role-notice{font-size:12px;color:var(--muted)}.actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:25px 0 0}.host-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:25px 0 30px}.host-quick a{font-size:12px;line-height:1.5;border:1px solid var(--line);border-radius:6px;padding:16px;background:var(--white)}.chapters{border-top:1px solid var(--line);margin-top:25px}.chapter{border-bottom:1px solid var(--line)}.chapter>summary{cursor:pointer;list-style:none;display:flex;gap:20px;align-items:center;font-size:17px;line-height:1.45;padding:22px 4px}.chapter>summary>span{font-family:Georgia,serif;font-size:20px;color:#ae898c;min-width:26px}.chapter>summary>b{font-size:21px;font-weight:400;color:var(--wine);margin-left:auto}.chapter[open]>summary>b{transform:rotate(45deg)}.chapter>.prose{max-width:950px;padding:4px 0 25px 50px}.table-wrap{width:100%;overflow-x:auto;margin:22px 0;border:1px solid var(--line);border-radius:6px}.table-wrap table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.6;min-width:540px}.table-wrap th{text-align:left;background:#edeadd;color:var(--olive);font-size:11px;vertical-align:top}.table-wrap th,.table-wrap td{padding:12px 15px;border-bottom:1px solid var(--line)}.table-wrap tr:last-child td{border-bottom:0}.download-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.download-card{padding:27px 24px;background:var(--white);border:1px solid var(--line);border-radius:10px}.download-card h3{font-family:Georgia,serif;font-weight:400;font-size:26px;color:var(--wine);line-height:1.2}.download-card p{font-size:13px;line-height:1.65;min-height:107px;color:var(--muted)}.download-card .actions{gap:14px}.download-card .button{font-size:12px;padding:12px 14px}.subheading{font-family:Georgia,serif;font-size:29px;font-weight:400;color:var(--wine);margin-top:42px}footer{border-top:1px solid var(--line);margin-top:65px;padding:30px 40px 38px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}footer a{text-decoration:underline;text-underline-offset:4px}.noscript{padding:20px;background:var(--rose);font-size:14px}#print-root{display:none}
@media(max-width:1000px){.wedding-hero{gap:30px;grid-template-columns:1.1fr .9fr}h1{font-size:65px}.facts{gap:22px}.filters{grid-template-columns:1.3fr 1fr 1fr}.filters button{grid-column:3}.download-grid{grid-template-columns:1fr}.download-card p{min-height:0}.download-card .actions{margin-top:18px}.host-quick{grid-template-columns:repeat(2,1fr)}.intro-grid{gap:35px}blockquote{font-size:25px}.section-nav a{padding:14px}.edition{font-size:9px}}
@media(max-width:680px){html{scroll-padding-top:90px}.site-header{padding:20px 22px}main{padding:0 22px}.brand span{font-size:19px}.back{font-size:12px}.wedding-hero{display:flex;flex-direction:column;align-items:stretch;padding:34px 0 24px;gap:20px}h1{font-size:clamp(51px,12vw,72px);letter-spacing:-2.8px;margin:20px 0}.lead{font-size:15px}.facts{gap:28px;margin:26px 0}.facts strong{font-size:29px}.facts span{font-size:10px}.hero-art{width:100%;max-width:420px;align-self:center}.hero-art img{max-height:310px;object-position:center 54%;border-radius:130px 130px 10px 10px}.hero-art figcaption{font-size:12px}.hero-note{font-size:10px}.edition{display:block;padding:15px 0}.edition span{display:block;line-height:1.8}.section-nav{gap:3px;overflow-x:auto;padding:8px 0}.section-nav a{font-size:11px;padding:13px 12px;flex:0 0 auto}.pane{padding-top:34px}h2{font-size:36px;letter-spacing:-1.1px}.section-heading{margin-bottom:24px}.section-heading>p{font-size:14px}.intro-grid{grid-template-columns:1fr;gap:18px}.prose{font-size:14px}.intro-story{max-width:none}blockquote{min-height:215px;padding:48px 20px 30px;font-size:27px;border-radius:130px 130px 10px 10px}.steps{grid-template-columns:1fr;gap:10px;margin:30px 0}.steps article{padding-top:18px}.steps h3{margin:10px 0;font-size:18px}.steps p{font-size:13px}.safety{padding:25px 22px;margin:30px 0}.safety h3{font-size:28px}.safety-grid{grid-template-columns:1fr;gap:0;padding:10px 0}.safety-grid p{margin:8px 0}.safety strong{font-size:19px;margin-bottom:1px}.filters{grid-template-columns:1fr 1fr;gap:13px}.filters label:first-child{grid-column:1/-1}.filters button{grid-column:1/-1;font-size:12px;height:44px;min-height:44px;padding:8px}.filters input,.filters select{font-size:13px}.roles-list{grid-template-columns:1fr}.role-card summary{padding:18px 16px;gap:14px;min-height:106px}.role-name{font-size:15px}.role-number{font-size:26px;width:26px}.role-meta{font-size:8px}.role-body{padding:17px 20px 23px;font-size:14px}.role-body h4{font-size:10px}.note{font-size:12px;padding:16px 18px}.host-quick{grid-template-columns:1fr 1fr;gap:8px}.host-quick a{padding:12px;font-size:11px}.chapter>summary{font-size:15px;gap:14px;padding:20px 2px}.chapter>summary>span{font-size:19px;min-width:24px}.chapter>.prose{padding:0 0 22px}.chapter .prose h4{font-size:19px}.table-wrap th,.table-wrap td{padding:9px 12px}.download-card{padding:25px 22px}.download-card h3{font-size:25px}.small-print{font-size:11px}footer{margin-top:40px;padding:25px 22px;display:flex;flex-direction:column;gap:15px;font-size:10px}.actions{gap:14px}.subheading{font-size:27px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{@page{size:A4;margin:16mm}body{background:white;font-family:Arial,sans-serif;color:#111}body>*{display:none!important}body>#print-root{display:block!important}.print-role{font-size:11pt;line-height:1.4}.print-role h1{font-family:Georgia,serif;color:#111;font-size:22pt;letter-spacing:-.5px;line-height:1.1;margin:0 0 12pt}.print-role h4{font-size:10pt;margin:12pt 0 4pt;color:#111}.print-role p{margin:5pt 0}.print-role li{margin:3pt 0}.print-role section{break-inside:avoid}.print-role .print-meta{font-size:9pt;margin-bottom:14pt}.print-role .print-footer{font-size:8pt;margin-top:14pt;border-top:1px solid #ccc;padding-top:6pt}.print-role ul{padding-left:18pt}}
/* v2: concise role cards, a Russian wedding table and a quicker host guide. */
.wedding-subtitle{display:block;font-size:.57em;letter-spacing:-1.5px;margin-top:18px}.hero-story{font-size:14px;line-height:1.7;max-width:49ch;color:var(--muted);margin:16px 0 0}.hero-copy .lead{font-family:Georgia,serif;color:var(--wine);font-size:22px;line-height:1.35;max-width:29ch}.hero-copy .facts{margin:26px 0}.hero-copy h1{margin-top:20px;margin-bottom:24px}.story-threads{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0 38px}.story-threads article{background:#eeeadc;border-radius:10px;padding:28px}.story-threads h3{font-family:Georgia,serif;font-size:25px;font-weight:400;color:var(--wine)}.story-threads p{font-size:14px;line-height:1.7;color:var(--muted)}.chapter>summary>.chapter-title{font:inherit;color:inherit;min-width:0}.chapter>.prose{padding-left:0}.cheat-sheet{background:#eeeee3;border:1px solid var(--line);border-radius:8px;padding:0 24px;margin:28px 0}.cheat-sheet[open]{padding-bottom:12px}.role-body{max-width:800px;padding:17px 30px 24px}.role-body>section:first-child p{font-size:17px;line-height:1.6}.role-body>section[data-role-field=wish]{border-left:3px solid #bc9293;padding:2px 0 2px 15px;margin:18px 0}.role-body>section[data-role-field=wish] p{margin:0}.role-body .character-line{font-family:Georgia,serif;font-size:22px;color:var(--wine);line-height:1.5;margin-top:5px}.related-role{text-decoration:underline;text-decoration-color:#cfb9ac;text-underline-offset:4px}.related-role:hover{text-decoration-color:var(--wine);color:var(--wine)}.role-body h4{margin-top:18px}.print-role .related-role{color:inherit;text-decoration:none}.print-role .character-line{font-size:12pt}.arrow{font-family:Arial,sans-serif;font-size:20px;line-height:1}.prose code{font-size:.9em;background:#efebe0;border-radius:3px;padding:2px 4px}@media(max-width:680px){.wedding-subtitle{font-size:.6em;margin-top:15px}.hero-story{font-size:13px;line-height:1.65}.hero-copy .lead{font-size:20px}.story-threads{grid-template-columns:1fr;gap:12px;margin:28px 0}.story-threads article{padding:24px}.story-threads h3{font-size:24px}.story-threads p{font-size:13px}.role-body{padding:14px 20px 22px}.role-body>section:first-child p{font-size:15px}.role-body .character-line{font-size:21px}.cheat-sheet{padding:0 17px}.chapter>.prose{padding-left:0}}@media print{.print-role .character-line{font-size:12pt;color:#111}.print-role section[data-role-field=wish]{border:0;padding:0}.print-role section{break-inside:avoid}}
