/* Retkivihko – finlandstories.org. Field notebook + map. Mobile first. */
@font-face{font-family:'Literata';font-style:normal;font-weight:600 700;font-display:swap;src:url(fonts/literata-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:'Literata';font-style:normal;font-weight:600 700;font-display:swap;src:url(fonts/literata-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,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:'Literata';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/literata-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}
@font-face{font-family:'Literata';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/literata-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,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:'Public Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/public-sans-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:'Public Sans';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/public-sans-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,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}

:root{
  --bg:#F5F8F7;--surface:#FFFFFF;--ink:#1B2B28;--pine:#1F5245;--lake:#2B6A8A;--lingon:#B33A3A;--line:#D9E2DF;--muted:#5C6B67;
  --pine-soft:#E4EEEA;--lake-soft:#E3EEF3;--rule:#E3EBE8;
  --r:16px;--r-sm:10px;--r-lg:18px;
  --serif:'Literata',Georgia,'Times New Roman',serif;--sans:'Public Sans',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --wrap:1120px;--read:720px;--gut:20px;
  --shadow:0 1px 2px rgba(27,43,40,.05),0 8px 24px -12px rgba(27,43,40,.18);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:16px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 var(--sans);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--lake);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--pine)}
:focus-visible{outline:3px solid var(--lake);outline-offset:2px;border-radius:6px}
h1,h2,h3{font-family:var(--serif);font-weight:700;line-height:1.2;color:var(--ink);letter-spacing:-.01em}
h1{font-size:clamp(1.85rem,1.3rem + 2.4vw,2.75rem);margin:.2em 0 .35em}
h2{font-size:clamp(1.35rem,1.15rem + .9vw,1.7rem);margin:1.8em 0 .55em}
h3{font-size:1.2rem;font-weight:600;margin:1.5em 0 .4em}
p{margin:0 0 1em}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:50;background:var(--pine);color:#fff;padding:10px 16px;border-radius:12px;font-weight:600}
.skip:focus{top:12px;color:#fff}
.fs-wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.fs-kicker{font:600 .78rem/1.2 var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--lingon);margin:0 0 .5em}
.fs-sub{color:var(--muted);margin:-.2em 0 1em;font-size:.97rem}

/* ---------- Header ---------- */
.fs-top{background:var(--surface) url(contour.svg) right -120px top -40px/900px auto no-repeat;border-bottom:1px solid var(--line);position:relative;z-index:20}
.fs-top__in{max-width:var(--wrap);margin:0 auto;padding:14px var(--gut) 0;display:grid;grid-template-columns:1fr auto;grid-template-areas:"logo btn" "search search" "nav nav";gap:12px 12px;align-items:center}
.fs-logo{grid-area:logo;display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-width:0}
.fs-logo__mark{flex:none;width:40px;height:40px;border-radius:50%;background:var(--pine);color:#fff;display:grid;place-items:center;box-shadow:inset 0 0 0 3px var(--surface),0 0 0 1.5px var(--pine)}
.fs-logo__txt{font:700 1.32rem/1.05 var(--serif);letter-spacing:-.015em;display:flex;flex-direction:column}
.fs-logo__txt small{font:400 .76rem/1.3 var(--sans);color:var(--muted);letter-spacing:0;margin-top:3px}
.fs-navbtn{grid-area:btn;display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line);background:var(--surface);color:var(--pine);font:600 .9rem var(--sans);padding:8px 12px;border-radius:999px;cursor:pointer}
.fs-navbtn[aria-expanded="true"]{background:var(--pine);color:#fff;border-color:var(--pine)}
.fs-top__search{grid-area:search}
.fs-nav{grid-area:nav;display:none;padding-bottom:12px}
.fs-nav.open{display:block}
.fs-nav ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.fs-nav a{display:block;padding:9px 12px;border-radius:12px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem;background:var(--bg)}
.fs-nav a:hover{background:var(--pine-soft);color:var(--pine)}
.fs-nav a[aria-current="page"]{background:var(--pine);color:#fff}
.fs-nav a.is-who{color:var(--lingon)}
.fs-nav a.is-who[aria-current="page"]{color:#fff;background:var(--lingon)}

/* Search */
.fs-search{position:relative;display:flex;align-items:center}
.fs-search input{width:100%;font:400 1rem var(--sans);color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:999px;padding:11px 46px 11px 18px;min-height:46px;-webkit-appearance:none;appearance:none}
.fs-search input::placeholder{color:#7A8884}
.fs-search input:focus{outline:none;border-color:var(--lake);background:var(--surface);box-shadow:0 0 0 4px var(--lake-soft)}
.fs-search button{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:36px;height:36px;border:0;border-radius:50%;background:var(--pine);color:#fff;display:grid;place-items:center;cursor:pointer}
.fs-search__res{position:absolute;left:0;right:0;top:calc(100% + 6px);list-style:none;margin:0;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);z-index:40;max-height:60vh;overflow:auto}
.fs-search__res a{display:flex;flex-direction:column;padding:9px 12px;border-radius:10px;text-decoration:none;color:var(--ink)}
.fs-search__res a span{font-weight:600}
.fs-search__res a small{color:var(--muted);font-size:.82rem}
.fs-search__res a:hover,.fs-search__res a.on{background:var(--pine-soft)}

/* ---------- Article ---------- */
.fs-post,.fs-page{max-width:calc(var(--read) + 2*var(--gut));margin:0 auto;padding:22px var(--gut) 56px}
.fs-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 0;font-size:.85rem;color:var(--muted)}
.fs-crumbs li+li::before{content:"›";margin:0 8px;color:var(--line)}
.fs-crumbs a{color:var(--muted);text-decoration:none}
.fs-crumbs a:hover{color:var(--lake);text-decoration:underline}
.fs-crumbs [aria-current]{color:var(--ink)}
.fs-post__head{margin-bottom:22px}
.fs-byline{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:.6em 0 0;font-size:.92rem;color:var(--muted)}
.fs-byline__who{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-weight:600;text-decoration:none}
.fs-byline__who img{width:44px;height:44px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1.5px var(--line)}
.fs-byline__who:hover span{color:var(--lake);text-decoration:underline}
.fs-byline__date::before{content:"·";margin-right:10px;color:var(--line)}
.fs-byline--guest{display:block;padding:8px 14px;background:var(--surface);border:1px dashed var(--line);border-radius:12px;width:fit-content}
.fs-lead{font-size:1.15rem;line-height:1.6;color:#33443F}

/* 1. Lyhyesti: notebook page */
.fs-lyhyesti,.fs-answer{position:relative;margin:4px 0 30px;padding:15px 20px 22px 54px;background-position:0 0,0 15px!important;border-radius:var(--r-lg);border:1px solid var(--line);
  background:linear-gradient(90deg,transparent 37px,rgba(179,58,58,.9) 37px,rgba(179,58,58,.9) 39px,transparent 39px),
  repeating-linear-gradient(180deg,var(--surface) 0,var(--surface) 29px,var(--rule) 29px,var(--rule) 30px);
  background-color:var(--surface);box-shadow:var(--shadow)}
.fs-lyhyesti::before,.fs-answer::before{content:"";position:absolute;left:14px;top:22px;width:10px;height:10px;border-radius:50%;background:var(--bg);box-shadow:inset 0 1px 2px rgba(0,0,0,.18),0 30px 0 0 var(--bg),0 60px 0 0 var(--bg)}
.fs-lyhyesti__label,.fs-answer__label{display:flex;align-items:center;gap:6px;font:600 .8rem/30px var(--sans)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--lingon);margin:0!important}
.fs-lyhyesti__label .pin{color:var(--lingon)}
.fs-answer__label::before{content:"";width:14px;height:14px;background:var(--lingon);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22s7.5-6.6 7.5-12.3a7.5 7.5 0 0 0-15 0C4.5 15.4 12 22 12 22z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22s7.5-6.6 7.5-12.3a7.5 7.5 0 0 0-15 0C4.5 15.4 12 22 12 22z'/%3E%3C/svg%3E") center/contain no-repeat}
.fs-lyhyesti__text,.fs-answer__text{font:400 1.08rem/30px var(--sans)!important;margin:0!important;color:var(--ink)}
.fs-chips{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 10px}
.fs-chip{font:600 .74rem/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--pine);background:rgba(255,255,255,.85);border:1.5px solid var(--pine);border-radius:7px;padding:7px 10px 6px;transform:rotate(-1deg);box-shadow:inset 0 0 0 2px rgba(255,255,255,.9),inset 0 0 0 3px rgba(31,82,69,.28)}
.fs-chip:nth-child(even){transform:rotate(1deg);color:var(--lake);border-color:var(--lake);box-shadow:inset 0 0 0 2px rgba(255,255,255,.9),inset 0 0 0 3px rgba(43,106,138,.28)}
.fs-chip:nth-child(3n){color:var(--lingon);border-color:var(--lingon);box-shadow:inset 0 0 0 2px rgba(255,255,255,.9),inset 0 0 0 3px rgba(179,58,58,.25)}

/* Entry content */
.fs-entry{font-size:1.0625rem}
.fs-entry>*:first-child{margin-top:0}
.fs-entry h2{position:relative;padding-left:30px}
.fs-entry h2::before{content:"";position:absolute;left:0;top:.2em;width:18px;height:22px;background:var(--lingon);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 22'%3E%3Cpath d='M9 22S0 13.9 0 9a9 9 0 0 1 18 0c0 4.9-9 13-9 13zm0-9.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 22'%3E%3Cpath d='M9 22S0 13.9 0 9a9 9 0 0 1 18 0c0 4.9-9 13-9 13zm0-9.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7z'/%3E%3C/svg%3E") center/contain no-repeat}
.fs-entry h3{color:var(--pine)}
.fs-entry ul,.fs-entry ol{padding-left:1.3em;margin:0 0 1.2em}
.fs-entry li{margin:.3em 0}
.fs-entry ul li::marker{color:var(--pine)}
.fs-entry blockquote{margin:1.5em 0;padding:4px 0 4px 20px;border-left:3px solid var(--lingon);font:italic 400 1.1rem/1.6 var(--serif);color:#33443F}
.fs-entry figure,.fs-figure{margin:1.6em 0}
.fs-entry figure img,.fs-figure img{border-radius:var(--r)}
.fs-entry figcaption,.fs-figure figcaption{font-size:.85rem;color:var(--muted);margin-top:8px}
.fs-entry table{width:100%;border-collapse:collapse;font-size:.95rem;margin:1.4em 0;display:block;overflow-x:auto}
.fs-entry th,.fs-entry td{border-bottom:1px solid var(--line);padding:9px 10px;text-align:left;vertical-align:top}
.fs-entry th{font-weight:600;background:var(--pine-soft)}

/* Section headings for components */
.fs-timeline h2,.fs-faq h2,.fs-route h2,.fs-sources h2{display:flex;align-items:center;gap:12px}
.fs-timeline h2::after,.fs-faq h2::after,.fs-route h2::after{content:"";flex:1;height:1px;background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 11px)}

/* 2. Aikajana */
.fs-timeline{margin:44px 0 10px}
.fs-timeline ol{list-style:none;margin:0;padding:6px 0 0;position:relative}
.fs-timeline ol::before{content:"";position:absolute;left:9px;top:12px;bottom:12px;width:3px;border-radius:3px;background:linear-gradient(var(--pine),var(--lake))}
.fs-timeline li{position:relative;display:grid;grid-template-columns:22px 1fr;grid-template-areas:"node y" ". t";column-gap:16px;padding:0 0 18px}
.fs-timeline__node{grid-area:node;position:relative;z-index:1;margin-top:5px;width:21px;height:21px;border-radius:50%;background:var(--surface);border:3px solid var(--pine);box-shadow:0 0 0 4px var(--bg)}
.fs-timeline li:nth-child(even) .fs-timeline__node{border-color:var(--lake)}
.fs-timeline li:last-child .fs-timeline__node{background:var(--lingon);border-color:var(--lingon)}
.fs-timeline__y{grid-area:y;font:700 1.3rem/1.4 var(--serif);color:var(--pine);font-variant-numeric:lining-nums}
.fs-timeline__t{grid-area:t;margin:2px 0 0;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 14px;font-size:.98rem}

/* 3. Personal note: taped card */
.fs-note{position:relative;margin:44px 6px 20px;padding:24px 22px 18px;background:var(--surface);border-radius:var(--r);box-shadow:var(--shadow);transform:rotate(-.6deg);border:1px solid var(--line)}
.fs-note::before,.fs-note::after{content:"";position:absolute;top:-11px;width:86px;height:24px;background:rgba(43,106,138,.16);border-left:1px dashed rgba(43,106,138,.25);border-right:1px dashed rgba(43,106,138,.25);backdrop-filter:blur(1px)}
.fs-note::before{left:-14px;transform:rotate(-32deg)}
.fs-note::after{right:-14px;transform:rotate(32deg)}
.fs-note--kuulin::before,.fs-note--kuulin::after{background:rgba(179,58,58,.14);border-color:rgba(179,58,58,.25)}
.fs-note--retki::before,.fs-note--retki::after{background:rgba(31,82,69,.16);border-color:rgba(31,82,69,.25)}
.fs-note__head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.fs-note__head img{width:40px;height:40px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1.5px var(--line)}
.fs-note__h{font:600 .8rem/1.2 var(--sans)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--pine);margin:0!important}
.fs-note--kuulin .fs-note__h{color:var(--lingon)}
.fs-note--huomio .fs-note__h{color:var(--lake)}
.fs-note__text p{font:italic 400 1.1rem/1.65 var(--serif);color:#22342F;margin:0 0 .7em}
.fs-note__text p:last-child{margin:0}

/* 5. FAQ: notebook tabs */
.fs-faq{margin:44px 0 10px}
.fs-faq details{position:relative;margin:0 0 10px;background:var(--surface);border:1px solid var(--line);border-radius:0 var(--r) var(--r) 0;border-left:0}
.fs-faq details::before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:8px;border-radius:6px 0 0 6px;background:var(--pine-soft);border:1px solid var(--line);border-right:0}
.fs-faq details:nth-of-type(3n+2)::before{background:var(--lake-soft)}
.fs-faq details:nth-of-type(3n)::before{background:#F3E3E3}
.fs-faq details[open]::before{background:var(--pine);border-color:var(--pine)}
.fs-faq summary{list-style:none;cursor:pointer;padding:14px 52px 14px 22px;font:600 1.04rem/1.4 var(--serif);position:relative}
.fs-faq summary::-webkit-details-marker{display:none}
.fs-faq summary::after{content:"+";position:absolute;right:14px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font:600 1.1rem/1 var(--sans);color:var(--pine)}
.fs-faq details[open] summary::after{content:"−";background:var(--pine);color:#fff;border-color:var(--pine)}
.fs-faq summary:hover{color:var(--pine)}
.fs-faq__a{padding:0 22px 6px;border-top:1px dashed var(--line);padding-top:12px;margin:0 0 0}
.fs-faq__a p{margin:0 0 .8em}

/* 6. Related: route with stops */
.fs-route{margin:44px 0 10px}
.fs-route ol{list-style:none;margin:0;padding:0;position:relative}
.fs-route ol::before{content:"";position:absolute;left:10px;top:16px;bottom:22px;border-left:3px dotted var(--pine)}
.fs-route li{position:relative;padding:0 0 6px 40px}
.fs-route__dot{position:absolute;left:3px;top:13px;width:17px;height:17px;border-radius:50%;background:var(--surface);border:3px solid var(--lake);z-index:1}
.fs-route__here .fs-route__dot{background:var(--lingon);border-color:var(--lingon);box-shadow:0 0 0 4px rgba(179,58,58,.18)}
.fs-route__here .fs-route__t{display:block;padding:10px 0;font-size:.88rem;font-weight:600;color:var(--lingon);letter-spacing:.02em}
.fs-route li a{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 14px;padding:10px 14px;border-radius:14px;text-decoration:none;color:var(--ink);border:1px solid transparent}
.fs-route li a:hover{background:var(--surface);border-color:var(--line)}
.fs-route li a .fs-route__t{font:600 1.05rem/1.35 var(--serif);color:var(--lake)}
.fs-route li a:hover .fs-route__t{text-decoration:underline}
.fs-route__m{font-size:.85rem;color:var(--muted)}
.fs-route li:last-child .fs-route__dot{border-color:var(--pine);border-radius:4px;transform:rotate(45deg)}

/* 4. Lähteet: footnotes */
.fs-sources{margin:40px 0 10px;padding-top:18px;border-top:2px solid var(--ink)}
.fs-sources h2{font-size:1.05rem;letter-spacing:.12em;text-transform:uppercase;font-family:var(--sans);font-weight:600;margin:0 0 10px;color:var(--muted)}
.fs-sources ol{margin:0;padding:0;list-style:none;counter-reset:src;font-size:.9rem}
.fs-sources li{counter-increment:src;position:relative;padding:3px 0 3px 34px;color:#3B4B47}
.fs-sources li::before{content:"[" counter(src) "]";position:absolute;left:0;font:600 .82rem/1.9 var(--sans);color:var(--lingon)}
.fs-sources a{color:#2E5E78;word-break:break-word}
.fs-sources__checked{margin:12px 0 0;font-size:.85rem;color:var(--muted);display:inline-flex;align-items:center;gap:8px;padding:5px 12px;background:var(--pine-soft);border-radius:999px}
.fs-sources__checked::before{content:"✓";color:var(--pine);font-weight:700}

/* Author box */
.fs-authorbox{display:grid;grid-template-columns:1fr;gap:18px;align-items:start;margin:34px 0 0;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}
.fs-authorbox img{width:84px;height:84px;border-radius:50%}
.fs-authorbox p{margin:0 0 .5em;font-size:.95rem}
.fs-authorbox__name{font:700 1.15rem/1.3 var(--serif)!important;margin-bottom:.3em!important}
.fs-authorbox__links{margin:0!important}

/* ---------- Home ---------- */
.fs-hero{background:url(contour.svg) center top/1600px auto no-repeat,linear-gradient(180deg,var(--surface),var(--bg));border-bottom:1px solid var(--line)}
.fs-hero__in{max-width:var(--wrap);margin:0 auto;padding:30px var(--gut) 40px;display:grid;gap:28px}
.fs-hero h1{margin-top:0;max-width:16ch}
.fs-hero__greet p{font-size:1.1rem;line-height:1.65;color:#2B3B37;max-width:56ch}
.fs-polaroid{margin:4px auto 0;width:min(64%,250px);background:#fff;padding:12px 12px 0;border-radius:6px;box-shadow:0 2px 4px rgba(27,43,40,.08),0 18px 40px -16px rgba(27,43,40,.35);transform:rotate(2.2deg);position:relative}
.fs-polaroid::before{content:"";position:absolute;top:-12px;left:50%;width:90px;height:24px;margin-left:-45px;background:rgba(31,82,69,.16);transform:rotate(-3deg);border-left:1px dashed rgba(31,82,69,.25);border-right:1px dashed rgba(31,82,69,.25)}
.fs-polaroid img{aspect-ratio:3/4;object-fit:cover;width:100%;border-radius:2px}
.fs-polaroid figcaption{font:italic 400 1.02rem/1 var(--serif);color:#3B4B47;text-align:center;padding:14px 0 16px}
.fs-desk{margin-top:22px;max-width:520px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 18px 6px;position:relative;box-shadow:var(--shadow)}
.fs-desk::before{content:"";position:absolute;left:18px;right:18px;top:0;height:4px;border-radius:0 0 4px 4px;background:repeating-linear-gradient(90deg,var(--pine) 0 18px,var(--lake) 18px 36px,var(--lingon) 36px 54px)}
.fs-desk__h{font:600 .78rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--pine);margin:4px 0 8px}
.fs-desk dl{margin:0}
.fs-desk dl div{display:grid;grid-template-columns:96px 1fr;gap:10px;padding:8px 0;border-top:1px dashed var(--line)}
.fs-desk dt{font:600 .85rem/1.5 var(--sans);color:var(--muted)}
.fs-desk dd{margin:0;font:600 .98rem/1.45 var(--serif)}

/* Horizontal history timeline strip */
.fs-strip{padding:34px 0 10px}
.fs-strip h2{margin:0 0 .3em}
.fs-strip__rail{list-style:none;margin:0;padding:8px var(--gut) 22px;display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--gut);position:relative;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.fs-strip__rail li{flex:0 0 200px;scroll-snap-align:start;position:relative}
.fs-strip__rail li::before{content:"";position:absolute;left:0;right:0;top:51px;height:3px;background:var(--pine);opacity:.85}
.fs-strip__rail li:first-child::before{left:18px;border-radius:3px 0 0 3px}
.fs-strip__rail li:last-child::before{right:auto;width:30px}
.fs-strip__rail a,.fs-strip__item{display:flex;flex-direction:column;padding:0 18px 0 0;text-decoration:none;color:var(--ink);height:100%}
.fs-strip__y{font:700 1.7rem/1 var(--serif);color:var(--pine);height:40px;display:flex;align-items:flex-end;padding-left:8px;font-variant-numeric:lining-nums}
.fs-strip__node{position:relative;z-index:1;width:21px;height:21px;margin:2px 0 12px 8px;border-radius:50%;background:var(--surface);border:3px solid var(--pine)}
.fs-strip__rail li:nth-child(even) .fs-strip__node{border-color:var(--lake)}
.fs-strip__rail li:nth-child(even) .fs-strip__y{color:var(--lake)}
.fs-strip__t{display:block;font-size:.93rem;line-height:1.45;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 12px;flex:1;margin-right:4px}
.fs-strip__rail a:hover .fs-strip__t{border-color:var(--lake);color:var(--lake)}
.fs-strip__rail a:hover .fs-strip__node{background:var(--lingon);border-color:var(--lingon)}

/* Map legend */
.fs-home{padding-top:20px;padding-bottom:56px}
.fs-legend{margin:24px 0 0;background:var(--surface);border:1.5px solid var(--ink);border-radius:var(--r-lg);padding:20px 14px 12px;position:relative;box-shadow:6px 6px 0 -1px var(--pine-soft),6px 6px 0 0 var(--line)}
.fs-legend__head h2{margin:0 0 .2em}
.fs-legend ul{list-style:none;margin:8px 0 0;padding:0}
.fs-legend__row a{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:12px 6px;border-top:1px dashed var(--line);text-decoration:none;color:var(--ink);border-radius:12px}
.fs-legend__row:first-child a{border-top:0}
.fs-legend__row a:hover{background:var(--bg)}
.fs-legend__sym{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--pine);background:var(--pine-soft)}
.fs-legend__row:nth-child(3n+2) .fs-legend__sym{color:var(--lake);background:var(--lake-soft)}
.fs-legend__row:nth-child(3n) .fs-legend__sym{color:var(--lingon);background:#F6E7E7}
.fs-legend__txt{display:flex;flex-direction:column;min-width:0}
.fs-legend__t{font:600 1.08rem/1.3 var(--serif)}
.fs-legend__row a:hover .fs-legend__t{color:var(--lake);text-decoration:underline}
.fs-legend__d{font-size:.88rem;color:var(--muted);line-height:1.4}
.fs-legend__n{font:600 .85rem/1 var(--sans);color:var(--pine);border:1.5px solid var(--line);border-radius:999px;padding:6px 10px;font-variant-numeric:tabular-nums}

/* Latest log + notes */
.fs-pair{display:grid;gap:10px}
.fs-log{list-style:none;margin:0;padding:0}
.fs-log li{display:grid;grid-template-columns:92px 1fr;grid-template-areas:"d t" ". k";column-gap:12px;padding:12px 0;border-bottom:1px dotted #BFCBC7}
.fs-log time{grid-area:d;font:600 .85rem/1.6 var(--sans);color:var(--lingon);font-variant-numeric:tabular-nums}
.fs-log a{grid-area:t;font:600 1.06rem/1.4 var(--serif);color:var(--ink);text-decoration:none}
.fs-log a:hover{color:var(--lake);text-decoration:underline}
.fs-log .k{grid-area:k;font-size:.82rem;color:var(--muted)}
.fs-notes ul{list-style:none;margin:0;padding:0}
.fs-notes li{position:relative;padding:12px 16px 12px 18px;margin:0 0 10px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.fs-notes li::before{content:"";position:absolute;left:-1px;top:14px;bottom:14px;width:3px;border-radius:3px;background:var(--lingon)}
.fs-notes__d{display:block;font:600 .8rem/1.4 var(--sans);color:var(--lingon);letter-spacing:.04em;margin-bottom:2px}
.fs-notes p{margin:0;font-size:.97rem}

.fs-about{display:grid;grid-template-columns:1fr;gap:18px;align-items:start;margin-top:40px;padding:22px;border-radius:var(--r-lg);background:var(--pine-soft);border:1px solid #CFE0D9}
.fs-about img{width:84px;height:84px;border-radius:50%;border:3px solid var(--surface)}
.fs-about h2{margin:0 0 .3em;font-size:1.3rem}
.fs-about p{margin:0 0 .5em}

/* ---------- Hub index (A–Ö notebook tabs) ---------- */
.fs-index{margin-top:10px}
.fs-index__tabs{display:flex;gap:6px;overflow-x:auto;padding:4px 2px 10px;margin:0 0 12px;scrollbar-width:none;position:sticky;top:0;background:var(--bg);z-index:5}
.fs-index__tabs::-webkit-scrollbar{display:none}
.fs-index__tabs a{flex:none;min-width:38px;height:38px;display:grid;place-items:center;font:700 1rem/1 var(--serif);text-decoration:none;color:var(--pine);background:var(--surface);border:1px solid var(--line);border-radius:10px 10px 4px 4px;border-bottom:3px solid var(--pine)}
.fs-index__tabs a:nth-child(3n+2){border-bottom-color:var(--lake);color:var(--lake)}
.fs-index__tabs a:nth-child(3n){border-bottom-color:var(--lingon);color:var(--lingon)}
.fs-index__tabs a:hover{background:var(--pine);color:#fff}
.fs-index__filter{display:block;margin:0 0 8px}
.fs-index__filter span{display:block;font:600 .8rem/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.fs-index__filter input{width:100%;font:400 1rem var(--sans);padding:11px 16px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);min-height:46px}
.fs-index__filter input:focus{outline:none;border-color:var(--lake);box-shadow:0 0 0 4px var(--lake-soft)}
.fs-index__group h2{margin:26px 0 6px;padding:0!important;font-size:1.6rem;color:var(--pine);display:flex;align-items:center;gap:12px}
.fs-index__group h2::before{display:none}
.fs-index__group h2::after{content:"";flex:1;height:1px;background:var(--line)}
.fs-index__group ul{list-style:none;margin:0;padding:0}
.fs-index__group li{margin:0}
.fs-index__group a{display:flex;align-items:baseline;gap:10px;padding:9px 4px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--rule)}
.fs-index__group .t{font-weight:600;color:var(--lake)}
.fs-index__group .m{margin-left:auto;font-size:.85rem;color:var(--muted);text-align:right;flex:none;white-space:nowrap}
.fs-index__group a::after{content:"";order:1;flex:1;border-bottom:2px dotted #C7D3CF;transform:translateY(-4px);min-width:16px}
.fs-index__group .m{order:2}
.fs-index__group a:hover .t{text-decoration:underline;color:var(--pine)}
.fs-index__count{margin:24px 0 0;font-size:.88rem;color:var(--muted)}
[data-az-group][hidden],[data-az-item][hidden]{display:none}

/* Lists / 404 */
.fs-listpage .fs-log{margin-top:10px}
.fs-pager{margin-top:24px;display:flex;gap:8px;flex-wrap:wrap}
.fs-pager .page-numbers{padding:6px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);text-decoration:none}
.fs-pager .current{background:var(--pine);color:#fff;border-color:var(--pine)}
.fs-hubline{list-style:none;margin:22px 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.fs-hubline a{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);text-decoration:none;color:var(--pine);font-weight:600;font-size:.93rem}
.fs-hubline a:hover{border-color:var(--pine)}
.fs-404 .fs-search{margin-top:10px;max-width:520px}

/* ---------- Footer ---------- */
.fs-foot{background:var(--pine) url(contour.svg) left -200px bottom -160px/1100px auto no-repeat;color:#E7F0EC;margin-top:0}
.fs-foot__in{max-width:var(--wrap);margin:0 auto;padding:36px var(--gut) 22px;display:grid;gap:26px}
.fs-foot__me{display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:start}
.fs-foot__me img{width:64px;height:64px;border-radius:50%;border:3px solid rgba(255,255,255,.85)}
.fs-foot__line{font:italic 400 1.06rem/1.6 var(--serif);margin:0 0 14px;color:#fff;max-width:44ch}
.fs-contact{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--pine);font:600 1rem/1 var(--sans);padding:13px 22px;border-radius:999px;text-decoration:none;box-shadow:0 6px 18px -8px rgba(0,0,0,.4)}
.fs-contact::before{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18v14H3zm2 2v.5l7 5 7-5V7zm14 2.9-7 5-7-5V17h14z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18v14H3zm2 2v.5l7 5 7-5V7zm14 2.9-7 5-7-5V17h14z'/%3E%3C/svg%3E") center/contain no-repeat}
.fs-contact:hover{background:#F3E3E3;color:var(--lingon)}
.fs-contact:focus-visible{outline-color:#fff}
.fs-foot__nav{display:grid;grid-template-columns:1fr;gap:18px}
.fs-foot__h{font:600 .76rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#A9C7BC;margin:0 0 8px}
.fs-foot__nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px}
.fs-foot__nav a{color:#fff;text-decoration:none;font-size:.95rem}
.fs-foot__nav a:hover{text-decoration:underline}
.fs-foot__copy{max-width:var(--wrap);margin:0 auto;padding:14px var(--gut) 26px;border-top:1px solid rgba(255,255,255,.16);font-size:.85rem;color:#C5DAD2}
.fs-foot :focus-visible{outline-color:#fff}

/* ---------- Tablet / desktop ---------- */
@media (min-width:700px){
  :root{--gut:28px}
  .fs-hero__in{grid-template-columns:1fr 300px;align-items:center;padding:44px var(--gut) 52px;gap:44px}
  .fs-polaroid{width:100%}
  .fs-authorbox,.fs-about{grid-template-columns:84px 1fr}
  .fs-legend__row a{grid-template-columns:44px 1fr auto;gap:14px}
  .fs-legend__sym{width:44px;height:44px}
  .fs-timeline ol::before{left:121px}
  .fs-timeline li{grid-template-columns:96px 22px 1fr;grid-template-areas:"y node t";column-gap:16px}
  .fs-timeline__y{text-align:right;padding-top:6px;line-height:1.2}
  .fs-timeline__t{margin:0}
  .fs-legend ul{display:grid;grid-template-columns:1fr 1fr;column-gap:28px}
  .fs-legend__row:nth-child(2) a{border-top:0}
  .fs-legend{padding:26px 26px 16px}
  .fs-pair{grid-template-columns:1.6fr 1fr;gap:40px;align-items:start}
  .fs-foot__in{grid-template-columns:1fr 1.25fr;gap:48px}
  .fs-foot__nav{grid-template-columns:150px 1fr}
  .fs-foot__nav .fs-foot__hubs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 22px}
  .fs-foot__nav ul:not(.fs-foot__hubs){flex-direction:column}
  .fs-lyhyesti,.fs-answer{padding:20px 26px 22px 62px;background:linear-gradient(90deg,transparent 43px,rgba(179,58,58,.9) 43px,rgba(179,58,58,.9) 45px,transparent 45px),repeating-linear-gradient(180deg,var(--surface) 0,var(--surface) 29px,var(--rule) 29px,var(--rule) 30px)}
  .fs-lyhyesti::before,.fs-answer::before{left:17px}
}
@media (min-width:980px){
  .fs-top__in{grid-template-columns:auto 1fr minmax(260px,340px);grid-template-areas:"logo . search" "nav nav nav";padding-top:18px}
  .fs-navbtn{display:none}
  .fs-nav{display:block;padding:4px 0 0}
  .fs-nav ul{display:flex;flex-wrap:wrap;gap:2px}
  .fs-nav a{background:none;border-radius:12px 12px 0 0;padding:10px 14px 12px;font-size:.95rem;position:relative}
  .fs-nav a:hover{background:var(--pine-soft)}
  .fs-nav a[aria-current="page"]{background:var(--bg);color:var(--pine);box-shadow:inset 0 3px 0 var(--pine)}
  .fs-nav a.is-who[aria-current="page"]{background:var(--bg);color:var(--lingon);box-shadow:inset 0 3px 0 var(--lingon)}
  .fs-nav li:last-child{margin-left:auto}
  .fs-hero__in{grid-template-columns:1fr 340px;gap:64px}
  .fs-hero h1{font-size:3rem}
  .fs-strip__rail{padding-left:max(var(--gut),calc((100vw - var(--wrap))/2 + var(--gut)));scroll-padding-left:max(var(--gut),calc((100vw - var(--wrap))/2 + var(--gut)))}
  .fs-strip__rail li{flex-basis:230px}
  .fs-index{display:grid;grid-template-columns:54px 1fr;gap:26px;align-items:start}
  .fs-index__tabs{flex-direction:column;position:sticky;top:16px;overflow:visible;padding:0;margin:0;background:none;gap:4px}
  .fs-index__tabs a{width:46px;min-width:0;height:34px;border-radius:4px 12px 12px 4px;border-bottom:1px solid var(--line);border-left:4px solid var(--pine);font-size:.95rem}
  .fs-index__tabs a:nth-child(3n+2){border-bottom-color:var(--line);border-left-color:var(--lake)}
  .fs-index__tabs a:nth-child(3n){border-bottom-color:var(--line);border-left-color:var(--lingon)}
  .fs-index__tabs a:hover{transform:translateX(4px)}
  .fs-post,.fs-page{padding-top:30px}
}
@media (prefers-reduced-motion:no-preference){
  .fs-index__tabs a,.fs-legend__row a,.fs-route li a{transition:background-color .15s,transform .15s,border-color .15s}
}
@media print{.fs-top,.fs-foot,.fs-route,.fs-search{display:none}body{background:#fff}}

/* ---- v1.1 structure: article = map sheet (band + margin record card + reading column + route), page = leaf ---- */
.rv-sheet{max-width:1180px;margin:0 auto;padding:18px var(--gut) 56px}
.rv-band{padding:14px 0 18px;margin-bottom:22px;border-bottom:2px dashed var(--line)}
.rv-band__hub{display:inline-flex;align-items:center;gap:8px;margin:8px 0 4px;color:var(--pine);font-weight:600;font-size:.88rem;letter-spacing:.02em}
.rv-band__hub a{color:inherit;text-decoration:none}.rv-band__hub a:hover{text-decoration:underline}
.rv-band__title{font-family:var(--serif);font-weight:700;font-size:clamp(1.85rem,4.2vw,2.9rem);line-height:1.12;margin:4px 0 0;max-width:24ch;color:var(--ink)}
.rv-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.rv-margin{display:contents}
.rv-card{order:1;margin:0;padding:14px 16px;display:flex;gap:14px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--lingon);border-radius:16px}
.rv-card img{border-radius:50%;flex:0 0 auto}
.rv-card dl{margin:0;font-size:.9rem;line-height:1.35}
.rv-card dt{margin-top:6px;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.09em}.rv-card dt:first-child{margin-top:0}
.rv-card dd{margin:0;font-weight:600}.rv-card dd a{color:var(--pine)}
.rv-read{order:2;min-width:0}
.rv-margin>.fs-note{order:3;margin:0}
.rv-margin>.fs-byline{order:1}
.rv-route{max-width:var(--read);margin:34px auto 0}
@media (min-width:980px){
  .rv-grid{grid-template-columns:270px minmax(0,var(--read));justify-content:center;gap:44px}
  .rv-margin{display:block;position:sticky;top:18px;align-self:start}
  .rv-card{flex-direction:column;margin-bottom:18px}
  .rv-margin>.fs-note{font-size:.95rem}
  .rv-band{max-width:calc(270px + 44px + var(--read));margin-left:auto;margin-right:auto}
}
.rv-leaf{max-width:calc(var(--read) + 2*var(--gut));margin:0 auto;padding:20px var(--gut) 56px}
.rv-leaf__strip{display:flex;align-items:center;gap:14px;margin:12px 0 20px;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-left:6px solid var(--pine);border-radius:18px}
.rv-leaf__strip h1{margin:0;font-family:var(--serif);font-weight:700;font-size:clamp(1.75rem,3.6vw,2.55rem);line-height:1.15}
.rv-leaf__sym{color:var(--pine);display:inline-flex}
.rv-leaf__quote{margin:0 0 26px;padding:4px 0 4px 22px;border-left:3px solid var(--lingon)}
.rv-leaf__quote blockquote{margin:0;font-family:var(--serif);font-style:italic;font-size:1.14rem;line-height:1.55}
.rv-leaf__quote figcaption{margin-top:6px;color:var(--muted);font-size:.9rem}

/* Aikajana as a real HTML table (checklist: tables in plain HTML), keeps the rail look */
.fs-tl{width:100%;border-collapse:separate;border-spacing:0 10px;margin-top:4px}
.fs-tl thead th{font:600 .72rem/1 var(--sans);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);text-align:left;padding:0 0 2px}
.fs-tl tbody th{width:96px;vertical-align:top;text-align:right;padding:9px 22px 0 0;position:relative;font:700 1.15rem/1.3 var(--serif);color:var(--pine);font-variant-numeric:lining-nums;white-space:nowrap}
.fs-tl tbody th::after{content:"";position:absolute;right:-8px;top:12px;width:13px;height:13px;border-radius:50%;background:var(--surface);border:3px solid var(--pine);z-index:1}
.fs-tl tbody tr:nth-child(even) th::after{border-color:var(--lake)}
.fs-tl tbody tr:last-child th::after{background:var(--lingon);border-color:var(--lingon)}
.fs-tl tbody td{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 14px;font-size:.98rem}
.fs-tl tbody td::before{content:"";position:absolute;left:-13px;top:-12px;bottom:-12px;width:3px;background:linear-gradient(var(--pine),var(--lake))}
.fs-tl tbody td{margin-left:18px}
.fs-tl tbody tr td{border-left-width:1px}
@media (max-width:560px){.fs-tl tbody th{width:64px;font-size:1rem;padding-right:18px}}

/* ---- Home: «Oma aikajanani» – four era columns, contained (replaces the side-scrolling strip) ---- */
.rv-chrono{padding:46px 0 22px}
.rv-chrono__head{display:flex;align-items:center;gap:16px;margin:0 0 22px}
.rv-chrono__me{width:64px;height:64px;border-radius:50%;border:4px solid #fff;box-shadow:0 6px 16px rgba(27,43,40,.18);transform:rotate(-6deg);flex:0 0 auto;object-fit:cover}
.rv-chrono__head h2{margin:0;font-family:var(--serif);font-size:clamp(1.5rem,2.6vw,2rem)}
.rv-chrono__hand{margin:4px 0 0;font-family:var(--serif);font-style:italic;color:var(--lingon);font-size:1.02rem}
.rv-chrono__eras{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
@media (min-width:640px){.rv-chrono__eras{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1040px){.rv-chrono__eras{grid-template-columns:repeat(4,minmax(0,1fr))}}
.rv-era{--era:var(--pine);position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px 18px 16px;box-shadow:0 10px 26px rgba(27,43,40,.06);overflow:hidden}
.rv-era::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:var(--era)}
.rv-era::after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:var(--era);opacity:.07}
.era-pine{--era:var(--pine)}.era-lake{--era:var(--lake)}.era-lingon{--era:var(--lingon)}.era-birch{--era:#A77A1F}
.rv-era__name{margin:0 0 12px;display:inline-flex;align-self:flex-start;align-items:center;gap:8px;font:700 .74rem/1 var(--sans);text-transform:uppercase;letter-spacing:.11em;color:var(--era)}
.rv-era__name::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--era)}
.rv-era__list{list-style:none;margin:0 0 12px;padding:0 0 0 14px;border-left:2px solid color-mix(in srgb,var(--era) 35%,transparent);flex:1}
.rv-era__list li{position:relative;margin:0 0 6px}
.rv-era__list li::before{content:"";position:absolute;left:-20px;top:13px;width:10px;height:10px;border-radius:50%;background:var(--surface);border:2px solid var(--era)}
.rv-era__list a,.rv-era__list li>span{display:block;padding:7px 10px;margin-left:-6px;border-radius:12px;text-decoration:none;color:var(--ink);transition:background .15s,transform .15s}
.rv-era__list a:hover,.rv-era__list a:focus-visible{background:color-mix(in srgb,var(--era) 9%,#fff);transform:translateX(3px)}
.rv-era__list b{display:block;font:700 1.35rem/1.15 var(--serif);color:var(--era);font-variant-numeric:lining-nums}
.rv-era__list b+span{display:block;font-size:.9rem;line-height:1.4;color:var(--ink)}
.rv-era__note{margin:auto 0 0;padding-top:12px;border-top:1px dashed var(--line);font-family:var(--serif);font-style:italic;font-size:.92rem;line-height:1.45;color:var(--muted)}
.rv-era__note::before{content:"✎ ";color:var(--era);font-style:normal}

.rv-era__n{display:block;font:600 .98rem/1.3 var(--serif);color:var(--ink);margin:2px 0 3px}
.rv-era__list .rv-era__t{display:block;font-size:.86rem;line-height:1.42;color:var(--muted)}
.rv-era__list a:hover .rv-era__n{color:var(--era)}

/* ---- Portrait v2 (owner 13/11): one photo per person; small round framed avatars everywhere, small passepartout photo on the About page ---- */
.fs-polaroid--round{width:auto;background:none;padding:0;box-shadow:none;transform:none;display:flex;flex-direction:column;align-items:center;gap:10px}
.fs-polaroid--round::before{display:none}
.fs-polaroid--round img{width:150px;height:150px;aspect-ratio:1;border-radius:50%;object-fit:cover;box-shadow:0 0 0 4px #fff,0 0 0 6px var(--pine),0 14px 30px -12px rgba(27,43,40,.4)}
.fs-polaroid--round figcaption{padding:4px 0 0;font-size:.95rem}
.fs-byline img,.fs-note__head img,.fs-authorbox img,.rv-card img,.rv-chrono__me,.fs-foot img{border-radius:50%;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--pine)}
.fs-figure.me{float:right;width:165px;margin:4px 0 14px 22px;padding:6px 6px 0;background:#fffdf7;border:1px solid #ece4d3;box-shadow:0 1px 2px rgba(27,43,40,.08),0 10px 22px -10px rgba(27,43,40,.3);transform:rotate(.8deg);border-radius:2px}
.fs-figure.me img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:1px}
.fs-figure.me figcaption{font:italic 400 .8rem/1.3 var(--serif);color:var(--muted);text-align:center;padding:6px 2px 8px}
.rv-leaf__body::after,.fs-entry::after{content:"";display:table;clear:both}
@media (max-width:560px){.fs-figure.me{width:140px;margin:4px 0 12px 16px}}


/* ---- OBL desk boxes v3 – Retkivihko signature (owner 13/11 §0: unique per site).
   CTA box = a postcard from a field trip: airmail-striped frame, perforated stamp, dashed message/address divider,
   handwritten-style italic heading, postage-label button. Form = an archive card: punched holes, ruled writing lines, small-caps labels,
   rubber-stamp submit. Markup untouched; selectors on desk suffixes + elements only. ---- */
body .fs-entry .obl-skin{margin:34px 0;position:relative}
body .fs-entry .obl-skin--cta section{position:relative!important;margin:0!important;border:0!important;border-radius:3px!important;overflow:visible!important;
  background:var(--surface)!important;padding:12px!important;box-shadow:0 1px 1px rgba(27,43,40,.12),0 14px 28px -14px rgba(27,43,40,.35)!important;transform:rotate(-.6deg)!important;
  background-image:repeating-linear-gradient(135deg,var(--lingon) 0 14px,#fff 14px 22px,var(--lake) 22px 36px,#fff 36px 44px)!important}
body .fs-entry .obl-skin--cta section>form{background:var(--surface);border-radius:1px;position:relative}
body .fs-entry .obl-skin--cta section::after{content:"FS";position:absolute;top:26px;right:28px;width:58px;height:70px;display:flex;align-items:flex-end;justify-content:center;
  padding-bottom:8px;box-sizing:border-box;font:700 .78rem/1 var(--serif);letter-spacing:.12em;color:#fff;background:var(--pine);
  border:4px dotted var(--surface);outline:1px solid var(--line);box-shadow:inset 0 0 0 3px var(--pine),inset 0 0 0 4px rgba(255,255,255,.5);transform:rotate(4deg);z-index:2}
body .fs-entry .obl-skin--cta section::before{content:"";position:absolute;top:44px;right:70px;width:74px;height:74px;border-radius:50%;
  border:2px solid rgba(179,58,58,.45);box-shadow:inset 0 0 0 6px transparent,inset 0 0 0 8px rgba(179,58,58,.25);z-index:3;pointer-events:none}
body .fs-entry .obl-skin [class$="m"]{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:0!important;background:transparent!important;color:var(--ink)!important;padding:26px 26px 18px!important}
body .fs-entry .obl-skin [class$="m"]>[class$="t"]{padding-right:24px;border-right:2px dashed var(--line)}
body .fs-entry .obl-skin [class$="m"]>[class$="a"]{display:flex;flex-direction:column;justify-content:flex-end;gap:10px;padding:96px 0 6px 24px;text-align:left!important;
  background:repeating-linear-gradient(transparent 0 30px,var(--line) 30px 31px) 24px 20px/calc(100% - 24px) 94px no-repeat}
body .fs-entry .obl-skin [class$="e"],body .fs-entry .obl-skin [class$="k"]{display:block;color:var(--lake)!important;font:600 .7rem/1.2 var(--sans)!important;letter-spacing:.16em!important;text-transform:uppercase!important;margin:0 0 8px!important}
body .fs-entry .obl-skin [class$="h"]{font-family:var(--serif)!important;font-style:italic!important;font-weight:600!important;color:var(--ink)!important;font-size:1.45rem!important;line-height:1.25!important;margin:0 0 8px!important}
body .fs-entry .obl-skin [class$="t"] p,body .fs-entry .obl-skin--cta p{color:var(--muted)!important;font-size:.98rem!important}
body .fs-entry .obl-skin [class$="l"]{color:var(--pine)!important;font-weight:600!important;font-size:.85rem!important}
body .fs-entry .obl-skin--cta button[type=submit]{position:relative;background:var(--lingon)!important;color:#fff!important;border:0!important;border-radius:0!important;
  padding:12px 18px!important;font:700 .8rem/1.2 var(--sans)!important;letter-spacing:.12em!important;text-transform:uppercase!important;box-shadow:none!important;
  outline:2px dashed rgba(255,255,255,.75)!important;outline-offset:-6px;transform:rotate(-1.2deg);white-space:normal!important;width:100%}
body .fs-entry .obl-skin--cta button[type=submit]:hover{background:var(--pine)!important;filter:none!important}
body .fs-entry .obl-skin--cta details{padding:10px 26px 16px!important;border-top:1px solid var(--line)!important}
body .fs-entry .obl-skin--cta summary{font-family:var(--serif)!important;font-style:italic!important;color:var(--lake)!important}
body .fs-entry .obl-skin--cta summary::before{content:"P.S. ";color:var(--lingon);font-style:normal;font-weight:700}
body .fs-entry .obl-skin dl{border:0!important;margin:12px 0!important}
body .fs-entry .obl-skin dl>div{border-bottom:1px dotted var(--line)!important}
body .fs-entry .obl-skin dt{font:600 .72rem/1.4 var(--sans)!important;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)!important}
/* archive card form */
body .fs-entry .obl-skin--form section{position:relative!important;margin:0!important;border:1px solid var(--line)!important;border-top:0!important;border-radius:0 0 4px 4px!important;
  background-color:var(--surface)!important;padding:30px 28px 26px 74px!important;box-shadow:0 12px 26px -16px rgba(27,43,40,.35)!important;
  background-image:radial-gradient(circle at 34px 50%,var(--bg) 9px,var(--line) 10px,transparent 11px),linear-gradient(90deg,transparent 58px,rgba(179,58,58,.55) 58px 60px,transparent 60px)!important;
  background-size:100% 120px,100% 100%!important;background-repeat:repeat-y,no-repeat!important}
body .fs-entry .obl-skin--form section::before{content:"";position:absolute;left:-1px;right:-1px;top:-10px;height:10px;background:var(--pine);border-radius:4px 4px 0 0}
body .fs-entry .obl-skin--form [class$="h"]{font-style:normal!important;font-family:var(--sans)!important;font-size:.82rem!important;font-weight:700!important;letter-spacing:.18em!important;
  text-transform:uppercase!important;color:var(--pine)!important;padding-bottom:10px;border-bottom:3px double var(--line);margin-bottom:18px!important}
body .fs-entry .obl-skin--form label{display:block;font:600 .74rem/1.3 var(--sans)!important;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)!important;margin-bottom:16px!important}
body .fs-entry .obl-skin--form input:not([type=hidden]):not([type=checkbox]),body .fs-entry .obl-skin--form select{border:0!important;border-bottom:1.5px solid var(--ink)!important;border-radius:0!important;
  background:transparent!important;padding:6px 2px!important;font:400 1.02rem/1.4 var(--serif)!important;color:var(--ink)!important;text-transform:none;letter-spacing:0}
body .fs-entry .obl-skin--form textarea{border:0!important;border-radius:0!important;padding:4px 2px!important;font:400 1.02rem/32px var(--serif)!important;color:var(--ink)!important;
  background:repeating-linear-gradient(transparent 0 31px,var(--line) 31px 32px)!important;background-attachment:local!important}
body .fs-entry .obl-skin--form input:focus,body .fs-entry .obl-skin--form select:focus,body .fs-entry .obl-skin--form textarea:focus{outline:0!important;border-bottom-color:var(--lake)!important;box-shadow:0 2px 0 var(--lake)!important}
body .fs-entry .obl-skin--form label:has(input[type=checkbox]){display:flex!important;gap:10px;align-items:center;text-transform:none;letter-spacing:0;font:400 .95rem/1.4 var(--sans)!important;color:var(--ink)!important}
body .fs-entry .obl-skin--form button[type=submit]{background:transparent!important;color:var(--lingon)!important;border:3px double var(--lingon)!important;border-radius:6px!important;
  padding:10px 22px!important;font:700 .85rem/1 var(--sans)!important;letter-spacing:.2em!important;text-transform:uppercase!important;transform:rotate(-2deg);box-shadow:none!important}
body .fs-entry .obl-skin--form button[type=submit]:hover{background:rgba(179,58,58,.07)!important}
body .fs-entry .obl-skin--form p{color:var(--muted)!important;font-style:italic}
@media (max-width:640px){
  body .fs-entry .obl-skin [class$="m"]{grid-template-columns:1fr;padding:22px 18px 14px!important}
  body .fs-entry .obl-skin [class$="m"]>[class$="t"]{border-right:0;padding-right:62px;border-bottom:2px dashed var(--line);padding-bottom:14px}
  body .fs-entry .obl-skin [class$="m"]>[class$="a"]{padding:16px 0 4px;background:none}
  body .fs-entry .obl-skin--cta section::before{display:none}
  body .fs-entry .obl-skin--cta section::after{top:22px;right:20px;width:46px;height:56px}
  body .fs-entry .obl-skin--form section{padding:26px 16px 22px 52px!important;background-image:radial-gradient(circle at 22px 50%,var(--bg) 7px,var(--line) 8px,transparent 9px),linear-gradient(90deg,transparent 40px,rgba(179,58,58,.55) 40px 42px,transparent 42px)!important}
}
