@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/caveat-500-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Caveat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/caveat-500-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;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/fraunces-600-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/fraunces-600-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;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/fraunces-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/fraunces-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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/inter-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/inter-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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/inter-500-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/inter-500-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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/inter-600-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/inter-600-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;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/inter-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/inter-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;
}
:root{--paper:#FBFAF7;--cool:#F4F6F8;--ink:#1D2433;--ink2:#4A5263;--mute:#7A8292;--red:#C8322F;--red-soft:#FBE9E8;--blue:#1F5FAE;--blue-soft:#E7EFFA;--green:#2F7D5B;--green-soft:#E5F2EB;--line:#E3E6EB;--gold:#B7862A;--r:16px;--r2:10px;--sh:0 1px 2px rgba(29,36,51,.06),0 6px 22px rgba(29,36,51,.07);--serif:"Fraunces",Georgia,serif;--sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--hand:"Caveat","Comic Sans MS",cursive}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.62 var(--sans);font-feature-settings:"tnum" 1,"cv11" 1}
a{color:var(--blue);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--red)}
img{max-width:100%;height:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 12px;z-index:9}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.18;letter-spacing:-.01em;color:var(--ink)}
h1{font-size:clamp(1.75rem,4.2vw,2.6rem);margin:.2em 0 .35em}
h2{font-size:clamp(1.3rem,2.6vw,1.65rem);margin:1.8em 0 .55em}
h3{font-size:1.15rem;margin:1.4em 0 .4em}

/* masthead: almanac strip + bar */
.masthead{background:#fff;border-bottom:1px solid var(--line)}
.masthead__strip{display:flex;justify-content:space-between;gap:12px;max-width:1120px;margin:0 auto;padding:6px 16px;font-size:.82rem;color:var(--ink2);border-bottom:1px dashed var(--line)}
.strip__day::first-letter{text-transform:uppercase}
.strip__week{font-weight:600;color:var(--red);text-decoration:none}
.masthead__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1120px;margin:0 auto;padding:10px 16px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand__pad{display:grid;place-items:center;width:46px;height:50px;border-radius:9px;background:#fff;border:1px solid var(--line);box-shadow:0 3px 0 -1px #fff,0 4px 0 -1px var(--line);position:relative;overflow:hidden}
.brand__pad::before{content:"";position:absolute;inset:0 0 auto;height:12px;background:var(--red)}
.brand__pad b{font:700 1.2rem/1 var(--serif);margin-top:10px}.brand__pad i{font:600 .62rem/1 var(--sans);text-transform:uppercase;color:var(--mute);font-style:normal;letter-spacing:.06em}
.brand__name{font:700 1.4rem/1 var(--serif)}.brand__name small{display:block;font:500 .74rem/1.4 var(--sans);color:var(--mute);letter-spacing:.02em}
.mainnav ul{display:flex;flex-wrap:wrap;gap:4px;list-style:none;margin:0;padding:0}
.mainnav a{display:block;padding:8px 12px;border-radius:999px;text-decoration:none;color:var(--ink);font-weight:500;font-size:.95rem}
.mainnav a:hover{background:var(--cool);color:var(--red)}
.navtoggle{display:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font:600 .9rem var(--sans);color:var(--ink)}

.page{max-width:1120px;margin:0 auto;padding:18px 16px 56px}
.crumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:4px 0 10px;font-size:.84rem;color:var(--mute)}
.crumbs li+li::before{content:"›";margin-right:6px;color:var(--line)}
.crumbs a{color:var(--ink2);text-decoration:none}

/* Repäisylehti – tear-off sheet */
.sheet{position:relative;display:grid;grid-template-columns:132px 1fr;background:#fff;border-radius:var(--r);box-shadow:var(--sh);border:1px solid var(--line);overflow:hidden;margin:6px 0 22px}
.sheet__holes{position:absolute;left:0;right:0;top:0;height:10px;display:flex;justify-content:center;gap:52px;z-index:2}
.sheet__holes i{width:12px;height:12px;border-radius:50%;background:var(--paper);border:1px solid var(--line);margin-top:-6px}
.sheet__head{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px 10px 16px;background:linear-gradient(var(--ink),var(--ink)) top/100% 26px no-repeat,#fff;border-right:2px dashed var(--line);text-align:center}
.sheet--red .sheet__head{background:linear-gradient(var(--red),var(--red)) top/100% 26px no-repeat,#fff}
.sheet__top{color:#fff;font:600 .72rem/26px var(--sans);text-transform:uppercase;letter-spacing:.08em;margin-top:-22px;height:26px;white-space:nowrap}
.sheet__big{font:700 3.4rem/1 var(--serif);margin-top:12px;color:var(--ink)}
.sheet--red .sheet__big{color:var(--red)}
.sheet__sub{font:500 .8rem/1.3 var(--sans);color:var(--ink2);margin-top:6px}
.sheet__body{padding:18px 20px 16px}
.sheet__label{margin:0 0 4px;font:700 .74rem/1 var(--sans);text-transform:uppercase;letter-spacing:.09em;color:var(--red)}
.sheet__answer{margin:0;font-size:1.06rem;line-height:1.55}
.sheet__flags{margin:10px 0 0;display:flex;flex-wrap:wrap;gap:6px}
.sheet__checked{margin:10px 0 0;font-size:.78rem;color:var(--mute)}
.flag{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--cool);color:var(--ink2)}
.flag::before{content:"";width:8px;height:8px;border-radius:2px;background:currentColor}
.flag--pyha{background:var(--red-soft);color:var(--red)}.flag--liputus{background:var(--blue-soft);color:var(--blue)}.flag--loma{background:var(--green-soft);color:var(--green)}.flag--juhla{background:#FBF3E2;color:var(--gold)}

/* single leaf */
.leaf__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:26px;align-items:start}
.leaf__top--plain{grid-template-columns:1fr}
.leaf__top .sheet{margin-top:10px}
.byline{display:flex;align-items:center;gap:10px;margin:6px 0 10px}
.byline img{border-radius:50%;width:40px;height:40px;object-fit:cover}
.byline p{margin:0;font-size:.88rem;line-height:1.35}.byline a{font-weight:600;color:var(--ink);text-decoration:none}.byline span{display:block;color:var(--mute)}
.byline--old{font-size:.85rem;color:var(--mute)}
.prose{max-width:760px}
.leaf__body{margin-top:6px}
.prose p,.prose ul,.prose ol{margin:0 0 1.05em}
.prose li{margin:.25em 0}
.prose table{border-collapse:collapse;width:100%;font-size:.95rem;margin:.4em 0 1.4em;background:#fff;border-radius:var(--r2);overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.prose th,.prose td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.prose thead th{background:var(--cool);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink2)}
.prose tbody tr:last-child td,.prose tbody tr:last-child th{border-bottom:0}
.prose tr.is-red td,.prose tr.is-red th{color:var(--red)}
.prose tr.is-now{background:#FFF8E5}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 1.4em}
.tablewrap table{margin:0;min-width:520px}
.prose caption{caption-side:bottom;text-align:left;font-size:.8rem;color:var(--mute);padding:8px 2px}

/* Näin meillä – handwritten note */
.note{position:relative;margin:28px 0;padding:22px 22px 18px;background:#FFFDF6;border-radius:6px 6px 14px 6px;box-shadow:var(--sh);max-width:620px;transform:rotate(-.4deg)}
.note::before{content:"";position:absolute;top:-10px;left:42%;width:86px;height:22px;background:rgba(200,50,47,.18);transform:rotate(2deg)}
.note__h{margin:0 0 6px;font:700 .74rem/1 var(--sans);text-transform:uppercase;letter-spacing:.09em;color:var(--red)}
.note p{font:500 1.32rem/1.35 var(--hand);color:#2C3445;margin:0}

/* Vuosinauha – year ribbon */
.ribbon{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;margin:6px 0 10px}
.ribbon__m{background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px 4px 8px;min-height:92px}
.ribbon__m b{display:block;font:600 .72rem/1 var(--sans);text-transform:uppercase;color:var(--mute);text-align:center;margin-bottom:6px;letter-spacing:.05em}
.ribbon__m a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.72rem;line-height:1.25;padding:2px 4px;margin:2px 0;border-radius:6px;text-decoration:none;color:var(--ink);background:var(--cool)}
.ribbon__m a.t-pyha{background:var(--red-soft);color:var(--red)}.ribbon__m a.t-liputus{background:var(--blue-soft);color:var(--blue)}.ribbon__m a.t-loma{background:var(--green-soft);color:var(--green)}
.ribbon__m a span{font-weight:700;margin-right:3px}

/* Kuntavertailu */
.compare th[scope=row]{font-weight:600;white-space:nowrap}
.compare td.wk{font-weight:700;text-align:center}
.compare .wkchip{display:inline-block;min-width:34px;padding:1px 6px;border-radius:6px;background:var(--green-soft);color:var(--green);font-weight:700;font-size:.82rem;text-align:center}
.compare tr.is-self{background:#FFF8E5}

/* Viikkoruudukko */
.weekgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:8px 0 20px}
.weekgrid__d{background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 8px 10px;min-height:96px}
.weekgrid__d b{display:block;font:700 1.35rem/1 var(--serif)}.weekgrid__d small{display:block;font-size:.72rem;color:var(--mute);text-transform:uppercase;letter-spacing:.05em}
.weekgrid__d.is-red b{color:var(--red)}
.weekgrid__d span{display:block;margin-top:6px;font-size:.74rem;line-height:1.25;color:var(--ink2)}
.monthgrid{width:100%;border-collapse:separate;border-spacing:4px;table-layout:fixed}
.monthgrid th{font-size:.72rem;color:var(--mute);text-transform:uppercase;font-weight:600}
.monthgrid td{background:#fff;border:1px solid var(--line);border-radius:10px;height:64px;vertical-align:top;padding:5px 6px;font-size:.72rem;line-height:1.2}
.monthgrid td b{display:block;font:700 1rem/1.1 var(--serif)}
.monthgrid td.is-red b{color:var(--red)}.monthgrid td.is-flag{box-shadow:inset 0 -3px 0 var(--blue)}
.monthgrid td.wk{background:none;border:0;color:var(--mute);font-weight:600;text-align:center;vertical-align:middle}
.monthgrid td.empty{background:none;border:0}

/* front */
.hello{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:30px;align-items:center;padding:14px 0 4px}
.hello__kicker{margin:0;font:600 .8rem/1 var(--sans);text-transform:uppercase;letter-spacing:.1em;color:var(--red)}
.hello__greet{display:flex;gap:12px;align-items:flex-start;font-size:1.04rem;color:var(--ink2);margin:0}
.hello__greet img{border-radius:50%;flex:0 0 48px;width:48px;height:48px;object-fit:cover}
.band{margin:34px 0 0;padding:24px 0 0;border-top:1px solid var(--line)}
.band h2{margin-top:0}
.band__more{display:flex;flex-wrap:wrap;gap:16px;font-weight:600;margin:12px 0 0}
.nextdays{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.nextdays__i{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 12px}
.nextdays__i time{text-align:center;line-height:1.1}.nextdays__i time b{display:block;font:700 1.05rem var(--serif)}.nextdays__i time small{color:var(--mute);text-transform:uppercase;font-size:.7rem}
.nextdays__i a{font-weight:600;color:var(--ink);text-decoration:none}.nextdays__i.is-red a,.nextdays__i.is-red time b{color:var(--red)}
.nextdays__c{font-size:.78rem;color:var(--mute);white-space:nowrap}
.lomanow{font-weight:600}
.pills{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 12px;padding:0}
.pills li a{display:inline-block;padding:4px 12px;border-radius:999px;background:var(--green-soft);color:var(--green);font-weight:600;text-decoration:none;font-size:.9rem}
.pills small{color:var(--mute)}
.pills--big li a{background:#fff;border:1px solid var(--line);color:var(--ink);padding:8px 16px}
.drawers{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.drawer{position:relative;display:block;padding:16px 16px 14px 20px;border-radius:12px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink)}
.drawer::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:5px;border-radius:0 4px 4px 0;background:var(--ink)}
.drawer--lomat::before{background:var(--green)}.drawer--liputus::before{background:var(--blue)}.drawer--pyhat::before{background:var(--red)}.drawer--juhlat::before{background:var(--gold)}
.drawer b{display:block;font:700 1.08rem var(--serif)}.drawer span{display:block;font-size:.86rem;color:var(--ink2);margin-top:2px}
.drawer:hover{border-color:var(--ink)}
.margin{list-style:none;margin:0;padding:0;border-left:2px solid var(--red);max-width:760px}
.margin li{padding:2px 0 14px 18px}
.margin time{font:600 .78rem var(--sans);color:var(--red)}
.margin p{margin:2px 0 0;font:500 1.25rem/1.35 var(--hand);color:#2C3445}

/* lists, related, author */
.seealso{margin:34px 0 0;max-width:760px}
.seealso h2{font-size:1.2rem}
.seealso ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.seealso li a{display:flex;justify-content:space-between;gap:12px;padding:10px 2px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.seealso li b{font-weight:600}.seealso li small{color:var(--mute);white-space:nowrap}
.authornote{display:flex;gap:14px;margin:30px 0 0;padding:18px;background:#fff;border-radius:var(--r);border:1px solid var(--line);max-width:760px}
.authornote img{border-radius:50%;width:64px;height:64px;object-fit:cover;flex:0 0 64px}
.authornote p{margin:0 0 6px;font-size:.94rem}.authornote__n{font:700 1.05rem var(--serif)!important}
.shelf{list-style:none;margin:0;padding:0;max-width:820px;columns:2;column-gap:28px}
.shelf li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px dotted var(--line);break-inside:avoid;font-size:.94rem}
.shelf a{color:var(--ink);text-decoration:none}.shelf time{color:var(--mute);font-size:.8rem;white-space:nowrap}
.shelf__n{color:var(--mute);font-size:.85rem}
.almanac__head{max-width:820px}.almanac__lead{font-size:1.1rem;color:var(--ink2)}
.almanac .sheet{max-width:640px}
.srcs{font-size:.86rem;color:var(--ink2)}.srcs li{margin:.2em 0}
.faq dt{font-weight:600;margin-top:.9em}.faq dd{margin:.2em 0 0}
.hl{background:#FFF1C9;padding:0 3px;border-radius:3px}
.deskbox{margin:26px 0;padding:14px;border-radius:var(--r);background:var(--cool);border:1px dashed #C9CFD8}
.deskbox__tag{margin:0 0 10px!important;font:700 .76rem var(--sans);text-transform:uppercase;letter-spacing:.08em;color:var(--blue)}

/* footer */
.colophon{background:#fff;border-top:1px solid var(--line);padding:28px 16px 24px}
.colophon>*{max-width:1088px;margin-left:auto;margin-right:auto}
.colophon__note{display:flex;gap:14px;align-items:flex-start}
.colophon__note img{border-radius:50%;flex:0 0 56px;object-fit:cover}
.colophon__note p{margin:0;max-width:640px;color:var(--ink2);font-size:.95rem}
.colophon__cols{display:flex;flex-wrap:wrap;gap:36px;margin-top:20px}
.colophon__cols ul{list-style:none;margin:0;padding:0}
.colophon__cols li{margin:4px 0}.colophon__cols a{color:var(--ink);text-decoration:none;font-size:.92rem}
.colophon__copy{margin-top:22px;font-size:.84rem;color:var(--mute)}

@media (max-width:860px){
  .leaf__top,.hello{grid-template-columns:1fr}
  .ribbon{grid-template-columns:repeat(4,minmax(0,1fr))}
  .weekgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .shelf{columns:1}
}
@media (max-width:720px){
  body{font-size:16px}
  .navtoggle{display:block}
  .mainnav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);padding:8px 12px 12px;z-index:5}
  .mainnav.is-open{display:block}
  .mainnav ul{flex-direction:column}
  .masthead{position:relative}
  .sheet{grid-template-columns:96px 1fr}
  .sheet__big{font-size:2.6rem}
  .sheet__body{padding:16px 14px 14px}
  .ribbon{grid-template-columns:repeat(2,minmax(0,1fr))}
  .monthgrid td{height:48px;font-size:.62rem;padding:3px}
  .monthgrid td span{display:none}
}
@media print{.masthead,.colophon,.seealso,.authornote,.crumbs{display:none}body{background:#fff}.sheet,.note{box-shadow:none}}
.aj-short{margin:16px 0 22px;padding:14px 18px;border-left:4px solid var(--red);background:#fff;border-radius:0 var(--r2) var(--r2) 0;box-shadow:var(--sh);max-width:760px}
.aj-short p{margin:0}.aj-short__l{font:700 .74rem/1.4 var(--sans)!important;text-transform:uppercase;letter-spacing:.09em;color:var(--red)}
.aj-portrait{float:right;margin:0 0 14px 22px;max-width:240px}.aj-portrait img{border-radius:var(--r)}
blockquote{margin:1.2em 0;padding:12px 18px;border-left:3px solid var(--blue);background:var(--blue-soft);border-radius:0 10px 10px 0}
blockquote p{margin:0;font-style:italic}blockquote footer{font-size:.82rem;margin-top:6px}
.weeknav{display:flex;justify-content:space-between;font-weight:600}
@media (max-width:720px){.aj-portrait{float:none;margin:0 0 14px;max-width:200px}}
.aj-cta a{display:inline-block;padding:12px 20px;border-radius:999px;background:var(--ink);color:#fff;text-decoration:none;font-weight:600}.aj-cta a:hover{background:var(--red);color:#fff}
/* portrait v2 (one photo, owner 13/11): small framed photo on the About page, ringed avatars */
.aj-page::after{content:"";display:table;clear:both}
.me{float:right;width:165px;margin:4px 0 14px 22px;padding:6px 6px 8px;background:#fffdf7;border:1px solid #ece4d3;box-shadow:0 2px 6px rgba(29,36,51,.12),0 10px 22px rgba(29,36,51,.08);transform:rotate(.8deg)}
.me img{display:block;width:100%;height:auto;border-radius:0}
.me figcaption{font:500 .74rem/1.3 var(--sans);color:var(--mute);margin-top:6px;text-align:center}
@media (max-width:560px){.me{width:140px;margin:4px 0 12px 16px}}
.byline img,.authornote img,.hello__greet img,.colophon__note img{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--red)}
.aj-portrait{display:none}
/* ===== OBL desk boxes v3 (owner 13/11: own look per site) – «repäisylehti»: the box is a tear-off almanac sheet.
   Paper, near-square corners, red header strip with two punched holes, perforated bottom edge, Fraunces heading,
   rectangular red rubber-stamp button, form as ruled almanac lines with underlined fields, handwritten «other questions».
   Selectors by desk class SUFFIX, prefixed for specificity over the desk's inline <style>. Markup untouched. ===== */
.deskbox{display:none}
.obl-skin{margin:34px 0 30px;clear:both;max-width:700px;position:relative}
body .prose .obl-skin section{margin:0!important;background:#FFFDF6!important;border:1px solid #E6DFCF!important;border-radius:3px!important;box-shadow:0 1px 0 #fff inset,0 3px 0 -1px #F3EEE2,0 4px 0 -1px #E6DFCF,0 10px 18px rgba(29,36,51,.07)!important;color:var(--ink)!important;font-family:var(--sans)!important;overflow:visible!important;position:relative;padding-top:30px!important}
body .prose .obl-skin section:before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:30px;background:radial-gradient(circle at 34% 50%,#FBFAF7 0 6px,transparent 6.5px),radial-gradient(circle at 66% 50%,#FBFAF7 0 6px,transparent 6.5px),var(--red);border-radius:3px 3px 0 0}
body .prose .obl-skin section:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;border-bottom:2px dotted #D9D1BF}
body .prose .obl-skin [class$="m"]{background:transparent!important;color:var(--ink)!important;padding:22px 26px 20px!important;gap:16px 28px!important;border-bottom:1px dashed #E6DFCF}
body .prose .obl-skin [class$="h"]{font-family:var(--serif)!important;font-weight:700!important;font-size:1.45rem!important;line-height:1.15!important;color:var(--ink)!important;margin:0 0 6px!important;letter-spacing:-.01em!important}
body .prose .obl-skin [class$="e"],body .prose .obl-skin [class$="k"]{font:500 1.15rem/1 var(--hand)!important;letter-spacing:0!important;text-transform:none!important;color:var(--red)!important;margin:0 0 6px!important;display:block}
body .prose .obl-skin p,body .prose .obl-skin [class$="t"] p{color:var(--ink2)!important;font-size:.97rem!important}
body .prose .obl-skin [class$="l"]{color:var(--ink2)!important;font-size:.86rem!important;font-variant-numeric:tabular-nums}
body .prose .obl-skin button[type=submit]{background:transparent!important;color:var(--red)!important;border:2px solid var(--red)!important;border-radius:2px!important;padding:9px 16px!important;font:700 .8rem/1.2 var(--sans)!important;letter-spacing:.12em!important;text-transform:uppercase!important;box-shadow:inset 0 0 0 2px #FFFDF6,inset 0 0 0 3px rgba(200,50,47,.45)!important;transform:rotate(-1.5deg);cursor:pointer;white-space:normal!important}
body .prose .obl-skin button[type=submit]:hover{background:var(--red)!important;color:#fff!important;transform:rotate(0)!important;filter:none!important}
body .prose .obl-skin details{border:0!important;padding:10px 26px 16px!important;background:transparent!important}
body .prose .obl-skin summary{color:var(--blue)!important;font:500 1.12rem/1.2 var(--hand)!important;list-style:none}
body .prose .obl-skin summary::-webkit-details-marker{display:none}
body .prose .obl-skin summary:before{content:"✎ "}
body .prose .obl-skin label{color:var(--mute)!important;font:600 .72rem/1.3 var(--sans)!important;letter-spacing:.09em!important;text-transform:uppercase!important}
body .prose .obl-skin input:not([type=hidden]):not([type=checkbox]),body .prose .obl-skin select{border:0!important;border-bottom:1.5px solid #CFC6B2!important;border-radius:0!important;background:transparent!important;color:var(--ink)!important;font:400 1.02rem/1.4 var(--sans)!important;padding:6px 2px!important}
body .prose .obl-skin textarea{border:1px solid #E6DFCF!important;border-radius:0!important;color:var(--ink)!important;font:400 1rem/28px var(--sans)!important;padding:4px 8px!important;background:repeating-linear-gradient(#FFFDF6 0 27px,#E9E2D2 27px 28px)!important;background-attachment:local!important}
body .prose .obl-skin input:focus,body .prose .obl-skin select:focus,body .prose .obl-skin textarea:focus{outline:0!important;border-color:var(--red)!important;box-shadow:0 2px 0 -0.5px var(--red)!important}
body .prose .obl-skin dl,body .prose .obl-skin [class$="r"]{border-color:#E6DFCF!important;border-style:dashed!important}body .prose .obl-skin dt{color:var(--mute)!important}
body .prose .obl-skin a{color:var(--blue)!important}
body .prose .obl-skin--form section{padding:46px 28px 24px!important}
body .prose .obl-skin--form section form > *{max-width:560px}
@media(max-width:560px){body .prose .obl-skin [class$="m"]{padding:18px 16px 16px!important}body .prose .obl-skin details{padding:10px 16px 14px!important}body .prose .obl-skin--form section{padding:42px 16px 20px!important}body .prose .obl-skin button[type=submit]{width:auto!important}}
/* ===== n8n-artiklarnas block v1 (ägaren 13/11, N8N-ARTIKLAR-CSS) – «almanakan sivu»: tryckt almanacka, rutnät som en månadsvy,
   dubbla linjer i stället för kort, handskrivna etiketter. Ingen ruta med vänsterkant, inga skuggor, ingen radie. Bara temat – post_content orört. */
.prose .aj-short{position:relative;margin:18px 0 32px;padding:12px 18px 16px;background:#FFF8E5;box-shadow:none;border:0;border-radius:0}.prose .aj-short::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:8px;background:linear-gradient(-45deg,transparent 5.5px,#FFF8E5 0) 0 0/11px 8px repeat-x,linear-gradient(45deg,transparent 5.5px,#FFF8E5 0) 0 0/11px 8px repeat-x}
.prose .aj-short__l{display:block;font:500 1.35rem/1 var(--hand)!important;text-transform:none!important;letter-spacing:0!important;color:var(--red);margin:0 0 4px;transform:rotate(-1.5deg);transform-origin:left}
.prose .aj-short p{font:500 1rem/1.62 var(--sans);color:var(--ink)}
.prose .news-content{max-width:none;margin:0;padding:0;background:transparent;border-radius:0}
.prose .reading-time,.prose .last-updated{max-width:none;margin:0 0 .3em;padding:0;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.prose .news-grid-wrap{margin:1.6em 0 1.8em}
.prose .grid-heading{text-align:left;font-size:clamp(1.3rem,2.6vw,1.65rem);color:var(--ink);margin:0 0 .6em}
.prose .news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;padding:0;border-top:2px solid var(--ink);border-left:1px solid #CFC6B2;background:#FFFDF6}
.prose .news-box{display:block;min-height:0;margin:0;padding:12px 16px 14px;background:transparent;border:0;border-right:1px solid #CFC6B2;border-bottom:1px solid #CFC6B2;border-radius:0;box-shadow:none}
.prose .news-box:nth-child(4n+1),.prose .news-box:nth-child(4n){background:#FBF6EA}
.prose .news-box-header{display:flex;align-items:center;gap:10px;margin:0 0 8px}
.prose .box-num{flex:0 0 32px;display:block;width:32px;height:34px;margin:0;padding:9px 0 0;background:linear-gradient(var(--red) 0 8px,#fff 8px);border:1px solid #CFC6B2;border-radius:2px;box-shadow:0 1px 0 #E6DFCF;text-align:center;font:700 .95rem/24px var(--sans);color:var(--ink);font-variant-numeric:tabular-nums}
.prose .box-title{display:block;margin:0;font:600 1.02rem/1.25 var(--serif);text-transform:none;letter-spacing:0;color:var(--ink)}
.prose .news-box-content{font-size:.94rem}
.prose .news-box-content strong{display:block;margin:.5em 0 .2em;font:500 1.1rem/1.1 var(--hand);color:var(--ink2)}
.prose .news-box-content ul,.prose .news-box-content ol{margin:0;padding:0;list-style:none}
.prose .news-box-content li{position:relative;margin:0;padding:5px 0 5px 20px;border-bottom:1px dotted #D9D1BF}
.prose .news-box-content li:last-child{border-bottom:0}
.prose .news-box-content li::before{content:"–";position:absolute;left:2px;top:5px;color:var(--mute)}
.prose .confirmed-list li::before{content:"✓";color:var(--green);font-weight:700}
.prose .updates-list li::before{content:"→";color:var(--blue)}
.prose .timeline-list{counter-reset:none}
.prose .timeline-list li{padding-left:22px;border-bottom:0}
.prose .timeline-list li::before{content:"";left:3px;top:12px;width:8px;height:8px;background:var(--red)}
.prose .timeline-list li::after{content:"";position:absolute;left:6.5px;top:22px;bottom:-12px;border-left:1px dashed #CFC6B2}
.prose .timeline-list li:last-child::after{display:none}
.prose .n24-note,.prose .n24-tip,.prose .n24-warning{margin:1.5em 0;padding:10px 0 4px;background:transparent;border:0;border-top:2px dotted var(--blue);border-radius:0;box-shadow:none}
.prose .n24-tip{border-top-color:var(--green)}.prose .n24-warning{border-top-color:var(--red)}
.prose .n24-note-label,.prose .n24-tip-label,.prose .n24-warning-label{display:inline-block;margin:-24px 0 4px;padding:0 8px 0 0;background:var(--paper);font:500 1.3rem/1.2 var(--hand);color:var(--blue);text-transform:none;letter-spacing:0}
.prose .n24-tip-label{color:var(--green)}.prose .n24-warning-label{color:var(--red)}
.prose .n24-overview-grid{margin:1.2em 0 1.5em}
.prose .n24-overview-grid ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;margin:0;padding:0;list-style:none;border-top:2px solid var(--ink)}
.prose .n24-overview-grid li{margin:0;padding:8px 0;border-bottom:1px dotted #CFC6B2;font-size:.94rem}
.prose .n24-overview-grid li strong{display:block;font:600 .74rem/1.3 var(--sans);text-transform:uppercase;letter-spacing:.08em;color:var(--red)}
.prose .n24-grid-item{padding:8px 0;border-bottom:1px dotted #CFC6B2}.prose .n24-grid-label{font:600 .74rem/1.3 var(--sans);text-transform:uppercase;letter-spacing:.08em;color:var(--red)}
.prose details.n24-faq-item{margin:0;padding:0;border:0;border-bottom:1px solid #E6DFCF;background:transparent;border-radius:0}
.prose details.n24-faq-item:first-of-type{border-top:2px solid var(--ink)}
.prose .n24-faq-question{position:relative;display:block;list-style:none;cursor:pointer;padding:12px 40px 12px 0;font:600 1.04rem/1.35 var(--serif);color:var(--ink)}
.prose .n24-faq-question::-webkit-details-marker{display:none}
.prose .n24-faq-question::after{content:"+";position:absolute;right:4px;top:10px;width:22px;height:22px;line-height:20px;text-align:center;border:1.5px solid var(--red);color:var(--red);font:600 1rem/20px var(--sans);transition:transform .2s}
.prose details[open] > .n24-faq-question::after{transform:rotate(45deg)}
.prose .n24-faq-answer{margin:0 0 14px;color:var(--ink2)}
.prose .section-sep{border:0;height:0;border-top:3px double #CFC6B2;margin:2em 0}
.leaf--old .prose table{background:transparent;border-radius:0;box-shadow:none;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.leaf--old .prose th,.leaf--old .prose td{border-bottom:1px dotted #CFC6B2}
.leaf--old .prose thead th{background:transparent;border-bottom:1px solid var(--ink);color:var(--red)}
.leaf--old .prose tbody th{font:600 .8rem/1.4 var(--sans);text-transform:uppercase;letter-spacing:.05em;color:var(--ink2);width:34%}
.leaf--old .prose .wp-block-table{margin:0 0 1.4em;overflow-x:auto}
@media (max-width:620px){.prose .news-grid,.prose .n24-overview-grid ul{grid-template-columns:1fr}.prose .news-box:nth-child(4n+1),.prose .news-box:nth-child(4n){background:transparent}.prose .news-box:nth-child(odd){background:#FBF6EA}}
.prose .news-box-content > strong:last-child{display:none}
.prose .news-box-header br,.prose .news-grid > br{display:none}.prose .news-box > p:empty,.prose .news-grid > p:empty{display:none}
