:root{--ivory:#f5f1e8;--ink:#202b29;--gold:#b18a57;--brown:#3b302c;--paper:#fffdf7;--muted:#6e6b62;--line:#d8ccb9;--serif:Georgia,"Noto Serif JP","Yu Mincho",serif;--sans:Inter,"Noto Sans JP","Hiragino Sans",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);line-height:1.75}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,78px);border-bottom:1px solid rgba(32,43,41,.15);background:rgba(245,241,232,.96);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{display:flex;gap:13px;align-items:center;line-height:1.05}.brand-mark{width:34px;height:34px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);transform:rotate(-18deg)}.brand b{display:block;font-family:var(--serif);letter-spacing:.08em;font-size:14px}.brand small{display:block;margin-top:6px;color:var(--muted);font-size:11px}.site-header nav{display:flex;gap:28px;font-size:13px;letter-spacing:.04em}.site-header nav a:hover{color:#7e5b32}.nav-toggle{display:none;background:none;border:0}.hero{min-height:calc(100vh - 92px);position:relative;overflow:hidden}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(.96)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,27,25,.84),rgba(20,27,25,.28) 62%,rgba(20,27,25,.06))}.hero-copy{position:relative;z-index:1;color:#fff;padding:clamp(80px,13vh,150px) clamp(28px,8vw,130px);max-width:900px}.hero-copy>span,.listing-hero>span,.text-page>span,.section-head>span,.eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(48px,8vw,112px);line-height:1.04;margin:.35em 0}.hero p{font-family:var(--serif);font-size:clamp(16px,2vw,22px);max-width:620px}.button{display:inline-block;margin-top:24px;border:1px solid var(--gold);background:var(--gold);color:#fff;padding:13px 22px;font-size:13px;letter-spacing:.06em}.explore,.feature,.filters,.map-layout,.search-panel,.related{padding:clamp(70px,10vw,140px) clamp(22px,6vw,96px)}.section-head{max-width:760px;margin-bottom:48px}.section-head h2,.listing-hero h1,.text-page h1,.prose h2,.related h2{font-family:var(--serif);font-weight:400;line-height:1.2}.section-head h2{font-size:clamp(34px,5vw,64px);margin:.2em 0}.portal-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.portal-grid a{min-height:190px;padding:26px 20px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;transition:.2s}.portal-grid a:last-child{border-right:0}.portal-grid a:hover{background:var(--ink);color:var(--ivory)}.portal-grid b{font-family:var(--serif);font-size:40px;font-weight:400;color:var(--gold)}.portal-grid span{font-size:13px}.feature{background:#e8e1d5}.editorial-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:34px}.editorial-grid>div:nth-child(1),.editorial-grid>div:nth-child(4){grid-column:span 7}.editorial-grid>div:nth-child(2),.editorial-grid>div:nth-child(3){grid-column:span 5}.editorial-grid>div:nth-child(5),.editorial-grid>div:nth-child(6){grid-column:span 6}.card{background:var(--paper);height:100%}.card a{height:100%;display:flex;flex-direction:column}.card img{width:100%;aspect-ratio:3/2;object-fit:cover}.card-copy{padding:22px 24px 28px}.card h3{font-family:var(--serif);font-size:clamp(20px,2.2vw,31px);font-weight:400;line-height:1.35;margin:.3em 0}.card p{color:var(--muted);font-size:13px;margin:0}.listing-hero{padding:clamp(80px,10vw,140px) clamp(22px,8vw,130px) 60px;max-width:1100px}.listing-hero h1{font-size:clamp(44px,7vw,88px);margin:.25em 0}.listing-hero p{max-width:720px;font-family:var(--serif);font-size:18px}.chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:25px}.chip-row button,.cookie-controls button{border:1px solid var(--ink);background:transparent;padding:9px 16px;cursor:pointer}.chip-row button.active,.chip-row button:hover{background:var(--ink);color:#fff}.select-label{display:flex;gap:15px;align-items:center;margin-bottom:24px}.select-label select{padding:10px;min-width:280px;background:var(--paper);border:1px solid var(--line)}.result-count{color:var(--muted);font-size:13px;margin:18px 0 30px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.filter-item[hidden]{display:none}.breadcrumbs{padding:24px clamp(22px,5vw,78px);display:flex;gap:9px;color:var(--muted);font-size:12px}.article-page{padding:0 clamp(22px,5vw,78px) 110px}.article-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(36px,6vw,96px);align-items:center}.article-head h1{font-family:var(--serif);font-size:clamp(38px,5.5vw,76px);font-weight:400;line-height:1.12;margin:.3em 0}.article-head img{width:100%;aspect-ratio:3/2;object-fit:cover}.lead{font-size:17px;color:var(--brown)}.lang-switch{display:inline-block;margin-top:18px;border-bottom:1px solid var(--gold);font-size:13px}.facts{display:grid;grid-template-columns:repeat(5,1fr);margin:80px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.facts>div{padding:22px;border-right:1px solid var(--line)}.facts>div:last-child{border:0}.facts dt{font-size:11px;letter-spacing:.08em;color:var(--muted)}.facts dd{margin:10px 0 0;font-family:var(--serif);font-size:15px;line-height:1.5}.article-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:clamp(50px,9vw,130px);max-width:1200px;margin:auto}.prose{font-family:var(--serif);font-size:clamp(18px,2vw,22px)}.prose h2{font-size:42px}.prose p{margin:0 0 1.4em}.article-grid aside{border-left:1px solid var(--line);padding-left:28px;font-size:13px}.article-grid aside h2{font-family:var(--serif);font-weight:400}.sources{padding-left:20px;word-break:break-word}.image-note{margin-top:36px;color:var(--muted)}.related{padding-left:0;padding-right:0}.map-layout{padding-top:15px}.world-map{width:100%;background:#e8e1d5;border:1px solid var(--line)}.world-map path{fill:#87968f;stroke:var(--ivory);stroke-width:4;transition:.2s}.world-map a:hover path{fill:var(--gold)}.world-map text{pointer-events:none;font-family:var(--serif);fill:#fff;font-size:20px;text-anchor:middle}.region-panels section{padding:80px 0;border-bottom:1px solid var(--line)}.region-panels h2{font-family:var(--serif);font-size:42px;font-weight:400}.region-panels h2 small{color:var(--gold)}.mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.mini-grid .card h3{font-size:20px}.text-link{display:inline-block;margin-top:25px;border-bottom:1px solid var(--gold)}.search-panel{max-width:1300px}.search-panel label{display:block;font-size:13px}.search-panel input{display:block;margin-top:10px;width:100%;font-family:var(--serif);font-size:clamp(25px,4vw,48px);padding:18px 0;border:0;border-bottom:1px solid var(--ink);background:transparent;outline:0}.text-page{max-width:880px;padding:clamp(90px,14vw,180px) clamp(22px,8vw,130px);min-height:70vh}.text-page h1{font-size:clamp(44px,7vw,80px)}.text-page p{font-family:var(--serif);font-size:20px}.cookie-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:30px}footer{background:var(--ink);color:var(--ivory);padding:70px clamp(22px,6vw,96px);display:grid;grid-template-columns:1fr 1fr;gap:45px}footer b{font-family:var(--serif);letter-spacing:.08em}footer p{max-width:520px;color:#c8c3b8}.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;font-size:13px}footer>small{grid-column:1/-1;color:#a29d92}.cookie-banner{position:fixed;z-index:30;left:20px;right:20px;bottom:20px;background:var(--paper);border:1px solid var(--gold);padding:18px;display:flex;gap:12px;align-items:center;box-shadow:0 10px 50px #0003}.cookie-banner[hidden]{display:none}.cookie-banner p{margin:0 auto 0 0;font-size:12px}.cookie-banner button{background:var(--ink);color:#fff;border:0;padding:8px 13px}.cookie-banner a{font-size:12px;text-decoration:underline}@media(max-width:900px){.site-header{height:74px}.site-header nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--ivory);padding:25px;flex-direction:column}.site-header nav.open{display:flex}.nav-toggle{display:block}.hero{min-height:82vh}.portal-grid{grid-template-columns:1fr 1fr}.portal-grid a{border-bottom:1px solid var(--line)}.editorial-grid>div{grid-column:span 12!important}.card-grid{grid-template-columns:repeat(2,1fr)}.article-head{grid-template-columns:1fr}.article-head>div{padding-top:45px}.facts{grid-template-columns:1fr 1fr}.article-grid{grid-template-columns:1fr}.article-grid aside{border-left:0;border-top:1px solid var(--line);padding:25px 0}.mini-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.brand small{display:none}.hero-copy{padding-top:80px}.hero h1{font-size:50px}.portal-grid,.card-grid,.mini-grid{grid-template-columns:1fr}.facts{grid-template-columns:1fr}.facts>div{border-right:0;border-bottom:1px solid var(--line)}.cookie-banner{flex-wrap:wrap}.world-map text{font-size:28px}footer{grid-template-columns:1fr}.footer-links{grid-template-columns:1fr}}

.article-head h1 {
  font-size: clamp(1.75rem, 3.1vw, 3.25rem);
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.article-head > div { min-width: 0; }
.article-grid .sources a { overflow-wrap: anywhere; }
@media (max-width: 560px) {
  .article-head { gap: 1.5rem; }
  .article-head > div { padding-top: 1.25rem; }
  .article-head h1 { font-size: clamp(1.65rem, 6.25vw, 2rem); }
}

/* Article body, sources and related reading */
.article-page { padding-bottom: clamp(40px, 6vw, 80px); }
.article-page .prose h2,
.article-page .related .section-head h2 {
  font-size: clamp(24px, 2.5vw, 34px);
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.article-page .prose h2,
.article-page .article-grid aside h2 { margin: 0 0 1rem; }
.article-page .prose p:last-child { margin-bottom: 0; }
.article-page .article-grid aside { min-width: 0; font-size: .875rem; }
.article-page .article-grid aside h2 { font-size: 1.375rem; line-height: 1.35; }
.article-page .sources { margin: 0; }
.article-page .related {
  max-width: 1200px;
  margin-inline: auto;
  padding: clamp(32px, 4vw, 56px) 0 0;
}
.article-page .related .section-head { margin-bottom: clamp(16px, 2vw, 24px); }
.article-page .related .card { min-width: 0; overflow-wrap: anywhere; }

/* Four ritual facts and one full-width legal row. */
.facts { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-block: clamp(1.75rem, 5vw, 3.5rem); }
.facts > div:nth-child(4) { border-inline-end: 0; }
.facts > div { min-width: 0; overflow-wrap: anywhere; }
.facts dt { font-size: .75rem; }
.facts > .civil-facts { grid-column: 1 / -1; border: 0; border-block-start: 1px solid var(--line); }
.civil-facts ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1rem 1.5rem; list-style: none; margin: 0; padding: 0; }
.civil-country { display: block; font: 500 .875rem/1.4 var(--sans); }
.civil-age { display: block; margin-block: .25rem; font-size: clamp(1.125rem, 2vw, 1.5rem); font-weight: 650; line-height: 1.35; }
.civil-facts small { display: block; font: .8125rem/1.55 var(--sans); color: var(--muted); }
.civil-facts a { text-decoration: underline; text-underline-offset: .15em; }
@media (max-width: 900px) {
  .facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .facts > div:nth-child(2) { border-inline-end: 0; }
  .facts > div:nth-child(-n+2) { border-block-end: 1px solid var(--line); }
}
@media (max-width: 560px) {
  .facts > div { padding: .875rem; border: 0; }
  .facts > div:nth-child(-n+2) { border-block-end: 1px solid var(--line); }
  .facts > div:nth-child(odd):not(.civil-facts) { border-inline-end: 1px solid var(--line); }
}


.skip-link { position: fixed; inset-block-start: .75rem; inset-inline-start: .75rem; z-index: 10000; padding: .75rem 1rem; color: #fff; background: #26392e; border: 2px solid #fff; }
.skip-link:not(:focus) { clip-path: inset(50%); }
