:root{--navy:#17233f;--ink:#292a31;--pink:#f05b8b;--pink-soft:#fff0f5;--mint:#69d7bb;--mint-soft:#edfcf7;--blue:#68bff1;--blue-soft:#eef8ff;--yellow:#ffd95a;--white:#fff;--line:#dfe3eb;--shadow:0 18px 60px rgba(23,35,63,.11);--radius:28px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;color:var(--ink);background:#fff;font-family:"Noto Sans JP",sans-serif;line-height:1.8;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit}
.skip-link{position:fixed;top:8px;left:8px;z-index:9999;padding:10px 16px;background:var(--navy);color:white;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.site-header{height:86px;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(23,35,63,.08);position:sticky;top:0;z-index:100;backdrop-filter:blur(12px)}
.header-inner{max-width:1440px;height:100%;margin:auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between}
.brand{width:172px;height:70px;overflow:hidden;display:flex;align-items:center}
.brand img{width:100%;height:100%;object-fit:contain}
.global-nav{display:flex;align-items:center;gap:24px;font-size:13px;font-weight:700}
.global-nav a{position:relative;white-space:nowrap}
.global-nav>a:not(.nav-contact)::after{content:"";position:absolute;height:2px;background:var(--pink);left:0;right:100%;bottom:-7px;transition:.2s}
.global-nav>a:hover::after,.global-nav>a:focus-visible::after{right:0}
.nav-contact{background:var(--pink);color:#fff;padding:13px 20px;border-radius:999px;box-shadow:0 7px 18px rgba(240,91,139,.25)}
.menu-button{display:none}
.hero{min-height:calc(100vh - 86px);max-width:1440px;margin:auto;padding:70px 70px 80px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;position:relative}
.hero-copy{z-index:2}
.eyebrow,.kicker{font-size:12px;font-weight:900;letter-spacing:.16em;color:var(--navy);margin:0 0 18px}
.eyebrow span{display:inline-block;color:white;background:var(--navy);padding:4px 10px;margin-right:10px;transform:rotate(-2deg)}
.hero h1{font-family:"Zen Maru Gothic",sans-serif;font-size:clamp(48px,6.1vw,88px);line-height:1.14;letter-spacing:-.05em;color:var(--navy);margin:0 0 20px}
.hero h1 span{color:var(--pink);position:relative;white-space:nowrap}
.hero h1 span::after{content:"";height:8px;background:var(--yellow);position:absolute;left:0;right:0;bottom:-4px;border-radius:50%;transform:rotate(-2deg);z-index:-1}
.hero-sub{font-size:22px;font-weight:800;margin:0 0 20px;color:var(--navy)}
.hero-text{font-size:15px;margin:5px 0}
.hero-actions{display:flex;gap:13px;margin-top:35px;flex-wrap:wrap}
.button{min-height:54px;padding:14px 24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:20px;font-weight:800;font-size:14px;transition:transform .2s,box-shadow .2s,background .2s}
.button:hover,.button:focus-visible{transform:translateY(-3px);box-shadow:0 12px 25px rgba(23,35,63,.18)}
.button.primary{background:var(--pink);color:white}
.button.secondary{background:white;color:var(--navy);border:2px solid var(--navy)}
.button.dark{background:var(--navy);color:white}
.hero-visual{position:relative}
.hero-photo{border-radius:46% 54% 44% 56% / 50% 43% 57% 50%;overflow:hidden;box-shadow:var(--shadow);background:var(--pink-soft);transform:rotate(2deg)}
.hero-photo img{width:100%;height:470px;object-fit:cover}
.hero-art{position:absolute;width:140px;height:140px;object-fit:contain;border-radius:50%;right:-25px;bottom:-35px;background:white;padding:8px;box-shadow:0 10px 25px rgba(23,35,63,.16);transform:rotate(-6deg)}
.speech{position:absolute;top:-28px;right:-18px;background:var(--yellow);color:var(--navy);font-weight:900;padding:13px 21px;border-radius:999px;transform:rotate(4deg);box-shadow:5px 7px 0 var(--navy)}
.speech::after{content:"";position:absolute;bottom:-10px;left:25px;border:10px solid transparent;border-top-color:var(--yellow);transform:rotate(18deg)}
.speech span{color:var(--pink)}
.scribble{position:absolute;font-size:50px;font-weight:900;color:var(--pink);z-index:-1}
.star-a{left:49%;top:8%}
.paw-a{right:2%;bottom:18%;color:var(--mint);border:3px solid currentColor;border-radius:50%;width:22px;height:22px}
.scroll-cue{position:absolute;bottom:22px;left:50%;font-size:10px;letter-spacing:.2em;font-weight:900;writing-mode:vertical-rl}
.scroll-cue span{font-size:18px}
.section{padding:120px max(40px,calc((100vw - 1240px)/2))}
.section-heading{text-align:center;margin:0 auto 56px;max-width:720px}
.section-heading.left{text-align:left;margin-left:0}
.section-heading h2,.story h2,.news h2,.contact h2,.event-card h2{font-family:"Zen Maru Gothic",sans-serif;color:var(--navy);font-size:clamp(34px,4vw,58px);line-height:1.25;letter-spacing:-.03em;margin:0 0 20px}
.section-heading>p:last-child{font-size:16px}
.kicker span{color:var(--pink)}
.pillars{background:linear-gradient(180deg,#fbfdff 0%,#fff 100%);position:relative}
.pillars::before{content:"";position:absolute;width:90px;height:16px;border-top:4px solid var(--yellow);border-radius:50%;left:9%;top:11%;transform:rotate(-8deg)}
.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pillar-card{padding:35px 30px 38px;border:2px solid var(--navy);border-radius:var(--radius);position:relative;box-shadow:7px 8px 0 var(--navy);transition:.25s}
.pillar-card:hover{transform:translateY(-6px) rotate(-.5deg)}
.pillar-card.pink{background:var(--pink-soft)}
.pillar-card.mint{background:var(--mint-soft)}
.pillar-card.blue{background:var(--blue-soft)}
.number{font-size:13px;letter-spacing:.18em;font-weight:900}
.round-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:white;border:2px solid var(--navy);font-size:27px;font-weight:900;margin:20px 0}
.pink .round-icon{color:var(--pink)}
.mint .round-icon{color:#29a68a}
.blue .round-icon{color:#269ddb}
.pillar-card h3{font-size:24px;color:var(--navy);margin:0 0 15px}
.pillar-card p{font-size:14px;margin:10px 0}
.animals{background:var(--navy);color:white}
.animals .section-heading h2,.animals .kicker{color:white}
.animals .kicker span{color:var(--yellow)}
.animal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.animal-card{background:#fff;color:var(--ink);border-radius:22px;overflow:hidden;transition:.25s}
.animal-card:hover{transform:translateY(-7px);box-shadow:0 16px 35px rgba(0,0,0,.2)}
.animal-photo{height:235px;display:grid;place-items:center;text-align:center;color:var(--navy);font-size:12px;font-weight:900;letter-spacing:.12em;background:repeating-linear-gradient(-45deg,#fff 0,#fff 12px,#f3f5f9 12px,#f3f5f9 24px)}
.animal-photo span{width:92px;height:92px;border:2px dashed currentColor;border-radius:50%;display:grid;place-items:center}
.p2{background-color:var(--mint-soft)}
.p3{background-color:var(--blue-soft)}
.p4{background-color:var(--pink-soft)}
.animal-body{padding:22px}
.animal-meta{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700}
.badge{background:var(--pink);color:white;border-radius:999px;padding:3px 9px}
.animal-body h3{color:var(--navy);font-size:18px;margin:13px 0 6px}
.animal-body p{font-size:13px;line-height:1.7;margin:0 0 17px}
.fake-link{font-size:12px;font-weight:900;color:var(--navy)}
.center{text-align:center;margin-top:44px}
.center .button{background:white;color:var(--navy)}
.event-wrap{padding:90px max(40px,calc((100vw - 1120px)/2));background:#f7f9fc}
.event-card{background:var(--yellow);border:3px solid var(--navy);border-radius:36px;padding:48px 60px;display:grid;grid-template-columns:160px 1fr;align-items:center;gap:50px;box-shadow:10px 12px 0 var(--navy);transform:rotate(-.4deg)}
.event-mark{width:150px;height:150px;border-radius:50%;background:var(--pink);color:white;border:3px solid var(--navy);display:grid;place-items:center;text-align:center;font-size:44px;font-weight:900;line-height:.6;transform:rotate(-7deg)}
.event-mark small{font-size:15px;line-height:1}
.event-card h2{font-size:42px;margin-bottom:10px}
.event-card p{margin:0;max-width:690px}
.event-actions{display:flex;align-items:center;gap:24px;margin-top:25px;flex-wrap:wrap}
.text-link{font-weight:900;text-decoration:underline;text-decoration-color:var(--pink);text-decoration-thickness:3px;text-underline-offset:5px}
.story{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;align-items:center}
.story-art{position:relative}
.story-art img{border-radius:40px;width:100%;max-height:600px;object-fit:cover;object-position:top;background:white;border:2px solid var(--navy);box-shadow:-12px 13px 0 var(--mint);filter:contrast(1.05)}
.story-art span{position:absolute;bottom:30px;right:-30px;background:var(--pink);color:white;font-size:13px;font-weight:900;letter-spacing:.14em;padding:14px 18px;transform:rotate(4deg);border:2px solid var(--navy)}
.story-copy p{font-size:16px}
.story-copy strong{font-size:19px;color:var(--navy);background:linear-gradient(transparent 65%,var(--yellow) 65%)}
.location{display:inline-block;background:var(--mint-soft);border-left:5px solid var(--mint);padding:9px 15px}
.story-copy .button{margin-top:18px}
.news{background:#f7f9fc}
.news-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}
.news-head h2{font-size:44px;margin:0}
.news-list{border-top:2px solid var(--navy)}
.news-list article{display:grid;grid-template-columns:120px 100px 1fr 30px;gap:20px;align-items:center;padding:24px 10px;border-bottom:1px solid #bdc4d0}
.news-list time{font-weight:800;font-size:13px}
.category{text-align:center;background:white;border:1px solid var(--navy);border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800}
.news-list h3{font-size:16px;margin:0;color:var(--navy)}
.support{background:var(--pink);padding:110px 40px}
.support-inner{max-width:1240px;margin:auto;background:white;border-radius:50px;padding:75px 60px;position:relative;box-shadow:12px 15px 0 var(--navy)}
.support-inner::before{content:"LET'S GO!";position:absolute;top:40px;right:55px;color:var(--pink);font-size:14px;font-weight:900;transform:rotate(8deg)}
.support-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.support-card{padding:25px 20px;border:2px solid var(--navy);border-radius:22px;min-height:240px;display:flex;flex-direction:column;position:relative;transition:.22s}
.support-card:hover{transform:translateY(-7px);box-shadow:6px 8px 0 var(--navy)}
.support-card.c1{background:var(--pink-soft)}
.support-card.c2{background:var(--mint-soft)}
.support-card.c3{background:var(--blue-soft)}
.support-card.c4{background:#fff9df}
.support-no{font-size:11px;font-weight:900}
.support-icon{width:112px;height:112px;margin:8px auto 8px;display:grid;place-items:center}
.support-icon img{width:100%;height:100%;object-fit:contain}
.support-card h3{color:var(--navy);font-size:17px;margin:0}
.support-card p{font-size:12px;margin:5px 0}
.support-card b{margin-top:auto;align-self:flex-end;font-size:24px}
.support-card-donate{cursor:default}
.support-card-actions{margin-top:auto;display:grid;gap:8px;padding-top:14px}
.wishlist-link{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--navy);color:white;border-radius:999px;padding:11px 14px;font-size:11px;font-weight:900;line-height:1.3;transition:.2s}
.wishlist-link:hover{background:var(--pink);transform:translateY(-2px)}
.wishlist-link span{font-size:16px;line-height:1}
.support-contact-link{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 5px;color:var(--navy);font-size:10px;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.wishlist-link:focus-visible,.support-contact-link:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
.merch{background:var(--navy);color:white;padding:105px 40px;position:relative;overflow:hidden}
.merch::before,.merch::after{position:absolute;color:var(--yellow);font-weight:900;opacity:.9;pointer-events:none}
.merch::before{content:"✦";font-size:72px;top:35px;right:7%;transform:rotate(12deg)}
.merch::after{content:"GOOD ACTION!";font-size:13px;letter-spacing:.15em;bottom:36px;left:6%;transform:rotate(-7deg)}
.merch-inner{max-width:1240px;margin:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:75px;align-items:center}
.merch-visual{position:relative;background:white;border-radius:28px;padding:14px;box-shadow:-12px 14px 0 var(--mint);transform:rotate(-1.2deg)}
.merch-visual img{display:block;width:100%;border-radius:18px}
.merch-sticker{position:absolute;right:-24px;top:-24px;width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--navy);border:3px solid var(--navy);box-shadow:5px 7px 0 var(--pink);font-size:19px;font-weight:900;transform:rotate(10deg);z-index:1}
.merch-copy .kicker{color:var(--yellow)}
.merch-copy h2{font-size:50px;line-height:1.25;margin:10px 0 24px}
.merch-copy h2 em{font-style:normal;color:var(--pink)}
.merch-copy>p{line-height:1.9;color:#eef1f7}
.merch-specs{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 16px}
.merch-specs span,.merch-specs strong{border:1px solid rgba(255,255,255,.65);border-radius:999px;padding:8px 14px;font-size:12px;letter-spacing:.04em}
.merch-specs strong{background:white;color:var(--navy);border-color:white;font-size:14px}
.merch-support{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.1);border-left:5px solid var(--yellow);border-radius:0 16px 16px 0;padding:17px 18px;margin:0 0 25px}
.merch-support b{color:var(--yellow);font-size:19px;white-space:nowrap}
.merch-support span{font-size:13px;line-height:1.6}
.merch-button{background:var(--pink);color:white;box-shadow:5px 6px 0 var(--yellow)}
.merch-button:hover{box-shadow:2px 3px 0 var(--yellow)}
.merch-copy small{display:block;margin-top:13px;color:#cbd2e0;font-size:11px}
.contact{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;min-height:540px;background:var(--yellow);overflow:hidden}
.contact-art{height:100%;background:var(--navy);clip-path:polygon(0 0,88% 0,100% 100%,0 100%);display:grid;place-items:center;padding:40px 70px 40px 30px}
.contact-art img{width:100%;height:430px;object-fit:contain;mix-blend-mode:screen}
.contact-copy{padding:70px 8vw}
.contact h2{font-size:43px}
.contact-copy small{display:block;margin-top:12px}
.site-footer{background:var(--navy);color:white;padding:70px max(40px,calc((100vw - 1240px)/2)) 20px}
.footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.footer-brand img{width:200px;height:170px;object-fit:contain;background:white;border-radius:22px;padding:10px}
.footer-brand p{font-weight:800}
.footer-brand span{font-size:12px;color:#bfc7da}
.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.footer-links h2{color:var(--yellow);font-size:12px;letter-spacing:.15em}
.footer-links a{display:block;margin:12px 0;font-size:13px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.2);display:flex;justify-content:space-between;margin-top:55px;padding-top:18px;font-size:11px;color:#c9cfdd}
.sns-placeholder{border:1px solid currentColor;border-radius:999px;padding:2px 7px}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .65s ease,transform .65s ease}
.reveal.visible{opacity:1;transform:none}
.mobile-only{display:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important}
.reveal{opacity:1;transform:none}
}

@media(max-width:1050px){.header-inner{padding:0 22px}
.global-nav{position:fixed;left:0;right:0;top:86px;background:white;padding:28px;display:grid;gap:0;transform:translateY(-140%);opacity:0;transition:.25s;border-bottom:2px solid var(--navy);box-shadow:var(--shadow)}
.global-nav.open{transform:none;opacity:1}
.global-nav a{padding:14px;border-bottom:1px solid var(--line)}
.nav-contact{text-align:center;margin-top:12px}
.menu-button{width:56px;height:54px;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:var(--navy)}
.menu-button span{width:27px;height:2px;background:currentColor;transition:.2s}
.menu-button b{font-size:8px;letter-spacing:.12em}
.menu-button[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-button[aria-expanded=true] span:nth-child(2){opacity:0}
.menu-button[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.hero{padding:55px 40px 75px;gap:35px}
.hero-photo img{height:400px}
.animal-grid{grid-template-columns:repeat(2,1fr)}
.pillar-grid{gap:15px}
.story{gap:50px}
.support-grid{grid-template-columns:repeat(2,1fr)}
.merch-inner{gap:45px}
.merch-copy h2{font-size:44px}
}

@media(max-width:760px){html{scroll-padding-top:74px}
.site-header{height:74px}
.brand{width:145px;height:62px}
.global-nav{top:74px}
.hero{min-height:auto;padding:42px 22px 80px;display:flex;flex-direction:column;align-items:stretch}
.hero h1{font-size:48px}
.hero-sub{font-size:18px}
.hero-text br{display:none}
.hero-actions{display:grid}
.button{width:100%;min-height:56px}
.hero-visual{margin-top:20px}
.hero-photo img{height:310px}
.hero-art{width:100px;height:100px;right:-5px;bottom:-35px}
.speech{right:5px;top:-22px;font-size:13px}
.scroll-cue{display:none}
.scribble{display:none}
.section{padding:82px 22px}
.section-heading{text-align:left;margin-bottom:38px}
.section-heading h2,.story h2,.news h2,.event-card h2{font-size:36px}
.mobile-only{display:block}
.pillar-grid,.animal-grid,.story,.footer-inner{grid-template-columns:1fr}
.pillar-grid{gap:24px}
.pillar-card{padding:28px 24px}
.animal-grid{gap:20px}
.animal-photo{height:250px}
.event-wrap{padding:68px 22px}
.event-card{padding:35px 24px;grid-template-columns:1fr;gap:25px;box-shadow:7px 8px 0 var(--navy)}
.event-mark{width:100px;height:100px;font-size:30px}
.event-actions{align-items:stretch}
.story{gap:55px}
.story-art img{height:450px}
.story-art span{right:-5px;bottom:20px}
.news-head{display:block}
.news-head .text-link{display:inline-block;margin-top:10px}
.news-list article{grid-template-columns:100px 1fr 20px;gap:10px;padding:20px 0}
.news-list .category{grid-column:1}
.news-list h3{grid-column:2;grid-row:1/3}
.news-list article>span:last-child{grid-column:3;grid-row:1/3}
.support{padding:65px 16px}
.support-inner{border-radius:32px;padding:60px 18px 35px;box-shadow:6px 8px 0 var(--navy)}
.support-inner::before{top:25px;right:25px}
.support-grid{grid-template-columns:1fr}
.support-card{min-height:190px;padding:22px}
.merch{padding:78px 22px}
.merch::before{font-size:46px;top:20px}
.merch::after{display:none}
.merch-inner{grid-template-columns:1fr;gap:55px}
.merch-visual{padding:9px;box-shadow:-7px 8px 0 var(--mint)}
.merch-sticker{right:-9px;top:-23px;width:72px;height:72px;font-size:15px;box-shadow:3px 4px 0 var(--pink)}
.merch-copy h2{font-size:38px}
.merch-copy>p{line-height:1.8}
.merch-support{align-items:flex-start;flex-direction:column;gap:4px}
.merch-button{width:100%}
.contact{grid-template-columns:1fr}
.contact-art{height:300px;clip-path:polygon(0 0,100% 0,100% 90%,0 100%);padding:25px}
.contact-art img{height:265px}
.contact-copy{padding:55px 22px 70px}
.contact-copy p br{display:none}
.footer-inner{gap:40px}
.footer-links{grid-template-columns:1fr}
.footer-bottom{display:block}
.footer-brand img{width:165px;height:140px}
}

/* Updated real-profile and representative message */
.animal-card.featured{grid-column:span 2;border:3px solid var(--pink)}
.animal-photo.actual{height:440px;background:var(--pink-soft);overflow:hidden;padding:18px}
.animal-photo.actual img{width:100%;height:100%;object-fit:contain;object-position:center;border-radius:14px}
.badge.recruiting{background:var(--pink);font-size:13px;padding:5px 11px}
.animal-lead{font-size:15px!important;font-weight:700;color:var(--navy)}
.animal-profile{margin:16px 0;border-top:1px solid var(--line)}
.animal-profile div{display:grid;grid-template-columns:88px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.animal-profile dt{font-weight:800;color:var(--navy)}
.animal-profile dd{margin:0}
.health-note{background:var(--pink-soft);border-radius:14px;padding:13px;font-size:13px!important}
.story{align-items:start}
.story-copy p{line-height:2}
.representative{border-top:2px solid var(--navy);margin-top:28px;padding-top:18px;display:flex;flex-direction:column;align-items:flex-end;color:var(--navy)}
.representative span{font-size:12px;font-weight:700}
.representative strong{font-size:18px}
.contact-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:28px 0 14px}
.contact-actions .button{width:auto}
.contact-phone{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px;color:var(--navy)}
.contact-phone small{width:100%;margin:0;font-size:11px;font-weight:700}
.contact-phone strong{font-size:24px;line-height:1}
.contact-phone span{font-size:13px;font-weight:700}
@media(max-width:760px){.animal-card.featured{grid-column:span 1}.animal-photo.actual{height:430px;padding:12px}.contact-actions{align-items:stretch}.contact-actions .button{width:100%}.contact-phone{justify-content:center;text-align:center}.story-copy p{line-height:1.9}}
