/* ===== Official Character: GRAN / v16.32 ===== */
.home-character-section{padding:96px 7vw;background:#0b1730;color:#fff;position:relative;overflow:hidden}
.home-character-section:before{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(255,255,255,.09);border-radius:50%;right:-145px;top:-190px}
.home-character-section:after{content:"";position:absolute;width:250px;height:250px;border:52px solid rgba(239,173,33,.92);border-radius:50%;right:-165px;bottom:-165px}
.home-character-inner{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr);gap:72px;align-items:center;position:relative;z-index:2}
.home-character-copy{max-width:690px}.home-character-eyebrow{margin:0 0 18px;color:#efad21;font-size:10px;font-weight:900;letter-spacing:.2em}
.home-character-copy h2{margin:0;font-size:clamp(45px,6.4vw,78px);line-height:.98;letter-spacing:-.055em}.home-character-copy h2 strong{color:#efad21;font-weight:1000}
.home-character-lead{margin:28px 0 0;font-size:clamp(18px,2vw,24px);line-height:1.65;font-weight:900}.home-character-text{max-width:620px;margin:17px 0 0;color:#c3cde0;font-size:14px;line-height:1.95}
.home-character-link{display:inline-flex;align-items:center;gap:13px;margin-top:30px;padding:14px 21px;border-radius:999px;background:#fff;color:#123f7d;font-size:12px;font-weight:900;transition:transform .2s ease,box-shadow .2s ease}
.home-character-link:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.18)}.home-character-link b{color:#efad21;font-size:17px}
.home-character-visual{min-height:430px;display:grid;place-items:center;position:relative}.home-character-visual img{width:min(390px,100%);max-height:500px;object-fit:contain;filter:drop-shadow(0 22px 34px rgba(0,0,0,.23));position:relative;z-index:2}.home-character-star{position:absolute;left:12%;top:7%;color:#efad21;font-size:54px;line-height:1;opacity:.96}
.character-page{background:#fff}.character-hero{min-height:660px;padding:64px 7vw 72px;background:linear-gradient(125deg,#071224 0%,#0d2855 54%,#164f9e 100%);color:#fff;position:relative;overflow:hidden}
.character-hero:before,.character-hero:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.character-hero:before{width:560px;height:560px;border:1px solid rgba(255,255,255,.11);right:-190px;top:-230px}.character-hero:after{width:220px;height:220px;border:45px solid rgba(239,173,33,.92);left:-135px;bottom:-150px}
.character-hero-inner{width:min(1180px,100%);min-height:520px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.82fr);gap:64px;align-items:center;position:relative;z-index:2}.character-hero-copy{max-width:690px}
.character-kicker{margin:0 0 22px;color:#efad21;font-size:10px;font-weight:900;letter-spacing:.22em}.character-hero h1{margin:0;font-size:clamp(72px,10vw,138px);line-height:.78;letter-spacing:-.075em}.character-hero h1 span{display:block;color:#efad21;font-size:.28em;letter-spacing:.08em;margin-top:28px}
.character-hero-lead{margin:36px 0 0;max-width:650px;font-size:clamp(18px,2vw,24px);line-height:1.7;font-weight:800}.character-hero-sub{max-width:640px;margin:16px 0 0;color:#c7d2e5;font-size:14px;line-height:1.95}
.character-hero-art{min-height:520px;display:grid;place-items:center;position:relative}.character-hero-art img{width:min(460px,100%);max-height:590px;object-fit:contain;filter:drop-shadow(0 30px 45px rgba(0,0,0,.3));position:relative;z-index:2}.character-hero-art .spark{position:absolute;right:2%;top:9%;color:#efad21;font-size:68px;transform:rotate(8deg)}
.character-main{width:min(1180px,calc(100% - 56px));margin:0 auto;padding:92px 0 110px}.character-section{padding:34px 0 70px}.character-section-head{display:grid;grid-template-columns:190px minmax(0,1fr);gap:36px;align-items:end;margin-bottom:38px}.character-section-head p{margin:0;color:#1b52a2;font-size:10px;font-weight:900;letter-spacing:.2em}.character-section-head h2{margin:0;font-size:clamp(38px,5vw,62px);letter-spacing:-.045em}
.character-intro-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:54px;align-items:start}.character-intro-grid>p{margin:0;color:#4f5967;font-size:16px;line-height:2.05}.character-profile{border-top:2px solid #0b1120;margin:0}.character-profile div{display:grid;grid-template-columns:120px 1fr;gap:22px;padding:16px 4px;border-bottom:1px solid #dfe4eb}.character-profile dt{font-size:11px;color:#6d7582;font-weight:800}.character-profile dd{margin:0;font-size:13px;font-weight:900;line-height:1.65}
.character-symbol-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.character-symbol-card{min-height:245px;padding:30px;border:1px solid #dfe4eb;border-radius:24px;background:#f7f9fc;position:relative;overflow:hidden}.character-symbol-card>span{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:#1b52a2;color:#fff;font-size:26px;font-weight:1000}.character-symbol-card.star>span{background:#efad21;color:#17385f}.character-symbol-card h3{margin:22px 0 10px;font-size:25px}.character-symbol-card p{margin:0;color:#596371;font-size:13px;line-height:1.85}
.character-motto{margin-top:10px;padding:58px clamp(30px,6vw,72px);border-radius:30px;background:#0b1120;color:#fff;position:relative;overflow:hidden}.character-motto:after{content:"";position:absolute;width:180px;height:180px;border:36px solid #efad21;border-radius:50%;right:-105px;top:-112px}.character-motto p{margin:0 0 18px;color:#efad21;font-size:10px;font-weight:900;letter-spacing:.2em;position:relative;z-index:2}.character-motto blockquote{margin:0;max-width:900px;font-size:clamp(31px,5vw,60px);line-height:1.18;letter-spacing:-.045em;font-weight:1000;position:relative;z-index:2}.character-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:36px}.character-note{margin-top:28px;padding:22px 24px;border-left:4px solid #efad21;background:#fff8dc;color:#5d5131;font-size:13px;line-height:1.85}
@media(max-width:900px){.home-character-inner,.character-hero-inner,.character-intro-grid{grid-template-columns:1fr}.home-character-inner{gap:30px}.home-character-visual{min-height:360px}.home-character-visual img{width:min(350px,80vw)}.character-hero{padding-top:52px}.character-hero-inner{gap:18px}.character-hero-art{min-height:390px}.character-hero-art img{width:min(400px,80vw);max-height:470px}.character-section-head{grid-template-columns:1fr;gap:10px}}
@media(max-width:620px){.home-character-section{padding:66px 5vw}.home-character-copy h2{font-size:48px}.home-character-visual{min-height:310px}.home-character-visual img{width:min(310px,88vw)}.character-hero{min-height:auto;padding:55px 5vw 46px}.character-hero-inner{min-height:auto}.character-hero h1{font-size:76px}.character-hero-art{min-height:340px}.character-hero-art img{width:min(330px,90vw);max-height:390px}.character-main{width:calc(100% - 36px);padding-top:66px;padding-bottom:80px}.character-section{padding-bottom:54px}.character-symbol-grid{grid-template-columns:1fr}.character-profile div{grid-template-columns:92px 1fr}.character-motto{border-radius:24px;padding:38px 26px}.character-actions{flex-direction:column}.character-actions .pill{width:100%}}
@media(prefers-reduced-motion:reduce){.home-character-link{transition:none}}
