/* r1-v3 hero options. Shared source; copied into each hero folder as css/hero.css */
.nav{position:absolute}
.nav .brand{display:flex;align-items:center;gap:12px;font:600 22px/1 var(--sans)}
.brand .mark{display:grid;place-items:center;width:40px;height:40px;border-radius:8px;background:var(--ember);color:#fff;font:700 17px/1 var(--serif)}
.brand .bname{display:block}
.brand .bname small{font-size:10px;margin-top:3px}
.hero{min-height:100vh;min-height:100svh;display:flex;align-items:center;background:var(--night) url(../media/snow-poster.webp) center/cover}
.hero .wrap{padding-top:96px;padding-bottom:56px}
.hero::after{background:linear-gradient(90deg,rgba(14,22,30,.86) 0%,rgba(14,22,30,.6) 50%,rgba(14,22,30,.3) 100%)}
.kicker{font:600 13px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--warm);margin:0 0 10px}
.est{color:var(--muted)}
.hero .est{background:rgba(255,255,255,.92)}
.inst{font:500 14px/1.3 var(--sans);color:#cfd7de;margin:14px 0 0}
.cta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:22px}
.cta .under-btn,.ch-foot .under-btn{color:#dfe5ea}
.btn.big{padding:18px 30px;font-size:18px}
/* A */
.A .hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:center}
.h1a{margin:0;font:500 24px/1.1 var(--serif);color:#fff;display:flex;flex-direction:column}
.h1a .lead{font:500 italic 28px/1 var(--serif);color:var(--warm);display:flex;align-items:center;gap:14px}
.h1a .lead .est{font-style:normal}
.h1a .big{font:600 150px/.95 var(--serif);letter-spacing:-5px;color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.45)}
.h1a .lead2{font:500 38px/1.15 var(--serif);margin-top:6px}
.plusline{font:500 22px/1.3 var(--sans);color:#fff;margin:14px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.letter.slim{padding:44px 26px 24px;transform:rotate(2deg)}
.letter.slim::before{width:110px;margin-left:-55px}
.letter.slim .dear-h{font-size:48px}
.letter.slim .dear-h span{font-size:22px;margin-top:10px}
.letter.slim .stamp{width:84px;height:84px;top:-26px;right:-14px}
.letter.slim .sig{font-size:34px}
/* B */
.B .hero .wrap{display:flex;justify-content:center}
.env-wrap{position:relative;width:min(960px,100%);padding:0 0 84px}
.envelope{position:absolute;left:-28px;right:28px;top:48px;bottom:0;background:#e6d9b8;border-radius:4px;transform:rotate(-2.5deg);box-shadow:0 30px 60px -20px rgba(0,0,0,.6);overflow:hidden}
.envelope .addr{position:absolute;left:24px;bottom:12px;font:700 28px/1.05 var(--hand);color:var(--pen)}
.envelope .addr small{display:block;font:500 15px/1.3 var(--sans);color:var(--muted)}
.envelope .flap{position:absolute;inset:0 0 auto 0;height:60px;background:linear-gradient(170deg,#d8c9a2 50%,transparent 50%)}
.cheque{position:relative;background:var(--paper);color:var(--ink);border-radius:4px;padding:30px 40px 28px;box-shadow:0 30px 60px -20px rgba(0,0,0,.65);transform:rotate(.6deg);border-left:10px solid var(--pen);
 background-image:repeating-linear-gradient(135deg,rgba(31,63,143,.05) 0 10px,transparent 10px 20px),radial-gradient(circle at 20% 10%,#fffaf0,transparent 60%)}
.cheque .stamp{width:96px;height:96px;top:auto;bottom:34px;right:60px;opacity:.85}
.ch-top{display:flex;justify-content:space-between;font:600 14px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.lbl{font:600 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:12px}
.ch-row{margin-top:22px;display:flex;align-items:baseline;border-bottom:2px solid var(--ink);padding-bottom:6px;max-width:calc(100% - 340px)}
.payee{font:700 52px/1 var(--hand);color:var(--pen)}
.ch-amt{position:absolute;right:40px;top:80px;display:flex;align-items:baseline;gap:8px;border:2px solid var(--ink);background:#fff;padding:8px 16px;border-radius:3px}
.ch-amt .words{font:italic 500 20px/1 var(--serif);color:var(--muted)}
.ch-amt .num{font:600 46px/1 var(--serif);color:var(--ember-d)}
.cheque>.est{display:inline-block;margin-top:18px}
.ch-memo{display:flex;align-items:baseline;margin-top:20px;border-bottom:1.5px solid var(--ink);padding-bottom:6px;max-width:620px}
.memo{font:700 30px/1.1 var(--hand);color:var(--pen)}
.ch-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:22px}
.cheque .under-btn{color:var(--muted)}
/* C */
.C .hero .wrap{display:flex;justify-content:center}
.split{width:100%;text-align:center}
.split .kicker{margin-bottom:8px}
.h1c{margin:0;font:500 34px/1.1 var(--serif);color:#fff}
.h1c span{font-style:italic;color:var(--warm)}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:22px}
.num-card{background:rgba(247,241,227,.96);color:var(--ink);border-radius:6px;padding:26px 24px 24px;box-shadow:0 24px 50px -22px rgba(0,0,0,.7)}
.num-card .n{font:600 150px/.95 var(--serif);letter-spacing:-5px}
.num-card.one .n{color:var(--ember-d)}
.num-card.two .n{color:var(--pen)}
.num-card p{font:500 24px/1.25 var(--serif);margin:10px 0 14px}
.which-line{font:500 26px/1.2 var(--serif);color:#fff;margin:26px 0 0}
.which-line b{color:var(--warm);font-weight:600}
.split .cta{justify-content:center;margin-top:16px}
.fine{font:500 15px/1.4 var(--sans);color:#dfe5ea;margin:14px 0 0}
.split .inst{margin-top:6px}
/* mobile */
.mbar{display:none}
@media (max-width:760px){
 .hero .wrap{padding-top:78px;padding-bottom:84px}
 .brand .bname small{display:none}
 .nav .btn{display:none}
 .nav .brand{font-size:19px}
 .A .hero .wrap{grid-template-columns:1fr;gap:20px}
 .h1a .lead{font-size:20px}
 .h1a .big{font-size:72px;letter-spacing:-2px}
 .h1a .lead2{font-size:26px}
 .plusline{font-size:17px}
 .cta .under-btn{width:100%}
 .letter.slim{transform:rotate(1deg);padding:30px 18px 16px}
 .letter.slim .dear-h{font-size:36px}
 .letter.slim .dear-h span{font-size:18px;margin-top:6px}
 .letter.slim .stamp{width:64px;height:64px;top:-18px;right:-4px}
 .letter.slim .sig{font-size:28px;margin-top:8px}
 .letter.slim .sig small{display:inline;margin-right:8px}
 .btn.big{width:100%;justify-content:center}
 .env-wrap{padding-bottom:84px}
 .envelope .addr{font-size:22px;left:16px;bottom:10px}
 .envelope{left:-6px;right:6px;top:30px}
 .cheque{padding:20px 16px 18px;border-left-width:6px}
 .cheque .stamp{display:none}
 .ch-row{max-width:100%}
 .payee{font-size:38px}
 .ch-amt{position:static;margin-top:14px;display:flex;justify-content:space-between}
 .ch-amt .num{font-size:34px}
 .memo{font-size:22px}
 .ch-memo{flex-direction:column;gap:4px;margin-top:14px}
 .cheque>.est{margin-top:12px}
 .ch-foot{margin-top:16px}
 .ch-foot .under-btn{width:100%;text-align:center}
 .h1c{font-size:22px}
 .pair{gap:10px;margin-top:14px}
 .num-card{padding:14px 8px 12px}
 .num-card .n{font-size:46px;letter-spacing:-1.5px}
 .num-card p{font-size:15px;margin:6px 0 10px}
 .num-card .est{font-size:10px;padding:3px 6px;white-space:normal}
 .which-line{font-size:19px;margin-top:16px}
 .fine{font-size:13px}
 .mbar{display:block}
}
