/* Old Standard TT (400, 400 italic, 700) and Rye (400) from Google Fonts, self-hosted.
   Both are licensed under the SIL Open Font License 1.1. */
/* cyrillic-ext */
@font-face {
  font-family: 'Old Standard TT';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/old-standard-tt-400-italic-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Old Standard TT';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/old-standard-tt-400-italic-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Old Standard TT';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/old-standard-tt-400-italic-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Old Standard TT';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/old-standard-tt-400-italic-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Old Standard TT';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/old-standard-tt-400-italic-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Old Standard TT';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/old-standard-tt-400-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Old Standard TT';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/old-standard-tt-400-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Old Standard TT';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/old-standard-tt-400-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Old Standard TT';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/old-standard-tt-400-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Old Standard TT';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/old-standard-tt-400-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Old Standard TT';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/old-standard-tt-700-cyrillic-ext.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Old Standard TT';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/old-standard-tt-700-cyrillic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Old Standard TT';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/old-standard-tt-700-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Old Standard TT';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/old-standard-tt-700-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Old Standard TT';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/old-standard-tt-700-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Rye';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/rye-400-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Rye';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/fonts/rye-400-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ============ TOKENS ============ */
:root{
  --table:#2a1f17;          /* the pub table the bill lies on */
  --table-grain:#3a2b20;
  --paper:#e7d4a4;          /* aged bill paper */
  --paper-deep:#d9c28a;
  --ink:#231a12;            /* old press ink */
  --ink-soft:#4b3b2c;
  --green:#0f4d3a;          /* Repton green */
  --gold:#b8891f;           /* Repton gold */
  --ox:#8a1f1f;             /* oxblood: gloves, stamp */
  --sepia-a:#8d6b45;
  --sepia-b:#3e2a19;
  --matte:#f4ead2;          /* white border of an old print */
  --display:"Rye","Georgia","Times New Roman",serif;
  --text:"Old Standard TT","Times New Roman",Georgia,serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --table:#120d0a; --table-grain:#1d1510;
    --paper:#dcc794; --paper-deep:#c9b27a; --matte:#efe3c6;
  }
}
:root[data-theme="dark"]{
  --table:#120d0a; --table-grain:#1d1510;
  --paper:#dcc794; --paper-deep:#c9b27a; --matte:#efe3c6;
}

/* ============ BASE ============ */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; color:var(--ink); font-family:var(--text); font-size:1.125rem; line-height:1.55;
  background-color:var(--table);
  background-image:
    repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0 2px, transparent 2px 9px),
    linear-gradient(180deg, var(--table-grain), var(--table) 40%, var(--table));
  padding:clamp(12px,3vw,40px) clamp(8px,2vw,24px) clamp(40px,6vw,80px);
}
img{max-width:100%;height:auto}
a{color:var(--green)}
a:hover{color:var(--ox)}
.aico-logo-link{display:block; flex:none; line-height:0}
.social{display:flex; flex-wrap:wrap; align-items:baseline; justify-content:center; gap:.5em 1.2em; margin-top:1.4rem; font-size:.95rem; letter-spacing:.04em}
.social a{color:var(--ink); text-decoration:none; border-bottom:1px solid var(--gold); padding-bottom:.1em}
.social a:hover{color:var(--ox)}
.social .site{letter-spacing:.06em}
::selection{background:var(--gold);color:var(--ink)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

/* language switching */
html[data-lang="en"] .ru{display:none !important}
html[data-lang="ru"] .en{display:none !important}

.lang{
  position:fixed; top:14px; right:14px; z-index:10; display:flex; gap:0;
  border:1.5px solid var(--gold); background:var(--paper); border-radius:2px;
  box-shadow:0 4px 14px rgba(0,0,0,.35);
}
.lang button{
  font:700 .85rem/1 var(--text); letter-spacing:.06em; padding:.55em .9em; border:0; cursor:pointer;
  background:transparent; color:var(--ink-soft);
}
.lang button[aria-pressed="true"]{background:var(--green); color:var(--paper)}
.lang button + button{border-left:1.5px solid var(--gold)}

/* ============ THE SHEET ============ */
.sheet{
  max-width:920px; margin:0 auto; background:var(--paper); color:var(--ink);
  padding:clamp(18px,4.5vw,52px) clamp(16px,5vw,60px) clamp(28px,5vw,56px);
  position:relative;
  background-image:
    radial-gradient(ellipse at 12% 8%, rgba(120,80,30,.18), transparent 38%),
    radial-gradient(ellipse at 88% 92%, rgba(120,80,30,.16), transparent 40%),
    radial-gradient(circle at 70% 18%, rgba(80,50,20,.10), transparent 22%),
    repeating-linear-gradient(0deg, rgba(0,0,0,.018) 0 1px, transparent 1px 3px);
  box-shadow:0 30px 60px rgba(0,0,0,.55), 0 2px 0 var(--paper-deep);
}
.sheet::before{ /* double ruled border, fight-bill style */
  content:""; position:absolute; inset:9px; pointer-events:none;
  border:3px double var(--ink);
  outline:1px solid var(--ink); outline-offset:-8px;
}
.inner{position:relative}

/* ============ MASTHEAD ============ */
.mast{text-align:center; padding:clamp(6px,2vw,18px) 0 clamp(14px,3vw,26px); position:relative}
.presents{font-style:italic; font-size:1rem; color:var(--ink-soft); margin:0 0 .6rem}
.gloves{width:clamp(88px,14vw,128px); height:auto; display:block; margin:0 auto .4rem}
h1{
  font-family:var(--display); font-weight:400; text-transform:uppercase; color:var(--ink);
  font-size:clamp(2.6rem,9.5vw,6.4rem); line-height:.92; letter-spacing:.01em; margin:0;
  text-shadow:2px 2px 0 var(--paper-deep);
}
h1 .dash{display:block; font-family:var(--text); font-size:.42em; line-height:1.3; color:var(--ox); letter-spacing:.35em}
.sub{
  font-family:var(--text); font-style:italic; font-size:clamp(1.15rem,2.6vw,1.6rem); margin:.9rem auto 0; max-width:34ch;
}
.when{margin:1.1rem auto 0; font-weight:700; font-size:1.05rem; letter-spacing:.02em}
.when span{display:block}
.fineprint{margin:.5rem 0 0; font-size:.92rem; color:var(--ink-soft); font-style:italic}

.mast p,.foot p{margin-left:auto;margin-right:auto}
.stamp{ /* rubber stamp, top right of masthead */
  position:absolute; right:clamp(-6px,1vw,8px); top:clamp(-4px,1vw,10px);
  transform:rotate(9deg); color:var(--ox); border:3px double var(--ox); border-radius:6px;
  padding:.35em .6em; font:700 .72rem/1.15 var(--text); text-transform:uppercase; letter-spacing:.12em;
  text-align:center; opacity:.82; mix-blend-mode:multiply;
  mask-image:radial-gradient(circle at 40% 60%, #000 55%, rgba(0,0,0,.6) 100%);
}
.stamp b{display:block; font-size:1.35em; letter-spacing:.06em}
@media (max-width:640px){ .stamp{position:static; display:inline-block; margin:12px auto 0; transform:rotate(-4deg)} }

/* ============ SECTIONS ============ */
.section{padding:clamp(22px,4vw,40px) 0 0}
h2{
  font-family:var(--display); font-weight:400; text-transform:uppercase; font-size:clamp(1.25rem,3vw,1.9rem);
  letter-spacing:.03em; margin:0 0 1.1rem; color:var(--green);
  display:grid; grid-template-columns:1fr auto 1fr; gap:clamp(10px,2vw,22px); align-items:center; text-align:center;
}
h2::before,h2::after{content:""; height:5px; border-top:2px solid var(--ink); border-bottom:1px solid var(--ink)}
h2 small{display:block; font-family:var(--text); font-style:italic; text-transform:none; letter-spacing:0; font-size:.62em; color:var(--ink-soft); margin-top:.15em}
p{margin:0 0 1em; max-width:68ch}
.lede{font-size:1.16rem}
.two{display:grid; grid-template-columns:1.25fr .85fr; gap:clamp(18px,3vw,36px); align-items:start}
@media (max-width:700px){ .two{grid-template-columns:1fr} }

/* ============ OLD PHOTOGRAPHS ============ */
.photo{
  margin:0; background:var(--matte); padding:8px 8px 10px; box-shadow:0 6px 14px rgba(0,0,0,.28), 0 1px 0 rgba(255,255,255,.5) inset;
  transform:rotate(var(--tilt,0deg)); position:relative;
}
.photo::before,.photo::after{ /* bits of yellowed tape */
  content:""; position:absolute; width:52px; height:16px; background:rgba(214,190,120,.75); top:-8px;
  box-shadow:0 1px 2px rgba(0,0,0,.2); transform:rotate(-40deg);
}
.photo::before{left:-14px}
.photo::after{right:-14px; transform:rotate(40deg)}
.print{
  aspect-ratio:var(--ratio,4/3); position:relative; overflow:hidden;
  background:
    var(--img, none) center/cover no-repeat,
    radial-gradient(ellipse at 35% 30%, rgba(255,240,200,.22), transparent 55%),
    radial-gradient(rgba(40,25,10,.28) .9px, transparent 1.3px) 0 0/5px 5px,
    linear-gradient(155deg, var(--sepia-a), var(--sepia-b));
  filter:sepia(.35) contrast(1.05);
}
.photo.fresh .print{filter:sepia(.16) contrast(1.04)}
.print::after{content:""; position:absolute; inset:0; box-shadow:inset 0 0 40px rgba(20,10,0,.55)}
.print .empty{ /* shown only while no picture is dropped in */
  position:absolute; inset:0; display:grid; place-items:center; text-align:center; padding:10px;
  color:rgba(255,236,190,.78); font-style:italic; font-size:.9rem; line-height:1.3;
}
.photo[style*="--img"] .print .empty,.frame[style*="--img"] .print .empty{display:none}
.photo figcaption{font-size:.86rem; line-height:1.3; padding:.55em .15em 0; color:var(--ink-soft); text-align:center; font-style:italic}

.strip{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,2.5vw,26px); margin:1.6rem 6px .4rem}
@media (max-width:560px){ .strip{grid-template-columns:1fr; max-width:340px; margin-left:auto; margin-right:auto} }

/* ============ FILM STRIP ============ */
.film{
  margin:1.2rem 0 .3rem; padding:18px 12px; background:#0e0b09; color:#f1e6c8; position:relative;
  background-image:
    radial-gradient(circle, transparent 0 3px, #0e0b09 3.5px) 0 0/22px 12px repeat-x,
    radial-gradient(circle, transparent 0 3px, #0e0b09 3.5px) 0 100%/22px 12px repeat-x;
  box-shadow:0 8px 20px rgba(0,0,0,.35);
}
.film::before,.film::after{ /* sprocket holes */
  content:""; position:absolute; left:0; right:0; height:8px;
  background:radial-gradient(circle at 50% 50%, var(--paper) 0 2.6px, transparent 3px) 0 0/22px 8px repeat-x;
}
.film::before{top:5px} .film::after{bottom:5px}
.frames{display:grid; grid-template-columns:repeat(2,1fr); gap:10px}
@media (max-width:560px){ .frames{grid-template-columns:1fr} }
.frame{margin:0; background:#1b1611; border:1px solid #3b3128}
.frame .print{filter:none; --ratio:16/9;
  background:
    var(--img, none) center/cover no-repeat,
    radial-gradient(ellipse at 50% 40%, rgba(255,230,170,.16), transparent 60%),
    linear-gradient(180deg,#2b2219,#0f0c0a);
}
.frame .print .empty{color:rgba(255,236,190,.6)}
.frame figcaption{font-size:.84rem; padding:.45em .5em .35em; color:#e6d7b1; text-align:center; font-style:italic}
.film-note{font-size:.95rem; font-style:italic; color:var(--ink-soft); margin-top:.9rem}

/* ============ HOSTS ============ */
.hosts{display:grid; grid-template-columns:1fr 1fr; gap:clamp(18px,3vw,36px); align-items:start; margin-top:.4rem}
@media (max-width:600px){ .hosts{grid-template-columns:1fr} }
.host .photo{--ratio:1/1; margin:0 10px 1rem}
.host h3{font-family:var(--text); font-weight:700; font-size:1.2rem; margin:0 0 .25em; text-align:center}
.host p{font-size:1rem; text-align:center; margin:0 auto; max-width:38ch}

/* ============ THE MORNING ============ */
.notice{
  border:2px solid var(--ink); outline:1px solid var(--ink); outline-offset:3px; padding:1rem 1.15rem;
  background:rgba(255,248,225,.45); font-size:1rem;
}
.notice h3{font-family:var(--display); font-weight:400; text-transform:uppercase; font-size:1.05rem; letter-spacing:.06em; margin:0 0 .5em; color:var(--ox)}
.notice ul{margin:0; padding-left:1.1em}
.notice li{margin:.3em 0}
.motto{font-style:italic; font-size:1.2rem; text-align:center; margin:1.4rem auto .2rem; color:var(--green)}

/* ============ AICO SAMPLE REPORT ============ */
.aico{
  margin:1.6rem 0 .2rem; background:#12201a; color:#efe3c3; border:2px solid var(--ink); outline:1px solid var(--gold); outline-offset:3px;
  padding:clamp(14px,2.5vw,22px) clamp(14px,3vw,26px); box-shadow:0 10px 24px rgba(0,0,0,.35);
  font-variant-numeric:tabular-nums;
}
.aico-head{display:flex; flex-wrap:wrap; align-items:center; gap:.4em 1em; border-bottom:1px solid rgba(239,227,195,.25); padding-bottom:.6em; margin-bottom:1rem}
.aico-logo{height:26px; width:auto; display:block; flex:none}
.aico-brand{font-family:var(--display); font-size:1.35rem; letter-spacing:.08em; color:var(--gold)}
.aico-title{font-style:italic; font-size:1rem; flex:1 1 auto}
.aico-tag{font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; border:1px solid rgba(239,227,195,.45); padding:.15em .6em; border-radius:2px; color:#cdbf9a}
.aico-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(16px,3vw,32px)}
@media (max-width:640px){ .aico-grid{grid-template-columns:1fr} }
.scores{display:grid; gap:.7rem; align-content:start}
.score{display:grid; grid-template-columns:7.5em 1fr 2.4em; gap:.7em; align-items:center; font-size:1rem}
.score .bar{height:10px; background:rgba(239,227,195,.14); position:relative}
.score .bar i{position:absolute; inset:0 auto 0 0; width:var(--v); background:linear-gradient(90deg,var(--green) 0,#2f9a6f 60%,var(--gold))}
.score b{text-align:right; font-size:1.15rem; color:var(--gold)}
.stats{display:grid; grid-template-columns:1fr 1fr; gap:.55rem 1rem; align-content:start; font-size:.95rem}
.stat > span{display:block; color:#cdbf9a; font-size:.86rem; min-height:2.5em}
.stat b{font-size:1.25rem; color:#fff6dc}
.stat b span{display:inline; color:inherit; font-size:inherit}
.stat small{font-size:.8em; color:#cdbf9a; font-weight:400}
.aico-chart{margin-top:1.1rem}
.aico-chart figcaption{font-size:.86rem; color:#cdbf9a; font-style:italic; margin-top:.3rem}
.aico-chart svg{width:100%; height:auto; display:block}
.aico-verdict{margin:1rem 0 0; padding-top:.8rem; border-top:1px solid rgba(239,227,195,.25); font-style:italic; max-width:none}
.aico-verdict b{color:var(--gold); font-style:normal}

/* ============ AICO REEL ============ */
.reel{margin:1.6rem 0 0; background:#0e0b09; border:2px solid var(--ink); outline:1px solid var(--gold); outline-offset:3px; padding:10px; box-shadow:0 10px 24px rgba(0,0,0,.35)}
.reel video{display:block; width:100%; height:auto; aspect-ratio:16/9; background:#000}
.reel figcaption{color:#cdbf9a; font-style:italic; font-size:.95rem; text-align:center; padding:.6em .4em .2em}
.reel + .aico{margin-top:1rem}

/* ============ ORDER OF THE DAY ============ */
.bill{margin:0; display:grid; grid-template-columns:auto 1fr; column-gap:clamp(14px,3vw,30px); row-gap:.55em; align-items:baseline; max-width:60ch}
.bill dt{font-weight:700; white-space:nowrap; font-variant-numeric:tabular-nums; letter-spacing:.02em}
.bill dd{margin:0}
.bill dd.walk{font-style:italic; color:var(--ink-soft)}
.after{display:grid; grid-template-columns:auto 1fr; gap:clamp(14px,3vw,28px); align-items:center; margin-top:1.6rem; padding-top:1.2rem; border-top:1px solid var(--ink-soft)}
@media (max-width:520px){ .after{grid-template-columns:1fr; justify-items:center; text-align:center} }
.pint{width:74px; height:auto; flex:none}
.after p{margin:.2em 0}
.bring{margin-top:1.1rem; font-size:1rem; max-width:none; text-wrap:pretty}

/* ============ FOOTER ============ */
.foot{text-align:center; margin-top:clamp(28px,5vw,44px); padding-top:clamp(18px,3vw,26px); border-top:3px double var(--ink)}
.dare{font-family:var(--display); text-transform:uppercase; font-size:clamp(1.9rem,6vw,3.4rem); line-height:1; margin:0; color:var(--ox)}
.foot .sub{margin-top:.5rem}
.rsvp{
  display:inline-block; margin-top:1.2rem; padding:.6em 1.1em; border:1.5px dashed var(--ink-soft); font-size:1rem;
  background:rgba(255,248,225,.5);
}
.credits{font-size:.85rem; color:var(--ink-soft); margin-top:1.3rem; font-style:italic}

/* fields still to fill in */
.fill{background:transparent; color:var(--ox); border-bottom:1.5px dashed var(--ox); padding:0 .1em; font-style:normal}

/* ============ PRINT / PDF ============ */
@page{margin:10mm}
@media print{
  body{background:#fff; padding:0}
  .lang{display:none}
  .sheet{box-shadow:none; max-width:none; margin:0; padding:10mm 12mm; background:var(--paper);
    -webkit-print-color-adjust:exact; print-color-adjust:exact}
  .photo,.frame,.host,.notice,.after,.film{break-inside:avoid}
  .section{break-inside:auto}
}
