/* La Vie en Rose — locally served reference faces, artwork and responsive proportions. */
@font-face{font-family:"Pinyon Script";src:url('../fonts/6c32053678f0295c-s.p.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url('../fonts/7b89a4fd5e90ede0-s.p.woff2') format('woff2');font-weight:300 700;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url('../fonts/e18f83c737786aa7-s.p.woff2') format('woff2');font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:Jost;src:url('../fonts/9dd75fadc5b3df29-s.p.woff2') format('woff2');font-weight:300 600;font-display:swap}
@font-face{font-family:Amiri;src:url('../fonts/5aae3a1c1074c5e1-s.p.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Tajawal;src:url('../fonts/dd994fbf464986f0-s.p.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:"Silk Armenian";src:url('../fonts/ArmenianDecorativeU-Italic.ttf') format('truetype');font-display:swap}
/* ── Themes ────────────────────────────────────────────────────────────
 * Pick one in invitation.html (and index.html, the welcome page): <html data-theme="burgundy"> or <html data-theme="sage">. Burgundy is the default.
 * RULE: every colour in this file must come from these variables, never a fixed colour like #7a1f33,
 * so new sections and changes automatically work in both themes. To add a theme, copy a palette block.
 */
:root{
    --sb-script:"Pinyon Script",cursive;--sb-display:"Cormorant Garamond",Georgia,serif;--sb-body:Jost,system-ui,sans-serif;
    /* Derived from the palette below: thin lines, shadows. */
    --sb-line-faint:color-mix(in srgb,var(--sb-accent-soft) 13%,transparent);--sb-line:color-mix(in srgb,var(--sb-accent-soft) 30%,transparent);--sb-line-strong:color-mix(in srgb,var(--sb-accent-soft) 50%,transparent);
    --sb-shadow:color-mix(in srgb,var(--sb-ink) 40%,transparent);
    color-scheme:light}
/* White & burgundy */
:root,:root[data-theme="burgundy"]{
    --sb-bg:#fffdfb;          /* page background: warm white */
    --sb-paper:#ffffff;       /* cards, text on buttons */
    --sb-ink:#2e2226;         /* main text */
    --sb-muted:#6e5a60;       /* secondary text */
    --sb-faint:#9a878c;       /* small grey labels */
    --sb-accent:#7a1f33;      /* burgundy: labels, buttons, links */
    --sb-accent-soft:#8e3347; /* lighter burgundy: thin lines, "&" */
    --sb-error:#b3261e;
    --sb-selection:color-mix(in srgb,var(--sb-accent-soft) 22%,transparent); /* highlighted text */
    --sb-veil:color-mix(in srgb,var(--sb-bg) 86%,transparent); /* hides most of the beige linen texture */
    --sb-leaves:block;        /* falling burgundy leaves on */
    --sb-floral-bg:#f3eee4;   /* background of every section */
}
/* Sage green & linen (the original look, tag sage-green-v1) */
:root[data-theme="sage"]{
    --sb-bg:#ece4d4;
    --sb-paper:#fbf6ec;
    --sb-ink:#3e3a31;
    --sb-muted:#6e675a;
    --sb-faint:#938b7b;
    --sb-accent:#586241;
    --sb-accent-soft:#6f7956;
    --sb-error:#8b4137;
    --sb-selection:#e3a9b266;
    --sb-veil:transparent;    /* full linen texture */
    --sb-leaves:none;         /* no falling leaves (set to block to add them) */
    --sb-floral-bg:var(--sb-bg);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--sb-bg);-webkit-text-size-adjust:100%}
/* Scrolling moves one section at a time. Sections taller than the screen can still be scrolled within. */
html{scroll-snap-type:y mandatory}main>section{scroll-snap-align:start;scroll-snap-stop:always}
body{margin:0;font:400 16px/1.5 var(--sb-body);color:var(--sb-ink);background:var(--sb-bg);overflow-x:hidden}
button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}
[hidden]{display:none!important}a{color:inherit}img{max-width:100%}
::selection{background:var(--sb-selection);color:var(--sb-ink)}
:focus-visible{outline:2px solid var(--sb-accent);outline-offset:4px}
.sb-theme{position:relative;min-height:100vh;overflow-x:clip;background:linear-gradient(var(--sb-veil),var(--sb-veil)),url('../images/linen.webp') 0 0/320px 320px repeat var(--sb-bg)}
.sb-theme::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(120% 55% at 50% 0%,color-mix(in srgb,var(--sb-paper) 30%,transparent),transparent 55%)}
.sb-theme>*{position:relative;z-index:1}
.sb-languages{position:fixed;right:20px;top:max(20px,env(safe-area-inset-top));z-index:40;display:flex;gap:2px;padding:3px;border:1px solid var(--sb-line);border-radius:2px;background:var(--sb-paper);box-shadow:0 8px 22px -12px var(--sb-shadow);flex-wrap:wrap;max-width:calc(100vw - 40px)}
.sb-languages a{font:10px/1.5 var(--sb-body);letter-spacing:.15em;text-decoration:none;padding:6px 10px}
.sb-languages a[aria-current=page]{background:var(--sb-accent);color:var(--sb-paper)}
/* Page frame: the standard theme for every section. Cream background, burgundy borders at the top and bottom, half sprigs
 * at the screen edges and a pale flower in the centre. It's designed at 390 × 844 (an iPhone) and scales as one unit so it
 * fits one screen on any device. --stage-w is the frame width: as wide as the screen allows while short enough to fit its
 * height, but never below 300px (readable text). If a section's content needs more room, the frame grows taller instead of
 * running into the borders. */
.sb-floral{--stage-w:min(100vw,max(calc(100vh * 390 / 844),300px));--stage-w:min(100vw,max(calc(100svh * 390 / 844),300px));--border-w:min(100vw,calc(var(--stage-w) * 1.6));position:relative;display:grid;place-items:center;min-height:100vh;min-height:100svh;overflow:hidden;background:var(--sb-floral-bg)}
.sb-floral__stage{position:relative;width:var(--stage-w);min-height:calc(var(--stage-w) * 844 / 390)}
/* Borders reach the screen edges where possible (up to 1.6× the frame width) so they never end in a visible cut on phones and tablets. */
.sb-floral__border,.sb-floral__side,.sb-floral__center{position:absolute;height:auto;pointer-events:none;user-select:none;-webkit-user-drag:none}
.sb-floral__border{z-index:1;left:50%;width:var(--border-w);max-width:none;translate:-50% 0}.sb-floral__border--top{top:0}.sb-floral__border--bottom{bottom:0}
/* The sprigs sit half hidden at the screen edges, sized with the frame. */
.sb-floral__side{z-index:1;top:50%;width:calc(var(--stage-w) * .36)}.sb-floral__side--left{left:0;translate:-50% -50%}.sb-floral__side--right{right:0;translate:50% -50%}
.sb-floral__center{z-index:0;top:50%;left:50%;width:auto;height:72%;translate:-50% -50%}
/* Content: 84% of the frame wide, between the top and bottom borders (clear of their central garlands); its blocks spread
 * evenly from top to bottom. Blocks level with the side sprigs or the bottom corner flowers stay narrower (57–64% of the
 * frame, i.e. 67.9–76cqw). Every size inside is in cqw of this box. */
.sb-floral__content{position:relative;z-index:2;width:84%;min-height:calc(var(--stage-w) * 844 / 390);margin:0 auto;padding:max(calc(var(--stage-w) * .1948),calc(var(--border-w) * .165)) 0 max(calc(var(--stage-w) * .3787),calc(var(--border-w) * .14));container-type:inline-size;display:flex;flex-direction:column;align-items:center;justify-content:space-between;row-gap:calc(var(--stage-w) * .04);text-align:center}
.sb-floral__logo{display:block;width:35cqw;height:auto;margin:0;user-select:none;-webkit-user-drag:none}
/* Bible verse: italic words in quotation marks, the reference underneath in small capitals. */
.sb-verse{max-width:78.6cqw;margin:0;display:flex;flex-direction:column;align-items:center}.sb-verse .sb-inv__quote{margin:0;font-style:italic}
.sb-verse__ref{margin:1.4cqw 0 0;font:max(9px,3.66cqw)/1.5 var(--sb-body);letter-spacing:.24em;text-transform:uppercase;color:var(--sb-muted)}
.sb-floral__invite{max-width:67.9cqw}
.sb-floral__content .sb-inv__quote{font-size:6.1cqw}.sb-floral__content .sb-inv__body:not(.sb-inv__quote){font-size:5.84cqw}.sb-floral__content .sb-inv__hosts{margin:0 0 2.2cqw;font:500 max(12px,5.3cqw)/1.5 var(--sb-display);text-transform:none;font-variant:small-caps;letter-spacing:.07em;color:var(--sb-ink)}.sb-inv__hosts-amp{font-style:italic;font-variant:normal;letter-spacing:0;font-size:1.12em;color:var(--sb-accent)}
/* The names are the focal point: below the sprigs, so they can use the full width and be larger. */
.sb-floral__content .sb-inv__names{margin:0;font-size:calc(13cqw * var(--sb-name-fit,1))}
/* Countdown under the names, 57% of the frame wide (clear of the bottom corner flowers). */
.sb-floral__content .sb-countdown{width:67.9cqw;margin:0;gap:2.7cqw}.sb-floral__content .sb-countdown__circle span{font-size:6.1cqw}
.sb-floral__content .sb-countdown p{margin:1.76cqw 0 0;font-size:max(6.5px,2.31cqw);letter-spacing:.12em}
.sb-mute{position:fixed;left:20px;bottom:max(20px,env(safe-area-inset-bottom));z-index:40;width:42px;height:42px;border-radius:50%;border:1px solid var(--sb-line-strong);background:var(--sb-paper);color:var(--sb-accent);display:grid;place-items:center;box-shadow:0 8px 22px -12px var(--sb-shadow);transition:transform .25s,background .25s}
.sb-mute:hover{transform:scale(1.07);background:var(--sb-bg)}.sb-mute[aria-pressed=false]{opacity:.8}
.sb-mute[aria-pressed=true] .sb-mute__off,.sb-mute[aria-pressed=false] .sb-mute__on{display:none}
.sb-heading{text-align:center;margin:0}
.sb-eyebrow{margin:0 0 12px;font:10px/1.5 var(--sb-body);letter-spacing:.34em;text-transform:uppercase;color:var(--sb-accent)}
.sb-display{margin:0;font:400 clamp(29px,6.2vw,48px)/1.2 var(--sb-display);overflow-wrap:anywhere}
.sb-inv__hosts{margin:0 0 3cqw;font:clamp(12px,3.3cqw,20px)/1.65 var(--sb-body);letter-spacing:.09em;text-transform:uppercase;color:var(--sb-muted);overflow-wrap:anywhere;max-width:100%;flex-shrink:0}
.sb-inv__hosts p{margin:0}.sb-inv__hosts p+p{margin-top:1.6cqw}.sb-inv__body{margin:0;font:clamp(16px,4.5cqw,28px)/1.65 var(--sb-display);overflow-wrap:anywhere;max-width:100%;text-align:center;flex-shrink:0}
.sb-inv__body:empty{display:none}.sb-inv__body:not(:empty)+.sb-inv__body:not(:empty){margin-top:1.2cqw}
.sb-inv__quote{font-size:clamp(17px,4.8cqw,30px);margin-bottom:3cqw}
.sb-inv__rule{width:46%;height:1px;flex-shrink:0;background:linear-gradient(90deg,transparent,var(--sb-accent-soft),transparent);margin:3.8cqw 0 3.2cqw}
.sb-inv__names{margin:0;font:400 calc(clamp(34px,9.4cqw,72px) * var(--sb-name-fit,1))/1.2 var(--sb-script);max-width:100%;display:flex;align-items:baseline;justify-content:center;gap:.08em;white-space:nowrap;flex-shrink:0}
.sb-inv__names.is-stacked{flex-direction:column;align-items:center;white-space:normal;width:100%}.sb-inv__names.is-stacked>[data-live-field]{max-width:100%;overflow-wrap:anywhere}
.sb-inv__amp{font:italic .46em/1.18 var(--sb-display);color:var(--sb-accent-soft);margin:0 .35em;white-space:nowrap}
.sb-countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,3vw,26px)}
.sb-countdown__circle{aspect-ratio:1;display:grid;place-items:center;border-radius:50%;border:1px solid var(--sb-line)}
.sb-countdown__circle span{font:400 clamp(25px,7vw,46px)/1 var(--sb-display);font-variant-numeric:lining-nums tabular-nums}
.sb-countdown p{margin:14px 0 0;font:9px/1.5 var(--sb-body);letter-spacing:.28em;text-transform:uppercase;color:var(--sb-faint);text-align:center}
.sb-paper{position:relative;background:var(--sb-paper);border:1px solid var(--sb-line);border-radius:3px;padding:clamp(26px,5vw,44px);box-shadow:0 24px 50px -38px var(--sb-shadow);text-align:center}
.sb-paper::before{content:"";position:absolute;inset:7px;border:1px solid var(--sb-line-faint);pointer-events:none}
.sb-link{display:inline-block;font:10px/1.5 var(--sb-body);letter-spacing:.24em;text-transform:uppercase;text-decoration:none;padding:10px 3px;border:0;border-bottom:1px solid var(--sb-line-strong);background:transparent;color:var(--sb-accent);overflow-wrap:anywhere;max-width:100%}
.sb-prog{position:relative;display:grid;gap:clamp(26px,5vw,40px);margin:0;padding:0;--sb-rail:clamp(64px,15vw,86px)}
.sb-prog::before{content:"";position:absolute;left:calc(var(--sb-rail)/2);top:10px;bottom:10px;width:1px;background:linear-gradient(transparent,var(--sb-line-strong) 10%,var(--sb-line-strong) 90%,transparent)}
.sb-prog__group{display:contents}
.sb-prog__row{position:relative;display:grid;grid-template-columns:var(--sb-rail) minmax(0,1fr);gap:clamp(12px,3vw,22px);align-items:center}
.sb-prog__mark{position:relative;z-index:1;display:grid;place-items:center;width:var(--sb-rail);height:var(--sb-rail);background:radial-gradient(closest-side,var(--sb-bg) 74%,transparent)}.sb-prog__mark img{display:block;max-width:84%;max-height:84%;width:auto;height:auto;object-fit:contain}
.sb-prog__time{margin:0 0 5px;font:10px/1.5 var(--sb-body);letter-spacing:.26em;text-transform:uppercase;color:var(--sb-accent)}
.sb-prog__title{margin:0 0 6px;font:400 clamp(19px,3.4vw,25px)/1.5 var(--sb-display)}
.sb-prog__text{margin:0;font:14px/1.75 var(--sb-body);color:var(--sb-muted);overflow-wrap:anywhere}
/* Headings inside the frames (Celebration, Gifts, RSVP): small muted capitals above a serif title. The title stays within the
 * middle 50% (59.5cqw), clear of the top border's corner flowers; long titles wrap onto two balanced lines. */
.sb-floral__content .sb-eyebrow{margin:0 0 2.4cqw;font-size:max(9px,3.4cqw);color:var(--sb-muted)}.sb-floral__content .sb-display{max-width:59.5cqw;margin-inline:auto;font-size:11cqw;text-wrap:balance}
/* Celebration: the two events centred and spread evenly below the heading, narrow enough to clear the side sprigs. */
.sb-programme .sb-prog{flex:1;width:67.9cqw;display:flex;flex-direction:column;justify-content:space-evenly;gap:6cqw}.sb-programme .sb-prog::before{display:none}
.sb-programme .sb-prog__row{display:flex;flex-direction:column;align-items:center;gap:2.4cqw}.sb-programme .sb-prog__mark{width:20cqw;height:20cqw;background:none}
.sb-programme .sb-prog__time{margin:0 0 1.4cqw;font-size:max(9px,3.4cqw);color:var(--sb-muted)}.sb-programme .sb-prog__title{margin:0 0 1.2cqw;font-size:8.2cqw;line-height:1.25}
.sb-programme .sb-prog__text{font-size:max(12px,4.8cqw);line-height:1.5}.sb-programme .sb-link{margin-top:1.6cqw;padding:2.2cqw 1cqw;font-size:max(9px,3.3cqw);color:var(--sb-muted)}
/* Gifts: heading, message, then the bank details card, narrow enough to clear the side sprigs. */
.sb-gifts__note{max-width:67.9cqw;margin:0;font:5.6cqw/1.7 var(--sb-display);overflow-wrap:anywhere}.sb-gifts__note:empty{display:none}
.sb-gift-methods{width:67.9cqw;display:grid;gap:3cqw}.sb-gift-method{padding:6cqw 5cqw;background:var(--sb-floral-bg)}.sb-gift-method .sb-eyebrow{margin:0 0 2cqw}
.sb-gift-method>p{margin:0 0 2cqw;font:5.4cqw/1.6 var(--sb-display);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.sb-gift-method .sb-link{padding:2cqw 1cqw;font-size:max(9px,3.1cqw);color:var(--sb-muted)}
.is-copy-status{margin:0;text-align:center;font:max(11px,3.6cqw)/1.5 var(--sb-body);color:var(--sb-muted)}.is-copy-status:empty{display:none}
/* RSVP: heading, intro line, then the form, narrow enough to clear the side sprigs. Form fields use 16px text: smaller
 * text makes iPhones zoom in when a field is tapped. */
.sb-rsvp__lede{max-width:76cqw;margin:0;font:5cqw/1.55 var(--sb-display);color:var(--sb-muted)}.sb-rsvp{width:70cqw}
.bl-rsvp-form{display:grid;gap:2.4cqw;text-align:left}.bl-field{min-width:0}.bl-label,.bl-rsvp-form__eyebrow{display:block;margin:0 0 1cqw;font:max(9px,3cqw)/1.45 var(--sb-body);letter-spacing:.2em;text-transform:uppercase;color:var(--sb-muted)}
.bl-input{width:100%;min-width:0;padding:2.2cqw 3cqw;font:16px/1.35 var(--sb-body);color:var(--sb-ink);background:var(--sb-bg);border:1px solid var(--sb-line);border-radius:2px}.bl-input:focus{border-color:var(--sb-accent);outline:0}.bl-input[readonly]{background:color-mix(in srgb,var(--sb-bg) 50%,transparent)}textarea.bl-input{resize:vertical;display:block}
.bl-submit{justify-self:center;width:auto;max-width:100%;padding:3cqw 4.4cqw;font:max(10px,3.1cqw)/1.5 var(--sb-body);letter-spacing:.13em;white-space:nowrap;text-transform:uppercase;color:var(--sb-paper);background:var(--sb-accent);border:0;border-radius:2px}.bl-submit:disabled{cursor:wait;opacity:.8}
.bl-rsvp-form__heading{margin:0}.bl-rsvp-form__party{font:400 6cqw/1.4 var(--sb-display);overflow-wrap:anywhere}
select.bl-input{cursor:pointer}select.bl-input:invalid{color:var(--sb-faint)}select.bl-input option{color:var(--sb-ink)}
/* Attendance choice: two cards side by side in the theme colours. Unchosen: soft cream with a burgundy-tinted border and italic
 * serif wording; chosen: filled with the theme burgundy, cream text, and its little ring becomes a filled dot. */
.bl-choice{margin:0;padding:0;border:0;min-width:0}.bl-choice legend{padding:0}.bl-choice__options{display:grid;grid-template-columns:1fr 1fr;gap:2.4cqw}
.bl-choice__option{position:relative;display:block;cursor:pointer;-webkit-tap-highlight-color:transparent}.bl-choice__option input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.bl-choice__card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9cqw;height:100%;min-height:14cqw;padding:1.7cqw 2cqw;text-align:center;font:italic 400 4.7cqw/1.25 var(--sb-display);color:var(--sb-accent);background:color-mix(in srgb,var(--sb-paper) 70%,transparent);border:1px solid var(--sb-line-strong);border-radius:3px;transition:background .25s,color .25s,border-color .25s,box-shadow .25s}
.bl-choice__card::before{content:"";width:2.8cqw;height:2.8cqw;flex-shrink:0;border:1px solid currentColor;border-radius:50%;transition:background .25s,box-shadow .25s}
.bl-choice__option:hover .bl-choice__card{border-color:var(--sb-accent)}.bl-choice__option input:focus-visible+.bl-choice__card{outline:2px solid var(--sb-accent);outline-offset:2px}
.bl-choice__option input:checked+.bl-choice__card{color:var(--sb-floral-bg);background:var(--sb-accent);border-color:var(--sb-accent);box-shadow:0 8px 18px -12px var(--sb-shadow)}.bl-choice__option input:checked+.bl-choice__card::before{background:currentColor;box-shadow:inset 0 0 0 .6cqw var(--sb-accent)}
/* "How many guests will attend?" beside a compact number box, so accepting barely adds height. */
.bl-field[data-persons-field]{display:grid;grid-template-columns:minmax(0,1fr) 22cqw;align-items:center;gap:3cqw}.bl-field[data-persons-field] .bl-label{margin:0}
/* The "0 / 120" counter sits on the label's line, at the right. */
.bl-field--message{position:relative}.bl-field--message .bl-label{padding-right:14cqw}.bl-field--message .bl-counter{position:absolute;top:0;right:0;margin:0;line-height:1.45}
.bl-deadline{margin:0 0 2.4cqw;text-align:center}.bl-deadline .bl-rsvp-form__eyebrow{margin:0}.bl-deadline .bl-rsvp-form__party{margin:0}
.bl-guest-card{padding:2cqw 3cqw;text-align:center;border:1px solid var(--sb-line);border-radius:3px;background:color-mix(in srgb,var(--sb-paper) 60%,transparent);font:max(12px,4.2cqw)/1.6 var(--sb-body);color:var(--sb-muted)}.bl-guest-card p{margin:0}.bl-guest-card strong{font-weight:500;color:var(--sb-ink);overflow-wrap:anywhere}.bl-guest-card__icon{vertical-align:-2px;margin-right:5px;color:var(--sb-muted)}
.bl-hint{margin:0;font:max(11px,3.6cqw)/1.5 var(--sb-body);color:var(--sb-error);text-align:center}.bl-counter{margin:1cqw 0 0;text-align:right;font:max(10px,3.2cqw)/1.4 var(--sb-body);letter-spacing:.06em;color:var(--sb-faint)}
.bl-rsvp-error{color:var(--sb-error);font:max(12px,3.8cqw)/1.6 var(--sb-body);margin:0}
/* Thank-you screen (replaces the RSVP heading and form after confirming): a personal thank-you, then "Happily Ever After", the
 * names, the date and the dress code picture (accepted) or a short "you will be missed" (declined). Centred in the frame and
 * narrow enough to clear the side sprigs. */
.sb-rsvp-section.is-thanked .sb-floral__content{justify-content:center}.sb-thanks,.sb-thanks__yes,.sb-thanks__no{display:flex;flex-direction:column;align-items:center;gap:5cqw}.sb-thanks{width:67.9cqw}
.sb-thanks__title{margin:0;font:400 8.5cqw/1.25 var(--sb-display);text-wrap:balance;outline:0}.sb-thanks__text{margin:0;font:5cqw/1.6 var(--sb-display);color:var(--sb-muted);text-wrap:balance}.sb-thanks__sign{margin:-2.4cqw 0 0;font:italic 4.8cqw/1.5 var(--sb-display);color:var(--sb-muted)}
.sb-ending-copy{margin:0;font:italic 6.4cqw/1.6 var(--sb-display)}.sb-ending-names{margin:0;display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;font:400 10.4cqw/1.15 var(--sb-script);overflow-wrap:anywhere}.sb-thanks .sb-eyebrow{margin:0;font-size:max(9px,3.4cqw);letter-spacing:.28em}.sb-dress-art{width:100%;line-height:0;pointer-events:none}.sb-dress-art img{display:block;width:100%;height:auto}
html[lang=ar]{--sb-script:Amiri,serif;--sb-display:Amiri,serif;--sb-body:Tajawal,system-ui,sans-serif}
html[lang=hy]{--sb-script:"Silk Armenian",serif;--sb-display:"Silk Armenian",serif}
html[lang=ar] :is(p,span,a,label,button,h2,h3){letter-spacing:normal!important}
html[lang=ar] .sb-inv__names{font-size:calc(clamp(30px,8cqw,64px) * var(--sb-name-fit,1));line-height:1.45}html[lang=ar] .sb-inv__body{font-size:clamp(17px,4.4cqw,28px);line-height:1.85}html[lang=ar] .sb-inv__quote{font-size:clamp(18px,4.8cqw,30px)}html[lang=ar] .sb-gifts__note{line-height:1.95}
html[dir=rtl] .sb-prog::before{left:auto;right:calc(var(--sb-rail)/2)}
@media(prefers-reduced-motion:no-preference){.sb-animated [data-silk-reveal]{opacity:0;transform:translateY(22px);transition:opacity .9s,transform .9s}.sb-animated [data-silk-reveal].is-visible{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(max-width:600px){.sb-languages{right:20px}}