:root{--pink:#ea3c82;--hot:#df1765;--deep:#8a214d;--wine:#53243a;--blush:#fff1f6;--gold:#c7a04a;--ink:#36272e;--line:#efd6df;--shadow:0 22px 60px rgba(113,29,65,.13)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;line-height:1.8}img{max-width:100%;display:block}a{color:inherit}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav{min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:32px}.personal-logo{text-decoration:none;color:var(--hot);line-height:1.15;min-width:225px}.personal-logo strong{display:block;font-size:1.65rem;letter-spacing:.18em;font-weight:500}.personal-logo span{font:italic .72rem Georgia,serif;letter-spacing:.12em;margin-right:.5rem}.personal-logo em{font:italic 1rem Georgia,serif}.menu{display:flex;align-items:center;gap:28px}.menu>a{text-decoration:none;text-align:center;font:bold .78rem Arial,sans-serif;letter-spacing:.07em;position:relative}.menu>a small{display:block;font-size:.65rem;font-family:"Yu Gothic",sans-serif;letter-spacing:0;margin-top:2px}.menu>a.active:after{content:"";position:absolute;left:10%;right:10%;bottom:-14px;height:2px;background:var(--hot)}.menu>a:hover{color:var(--hot)}.menu .nav-cta{background:linear-gradient(135deg,#f45d9a,var(--hot));color:#fff;padding:.72rem 1.2rem;border-radius:999px;box-shadow:0 8px 25px rgba(223,23,101,.25)}.menu-toggle{display:none;border:0;background:transparent;font-size:1.7rem;color:var(--deep)}
.personal-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 15% 28%,rgba(255,255,255,.95) 0 6%,transparent 27%),linear-gradient(100deg,#fff 0%,#fff5f8 44%,#f9d9e5 100%);min-height:650px}.personal-hero:before,.personal-hero:after{content:"✦";position:absolute;color:rgba(199,160,74,.45);font-size:2rem}.personal-hero:before{left:4%;top:22%}.personal-hero:after{right:7%;top:17%;font-size:1.3rem}.hero-glow{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.95) 0 2px,transparent 3px);background-size:120px 120px;opacity:.45}.personal-hero-grid{position:relative;z-index:1;min-height:650px;display:grid;grid-template-columns:56% 44%;align-items:center}.hero-message{padding:65px 0 52px}.hero-lead{font-size:clamp(1.4rem,3vw,2.25rem);letter-spacing:.08em;margin:0}.hero-message h1{color:var(--hot);font-weight:500;font-size:clamp(2.7rem,5.8vw,5rem);line-height:1.25;margin:.1em 0 .15em;letter-spacing:.03em}.gold-line{display:block;width:75%;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:12px 0 28px}.hero-role{font-family:"Yu Gothic",sans-serif;letter-spacing:.18em;margin:0;font-weight:600}.hero-message h2{font-size:clamp(2.2rem,5vw,4rem);line-height:1.2;font-weight:500;margin:.12em 0 .25em}.hero-message h2 small{display:block;color:var(--hot);font:italic 1.25rem Georgia,serif;margin-left:35%}.hero-copy{font-family:"Yu Gothic",sans-serif;font-size:1.08rem;font-weight:600}.buttons{display:flex;flex-wrap:wrap;gap:14px;margin:27px 0}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:2px solid var(--hot);background:linear-gradient(135deg,#ef5790,var(--hot));color:#fff;border-radius:12px;padding:.8rem 1.2rem;font-family:"Yu Gothic",sans-serif;font-weight:700;box-shadow:0 10px 25px rgba(223,23,101,.18);transition:.2s transform}.btn:hover{transform:translateY(-2px)}.btn.gold{background:var(--gold);border-color:var(--gold)}.sixty{color:var(--hot);font-size:1.25rem;font-style:italic;letter-spacing:.08em;margin:0}.hero-portrait{align-self:stretch;position:relative;overflow:hidden;min-height:650px;mask-image:linear-gradient(90deg,transparent 0,#000 17%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 17%)}.hero-portrait img{position:absolute;height:auto;max-width:none;width:165%;left:-75%;top:0}.hero-portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,245,248,.55),transparent 25%)}
section{padding:88px 0}.profile-section{background:#fffdfd}.profile-grid{max-width:880px;text-align:center}.portrait-card{height:470px;overflow:hidden;border:10px solid #fff;outline:1px solid var(--gold);box-shadow:var(--shadow);transform:rotate(-2deg)}.portrait-card img{height:auto;max-width:none;width:180%;margin-left:-88%;margin-top:-8%}.eyebrow{margin:0;color:var(--hot);font:bold .82rem Arial,sans-serif;letter-spacing:.22em}.senpai-badge{display:inline-block;margin:.7rem 0 1rem!important;padding:.35rem 1rem;border:1px solid var(--gold);border-radius:999px;color:var(--deep);font-weight:700!important;background:#fff8fa}.profile-copy h2,.social-section h2,.contact-section h2{color:var(--deep);font-size:clamp(1.7rem,3.5vw,2.65rem);font-weight:500;line-height:1.55;margin:.35rem 0 1.2rem}.profile-copy h2 span{color:var(--hot)}.profile-copy p,.social-section p,.contact-section p{font-family:"Yu Gothic",sans-serif}.value-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:26px 0}.value-row span{border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);padding:12px 5px;text-align:center;color:var(--deep);font:italic 1.1rem Georgia,serif}.value-row small{display:block;color:var(--ink);font:normal .72rem "Yu Gothic",sans-serif}.text-link{display:inline-block;color:var(--hot);font-family:"Yu Gothic",sans-serif;font-weight:700}
.projects-section{background:linear-gradient(180deg,#fff6f9,#fff)}.section-title{text-align:center;margin-bottom:42px}.section-title p{color:var(--hot);letter-spacing:.25em;font:bold .85rem Arial;margin:0}.section-title h2{color:var(--deep);font-size:2rem;font-weight:500;margin:0}.section-title span{display:block;width:95px;height:1px;background:var(--gold);margin:12px auto}.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.project-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 22px 24px;box-shadow:0 12px 35px rgba(117,35,70,.08);transition:.2s transform}.project-card:hover{transform:translateY(-4px)}.project-card.featured{border-color:#efa3c1}.card-no{position:absolute;right:15px;top:10px;color:#eed1dc;font:italic 2rem Georgia}.card-icon{color:var(--hot);font-size:2rem}.project-card h3{color:var(--deep);font-size:1.22rem;margin:.3rem 0}.project-card p{font:normal .9rem/1.75 "Yu Gothic",sans-serif}.project-card a{color:var(--hot);font:bold .8rem "Yu Gothic",sans-serif}
.award-banner{background:linear-gradient(125deg,#7f204b,#df1765);color:#fff}.award-banner-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}.award-banner .eyebrow{color:#f8d6a4}.award-banner h2{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:500;line-height:1.35;margin:.25rem 0}.award-banner p{font-family:"Yu Gothic",sans-serif}.event-facts{display:flex;flex-direction:column;gap:4px;padding-left:40px;border-left:1px solid rgba(255,255,255,.4);font-family:"Yu Gothic",sans-serif}.event-facts strong{font:2.25rem Georgia,serif}.event-facts strong small{font-size:.9rem}.event-facts .btn{margin-top:20px;align-self:flex-start}.social-section{background:#fff}.social-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.social-links{display:grid;gap:12px}.social-links a{text-decoration:none;border:1px solid var(--line);border-radius:14px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;background:#fff8fa}.social-links b{color:var(--deep)}.social-links span{color:var(--hot);font-family:Arial,sans-serif}.contact-section{padding-top:20px}.contact-box{display:grid;grid-template-columns:1.25fr .75fr;gap:35px;align-items:center;background:linear-gradient(135deg,#fff2f7,#fff);border:1px solid var(--line);border-radius:24px;padding:44px 50px;box-shadow:var(--shadow)}.contact-box>div:last-child{text-align:center}.mail{font-size:.75rem;word-break:break-all}.site-footer{background:linear-gradient(100deg,#7e2049,#df1765);color:#fff;padding:44px 0 0}.footer-grid{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.footer-name{font-size:1.4rem}.footer-name small{font:italic 1rem Georgia}.footer-links{display:flex;gap:20px;flex-wrap:wrap}.footer-links a{text-decoration:none;font-family:"Yu Gothic",sans-serif;font-size:.8rem}.copyright{text-align:center;border-top:1px solid rgba(255,255,255,.2);margin-top:30px;padding:12px;font:normal .7rem Arial,sans-serif}
.page-hero{background:linear-gradient(145deg,var(--blush),#fff);padding:80px 0 65px;border-bottom:1px solid var(--line)}.page-hero small{color:var(--gold);font-weight:900;letter-spacing:.18em}.page-hero h1{color:var(--deep);font-size:clamp(2.2rem,6vw,4.2rem);line-height:1.25;margin:.3rem 0}.content{max-width:820px;margin:auto}.content h2{color:var(--deep);font-size:1.8rem;margin:2.5rem 0 .6rem}.content strong{color:var(--pink)}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:35px 0}.fact{background:var(--blush);border-radius:18px;padding:24px;text-align:center}.fact b{display:block;color:var(--deep);font-size:1.2rem}.timeline{border-left:2px solid var(--line);padding-left:28px}.timeline article{position:relative;margin:0 0 30px}.timeline article:before{content:"";position:absolute;left:-35px;top:.55rem;width:12px;height:12px;border-radius:50%;background:var(--pink)}.timeline h3{color:var(--deep);margin:0}.contact-card{background:var(--blush);border:1px solid var(--line);border-radius:28px;padding:38px;text-align:center}.contact-card a.email{display:block;color:var(--deep);font-weight:900;font-size:clamp(1rem,3vw,1.35rem);word-break:break-word}
@media(max-width:920px){.wrap{width:min(100% - 30px,1180px)}.nav{min-height:76px}.personal-logo strong{font-size:1.25rem}.personal-logo em{font-size:.8rem}.menu-toggle{display:block}.menu{display:none;position:absolute;left:0;right:0;top:76px;background:#fff;padding:20px 24px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:18px}.menu.open{display:flex}.menu>a{text-align:left}.menu>a small{display:inline;margin-left:10px}.menu>a.active:after{display:none}.menu .nav-cta{text-align:center}.personal-hero,.personal-hero-grid{min-height:auto}.personal-hero-grid{grid-template-columns:1fr}.hero-message{padding:58px 0 20px}.hero-message h1{font-size:clamp(2.35rem,11vw,4rem)}.hero-message h2 small{margin-left:25%}.hero-portrait{min-height:420px;mask-image:linear-gradient(180deg,transparent 0,#000 15%);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 15%)}.hero-portrait img{width:210%;height:auto;left:-110%;top:-60px}.profile-grid,.award-banner-grid,.social-grid,.contact-box{grid-template-columns:1fr}.profile-grid{gap:45px}.portrait-card{height:400px;width:min(360px,90%);margin:auto}.project-grid{grid-template-columns:1fr 1fr}.award-banner-grid{gap:30px}.event-facts{padding:25px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.4)}section{padding:64px 0}.contact-box{padding:32px 25px}.footer-grid{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.wrap{width:min(100% - 24px,1180px)}.personal-logo{min-width:auto}.personal-logo strong{font-size:1.05rem}.personal-logo span{font-size:.58rem}.personal-logo em{display:none}.hero-lead{font-size:1.2rem}.hero-message h1{font-size:2.45rem}.hero-message h2{font-size:2.5rem}.hero-copy{font-size:.95rem}.buttons{display:grid}.btn{width:100%}.sixty{font-size:1rem}.hero-portrait{min-height:350px}.project-grid{grid-template-columns:1fr}.profile-copy h2{font-size:1.55rem}.value-row{gap:4px}.social-links a{align-items:flex-start;flex-direction:column}.event-facts strong{font-size:1.9rem}.footer-links{gap:12px}.portrait-card{height:360px}}
.address{font:normal .92rem/1.8 "Yu Gothic",sans-serif;margin-top:20px;padding-left:16px;border-left:2px solid var(--gold)}.office-address{margin-top:35px;padding-top:25px;border-top:1px solid var(--line)}.office-address h2{margin:.2rem 0 .7rem}.office-address address{font:normal 1rem/1.9 "Yu Gothic",sans-serif}.office-address strong{color:var(--deep)}

/* Keep the decorative sparkle clear of the "ピンク先輩" label. */
.personal-hero:before{display:none!important}

/* Use the supplied portrait without enlarging or cutting it off. */
.hero-portrait{display:flex;align-items:flex-end;justify-content:center;padding:20px 0 0;mask-image:none;-webkit-mask-image:none}
.hero-portrait img{position:relative;width:min(100%,520px);height:auto;max-width:100%;left:auto;top:auto;object-fit:contain;object-position:center bottom;border-radius:24px 24px 0 0;box-shadow:0 18px 50px rgba(113,29,65,.12)}
.hero-portrait:after{pointer-events:none;background:linear-gradient(90deg,rgba(255,245,248,.18),transparent 18%)}

/* Official PINK STAR AWARD logo supplied by the project. */
.award-logo-card{width:min(170px,75%);aspect-ratio:1;object-fit:contain;margin:0 auto 14px}
.community-list{margin:.8rem 0 0;padding-left:1.2rem;text-align:left;font:normal .84rem/1.8 "Yu Gothic",sans-serif;color:var(--deep)}

@media(max-width:920px){.hero-portrait{min-height:auto;padding:15px 0 0}.hero-portrait img{width:min(100%,520px);left:auto;top:auto}}
@media(max-width:560px){.hero-portrait{min-height:auto}.hero-portrait img{width:100%;border-radius:18px 18px 0 0}.award-logo-card{width:150px}}

/* Lecture and community detail pages. */
.lecture-content>h2{margin-top:.35rem}.lecture-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:35px 0 55px}.lecture-photo-grid img{width:100%;height:330px;object-fit:cover;object-position:center;border-radius:18px;box-shadow:var(--shadow)}.lecture-contact{margin-top:20px}.lecture-contact h2{margin:.35rem 0 .8rem}.community-offerings{max-width:940px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.offering-card{position:relative;background:linear-gradient(145deg,#fff,#fff3f7);border:1px solid var(--line);border-radius:24px;padding:42px 36px;box-shadow:var(--shadow)}.offering-card>span{display:block;color:var(--pink);font:italic 2.6rem Georgia,serif}.offering-card h2{color:var(--deep);font-size:1.6rem;line-height:1.45;margin:.35rem 0 1rem}.offering-card p{font-family:"Yu Gothic",sans-serif;margin:0}
@media(max-width:720px){.lecture-photo-grid,.community-offerings{grid-template-columns:1fr}.lecture-photo-grid img{height:auto}.offering-card{padding:32px 25px}}

/* Blend the original portrait into the pink hero without changing the face. */
.hero-portrait{isolation:isolate;background:radial-gradient(circle at 55% 45%,#fff 0,#ffeef4 52%,#f9d9e5 100%)}
.hero-portrait:before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 48% 42%,rgba(255,255,255,.95) 0 24%,rgba(255,233,242,.82) 55%,rgba(247,194,215,.55) 100%);filter:blur(18px);transform:scale(1.04)}
.hero-portrait img{z-index:1;-webkit-mask-image:radial-gradient(ellipse 82% 92% at 55% 50%,#000 0 68%,rgba(0,0,0,.88) 79%,transparent 100%);mask-image:radial-gradient(ellipse 82% 92% at 55% 50%,#000 0 68%,rgba(0,0,0,.88) 79%,transparent 100%)}
.hero-portrait:after{z-index:2;background:linear-gradient(90deg,rgba(255,241,246,.5),transparent 17%,transparent 82%,rgba(249,217,229,.35))}

/* The portrait now contains its own softly blurred pink background. */
.hero-portrait:before,.hero-portrait:after{display:none}
.hero-portrait img{-webkit-mask-image:none;mask-image:none}

/* Fill the whole desktop portrait column so no horizontal color seam appears. */
.hero-portrait{display:block;min-height:650px;padding:0;background:url("/assets/emiko-portrait-pink.png") center center/cover no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 17%);mask-image:linear-gradient(90deg,transparent 0,#000 17%);border-radius:0}
@media(max-width:920px){.hero-portrait{display:block;width:100%;height:min(92vw,520px);min-height:350px;aspect-ratio:auto;background-image:url("/assets/emiko-portrait-pink.png");background-position:center center;background-size:cover;background-repeat:no-repeat;-webkit-mask-image:none;mask-image:none;border-radius:18px 18px 0 0}}
@media(max-width:560px){.hero-portrait{height:calc(100vw - 24px);min-height:320px}}
