/* OnTrails / editorial edition. Shared by every WordPress template. */
:root {
 --ot-surface-color:#edf0ec;
 --ot-surface-image:url('../img/contours.svg');
 --ot-surface-size:1920px 960px;
}
:root { --ot-bg:#fff; --ot-text:#171917; --ot-ink:#111; --ot-muted:#626762; --ot-line:#d9ddd8; --ot-accent:#e8eee7; --ot-accent-dark:#31563d; --ot-soft:#f6f7f4; --ot-shadow:none; --ot-shadow-lift:none; --ot-max:1328px; --ot-gutter:40px; }
body { letter-spacing:0; background:#fff; }
a { text-underline-offset:4px; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:2px solid #31563d; outline-offset:5px; }
.site-header,.site-header.is-scrolled { background:var(--ot-surface-color) var(--ot-surface-image) center 42% / var(--ot-surface-size) repeat; box-shadow:none; backdrop-filter:none; border-bottom:0; }
.site-header__inner,.site-header.is-scrolled .site-header__inner { min-height:104px; padding-block:20px; align-items:center; flex-wrap:nowrap; gap:36px; }
.ot-wordmark { display:inline-flex; flex-direction:column; width:max-content; color:#111; text-decoration:none; flex-shrink:0; }
.ot-wordmark > span { display:block; font-family:"Poppins OnTrails",Arial,sans-serif; font-size:40px; font-weight:700; letter-spacing:-2.4px; line-height:1.08; }
.site-nav { margin-left:auto; }
.site-nav > ul { gap:30px; flex-wrap:nowrap; align-items:center; }
.site-nav a { font-size:12px; font-weight:600; letter-spacing:.07em; padding:4px 0; }
.site-nav a::after { height:1px; background:#111; }
.ot-search { margin:0; position:relative; }
.ot-searchbtn { display:flex; width:36px; height:36px; border:0; background:none; }
.ot-search__panel { border:1px solid #111; box-shadow:none; background:#fff; }
.ot-search__panel::before { display:none; }
.ot-searchform button { background:#111; color:#fff; border:0; box-shadow:none; }
.ot-edition { padding-top:46px; }
.ot-edition__intro { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:32px; padding:12px 0 48px; }
.ot-edition__intro h1 { margin:0; font-size:clamp(32px,4vw,56px); line-height:1.45; font-weight:500; letter-spacing:-.045em; }
.ot-edition__intro p { margin:0 0 7px; padding-left:26px; border-left:1px solid #c6cec3; font-size:12px; line-height:2; color:#626762; }
.ot-edition__rule { display:flex; align-items:center; justify-content:space-between; border-top:0; padding:12px 0 20px; font:10px/1.3 Arial,sans-serif; letter-spacing:.12em; }
.ot-edition__grid { display:grid; grid-template-columns:minmax(0,1.85fr) minmax(0,1fr); column-gap:36px; }
.ot-feature { min-width:0; padding-bottom:24px; }
.ot-feature--lead { grid-row:span 2; border-right:1px solid var(--ot-line); padding-right:36px; }
.ot-feature:not(.ot-feature--lead) + .ot-feature { border-top:1px solid var(--ot-line); padding-top:24px; }
.ot-feature__image { display:block; overflow:hidden; background:#f0f1ee; aspect-ratio:2.4; }
.ot-feature--lead .ot-feature__image { aspect-ratio:1.38; }
.ot-feature__image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease; }
.ot-feature__image:hover img { transform:scale(1.025); }
.ot-feature__label { display:flex; justify-content:space-between; align-items:center; margin:17px 0 9px; font:10px/1.4 Arial,sans-serif; color:#626762; }
.ot-feature .ot-badge { position:static; display:inline; background:none; color:#31563d; padding:0; border:0; box-shadow:none; transform:none; font-size:10px; font-weight:600; letter-spacing:.1em; }
.ot-feature h2 { margin:0; font-size:23px; line-height:1.65; font-weight:600; letter-spacing:.015em; }
.ot-feature h2 a { text-decoration:none; }
.ot-feature h2 a:hover { text-decoration:underline; text-decoration-thickness:1px; }
.ot-feature--lead h2 { font-size:clamp(26px,2.5vw,36px); line-height:1.55; }
.ot-feature__copy > p { font-size:13px; line-height:1.9; color:#626762; margin:16px 0 0; max-width:42em; }
.ot-text-link { display:inline-flex; align-items:center; gap:22px; margin-top:18px; font:10px/1.5 Arial,"Hiragino Sans",sans-serif; letter-spacing:.1em; text-decoration:none; }
.ot-text-link span { font-size:17px; }
.ot-text-link:hover { text-decoration:underline; }
.ot-field-strip { margin-top:40px; margin-bottom:64px; }
.ot-field-strip__inner { position:relative; display:flex; align-items:center; justify-content:space-between; min-height:128px; gap:24px; padding:24px 32px; background:#edf1ec; overflow:hidden; }
.ot-kicker { display:block; margin:0 0 10px; color:#626762; font:10px/1.5 Arial,sans-serif; letter-spacing:.13em; }
.ot-field-strip p { margin:0; font-size:18px; letter-spacing:.04em; }
.ot-field-strip .ot-text-link { margin:0; white-space:nowrap; position:relative; z-index:1; }
.home .ot-main--wide { padding-top:0; }
.ot-list-heading { display:flex; flex-wrap:wrap; align-items:baseline; gap:12px 24px; border-top:3px solid #111; padding-top:20px; margin-bottom:30px; }
.ot-list-heading .ot-kicker { margin:0; font-size:26px; font-weight:700; letter-spacing:-1px; color:#111; }
.ot-list-heading .ot-section-title { font-size:26px; font-weight:600; margin:0; padding:0; }
.ot-list-heading > p:last-child { margin:0 0 0 auto; font-size:11px; color:#626762; }
.ot-section-title { border:0; box-shadow:none; background:none; color:#111; }
.ot-section-title::before,.ot-section-title::after { display:none; }
.home .ot-cards,.ot-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px 30px; }
.ot-card { display:flex; flex-direction:column; gap:12px; padding:0 0 22px; border:0; border-bottom:1px solid var(--ot-line); box-shadow:none; background:none; }
.ot-card__thumb { aspect-ratio:1.6; border:0; box-shadow:none; background:#f4f5f2; overflow:hidden; }
.ot-card:hover .ot-card__thumb { transform:none; box-shadow:none; }
.ot-card__thumb::before { display:none; }
.ot-card__thumb img { width:100%; height:100%; object-fit:cover; }
.ot-card .ot-badge { top:auto; bottom:12px; left:12px; right:auto; background:#fff; color:#31563d; border:0; box-shadow:none; padding:6px 10px; font-size:10px; letter-spacing:.08em; }
.ot-card:hover .ot-badge { transform:none; }
.ot-card__title { font-size:21px; font-weight:700; line-height:1.7; }
.ot-card__title a { background:none; }
.ot-card__title a:hover { text-decoration:underline; text-decoration-thickness:1px; }
.ot-card__excerpt { font-size:12px; line-height:1.85; color:#626762; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ot-card__meta { margin-top:auto; border:0; font:10px/1.5 Arial,sans-serif; letter-spacing:.03em; }
.ot-reveal { opacity:1; transform:none; transition:none; }
.ot-journal-footer { background:var(--ot-surface-color) var(--ot-surface-image) center 65% / var(--ot-surface-size) repeat; color:#111; padding:48px 0 24px; border-top:0; }
.ot-journal-footer__top { display:flex; justify-content:space-between; align-items:center; margin-bottom:38px; }
.ot-journal-footer__top p { font-size:16px; font-weight:700; }
.ot-journal-footer nav ul { display:flex; flex-wrap:wrap; gap:24px; list-style:none; padding:0; margin:0; }
.ot-journal-footer nav a { font-size:11px; text-decoration:none; }
.ot-journal-footer__copyright { margin-top:32px; font:10px Arial,sans-serif; color:#626762; }
.ot-article { box-shadow:none; border:0; }
.ot-article__title { font-size:clamp(26px,3vw,40px); line-height:1.65; }
.entry-content h2 { background:none; color:#111; border:0; border-top:1px solid #111; padding:24px 0 0; box-shadow:none; }
.entry-content h3 { border-color:#d9ddd8; }
.ot-widget { background:none; box-shadow:none; border-top:1px solid #111; }
.ot-editorial-note { margin-top:40px; padding:24px; background:#f5f6f2; font-size:12px; }
.ot-editorial-note__mark { display:none; }
.ot-editorial-note__links { display:flex; flex-wrap:wrap; gap:16px; }
.ot-operator-profile { margin-top:40px; }
.ot-operator-profile dl > div { display:grid; grid-template-columns:120px 1fr; border-bottom:1px solid var(--ot-line); padding:14px 0; }
.ot-operator-profile dd { margin:0; }
.ot-operator-profile__note { font-size:12px; color:#626762; }
@media(max-width:900px) {
 :root { --ot-gutter:24px; }
 .site-header__inner,.site-header.is-scrolled .site-header__inner { gap:20px; }
 .site-nav > ul { gap:20px; }
 .ot-edition__grid { column-gap:24px; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); }
 .ot-feature--lead { padding-right:24px; }
 .ot-feature h2 { font-size:20px; }
 .ot-feature--lead h2 { font-size:25px; }
 .home .ot-cards,.ot-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:780px) {
 .ot-masthead .ot-search { width:auto; order:0; margin:0; }
 .ot-masthead .ot-searchbtn { display:flex; }
 .ot-masthead .ot-search__panel { position:absolute; right:0; top:45px; width:min(300px,85vw); padding:14px; }
 .ot-masthead .ot-search:not([open]) .ot-search__panel { display:none; }
 .ot-masthead .site-nav { order:0; width:auto; }
}
@media(max-width:600px) {
 :root { --ot-gutter:20px; }
 .site-header { position:relative; }
 .site-header__inner,.site-header.is-scrolled .site-header__inner { flex-wrap:wrap; gap:22px; padding-top:22px; padding-bottom:0; min-height:0; }
 .ot-wordmark > span { font-size:34px; letter-spacing:-2px; }
 .ot-masthead .ot-search { margin-left:auto; align-self:center; }
 .ot-masthead .site-nav { order:3; width:100%; border-top:0; overflow-x:auto; margin:0; }
 .site-nav > ul { justify-content:flex-start; gap:26px; padding:12px 0; }
 .site-nav a { font-size:11px; white-space:nowrap; }
 .ot-edition { padding-top:30px; }
 .ot-edition__intro { display:block; padding:4px 0 32px; }
 .ot-edition__intro h1 { font-size:clamp(32px,9.8vw,44px); line-height:1.4; }
 .ot-edition__intro p { margin:22px 0 0; padding-left:16px; font-size:11px; }
 .ot-edition__intro h1 > span, .ot-edition__intro h1 > em { display:block; }
 .ot-edition__rule { font-size:8px; padding-bottom:16px; }
 .ot-edition__grid { display:block; }
 .ot-feature--lead { padding-right:0; border:0; padding-bottom:28px; }
 .ot-feature--lead .ot-feature__image { aspect-ratio:1.25; }
 .ot-feature--lead h2 { font-size:24px; }
 .ot-feature:not(.ot-feature--lead) { display:grid; grid-template-columns:112px 1fr; gap:16px; padding:20px 0; border-top:1px solid var(--ot-line); }
 .ot-feature:not(.ot-feature--lead) .ot-feature__image { aspect-ratio:1; }
 .ot-feature:not(.ot-feature--lead) .ot-feature__label { margin:0 0 6px; }
 .ot-feature:not(.ot-feature--lead) h2 { font-size:14px; line-height:1.65; }
 .ot-feature:not(.ot-feature--lead) .ot-text-link { display:none; }
 .ot-field-strip { margin-top:14px; margin-bottom:40px; }
 .ot-field-strip__inner { padding:24px 18px; min-height:112px; }
 .ot-field-strip p { font-size:15px; }
 .ot-field-strip .ot-text-link { font-size:9px; gap:8px; }
 .ot-list-heading { gap:8px 18px; }
 .ot-list-heading .ot-kicker { font-size:24px; }
 .ot-list-heading > p:last-child { display:none; }
 .home .ot-cards,.ot-cards { grid-template-columns:1fr; gap:24px; }
 .ot-card { display:grid; grid-template-columns:112px minmax(0,1fr); gap:8px 16px; position:relative; padding-bottom:24px; }
 .ot-card__thumb { grid-row:span 3; aspect-ratio:1; }
 .ot-card__title { font-size:16px; line-height:1.65; }
 .ot-card__excerpt { display:none; }
 .ot-card__meta { font-size:9px; }
 .ot-card .ot-badge { bottom:6px; left:6px; max-width:calc(100% - 12px); font-size:8px; padding:4px 6px; }
 .ot-journal-footer__top { display:block; }
 .ot-journal-footer__top p { margin-top:24px; font-size:14px; }
 .ot-journal-footer nav ul { gap:12px 20px; }
 .ot-operator-profile dl > div { grid-template-columns:1fr; gap:8px; }
}
@media (max-width:600px) {
 .ot-masthead .site-header__inner { flex-direction:row; justify-content:space-between; align-items:center; }
 .ot-masthead .ot-wordmark { margin:0; }
}
.ot-journal-footer a { color:#111; }

/* 正式な媒体名。屋号 OnTrails と区別する。 */

/* The opening statement: quiet label, large type, an editorial serif accent. */
.ot-edition__eyebrow { display:flex; align-items:center; gap:12px; margin-bottom:20px; color:#687365; font:9px/1.3 Arial,sans-serif; letter-spacing:.17em; }
.ot-edition__eyebrow::before { content:""; width:22px; height:1px; background:#687365; }
.ot-edition__intro h1 em { font-family:"Hiragino Mincho ProN","Yu Mincho",serif; font-weight:500; font-style:normal; color:#31563d; letter-spacing:-.04em; }
.ot-edition__description > span, .ot-edition__description strong { display:block; }
.ot-edition__description strong { margin-top:2px; font-size:14px; font-weight:500; color:#171917; }
@media(min-width:601px) and (max-width:900px) {
 .ot-edition__intro { gap:20px; }
 .ot-edition__intro h1 { font-size:34px; }
 .ot-edition__intro p { padding-left:18px; font-size:10px; }
 .ot-edition__description strong { font-size:12px; }
}
@media(max-width:600px) {
 .ot-edition__eyebrow { font-size:8px; margin-bottom:16px; }
 .ot-edition__description strong { font-size:13px; }
}
/* Motion stays finite and never gates access to content. */
@media (prefers-reduced-motion:no-preference) {
 .ot-edition__eyebrow { animation:ot-type-in .7s .05s both; }
 .ot-edition__intro h1 > span { display:inline-block; animation:ot-type-in .85s .12s both; }
 .ot-edition__intro h1 > em { display:inline-block; animation:ot-type-in 1s .24s both; }
 .ot-edition__description { animation:ot-type-in .85s .35s both; }
 .ot-edition__rule { animation:ot-rule-in 1.1s .2s both; transform-origin:left; }
 .ot-wordmark { transition:opacity .25s ease; }
 .ot-wordmark:hover { opacity:.65; }
 .ot-card__thumb img { transition:transform .65s cubic-bezier(.22,1,.36,1),filter .65s; }
 .ot-card:hover .ot-card__thumb img { transform:scale(1.045); filter:contrast(1.04); }
 .ot-text-link span { transition:transform .3s cubic-bezier(.22,1,.36,1); }
 .ot-text-link:hover span, .ot-text-link:focus-visible span { transform:translate(3px,-3px); }
 .ot-field-strip .ot-text-link:hover span { transform:translateY(4px); }
 .ot-field-strip__inner { transition:background-color .5s ease; }
 .ot-field-strip__inner:hover { background-color:var(--ot-surface-color); }
 .ot-journal-footer nav a { text-decoration:underline; text-decoration-color:transparent; transition:text-decoration-color .25s; }
 .ot-journal-footer nav a:hover { text-decoration-color:currentColor; }
}
@keyframes ot-type-in { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
@keyframes ot-rule-in { from { clip-path:inset(0 100% 0 0); } to { clip-path:inset(0); } }
@media(max-width:600px) { .ot-edition__intro h1 > span, .ot-edition__intro h1 > em { display:block; } }
.ot-main--wide .ot-rakuten { margin:20px 0 0; padding:0; border-block:0; text-align:center; }
.ot-main--wide .ot-rakuten__label { text-align:center; font-size:9px; letter-spacing:.15em; margin-bottom:8px; }
.ot-ad-preview { display:inline-block; line-height:0; }
@media(prefers-reduced-motion:reduce) {
 .ot-edition__intro *, .ot-edition__rule, .ot-card__thumb img { animation:none !important; transition:none !important; }
}
@media(prefers-reduced-motion:reduce) {
 *, *::before, *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}

/* A compact, centered opening statement. */
.ot-edition { padding-top:0; }
.ot-edition__intro { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; padding:58px 0 52px; text-align:center; }
.ot-edition__intro h1 { font-family:inherit; font-size:clamp(28px,3.5vw,48px); font-weight:600; letter-spacing:.035em; line-height:1.5; }
.ot-edition__intro h1 > span { display:inline-block; }
.ot-edition__intro p { border:0; padding:0; margin:0; font-size:12px; line-height:2; color:#6a6d68; letter-spacing:.055em; }
.ot-edition__description > span { display:inline-block; }
.ot-edition__description > span + span { margin-left:.65em; }
@media(max-width:600px) {
 .ot-edition__intro { gap:16px; padding:38px 0 34px; }
 .ot-edition__intro h1 { font-size:clamp(24px,6.5vw,32px); letter-spacing:0; }
 .ot-edition__intro h1 > span { display:inline-block; }
 .ot-edition__intro p { font-size:11px; line-height:1.9; }
 .ot-edition__description > span { display:block; }
 .ot-edition__description > span + span { margin-left:0; }
}

/* Single-line masthead and a direct entry into the stories. */
.ot-wordmark { flex-direction:row; align-items:baseline; gap:.3em; font-size:34px; }
.ot-wordmark > span { font-size:inherit; letter-spacing:-1.7px; line-height:1.15; }
.ot-edition { padding-top:30px; }
@media(max-width:900px) {
 .ot-wordmark { font-size:29px; }
 .site-header__inner { gap:20px; }
 .site-nav > ul { gap:18px; }
}
@media(max-width:600px) {
 .ot-wordmark { font-size:clamp(21px,6.3vw,28px); gap:.28em; }
 .ot-wordmark > span { font-size:inherit; letter-spacing:-1.1px; }
 .ot-masthead .site-header__inner { column-gap:10px; row-gap:4px; padding-top:16px; }
 .ot-masthead .site-nav > ul { padding:8px 0 12px; }
 .ot-edition { padding-top:24px; }
}

/* Uppercase masthead matched to ontrails.jp's rendered Arial logo. */
.ot-wordmark { font-size:32px; gap:.5em; white-space:nowrap; }
.ot-wordmark > span { font-family:Arial,sans-serif; font-weight:700; letter-spacing:.15em; line-height:1.2; }
@media(max-width:900px) { .ot-wordmark { font-size:26px; } }
@media(max-width:600px) {
 .ot-wordmark { font-size:clamp(20px,6.3vw,28px); gap:.35em; }
 .ot-wordmark > span { letter-spacing:.03em; }
 .ot-journal-footer__top p, .ot-journal-footer nav a { letter-spacing:0; }
 .ot-journal-footer { padding:28px 0 20px; }
 .ot-journal-footer__top { margin-bottom:20px; }
 .ot-journal-footer__top p { margin:12px 0 0; line-height:1.5; }
 .ot-journal-footer nav ul { gap:8px 20px; }
 .ot-journal-footer nav li { margin:0; padding:0; line-height:1.5; }
 .ot-journal-footer nav a { display:inline-block; line-height:1.5; padding:2px 0; }
 .ot-journal-footer__copyright { margin:20px 0 0; }
}

/* Mobile edition: an opening spread, short reads, then a paired photo spread. */
@media(max-width:600px) {
 .ot-edition { padding-top:18px; }
 .ot-edition__rule { padding-bottom:14px; font-size:8px; letter-spacing:.08em; }
 .ot-edition__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; }
 .ot-feature--lead { grid-column:1 / -1; grid-row:auto; padding-bottom:34px; }
 .ot-feature--lead .ot-feature__image { margin-inline:calc(-1 * var(--ot-gutter)); aspect-ratio:1.12; }
 .ot-feature--lead .ot-feature__copy { position:relative; margin:0; padding:20px 0 0; background:#fff; width:100%; }
 .ot-feature--lead .ot-feature__label { margin:0 0 12px; }
 .ot-feature--lead h2 { font-size:28px; line-height:1.6; font-weight:700; letter-spacing:-.025em; }
 .ot-feature--lead .ot-feature__copy > p { font-size:12px; margin-top:13px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
 .ot-feature:not(.ot-feature--lead) { display:flex; flex-direction:column; gap:0; padding:0 0 20px; border:0; }
 .ot-feature:not(.ot-feature--lead) + .ot-feature { padding-top:0; border:0; }
 .ot-feature:not(.ot-feature--lead) .ot-feature__image { aspect-ratio:4 / 5; }
 .ot-feature:not(.ot-feature--lead) .ot-feature__copy { display:flex; flex-direction:column; flex:1; }
 .ot-feature:not(.ot-feature--lead) .ot-feature__label { margin:12px 0 8px; }
 .ot-feature:not(.ot-feature--lead) h2 { font-size:16px; line-height:1.65; font-weight:700; }
 .ot-feature:not(.ot-feature--lead) .ot-text-link { display:inline-flex; align-self:flex-start; margin-top:auto; padding-top:12px; font-size:9px; }
 .ot-field-strip { margin-top:8px; margin-bottom:42px; }
 .ot-list-heading { border-top-width:1px; padding-top:18px; margin-bottom:24px; }
 .ot-list-heading .ot-section-title { font-size:22px; letter-spacing:.02em; }
 .home .ot-story-feed, .ot-story-feed { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 18px; }
 .ot-story-feed > .ot-card { grid-column:1 / -1; display:grid; grid-template-columns:104px minmax(0,1fr); grid-template-rows:auto 1fr; align-content:start; column-gap:16px; row-gap:10px; padding:0 0 22px; min-width:0; }
 .ot-story-feed .ot-card__thumb { grid-row:1 / 3; aspect-ratio:1; align-self:start; }
 .ot-story-feed .ot-card__title { margin:0; font-size:16px; line-height:1.65; }
 .ot-story-feed .ot-card__meta { margin:0; align-self:end; display:flex; flex-wrap:wrap; gap:6px 12px; }
 .ot-story-feed > .ot-card:nth-child(5n + 1) { display:flex; flex-direction:column; gap:13px; padding-bottom:26px; }
 .ot-story-feed > .ot-card:nth-child(5n + 1) .ot-card__thumb { width:100%; aspect-ratio:1.5; }
 .ot-story-feed > .ot-card:nth-child(5n + 1) .ot-card__title { font-size:24px; line-height:1.65; letter-spacing:-.02em; }
 .ot-story-feed > .ot-card:nth-child(5n + 1) .ot-card__excerpt { display:-webkit-box; -webkit-line-clamp:2; margin:0; font-size:12px; }
 .ot-story-feed > .ot-card:nth-child(5n + 1) .ot-card__meta { align-self:stretch; }
 .ot-story-feed > .ot-card:nth-child(5n + 4),
 .ot-story-feed > .ot-card:nth-child(5n + 5) { grid-column:auto; display:flex; flex-direction:column; gap:12px; }
 .ot-story-feed > .ot-card:nth-child(5n + 4) .ot-card__thumb,
 .ot-story-feed > .ot-card:nth-child(5n + 5) .ot-card__thumb { width:100%; aspect-ratio:4 / 5; }
 .ot-story-feed > .ot-card:nth-child(5n + 4) .ot-card__meta,
 .ot-story-feed > .ot-card:nth-child(5n + 5) .ot-card__meta { margin-top:auto; align-self:stretch; }
 .ot-story-feed .ot-card .ot-badge { left:8px; bottom:8px; max-width:calc(100% - 16px); padding:4px 6px; }
}

/* Content boxes use a faint, plain background. */
.ot-field-strip__inner,
.ot-editorial-note,
.ot-toc,
.ot-summary,
.entry-content .ot-appcard,
.entry-content blockquote:not(.ot-notice),
.ot-contact__done,
.ot-contact__error {
 background:#f7f8f6;
}
.entry-content .ot-appcard,
.entry-content blockquote:not(.ot-notice) { border-left-color:var(--ot-accent-dark); }

/* Search belongs to the masthead, with a quiet panel and a single clear action. */
.ot-masthead .site-header__inner { position:relative; }
.ot-masthead .ot-search { position:static; }
.ot-masthead .ot-searchbtn { position:relative; width:44px; height:44px; margin:0; transition:color .2s ease; }
.ot-masthead .ot-searchbtn:hover,
.ot-masthead .ot-search[open] > .ot-searchbtn { display:flex; background:transparent; color:var(--ot-accent-dark); }
.ot-searchbtn .ot-searchbtn__close { display:none; }
.ot-search[open] > .ot-searchbtn .ot-searchbtn__open { display:none; }
.ot-search[open] > .ot-searchbtn .ot-searchbtn__close { display:block; }
.ot-masthead .ot-search__panel {
 top:calc(100% + 12px); right:var(--ot-gutter); width:420px; max-width:calc(100% - 2 * var(--ot-gutter));
 padding:24px; border:1px solid #cbd3c9; border-radius:0;
 background:#f7f8f6;
 box-shadow:0 12px 24px rgb(23 25 23 / .06); color:var(--ot-text);
}
.ot-search__title { margin:0; font-size:18px; line-height:1.5; font-weight:700; letter-spacing:.02em; }
.ot-search__hint { margin:6px 0 20px; font-size:12px; line-height:1.7; color:var(--ot-muted); }
.ot-searchform { gap:8px; align-items:stretch; }
.ot-searchform input[type="search"] { height:46px; padding:10px 12px; font-family:inherit; font-size:16px; line-height:1.5; color:var(--ot-text); background:#fff; border:1px solid #cbd3c9; border-radius:0; box-shadow:none; appearance:none; }
.ot-searchform input[type="search"]::placeholder { color:#747a72; font-size:13px; }
.ot-searchform input[type="search"]:focus-visible { outline:2px solid var(--ot-accent-dark); outline-offset:2px; }
.ot-searchform button { min-width:64px; min-height:46px; padding:10px 16px; background:#171917; color:#fff; font-family:inherit; font-size:12px; font-weight:600; letter-spacing:.04em; border:0; border-radius:0; box-shadow:none; }
.ot-searchform button:hover { background:#31563d; }
.ot-searchform button:active { transform:none; box-shadow:none; }
@media(max-width:600px) {
 .ot-masthead .ot-search__panel { padding:20px; width:calc(100% - 2 * var(--ot-gutter)); }
 .ot-search__title { font-size:17px; }
 .ot-search__hint { margin-bottom:16px; }
}

@media(max-width:360px) { .ot-masthead .site-header__inner { column-gap:4px; } }
@media(max-width:600px) {
 .ot-masthead.is-scrolled .site-header__inner { column-gap:10px; row-gap:4px; padding-top:16px; }
}
@media(max-width:360px) {
 .ot-masthead.is-scrolled .site-header__inner { column-gap:4px; }
}

/* Decorative drawing sits behind content, without clipping menus or focus rings. */
.ot-contour-position { position:relative; }
.ot-contour-surface { isolation:isolate; }
.ot-contour-surface.ot-contour-ready { background-image:none; }
.ot-contour-surface > .ot-contour-art {
 position:absolute; inset:0; width:100%; height:100%; max-width:none; margin:0;
 z-index:-1; pointer-events:none; border-radius:inherit; overflow:hidden;
}
@media (prefers-reduced-motion: reduce) {
 .ot-contour-art path { stroke-dasharray:none !important; stroke-dashoffset:0 !important; }
}
@media print { .ot-contour-art { display:none; } }

/* Reserve plain color before the first draw, including offscreen surfaces. */
html.ot-contours-pending :is(.site-header, .ot-journal-footer) { background-image:none; }
.ot-journal-footer {
 --ot-surface-color:#343834;
 --ot-surface-image:url('../img/contours-light.svg');
 color:#edf0ec;
}
.ot-journal-footer a { color:#edf0ec; }
.ot-journal-footer__copyright { color:#c5ccc3; }
.ot-journal-footer .ot-contour-art g { stroke:#edf0ec; stroke-opacity:.35; }

/* Explicitly remove the closed panel on touch browsers as well. */
.ot-masthead .ot-search:not([open]) > .ot-search__panel,
.ot-masthead .ot-search__panel[hidden] { display:none !important; visibility:hidden; pointer-events:none; }
