:root{color-scheme:light;--bg: #f8e4e1;--bg-soft: #fff4f0;--panel: rgba(255, 247, 244, .82);--panel-strong: rgba(255, 250, 247, .95);--line: rgba(111, 16, 39, .16);--line-strong: rgba(111, 16, 39, .28);--text: #241318;--muted: #7c6168;--accent: #7b1029;--accent-strong: #54091c;--accent-soft: rgba(123, 16, 41, .12);--accent-warm: #d1a15a;--shadow: 0 22px 70px rgba(91, 26, 39, .14);--shadow-soft: 0 16px 42px rgba(91, 26, 39, .1);--radius-lg: 32px;--radius-md: 22px;--radius-sm: 16px;--space-2xs: .375rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 2.5rem;--surface-glass: rgba(255, 250, 247, .74);--surface-raised: rgba(255, 250, 247, .84);--surface-strong: rgba(255, 248, 246, .96);--focus-ring: 0 0 0 3px rgba(123, 16, 41, .18);--transition-standard: transform .18s ease, border-color .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease, opacity .18s ease;--max-width: 1180px;--font-body: "Avenir Next", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--font-display: "Iowan Old Style", "Hiragino Mincho ProN", "Yu Mincho", "Times New Roman", serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:radial-gradient(circle at top left,rgba(123,16,41,.18),transparent 30%),radial-gradient(circle at 78% 16%,rgba(209,161,90,.18),transparent 24%),linear-gradient(180deg,#faece8,#f5d8d8 48%,#fff3ef);color:var(--text);font-family:var(--font-body)}body{margin:0;min-height:100vh;position:relative}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(180deg,rgba(0,0,0,.36),transparent 85%);opacity:.5}a{color:inherit;text-decoration-color:color-mix(in srgb,var(--accent) 56%,transparent);text-underline-offset:.18em;transition:color .18s ease,text-decoration-color .18s ease,transform .18s ease,opacity .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease}img,video{display:block;max-width:100%}img[loading=lazy]{opacity:0;transform:translateY(14px) scale(.985);transition:opacity .42s ease,transform .42s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}img[loading=lazy].is-revealed{opacity:1;transform:translateY(0) scale(1)}strong{color:color-mix(in srgb,var(--text) 92%,black)}.site-shell{position:relative;isolation:isolate;min-height:100vh}.ambient{position:fixed;border-radius:999px;filter:blur(16px);opacity:.72;pointer-events:none;z-index:-1;animation:drift 18s ease-in-out infinite}.ambient-one{top:88px;left:-60px;width:280px;height:280px;background:radial-gradient(circle,rgba(123,16,41,.32),transparent 70%)}.ambient-two{top:26vh;right:-80px;width:340px;height:340px;background:radial-gradient(circle,rgba(209,161,90,.24),transparent 72%);animation-delay:-6s}.ambient-three{bottom:6vh;left:36%;width:240px;height:240px;background:radial-gradient(circle,rgba(255,188,198,.38),transparent 70%);animation-delay:-11s}.site-header{position:fixed;top:0;left:0;right:0;z-index:10;backdrop-filter:blur(18px);background:#f8e4e1c7;border-bottom:1px solid rgba(111,16,39,.08);transition:transform .22s ease,background-color .22s ease,box-shadow .22s ease,border-color .22s ease}body[data-scrolled=true] .site-header{background:#f8e4e1eb;border-bottom-color:#6f102724;box-shadow:0 18px 40px #5b1a271f}body[data-header-hidden=true] .site-header{transform:translateY(calc(-100% - 12px))}.site-header-inner,.site-footer-inner{width:min(calc(100% - 32px),var(--max-width));margin:0 auto}.site-header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:14px;text-decoration:none}.brand-mark{width:42px;height:42px;display:inline-block;border-radius:50%;overflow:hidden;box-shadow:0 12px 24px #42301e29}.brand-mark img{display:block;width:100%;height:100%}.brand-copy{display:grid;gap:2px}.brand-copy strong{font-family:var(--font-display);font-size:1.15rem;font-weight:700;letter-spacing:.04em}.brand-copy span{color:var(--muted);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.site-nav{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:10px}.site-nav-search{display:inline-flex;align-items:center;gap:8px;margin-left:8px;padding:5px;border:1px solid rgba(111,16,39,.12);border-radius:999px;background:#fffcf9b8;box-shadow:0 12px 24px #5b1a2714}.site-nav-search:focus-within{border-color:#7b10293d;box-shadow:0 12px 24px #5b1a2714,0 0 0 3px #7b102914}.site-nav-search-input{width:clamp(132px,16vw,220px);min-width:0;border:0;background:transparent;color:var(--text);font:inherit;padding:0 10px}.site-nav-search-input::placeholder{color:color-mix(in srgb,var(--muted) 82%,white)}.site-nav-search-input:focus{outline:none}.site-nav-search-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--accent);color:#fff;width:38px;height:38px;padding:0;cursor:pointer;transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease}.site-nav-search-button svg{width:18px;height:18px}.site-nav-search-button:hover,.site-nav-search-button:focus-visible{background:var(--accent-strong);box-shadow:0 10px 18px #5b1a272e;transform:translateY(-1px);outline:none}.site-nav-group{position:relative}.site-nav-group:after{content:"";position:absolute;top:100%;right:0;width:max(100%,220px);height:12px}.site-nav-group-label{appearance:none;display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;font-size:.92rem;font:inherit;user-select:none}.site-nav-group-label:after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-1px) rotate(45deg);transition:transform .18s ease}.site-nav-group:hover .site-nav-group-label:after,.site-nav-group:focus-within .site-nav-group-label:after{transform:translateY(2px) rotate(225deg)}.site-nav-group-label:hover,.site-nav-group-label:focus-visible{color:var(--text);border-color:#82684c29;background:#ffffff7a;outline:none}.site-nav-submenu{position:absolute;top:calc(100% + 10px);right:0;display:none;gap:8px;min-width:220px;padding:12px;border:1px solid rgba(111,16,39,.12);border-radius:18px;background:#fff8f6f5;box-shadow:0 18px 36px #5b1a2724;backdrop-filter:blur(18px)}.site-nav-submenu a{display:block;padding:10px 12px;border-radius:12px;text-decoration:none}.site-nav-submenu a:hover,.site-nav-submenu a:focus-visible{background:#7b102929;box-shadow:inset 0 0 0 1px #7b102924;color:var(--accent-strong);transform:translate(2px);outline:none}.site-nav-group:hover .site-nav-submenu,.site-nav-group:focus-within .site-nav-submenu{display:grid}.site-nav-toggle{display:none;appearance:none;border:1px solid rgba(111,16,39,.14);border-radius:999px;background:#fffaf7b8;box-shadow:0 12px 24px #5b1a2714;color:var(--accent);cursor:pointer;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}.site-nav-toggle:hover,.site-nav-toggle:focus-visible{background:#ffffffe6;border-color:#6f102742;outline:none}.site-nav-toggle span{width:18px;height:2px;border-radius:999px;background:currentColor;transition:transform .18s ease,opacity .18s ease}.site-nav a{padding:10px 14px;border:1px solid transparent;border-radius:999px;color:var(--muted);text-decoration:none;font-size:.92rem}.site-nav a:hover,.site-nav a:focus-visible{color:var(--text);border-color:#82684c29;background:#ffffff7a;outline:none}.site-main{position:relative;z-index:1;padding-top:calc(var(--site-header-offset, 76px) + 16px)}.page{display:grid;align-content:start;gap:22px;width:min(calc(100% - 32px),var(--max-width));margin:0 auto;padding:48px 0 88px}.breadcrumb-nav{display:flex;align-items:center;min-height:22px;margin:0}.breadcrumb{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0;padding:0;list-style:none;color:var(--muted);font-size:.84rem;line-height:1.6}.breadcrumb li{display:inline-flex;align-items:center;min-width:0}.breadcrumb a{color:inherit;text-decoration:none}.breadcrumb a:hover,.breadcrumb a:focus-visible{color:var(--accent);outline:none}.breadcrumb li+li:before{content:"›";margin-right:6px;color:color-mix(in srgb,var(--muted) 58%,transparent);font-weight:700}.breadcrumb [aria-current=page]{color:color-mix(in srgb,var(--text) 72%,var(--muted));font-weight:700}.section,.article{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.5),transparent 45%),var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);backdrop-filter:blur(18px);animation:fade-up .64s ease both}.section{overflow:hidden}.article{overflow:visible}.section:before,.article:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at top right,rgba(123,16,41,.12),transparent 26%),radial-gradient(circle at bottom left,rgba(209,161,90,.1),transparent 28%);pointer-events:none}.section h2{font-family:var(--font-display);line-height:1.04;letter-spacing:-.02em;color:color-mix(in srgb,var(--text) 96%,black)}.section-heading p,.footer-copy{color:var(--muted);line-height:1.8}.section{padding:clamp(24px,4vw,34px)}.section-head,.article-lead-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:flex-end;justify-content:space-between}.section-heading{position:relative;z-index:1}.section-heading h2{margin:0;font-size:clamp(2rem,4vw,3rem)}.section-heading p{margin:12px 0 0}.article{padding:clamp(22px,4vw,34px)}@media(prefers-reduced-motion:reduce){img[loading=lazy]{opacity:1;transform:none;transition:none}}.site-footer{padding:0 0 44px}.site-footer-inner{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:24px 28px;border:1px solid rgba(111,16,39,.12);border-radius:28px;background:#fff6f3a8;backdrop-filter:blur(16px);box-shadow:var(--shadow-soft)}.footer-copy,.footer-meta{margin:0}.footer-meta{display:grid;justify-items:end;gap:10px;color:var(--muted);text-align:right}.footer-meta p{margin:0;white-space:nowrap}.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 14px;font-size:.86rem}.footer-links a{color:var(--muted);text-decoration:none}.footer-links a:hover,.footer-links a:focus-visible{color:var(--accent);outline:none}@keyframes fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes drift{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(0,-16px,0) scale(1.04)}}@media(max-width:959px){.site-header[data-nav-open=true]{max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.site-header-inner{width:min(calc(100% - 24px),var(--max-width));display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:0;min-height:auto;padding:12px 0;align-items:start}.brand,.brand-copy{min-width:0}.brand-copy span{font-size:.72rem;line-height:1.35;white-space:normal}.site-nav-toggle{display:inline-flex}.site-header[data-nav-open=true] .site-nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.site-header[data-nav-open=true] .site-nav-toggle span:nth-child(2){opacity:0}.site-header[data-nav-open=true] .site-nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.site-nav{grid-column:1 / -1;display:grid;justify-content:stretch;width:100%;max-height:0;overflow:hidden;opacity:0;margin-top:0;pointer-events:none;transform:translateY(-4px);transition:max-height .22s ease,margin-top .22s ease,opacity .18s ease,transform .18s ease}.site-header[data-nav-open=true] .site-nav{max-height:calc(100dvh - 88px - env(safe-area-inset-bottom));overflow-y:auto;margin-top:12px;padding-bottom:max(8px,env(safe-area-inset-bottom));opacity:1;pointer-events:auto;transform:translateY(0);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.site-nav a,.site-nav-group-label,.site-nav-search{width:100%;border-color:#6f10271a;background:#fffaf794;border-radius:14px}.site-nav a,.site-nav-group-label{padding:11px 12px}.site-nav-group{width:100%}.site-nav-search{display:grid;grid-template-columns:minmax(0,1fr) auto;margin-left:0;padding:8px;gap:8px}.site-nav-search-input{width:100%;min-height:42px;padding:0 12px;border-radius:10px;background:#ffffffd6}.site-nav-search-button{min-height:42px;min-width:42px}.site-nav-group:after{display:none}.site-nav-submenu{position:static;min-width:0;margin-top:8px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}.site-nav-submenu a{padding-left:12px}.site-nav-group-label{pointer-events:none;padding:0;border:0;background:transparent;color:var(--muted);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase}.site-nav-group-label:after{display:none}.site-nav-group-label:hover,.site-nav-group-label:focus-visible{color:var(--muted);border-color:transparent;background:transparent}.site-nav-submenu{display:grid;margin-top:6px;gap:6px}}@media(max-width:899px){.site-header-inner,.site-footer-inner{width:min(calc(100% - 24px),var(--max-width))}.site-header-inner,.site-footer-inner,.article-lead-row,.section-head{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}.page{width:min(calc(100% - 24px),var(--max-width));padding:20px 0 68px}.page>.article{width:calc(100% + 24px);margin-inline:-12px;padding-inline:14px;border-inline:0;border-radius:0}.section-heading h2{font-size:clamp(1.8rem,9vw,2.6rem)}.site-main{padding-top:calc(var(--site-header-offset, 76px) + 16px)}.site-footer-inner{padding:20px 22px}.footer-meta{justify-items:start;text-align:left}.footer-meta p{white-space:normal}.footer-links{justify-content:flex-start}}@media(max-width:719px){.site-header-inner,.site-footer-inner{width:min(calc(100% - 16px),var(--max-width))}.breadcrumb-nav{padding-inline:12px}.page{width:100%}.section{width:100%;padding:18px;border-inline:0;border-radius:0}.page>.article{width:100%;margin-inline:0;padding-inline:12px;border-inline:0;border-radius:0}.site-footer-inner{padding:18px 16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
