:root{color:#241a16;background:#fff8ee;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans SC,Noto Sans JP,Noto Sans KR,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}.site-shell{min-height:100vh;overflow:hidden;background:linear-gradient(180deg,rgba(255,248,238,.7),#fff8ee 820px),#fff8ee}.topbar{position:fixed;z-index:20;top:16px;left:50%;display:grid;grid-template-columns:auto 1fr auto;width:min(1180px,calc(100% - 32px));min-height:64px;padding:10px 12px;transform:translateX(-50%);border:1px solid rgba(80,54,40,.15);border-radius:24px;background:rgba(255,250,243,.82);box-shadow:0 18px 50px rgba(80,54,40,.14);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.brand,.topbar{align-items:center}.brand{display:inline-flex;gap:10px;min-width:132px;font-weight:800;letter-spacing:0}.brand img{width:38px;height:38px;border-radius:12px;box-shadow:0 10px 22px rgba(199,108,61,.22)}.brand span{font-size:1.05rem}.nav-links{display:flex;justify-content:center;gap:24px;color:rgba(36,26,22,.72);font-size:.93rem;font-weight:650}.nav-links a{border-radius:999px}.nav-links a:hover{color:#241a16}.language-switcher{display:inline-flex;gap:4px;padding:4px;border:1px solid rgba(80,54,40,.12);border-radius:16px;background:rgba(255,255,255,.62)}.language-switcher button{height:34px;padding:0 10px;border:0;border-radius:12px;background:transparent;color:rgba(36,26,22,.62);cursor:pointer;font:inherit;font-size:.82rem;font-weight:700}.language-switcher button.active{background:#2f6f68;color:#fff;box-shadow:0 8px 20px rgba(47,111,104,.22)}.hero{position:relative;min-height:930px;padding:132px 24px 70px}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,248,238,.98),rgba(255,248,238,.86) 34%,rgba(255,248,238,.16) 76%),linear-gradient(180deg,rgba(255,248,238,0) 52%,#fff8ee 94%),url(/assets/irori-character-hero.png) top /cover no-repeat}.hero-content{position:relative;z-index:1;display:grid;grid-template-columns:minmax(280px,620px);align-items:center;width:min(1180px,100%);margin:0 auto}.hero-copy{padding:54px 0 36px}.eyebrow,.open-source-badge,.section-kicker{margin:0 0 16px;color:#b75f4d;font-size:.8rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.hero h1{margin:0;color:#1f1714;font-size:clamp(4.8rem,11vw,9.5rem);line-height:.86;letter-spacing:0}.subtitle{width:min(100%,620px);margin:28px 0 0;color:rgba(36,26,22,.78);font-size:clamp(1.08rem,2vw,1.42rem);font-weight:520;line-height:1.7}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:16px;font-weight:800}.button.primary{background:#2f6f68;color:white;box-shadow:0 16px 30px rgba(47,111,104,.26)}.button.secondary{border:1px solid rgba(80,54,40,.18);background:rgba(255,255,255,.72);color:#241a16}.open-source-badge{display:inline-flex;margin-top:24px;padding:9px 12px;border:1px solid rgba(183,95,77,.2);border-radius:999px;background:rgba(255,250,243,.66);text-transform:none;letter-spacing:0}.fold-peek{position:absolute;z-index:2;bottom:22px;left:50%;display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));grid-gap:12px;gap:12px;width:min(760px,calc(100% - 40px));transform:translateX(-50%)}.fold-peek span{padding:14px 16px;border:1px solid rgba(80,54,40,.12);border-radius:18px;background:rgba(255,255,255,.78);box-shadow:0 14px 40px rgba(80,54,40,.1);color:rgba(36,26,22,.74);font-size:.88rem;font-weight:800;text-align:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.characters,.download,.features,.overview{width:min(1180px,calc(100% - 40px));margin:0 auto}.character-copy h2,.download h2,.section-heading h2{margin:0;color:#1f1714;font-size:clamp(2.2rem,4.4vw,4.25rem);line-height:1.02;letter-spacing:0}.character-copy p,.download p,.section-heading p{margin:0;color:rgba(36,26,22,.7);font-size:1.08rem;line-height:1.8}.features{padding:80px 0 88px}.section-heading{display:grid;grid-template-columns:minmax(280px,.8fr) 1fr;grid-gap:48px;gap:48px;align-items:end;margin-bottom:34px}.section-heading.compact{align-items:start}.section-heading .section-kicker{grid-column:1/-1;margin-bottom:-24px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}.feature-card{min-height:308px;padding:24px;border:1px solid rgba(80,54,40,.12);border-radius:8px;background:rgba(255,252,247,.72);box-shadow:0 18px 50px rgba(80,54,40,.08)}.feature-index{display:inline-flex;margin-bottom:28px;color:#2f6f68;font-size:.82rem;font-weight:900}.feature-card h3{margin:0 0 14px;color:#241a16;font-size:1.24rem;line-height:1.25}.feature-card p{margin:0;color:rgba(36,26,22,.64);font-size:.97rem;line-height:1.72}.overview{padding:80px 0;border-top:1px solid rgba(80,54,40,.12)}.overview-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-top:34px}.overview-grid article{display:grid;grid-gap:12px;gap:12px;min-height:150px;padding:22px;border-radius:8px;background:#25302f;color:white}.overview-grid strong{font-size:1.24rem}.overview-grid span{color:rgba(255,255,255,.72);line-height:1.6}.characters{display:grid;grid-template-columns:.95fr 1fr;align-items:center;grid-gap:54px;gap:54px;padding:74px 0;border-top:1px solid rgba(80,54,40,.12)}.character-art{overflow:hidden;border-radius:8px;box-shadow:0 28px 70px rgba(80,54,40,.16)}.character-art img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}.character-copy p{margin-top:20px}.character-list{display:grid;grid-gap:10px;gap:10px;margin-top:30px}.character-list article{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:66px;padding:16px 18px;border:1px solid rgba(80,54,40,.12);border-radius:8px;background:rgba(255,255,255,.62)}.character-list strong{color:#241a16;font-size:1.05rem}.character-list span{color:rgba(36,26,22,.62);text-align:right}.download{display:grid;justify-items:center;padding:88px 24px 96px;border:1px solid rgba(80,54,40,.12);border-radius:8px;background:linear-gradient(135deg,rgba(47,111,104,.11),rgba(215,131,114,.18)),rgba(255,252,247,.82);text-align:center}.download img{width:74px;height:74px;margin-bottom:22px}.download p{max-width:620px;margin-top:18px}footer{display:flex;justify-content:center;padding:34px 20px;color:rgba(36,26,22,.52);font-size:.92rem}@media (max-width:980px){.topbar{grid-template-columns:auto auto;gap:10px}.nav-links{display:none}.language-switcher{justify-self:end;max-width:min(470px,100%);overflow-x:auto}.hero{min-height:auto;padding-top:112px}.hero-bg{background:linear-gradient(180deg,rgba(255,248,238,.88),rgba(255,248,238,.62) 44%,#fff8ee 92%),url(/assets/irori-character-hero.png) 57% top /auto 58% no-repeat}.hero-content{grid-template-columns:1fr;gap:20px}.hero-copy{padding-top:360px}.fold-peek{position:relative;bottom:auto;margin-top:28px;grid-template-columns:repeat(2,1fr)}.characters,.section-heading{grid-template-columns:1fr;gap:28px}.section-heading .section-kicker{margin-bottom:-12px}.feature-grid,.overview-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.topbar{top:10px;width:calc(100% - 20px);border-radius:18px}.brand{min-width:auto}.brand span{display:none}.language-switcher button{height:32px;padding:0 8px;font-size:.76rem}.hero{padding:94px 16px 48px}.hero-copy{padding-top:280px}.hero h1{font-size:clamp(4.2rem,26vw,6.8rem)}.subtitle{font-size:1rem}.download .hero-actions,.hero-actions{width:100%}.button{flex:1 1 180px}.fold-peek{width:100%;grid-template-columns:1fr 1fr;gap:8px}.fold-peek span{min-height:48px;padding:12px 8px;font-size:.8rem}.characters,.download,.features,.overview{width:calc(100% - 28px)}.feature-grid,.overview-grid{grid-template-columns:1fr}.feature-card{min-height:auto}.character-list article{display:grid;grid-gap:6px;gap:6px}.character-list span{text-align:left}}