.page-hero{max-width:1320px;margin:0 auto;padding:calc(var(--nav-h) + clamp(56px,9vw,110px)) var(--page-inset) 0;text-align:center}.page-hero .hero-kicker{animation:none}.page-hero h1{margin:0 auto;max-width:24ch;font-size:clamp(40px,6vw,80px);line-height:1.02;letter-spacing:-0.03em;font-weight:var(--w-semibold);text-wrap:balance}.page-hero h1 em{font-style:normal;color:var(--grass-deep)}.page-hero .hero-sub{animation:none}.section--tight{padding-top:clamp(44px,6vw,72px)}.panel + .panel{margin-top:20px}.panel-label{margin:0 4px 16px;font:13px var(--mono);letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-3)}.pgrid{display:grid;gap:14px;grid-template-columns:1fr}@media (min-width:640px){.pgrid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.pgrid{grid-template-columns:repeat(3,1fr)}}.pcard .pcard-head .badge{margin-bottom:0}.vcard-num{display:block;font:13px var(--mono);letter-spacing:0.14em;color:var(--grass-deep);margin-bottom:14px}.acc{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}.acc + .acc{margin-top:10px}.acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:20px 24px;font-size:18px;font-weight:var(--w-semibold);letter-spacing:-0.012em;transition:background var(--dur-fast) ease}.acc summary:hover{background:var(--bg-soft)}.acc summary::-webkit-details-marker{display:none}.acc summary::after{content:"+";margin-left:auto;font:18px var(--mono);color:var(--ink-4)}.acc[open] summary::after{content:"\2013"}.acc ul{margin:0;padding:0 24px 20px 44px;display:flex;flex-direction:column;gap:8px;font-size:15px;line-height:1.6;color:var(--ink-2)}.post-list{display:grid}.post-list a{display:flex;align-items:baseline;gap:18px;padding:20px 4px;border-top:1px solid var(--line);text-decoration:none;color:var(--ink);transition:background var(--dur-fast) ease}.post-list a:last-child{border-bottom:1px solid var(--line)}.post-list a:hover{background:color-mix(in srgb,var(--card) 55%,transparent)}.post-list .post-date{font:13px var(--mono);color:var(--ink-4);white-space:nowrap}.post-list .post-name{flex:1;font-size:18px;font-weight:var(--w-semibold);letter-spacing:-0.012em}.post-list .arrow{font-size:15px;color:var(--ink-4);transition:transform var(--dur-base) var(--ease-out),color var(--dur-base) ease}.post-list a:hover .arrow{transform:translate(2px,-2px);color:var(--grass-deep)}.article{max-width:720px;margin:0 auto;padding:calc(var(--nav-h) + clamp(48px,8vw,88px)) var(--page-inset) 0}.article .article-kicker{margin:0 0 14px;font:13px var(--mono);letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-3)}.article h1{margin:0 0 10px;font-size:clamp(34px,5vw,56px);line-height:1.05;letter-spacing:-0.028em;font-weight:var(--w-semibold)}.article .article-meta{margin:0 0 44px;font:13px var(--mono);color:var(--ink-4)}.article h2{margin:40px 0 12px;font-size:23px;line-height:1.25;letter-spacing:-0.018em;font-weight:var(--w-semibold)}.article p,.article li{font-size:17px;line-height:1.7;color:var(--ink-2)}.article ol{padding-left:22px}.article a{color:var(--brand-strong)}.article .article-sign{margin-top:44px;padding-top:20px;border-top:1px solid var(--line);font:13px/1.7 var(--mono);color:var(--ink-4)}.article .back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:28px;font-size:14px;text-decoration:none;color:var(--ink-3)}.article .back-link:hover{color:var(--ink)}.contact-card{max-width:640px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(32px,6vw,56px);text-align:center}.contact-card p{margin:0 0 22px;font-size:16px;line-height:1.6;color:var(--ink-2)}.contact-email{display:inline-block;font:clamp(17px,3vw,24px) var(--mono);color:var(--ink);text-decoration:none;border-bottom:2px solid var(--brand);padding-bottom:3px;transition:color var(--dur-fast) ease;overflow-wrap:anywhere}.contact-email:hover{color:var(--brand-strong)}