:root{--ink:#34442d;--leaf:#729e59;--sage:#e3efcf;--butter:#fff0b7;--cream:#fffdf4;--line:#c8d9af}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,sans-serif;line-height:1.7}a{color:inherit}header{background:#fffdf4;border-bottom:2px dashed var(--line)}.strip{background:var(--sage);text-align:center;padding:8px;font-size:12px;letter-spacing:.07em}.nav{max-width:1160px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 20px}.brand{font-family:Georgia,serif;font-weight:800;font-size:29px;text-decoration:none}.brand em{color:var(--leaf);font-style:normal}.links{display:flex;gap:23px;align-items:center;flex-wrap:wrap}.links a{text-decoration:none;font-size:14px;font-weight:bold}.pill{border:2px solid var(--ink);border-radius:30px;padding:7px 17px;box-shadow:4px 4px var(--line);background:white}.hero{background:linear-gradient(110deg,#e9f4d9,#fffdf4 58%,#fff0bd);border-bottom:2px dashed var(--line)}.hero-inner{max-width:1160px;margin:auto;padding:70px 20px;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:50px}.eyebrow{font-size:12px;color:#628a47;font-weight:800;letter-spacing:.15em;text-transform:uppercase}h1,h2,h3{font-family:Georgia,serif;line-height:1.12}h1{font-size:clamp(54px,7vw,95px);margin:14px 0}h1 span{color:var(--leaf)}.lead{font-size:18px;max-width:620px}.btn{display:inline-block;background:var(--ink);color:white;text-decoration:none;border-radius:30px;padding:11px 22px;font-weight:bold;box-shadow:5px 5px #bcd49d}.notebook{background:#fff;border:2px solid var(--line);border-radius:20px;padding:32px;transform:rotate(4deg);box-shadow:12px 12px #d7e7ba;text-align:center;max-width:420px;margin:auto}.notebook .flower{font-size:52px}.notebook h2{font-size:39px;margin:8px}.container{max-width:1160px;margin:auto;padding:64px 20px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:15px;flex-wrap:wrap}.section-head h2{font-size:39px;margin:6px 0 24px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{background:white;border:2px solid var(--line);border-radius:19px;overflow:hidden;box-shadow:5px 6px #eef1df}.art{height:190px;display:flex;align-items:center;justify-content:center;font-size:68px;background:linear-gradient(135deg,#e2f1cf,#fff0bb)}.art.yellow{background:linear-gradient(135deg,#fff1bd,#fff9e9)}.art.white{background:linear-gradient(135deg,#f3f5e6,#dfeecb)}.card-content{padding:21px}.tag{font-size:11px;font-weight:800;letter-spacing:.11em;color:#628a47}.card h3{font-size:25px;margin:8px 0}.card p{margin:8px 0 15px}.meta{color:#697361;font-size:13px}.card a.more{font-weight:bold;text-decoration-thickness:2px}.note{background:#fff4c9;border:2px dashed #ddc978;border-radius:18px;padding:24px;margin-top:36px}.article{max-width:800px;margin:auto;padding:64px 20px 100px}.article h1{font-size:clamp(42px,6vw,67px)}.article h2{font-size:30px;margin-top:35px}.article p{font-size:18px}.article .intro{font-size:21px}.source{background:#f0f5e4;border-left:5px solid var(--leaf);padding:17px 22px;margin-top:35px}.back{font-weight:bold;text-decoration:none}footer{background:#e5efd2;padding:28px 20px;text-align:center;font-size:14px}.filterbar{display:flex;gap:10px;flex-wrap:wrap;margin:5px 0 25px}.filter{border:1px solid #a8c28c;border-radius:30px;padding:8px 16px;background:white;color:var(--ink);cursor:pointer;font-weight:bold}.filter.active{background:var(--ink);color:white}.hidden{display:none!important}@media(max-width:760px){.hero-inner{grid-template-columns:1fr;padding:48px 20px}.grid{grid-template-columns:1fr}.nav{align-items:flex-start;flex-direction:column}.links{gap:14px}.notebook{transform:rotate(2deg)}.container{padding:45px 20px}.hero-inner{gap:35px}}

.photo-art{overflow:hidden;background:#eef2e2}.photo-art img{width:100%;height:100%;object-fit:contain;display:block}.feature-cover{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:25px 0}.feature-cover img{width:100%;height:280px;object-fit:contain;background:#f3f5e9;border-radius:18px;border:1px solid var(--line)}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0}.profile{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.profile-image{height:270px;background:linear-gradient(140deg,#e6f1d6,#fff2c9);display:flex;align-items:center;justify-content:center}.profile-image img{width:100%;height:100%;object-fit:contain}.profile-image.missing{padding:22px;text-align:center;color:#53694a;font-weight:bold}.profile-body{padding:18px}.profile h3{margin:0 0 5px;font-size:25px}.profile p{font-size:15px;margin:7px 0}.profile small{color:#697361}.profile a{font-size:14px;font-weight:bold}.disclosure{font-size:13px;color:#617156}.article .profile p{font-size:15px}.article .profile h3{margin-top:0}.article .feature-cover img{max-height:300px}.article .smallnote{font-size:14px}.article .editorial-note{background:#fff3c9;border:1px dashed #d4bd6d;border-radius:14px;padding:18px;margin:25px 0}@media(max-width:620px){.profile-grid{grid-template-columns:1fr}.feature-cover img{height:210px}}

/* V5.1: reliable local portrait slots */
.profile-image.character-photo{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:265px;background:linear-gradient(125deg,#e6f1d7,#fff0bc)}
.profile-image.character-photo img{display:block;width:100%;height:100%;min-height:265px;max-height:390px;object-fit:contain;background:#f8f8ee}
.profile-image.character-photo img[hidden]{display:none}
.photo-fallback{padding:30px;text-align:center;color:#41583b;font-weight:600;line-height:1.6}
.photo-fallback[hidden]{display:none}
.photo-credit{font-size:11px!important;letter-spacing:.01em;color:#69775d;margin:0 0 8px!important}

/* V5.2: verified official Azone portraits directly referenced from Azone */
.profile-image.character-photo{height:305px;background:linear-gradient(140deg,#e7f2d8,#fff5ce)}
.profile-image.character-photo img{height:100%;max-height:none;min-height:0;object-fit:contain;background:#fff}
.photo-fallback a{display:block;margin-top:12px}
.cover-fallback{font-size:55px}
.photo-art img[hidden]{display:none}
@media(max-width:620px){.profile-image.character-photo{height:320px}}
