/* Owner-selected settings override the original editorial layout. */
.container,.header-inner{max-width:var(--site-width,1280px)}
.site-header{background:var(--paper)}.hero h1{white-space:normal;overflow-wrap:anywhere}.hero-copy{min-width:0}
.article-grid{grid-template-columns:repeat(var(--site-columns,3),minmax(0,1fr))}
[data-section]{scroll-margin-top:115px}#home-sections>[data-section]{margin-block:var(--site-gap,48px)}
body[data-font=sans]{--serif:var(--sans)}body[data-font=sans] h1,body[data-font=sans] h2{font-weight:600}
body[data-hero=reverse] .hero-copy{order:2}body[data-hero=reverse] .hero-visual{order:1}
body[data-hero=stacked] .hero{display:flex;flex-direction:column;align-items:stretch;gap:35px}body[data-hero=stacked] .hero-visual{width:100%;max-width:none}body[data-hero=stacked] .hero-photo-link{height:460px}
body[data-hero=text] .hero{display:block;max-width:900px;padding-block:55px}body[data-hero=text] .hero-visual{display:none}
body[data-cards=list] .article-grid{grid-template-columns:1fr}body[data-cards=list] .article-card{display:grid;grid-template-columns:220px 1fr;column-gap:28px;border-bottom:1px solid var(--line);padding-bottom:26px}body[data-cards=list] .card-visual{grid-row:1/6;height:210px}body[data-cards=list] .card-meta{margin-top:0}body[data-cards=list] .card-bottom{grid-column:2}
.no-sticky .site-header{position:relative}.no-images .card-visual,.no-images .reader-image,.no-images .hero-visual,.no-images .custom-section>img{display:none}.no-images .hero{grid-template-columns:1fr}.no-images[data-cards=list] .article-card{display:block}.no-numbers .card-number,.no-numbers .theme-number{display:none}.no-other-title .card-other-title,.no-other-title .reader-other-title,.no-other-title .hero-translation{display:none}
.custom-section{display:flex;gap:45px;align-items:center;padding-block:35px;border-top:1px solid var(--line)}.custom-section>img{width:42%;max-height:440px;object-fit:cover}.custom-section>div{flex:1;min-width:0}.custom-section h2{font:clamp(25px,3vw,38px)/1.5 var(--serif);margin-bottom:24px}.custom-section p{white-space:pre-line;line-height:2.1;margin:17px 0;overflow-wrap:anywhere}.custom-section .button{margin-top:15px}
.comparison-controls{display:flex;justify-content:center;gap:25px;margin:24px 0;font-size:12px}.comparison-controls label{display:flex;align-items:center;gap:8px}.comparison-controls select{font:inherit;padding:8px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:3px}.translation-notice{font:13px/1.8 var(--sans);padding:14px;background:#e6ebdf;border-left:3px solid var(--olive);margin-bottom:24px}#icp-link{display:inline-block;padding-bottom:20px;font-size:11px;color:var(--muted)}
html[lang=en] .hero h1{font-size:clamp(36px,4.8vw,66px);line-height:1.18;letter-spacing:-.03em}html[lang=en] .brand-name{font-size:23px;letter-spacing:-.02em}html[lang=en] .main-nav{gap:18px;margin-left:12px}html[lang=en] .themes-strip>a>span:nth-child(2){font-size:17px}html[lang=en] .theme-english{display:none}html[lang=en] .reader-heading h1{line-height:1.3;letter-spacing:-.015em}html[lang=en] .article-section p{line-height:1.9}
@media(max-width:960px){.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-columns="1"] .article-grid{grid-template-columns:1fr}.header-inner{gap:16px}.main-nav{gap:16px;margin-left:8px}.language-switch{gap:6px}body[data-hero=reverse] .hero-copy{order:0}body[data-hero=reverse] .hero-visual{order:0}}
@media(max-width:640px){.article-grid{grid-template-columns:1fr}body[data-cards=list] .article-card{display:block}body[data-cards=list] .card-visual{height:220px;margin-bottom:20px}.custom-section{display:block}.custom-section>img{width:100%;margin-bottom:25px}.comparison-controls{gap:12px;flex-wrap:wrap}.comparison-controls label{font-size:10px}.header-tools{gap:6px}.language-switch{font-size:10px;gap:5px}.brand{gap:7px}.brand-logo{width:34px;height:34px}.brand-name{font-size:22px}html[lang=en] .brand-name{font-size:17px}.brand-roman{font-size:6px}.saved-nav{display:none}.footer-bottom{flex-wrap:wrap}body[data-hero=stacked] .hero-photo-link{height:300px}}

/* A translated brand name may already be the English name. */
[data-english-name][hidden],[data-brand-separator][hidden]{display:none!important}
/* Standalone image modules fill the available page width. */
.custom-section.custom-image-only{display:block}.custom-section.custom-image-only>img{width:100%;max-height:none}.custom-section.custom-image-only>div{display:none}

/* Theme visibility and owner typography. */
.themes-strip{grid-template-columns:1.35fr repeat(var(--theme-count,3),minmax(0,1fr))}
.hero h1{font-size:clamp(calc(30px * var(--title-scale,1)),calc(4.25vw * var(--title-scale,1)),calc(57px * var(--title-scale,1)))}
html[lang=en] .hero h1{font-size:clamp(calc(30px * var(--title-scale,1)),calc(4.8vw * var(--title-scale,1)),calc(66px * var(--title-scale,1)))}
.reader-heading h1{font-size:clamp(24px,calc(7vw * var(--title-scale,1)),calc(42px * var(--title-scale,1)));overflow-wrap:anywhere}
.section-heading h2,.about-copy h2,.custom-section h2{font-size:calc(31px * var(--title-scale,1));overflow-wrap:anywhere}
.article-card h3{font-size:calc(21px * var(--title-scale,1));overflow-wrap:anywhere}
.article-section h2,.parallel-section h2{font-size:calc(23px * var(--title-scale,1));overflow-wrap:anywhere}
.article-section p,.parallel-paragraph p{font-size:calc(16px * var(--body-scale,1))}
.reader-body.large-text .article-section p,.reader-body.large-text .parallel-paragraph p{font-size:calc(20px * var(--body-scale,1))}
.hero-description,.card-excerpt,.reader-lead,.about-copy>p:not(.about-signature):not(.editorial-note),.custom-section p{font-size:calc(14px * var(--body-scale,1));overflow-wrap:anywhere}
.filter-tabs button,.button{font-size:var(--button-size,12px)}
.filter-tabs{flex-wrap:wrap}.reading-controls{flex-wrap:wrap}.themes-strip>a{min-width:0;white-space:normal}
@media(max-width:700px){.themes-strip{grid-template-columns:1fr}.themes-strip>a{border-left:0}.section-heading h2,.about-copy h2,.custom-section h2{font-size:calc(26px * var(--title-scale,1))}}
/* Dynamic theme counts and editable text. */
.themes-strip{grid-template-columns:repeat(var(--theme-count,3),minmax(0,1fr));gap:12px}.themes-intro{grid-column:1/-1;padding-bottom:12px}.themes-strip>a{overflow-wrap:anywhere;flex-wrap:wrap}.theme-label,.theme-english{min-width:0}.filter-tabs{gap:12px;max-width:100%}.filter-tabs button{white-space:normal;overflow-wrap:anywhere;max-width:100%;text-align:left}.band-copy{min-width:0}.band-copy h2{font-size:calc(25px * var(--title-scale,1))}.band-copy>p:last-child{font-size:calc(14px * var(--body-scale,1));white-space:pre-line;overflow-wrap:anywhere}.has-text-style{overflow-wrap:anywhere;max-width:100%;white-space:normal}.brand-name.has-text-style{line-height:1.2}.hero-small,.footer-main,.footer-bottom{flex-wrap:wrap}.hero-copy .hero-description.has-text-style{max-width:100%}
/* Original CSS treatments; uploaded artwork and owner-selected colors remain editable. */
body[data-design=washi]{background-image:repeating-linear-gradient(3deg,transparent 0 5px,rgba(99,79,40,.035) 6px 7px)}body[data-design=washi] .hero-copy{border-left:1px solid var(--olive);padding-left:28px}body[data-design=washi] .edition-line{padding-bottom:18px;border-bottom:1px solid var(--line)}body[data-design=washi] .editorial-band{background:transparent;border-block:1px dashed var(--olive)}body[data-design=washi] .section-heading h2{letter-spacing:.16em}
body[data-design=sumi] .hero{border-bottom:3px solid var(--ink)}body[data-design=sumi] .hero-copy{padding-left:30px;border-left:4px solid var(--ink)}body[data-design=sumi] .hero h1{font-weight:700;letter-spacing:.06em}body[data-design=sumi] .hero-description{max-width:600px}body[data-design=sumi] .section-heading{border-bottom:1px solid var(--ink);padding-bottom:24px}body[data-design=sumi] .editorial-band{background:transparent;border-block:2px solid var(--ink)}body[data-design=sumi] .card-number{background:var(--ink);color:var(--paper);padding:7px}
body[data-design=sakura] .hero{position:relative;border-top:1px solid var(--line)}body[data-design=sakura] .hero-copy{padding:24px;background:radial-gradient(ellipse at top right,rgba(191,114,140,.13),transparent 65%);border-radius:60px 5px 60px 5px}body[data-design=sakura] .editorial-band{background:rgba(191,114,140,.1);border-radius:32px}body[data-design=sakura] .article-card{padding-bottom:20px;border-bottom:2px dotted var(--line)}body[data-design=sakura] .section-heading h2{font-weight:600}
body[data-design=ukiyo] .edition-line{border-bottom:6px solid var(--rust);padding-bottom:18px}body[data-design=ukiyo] .hero-copy{border-top:2px solid var(--olive);padding-top:24px}body[data-design=ukiyo] .themes-strip{border-top:6px double var(--olive);border-bottom:6px double var(--olive)}body[data-design=ukiyo] .editorial-band{background:repeating-radial-gradient(ellipse at bottom left,transparent 0 22px,rgba(37,77,103,.07) 23px 25px);border:2px solid var(--olive)}body[data-design=ukiyo] .section-heading .eyebrow{color:var(--rust);font-weight:700}
body[data-design=manga] .hero{border:3px solid var(--ink);padding:24px;box-shadow:6px 6px 0 var(--ink)}body[data-design=manga] .hero h1{font-weight:800;line-height:1.3}body[data-design=manga] .hero-copy>.eyebrow{display:inline-block;border:2px solid var(--ink);padding:10px;background:var(--paper)}body[data-design=manga] .themes-strip{border:3px solid var(--ink);padding:20px;background:radial-gradient(rgba(0,0,0,.1) .6px,transparent .8px) 0 0/6px 6px}body[data-design=manga] .article-card{border:2px solid var(--ink);padding:16px}body[data-design=manga] .editorial-band{border:3px solid var(--ink);background:var(--paper);box-shadow:5px 5px 0 var(--ink)}body[data-design=manga] .section-heading h2{font-weight:800}
body[data-design=kissaten] .hero{border-block:6px double var(--olive)}body[data-design=kissaten] .hero h1{font-style:italic}body[data-design=kissaten] .editorial-band{border:6px double var(--olive);background:transparent}body[data-design=kissaten] .section-heading h2{border-bottom:2px solid var(--rust);padding-bottom:10px}body[data-design=kissaten] .theme-number{color:var(--rust);font-size:15px}body[data-design=kissaten] .card-meta{letter-spacing:.12em}
body[data-design^=swiss] .hero h1,body[data-design^=swiss] .section-heading h2,body[data-design^=swiss] .article-card h3,body[data-design^=swiss] .reader-heading h1{font-weight:750;letter-spacing:-.035em;line-height:1.2}body[data-design^=swiss] .hero-description{max-width:440px}body[data-design^=swiss] .hero{border-top:8px solid var(--rust)}body[data-design^=swiss] .themes-strip{border-top:2px solid var(--ink)}body[data-design^=swiss] .theme-number{font-size:22px;color:var(--rust);font-weight:700}body[data-design^=swiss] .section-heading{border-top:2px solid var(--ink);padding-top:20px}body[data-design^=swiss] .article-card{border-bottom:2px solid var(--ink);padding-bottom:25px}body[data-design^=swiss] .reader-heading{text-align:left}body[data-design^=swiss] .reader-meta{justify-content:flex-start}body[data-design^=swiss] .editorial-band{border:2px solid var(--ink);border-left:12px solid var(--rust);background:transparent}body[data-design^=swiss] .eyebrow{font-weight:700;letter-spacing:.08em}
body[data-design=swiss-poster] .hero-copy{max-width:980px}body[data-design=swiss-poster] .hero h1{font-size:clamp(36px,calc(5.2vw * var(--title-scale,1)),calc(76px * var(--title-scale,1)));line-height:1.08}body[data-design=swiss-poster] .edition-line{color:var(--rust);font-weight:700}body[data-design=swiss-poster] .card-number{font-size:28px;font-weight:800;background:var(--paper);color:var(--rust);padding:5px}body[data-design=swiss-poster] .hero-visual{border-top:1px solid var(--ink);padding-top:24px}
@media(max-width:700px){.themes-strip{grid-template-columns:1fr}.themes-strip>a{border-left:0}.editorial-band{display:flex;flex-wrap:wrap}.band-copy{flex:1 1 210px;max-width:100%}.band-link{margin-left:0}.reader-toolbar{flex-wrap:wrap}body[data-design=manga] .hero{padding:18px;box-shadow:3px 3px 0 var(--ink)}body[data-design=washi] .hero-copy,body[data-design=sumi] .hero-copy{padding-left:16px}body[data-design=sakura] .hero-copy{padding:18px}}
/* An owner can use longer labels and add more navigation links. */
.header-inner{height:auto;min-height:100px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}.main-nav{flex-wrap:wrap;min-width:0;gap:12px 20px;margin-left:0;flex:1 1 360px}.main-nav a{overflow-wrap:anywhere;max-width:100%;font-size:var(--button-size,12px)}.header-tools{margin-left:auto}.brand{min-width:0;max-width:100%}.brand-name{overflow-wrap:anywhere}.menu-toggle[hidden]{display:none!important}@media(max-width:760px){.header-inner{min-height:77px}.main-nav{max-height:65vh;overflow-y:auto;overscroll-behavior:contain}.main-nav a{padding:12px}}
body[data-cards=list] .card-visual{width:100%;min-width:0;aspect-ratio:auto}
@media(max-width:760px){.main-nav{top:100%}}
/* Footer colors follow the selected theme unless explicitly customized. */
.site-footer{background:var(--footer-background,var(--paper));color:var(--footer-text,var(--ink));border-top-color:currentColor}
.site-footer .footer-main>p,.site-footer .footer-bottom,.site-footer .back-top,.site-footer #icp-link{color:inherit}
.site-footer .footer-bottom{border-top-color:currentColor}
/* Fixed typography changes layout through wrapping, never through viewport font scaling. */
body.fixed-typography .hero h1,html[lang=en] body.fixed-typography .hero h1,body.fixed-typography .reader-heading h1{font-size:var(--title-size);line-height:1.4;overflow-wrap:anywhere}
body.fixed-typography .section-heading h2,body.fixed-typography .about-copy h2,body.fixed-typography .custom-section h2,body.fixed-typography .band-copy h2{font-size:var(--section-title-size);line-height:1.55}
body.fixed-typography .hero-description,body.fixed-typography .card-excerpt,body.fixed-typography .reader-lead,body.fixed-typography .about-copy>p:not(.about-signature):not(.editorial-note),body.fixed-typography .custom-section p,body.fixed-typography .band-copy>p:last-child,body.fixed-typography .article-section p,body.fixed-typography .parallel-paragraph p{font-size:var(--body-size);line-height:1.95}
body.fixed-typography .reader-body.large-text .article-section p,body.fixed-typography .reader-body.large-text .parallel-paragraph p{font-size:calc(var(--body-size) + 4px)}
body .hero h1,body .section-heading h2,body .about-copy h2,body .band-copy h2,body .custom-section h2,body .article-card h3,body .reader-heading h1,body .article-section h2{font-family:var(--title-font,var(--serif))}
body.custom-body-weight .hero-description,body.custom-body-weight .card-excerpt,body.custom-body-weight .reader-lead,body.custom-body-weight .about-copy p,body.custom-body-weight .custom-section p,body.custom-body-weight .band-copy p,body.custom-body-weight .article-section p,body.custom-body-weight .parallel-paragraph p{font-weight:var(--body-weight)}
body.custom-title-weight .hero h1,body.custom-title-weight .section-heading h2,body.custom-title-weight .about-copy h2,body.custom-title-weight .custom-section h2,body.custom-title-weight .band-copy h2,body.custom-title-weight .article-card h3,body.custom-title-weight .reader-heading h1,body.custom-title-weight .article-section h2{font-weight:var(--title-weight)}
body.custom-button-weight .button,body.custom-button-weight .filter-tabs button,body.custom-button-weight .main-nav a{font-weight:var(--button-weight)}
body .hero-small,body .section-aside,body .card-meta,body .card-other-title,body .card-bottom,body .results-line,body .editorial-note,body .hero-visual figcaption,body .about-logo figcaption,body .edition-line,body .reader-meta,body .eyebrow,body .theme-english,body .hero-translation{color:var(--muted);opacity:1;font-size:var(--small-size,14px);line-height:1.8}
body .footer-bottom,body .footer-main>p,body .back-top,body .site-footer #icp-link{font-size:var(--small-size,14px);line-height:1.9;opacity:1}
body .footer-bottom>span:last-child{max-width:none;text-align:inherit}.footer-bottom>*{min-width:0;overflow-wrap:anywhere}.hero-copy,.hero-visual,.about-copy,.card-excerpt{min-width:0}
body .hero .button,body .filter-tabs button,body .main-nav a{font-size:var(--button-size,14px)}

body .hero-description,body .card-excerpt,body .reader-lead,body .about-copy>p:not(.about-signature),body .custom-section p,body .band-copy>p:last-child{color:var(--ink)}
.site-footer .footer-brand,.site-footer .footer-wordmark,.site-footer .footer-roman{color:inherit}
body.fixed-typography .brand-name,body.fixed-typography .footer-brand .footer-wordmark{font-size:30px;line-height:1.3}
html[lang=en] body.fixed-typography .brand-name{font-size:26px}
body.fixed-typography .themes-strip>a>span:nth-child(2){font-size:var(--body-size)}
body.fixed-typography [data-i18n=themesIntro]{font-size:var(--body-size)}
body.fixed-typography .hero-translation,body.fixed-typography .hero-small,body.fixed-typography .edition-line,body.fixed-typography .hero-visual figcaption,body.fixed-typography .editorial-note{font-size:var(--small-size)}
body.fixed-typography .image-feature p{font-size:var(--section-title-size);font-family:var(--title-font);line-height:1.5}
body.fixed-typography .feature-overline,body.fixed-typography .feature-mark{font-size:var(--small-size)}

/* Two fixed size tiers, applied only to the selected language profile. */
body.device-typography .hero h1,html[lang=en] body.device-typography .hero h1,body.device-typography .reader-heading h1{font-size:var(--title-size);line-height:1.4;overflow-wrap:anywhere}
body.device-typography .section-heading h2,body.device-typography .about-copy h2,body.device-typography .custom-section h2,body.device-typography .band-copy h2{font-size:var(--section-title-size);line-height:1.55}
body.device-typography .hero-description,body.device-typography .card-excerpt,body.device-typography .reader-lead,body.device-typography .about-copy>p:not(.about-signature):not(.editorial-note),body.device-typography .custom-section p,body.device-typography .band-copy>p:last-child,body.device-typography .article-section p,body.device-typography .parallel-paragraph p{font-size:var(--body-size);line-height:1.95}
body.device-typography .reader-body.large-text .article-section p,body.device-typography .reader-body.large-text .parallel-paragraph p{font-size:calc(var(--body-size) + 4px)}
body.device-typography .brand-name,body.device-typography .footer-brand .footer-wordmark{font-size:30px;line-height:1.3}
html[lang=en] body.device-typography .brand-name{font-size:26px}
body.device-typography .themes-strip>a>span:nth-child(2){font-size:var(--body-size)}
body.device-typography [data-i18n=themesIntro]{font-size:var(--body-size)}
body.device-typography .hero-translation,body.device-typography .hero-small,body.device-typography .edition-line,body.device-typography .hero-visual figcaption,body.device-typography .editorial-note{font-size:var(--small-size)}
body.device-typography .image-feature p{font-size:var(--section-title-size);font-family:var(--title-font);line-height:1.5}
body.device-typography .feature-overline,body.device-typography .feature-mark{font-size:var(--small-size)}
body.device-typography .article-card h3,body.device-typography .article-section h2{font-size:var(--section-title-size);line-height:1.5}
body.device-typography .footer-roman,body.device-typography .brand-roman,body.device-typography .about-signature{font-size:var(--small-size);line-height:1.7}
@media(max-width:600px){body.device-typography .brand-name,html[lang=en] body.device-typography .brand-name,body.device-typography .footer-brand .footer-wordmark{font-size:24px}body.device-typography .hero-description,body.device-typography .article-section p,body.device-typography .parallel-paragraph p{line-height:1.8}}
/* Override legacy six-to-nine-pixel captions within the brushed language. */
body.device-typography .hero-copy>.eyebrow,body.device-typography .themes-intro .eyebrow,body.device-typography .about-label>.eyebrow,body.device-typography .band-copy .eyebrow,body.device-typography .reflection-box .eyebrow,body.device-typography .edition-line>span:last-child,body.device-typography .comparison-controls,body.device-typography .comparison-controls label,body.device-typography .translation-notice,body.device-typography .language-switch{font-size:var(--small-size);line-height:1.7;color:var(--muted);letter-spacing:.03em}
body.device-typography .language-switch button{min-height:36px;padding:8px 3px}
body.device-typography .edition-line{flex-wrap:wrap}

/* Clear glyphs, editorial English, and a legible founder signature. */
body.device-typography{font-style:normal;font-kerning:normal;font-optical-sizing:auto}
body.device-typography :is(.hero h1,.section-heading h2,.about-copy h2,.band-copy h2,.article-card h3,.reader-heading h1,.custom-section h2,.brand-name,.footer-wordmark){font-style:normal;letter-spacing:normal}
body.device-typography :is(.hero-description,.card-excerpt,.article-section p,.parallel-paragraph p,.about-copy p,.custom-section p,.band-copy p){letter-spacing:normal;font-style:normal}
body.device-typography .about-copy>.about-signature{font-size:20px;line-height:1.8;color:var(--ink);font-style:normal;display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
body.device-typography .about-signature #home-signature{font-family:"Cormorant Garamond",Georgia,serif;font-size:32px;font-weight:600;letter-spacing:normal;font-style:normal}
body.device-typography .about-signature [data-i18n=founder]{font-family:var(--sans);font-size:inherit;font-weight:500;font-style:normal}
body.device-typography :is(.search-box input,.reader-toolbar button,.card-bottom,.theme-number,.card-meta,.card-other-title,.reading-controls,.empty-state,.toast){font-size:var(--small-size);line-height:1.7}
body.device-typography .filter-tabs sup{font-size:14px}
body.device-typography .parallel-paragraph p:lang(zh-CN){font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif}
body.device-typography .parallel-paragraph p:lang(ja){font-family:"Hiragino Sans","Yu Gothic","Noto Sans CJK JP",sans-serif}
body.device-typography .parallel-paragraph p:lang(en){font-family:Georgia,"Times New Roman",serif}
@media(max-width:600px){body.device-typography .about-copy>.about-signature{font-size:18px}body.device-typography .about-signature #home-signature{font-size:28px}}

/* Fill the window while retaining readable text measures and mobile gutters. */
body.full-width .container,body.full-width .header-inner{width:100%;max-width:none;padding-left:clamp(24px,4vw,80px);padding-right:clamp(24px,4vw,80px)}
body.full-width .about-section,body.full-width[data-hero=text] .hero{max-width:none;width:100%}
body.full-width .hero-copy,body.full-width[data-design=swiss-poster] .hero-copy{max-width:none;min-width:0}
body.full-width .hero-description,body.full-width[data-design^=swiss] .hero-description,body.full-width[data-design=sumi] .hero-description{max-width:min(100%,60ch)}
body.full-width .about-copy>p:not(.about-signature){max-width:70ch}
body.full-width .hero-photo-link{height:clamp(360px,34vw,720px)}
body.full-width[data-hero=stacked] .hero-photo-link{height:clamp(360px,40vw,780px)}
body.full-width .about-section{grid-template-columns:minmax(200px,1fr) minmax(0,2.05fr);gap:clamp(28px,5vw,100px)}
body.full-width .hero-visual figcaption{gap:16px;flex-wrap:wrap}body.full-width .hero-visual figcaption>*{min-width:0;overflow-wrap:anywhere}
@media(max-width:760px){body.full-width .container,body.full-width .header-inner{padding-left:20px;padding-right:20px}body.full-width .about-section{grid-template-columns:1fr;gap:28px}body.full-width .hero-photo-link,body.full-width[data-hero=stacked] .hero-photo-link{height:clamp(290px,80vw,420px)}}
@media print{body.full-width .container{padding:0}}

/* Clear article entry with a full-size touch target in every language. */
.article-card .card-bottom{flex-wrap:wrap;gap:14px}
.article-card .card-bottom>span{flex:1 1 140px;min-width:0;overflow-wrap:anywhere}
.article-card .read-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;flex:0 0 auto;max-width:100%;min-height:48px;margin-left:auto;padding:8px 16px;border:2px solid var(--ink);border-radius:4px;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:max(18px,var(--button-size,18px));font-weight:600;line-height:1.3;letter-spacing:0;text-decoration:none;transition:background .15s,color .15s}
.article-card .read-arrow{display:block;width:28px;height:28px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.article-card .read-link:hover,.article-card .read-link:focus-visible{background:var(--ink);color:var(--paper);text-decoration:none}
.article-card .read-link:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
@media(max-width:600px){.article-card .read-link{font-size:max(17px,var(--button-size,17px));padding:9px 14px}.article-card .read-arrow{width:24px;height:24px}}
@media(prefers-reduced-motion:reduce){.article-card .read-link{transition:none}}

/* Kumakuma minimal effects 20261016 */
/* Kumakuma Lab · restrained motion layer. Load after the site's existing CSS. */
body.kk-effects {
  --kk-effect-accent: var(--rust, #a84e36);
}

body.kk-effects .site-header {
  transition: background-color 240ms ease, border-color 240ms ease,
    box-shadow 240ms ease;
}

body.kk-effects.kk-effects-scrolled .site-header {
  background: var(--paper, #faf8f2);
  border-bottom-color: color-mix(in srgb, var(--ink, #202323) 15%, transparent);
  box-shadow: 0 5px 18px rgb(32 35 35 / 3%);
}

@supports (backdrop-filter: blur(10px)) {
  body.kk-effects.kk-effects-scrolled .site-header {
    background: color-mix(in srgb, var(--paper, #faf8f2) 96%, transparent);
    backdrop-filter: blur(10px);
  }
}

/* Move only the arrow, preserving the existing image and button transforms. */
body.kk-effects :is(.hero .button, .themes-strip > a, .band-link) > span:last-child {
  display: inline-block;
  transition: translate 220ms cubic-bezier(.2, .7, .2, 1), color 220ms ease;
}

@media (hover: hover) and (pointer: fine) {
  body.kk-effects :is(.hero .button, .themes-strip > a, .band-link):hover > span:last-child {
    translate: 3px -3px;
  }

  body.kk-effects :is(.themes-strip > a, .band-link):hover {
    color: var(--kk-effect-accent);
  }
}

body.kk-effects :is(.hero .button, .themes-strip > a, .band-link):focus-visible > span:last-child {
  translate: 3px -3px;
}

/* Keep keyboard focus explicit, including when a reveal is interrupted. */
body.kk-effects :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 2px solid var(--kk-effect-accent);
  outline-offset: 5px;
}

@media (prefers-reduced-motion: reduce) {
  body.kk-effects .site-header,
  body.kk-effects :is(.hero .button, .themes-strip > a, .band-link) > span:last-child {
    transition: none;
  }

  body.kk-effects :is(.hero .button, .themes-strip > a, .band-link) > span:last-child {
    translate: none !important;
  }
}
