/* 型05 ナチュラル ― 生成り・木の茶色・葉の緑。丸い文字、手書き風の一言、少し傾いた写真。 */
:root {
  --bg: #F6F0E6;
  --surface: #FFFDF8;
  --surface-2: #F8F2E8;
  --ink: #3A2E24;
  --muted: #7A6A5B;
  --line: #E6DCCB;
  --brand: #7A5230;
  --brand-deep: #4E3620;
  --brand-soft: #EFE5D6;
  --accent: #6E8B3D;
  --accent-soft: #EAF0DC;
  --ok: #5E8A3A;
  --radius: 22px;
  --radius-sm: 14px;
  --btn-radius: 16px;
  --header-bg: #F6F0E6;
  --header-ink: var(--brand-deep);
  --splash-bg: #F6F0E6;
  --splash-ink: var(--brand-deep);
  --hero-band: transparent;
  --hero-band-height: 0px;
  --footer-bg: #4E3620;
  --shadow: 0 2px 0 #E6DCCB;
  --f-display: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif;
  --f-body: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Hiragino Sans", sans-serif;
  --f-hand: "Klee One", "Zen Maru Gothic", cursive;
  --f-number: "Zen Maru Gothic", sans-serif;
  --name-tracking: .12em;
}
.site-header { border-bottom: 2px dashed var(--line); }
.site-header .brand-mark, .splash-mark { color: var(--brand); }
.site-footer .brand-mark { color: #F6F0E6; }
.site-tag { border-style: dashed; }
.splash-slogan, .slogan-line, .thanks { font-family: var(--f-hand); }
.splash-rule { height: 0; border-top: 3px dotted var(--accent); background: none; width: 60px; }

.hero .col { padding-top: 14px; }
.slogan-line { color: var(--brand); font-size: 15px; padding-bottom: 10px; }
.profile { border-top: 0; border: 2px solid var(--line); box-shadow: none; padding: 14px 16px 16px; }
.thanks { font-size: 13px; color: var(--brand); border-bottom-style: dotted; }
.pf-top { grid-template-columns: 112px 1fr; gap: 16px; align-items: center; }
.pf-photo {
  width: 112px; border-radius: 4px; background: #fff; padding: 6px 6px 18px; transform: rotate(-3deg);
  box-shadow: 0 2px 6px rgba(78,54,32,.18); overflow: visible;
}
.pf-photo svg, .pf-photo img { border-radius: 2px; }
.pf-photo::before {
  content: ""; position: absolute; top: -8px; left: 50%; width: 46px; height: 16px; margin-left: -23px;
  background: rgba(110,139,61,.45); transform: rotate(4deg);
}
.photo-note { left: 6px; right: 6px; bottom: 18px; }
.pf-facts li { border-radius: 999px; background: var(--surface-2); }
.pf-facts li.is-badge { color: var(--accent); }
.passion { font-family: var(--f-hand); font-size: 15px; border-left: 0; border-radius: var(--radius-sm); background: var(--accent-soft); padding: 10px 14px; }
.passion .accent { color: var(--brand-deep); }
.btn-secondary { box-shadow: inset 0 0 0 2px var(--brand); }
.btn-quiet { border-style: dashed; border-width: 1.5px; }
.tabs { border-radius: 999px; }
.tab, .tab[aria-selected="true"] { border-radius: 999px; }
.stat-num { color: var(--brand); }
.stats { border-style: dashed; }
.chip { background: var(--accent-soft); color: #4A5E28; }
.tile { border: 2px solid var(--line); box-shadow: none; }
.tile-art { border-radius: 50%; background: var(--accent); }
.tile:nth-child(3n+2) .tile-art { background: var(--brand); }
.tile:nth-child(3n) .tile-art { background: #B7884B; }
.eyebrow { color: var(--accent); font-family: var(--f-hand); text-transform: none; letter-spacing: .1em; font-size: 13px; }
.post { border: 2px solid var(--line); box-shadow: none; }
.post-featured { border-color: var(--accent); background: #FBFDF4; }
.post-tags { color: var(--accent); }
.corp-banner { background: linear-gradient(135deg, var(--accent) 0%, #4F6A2A 100%); }
.page-hero { background: var(--brand); }
.step-body, .summary div, .panel, .table-wrap { box-shadow: none; border: 2px solid var(--line); }
