:root {
  --navy:#0b1827; --navy-2:#101f31; --ink:#142235; --muted:#667589; --line:#e6ebf1;
  --red:#d62e52; --red-2:#ff6b86; --cream:#f7f5f1; --bg:#f7f9fc; --white:#fff;
  --container:1180px; --radius:26px; --shadow:0 24px 70px rgba(10,28,48,.10);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:Inter,"Noto Sans JP",system-ui,-apple-system,sans-serif;color:var(--ink);background:#fff;line-height:1.7;-webkit-font-smoothing:antialiased} a{color:inherit;text-decoration:none} button{font:inherit}.container{width:min(calc(100% - 48px),var(--container));margin:0 auto}.section{padding:112px 0}.section-dark{background:var(--navy);color:#fff}
.site-header{position:fixed;z-index:100;top:0;left:0;right:0;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(8,19,31,.82);backdrop-filter:blur(18px);transition:.25s}.site-header.scrolled{background:rgba(255,255,255,.94);border-color:var(--line);box-shadow:0 6px 22px rgba(10,26,43,.06)}.site-header.scrolled .brand,.site-header.scrolled .nav a,.site-header.scrolled .lang-button,.site-header.scrolled .menu-button{color:var(--ink)}.header-inner{height:76px;display:flex;align-items:center;gap:32px}.brand{display:flex;align-items:center;gap:11px;color:#fff;font-weight:700}.brand-mark{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--red-2),var(--red));display:grid;place-items:center;font-size:.72rem;letter-spacing:-.04em;box-shadow:0 8px 20px rgba(214,46,82,.28)}.brand-text{font-size:.93rem;letter-spacing:-.01em}.nav{margin-left:auto;display:flex;gap:26px}.nav a{color:#dce4ee;font-size:.8rem;font-weight:600;letter-spacing:.02em;transition:.2s}.nav a:hover{color:#ff93a8}.header-actions{display:flex;align-items:center;gap:10px;order:3}.lang-button,.menu-button{color:#dce4ee;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);border-radius:999px;height:38px;padding:0 13px;cursor:pointer}.lang-button{font-size:.72rem;font-weight:700;letter-spacing:.08em}.lang-current{color:#ff8fa4}.lang-sep{opacity:.35;margin:0 3px}.menu-button{display:none;font-size:1rem;width:42px;padding:0}
.hero{position:relative;min-height:850px;padding:154px 0 100px;overflow:hidden}.hero-gridlines{position:absolute;inset:0;opacity:.08;background-image:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,black,transparent 88%)}.hero-orb{position:absolute;border-radius:50%;filter:blur(12px);pointer-events:none}.orb-one{width:460px;height:460px;background:radial-gradient(circle,rgba(214,46,82,.22),rgba(214,46,82,0) 70%);top:-90px;right:8%}.orb-two{width:380px;height:380px;background:radial-gradient(circle,rgba(74,129,180,.12),rgba(74,129,180,0) 70%);bottom:-100px;left:25%}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.kicker{color:#ff8fa4;font-size:.72rem;font-weight:800;letter-spacing:.15em;margin:0 0 28px}.hero h1{font-size:clamp(3.6rem,6vw,6.3rem);line-height:.98;letter-spacing:-.065em;margin:0;max-width:820px}.hero h1 span{color:#8292a6}.lead{max-width:720px;font-size:1.08rem;color:#b4c0cf;margin:34px 0 0;line-height:1.9}.hero-actions{display:flex;gap:12px;margin-top:36px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:999px;font-size:.83rem;font-weight:700}.button-primary{background:linear-gradient(135deg,#ef4c6d,#c51f43);color:white;box-shadow:0 15px 35px rgba(214,46,82,.24)}.button-ghost{border:1px solid rgba(255,255,255,.14);color:#e6edf4;background:rgba(255,255,255,.03)}.hero-meta{display:flex;gap:42px;margin-top:56px}.hero-meta>div{display:grid;gap:4px}.meta-label{color:#718197;font-size:.69rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.meta-value{color:#e6edf4;font-size:.86rem}.hero-visual{position:relative;min-height:560px}.visual-ring{position:absolute;border:1px solid rgba(255,255,255,.06);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.ring-1{width:470px;height:470px}.ring-2{width:370px;height:370px}.visual-card{border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.065);backdrop-filter:blur(18px);box-shadow:0 30px 80px rgba(0,0,0,.20)}.visual-main{position:absolute;inset:70px 25px 70px 20px;padding:28px;border-radius:34px;display:flex;flex-direction:column}.visual-topline{display:flex;align-items:center;justify-content:space-between;color:#8fa0b4;font-size:.68rem;letter-spacing:.14em;font-weight:700}.dot{width:9px;height:9px;border-radius:50%;background:#ff7993;box-shadow:0 0 0 8px rgba(255,121,147,.08)}.berry-graphic{width:190px;height:190px;margin:28px auto 16px;filter:drop-shadow(0 24px 36px rgba(0,0,0,.22))}.berry-graphic svg{display:block;width:100%;height:100%}.visual-main h2{font-size:1.8rem;line-height:1.15;letter-spacing:-.04em;margin:auto 0 12px}.visual-main p{color:#9eacbd;margin:0;font-size:.82rem}.visual-mini{position:absolute;width:172px;min-height:108px;padding:18px;border-radius:22px;display:flex;flex-direction:column;justify-content:space-between}.visual-mini strong{font-size:.84rem;line-height:1.25}.mini-index{color:#ff8ea2;font-size:.69rem;font-weight:800}.mini-a{top:0;right:0;transform:rotate(3deg)}.mini-b{left:-10px;bottom:2px;transform:rotate(-2deg)}.mini-c{right:0;bottom:-5px;transform:rotate(2deg)}.scroll-cue{position:absolute;bottom:27px;left:50%;transform:translateX(-50%);color:#68778a;font-size:.65rem;letter-spacing:.2em}.scroll-cue span{color:#ff879e;margin-left:8px}
.status-strip{background:#fff;border-bottom:1px solid var(--line)}.status-grid{display:grid;grid-template-columns:1.2fr .9fr .9fr}.status-item{padding:28px 28px 26px;border-right:1px solid var(--line);min-height:145px;transition:.2s}.status-item:first-child{border-left:1px solid var(--line)}a.status-item:hover{background:#fbfcfe}.status-feature{background:linear-gradient(135deg,rgba(214,46,82,.055),rgba(255,255,255,0))}.status-label{display:block;color:var(--red);font-size:.66rem;font-weight:800;letter-spacing:.12em;margin-bottom:13px}.status-item strong{font-size:1.03rem}.status-item p{color:var(--muted);font-size:.82rem;line-height:1.55;margin:5px 0 0}
.two-column{display:grid;grid-template-columns:.84fr 1.16fr;gap:90px;align-items:start}.section-number{color:var(--red);font-size:.72rem;font-weight:800;letter-spacing:.16em;margin:0 0 16px}.section-heading h2,.section-title-row h2{font-size:clamp(2.5rem,4.2vw,4.7rem);line-height:1.06;letter-spacing:-.055em;margin:0}.about-copy{font-size:1rem;color:var(--muted)}.about-lead{color:var(--ink);font-size:1.22rem;line-height:1.8;font-weight:600;margin-top:0}.profile-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px}.profile-strip div{padding:18px 0;border-top:1px solid var(--line);display:grid;gap:5px}.profile-strip span{color:#9aa5b3;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em}.profile-strip strong{font-size:.88rem}.career-mini{margin-top:34px;border-top:1px solid var(--line)}.career-mini div{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}.career-mini span{font-size:.73rem;color:var(--red);font-weight:700}.career-mini p{margin:0;font-size:.86rem;color:var(--ink)}
.research-section{background:var(--bg)}.section-title-row{display:flex;justify-content:space-between;gap:70px;align-items:end;margin-bottom:54px}.section-intro{max-width:460px;color:var(--muted);margin:0}.research-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.research-card{position:relative;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:34px;min-height:350px;overflow:hidden;transition:.25s ease}.research-card::before{content:"";position:absolute;inset:auto -70px -70px auto;width:180px;height:180px;border-radius:50%;background:rgba(211,47,79,.045);transition:.25s}.research-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.research-card:hover::before{transform:scale(1.25)}.card-index{color:var(--red);font-size:.75rem;font-weight:800}.card-icon{position:absolute;top:28px;right:30px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);font-size:1rem}.research-card h3{font-size:2rem;line-height:1.12;letter-spacing:-.04em;margin:50px 0 18px}.research-card p{color:var(--muted);margin:0 0 26px;max-width:520px}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags span{border:1px solid var(--line);border-radius:999px;padding:7px 11px;font-size:.69rem;color:#788697;background:#fff}
.featured-section{background:var(--navy);color:white}.section-title-row.light .section-intro{color:#9aa9bb}.featured-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;gap:14px;margin-top:56px}.flow-step{min-height:178px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.045);border-radius:22px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end}.flow-step span{color:#75869b;font-size:.72rem;font-weight:800;margin-bottom:auto}.flow-step strong{font-size:1.01rem}.flow-step p{color:#93a2b4;margin:4px 0 0;font-size:.8rem}.flow-step.accent{border-color:rgba(255,135,158,.45);background:linear-gradient(180deg,rgba(211,47,79,.17),rgba(211,47,79,.07))}.flow-step.accent span{color:#ff8ea2}.flow-arrow{display:grid;place-items:center;color:#64758a;font-size:1.25rem}.featured-bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:22px}.feature-point{padding:26px;border-top:1px solid rgba(255,255,255,.13)}.feature-num{color:#ff8ca1;font-size:.75rem;font-weight:800}.feature-point h3{font-size:1.35rem;margin:20px 0 9px}.feature-point p{color:#9aa9bb;margin:0;font-size:.88rem}
.publication-section{background:white}.external-links{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.82rem;font-weight:700}.external-links a:hover{color:var(--red)}.pub-list{border-top:1px solid var(--line)}.pub-item{display:grid;grid-template-columns:90px 1fr 40px;gap:28px;align-items:center;padding:28px 18px 28px 0;border-bottom:1px solid var(--line);transition:.2s ease}.pub-item:hover{padding-left:12px;background:#fbfcfe}.featured-pub{background:linear-gradient(90deg,rgba(214,46,82,.045),transparent)}.pub-year{color:var(--red);font-size:.73rem;font-weight:800;letter-spacing:.1em}.pub-chip{display:inline-block;color:#8d99a8;font-size:.61rem;font-weight:800;letter-spacing:.11em;margin-bottom:6px}.pub-item h3{margin:0 0 7px;font-size:1.09rem;line-height:1.45}.pub-item p{margin:0;color:var(--muted);font-size:.82rem}.pub-arrow{color:#9aa6b5;font-size:1.1rem}
.activity-section{background:var(--cream)}.highlight-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.highlight-main{position:relative;min-height:440px;border-radius:28px;padding:38px;background:linear-gradient(145deg,#111f30,#0a1522);color:white;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}.highlight-main::before{content:"";position:absolute;width:390px;height:390px;border-radius:50%;right:-130px;top:-150px;background:radial-gradient(circle,rgba(222,52,86,.34),rgba(222,52,86,0) 68%)}.highlight-label{position:absolute;top:36px;left:38px;color:#ff8da3;font-size:.68rem;font-weight:800;letter-spacing:.14em}.highlight-main h3{position:relative;font-size:clamp(1.8rem,3vw,3rem);line-height:1.15;letter-spacing:-.045em;margin:0 30px 26px 0}.highlight-meta{display:flex;gap:10px;flex-wrap:wrap;position:relative}.highlight-meta span{border:1px solid rgba(255,255,255,.13);border-radius:999px;padding:7px 11px;color:#aebac8;font-size:.68rem}.highlight-arrow{position:absolute;right:34px;bottom:34px;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.15);color:#ff90a5}.highlight-side{display:grid;gap:20px}.activity-card{background:rgba(255,255,255,.78);border:1px solid rgba(18,32,51,.08);border-radius:24px;padding:28px;min-height:210px;transition:.2s}.activity-link:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.activity-card span{color:var(--red);font-size:.67rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.activity-card h3{font-size:1.38rem;margin:40px 0 10px;letter-spacing:-.025em}.activity-card p{color:var(--muted);margin:0;font-size:.84rem}
.contact-section{padding:120px 0}.contact-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:90px;align-items:start}.contact-grid h2{font-size:clamp(2.8rem,5vw,5.4rem);line-height:1.05;letter-spacing:-.055em;margin:0}.contact-panel{color:#aeb9c8;padding-top:20px}.contact-panel p{margin-top:0}.email-link{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);padding:19px 0;color:white;font-size:.9rem;font-weight:700;overflow-wrap:anywhere}.email-link span{color:#ff8da3}.contact-links{display:flex;gap:10px;flex-wrap:wrap;margin:28px 0}.contact-links a{color:white;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:10px 14px;font-size:.75rem;font-weight:700}.contact-links a:hover{border-color:#ff8ca1;color:#ff9caf}.contact-note{color:#6f8196;font-size:.72rem}
.footer{background:#08131f;color:#8f9bac}.footer-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.77rem}.footer-inner div:first-child{display:grid;gap:2px}.footer strong{color:white;font-size:.88rem}.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){.nav{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:22px 24px 28px;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:16px}.nav.open{display:flex}.nav.open a{color:var(--ink)}.menu-button{display:block}.hero{min-height:auto}.hero-grid,.two-column,.contact-grid,.highlight-layout{grid-template-columns:1fr;gap:54px}.hero-visual{min-height:500px;max-width:620px;width:100%;margin:0 auto}.status-grid{grid-template-columns:1fr}.status-item{border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.section-title-row{align-items:start;flex-direction:column;gap:20px}.research-grid{grid-template-columns:1fr}.featured-flow{grid-template-columns:1fr}.flow-arrow{transform:rotate(90deg);min-height:20px}.featured-bottom{grid-template-columns:1fr}.highlight-main{min-height:390px}}
@media(max-width:640px){.container{width:min(calc(100% - 28px),var(--container))}.section{padding:82px 0}.header-inner{height:66px}.nav{top:66px}.brand-text{display:none}.lang-button{height:36px}.hero{padding:112px 0 90px}.hero h1{font-size:clamp(3rem,14vw,4.5rem)}.lead{font-size:.98rem}.hero-meta{flex-direction:column;gap:16px}.hero-visual{min-height:455px}.visual-main{inset:55px 8px 72px 8px}.berry-graphic{width:150px;height:150px;margin:26px auto 12px}.visual-main h2{font-size:1.5rem}.visual-mini{width:142px;min-height:92px;padding:14px}.mini-b{left:0}.mini-c{right:0}.status-item{padding:24px 20px}.profile-strip{grid-template-columns:1fr}.career-mini div{grid-template-columns:95px 1fr}.research-card{min-height:auto;padding:28px}.research-card h3{font-size:1.7rem;margin-top:44px}.pub-item{grid-template-columns:1fr 28px;gap:12px;padding:24px 6px 24px 0}.pub-year{grid-column:1/-1}.highlight-main{padding:28px;min-height:420px}.highlight-label{left:28px;top:28px}.highlight-main h3{font-size:1.75rem;margin-right:0}.highlight-arrow{right:24px;bottom:24px}.contact-section{padding:90px 0}.footer-inner{padding:24px 0;align-items:flex-start;flex-direction:column}}

/* Research concept / AI-generated concept visual */
.concept-section{background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);border-bottom:1px solid var(--line)}
.concept-heading{margin-bottom:48px}
.concept-layout{display:grid;grid-template-columns:1.18fr .82fr;gap:32px;align-items:stretch}
.concept-media{position:relative;margin:0;background:#0e1b2a;border-radius:30px;padding:16px;box-shadow:0 28px 80px rgba(13,31,51,.14);overflow:hidden;min-height:520px;display:flex;flex-direction:column}
.concept-media::after{content:"";position:absolute;inset:auto -120px -150px auto;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(216,46,82,.20),rgba(216,46,82,0) 68%);pointer-events:none}
.concept-badge{position:absolute;z-index:2;top:30px;left:30px;border:1px solid rgba(255,255,255,.18);background:rgba(9,20,32,.66);backdrop-filter:blur(14px);color:#fff;border-radius:999px;padding:7px 12px;font-size:.64rem;letter-spacing:.14em;font-weight:800}
.concept-image{width:100%;height:100%;min-height:430px;object-fit:cover;display:block;border-radius:20px;background:#132334}
.concept-caption{position:relative;z-index:2;color:#93a3b6;font-size:.72rem;line-height:1.6;padding:13px 7px 2px}
.concept-copy{background:#fff;border:1px solid var(--line);border-radius:30px;padding:38px;box-shadow:0 18px 50px rgba(12,31,52,.06);display:flex;flex-direction:column}
.concept-kicker{margin:0 0 22px;color:var(--red);font-size:.68rem;font-weight:800;letter-spacing:.16em}
.concept-copy h3{font-size:clamp(1.85rem,2.8vw,2.9rem);line-height:1.16;letter-spacing:-.045em;margin:0 0 24px}
.concept-copy>p:not(.concept-kicker):not(.concept-replace-note){color:var(--muted);margin:0 0 26px}
.concept-points{display:grid;gap:0;border-top:1px solid var(--line);margin-top:auto}
.concept-point{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}
.concept-point span{color:var(--red);font-size:.65rem;font-weight:800;letter-spacing:.08em}
.concept-point strong{font-size:.86rem;letter-spacing:-.01em}
.concept-replace-note{margin:20px 0 0;color:#9aa6b4;font-size:.70rem;line-height:1.6}
@media(max-width:1000px){.concept-layout{grid-template-columns:1fr}.concept-media{min-height:auto}.concept-image{min-height:0;aspect-ratio:16/9}.concept-copy{padding:32px}}
@media(max-width:640px){.concept-heading{margin-bottom:34px}.concept-media{padding:10px;border-radius:22px}.concept-image{border-radius:15px}.concept-badge{top:20px;left:20px}.concept-caption{font-size:.68rem;padding:11px 5px 1px}.concept-copy{padding:26px;border-radius:22px}.concept-copy h3{font-size:1.75rem}.concept-point{grid-template-columns:36px 1fr}}


/* v5: publication spotlights and theme browser */
.pub-spotlight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px;margin-bottom:34px}
.pub-spotlight{position:relative;display:flex;flex-direction:column;min-height:650px;border:1px solid var(--line);border-radius:28px;padding:24px;background:#fff;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.pub-spotlight:hover{transform:translateY(-6px);box-shadow:0 28px 70px rgba(12,31,52,.12);border-color:#d8dee7}
.pub-spotlight-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:15px}.pub-badge,.pub-role{font-size:.58rem;font-weight:800;letter-spacing:.11em}.pub-badge{color:#fff;background:var(--ink);border-radius:999px;padding:6px 9px}.pub-role{color:#8c98a7}
.pub-art{height:190px;border-radius:19px;margin-bottom:24px;position:relative;overflow:hidden;background:#f1f4f7}.pub-art-root{background:radial-gradient(circle at 50% 12%,rgba(224,73,100,.16),transparent 34%),linear-gradient(180deg,#101f30,#0c1724)}.pub-art-root svg{width:100%;height:100%;fill:none;stroke:#ff8197;stroke-width:2.1;stroke-linecap:round;opacity:.92}.pub-art-root svg circle{fill:#ff8197;stroke:none}
.pub-art-spectrum{background:linear-gradient(135deg,#0e1d2d,#152f43);display:grid;place-items:center}.spectral-berry{position:absolute;left:32px;top:46px;width:88px;height:100px;border-radius:48% 48% 55% 55%;display:grid;place-items:center;color:transparent;background:linear-gradient(145deg,#ff6984,#bd1d42);transform:rotate(-4deg);box-shadow:0 16px 35px rgba(180,27,61,.22)}.spectral-berry::before{content:"";position:absolute;top:-17px;left:18px;width:54px;height:28px;background:#62a77c;clip-path:polygon(50% 0,61% 45%,100% 25%,70% 62%,92% 100%,50% 75%,12% 100%,30% 60%,0 27%,39% 45%)}.spectrum-lines{position:absolute;right:29px;top:43px;width:165px;height:105px;display:flex;align-items:flex-end;gap:7px}.spectrum-lines i{display:block;flex:1;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#8ee3ff,#a975ff 45%,#ff7393)}.spectrum-lines i:nth-child(1){height:44%}.spectrum-lines i:nth-child(2){height:72%}.spectrum-lines i:nth-child(3){height:91%}.spectrum-lines i:nth-child(4){height:58%}.spectrum-lines i:nth-child(5){height:78%}.scan-line{position:absolute;left:130px;top:16px;width:2px;height:160px;background:linear-gradient(transparent,#83e8ff,transparent);box-shadow:0 0 12px #83e8ff}
.pub-art-canopy{background:linear-gradient(180deg,#eaf4f0,#f7faf8)}.canopy-leaf{position:absolute;width:78px;height:42px;border-radius:70% 10% 70% 10%;background:linear-gradient(145deg,#77b893,#3e815f);transform-origin:right center}.l1{left:48px;bottom:45px;transform:rotate(22deg)}.l2{left:113px;bottom:73px;transform:rotate(-17deg) scale(.9)}.l3{left:177px;bottom:44px;transform:rotate(28deg) scale(1.05)}.l4{left:245px;bottom:80px;transform:rotate(-23deg) scale(.83)}.airflow{position:absolute;left:26px;color:#d73759;font-size:.7rem;font-weight:800;letter-spacing:.08em}.a1{top:42px}.a2{top:78px;color:#667f95}.pub-art-canopy::after{content:"";position:absolute;left:50%;bottom:20px;width:2px;height:70px;background:#6e997f;box-shadow:-70px 10px 0 #6e997f,70px 5px 0 #6e997f}
.pub-topic{color:var(--red);font-size:.62rem;font-weight:800;letter-spacing:.12em;margin-bottom:11px}.pub-spotlight h3{font-size:1.16rem;line-height:1.42;letter-spacing:-.025em;margin:0 0 14px}.pub-summary{color:var(--muted);font-size:.79rem;line-height:1.72;margin:0 0 18px}.pub-metric{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin-top:auto}.pub-metric span{font-size:.65rem;color:#8995a4}.pub-metric strong{font-size:1.1rem;letter-spacing:-.03em;color:var(--ink)}.pub-citation{display:flex;justify-content:space-between;gap:15px;align-items:baseline;padding-top:17px;margin-top:auto}.pub-metric+.pub-citation{margin-top:0}.pub-citation strong{font-size:.73rem;line-height:1.4}.pub-citation span{color:#9aa5b3;font-size:.67rem;white-space:nowrap}.pub-open{display:block;margin-top:16px;color:#9aa5b3;font-size:.68rem;font-weight:700}.pub-spotlight:hover .pub-open{color:var(--red)}
.pub-browser{border:1px solid var(--line);border-radius:28px;background:#fff;overflow:hidden}.pub-browser-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;padding:28px 30px;border-bottom:1px solid var(--line);background:#fbfcfd}.pub-browser-kicker{display:block;color:var(--red);font-size:.6rem;font-weight:800;letter-spacing:.13em;margin-bottom:7px}.pub-browser-head h3{margin:0;font-size:1.25rem}.pub-filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.pub-filter{appearance:none;border:1px solid #dce2e8;background:#fff;color:#6d7988;border-radius:999px;padding:9px 12px;font:inherit;font-size:.68rem;font-weight:700;cursor:pointer;transition:.2s}.pub-filter:hover{border-color:#b8c2ce;color:var(--ink)}.pub-filter.active{background:var(--ink);border-color:var(--ink);color:white}.pub-list-v5{border-top:0}.pub-list-v5 .pub-item{padding-left:30px;padding-right:30px}.pub-list-v5 .pub-item:hover{padding-left:40px}.pub-chip em{font-style:normal;color:#b4bdc8;margin-left:8px;font-size:.54rem}.pub-item.is-filtered-out{display:none}.pub-all-links{display:flex;align-items:center;gap:13px;flex-wrap:wrap;padding:20px 30px;background:#fbfcfd;border-top:1px solid var(--line)}.pub-all-links span{color:#9aa5b3;font-size:.68rem;margin-right:auto}.pub-all-links a{font-size:.7rem;font-weight:750;color:var(--ink)}.pub-all-links a:hover{color:var(--red)}
@media(max-width:1000px){.pub-spotlight-grid{grid-template-columns:1fr}.pub-spotlight{min-height:0}.pub-art{height:220px}.pub-browser-head{align-items:flex-start;flex-direction:column}.pub-filters{justify-content:flex-start}}
@media(max-width:640px){.pub-spotlight{padding:18px;border-radius:22px}.pub-art{height:175px}.pub-spotlight h3{font-size:1.07rem}.pub-browser{border-radius:22px}.pub-browser-head{padding:22px 18px}.pub-list-v5 .pub-item{padding-left:18px;padding-right:18px}.pub-list-v5 .pub-item:hover{padding-left:18px}.pub-all-links{padding:18px}.pub-all-links span{width:100%;margin-right:0}.pub-role{display:none}.spectrum-lines{right:18px;width:132px}.spectral-berry{left:24px}.scan-line{left:111px}}


/* ===== v6: research journey + current projects ===== */
.about-principle{margin-top:36px;padding:24px 26px;border-radius:20px;background:linear-gradient(135deg,rgba(222,52,86,.055),rgba(18,32,51,.035));border:1px solid var(--line)}
.about-principle span,.now-kicker{display:block;color:var(--red);font-size:.67rem;font-weight:800;letter-spacing:.14em;margin-bottom:10px}
.about-principle p{margin:0;color:var(--ink);font-size:.92rem;line-height:1.8}
.journey-section{background:#fff;overflow:hidden}
.journey-track{position:relative;margin-top:58px}
.journey-track::before{content:"";position:absolute;left:150px;top:18px;bottom:28px;width:1px;background:linear-gradient(to bottom,rgba(222,52,86,.55),rgba(18,32,51,.12))}
.journey-item{display:grid;grid-template-columns:120px 60px 1fr;gap:0;position:relative;padding:0 0 50px}
.journey-year{padding-top:4px;font-size:.78rem;font-weight:800;color:var(--red);letter-spacing:.06em;text-align:right}
.journey-marker{position:relative}
.journey-marker::before{content:"";position:absolute;left:24px;top:6px;width:11px;height:11px;border-radius:50%;background:#fff;border:3px solid var(--red);z-index:2;box-shadow:0 0 0 5px #fff}
.journey-copy{max-width:800px;padding:0 0 0 16px}
.journey-copy>span{font-size:.64rem;font-weight:800;letter-spacing:.14em;color:#93a0ae}
.journey-copy h3{margin:8px 0 10px;font-size:clamp(1.35rem,2vw,1.9rem);letter-spacing:-.035em}
.journey-copy p{margin:0;color:var(--muted);line-height:1.8;max-width:760px}
.journey-current .journey-copy{padding:24px 28px;margin-top:-20px;border-radius:22px;background:linear-gradient(145deg,#101e2f,#0b1724);color:#fff}
.journey-current .journey-copy>span{color:#ff8fa5}.journey-current .journey-copy p{color:#b5c0cc}.journey-current .journey-marker::before{background:var(--red);box-shadow:0 0 0 6px rgba(222,52,86,.12)}
.now-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:24px;align-items:start}
.now-projects,.now-recognition{display:grid;gap:16px}
.project-card{position:relative;display:block;padding:28px 66px 28px 28px;border-radius:24px;background:rgba(255,255,255,.83);border:1px solid rgba(18,32,51,.08);transition:.24s;overflow:hidden}
.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.project-primary{background:linear-gradient(145deg,#101f31,#0c1825);color:#fff;border-color:transparent}
.project-primary::before{content:"";position:absolute;right:-90px;top:-110px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(222,52,86,.32),rgba(222,52,86,0) 70%)}
.project-top{position:relative;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--red);font-size:.63rem;font-weight:800;letter-spacing:.11em}
.project-primary .project-top{color:#ff8fa5}
.project-card h3{position:relative;font-size:1.35rem;line-height:1.4;letter-spacing:-.03em;margin:25px 0 12px}
.project-card p{position:relative;color:var(--muted);font-size:.84rem;line-height:1.75;margin:0}
.project-primary p{color:#b5c1cf}
.project-tags{position:relative;display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}
.project-tags span{font-size:.62rem;border:1px solid var(--line);border-radius:999px;padding:6px 9px;color:#778493}
.project-primary .project-tags span{border-color:rgba(255,255,255,.14);color:#aebbc9}
.project-arrow{position:absolute;right:24px;bottom:24px;width:38px;height:38px;border:1px solid rgba(18,32,51,.1);border-radius:50%;display:grid;place-items:center;color:var(--red)}
.project-primary .project-arrow{border-color:rgba(255,255,255,.13);color:#ff8fa5}
.milestone{display:block;padding:24px;border-radius:22px;background:rgba(255,255,255,.8);border:1px solid rgba(18,32,51,.08)}
.milestone>span{color:var(--red);font-size:.64rem;font-weight:800;letter-spacing:.12em}
.milestone h3{font-size:1.23rem;margin:18px 0 8px;letter-spacing:-.025em}
.milestone p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.65}
.milestone-main{background:linear-gradient(135deg,rgba(222,52,86,.11),rgba(255,255,255,.88));transition:.22s}
.milestone-main:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.milestone-main b{display:inline-block;margin-top:18px;color:var(--red);font-size:.72rem}
@media(max-width:1000px){.now-grid{grid-template-columns:1fr}.journey-track::before{left:109px}.journey-item{grid-template-columns:80px 58px 1fr}.journey-year{text-align:left}.journey-current .journey-copy{margin-top:-16px}}
@media(max-width:640px){.journey-track{margin-top:42px}.journey-track::before{left:14px;top:7px}.journey-item{grid-template-columns:30px 1fr;padding-bottom:38px}.journey-year{grid-column:2;font-size:.7rem;margin-bottom:8px}.journey-marker{grid-row:1/3;grid-column:1}.journey-marker::before{left:8px;top:3px;width:9px;height:9px}.journey-copy{grid-column:2;padding-left:0}.journey-current .journey-copy{padding:22px;margin-top:0}.project-card{padding:24px 50px 24px 22px}.project-card h3{font-size:1.18rem}.project-top{display:grid;gap:6px}.milestone{padding:22px}}


/* ===== v7: premium navigation + research detail pages ===== */
.visual-link{color:inherit;text-decoration:none;transition:transform .25s,border-color .25s,background .25s}.visual-link:hover{border-color:rgba(255,143,164,.34);background:rgba(255,255,255,.085)}.visual-main.visual-link:hover{transform:translateY(-5px)}.visual-mini em{font-size:.58rem;font-style:normal;color:#73849a;letter-spacing:.05em;margin-top:9px}.visual-mini:hover em{color:#ff91a5}.hero-proof{display:flex;gap:8px;flex-wrap:wrap;margin-top:42px}.hero-proof span{display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.035);border-radius:999px;padding:8px 12px}.hero-proof b{font-size:.75rem;color:#f5f7fa}.hero-proof small{font-size:.62rem;color:#7f8fa3}.hero-meta{margin-top:24px}.research-card{display:block;color:inherit}.research-card .card-read{position:absolute;bottom:30px;right:32px;display:flex;gap:9px;align-items:center;font-size:.67rem;font-weight:750;color:#a1acb8;transition:.2s}.research-card .card-read b{color:var(--red);font-size:.8rem}.research-card:hover .card-read{color:var(--ink);transform:translateX(3px)}.research-card .tags{padding-bottom:30px}.project-card::after{content:"View project";position:absolute;right:58px;bottom:26px;color:#96a1ad;font-size:.61rem;font-weight:750;letter-spacing:.04em}.project-primary::after{color:#8393a6}
.detail-page{background:#fff}.detail-header .brand,.detail-header .nav a,.detail-header .lang-button,.detail-header .menu-button{color:var(--ink)}.detail-hero{position:relative;padding:158px 0 105px;overflow:hidden}.detail-gridlines{position:absolute;inset:0;opacity:.07;background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);background-size:60px 60px;mask-image:linear-gradient(to bottom,black,transparent)}.detail-hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.detail-back{display:inline-block;margin-bottom:42px;color:#8fa0b4;font-size:.7rem;font-weight:700}.detail-back:hover{color:#ff91a5}.detail-kicker,.detail-eyebrow{font-size:.64rem;font-weight:800;letter-spacing:.15em;color:var(--red)}.detail-hero .detail-kicker{color:#ff8fa5}.detail-hero h1{font-size:clamp(3rem,5.6vw,5.6rem);line-height:1.02;letter-spacing:-.06em;margin:14px 0 28px}.detail-lead{max-width:720px;color:#b4c0cf;font-size:1rem;line-height:1.9;margin:0}.detail-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:32px}.detail-tags span{border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:7px 11px;color:#9eacbd;font-size:.65rem}.detail-visual{min-height:500px;position:relative;display:grid;place-items:center}.detail-system{position:relative;width:min(470px,90vw);height:470px;border-radius:50%;border:1px solid rgba(255,255,255,.08);background:radial-gradient(circle,rgba(255,255,255,.07),rgba(255,255,255,.015) 52%,transparent 53%);box-shadow:0 40px 100px rgba(0,0,0,.18),inset 0 0 90px rgba(255,255,255,.02)}
.detail-system-yield .sys-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:135px;height:135px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#ef4c6d,#ad1538);font-weight:800;letter-spacing:.08em;box-shadow:0 25px 55px rgba(214,46,82,.28)}.sys-node{position:absolute;width:112px;height:112px;border-radius:50%;border:1px solid rgba(255,255,255,.13);background:#111f30;display:grid;place-content:center;text-align:center;z-index:2}.sys-node b{font-size:.82rem}.sys-node small{color:#77889d;font-size:.58rem}.sys-node.n1{left:20px;top:65px}.sys-node.n2{right:15px;top:80px}.sys-node.n3{left:35px;bottom:55px}.sys-node.n4{right:25px;bottom:50px}.sys-line{position:absolute;height:1px;background:linear-gradient(90deg,rgba(255,143,165,.2),rgba(255,143,165,.8));width:150px;left:50%;top:50%;transform-origin:0 0}.sys-line.l1{transform:rotate(-145deg)}.sys-line.l2{transform:rotate(-33deg)}.sys-line.l3{transform:rotate(142deg)}.sys-line.l4{transform:rotate(35deg)}
.greenhouse-frame{position:absolute;inset:70px 55px 85px;border:1px solid rgba(255,255,255,.15);border-radius:150px 150px 18px 18px;border-bottom-width:2px}.greenhouse-frame>i{position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(255,255,255,.08)}.greenhouse-frame>i:nth-child(2){transform:translateX(-90px)}.greenhouse-frame>i:nth-child(3){transform:translateX(90px)}.env-sun,.env-co2,.env-temp{position:absolute;font-weight:800}.env-sun{left:30px;top:26px;color:#ffd07d;font-size:2rem}.env-co2{right:24px;top:42px;color:#8dd2ff;font-size:.85rem}.env-temp{right:36px;bottom:36px;color:#ff8fa5}.env-canopy{position:absolute;left:30px;right:30px;bottom:26px;height:100px;display:flex;justify-content:space-around;align-items:flex-end}.env-canopy b{width:48px;height:64px;border-radius:70% 15% 70% 15%;background:linear-gradient(145deg,#7ac399,#39775a);transform:rotate(25deg)}.env-canopy b:nth-child(even){transform:rotate(-25deg)}
.post-system .fruit-orb{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:160px;height:180px;border-radius:48% 48% 55% 55%;display:grid;place-items:center;background:linear-gradient(145deg,#ff6b85,#b8173c);font-weight:800;letter-spacing:.08em;box-shadow:0 25px 55px rgba(214,46,82,.24)}.post-beam{position:absolute;width:95px;padding:10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;text-align:center;font-size:.72rem;font-weight:800}.beam-a{left:35px;top:100px;color:#9cefff}.beam-b{right:35px;top:115px;color:#cba8ff}.post-gauge{position:absolute;left:75px;bottom:55px;right:75px}.post-gauge span{display:block;color:#8292a5;font-size:.6rem;letter-spacing:.12em;margin-bottom:8px}.post-gauge i{display:block;height:4px;border-radius:999px;background:linear-gradient(90deg,#5fc79a 72%,rgba(255,255,255,.09) 72%)}.post-storage{position:absolute;right:46px;bottom:90px;color:#8596aa;font-size:.58rem;font-weight:800;letter-spacing:.1em}
.sense-fruit{position:absolute;left:72px;top:145px;width:135px;height:150px;border-radius:48% 48% 55% 55%;background:linear-gradient(145deg,#ff6984,#bd1d42)}.sense-scan{position:absolute;left:225px;top:80px;height:300px;width:2px;background:linear-gradient(transparent,#7de9ff,transparent);box-shadow:0 0 14px #7de9ff}.sense-bars{position:absolute;right:50px;top:130px;width:150px;height:175px;display:flex;align-items:flex-end;gap:7px}.sense-bars i{display:block;flex:1;background:linear-gradient(#7de9ff,#9e78ff 48%,#ff6f91);border-radius:4px 4px 0 0}.sense-label{position:absolute;right:55px;bottom:105px;color:#718298;font-size:.58rem;font-weight:800;letter-spacing:.12em}
.project-system .gene-ring{position:absolute;inset:80px;border:1px solid rgba(255,255,255,.12);border-radius:50%;display:grid;place-items:center}.gene-ring span{width:130px;height:130px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#ef4c6d,#ad1538);font-weight:800}.gene-ring i{position:absolute;font-style:normal;font-size:.6rem;font-weight:800;color:#91a0b2}.gene-ring i:nth-of-type(1){top:12px}.gene-ring i:nth-of-type(2){right:0;top:50%}.gene-ring i:nth-of-type(3){bottom:12px}.gene-ring i:nth-of-type(4){left:0;top:50%}.project-marker{position:absolute;bottom:46px;left:50%;transform:translateX(-50%);font-size:.62rem;letter-spacing:.15em;color:#ff8fa5;font-weight:800}.precision-system .precision-canopy{position:absolute;left:70px;bottom:105px;width:170px;height:150px}.precision-canopy b{position:absolute;width:90px;height:50px;border-radius:70% 10% 70% 10%;background:linear-gradient(145deg,#78ba94,#3c7b5c)}.precision-canopy b:nth-child(1){left:0;bottom:25px;transform:rotate(25deg)}.precision-canopy b:nth-child(2){left:65px;bottom:70px;transform:rotate(-20deg)}.precision-canopy b:nth-child(3){left:90px;bottom:10px;transform:rotate(30deg)}.precision-light,.precision-water,.precision-data{position:absolute;font-size:.62rem;font-weight:800;letter-spacing:.09em}.precision-light{left:70px;top:75px;color:#ffd07d}.precision-water{right:58px;bottom:110px;color:#7dd7ff}.precision-data{right:52px;top:140px;width:130px;border:1px solid rgba(255,255,255,.13);border-radius:16px;padding:18px;color:#a6b2c0}.precision-data::before{content:"";display:block;height:42px;margin-bottom:10px;background:repeating-linear-gradient(90deg,#ff6f91 0 4px,transparent 4px 10px);opacity:.65}
.detail-thesis{padding:78px 0;background:#f6f8fb;border-bottom:1px solid var(--line)}.detail-thesis-grid{display:grid;grid-template-columns:220px 1fr;gap:50px;align-items:start}.detail-thesis h2{margin:0;font-size:clamp(2rem,3.5vw,3.7rem);line-height:1.25;letter-spacing:-.05em}.detail-body{background:#fff}.detail-three{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.detail-three article{padding:30px;border:1px solid var(--line);border-radius:24px;background:#fff}.detail-three article>span{color:var(--red);font-size:.65rem;font-weight:800}.detail-three h3{font-size:1.25rem;margin:35px 0 12px}.detail-three p{margin:0;color:var(--muted);font-size:.84rem}.detail-story{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;margin-top:96px;padding-top:60px;border-top:1px solid var(--line)}.detail-story h2{font-size:clamp(2rem,3.4vw,3.5rem);line-height:1.22;letter-spacing:-.05em;margin:14px 0 0}.detail-story>div:last-child>p{font-size:1rem;color:var(--muted);line-height:1.9;margin:0}.detail-source{margin-top:28px;border:1px solid var(--line);color:var(--ink);background:#fff}.detail-next{padding:80px 0 100px;background:#f7f9fc}.detail-next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}.detail-next-grid a{position:relative;border:1px solid var(--line);border-radius:20px;padding:24px;background:#fff;transition:.2s}.detail-next-grid a:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.detail-next-grid span{display:block;color:var(--red);font-size:.62rem;font-weight:800;margin-bottom:24px}.detail-next-grid strong{font-size:.9rem}.detail-next-grid b{position:absolute;right:20px;top:20px;color:#a3adb8}.detail-footer{border-top:1px solid var(--line);background:#fff}.detail-footer-inner{min-height:90px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#8390a0;font-size:.7rem}.detail-footer a{color:var(--ink);font-weight:700}
@media(max-width:1000px){.detail-hero-grid,.detail-story{grid-template-columns:1fr}.detail-visual{min-height:430px}.detail-thesis-grid{grid-template-columns:1fr;gap:18px}.detail-three{grid-template-columns:1fr}.detail-next-grid{grid-template-columns:1fr}.project-card::after{display:none}}
@media(max-width:640px){.hero-proof span{padding:7px 10px}.hero-proof small{display:none}.research-card .card-read{position:static;margin-top:14px;display:flex}.research-card .tags{padding-bottom:0}.detail-hero{padding:120px 0 72px}.detail-hero h1{font-size:clamp(2.7rem,13vw,4rem)}.detail-visual{min-height:330px}.detail-system{width:320px;height:320px}.sys-node{width:78px;height:78px}.sys-node.n1{left:8px;top:42px}.sys-node.n2{right:5px;top:50px}.sys-node.n3{left:20px;bottom:35px}.sys-node.n4{right:12px;bottom:30px}.detail-system-yield .sys-core{width:95px;height:95px}.sys-line{width:100px}.greenhouse-frame{inset:45px 32px 58px}.env-canopy b{width:35px;height:45px}.post-system .fruit-orb{width:112px;height:126px}.post-beam{width:70px}.beam-a{left:16px;top:70px}.beam-b{right:15px;top:80px}.post-gauge{left:52px;right:52px;bottom:40px}.sense-fruit{left:40px;top:105px;width:92px;height:105px}.sense-scan{left:148px;top:58px;height:205px}.sense-bars{right:25px;top:92px;width:112px;height:115px}.sense-label{right:28px;bottom:72px}.project-system .gene-ring{inset:55px}.gene-ring span{width:90px;height:90px}.precision-system .precision-canopy{left:34px;bottom:70px;transform:scale(.72);transform-origin:left bottom}.precision-data{right:25px;top:95px;width:110px}.precision-light{left:38px;top:48px}.precision-water{right:30px;bottom:78px}.detail-thesis{padding:58px 0}.detail-body{padding-top:75px}.detail-story{margin-top:70px;gap:28px}.detail-footer-inner{align-items:flex-start;flex-direction:column;justify-content:center;padding:22px 0}}
.detail-header{background:rgba(255,255,255,.95)!important;border-color:var(--line)!important;box-shadow:0 6px 22px rgba(10,26,43,.06)}
.detail-next-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}


/* v8 — evidence and research-to-publication connections */
.detail-evidence{background:#f8fafc;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.evidence-head{display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:end;margin-bottom:34px}.evidence-head h2{margin:13px 0 0;font-size:clamp(2rem,3.5vw,3.65rem);line-height:1.15;letter-spacing:-.05em}.evidence-head>p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.85}
.evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.evidence-grid-two{grid-template-columns:repeat(2,1fr)}.evidence-card{position:relative;display:flex;flex-direction:column;min-height:360px;padding:27px;border:1px solid var(--line);border-radius:24px;background:#fff;color:var(--ink);transition:.25s ease;overflow:hidden}.evidence-card::after{content:"↗";position:absolute;right:22px;top:20px;color:#aeb8c4;font-size:.9rem}.evidence-card:hover{transform:translateY(-5px);box-shadow:0 24px 55px rgba(13,30,48,.09);border-color:#d3dbe4}.evidence-card-accent{background:linear-gradient(145deg,#101f30,#0b1827);border-color:#16293d;color:#fff}.evidence-card-accent::before{content:"";position:absolute;width:190px;height:190px;border-radius:50%;background:rgba(214,46,82,.16);right:-60px;bottom:-75px}.evidence-card-accent::after{color:#74879c}.evidence-year{font-size:.66rem;font-weight:800;letter-spacing:.12em;color:var(--red)}.evidence-tag{margin-top:32px;color:#8e9aaa;font-size:.59rem;font-weight:800;letter-spacing:.11em}.evidence-card-accent .evidence-tag{color:#8494a7}.evidence-card h3{position:relative;margin:11px 0 14px;font-size:1.06rem;line-height:1.48;letter-spacing:-.018em}.evidence-card p{position:relative;margin:0 0 22px;color:var(--muted);font-size:.77rem;line-height:1.75}.evidence-card-accent p{color:#aebaca}.evidence-card>b{position:relative;margin-top:auto;color:#9ca8b5;font-size:.66rem}.evidence-card:hover>b{color:var(--red)}.evidence-metric{position:relative;display:flex;justify-content:space-between;gap:16px;align-items:center;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);padding:12px 0;margin:auto 0 16px}.evidence-metric span{color:#8d9bad;font-size:.62rem}.evidence-metric strong{color:#fff;font-size:1.05rem}
.evidence-project{display:flex;justify-content:space-between;align-items:center;gap:45px;margin-top:18px;padding:28px 30px;border:1px solid var(--line);border-radius:24px;background:#fff}.evidence-project>div{max-width:760px}.evidence-project-label{color:var(--red);font-size:.58rem;font-weight:800;letter-spacing:.13em}.evidence-project h3{margin:7px 0 8px;font-size:1.15rem}.evidence-project p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.7}.evidence-project-link{flex:0 0 auto;display:flex;align-items:center;gap:28px;border-radius:999px;background:var(--ink);color:#fff;padding:13px 18px 13px 20px;font-size:.69rem;font-weight:750}.evidence-project-link span{font-size:1rem}.evidence-project-link:hover{background:var(--red)}
.project-path{display:flex;align-items:stretch;gap:10px}.project-path>a,.project-path-current{flex:1;min-width:0;display:flex;flex-direction:column;padding:23px;border:1px solid var(--line);border-radius:21px;background:#fff;color:var(--ink);transition:.2s}.project-path>a:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.project-path>i{align-self:center;color:#bbc4ce;font-style:normal}.project-path span{color:var(--red);font-size:.6rem;font-weight:800;letter-spacing:.1em}.project-path strong{margin-top:22px;font-size:.9rem}.project-path small{margin-top:6px;color:var(--muted);font-size:.68rem;line-height:1.45}.project-path-current{background:var(--ink);border-color:var(--ink);color:#fff}.project-path-current small{color:#9cabbb}
.related-theme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-top:18px}.related-theme-grid a{padding:26px;border:1px solid var(--line);border-radius:22px;background:#fff;color:var(--ink);transition:.2s}.related-theme-grid a:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.related-theme-grid span{color:var(--red);font-size:.59rem;font-weight:800;letter-spacing:.12em}.related-theme-grid h3{font-size:1.1rem;margin:22px 0 8px}.related-theme-grid p{color:var(--muted);font-size:.76rem;margin:0 0 20px}.related-theme-grid b{font-size:.67rem;color:#98a4b1}
@media(max-width:1000px){.evidence-head{grid-template-columns:1fr;gap:18px}.evidence-grid,.evidence-grid-two{grid-template-columns:1fr}.evidence-card{min-height:0}.project-path{display:grid;grid-template-columns:1fr 24px 1fr 24px 1fr 24px 1fr}.project-path>i{text-align:center}.evidence-project{align-items:flex-start;flex-direction:column}.related-theme-grid{grid-template-columns:1fr}}
@media(max-width:720px){.detail-evidence{padding-top:72px;padding-bottom:72px}.evidence-card{padding:22px;border-radius:21px}.evidence-project{padding:22px;border-radius:21px;gap:20px}.evidence-project-link{width:100%;justify-content:space-between}.project-path{grid-template-columns:1fr}.project-path>i{transform:rotate(90deg);height:20px}.related-theme-grid{grid-template-columns:1fr}}


/* v9 — discoverability, news, collaboration, launch polish */
.button-text{color:#ff9caf;padding-left:8px;padding-right:8px}.button-text:hover{color:#fff}
.news-section{background:#f6f8fb}.news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.news-card{position:relative;min-height:300px;padding:30px;border:1px solid var(--line);border-radius:25px;background:#fff;display:flex;flex-direction:column;transition:.23s;overflow:hidden}.news-card::after{content:"↗";position:absolute;right:24px;top:24px;color:#a6b0bc}.news-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.news-featured{background:linear-gradient(145deg,#101f30,#0b1827);border-color:#182b3f;color:#fff}.news-featured::before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-75px;bottom:-95px;background:rgba(214,46,82,.18)}.news-date{color:var(--red);font-size:.68rem;font-weight:800;letter-spacing:.12em}.news-type{margin-top:8px;color:#96a3b2;font-size:.59rem;font-weight:800;letter-spacing:.13em}.news-card h3{position:relative;margin:42px 0 13px;font-size:1.55rem;letter-spacing:-.035em}.news-card p{position:relative;margin:0 0 28px;color:var(--muted);font-size:.84rem;line-height:1.75}.news-featured p{color:#aebaca}.news-card b{position:relative;margin-top:auto;font-size:.7rem;color:#9ba7b4}.news-card:hover b{color:var(--red)}
.collaborate-section{background:#fff}.collab-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.collab-card{position:relative;min-height:410px;padding:35px;border:1px solid var(--line);border-radius:28px;background:#fff;display:flex;flex-direction:column}.collab-card>span{color:var(--red);font-size:.64rem;font-weight:800;letter-spacing:.14em}.collab-card h3{font-size:2rem;letter-spacing:-.045em;margin:45px 0 15px}.collab-card p{max-width:500px;color:var(--muted);margin:0;line-height:1.8}.collab-card>a{margin-top:auto;align-self:flex-start;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:.78rem;font-weight:800}.collab-card small{display:block;color:#99a4b1;font-size:.67rem;margin-top:15px;line-height:1.65}.collab-card-dark{background:var(--navy);border-color:var(--navy);color:#fff}.collab-card-dark p{color:#a9b5c3}.collab-tags,.collab-principles{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.collab-tags i{font-style:normal;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:7px 11px;color:#b6c1ce;font-size:.68rem}.collab-principles b{border:1px solid var(--line);border-radius:999px;padding:7px 11px;color:#6f7d8d;font-size:.68rem}.collab-card-dark>a{color:#ff91a5}
.nf{min-height:100vh;background:var(--navy);color:#fff;display:grid;place-items:center;text-align:center;padding:32px}.nf span{color:#ff8fa4;font-weight:800;letter-spacing:.18em}.nf h1{font-size:clamp(3rem,8vw,6rem);letter-spacing:-.06em;margin:10px 0}.nf p{color:#93a2b4;margin-bottom:32px}
@media(max-width:1000px){.news-grid,.collab-grid{grid-template-columns:1fr}.nav{gap:17px}.news-card{min-height:260px}.collab-card{min-height:360px}}
@media(max-width:640px){.news-card,.collab-card{padding:24px;border-radius:22px}.news-card h3{margin-top:32px}.collab-card h3{font-size:1.65rem;margin-top:34px}.button-text{width:100%;justify-content:flex-start;padding-left:0}}


/* v10 — launch candidate: accessibility, reduced motion, print */
.skip-link{position:fixed;left:14px;top:12px;z-index:9999;transform:translateY(-160%);background:#fff;color:#0b1827;border:2px solid #d62e52;border-radius:10px;padding:10px 14px;font-size:.78rem;font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.18);transition:transform .18s ease}.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid #ff6681;outline-offset:4px;border-radius:6px}.button:focus-visible,.visual-link:focus-visible,.research-card:focus-visible,.news-card:focus-visible,.pub-item:focus-visible,.collab-card a:focus-visible{outline-offset:5px}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}}
@media print{.site-header,.hero-gridlines,.hero-orb,.scroll-cue,.hero-actions,.button,.lang-button,.menu-button,.nav,.site-footer .footer-links{display:none!important}body{background:#fff!important;color:#000!important}.section-dark,.hero,.detail-hero{background:#fff!important;color:#000!important}.hero h1,.hero h1 span,.detail-hero h1{color:#000!important}.container{max-width:none!important;width:100%!important}.section{padding:28px 0!important}a{color:#000!important;text-decoration:none!important}.reveal{opacity:1!important;transform:none!important}.research-card,.news-card,.pub-item,.evidence-card,.collab-card{break-inside:avoid;box-shadow:none!important}}


/* v10.2 — desktop/laptop hero fine tuning
   Keeps the original visual language while fitting the opening view more comfortably
   on common notebook-height browser windows. */
@media (min-width:1001px) and (max-height:920px){
  .hero{
    min-height:780px;
    padding:128px 0 58px;
  }
  .hero-grid{
    gap:62px;
  }
  .hero h1{
    font-size:clamp(3.5rem,5.35vw,5.72rem);
    line-height:.975;
  }
  .kicker{
    margin-bottom:20px;
  }
  .lead{
    max-width:730px;
    margin-top:25px;
    font-size:1.03rem;
    line-height:1.78;
  }
  .hero-actions{
    margin-top:28px;
  }
  .hero-proof{
    margin-top:30px;
  }
  .hero-meta{
    margin-top:20px;
  }
  .hero-visual{
    min-height:500px;
    transform:translateY(-2px);
  }
  .ring-1{
    width:430px;
    height:430px;
  }
  .ring-2{
    width:340px;
    height:340px;
  }
  .visual-main{
    inset:58px 25px 58px 20px;
    padding:26px;
    border-radius:31px;
  }
  .berry-graphic{
    width:165px;
    height:165px;
    margin:20px auto 10px;
  }
  .visual-main h2{
    font-size:1.65rem;
  }
  .visual-main p{
    font-size:.78rem;
  }
  .visual-mini{
    width:164px;
    min-height:100px;
    padding:16px;
  }
  .scroll-cue{
    bottom:14px;
  }
}


/* v10.4 — research concept imagery */
.theme-visual-figure{
  margin:0;
  width:100%;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.theme-visual-image{
  width:100%;
  max-height:610px;
  object-fit:contain;
  display:block;
  border-radius:28px;
  border:1px solid rgba(140,169,201,.18);
  box-shadow:0 28px 70px rgba(0,0,0,.28);
  background:rgba(5,17,31,.42);
}
.theme-visual-caption{
  max-width:620px;
  margin:0 auto;
  color:rgba(184,202,222,.68);
  font-size:.72rem;
  line-height:1.65;
  text-align:center;
}
.detail-visual{
  align-items:center;
  justify-content:center;
}

/* v10.4 — complete publication record */
.publication-counts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:18px 0 8px;
}
.publication-counts>div{
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.018);
  display:flex;
  align-items:baseline;
  gap:9px;
}
.publication-counts strong{
  color:#fff;
  font-size:1.35rem;
}
.publication-counts span{
  color:var(--muted);
  font-size:.76rem;
}
.complete-pub-list .pub-item{
  grid-template-columns:72px 1fr 34px;
}
.complete-pub-list .pub-item h3{
  max-width:950px;
}
.complete-pub-list .pub-item p strong{
  color:#d9e5f3;
  font-weight:600;
}
.publication-audit-note{
  margin:18px 0 0;
  padding:13px 15px;
  border-left:2px solid rgba(255,76,112,.7);
  background:rgba(255,255,255,.018);
  color:var(--muted);
  font-size:.78rem;
  line-height:1.7;
}
@media(max-width:760px){
  .publication-counts{grid-template-columns:1fr}
  .complete-pub-list .pub-item{grid-template-columns:54px 1fr 24px}
  .theme-visual-image{border-radius:20px}
}


/* v10.5 — social links */
.social-note{
  margin: 16px 0 8px;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.65;
}


/* v10.6 — research detail readability refinement */
@media (min-width:1001px){
  .detail-hero{
    padding:136px 0 82px;
  }
  .detail-hero-grid{
    grid-template-columns:1fr 1fr;
    gap:54px;
  }
  .detail-back{
    margin-bottom:28px;
    font-size:.76rem;
  }
  .detail-hero h1{
    font-size:clamp(2.9rem,4.9vw,4.95rem);
    line-height:1.045;
    margin:14px 0 24px;
  }
  .detail-lead{
    font-size:1.05rem;
    line-height:1.82;
    color:#c0cad7;
    max-width:680px;
  }
  .detail-tags{
    margin-top:26px;
  }
  .detail-tags span{
    padding:8px 12px;
    font-size:.72rem;
    color:#aebccc;
  }
  .detail-visual{
    min-height:430px;
  }
  .theme-visual-image{
    width:94%;
    max-height:500px;
    margin:0 auto;
    border-radius:24px;
    box-shadow:0 24px 55px rgba(0,0,0,.24);
  }
  .theme-visual-caption{
    max-width:560px;
    font-size:.78rem;
    line-height:1.65;
    color:rgba(204,218,233,.78);
  }
}

.detail-thesis{
  padding:64px 0;
}
.detail-thesis-grid{
  grid-template-columns:190px 1fr;
  gap:42px;
}
.detail-thesis h2{
  font-size:clamp(2rem,3.15vw,3.25rem);
  line-height:1.24;
}
.detail-kicker,
.detail-eyebrow{
  font-size:.70rem;
  letter-spacing:.14em;
}

.detail-three{
  gap:20px;
}
.detail-three article{
  padding:32px;
}
.detail-three article>span{
  font-size:.72rem;
}
.detail-three h3{
  font-size:1.35rem;
  margin:26px 0 12px;
}
.detail-three p{
  font-size:.92rem;
  line-height:1.78;
  color:#59697b;
}

.detail-story{
  grid-template-columns:.9fr 1.1fr;
  gap:60px;
  margin-top:76px;
  padding-top:54px;
}
.detail-story h2{
  font-size:clamp(2rem,3vw,3.15rem);
}
.detail-story>div:last-child>p{
  font-size:1.02rem;
  line-height:1.85;
  color:#59697b;
}

.evidence-head{
  gap:56px;
  margin-bottom:30px;
}
.evidence-head h2{
  font-size:clamp(2rem,3.05vw,3.25rem);
}
.evidence-head>p{
  font-size:.95rem;
  line-height:1.8;
  color:#59697b;
}
.evidence-card{
  min-height:315px;
  padding:29px;
}
.evidence-year{
  font-size:.72rem;
}
.evidence-tag{
  margin-top:26px;
  font-size:.64rem;
}
.evidence-card h3{
  font-size:1.10rem;
  line-height:1.46;
}
.evidence-card p{
  font-size:.86rem;
  line-height:1.78;
  color:#59697b;
}
.evidence-card-accent p{
  color:#bdc8d5;
}
.evidence-card>b{
  font-size:.72rem;
}
.evidence-project p{
  font-size:.90rem;
  line-height:1.8;
}

.detail-next{
  padding:70px 0 86px;
}
.detail-next-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.detail-next-grid a{
  min-height:132px;
  padding:22px;
}
.detail-next-grid span{
  margin-bottom:20px;
  font-size:.68rem;
}
.detail-next-grid strong{
  font-size:.86rem;
  line-height:1.4;
}
.detail-next-grid a.is-current{
  background:#101f30;
  border-color:#21374d;
  color:#fff;
  cursor:default;
}
.detail-next-grid a.is-current strong{
  color:#fff;
}
.detail-next-grid a.is-current b{
  display:none;
}
.detail-next-grid a.is-current:hover{
  transform:none;
  box-shadow:none;
}

@media (max-width:1000px) and (min-width:641px){
  .detail-next-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .theme-visual-image{
    max-height:560px;
  }
}

@media (max-width:640px){
  .detail-hero{
    padding:112px 0 62px;
  }
  .detail-back{
    margin-bottom:26px;
  }
  .detail-hero h1{
    font-size:clamp(2.5rem,12vw,3.7rem);
  }
  .detail-lead{
    font-size:.98rem;
    line-height:1.78;
  }
  .theme-visual-caption{
    font-size:.72rem;
  }
  .detail-thesis{
    padding:54px 0;
  }
  .detail-three article{
    padding:26px;
  }
  .detail-three p,
  .evidence-card p{
    font-size:.90rem;
  }
  .detail-next-grid{
    grid-template-columns:1fr;
  }
}


/* v10.7 — concept visual / signature research / publication art refinements */
.concept-media{
  min-height: auto;
}
.concept-image{
  height:auto;
  min-height:0;
  aspect-ratio:16/9;
  object-fit:contain;
  object-position:center center;
  padding:10px;
  background:linear-gradient(180deg,#132334,#0d1b2a);
}
.concept-caption{
  padding:14px 10px 6px;
  font-size:.77rem;
  color:#a8b6c6;
}
@media (min-width:1001px){
  .concept-layout{
    grid-template-columns:1.08fr .92fr;
    gap:28px;
  }
  .concept-media{
    padding:18px;
  }
  .concept-copy{
    padding:34px;
  }
}
@media (max-width:640px){
  .concept-image{
    padding:6px;
  }
}

.featured-flow{
  margin-top:48px;
  gap:12px;
}
.flow-step{
  min-height:206px;
  padding:22px;
  justify-content:flex-start;
}
.flow-step span{
  margin-bottom:12px;
}
.flow-graphic{
  width:100%;
  height:84px;
  margin-bottom:16px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  overflow:hidden;
}
.flow-graphic svg{
  width:100%;
  height:100%;
  display:block;
}
.flow-step strong{
  margin-top:auto;
}
.flow-step p{
  margin-top:6px;
  font-size:.82rem;
}
@media(max-width:1000px){
  .featured-flow{
    grid-template-columns:1fr;
  }
  .flow-arrow{
    transform:rotate(90deg);
    min-height:30px;
  }
  .flow-step{
    min-height:0;
  }
}

.pub-spotlight-grid{
  align-items:stretch;
}
.pub-art{
  height:200px;
  border-radius:21px;
  margin-bottom:22px;
}
.pub-art svg{
  width:100%;
  height:100%;
  display:block;
}
.pub-spotlight h3{
  font-size:1.14rem;
}
.pub-summary{
  font-size:.82rem;
}
.pub-citation{
  border-top:1px solid var(--line);
  padding-top:14px;
}
.pub-art-spectrum-v2{
  background:linear-gradient(135deg,#0f2034,#18344b);
}
.pub-art-canopy-v2{
  background:linear-gradient(180deg,#eef5f1,#fafcfa);
}


/* v10.8 — concept layout and typography refinement */
.concept-layout{
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: start;
}
.concept-media{
  min-height: 0;
  padding: 18px;
}
.concept-image{
  height: auto;
  min-height: 0;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  object-position: center center;
  background: #102031;
  padding: 6px;
}
.concept-copy{
  min-height: 100%;
  padding: 42px 44px;
}
.concept-copy h3{
  font-size: clamp(2rem, 2.45vw, 3.1rem);
  line-height: 1.22;
  letter-spacing: -0.035em;
  max-width: 10.5ch;
  word-break: keep-all;
  line-break: strict;
}
.concept-copy > p:not(.concept-kicker):not(.concept-replace-note){
  font-size: 1rem;
  line-height: 1.95;
}
.concept-point strong{
  font-size: .95rem;
}
.concept-replace-note{
  font-size: .74rem;
}
#concept .section-title-row h2,
#research .section-title-row h2,
#journey .section-title-row h2,
#current .section-title-row h2{
  word-break: keep-all;
  line-break: strict;
}
#concept .section-title-row h2{
  line-height: 1.16;
}
#concept p, #research p, #publications p{
  word-break: auto-phrase;
  line-break: strict;
}

/* v10.8 — publication spotlight refresh */
.pub-art{
  height: 210px;
}
.pub-art-root-v2{
  background: linear-gradient(180deg,#101f30,#0b1520);
}
.pub-art-spectrum-v3{
  background: linear-gradient(135deg,#102133,#18364d);
}
.pub-art-canopy-v3{
  background: linear-gradient(180deg,#edf5ef,#fafcfa);
}
.pub-summary{
  line-height: 1.78;
}
.pub-spotlight h3{
  line-height: 1.42;
}
.pub-citation{
  margin-top: auto;
}

/* better flow cards */
.featured-flow{
  gap: 10px;
}
.flow-step{
  min-height: 214px;
  padding: 20px;
}
.flow-graphic{
  height: 88px;
}
.flow-step strong{
  font-size: 1.02rem;
}
.flow-step p{
  font-size: .83rem;
  line-height: 1.5;
}

@media (max-width: 1100px){
  .concept-layout{
    grid-template-columns: 1fr;
  }
  .concept-copy h3{
    max-width: none;
  }
}
@media (max-width: 640px){
  .concept-copy{
    padding: 28px;
  }
  .concept-copy h3{
    font-size: 1.9rem;
  }
  .concept-copy > p:not(.concept-kicker):not(.concept-replace-note){
    font-size: .96rem;
    line-height: 1.85;
  }
}


/* v10.9 — clearer research/publication/project visuals */
.featured-section .section-title-row h2{
  line-height:1.16;
  max-width: 12ch;
}
.flow-graphic{
  height: 92px;
  background: rgba(255,255,255,.03);
}
.flow-graphic svg{
  width:100%;
  height:100%;
  display:block;
}
.flow-step{
  min-height: 224px;
}
.flow-step strong{
  font-size:1rem;
}
.flow-step p{
  font-size:.82rem;
  line-height:1.45;
}
.pub-art{
  height: 210px;
}
.pub-art svg{
  width:100%;
  height:100%;
  display:block;
}
.pub-spotlight h3{
  font-size:1.1rem;
}
.pub-summary{
  font-size:.83rem;
  line-height:1.8;
}
.project-hero-card{
  width:100%;
  min-height:430px;
  border-radius:30px;
  background: rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
  box-shadow: 0 24px 56px rgba(0,0,0,.20);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.project-hero-svg{
  width:100%;
  height:auto;
  display:block;
}
.detail-hero h1,
.detail-thesis h2,
.detail-story h2{
  word-break: keep-all;
  line-break: strict;
}
@media (max-width:1000px){
  .featured-section .section-title-row h2{
    max-width:none;
  }
  .flow-step{
    min-height:0;
  }
  .project-hero-card{
    min-height:0;
    padding:12px;
  }
}


/* v10.10 cleanup */

#concept .section-title-row{align-items:flex-start;gap:56px;margin-bottom:28px}
#concept .section-title-row h2{font-size:clamp(2.4rem,3.4vw,3.8rem);line-height:1.04;letter-spacing:-.045em;max-width:none}
#concept .section-intro{max-width:540px;line-height:1.8}
.concept-layout{grid-template-columns:1.02fr .98fr;gap:28px;align-items:start}
.concept-media{min-height:0;padding:18px}
.concept-image{min-height:0;height:auto;aspect-ratio:4/3;object-fit:contain;object-position:center;background:#0f2133}
.concept-copy{padding:34px 36px}
.concept-copy h3{font-size:clamp(1.8rem,2.35vw,2.7rem);line-height:1.18;letter-spacing:-.04em;max-width:none}
.concept-copy>p:not(.concept-kicker):not(.concept-replace-note){font-size:.98rem;line-height:1.9}
.concept-caption{font-size:.78rem;line-height:1.7}

.publication-counts{gap:14px;margin:20px 0 10px}
.publication-counts>div{background:#f7f9fc;border:1px solid #dde4ec;border-radius:16px;align-items:center;gap:14px;padding:18px 20px}
.publication-counts strong{display:inline-grid;place-items:center;min-width:48px;height:48px;border-radius:14px;background:#10243a;color:#fff;font-size:1.3rem;font-weight:800;line-height:1}
.publication-counts span{color:#5f7285;font-size:1rem;font-weight:600}

.pub-spotlight-grid{gap:20px}
.pub-spotlight{min-height:620px}
.pub-art{height:208px;background:#f3f6f9}
.pub-art svg{width:100%;height:100%;display:block}
.pub-summary{font-size:.87rem;line-height:1.78}
.pub-spotlight h3{font-size:1.08rem;line-height:1.45}

.featured-section .section-title-row h2{max-width:none}
.flow-step{min-height:214px}
.flow-graphic{height:92px}
.flow-step p{font-size:.88rem}

.detail-hero-grid{grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.detail-hero h1{font-size:clamp(2.6rem,4.8vw,4.8rem);line-height:1.06;letter-spacing:-.05em;max-width:8.5ch}
.detail-lead{max-width:680px}
.detail-visual{min-height:430px}
.project-hero-card{min-height:0;max-width:540px;padding:14px}
.project-hero-svg{width:100%;height:auto;display:block}

@media (max-width: 1000px){
  #concept .section-title-row{display:grid;gap:18px}
  .concept-layout{grid-template-columns:1fr}
  .detail-hero-grid{grid-template-columns:1fr;gap:26px}
  .detail-hero h1{max-width:none;font-size:clamp(2.3rem,9vw,4.1rem)}
}


/* v10.11 clarity and balance refinements */

.detail-theme-hero .detail-hero-grid{
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:78px;
  align-items:start;
}
.detail-theme-hero .detail-hero-copy{
  position:relative;
  z-index:2;
  max-width:560px;
}
.detail-theme-hero .detail-hero h1,
.detail-theme-hero h1{
  font-size:clamp(2.15rem,4.25vw,4.2rem);
  line-height:1.08;
  letter-spacing:-.045em;
  margin:16px 0 22px;
  max-width:6.6ch;
}
.detail-theme-hero .detail-lead{
  font-size:1rem;
  line-height:1.9;
  max-width:560px;
}
.detail-theme-hero .detail-visual{
  min-height:0;
  align-self:start;
  justify-self:end;
  width:100%;
}
.detail-theme-hero .theme-visual-figure{
  max-width:660px;
  margin-left:auto;
  gap:14px;
}
.detail-theme-hero .theme-visual-image{
  width:100%;
  max-height:none;
  aspect-ratio:4 / 3;
  object-fit:contain;
  padding:0;
}

.detail-project-hero .detail-hero-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:50px;
  align-items:center;
}
.detail-project-hero .detail-hero-copy{max-width:610px}
.detail-project-hero h1{font-size:clamp(2.2rem,4.1vw,4.4rem);line-height:1.08;max-width:7.2ch}

#concept .section-title-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,520px);align-items:start;gap:30px;margin-bottom:26px}
#concept .section-title-row h2{font-size:clamp(2.3rem,3.8vw,4.2rem)}
#concept .section-intro{max-width:540px;font-size:1rem;line-height:1.75}
.concept-layout{grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr);gap:28px;align-items:start}
.concept-media{padding:18px;min-height:0}
.concept-image{width:100%;height:auto;aspect-ratio:1.22/1;object-fit:contain;object-position:center;background:#0f2133;border-radius:22px}
.concept-copy{padding:34px 36px}
.concept-copy h3{font-size:clamp(1.8rem,2.4vw,2.75rem);line-height:1.2}
.concept-caption{font-size:.78rem;line-height:1.75}

.pub-spotlight-grid{gap:22px}
.pub-spotlight{min-height:610px;padding:22px}
.pub-art{height:220px;border-radius:20px;margin-bottom:22px}
.pub-art svg{display:block;width:100%;height:100%}
.pub-spotlight-top{margin-bottom:14px}
.pub-topic{margin-bottom:12px}
.pub-spotlight h3{font-size:1.05rem;line-height:1.42;letter-spacing:-.01em}
.pub-summary{font-size:.86rem;line-height:1.75}

@media (max-width: 1100px){
  .detail-theme-hero .detail-hero-grid,
  .detail-project-hero .detail-hero-grid,
  #concept .section-title-row,
  .concept-layout{grid-template-columns:1fr;gap:24px}
  .detail-theme-hero .detail-hero-copy,
  .detail-project-hero .detail-hero-copy,
  .detail-theme-hero .detail-lead{max-width:none}
  .detail-theme-hero .detail-visual,
  .detail-theme-hero .theme-visual-figure{max-width:none}
  .detail-theme-hero h1,
  .detail-project-hero h1{max-width:none;font-size:clamp(2.2rem,9vw,4rem)}
  #concept .section-intro{max-width:none}
}


/* v10.12 — visual density + social icon system */
.about-section,
.publication-section,
.journey-section{
  position:relative;
  overflow:hidden;
}
.about-section::before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-220px;
  top:120px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(215,47,79,.055),rgba(215,47,79,0) 68%);
  pointer-events:none;
}
.publication-section::before{
  content:"";
  position:absolute;
  width:560px;
  height:560px;
  left:-280px;
  top:280px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(68,128,178,.055),rgba(68,128,178,0) 70%);
  pointer-events:none;
}
.journey-section::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(216,46,82,.018) 1px,transparent 1px),
    linear-gradient(rgba(216,46,82,.012) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,transparent,black 15%,black 85%,transparent);
  pointer-events:none;
}
.about-section>.container,
.publication-section>.container,
.journey-section>.container{
  position:relative;
  z-index:1;
}

/* Research-card visual symbols */
.research-card .research-symbol{
  width:58px;
  height:58px;
  top:25px;
  right:27px;
  border-radius:18px;
  background:#101f30;
  color:#d9e7f5;
  border:1px solid rgba(20,45,68,.08);
  box-shadow:0 12px 30px rgba(12,31,52,.08);
}
.research-card .research-symbol svg{
  width:34px;
  height:34px;
}
.research-card:hover .research-symbol{
  transform:translateY(-2px) rotate(-2deg);
  color:#fff;
  background:#d82e52;
}

/* Project-card symbols */
.project-card{
  position:relative;
}
.project-symbol{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:17px;
  margin:18px 0 10px;
  background:rgba(13,31,49,.045);
  color:#20364b;
  border:1px solid var(--line);
}
.project-primary .project-symbol{
  background:rgba(216,46,82,.08);
  color:#d82e52;
  border-color:rgba(216,46,82,.14);
}
.project-card.project-primary{
  background:
    linear-gradient(135deg,rgba(7,18,34,.96),rgba(11,28,49,.94)),
    url("images/biomarker-kakenhi-v1055.png?v=1055") right -4px bottom -4px/200px auto no-repeat;
  border-color:rgba(255,255,255,.08);
}
.project-card.project-primary h3{
  color:#f7fbff;
}
.project-card.project-primary p{
  color:rgba(235,242,250,.86);
}
.project-card.project-primary .project-tags span{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.08);
  color:#e6edf7;
}
.project-card.project-primary .project-arrow{
  background:linear-gradient(180deg,#ff6f92,#d82e52);
  color:#fff;
  box-shadow:0 12px 28px rgba(216,46,82,.28);
}
.project-symbol svg{
  width:32px;
  height:32px;
}

/* Milestones + journey refinement */
.journey-track{
  position:relative;
}
.journey-track::before{
  background:linear-gradient(180deg,rgba(216,46,82,.14),rgba(53,107,152,.10));
}
.journey-marker{
  box-shadow:0 0 0 7px rgba(216,46,82,.055);
}
.milestone{
  position:relative;
  overflow:hidden;
}
.milestone::after{
  content:"";
  position:absolute;
  width:120px;
  height:120px;
  right:-52px;
  bottom:-60px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(216,46,82,.09),rgba(216,46,82,0) 70%);
  pointer-events:none;
}

/* Contact profiles */
.contact-panel{
  position:relative;
}
.contact-panel::before{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  right:-90px;
  top:-80px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(216,46,82,.17),rgba(216,46,82,0) 68%);
  pointer-events:none;
}
.profile-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
  position:relative;
  z-index:1;
}
.profile-pill{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:42px;
  padding:8px 13px 8px 9px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  color:#b8c5d3;
  font-size:.75rem;
  font-weight:650;
  transition:.22s ease;
}
.profile-pill:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.075);
  border-color:rgba(255,255,255,.22);
  color:#fff;
}
.profile-pill-icon{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.07);
  color:#dce8f3;
}
.profile-pill-icon svg{
  width:16px;
  height:16px;
}
.contact-subhead{
  position:relative;
  z-index:1;
  margin:28px 0 12px;
  color:#8395a9;
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.15em;
}
.social-icon-row{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.social-icon-link{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:62px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:17px;
  background:rgba(255,255,255,.035);
  color:#c3cfdb;
  transition:.22s ease;
}
.social-icon-link:hover{
  transform:translateY(-3px);
  background:rgba(255,255,255,.075);
  border-color:rgba(255,255,255,.23);
  color:#fff;
}
.social-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:13px;
  background:#13283a;
  color:#fff;
}
.social-icon svg{
  width:22px;
  height:22px;
}
.social-linkedin:hover .social-icon{
  background:#0a66c2;
}
.social-x:hover .social-icon{
  background:#080b0e;
}
.social-instagram:hover .social-icon{
  background:linear-gradient(135deg,#f09433,#dc2743 45%,#bc1888 72%,#285aeb);
}
.social-icon-meta{
  display:grid;
  gap:2px;
  min-width:0;
}
.social-icon-meta strong{
  font-size:.76rem;
  font-weight:700;
}
.social-icon-meta small{
  font-size:.65rem;
  color:#7f92a7;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Footer social icons */
.footer-inner{
  grid-template-columns:1fr auto auto;
  gap:26px;
  align-items:center;
}
.footer-socials{
  display:flex;
  align-items:center;
  gap:8px;
}
.footer-socials a{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid var(--line);
  color:#788899;
  transition:.2s ease;
}
.footer-socials a:hover{
  transform:translateY(-2px);
  color:#fff;
  background:#10243a;
  border-color:#10243a;
}
.footer-socials svg{
  width:17px;
  height:17px;
}

@media(max-width:800px){
  .social-icon-row{
    grid-template-columns:1fr;
  }
  .footer-inner{
    grid-template-columns:1fr;
    gap:14px;
  }
}


/* v10.13 refinement: calmer illustrations + smaller social icons */
.detail-theme-hero .theme-visual-figure{max-width:620px}
.detail-theme-hero .theme-visual-image{aspect-ratio:4 / 3; object-fit:contain; border-radius:24px; box-shadow:none;}

#concept .section-title-row{grid-template-columns:minmax(0,.88fr) minmax(320px,.72fr); gap:34px; align-items:end}
.concept-layout{grid-template-columns:minmax(0,1fr) minmax(380px,.92fr); gap:24px}
.concept-media{padding:16px 16px 18px}
.concept-image{background:#0d1e30; aspect-ratio:1.43 / 1; border-radius:20px}
.concept-copy{padding:30px 32px}
.concept-copy h3{font-size:clamp(1.72rem,2.2vw,2.5rem); line-height:1.18}
.concept-copy p{font-size:.98rem; line-height:1.82}
.concept-point strong{font-size:1.02rem}

.pub-spotlight{min-height:575px}
.pub-art{height:190px; border-radius:18px; margin-bottom:18px}
.pub-spotlight h3{font-size:1rem; line-height:1.38}
.pub-summary{font-size:.84rem}

.contact-panel::before{width:200px; height:200px; right:-70px; top:-58px; opacity:.8}
.profile-links{gap:8px; margin-top:20px}
.profile-pill{min-height:38px; padding:7px 11px 7px 8px; font-size:.72rem}
.profile-pill-icon{width:23px; height:23px}
.profile-pill-icon svg{width:14px; height:14px}
.contact-subhead{margin:22px 0 10px; font-size:.61rem}
.social-icon-row{grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px}
.social-icon-link{min-height:50px; padding:8px 10px; border-radius:14px; gap:8px}
.social-icon{width:30px; height:30px; border-radius:10px}
.social-icon svg{width:17px; height:17px}
.social-icon-meta strong{font-size:.72rem}
.social-icon-meta small{font-size:.61rem}

@media(max-width:900px){
  .social-icon-row{grid-template-columns:1fr}
}


/* v10.14 concept section balance fix */
#concept .section-title-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.86fr);gap:44px;align-items:start;margin-bottom:34px}
#concept .section-intro{max-width:none;padding-top:18px;font-size:1.01rem;line-height:1.8}
#concept .concept-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:stretch}
#concept .concept-media,#concept .concept-copy{min-height:620px}
#concept .concept-media{padding:18px 18px 14px;border-radius:28px}
#concept .concept-badge{top:22px;left:22px}
#concept .concept-image{height:auto;min-height:0;aspect-ratio:1.1 / 1;object-fit:cover;border-radius:18px}
#concept .concept-caption{padding:12px 8px 4px;font-size:.70rem}
#concept .concept-copy{padding:32px 34px;border-radius:28px}
#concept .concept-copy h3{font-size:clamp(1.9rem,2.55vw,2.7rem);line-height:1.16;margin:0 0 20px}
#concept .concept-copy>p:not(.concept-kicker){font-size:.97rem;line-height:1.82;margin:0 0 22px}
#concept .concept-points{margin-top:10px}
#concept .concept-point{padding:13px 0;grid-template-columns:34px 1fr}
#concept .concept-point strong{font-size:.98rem}
@media(max-width:1100px){
  #concept .section-title-row{grid-template-columns:1fr;gap:12px}
  #concept .section-intro{padding-top:0}
  #concept .concept-layout{grid-template-columns:1fr}
  #concept .concept-media,#concept .concept-copy{min-height:auto}
}


/* v10.15 — ABOUT section enrichment */
#about .two-column{
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:84px;
}
#about .section-heading{
  position:relative;
}
#about .section-heading::after{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  left:-90px;
  bottom:-120px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(216,46,82,.055),rgba(216,46,82,0) 70%);
  pointer-events:none;
}
.about-identity{
  position:relative;
  z-index:1;
  margin-top:48px;
  max-width:420px;
  padding:24px 26px 18px;
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(145deg,#fff,#f9fbfd);
  box-shadow:0 18px 48px rgba(15,35,55,.05);
}
.about-identity-kicker{
  margin:0 0 12px;
  color:var(--red);
  font-size:.63rem;
  letter-spacing:.15em;
  font-weight:800;
}
.about-identity-row{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:center;
  padding:13px 0;
  border-top:1px solid var(--line);
}
.about-identity-row:first-of-type{
  border-top:0;
}
.about-identity-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#10243a;
  color:#dbe7f2;
}
.about-identity-icon svg{
  width:24px;
  height:24px;
}
.about-identity-row div{
  display:grid;
  gap:2px;
}
.about-identity-row strong{
  color:var(--ink);
  font-size:.86rem;
  line-height:1.35;
}
.about-identity-row div>span{
  color:#93a0ae;
  font-size:.68rem;
  line-height:1.35;
}

#about .profile-strip{
  gap:12px;
  margin-top:34px;
}
#about .profile-strip>div{
  min-height:112px;
  padding:16px 17px 15px;
  border:1px solid var(--line);
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#fbfcfe);
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  column-gap:10px;
  align-items:center;
}
.profile-strip-icon{
  grid-row:1 / span 2;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#f0f4f8;
  color:#38526a;
}
.profile-strip-icon svg{
  width:18px;
  height:18px;
}
#about .profile-strip span:not(.profile-strip-icon){
  align-self:end;
}
#about .profile-strip strong{
  align-self:start;
  font-size:.84rem;
  line-height:1.4;
}
#about .about-principle{
  margin-top:28px;
  padding:24px 28px 25px;
  border-left:3px solid rgba(216,46,82,.58);
  box-shadow:0 14px 34px rgba(20,40,60,.035);
}

@media(max-width:1000px){
  #about .two-column{grid-template-columns:1fr;gap:36px}
  .about-identity{max-width:none;margin-top:30px}
}
@media(max-width:640px){
  #about .profile-strip{grid-template-columns:1fr}
  #about .profile-strip>div{min-height:auto}
  .about-identity{padding:20px}
}


/* v10.18 current-project detail hero balance */
.detail-project-hero .detail-visual{
  min-height:0;
  width:100%;
  align-self:center;
  justify-self:end;
  display:flex;
  justify-content:flex-end;
}
.detail-project-hero .detail-system.project-hero-card{
  width:min(590px,100%);
  height:auto;
  min-height:0;
  aspect-ratio:1.34 / 1;
  border-radius:34px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.025));
  box-shadow:0 28px 60px rgba(0,0,0,.22);
  padding:20px;
}
.detail-project-hero .project-hero-svg{
  width:100%;
  height:100%;
  display:block;
}
.detail-project-hero .project-hero-image{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:22px;
}
@media (max-width: 1100px){
  .detail-project-hero .detail-visual{justify-content:center;}
  .detail-project-hero .detail-system.project-hero-card{
    width:min(640px,100%);
  }
}
@media (max-width: 680px){
  .detail-project-hero .detail-system.project-hero-card{
    aspect-ratio:auto;
    padding:12px;
  }
}


/* v10.19 — concept clarity + about balance */
#concept .section-title-row{
  align-items:flex-start;
  gap:56px;
}
#concept .section-intro{
  max-width:610px;
  line-height:1.8;
}
#concept .concept-layout{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:28px;
  align-items:stretch;
}
#concept .concept-media,
#concept .concept-copy{
  min-height:620px;
}
#concept .concept-media{
  padding:18px;
}
#concept .concept-badge{
  top:22px;
  left:22px;
}
#concept .concept-image{
  min-height:485px;
  object-fit:contain;
  background:linear-gradient(180deg,#0d1b2b,#11263f);
}
#concept .concept-caption{
  font-size:.76rem;
  padding:16px 10px 4px;
}
#concept .concept-copy{
  padding:40px 40px 34px;
}
#concept .concept-copy h3{
  font-size:clamp(1.7rem,2.25vw,2.55rem);
  line-height:1.2;
  letter-spacing:-.04em;
  margin-bottom:20px;
}
#concept .concept-copy > p:not(.concept-kicker):not(.concept-replace-note){
  font-size:.98rem;
  line-height:1.9;
}
#concept .concept-point{
  grid-template-columns:48px 1fr;
  padding:17px 0;
}
#concept .concept-point strong{
  font-size:.98rem;
  line-height:1.55;
}

#about .two-column{
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:72px;
}
#about .section-heading h2{
  font-size:clamp(2.7rem,4.2vw,4.15rem);
  line-height:1.04;
  max-width:6ch;
}
#about .about-identity{
  max-width:400px;
  margin-top:26px;
  padding:16px 18px;
  border-radius:20px;
}
#about .about-identity-kicker{
  margin-bottom:10px;
}
#about .about-identity-row{
  grid-template-columns:34px 1fr;
  gap:10px;
  padding:11px 0;
}
#about .about-identity-icon{
  width:32px;
  height:32px;
  border-radius:10px;
}
#about .about-identity-icon svg{
  width:19px;
  height:19px;
}
#about .about-identity-row strong{
  font-size:.82rem;
}
#about .about-identity-row div > span{
  font-size:.66rem;
}
#about .about-lead{
  font-size:1.14rem;
  line-height:1.75;
}
#about .profile-strip{
  margin-top:30px;
}
#about .about-principle{
  margin-top:26px;
}

@media(max-width:1000px){
  #concept .concept-layout,
  #about .two-column{grid-template-columns:1fr;}
  #concept .concept-media,
  #concept .concept-copy{min-height:auto;}
  #concept .concept-copy{padding:32px;}
}
@media(max-width:640px){
  #concept .concept-copy h3{font-size:1.72rem;}
  #concept .concept-image{min-height:0;aspect-ratio:4/3;}
  #about .section-heading h2{font-size:2.45rem;max-width:none;}
}


/* v10.20 — high-yield title line balance */
.detail-theme-hero h1{
  word-break: keep-all;
  overflow-wrap: normal;
}


/* v10.21 — controlled environment title line balance */
.research-controlled-environment .detail-theme-hero h1,
body[data-page="controlled-environment"] .detail-theme-hero h1{
  word-break: keep-all;
  overflow-wrap: normal;
}


/* v10.22 — sensing page title + portrait image balance */
.page-sensing .detail-theme-hero h1{
  word-break: keep-all;
  overflow-wrap: normal;
}
.page-sensing .detail-theme-hero .detail-hero-grid{
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);
  gap:64px;
  align-items:start;
}
.page-sensing .detail-theme-hero .theme-visual-figure{
  max-width:560px;
  margin-left:auto;
}
.page-sensing .detail-theme-hero .theme-visual-image{
  aspect-ratio:auto;
  max-height:760px;
  object-fit:contain;
  object-position:center center;
}
.page-sensing .detail-theme-hero .theme-visual-caption{
  max-width:560px;
}
@media (max-width:1000px){
  .page-sensing .detail-theme-hero .detail-hero-grid{grid-template-columns:1fr;gap:28px;}
  .page-sensing .detail-theme-hero .theme-visual-figure{max-width:100%;}
  .page-sensing .detail-theme-hero .theme-visual-image{max-height:none;}
}


/* v10.23 — collaborate heading balance */
#collaborate .section-heading h2{
  word-break:keep-all;
  overflow-wrap:normal;
  max-width:8ch;
}


/* v10.24 — about heading line balance */
#about .section-heading h2{
  word-break: keep-all;
  overflow-wrap: normal;
}


/* v10.27 hero image refresh */
.hero-visual{display:flex;align-items:center;justify-content:center;min-height:560px;}
.hero-poster{position:relative;z-index:1;width:min(100%,620px);margin:0;border-radius:34px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);box-shadow:0 32px 90px rgba(0,0,0,.28);}
.hero-poster img{display:block;width:100%;height:auto;}
@media (max-width: 980px){
  .hero-poster{width:min(100%,560px);}
}


/* v10.28 — top hero scale + controlled-environment image space */
.hero-grid{
  grid-template-columns:minmax(0,1.12fr) minmax(430px,.88fr);
  gap:46px;
}
.hero-visual{
  min-height:600px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.hero-poster{
  position:relative;
  width:min(100%,520px);
  max-width:540px;
  margin:0 auto;
  border-radius:30px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.10);
  background:#0c1d31;
  box-shadow:0 28px 72px rgba(0,0,0,.26);
}
.hero-poster img{
  display:block;
  width:100%;
  height:auto;
}
/* hide the embedded crop-name line and subtitle in the center panel */
.hero-poster::after{
  content:"";
  position:absolute;
  left:24.2%;
  right:24.2%;
  top:56.7%;
  height:13.2%;
  border-radius:0 0 22px 22px;
  background:linear-gradient(180deg,#10223a 0%,#102239 48%,#0f2036 100%);
  pointer-events:none;
}
@media (max-width:1100px){
  .hero-grid{grid-template-columns:1fr;gap:34px}
  .hero-poster{width:min(100%,500px);max-width:500px}
  .hero-visual{min-height:auto;padding-top:12px}
}
@media (max-width:640px){
  .hero-poster{width:min(92vw,460px);max-width:460px}
}

.page-controlled-environment .detail-theme-hero .detail-hero-grid{
  grid-template-columns:minmax(0,.82fr) minmax(540px,1.18fr);
  gap:42px;
  align-items:start;
}
.page-controlled-environment .detail-theme-hero .detail-visual{
  width:100%;
  overflow:visible;
  justify-self:end;
}
.page-controlled-environment .detail-theme-hero .theme-visual-figure{
  width:100%;
  max-width:720px;
  margin-left:auto;
}
.page-controlled-environment .detail-theme-hero .theme-visual-image{
  width:100%;
  height:auto;
  max-height:none;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
  padding:0;
}
@media (max-width:1100px){
  .page-controlled-environment .detail-theme-hero .detail-hero-grid{grid-template-columns:1fr;gap:28px}
  .page-controlled-environment .detail-theme-hero .theme-visual-figure{max-width:640px;margin:0 auto}
}


/* v10.29 — interactive hero map + concept cleanup */
.hero-visual{min-height:600px;display:flex;align-items:center;justify-content:center;overflow:visible}
.hero-research-map{position:relative;width:min(100%,650px);height:570px;margin:0 auto}
.hero-map-connectors{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero-map-connectors svg{display:block;width:100%;height:100%}
.hero-map-connectors path{fill:none;stroke:#ff718f;stroke-width:2.2;stroke-dasharray:5 5;opacity:.9}
.hero-map-connectors circle{fill:#ff7895;filter:drop-shadow(0 0 7px rgba(255,120,149,.8))}
.hero-crop-hub{position:absolute;left:170px;right:170px;top:150px;bottom:150px;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1.5px solid rgba(255,119,146,.78);border-radius:34px;background:linear-gradient(145deg,rgba(34,51,73,.97),rgba(15,31,50,.98));box-shadow:0 26px 65px rgba(0,0,0,.28);overflow:hidden;padding:24px;text-align:center}
.hero-crop-hub:hover{border-color:#ff8ca4;transform:translateY(-2px)}
.hero-crop-kicker{position:absolute;top:24px;left:28px;color:#ff8ca4;font-size:.68rem;font-weight:800;letter-spacing:.18em}
.hero-crop-dot{position:absolute;top:25px;right:28px;width:10px;height:10px;border-radius:50%;background:#ff7895;box-shadow:0 0 0 8px rgba(255,120,149,.09)}
.hero-crop-hub img{display:block;width:94%;height:auto;max-height:205px;object-fit:contain;margin-top:20px}
.hero-map-card{position:absolute;z-index:2;width:166px;height:135px;padding:17px 18px;border:1px solid rgba(255,127,151,.60);border-radius:22px;background:linear-gradient(145deg,rgba(30,45,65,.98),rgba(12,28,47,.98));box-shadow:0 18px 44px rgba(0,0,0,.24);color:#fff;display:flex;flex-direction:column;transition:.2s ease}
.hero-map-card:hover{transform:translateY(-4px);border-color:#ff91a8;box-shadow:0 24px 54px rgba(0,0,0,.30)}
.map-card-01{left:0;top:42px}.map-card-02{right:0;top:42px}.map-card-03{left:0;bottom:42px}.map-card-04{right:0;bottom:42px}
.map-card-index{color:#ff8da5;font-size:.74rem;font-weight:800;margin-bottom:5px}
.map-card-icon{position:absolute;right:14px;top:13px;width:40px;height:40px;color:#ff7895}
.map-card-icon svg{display:block;width:100%;height:100%}
.hero-map-card strong{font-size:.86rem;line-height:1.2;max-width:100px;margin-top:auto;margin-bottom:8px}
.map-card-line{width:28px;height:2px;background:#ff7895;border-radius:2px}

/* concept: equal boxes, no overflow, preserve image */
#concept .concept-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:stretch}
#concept .concept-media,#concept .concept-copy{min-height:610px;height:610px;box-sizing:border-box;overflow:hidden}
#concept .concept-media{display:flex;flex-direction:column;padding:18px}
#concept .concept-image{flex:1;min-height:0;width:100%;height:100%;object-fit:contain;object-position:center;background:#0d1e30;border-radius:18px}
#concept .concept-caption{flex:0 0 auto;padding:12px 8px 2px;font-size:.70rem;line-height:1.6}
#concept .concept-copy{padding:34px 36px;display:flex;flex-direction:column}
#concept .concept-copy h3{font-size:clamp(1.72rem,2.05vw,2.35rem);line-height:1.18;margin:0 0 18px;overflow-wrap:anywhere}
#concept .concept-copy>p:not(.concept-kicker){font-size:.94rem;line-height:1.75;margin:0 0 14px}
#concept .concept-points{margin-top:auto}
#concept .concept-point{padding:11px 0;grid-template-columns:40px 1fr}
#concept .concept-point strong{font-size:.92rem;line-height:1.4}

@media(max-width:1100px){
  .hero-research-map{width:min(100%,620px);height:560px}
  .hero-crop-hub{left:160px;right:160px}
  #concept .concept-layout{grid-template-columns:1fr}
  #concept .concept-media,#concept .concept-copy{height:auto;min-height:0;overflow:visible}
}
@media(max-width:700px){
  .hero-research-map{height:650px;width:min(100%,500px)}
  .hero-crop-hub{left:30px;right:30px;top:160px;bottom:160px}
  .hero-map-connectors{display:none}
  .hero-map-card{width:145px;height:112px;padding:13px 14px}
  .map-card-01{left:0;top:20px}.map-card-02{right:0;top:20px}.map-card-03{left:0;bottom:20px}.map-card-04{right:0;bottom:20px}
  .map-card-icon{width:32px;height:32px}
  .hero-map-card strong{font-size:.76rem}
  .hero-crop-hub img{max-height:195px;width:96%}
}


/* v10.30 — ABOUT profile language separation */
#about .profile-strip strong{
  line-height:1.45;
}
#about .profile-strip span:not(.profile-strip-icon){
  white-space:nowrap;
}


/* =========================================================
   v10.31 — unified surface rhythm
   Navy: research identity / entry points
   White: reading-heavy information
   Soft gray: section transitions / supporting research info
   ========================================================= */

:root{
  --surface-white:#ffffff;
  --surface-soft:#f6f8fb;
}

/* Home page rhythm */
.status-strip{
  background:var(--surface-white);
}

.concept-section{
  background:var(--surface-soft);
  border-top:0;
  border-bottom:1px solid var(--line);
}

.about-section{
  background:var(--surface-white);
}

.research-section{
  background:var(--surface-soft);
  border-top:1px solid rgba(20,39,60,.035);
  border-bottom:1px solid rgba(20,39,60,.035);
}

.publication-section{
  background:var(--surface-white);
}

.news-section{
  background:var(--surface-soft);
  border-top:1px solid rgba(20,39,60,.035);
  border-bottom:1px solid rgba(20,39,60,.035);
}

.journey-section{
  background:var(--surface-white);
}

/* Replace the slightly yellow/cream area with the same neutral gray
   used elsewhere so the site has one consistent background system. */
.activity-section{
  background:var(--surface-soft);
  border-top:1px solid rgba(20,39,60,.035);
  border-bottom:1px solid rgba(20,39,60,.035);
}

.collaborate-section{
  background:var(--surface-white);
}

/* Contact remains a dark closing section. */
.contact-section.section-dark{
  background:var(--navy);
}

/* Research / project detail pages:
   navy hero -> soft gray question -> white body -> soft gray evidence -> white navigation */
.detail-thesis{
  background:var(--surface-soft);
  border-bottom:1px solid var(--line);
}

.detail-body{
  background:var(--surface-white);
}

.detail-evidence{
  background:var(--surface-soft);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.detail-next{
  background:var(--surface-white);
  border-top:0;
}

/* Keep the transition into the footer/contact clean. */
.detail-next + footer,
.contact-section + footer{
  border-top:1px solid rgba(255,255,255,.06);
}


/* v10.32 — top hero proportions + research detail image fitting */
.hero-grid{
  grid-template-columns:minmax(0,1.06fr) minmax(380px,.94fr);
  gap:38px;
  align-items:center;
}
.hero-visual{
  min-height:520px;
}
.hero-research-map{
  width:min(100%,590px);
  height:500px;
}
.hero-map-connectors svg{width:100%;height:100%}
.hero-crop-hub{
  left:148px;
  right:148px;
  top:124px;
  bottom:124px;
  border-radius:30px;
  padding:18px 18px 14px;
}
.hero-crop-hub img{
  width:90%;
  max-height:150px;
  margin-top:14px;
}
.hero-map-card{
  width:158px;
  height:122px;
  padding:14px 16px;
}
.map-card-01{left:0;top:34px}
.map-card-02{right:0;top:34px}
.map-card-03{left:0;bottom:34px}
.map-card-04{right:0;bottom:34px}
.hero-map-card strong{
  font-size:.82rem;
  max-width:98px;
}
.hero-map-card .map-card-icon{
  width:36px;
  height:36px;
}
@media (max-width:1100px){
  .hero-grid{grid-template-columns:1fr;gap:30px;}
  .hero-visual{min-height:auto;}
  .hero-research-map{width:min(100%,560px);height:490px;}
}
@media (max-width:700px){
  .hero-research-map{width:min(100%,500px);height:600px;}
  .hero-crop-hub{left:24px;right:24px;top:145px;bottom:145px;}
  .hero-crop-hub img{max-height:138px;}
  .hero-map-card{width:144px;height:108px;padding:12px 14px;}
  .hero-map-card strong{font-size:.75rem;max-width:90px;}
  .hero-map-card .map-card-icon{width:30px;height:30px;}
}

/* Research theme detail pages: widen the visual column and let original images fit naturally */
@media (min-width:1001px){
  .detail-theme-hero .detail-hero-grid{
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
    gap:40px;
    align-items:start;
  }
  .detail-theme-hero .detail-copy{max-width:680px;}
  .detail-theme-hero .detail-visual{
    min-height:0;
    width:100%;
    align-self:start;
    justify-self:end;
    display:flex;
    justify-content:flex-end;
    align-items:flex-start;
  }
  .detail-theme-hero .theme-visual-figure{
    width:100%;
    max-width:760px;
    margin:0 0 0 auto;
  }
  .detail-theme-hero .theme-visual-image{
    width:100%;
    height:auto;
    max-height:none;
    aspect-ratio:auto;
    object-fit:contain;
    object-position:center center;
  }
  .page-high-yield .detail-theme-hero .theme-visual-figure{max-width:660px;}
  .page-controlled-environment .detail-theme-hero .theme-visual-figure{max-width:760px;}
  .page-sensing .detail-theme-hero .detail-hero-grid{
    grid-template-columns:minmax(0,.90fr) minmax(0,1.10fr);
  }
  .page-sensing .detail-theme-hero .theme-visual-figure{max-width:620px;}
  .page-postharvest .detail-theme-hero .theme-visual-figure{max-width:680px;}
}
@media (max-width:1000px){
  .detail-theme-hero .theme-visual-figure{
    max-width:min(100%,640px);
    margin:0 auto;
  }
  .detail-theme-hero .theme-visual-image{
    max-height:none;
    height:auto;
  }
}


/* =========================================================
   v10.37 — visual balance refinement
   - Equal visual height for Research 01–04 detail heroes
   - Larger Research Concept visual without changing content
   ========================================================= */

/* 01 / Research Concept — give the visual more horizontal space. */
@media (min-width:1101px){
  #concept .concept-layout{
    grid-template-columns:minmax(0,1.36fr) minmax(330px,.64fr);
    gap:24px;
    align-items:start;
  }

  #concept .concept-media,
  #concept .concept-copy{
    height:540px;
    min-height:540px;
    box-sizing:border-box;
  }

  #concept .concept-media{
    padding:16px;
  }

  #concept .concept-image{
    flex:0 0 auto;
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:16/9;
    object-fit:contain;
    object-position:center center;
    border-radius:18px;
  }

  #concept .concept-caption{
    padding:10px 8px 0;
    font-size:.68rem;
    line-height:1.55;
  }

  #concept .concept-copy{
    padding:28px 30px;
    overflow:hidden;
  }

  #concept .concept-kicker{
    margin-bottom:14px;
  }

  #concept .concept-copy h3{
    font-size:clamp(1.62rem,1.85vw,2.05rem);
    line-height:1.16;
    margin-bottom:14px;
  }

  #concept .concept-copy>p:not(.concept-kicker){
    font-size:.89rem;
    line-height:1.62;
    margin-bottom:12px;
  }

  #concept .concept-points{
    margin-top:auto;
  }

  #concept .concept-point{
    grid-template-columns:34px 1fr;
    gap:8px;
    padding:9px 0;
  }

  #concept .concept-point strong{
    font-size:.84rem;
    line-height:1.3;
  }
}

/* Research 01–04 detail pages — same visible artwork height, never crop. */
@media (min-width:1001px){
  .detail-theme-hero .detail-hero-grid{
    grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
    gap:42px;
    align-items:start;
  }

  .detail-theme-hero .detail-visual{
    width:100%;
    min-height:0;
    display:flex;
    align-items:flex-start;
    justify-content:flex-end;
  }

  .detail-theme-hero .theme-visual-figure,
  .page-high-yield .detail-theme-hero .theme-visual-figure,
  .page-controlled-environment .detail-theme-hero .theme-visual-figure,
  .page-postharvest .detail-theme-hero .theme-visual-figure,
  .page-sensing .detail-theme-hero .theme-visual-figure{
    width:100%;
    max-width:680px;
    margin:0 0 0 auto;
  }

  .detail-theme-hero .theme-visual-image,
  .page-high-yield .detail-theme-hero .theme-visual-image,
  .page-controlled-environment .detail-theme-hero .theme-visual-image,
  .page-postharvest .detail-theme-hero .theme-visual-image,
  .page-sensing .detail-theme-hero .theme-visual-image{
    display:block;
    width:100%;
    height:650px;
    max-height:650px;
    aspect-ratio:auto;
    object-fit:contain;
    object-position:center center;
    border-radius:28px;
    background:#08192b;
  }

  .detail-theme-hero .theme-visual-caption{
    min-height:42px;
    margin-top:12px;
  }
}

@media (max-width:1000px){
  #concept .concept-image{
    width:100%;
    height:auto;
    aspect-ratio:auto;
    object-fit:contain;
  }

  .detail-theme-hero .theme-visual-image,
  .page-high-yield .detail-theme-hero .theme-visual-image,
  .page-controlled-environment .detail-theme-hero .theme-visual-image,
  .page-postharvest .detail-theme-hero .theme-visual-image,
  .page-sensing .detail-theme-hero .theme-visual-image{
    width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
  }
}


/* =========================================================
   v10.38 — research detail page-specific polish
   01: stable title line breaks
   02/04: portrait artwork frames hug the image (no side gutters)
   03: stable title lines and no overlap with artwork
   ========================================================= */

@media (min-width:1001px){

  /* Manual title lines should never break again inside a line. */
  .detail-theme-hero .detail-title-line{
    display:inline-block;
    white-space:nowrap;
  }

  /* 01 High-yield: slightly more room for the Japanese heading. */
  .page-high-yield .detail-theme-hero .detail-hero-grid{
    grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);
    gap:42px;
  }
  .page-high-yield .detail-theme-hero h1{
    font-size:clamp(3.25rem,4.25vw,4.25rem);
    line-height:1.04;
    max-width:none;
  }
  .page-high-yield .detail-theme-hero .theme-visual-figure{
    width:min(100%,650px);
    max-width:650px;
  }
  .page-high-yield .detail-theme-hero .theme-visual-image{
    width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
    background:transparent;
  }

  /* 02 / 04 are portrait originals (1122 x 1402).
     At ~520 px wide they become ~650 px tall: same visual height as 01/03,
     while the rounded frame now hugs the artwork instead of showing empty side bars. */
  .page-controlled-environment .detail-theme-hero .theme-visual-figure,
  .page-sensing .detail-theme-hero .theme-visual-figure{
    width:min(100%,520px);
    max-width:540px;
    margin-left:auto;
  }
  .page-controlled-environment .detail-theme-hero .theme-visual-image,
  .page-sensing .detail-theme-hero .theme-visual-image{
    display:block;
    width:100%;
    height:auto;
    max-height:none;
    aspect-ratio:auto;
    object-fit:contain;
    background:transparent;
  }

  /* Keep enough room for the text beside the narrower portrait artwork. */
  .page-controlled-environment .detail-theme-hero .detail-hero-grid,
  .page-sensing .detail-theme-hero .detail-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(500px,.90fr);
    gap:54px;
  }

  /* 03 Postharvest: deliberate 3-line Japanese title + full square artwork.
     This prevents the large heading from entering the visual column. */
  .page-postharvest .detail-theme-hero .detail-hero-grid{
    grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);
    gap:54px;
  }
  .page-postharvest .detail-theme-hero h1{
    font-size:clamp(3.15rem,4.25vw,4.35rem);
    line-height:1.04;
    max-width:none;
  }
  .page-postharvest .detail-theme-hero .theme-visual-figure{
    width:min(100%,650px);
    max-width:650px;
    margin-left:auto;
  }
  .page-postharvest .detail-theme-hero .theme-visual-image{
    width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
    background:transparent;
  }

  /* Captions sit consistently under all four images. */
  .detail-theme-hero .theme-visual-caption{
    width:100%;
    max-width:650px;
    margin:12px auto 0;
    min-height:42px;
  }
}

@media (max-width:1000px){
  .detail-theme-hero .detail-title-line{
    white-space:normal;
  }
  .page-controlled-environment .detail-theme-hero .theme-visual-figure,
  .page-sensing .detail-theme-hero .theme-visual-figure,
  .page-high-yield .detail-theme-hero .theme-visual-figure,
  .page-postharvest .detail-theme-hero .theme-visual-figure{
    width:min(100%,650px);
    max-width:650px;
    margin-left:auto;
    margin-right:auto;
  }
  .page-controlled-environment .detail-theme-hero .theme-visual-image,
  .page-sensing .detail-theme-hero .theme-visual-image,
  .page-high-yield .detail-theme-hero .theme-visual-image,
  .page-postharvest .detail-theme-hero .theme-visual-image{
    width:100%;
    height:auto;
    max-height:none;
  }
}


/* =========================================================
   v10.39 — top hero + Research Concept balance refinement
   ========================================================= */

@media (min-width:1101px){

  /* TOP: slightly smaller headline, larger research-map visual */
  .hero .container{
    width:min(calc(100% - 48px),1240px);
  }

  .hero-grid{
    grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);
    gap:34px;
    align-items:center;
  }

  .hero h1{
    font-size:clamp(3.25rem,4.85vw,5.35rem);
    line-height:.985;
    max-width:700px;
  }

  .hero .lead{
    max-width:650px;
  }

  .hero-visual{
    min-height:540px;
  }

  .hero-research-map{
    width:min(100%,650px);
    height:520px;
  }

  .hero-crop-hub{
    left:158px;
    right:158px;
    top:126px;
    bottom:126px;
  }

  .hero-crop-hub img{
    width:94%;
    max-height:162px;
  }

  /* CONCEPT: give the whole section slightly more width. */
  #concept .container{
    width:min(calc(100% - 48px),1300px);
  }

  /* Top heading: left title + wider explanatory text.
     The Japanese sentence now naturally fits in about two lines. */
  #concept .concept-heading{
    display:grid;
    grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
    gap:54px;
    align-items:end;
    margin-bottom:42px;
  }

  #concept .concept-heading .section-intro{
    max-width:none;
    width:100%;
    font-size:.95rem;
    line-height:1.8;
  }

  /* Main concept: visual remains dominant, while copy is wide enough
     for a clean two-line title and all four points. */
  #concept .concept-layout{
    grid-template-columns:minmax(0,1.28fr) minmax(405px,.72fr);
    gap:22px;
    align-items:stretch;
  }

  #concept .concept-media,
  #concept .concept-copy{
    height:548px;
    min-height:548px;
  }

  #concept .concept-media{
    padding:14px;
  }

  #concept .concept-image{
    width:100%;
    height:auto;
    aspect-ratio:16/9;
    object-fit:contain;
  }

  #concept .concept-copy{
    padding:22px 26px 20px;
    overflow:hidden;
  }

  #concept .concept-kicker{
    margin-bottom:10px;
  }

  #concept .concept-copy h3{
    font-size:clamp(1.42rem,1.50vw,1.62rem);
    line-height:1.14;
    margin:0 0 10px;
    letter-spacing:-.035em;
  }

  #concept .concept-title-line{
    display:inline-block;
    white-space:nowrap;
  }

  #concept .concept-copy>p:not(.concept-kicker){
    font-size:.86rem;
    line-height:1.55;
    margin-bottom:8px;
  }

  #concept .concept-points{
    margin-top:auto;
  }

  #concept .concept-point{
    grid-template-columns:32px 1fr;
    gap:8px;
    padding:7px 0;
  }

  #concept .concept-point strong{
    font-size:.82rem;
    line-height:1.24;
  }

  #concept .concept-caption{
    padding-top:8px;
    font-size:.66rem;
    line-height:1.45;
  }
}

@media (max-width:1100px){
  #concept .concept-title-line{
    white-space:normal;
  }
}


/* =========================================================
   v10.40 — Research 01–04: KAKENHI-like 50:50 balance
   Text column and visual column are equal in width.
   Artwork is intentionally restrained so it does not dominate.
   ========================================================= */

@media (min-width:1001px){

  /* Equal columns, like the KAKENHI detail pages. */
  .detail-theme-hero .detail-hero-grid,
  .page-high-yield .detail-theme-hero .detail-hero-grid,
  .page-controlled-environment .detail-theme-hero .detail-hero-grid,
  .page-postharvest .detail-theme-hero .detail-hero-grid,
  .page-sensing .detail-theme-hero .detail-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:50px !important;
    align-items:center !important;
  }

  /* Text gets the same visual presence as the artwork. */
  .detail-theme-hero .detail-hero-copy{
    width:100%;
    max-width:610px !important;
    align-self:center;
  }

  .detail-theme-hero .detail-lead{
    max-width:590px;
  }

  /* Keep the artwork centered in its half, rather than pushed to the far right. */
  .detail-theme-hero .detail-visual{
    width:100%;
    min-height:0;
    display:flex;
    justify-content:center !important;
    align-items:center !important;
    align-self:center !important;
    justify-self:stretch !important;
  }

  .detail-theme-hero .theme-visual-figure{
    width:100%;
    margin:0 auto !important;
  }

  /* Square / near-square artwork: deliberately a little smaller. */
  .page-high-yield .detail-theme-hero .theme-visual-figure,
  .page-postharvest .detail-theme-hero .theme-visual-figure{
    max-width:570px !important;
  }

  /* Portrait artwork: same column width, but sized by its natural aspect ratio.
     No artificial side panels or cropping. */
  .page-controlled-environment .detail-theme-hero .theme-visual-figure,
  .page-sensing .detail-theme-hero .theme-visual-figure{
    max-width:490px !important;
  }

  .detail-theme-hero .theme-visual-image{
    display:block;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    object-position:center center !important;
    background:transparent !important;
  }

  /* Captions align with the actual artwork width. */
  .page-high-yield .theme-visual-caption,
  .page-postharvest .theme-visual-caption{
    max-width:570px;
  }

  .page-controlled-environment .theme-visual-caption,
  .page-sensing .theme-visual-caption{
    max-width:490px;
  }
}

@media (max-width:1000px){
  /* Mobile/tablet remain stacked. */
  .detail-theme-hero .detail-hero-grid{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  .detail-theme-hero .theme-visual-figure{
    margin:0 auto !important;
  }
}


/* =========================================================
   v10.41 — portfolio hero + portrait About
   Based on v10.40. Other sections and detail pages unchanged.
   ========================================================= */

/* Header closer to the approved mockup */
.site-header{
  background:rgba(5,17,31,.90);
}
.header-inner{
  height:68px;
}
.brand-mark{
  width:34px;
  height:34px;
  border-radius:10px;
}
.brand-text{
  font-size:.96rem;
}
.nav{
  gap:25px;
}
.nav a{
  font-size:.77rem;
}

/* ---------- HERO ---------- */
.hero-portfolio{
  min-height:720px;
  padding:126px 0 68px;
}
.hero-portfolio .hero-gridlines{
  opacity:.055;
  background-size:58px 58px;
}
.hero-portfolio-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:54px;
  align-items:center;
}
.hero-portfolio-copy{
  min-width:0;
}
.hero-portfolio .kicker{
  margin-bottom:30px;
}
.hero-portfolio h1{
  margin:0;
  max-width:650px;
  font-size:clamp(3.4rem,5.1vw,5.55rem);
  line-height:1.02;
  letter-spacing:-.062em;
}
.hero-portfolio h1 span{
  display:block;
  color:#8292a6;
  margin-top:.12em;
}
.hero-accent-line{
  width:64px;
  height:3px;
  border-radius:99px;
  background:linear-gradient(90deg,#ff5f82,#ff8da5);
  margin:28px 0 0;
}
.hero-portfolio .lead{
  margin-top:26px;
  max-width:625px;
  font-size:1.00rem;
  line-height:1.9;
}
.hero-portfolio-actions{
  margin-top:28px;
}
.hero-portfolio-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:30px;
  max-width:590px;
}
.hero-portfolio-stats>span{
  min-width:0;
  border:1px solid rgba(255,255,255,.13);
  border-radius:13px;
  padding:11px 13px;
  background:rgba(255,255,255,.025);
  display:flex;
  flex-direction:column;
  gap:3px;
}
.hero-portfolio-stats b{
  color:#fff;
  font-size:.75rem;
}
.hero-portfolio-stats small{
  color:#8293a8;
  font-size:.61rem;
  line-height:1.3;
}

/* Four large linked cards */
.hero-pillars{
  min-width:0;
}
.hero-pillars-heading{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:15px;
  margin:0 10px 18px;
}
.hero-pillars-heading span{
  height:1px;
  background:linear-gradient(90deg,transparent,#ff6f8d);
}
.hero-pillars-heading span:last-child{
  background:linear-gradient(90deg,#ff6f8d,transparent);
}
.hero-pillars-heading strong{
  color:#eef3f9;
  font-size:.78rem;
  letter-spacing:.16em;
  white-space:nowrap;
}
.hero-pillar-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.hero-pillar-card{
  position:relative;
  min-height:250px;
  border:1px solid rgba(255,114,142,.55);
  border-radius:20px;
  overflow:hidden;
  background:#102137;
  box-shadow:0 20px 44px rgba(0,0,0,.18);
  color:#fff;
  transform:translateZ(0);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.hero-pillar-card:hover{
  transform:translateY(-5px);
  border-color:#ff8aa3;
  box-shadow:0 28px 58px rgba(0,0,0,.28);
}
.pillar-media{
  position:absolute;
  inset:0;
}
.pillar-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(.93) contrast(1.02);
  transform:scale(1.01);
  transition:transform .35s ease;
}
.hero-pillar-card:hover .pillar-media img{
  transform:scale(1.045);
}
.pillar-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(5,18,33,.06) 0%,rgba(5,18,33,.28) 42%,rgba(5,18,33,.96) 82%),
    linear-gradient(90deg,rgba(5,18,33,.34),transparent 65%);
}
.pillar-no{
  position:absolute;
  top:16px;
  left:17px;
  color:#ff7e9a;
  font-weight:850;
  font-size:.84rem;
  letter-spacing:.04em;
}
.pillar-copy{
  position:absolute;
  left:18px;
  right:18px;
  bottom:15px;
}
.pillar-copy h3{
  margin:0 0 6px;
  color:#fff;
  font-size:1.12rem;
  line-height:1.08;
  letter-spacing:-.035em;
}
.pillar-copy p{
  margin:0;
  color:#b6c3d2;
  font-size:.66rem;
  line-height:1.45;
}
.pillar-arrow{
  position:absolute;
  right:15px;
  bottom:15px;
  width:27px;
  height:27px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#ee466a;
  color:#fff;
  font-size:.74rem;
}

/* ---------- ABOUT WITH PORTRAIT ---------- */
.about-portrait-section{
  background:#fff;
  padding-top:96px;
  padding-bottom:104px;
}
.about-portrait-grid{
  display:grid;
  grid-template-columns:minmax(330px,.82fr) minmax(0,1.18fr);
  gap:60px;
  align-items:center;
}
.about-photo-card{
  position:relative;
  min-height:610px;
  overflow:hidden;
  border-radius:30px;
  border:1px solid #e1e7ed;
  background:#eaf0ed;
  box-shadow:0 28px 70px rgba(21,41,61,.11);
}
.about-photo-bg{
  position:absolute;
  inset:-22px;
  background:
    linear-gradient(180deg,rgba(244,248,247,.22),rgba(232,239,236,.36)),
    url("images/research/controlled-environment.jpg?v=1036") center 58%/cover no-repeat;
  filter:blur(3px) saturate(.48) brightness(1.35);
  transform:scale(1.08);
  opacity:.52;
}
.about-photo-glow{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.22),transparent 45%),
    linear-gradient(0deg,rgba(8,25,40,.08),transparent 28%);
}
.about-photo-person{
  position:absolute;
  z-index:2;
  left:50%;
  bottom:-48px;
  transform:translateX(-50%);
  width:auto;
  height:108%;
  max-width:none;
  object-fit:contain;
  filter:drop-shadow(0 18px 24px rgba(10,25,38,.18));
}
.about-photo-label{
  position:absolute;
  z-index:3;
  left:20px;
  bottom:18px;
  padding:9px 12px;
  border-radius:12px;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.70);
  display:flex;
  flex-direction:column;
  gap:2px;
}
.about-photo-label strong{
  color:#142236;
  font-size:.76rem;
}
.about-photo-label span{
  color:#7c8997;
  font-size:.58rem;
}

.about-portrait-copy .section-number{
  margin-bottom:14px;
}
.about-portrait-copy h2{
  margin:0;
  color:var(--ink);
  font-size:clamp(2.8rem,4vw,4.45rem);
  line-height:1.02;
  letter-spacing:-.058em;
}
.about-portrait-lead{
  max-width:690px;
  margin:25px 0 0;
  color:#5c6a79;
  font-size:.98rem;
  line-height:1.85;
}
.about-profile-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
  margin-top:27px;
}
.about-profile-card{
  min-height:145px;
  padding:18px 17px;
  border:1px solid #e3e8ee;
  border-radius:17px;
  background:#fff;
  box-shadow:0 12px 30px rgba(20,40,61,.045);
}
.about-profile-icon{
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#e64164;
  background:#fff0f3;
  margin-bottom:14px;
}
.about-profile-icon svg{
  width:22px;
  height:22px;
}
.about-profile-card small{
  display:block;
  color:#e64064;
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.10em;
  margin-bottom:7px;
}
.about-profile-card strong{
  display:block;
  color:#17263a;
  font-size:.86rem;
  line-height:1.45;
}
.about-belief{
  margin-top:18px;
  display:grid;
  grid-template-columns:46px 1fr;
  gap:17px;
  align-items:center;
  padding:18px 20px;
  border:1px solid #e6e9ee;
  border-left:3px solid #e94668;
  border-radius:16px;
  background:#fff;
}
.about-belief-mark{
  width:44px;
  height:44px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:1px solid #f2a2b3;
  color:#e94668;
  font-size:1.3rem;
}
.about-belief small{
  display:block;
  color:#e64064;
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.09em;
  margin-bottom:5px;
}
.about-belief p{
  margin:0;
  color:#667484;
  font-size:.78rem;
  line-height:1.68;
}

/* Responsive */
@media (max-width:1100px){
  .hero-portfolio{
    min-height:auto;
    padding-top:118px;
  }
  .hero-portfolio-grid{
    grid-template-columns:1fr;
    gap:42px;
  }
  .hero-portfolio-copy{
    max-width:760px;
  }
  .hero-pillar-grid{
    max-width:760px;
  }
  .about-portrait-grid{
    grid-template-columns:minmax(290px,.75fr) minmax(0,1.25fr);
    gap:38px;
  }
  .about-photo-card{
    min-height:560px;
  }
}
@media (max-width:820px){
  .hero-portfolio h1{
    font-size:clamp(3.0rem,10vw,4.4rem);
  }
  .hero-portfolio-stats{
    grid-template-columns:1fr;
    max-width:360px;
  }
  .hero-pillar-grid{
    grid-template-columns:1fr 1fr;
  }
  .hero-pillar-card{
    min-height:220px;
  }
  .about-portrait-grid{
    grid-template-columns:1fr;
  }
  .about-photo-card{
    width:min(100%,520px);
    min-height:620px;
    margin:0 auto;
  }
}
@media (max-width:560px){
  .hero-portfolio{
    padding-top:108px;
    padding-bottom:54px;
  }
  .hero-portfolio-grid{
    gap:34px;
  }
  .hero-pillar-grid{
    grid-template-columns:1fr;
  }
  .hero-pillar-card{
    min-height:230px;
  }
  .hero-pillars-heading{
    margin-left:0;
    margin-right:0;
  }
  .hero-pillars-heading strong{
    font-size:.69rem;
  }
  .about-portrait-section{
    padding-top:72px;
  }
  .about-photo-card{
    min-height:500px;
  }
  .about-photo-person{
    height:104%;
    bottom:-35px;
  }
  .about-profile-cards{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   v10.42 — approved mockup refinement
   Hero / Research Concept / About only
   ========================================================= */

/* ---------- TOP HERO ---------- */
@media (min-width:1101px){
  .hero-portfolio{
    padding-top:118px;
    padding-bottom:72px;
    min-height:700px;
  }

  .hero-portfolio-grid{
    grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
    gap:58px;
    align-items:center;
  }

  .hero-portfolio-copy{
    padding-left:8px;
  }

  .hero-portfolio h1{
    max-width:590px;
    margin:0;
    font-size:clamp(3.55rem,4.65vw,5.05rem);
    line-height:.99;
    letter-spacing:-.058em;
  }

  .hero-portfolio h1 .hero-title-line{
    display:inline-block;
    white-space:nowrap;
  }

  .hero-portfolio h1 .hero-title-muted{
    color:#8393a8;
  }

  .hero-portfolio h1 .hero-title-dot{
    color:#ff718f;
  }

  .hero-accent-line{
    margin-top:25px;
  }

  .hero-portfolio .lead{
    max-width:560px;
    font-size:.96rem;
    line-height:1.85;
  }

  /* Give the four-card block more presence, like the approved mockup. */
  .hero-pillars{
    width:100%;
    max-width:720px;
    justify-self:end;
  }

  .hero-pillar-grid{
    gap:16px;
  }

  .hero-pillar-card{
    min-height:270px;
  }

  .pillar-copy h3{
    font-size:1.18rem;
  }

  .pillar-copy p{
    font-size:.68rem;
  }
}

/* ---------- RESEARCH CONCEPT ---------- */
@media (min-width:1101px){
  #concept .concept-layout{
    grid-template-columns:minmax(0,1.34fr) minmax(390px,.66fr);
    gap:24px;
    align-items:start;
  }

  #concept .concept-media{
    height:auto;
    min-height:0;
    padding:14px;
  }

  #concept .concept-image{
    width:100%;
    height:auto;
    aspect-ratio:16/9;
    object-fit:contain;
  }

  #concept .concept-copy{
    height:auto;
    min-height:0;
    padding:28px 30px 24px;
    display:block;
  }

  #concept .concept-copy h3{
    font-size:clamp(1.65rem,1.85vw,2.04rem);
    line-height:1.16;
    margin-bottom:16px;
  }

  #concept .concept-copy>p:not(.concept-kicker){
    font-size:.88rem;
    line-height:1.67;
    margin-bottom:0;
  }

  /* This is the key change: no large blank area under the paragraph. */
  #concept .concept-points{
    margin-top:22px !important;
  }

  #concept .concept-point{
    padding:10px 0;
  }

  #concept .concept-point strong{
    font-size:.84rem;
  }
}

/* ---------- ABOUT ---------- */
@media (min-width:1101px){
  .about-portrait-section{
    padding-top:86px;
    padding-bottom:96px;
  }

  .about-portrait-grid{
    grid-template-columns:minmax(360px,.78fr) minmax(0,1.22fr);
    gap:58px;
    align-items:center;
  }

  .about-photo-card{
    min-height:620px;
    max-width:480px;
    justify-self:center;
    border-radius:28px;
    background:#eef4f0;
  }

  /* Make the greenhouse background look like the approved visual,
     rather than a gray translucent panel. */
  .about-photo-bg{
    inset:-18px;
    background:
      linear-gradient(180deg,rgba(255,255,255,.05),rgba(245,250,247,.18)),
      url("images/research/controlled-environment.jpg?v=1036") center 67%/cover no-repeat;
    filter:blur(1.2px) saturate(.62) brightness(1.24);
    transform:scale(1.06);
    opacity:.72;
  }

  .about-photo-glow{
    background:
      linear-gradient(180deg,rgba(255,255,255,.16),transparent 38%),
      linear-gradient(0deg,rgba(12,30,44,.05),transparent 30%);
  }

  .about-photo-person{
    height:105%;
    bottom:-34px;
  }

  .about-photo-label{
    left:22px;
    bottom:20px;
  }

  .about-portrait-copy h2{
    font-size:clamp(3.15rem,4.25vw,4.7rem);
    line-height:1.015;
    max-width:720px;
  }

  .about-portrait-lead{
    max-width:760px;
    margin-top:27px;
    font-size:.97rem;
    line-height:1.8;
  }

  .about-profile-cards{
    margin-top:28px;
    gap:14px;
  }

  .about-profile-card{
    min-height:140px;
    padding:17px 18px;
  }

  .about-belief{
    margin-top:18px;
    padding:17px 20px;
  }
}

@media (max-width:1100px){
  .hero-portfolio h1 .hero-title-line{
    white-space:normal;
  }

  #concept .concept-points{
    margin-top:20px !important;
  }
}


/* =========================================================
   v10.43 — structural rebuild to match approved mockup
   ========================================================= */

/* Hero */
.hero-v1043{
  position:relative;
  overflow:hidden;
  min-height:720px;
  padding:118px 0 74px;
  background:
    radial-gradient(circle at 87% 10%,rgba(122,35,72,.26),transparent 25%),
    radial-gradient(circle at 33% 82%,rgba(60,94,129,.12),transparent 28%),
    #07182a;
}
.hero-v1043::after{
  content:"";
  position:absolute;
  inset:auto -12% -34% 18%;
  height:70%;
  border-radius:50%;
  border:1px solid rgba(255,92,126,.24);
  box-shadow:0 0 80px rgba(255,75,113,.06);
  pointer-events:none;
}
.hero-v1043-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  gap:60px;
  align-items:center;
}
.hero-v1043-copy{
  min-width:0;
}
.hero-v1043 .kicker{
  margin:0 0 30px;
  color:#ff8199;
  font-size:.70rem;
  letter-spacing:.16em;
}
.hero-v1043 h1{
  margin:0;
  color:white;
  font-size:clamp(3.55rem,4.9vw,5.15rem);
  line-height:1.01;
  letter-spacing:-.06em;
}
.hero-v1043 h1>span{
  display:block;
  white-space:nowrap;
}
.hero-v1043-dot{
  color:#ff6e8c;
}
.hero-v1043-rule{
  width:68px;
  height:3px;
  border-radius:99px;
  margin:25px 0 0;
  background:#ff6382;
}
.hero-v1043 .lead{
  margin:27px 0 0;
  max-width:560px;
  color:#c0cad5;
  font-size:.95rem;
  line-height:1.88;
}
.hero-v1043-actions{
  margin-top:28px;
}

.hero-v1043-pillars{
  min-width:0;
}
.hero-v1043-heading{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:16px;
  align-items:center;
  margin-bottom:16px;
}
.hero-v1043-heading i{
  display:block;
  height:1px;
  background:linear-gradient(90deg,transparent,#ff6f8c);
}
.hero-v1043-heading i:last-child{
  background:linear-gradient(90deg,#ff6f8c,transparent);
}
.hero-v1043-heading strong{
  color:white;
  font-size:.78rem;
  letter-spacing:.17em;
  white-space:nowrap;
}
.hero-v1043-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.hero-v1043-card{
  position:relative;
  min-height:255px;
  overflow:hidden;
  border:1px solid rgba(255,104,135,.72);
  border-radius:19px;
  background:#0e2137;
  color:white;
  box-shadow:0 20px 45px rgba(0,0,0,.16);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.hero-v1043-card:hover{
  transform:translateY(-4px);
  border-color:#ff8da5;
  box-shadow:0 27px 55px rgba(0,0,0,.24);
}
.hero-v1043-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.01);
  transition:transform .3s ease;
}
.hero-v1043-card:hover img{
  transform:scale(1.045);
}
.hero-v1043-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(4,16,29,.04) 0%,rgba(5,18,31,.08) 40%,rgba(5,18,31,.92) 81%,rgba(5,18,31,.98) 100%),
    linear-gradient(90deg,rgba(5,18,31,.24),transparent 72%);
}
.hero-v1043-no{
  position:absolute;
  z-index:2;
  left:17px;
  top:15px;
  color:#ff738f;
  font-size:.92rem;
  font-weight:850;
}
.hero-v1043-icon{
  position:absolute;
  z-index:2;
  left:17px;
  top:50px;
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.74);
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(5,18,31,.30);
  color:#fff;
  font-size:.82rem;
}
.hero-v1043-card-text{
  position:absolute;
  z-index:2;
  left:18px;
  right:18px;
  bottom:15px;
}
.hero-v1043-card-text h3{
  margin:0 0 6px;
  color:white;
  font-size:1.10rem;
  line-height:1.08;
  letter-spacing:-.035em;
}
.hero-v1043-card-text p{
  margin:0;
  color:#d3dae4;
  font-size:.65rem;
}

/* Concept: remove the blank gap by letting copy size to its content. */
@media (min-width:1001px){
  #concept .concept-layout{
    grid-template-columns:minmax(0,1.33fr) minmax(380px,.67fr) !important;
    gap:24px !important;
    align-items:start !important;
  }
  #concept .concept-media{
    height:auto !important;
    min-height:0 !important;
  }
  #concept .concept-copy{
    height:auto !important;
    min-height:0 !important;
    display:block !important;
    padding:28px 30px 22px !important;
  }
  #concept .concept-copy h3{
    margin-bottom:16px !important;
  }
  #concept .concept-copy>p:not(.concept-kicker){
    margin-bottom:0 !important;
  }
  #concept .concept-points{
    margin-top:22px !important;
  }
  #concept .concept-point{
    padding:9px 0 !important;
  }
}

/* About */
.about-v1043{
  background:#fff;
  padding:90px 0 100px;
}
.about-v1043-grid{
  display:grid;
  grid-template-columns:minmax(360px,.78fr) minmax(0,1.22fr);
  gap:60px;
  align-items:center;
}
.about-v1043-photo{
  position:relative;
  min-height:630px;
  max-width:480px;
  width:100%;
  justify-self:center;
  overflow:hidden;
  border-radius:28px;
  border:1px solid #dfe7e4;
  background:#edf4ef;
  box-shadow:0 26px 66px rgba(22,42,60,.09);
}
.about-v1043-photo-bg{
  position:absolute;
  inset:-16px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(241,248,244,.16)),
    url("images/about-greenhouse-v1050.webp?v=1050") center 72%/cover no-repeat;
  filter:blur(1.2px) saturate(.78) brightness(1.1);
  transform:scale(1.18);
  opacity:.88;
}
.about-v1043-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 40%,rgba(10,30,42,.03));
}
.about-v1043-person{
  position:absolute;
  z-index:2;
  left:50%;
  bottom:-26px;
  transform:translateX(-50%);
  height:103%;
  width:auto;
  max-width:none;
  object-fit:contain;
  filter:drop-shadow(0 16px 22px rgba(11,29,42,.12));
}
.about-v1043-label{
  position:absolute;
  z-index:3;
  left:22px;
  bottom:20px;
  padding:10px 13px;
  border-radius:12px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(255,255,255,.84);
  backdrop-filter:blur(10px);
}
.about-v1043-label strong{
  display:block;
  color:#122136;
  font-size:.78rem;
}
.about-v1043-label span{
  display:block;
  margin-top:2px;
  color:#84909d;
  font-size:.59rem;
}

.about-v1043-copy .section-number{
  margin-bottom:14px;
}
.about-v1043-copy h2{
  margin:0;
  color:#122136;
  font-size:clamp(3.15rem,4.25vw,4.65rem);
  line-height:1.02;
  letter-spacing:-.058em;
}
.about-v1043-lead{
  margin:26px 0 0;
  max-width:760px;
  color:#64717f;
  font-size:.96rem;
  line-height:1.82;
}
.about-v1043-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
  margin-top:28px;
}
.about-v1043-cards article{
  min-height:144px;
  padding:18px 18px;
  border:1px solid #e0e6eb;
  border-radius:16px;
  background:white;
  box-shadow:0 10px 24px rgba(19,37,55,.035);
}
.about-v1043-card-icon{
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin-bottom:12px;
  background:#fff0f3;
  color:#ea4868;
  font-size:1rem;
}
.about-v1043-cards small{
  display:block;
  margin-bottom:7px;
  color:#e94364;
  font-size:.65rem;
  font-weight:800;
  letter-spacing:.09em;
}
.about-v1043-cards strong{
  display:block;
  color:#17263a;
  font-size:.86rem;
  line-height:1.45;
}
.about-v1043-belief{
  margin-top:18px;
  display:grid;
  grid-template-columns:48px 1fr;
  gap:16px;
  align-items:center;
  padding:17px 20px;
  border:1px solid #e3e8ed;
  border-left:3px solid #e94768;
  border-radius:15px;
  background:white;
}
.about-v1043-target{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid #f1a0b1;
  border-radius:50%;
  color:#e94768;
  font-size:1.25rem;
}
.about-v1043-belief small{
  display:block;
  margin-bottom:5px;
  color:#e94364;
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.08em;
}
.about-v1043-belief p{
  margin:0;
  color:#667483;
  font-size:.78rem;
  line-height:1.65;
}

@media (max-width:1100px){
  .hero-v1043-grid{
    grid-template-columns:1fr;
    gap:40px;
  }
  .hero-v1043 h1>span{
    white-space:normal;
  }
  .hero-v1043-pillars{
    max-width:760px;
  }
  .about-v1043-grid{
    grid-template-columns:1fr;
  }
  .about-v1043-photo{
    max-width:540px;
  }
}
@media (max-width:650px){
  .hero-v1043{
    padding-top:105px;
  }
  .hero-v1043 h1{
    font-size:clamp(3rem,13vw,4.25rem);
  }
  .hero-v1043-cards{
    grid-template-columns:1fr;
  }
  .hero-v1043-card{
    min-height:230px;
  }
  .about-v1043-photo{
    min-height:510px;
  }
  .about-v1043-cards{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   v10.44 PREVIEW — publication spotlight redesign
   ========================================================= */
.publication-section .pub-spotlight-grid{
  gap:20px;
  align-items:stretch;
}
.publication-section .pub-spotlight{
  min-height:760px;
  padding:22px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(160deg,#10233a 0%,#091a2b 100%);
  box-shadow:0 24px 60px rgba(10,28,47,.14);
  color:#fff;
}
.publication-section .pub-spotlight:hover{
  border-color:rgba(255,121,147,.55);
  box-shadow:0 30px 70px rgba(10,28,47,.20);
}
.publication-section .pub-spotlight-top{
  margin-bottom:14px;
}
.publication-section .pub-badge{
  background:#e84669;
  color:#fff;
}
.publication-section .pub-role{
  color:#94a7bc;
}
.pub-visual-v1044{
  position:relative;
  height:224px;
  margin-bottom:22px;
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:#08182a;
}
.pub-visual-v1044 img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
}
.pub-visual-v1044.pub-visual-root img{
  width:88%;
  height:88%;
  left:6%;
  top:2%;
}
.pub-visual-v1044.pub-visual-sensing img,
.pub-visual-v1044.pub-visual-co2 img{
  width:76%;
  height:88%;
  left:12%;
  top:0;
}
.pub-visual-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(4,16,29,.02) 35%,rgba(4,16,29,.18) 60%,rgba(4,16,29,.94) 100%);
  pointer-events:none;
}
.pub-visual-eyebrow{
  position:absolute;
  left:14px;
  top:13px;
  z-index:2;
  color:#ff8da5;
  font-size:.58rem;
  font-weight:850;
  letter-spacing:.10em;
  padding:5px 7px;
  border-radius:999px;
  background:rgba(5,18,31,.72);
  backdrop-filter:blur(8px);
}
.pub-visual-caption{
  position:absolute;
  z-index:2;
  left:15px;
  right:15px;
  bottom:13px;
  color:#f4f8fc;
  font-size:.77rem;
  font-weight:700;
  line-height:1.45;
}
.publication-section .pub-spotlight h3{
  color:#f4f7fb;
  font-size:1.15rem;
  line-height:1.38;
  letter-spacing:-.025em;
  margin:0 0 15px;
}
.publication-section .pub-summary{
  color:#aebbc9;
  font-size:.82rem;
  line-height:1.75;
  margin-bottom:22px;
}
.publication-section .pub-citation{
  margin-top:auto;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.10);
}
.publication-section .pub-citation strong{
  color:#f5f8fb;
}
.publication-section .pub-citation span{
  color:#91a3b5;
}
.publication-section .pub-open{
  color:#ff89a1;
  margin-top:14px;
}
@media(max-width:980px){
  .publication-section .pub-spotlight-grid{grid-template-columns:1fr;}
  .publication-section .pub-spotlight{min-height:0;}
  .pub-visual-v1044{height:260px;}
}


/* =========================================================
   v10.45 PREVIEW — global left alignment + new botanical brand symbol
   ========================================================= */
.brand-symbol{
  width:36px;
  height:36px;
  border-radius:11px;
  display:grid;
  place-items:center;
  color:#ff7895;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,120,149,.52);
  box-shadow:0 8px 22px rgba(0,0,0,.10), inset 0 0 0 1px rgba(255,255,255,.025);
}
.brand-symbol svg{width:27px;height:27px;display:block}
.site-header.scrolled .brand-symbol{
  color:var(--red);
  background:#fff;
  border-color:rgba(214,46,82,.24);
  box-shadow:0 7px 18px rgba(20,40,60,.07);
}

/* Use the header/brand container as the single master alignment line.
   Previous rules made TOP 1240px wide and Research Concept 1300px wide,
   which shifted only those two sections to the left. */
@media (min-width:1101px){
  .hero-v1043 .container,
  #concept .container{
    width:min(calc(100% - 48px),var(--container)) !important;
    max-width:var(--container) !important;
  }
}


/* v10.47 concept + publication updates */

#concept .concept-heading-v1047{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:28px;
  align-items:end;
  margin-bottom:28px;
}
#concept .concept-header-copy{max-width:760px;justify-self:end}
#concept .concept-header-copy .concept-kicker{margin:0 0 12px;color:var(--red);font-size:.72rem;font-weight:800;letter-spacing:.16em}
#concept .concept-header-copy h3{margin:0 0 12px;font-size:clamp(2rem,2.7vw,3rem);line-height:1.16;letter-spacing:-.04em;color:#10233d}
#concept .concept-header-copy .section-intro{margin:0;font-size:1rem;line-height:1.8;color:var(--muted);max-width:40em}
#concept .concept-media-full{margin:0;background:#0e1b2a;border-radius:30px;padding:18px 18px 14px;box-shadow:0 28px 80px rgba(13,31,51,.14);overflow:hidden;position:relative}
#concept .concept-media-full .concept-image{display:block;width:100%;height:auto;min-height:0;aspect-ratio:16/9;object-fit:contain;object-position:center;background:#0d1e30;border-radius:20px}
#concept .concept-media-full .concept-caption{padding:12px 8px 2px;font-size:.72rem;line-height:1.7;color:#93a3b6}
#concept .concept-media-full .concept-badge{top:22px;left:22px}
@media (max-width: 960px){
  #concept .concept-heading-v1047{grid-template-columns:1fr;align-items:start}
  #concept .concept-header-copy{justify-self:start}
  #concept .concept-header-copy h3{font-size:1.85rem}
  #concept .concept-media-full .concept-image{aspect-ratio:4/3}
}
.pub-visual-v1044 img{width:100%;height:100%;object-fit:cover;display:block}
.pub-visual-root,.pub-visual-sensing,.pub-visual-co2{background:#091a2c}


/* =========================================================
   v10.48 preview — preserve simplified section headings
   ========================================================= */

/* 01 Research Concept: only section number + one headline */
#concept .concept-heading-v1048{
  display:grid !important;
  grid-template-columns:minmax(260px,.66fr) minmax(0,1.34fr) !important;
  gap:48px !important;
  align-items:end !important;
  margin-bottom:26px !important;
}
#concept .concept-heading-v1048 > div{width:auto !important;}
#concept .concept-heading-v1048 .section-number{margin:0 !important;}
#concept .concept-single-headline{
  margin:0 !important;
  max-width:850px !important;
  justify-self:end;
  color:#10233d;
  font-size:clamp(2.2rem,3.25vw,3.75rem) !important;
  line-height:1.08 !important;
  letter-spacing:-.05em !important;
}
#concept .concept-media-full,
#concept .concept-media{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:14px 14px 12px !important;
  border-radius:28px !important;
  background:#0e1b2a !important;
}
#concept .concept-image{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  border-radius:18px !important;
}
#concept .concept-caption{
  padding:10px 8px 2px !important;
  font-size:.70rem !important;
}

/* All regular section starts: no duplicated right-side explanatory copy. */
.section-title-row{
  display:block !important;
  margin-bottom:36px !important;
}
.section-title-row > div{width:100% !important;}
.section-title-row .section-number{margin-bottom:12px;}
.section-title-row h2{max-width:none !important;}

/* 02 / ABOUT number on the same site baseline as 01 / 09. */
.about-v1043-grid{
  grid-template-columns:minmax(360px,.78fr) minmax(0,1.22fr) !important;
  column-gap:60px !important;
  row-gap:22px !important;
}
.about-v1043-grid > .section-number{
  grid-column:1 / -1 !important;
  grid-row:1 !important;
  margin:0 !important;
}
.about-v1043-photo{grid-column:1 !important;grid-row:2 !important;}
.about-v1043-copy{grid-column:2 !important;grid-row:2 !important;}

@media (min-width:1001px){
  /* Keep requested headings on one line where the desktop width allows it. */
  #collaborate .section-title-row h2,
  #journey .section-title-row h2,
  #activities .section-title-row h2{
    white-space:nowrap !important;
    font-size:clamp(2.7rem,3.55vw,3.95rem) !important;
    line-height:1.05 !important;
  }
}

@media (max-width:1100px){
  #concept .concept-heading-v1048{grid-template-columns:1fr !important;gap:16px !important;align-items:start !important;}
  #concept .concept-single-headline{justify-self:start;font-size:clamp(2rem,6vw,3rem) !important;}
  .about-v1043-grid{grid-template-columns:1fr !important;}
  .about-v1043-grid > .section-number{grid-column:1 !important;grid-row:1 !important;}
  .about-v1043-photo{grid-column:1 !important;grid-row:2 !important;}
  .about-v1043-copy{grid-column:1 !important;grid-row:3 !important;}
}
@media (max-width:1000px){
  #collaborate .section-title-row h2,
  #journey .section-title-row h2,
  #activities .section-title-row h2{white-space:normal !important;}
}


/* =========================================================
   v10.49 CLEAN — About refinement
   ========================================================= */

@media (min-width:1001px){
  #about.about-v1043{
    padding-top:86px;
    padding-bottom:96px;
  }

  #about .about-v1043-grid{
    grid-template-columns:minmax(380px,.82fr) minmax(0,1.18fr);
    column-gap:60px;
    row-gap:20px;
    align-items:center;
  }

  #about .about-v1043-grid > .section-number{
    grid-column:1 / -1;
    margin:0;
  }

  #about .about-v1043-photo{
    min-height:760px;
    width:100%;
    max-width:540px;
    justify-self:start;
    border-radius:28px;
    overflow:hidden;
    background:#eef4f1;
    border:1px solid #dfe6e3;
    box-shadow:0 24px 64px rgba(20,42,60,.10);
  }

  #about .about-v1043-photo-bg{
    inset:0;
    background:
      linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.34)),
      url("images/about-greenhouse-v1050.webp?v=1050") center 74%/cover no-repeat;
    filter:blur(.6px) saturate(.9) brightness(1.02);
    transform:scale(1.18);
    opacity:.96;
  }

  #about .about-v1043-person{
    height:95%;
    bottom:-4px;
    filter:drop-shadow(0 16px 22px rgba(13,32,45,.15));
  }

  #about .about-v1043-label{
    display:none;
  }

  #about .about-v1043-copy h2{
    font-size:clamp(3.05rem,4.15vw,4.55rem);
    line-height:1.02;
    margin:0;
    max-width:760px;
  }

  #about .about-v1043-lead{
    max-width:770px;
    margin-top:24px;
    font-size:1rem;
    line-height:1.82;
    color:#4f6072;
  }

  #about .about-v1043-cards{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin-top:26px;
  }

  #about .about-v1043-cards article{
    min-height:96px;
    padding:14px 16px;
    display:grid;
    grid-template-columns:40px 1fr;
    grid-template-rows:auto 1fr;
    column-gap:11px;
    align-items:center;
    border-radius:16px;
  }

  #about .about-v1043-card-icon{
    grid-column:1;
    grid-row:1 / 3;
    width:40px;
    height:40px;
    margin:0;
    font-size:.98rem;
  }

  #about .about-v1043-cards small{
    grid-column:2;
    grid-row:1;
    margin:0 0 3px;
    font-size:.66rem;
  }

  #about .about-v1043-cards strong{
    grid-column:2;
    grid-row:2;
    font-size:1rem;
    line-height:1.38;
  }

  #about .about-v1043-belief{
    margin-top:18px;
    grid-template-columns:54px 1fr;
    gap:18px;
    padding:24px 26px;
    border-left-width:4px;
    background:linear-gradient(100deg,#fff 0%,#fff5f7 100%);
    box-shadow:0 14px 34px rgba(24,42,60,.05);
  }

  #about .about-v1043-target{
    width:50px;
    height:50px;
    font-size:1.45rem;
    border-width:1.5px;
  }

  #about .about-v1043-belief small{
    font-size:.8rem;
    margin-bottom:9px;
    letter-spacing:.11em;
  }

  #about .about-v1043-belief p{
    font-size:1.08rem;
    line-height:1.75;
    color:#24384f;
  }

  #about .about-v1043-belief p strong{
    color:#162a42;
    font-weight:750;
  }
}

@media (max-width:1000px){
  #about .about-v1043-cards article{
    min-height:100px;
  }
  #about .about-v1043-belief p{
    font-size:.96rem;
  }
}

@media (max-width: 760px){
  .project-card.project-primary{
    background:
      linear-gradient(135deg,rgba(255,255,255,.97),rgba(255,249,251,.95)),
      url("images/biomarker-hero-v1050.webp?v=1050") right -6px bottom -2px/126px auto no-repeat;
  }
}


.about-v1043-interview{
  margin-top:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px;
  border:1px solid #e3e8ed;
  border-radius:15px;
  background:linear-gradient(100deg,#ffffff 0%,#fff7f9 100%);
  box-shadow:0 12px 28px rgba(24,42,60,.04);
}
.about-v1043-interview-copy small{
  display:block;
  margin-bottom:6px;
  color:#e94364;
  font-size:.67rem;
  font-weight:800;
  letter-spacing:.08em;
}
.about-v1043-interview-copy strong{
  display:block;
  color:#162a42;
  font-size:1rem;
  font-weight:800;
  line-height:1.4;
}
.about-v1043-interview-copy p{
  margin:8px 0 0;
  color:#667483;
  font-size:.82rem;
  line-height:1.65;
}
.about-v1043-interview-link{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  border-radius:999px;
  background:#162a42;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  white-space:nowrap;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
  box-shadow:0 10px 24px rgba(22,42,66,.15);
}
.about-v1043-interview-link:hover{
  transform:translateY(-2px);
  background:#1d3958;
}

#about .about-v1043-interview{
  margin-top:20px;
  padding:22px 24px;
  border-radius:18px;
}
#about .about-v1043-interview-copy small{
  font-size:.8rem;
  letter-spacing:.11em;
}
#about .about-v1043-interview-copy strong{
  font-size:1.1rem;
}
#about .about-v1043-interview-copy p{
  font-size:.98rem;
  color:#455a70;
}
#about .about-v1043-interview-link{
  padding:14px 20px;
  font-size:.96rem;
}

@media (max-width:1000px){
  .about-v1043-interview,
  #about .about-v1043-interview{
    flex-direction:column;
    align-items:flex-start;
  }
  .about-v1043-interview-link,
  #about .about-v1043-interview-link{
    width:100%;
  }
}


/* =========================================================
   v10.53 — typography cleanup + publication update
   ========================================================= */
.hero-v1043-dot{
  color:#ff6382 !important;
  -webkit-text-fill-color:#ff6382 !important;
}
.nowrap-ja{
  white-space:nowrap;
}

.keep-line{
  display:inline-block;
  white-space:nowrap;
}
#concept .concept-single-headline{
  text-wrap:balance;
}
@media (min-width:1001px){
  #concept .concept-heading-v1048{
    grid-template-columns:minmax(230px,.56fr) minmax(0,1.44fr) !important;
    gap:34px !important;
  }
  #concept .concept-single-headline{
    max-width:920px !important;
    font-size:clamp(2.1rem,3vw,3.45rem) !important;
  }
  #about .about-v1043-interview-copy p{
    max-width:660px;
    text-wrap:pretty;
  }
}
@media (max-width:640px){
  .nowrap-ja{white-space:normal;}
}


/* =========================================================
   v10.56 — publication spacing + KAKENHI precision hero + students
   ========================================================= */
@media (min-width:981px){
  .publication-section .pub-spotlight{
    min-height:610px;
  }
  .publication-section .pub-summary{
    margin-bottom:12px;
  }
  .publication-section .pub-citation{
    padding-top:14px;
  }
  .publication-section .pub-open{
    margin-top:10px;
  }
}

@media (min-width:1101px){
  .detail-project-hero .detail-hero-grid{
    grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);
    gap:72px;
    align-items:center;
  }
  .detail-project-hero .detail-hero-copy{
    min-width:0;
    max-width:none;
  }
  .detail-project-hero h1{
    width:100%;
    max-width:100%;
    font-size:clamp(2.45rem,3.45vw,3.75rem);
    line-height:1.08;
    letter-spacing:-.045em;
    overflow-wrap:anywhere;
  }
  .detail-project-hero .detail-visual{
    min-width:0;
    padding-left:4px;
  }
  .detail-project-hero .detail-system.project-hero-card{
    width:min(560px,100%);
    padding:16px;
  }
}

@media (min-width:1101px) and (max-width:1320px){
  .detail-project-hero h1{
    font-size:clamp(2.3rem,3.2vw,3.2rem);
  }
  .detail-project-hero .detail-hero-grid{
    gap:64px;
  }
}


/* v10.57 — line-wrap fixes + about photo background zoom */
@media (min-width:1001px){
  #about .about-v1043-photo-bg{
    background:
      linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.30)),
      url("images/about-greenhouse-v1050.webp?v=1050") center 84%/cover no-repeat;
    transform:scale(1.34);
    filter:blur(.45px) saturate(.96) brightness(1.01);
  }
  #about .about-v1043-person{
    height:96%;
    bottom:-6px;
  }
  .detail-project-hero h1{
    text-wrap:balance;
    overflow-wrap:normal;
    word-break:keep-all;
  }
  .detail-project-hero h1 .keep-line{
    display:inline-block;
    white-space:nowrap;
  }
  .collab-card p .keep-line{
    display:inline-block;
    white-space:nowrap;
  }
}
@media (min-width:1101px){
  .detail-project-hero .detail-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:78px;
  }
  .detail-project-hero .detail-hero-copy{
    max-width:600px;
  }
  .detail-project-hero h1{
    font-size:clamp(2.28rem,3.15vw,3.45rem);
    line-height:1.1;
    max-width:11.5ch;
  }
}
@media (min-width:1101px) and (max-width:1320px){
  .detail-project-hero h1{
    font-size:clamp(2.12rem,3.05vw,3.1rem);
    max-width:12.2ch;
  }
}


/* v10.58 — about section uses composite greenhouse portrait */
.about-v1043-photo-bg{
  background:
    linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.10)),
    url("images/about-profile-composite-v1058.webp?v=1058") 54% 50%/cover no-repeat !important;
  inset:0 !important;
  transform:none !important;
  filter:none !important;
  opacity:1 !important;
}
.about-v1043-person{
  display:none !important;
}
.about-v1043-photo::after{
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,0) 42%,rgba(8,20,32,.04)) !important;
}
@media (min-width:1001px){
  #about .about-v1043-photo{
    min-height:760px;
    max-width:540px;
  }
  #about .about-v1043-photo-bg{
    background:
      linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.12)),
      url("images/about-profile-composite-v1058.webp?v=1058") 54% 50%/cover no-repeat !important;
  }
}
@media (max-width:1000px){
  .about-v1043-photo{
    min-height:680px;
  }
  .about-v1043-photo-bg{
    background:
      linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.16)),
      url("images/about-profile-composite-v1058.webp?v=1058") 52% 50%/cover no-repeat !important;
  }
}


/* =========================================================
   v10.59 — About: real greenhouse + transparent portrait
             Hero: stronger research-pillars heading
   ========================================================= */
.hero-v1043-heading strong{
  font-size:.96rem !important;
  font-weight:800 !important;
  letter-spacing:.14em !important;
}

/* Reset v10.58 composite treatment and build the About photo in layers. */
.about-v1043-photo{
  background:#f4f7f5 !important;
}
.about-v1043-photo-bg,
#about .about-v1043-photo-bg{
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  background-image:url("images/about-greenhouse-real-v1059.webp?v=1059") !important;
  background-size:cover !important;
  background-position:74% 52% !important;
  background-repeat:no-repeat !important;
  transform:scale(1.015) !important;
  filter:saturate(.78) brightness(1.08) !important;
  opacity:.67 !important;
}
.about-v1043-photo::after,
#about .about-v1043-photo::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  background:linear-gradient(90deg,rgba(255,255,255,.13) 0%,rgba(255,255,255,.06) 45%,rgba(255,255,255,.18) 100%) !important;
  pointer-events:none !important;
}
.about-v1043-person,
#about .about-v1043-person{
  display:block !important;
  position:absolute !important;
  z-index:2 !important;
  height:82% !important;
  width:auto !important;
  max-width:none !important;
  left:36% !important;
  bottom:16px !important;
  transform:translateX(-50%) !important;
  object-fit:contain !important;
  filter:drop-shadow(0 15px 20px rgba(12,30,45,.15)) !important;
}
@media (min-width:1001px){
  #about .about-v1043-grid{
    grid-template-columns:minmax(470px,.90fr) minmax(0,1.10fr) !important;
    column-gap:54px !important;
  }
  #about .about-v1043-photo{
    width:100% !important;
    max-width:590px !important;
    min-height:0 !important;
    aspect-ratio: .78 / 1 !important;
  }
}
@media (max-width:1000px){
  .about-v1043-photo,
  #about .about-v1043-photo{
    width:min(590px,100%) !important;
    min-height:0 !important;
    aspect-ratio:.78 / 1 !important;
    justify-self:center !important;
  }
  .about-v1043-person,
  #about .about-v1043-person{
    height:82% !important;
    left:36% !important;
    bottom:14px !important;
  }
}
@media (max-width:640px){
  .hero-v1043-heading strong{
    font-size:.83rem !important;
    letter-spacing:.10em !important;
  }
}


/* v10.60 — publication journal-name readability */
.complete-pub-list .pub-item p strong{
  color:#17304d !important;
  font-weight:750 !important;
}
.complete-pub-list .pub-item p{
  color:#6c7a8a;
}


/* v10.61 — exact user-prepared About portrait; no opacity/filter/crop */
#about .about-v1061-photo{
  min-height:0 !important;
  height:auto !important;
  max-width:540px !important;
  width:100% !important;
  overflow:hidden !important;
  background:transparent !important;
  border:1px solid #dfe6e3 !important;
  border-radius:28px !important;
  box-shadow:0 24px 64px rgba(20,42,60,.10) !important;
}
#about .about-v1061-photo::after{
  display:none !important;
}
#about .about-v1061-composite{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center;
  opacity:1;
  filter:none;
  transform:none;
}
@media (max-width:1000px){
  #about .about-v1061-photo{
    max-width:520px !important;
    justify-self:center !important;
  }
}

/* =========================================================
   v10.62 — responsive/mobile layout (PC design unchanged)
   Target: 390–430px smartphones, with tablet support ≤ 760px
   ========================================================= */
@media (max-width:760px){
  html{scroll-padding-top:68px;}
  body{overflow-x:hidden;}
  .container{width:min(calc(100% - 32px),var(--container)) !important;}
  .section{padding:68px 0 !important;}
  .section-number{font-size:.66rem !important;letter-spacing:.13em !important;margin-bottom:12px !important;}
  .section-title-row{margin-bottom:30px !important;gap:10px !important;}
  .section-title-row h2{font-size:clamp(2.1rem,10vw,3rem) !important;line-height:1.06 !important;letter-spacing:-.05em !important;}
  .keep-line,.nowrap-ja{white-space:normal !important;display:inline !important;}

  .site-header{backdrop-filter:blur(16px);}
  .header-inner{height:64px !important;gap:10px !important;}
  .brand{gap:8px !important;min-width:0;}
  .brand-symbol{width:33px !important;height:33px !important;border-radius:10px !important;flex:0 0 auto;}
  .brand-symbol svg{width:24px !important;height:24px !important;}
  .brand-text{display:block !important;font-size:.82rem !important;white-space:nowrap;}
  .header-actions{gap:7px !important;margin-left:auto;}
  .lang-button{height:34px !important;padding:0 10px !important;font-size:.66rem !important;}
  .menu-button{display:block !important;width:36px !important;height:34px !important;padding:0 !important;font-size:.92rem !important;}
  .nav{top:64px !important;left:12px !important;right:12px !important;padding:16px 18px 20px !important;border:1px solid var(--line) !important;border-radius:0 0 18px 18px !important;box-shadow:0 18px 42px rgba(10,26,43,.13) !important;gap:0 !important;}
  .nav a{width:100%;padding:11px 2px;border-bottom:1px solid #edf0f3;font-size:.84rem !important;}
  .nav a:last-child{border-bottom:0;}

  .hero-v1043{padding:96px 0 56px !important;min-height:0 !important;}
  .hero-v1043-grid{grid-template-columns:1fr !important;gap:38px !important;}
  .hero-v1043 .kicker{font-size:.61rem !important;line-height:1.55 !important;letter-spacing:.11em !important;margin-bottom:18px !important;}
  .hero-v1043 h1{font-size:clamp(2.65rem,12.4vw,3.5rem) !important;line-height:.99 !important;letter-spacing:-.057em !important;}
  .hero-v1043 h1>span{white-space:normal !important;}
  .hero-v1043-rule{margin-top:20px !important;width:56px !important;}
  .hero-v1043 .lead{font-size:.86rem !important;line-height:1.78 !important;margin-top:20px !important;}
  .hero-v1043-actions{display:grid !important;grid-template-columns:1fr 1fr;gap:10px !important;margin-top:22px !important;}
  .hero-v1043-actions .button{width:100%;min-width:0;padding:12px 10px !important;font-size:.72rem !important;}
  .hero-v1043-heading{gap:10px !important;margin-bottom:13px !important;}
  .hero-v1043-heading strong{font-size:.82rem !important;font-weight:850 !important;letter-spacing:.08em !important;}
  .hero-v1043-cards{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;}
  .hero-v1043-card{min-height:188px !important;border-radius:15px !important;}
  .hero-v1043-no{left:12px !important;top:11px !important;font-size:.78rem !important;}
  .hero-v1043-icon{left:12px !important;top:38px !important;width:31px !important;height:31px !important;font-size:.7rem !important;}
  .hero-v1043-card-text{left:12px !important;right:10px !important;bottom:11px !important;}
  .hero-v1043-card-text h3{font-size:.91rem !important;line-height:1.07 !important;margin-bottom:5px !important;}
  .hero-v1043-card-text p{font-size:.57rem !important;line-height:1.35 !important;}

  .status-grid{grid-template-columns:1fr !important;}
  .status-item{min-height:0 !important;padding:18px 18px 17px !important;border-left:1px solid var(--line) !important;}
  .status-label{font-size:.58rem !important;margin-bottom:8px !important;}
  .status-item strong{font-size:.92rem !important;}
  .status-item p{font-size:.75rem !important;line-height:1.5 !important;}

  #concept .concept-heading-v1048{display:block !important;margin-bottom:20px !important;}
  #concept .concept-heading-v1048>div{margin-bottom:14px !important;}
  #concept .concept-single-headline{font-size:clamp(2rem,9.4vw,2.7rem) !important;line-height:1.08 !important;max-width:none !important;justify-self:start !important;text-wrap:balance !important;}
  #concept .concept-media-full{padding:9px 9px 10px !important;border-radius:20px !important;}
  #concept .concept-media-full .concept-image{aspect-ratio:auto !important;border-radius:14px !important;}
  #concept .concept-caption{font-size:.61rem !important;line-height:1.55 !important;padding:9px 4px 1px !important;}

  #about .about-v1043-grid{grid-template-columns:1fr !important;gap:26px !important;}
  #about .about-v1043-grid>.section-number{grid-column:1 !important;grid-row:1 !important;}
  #about .about-v1061-photo{grid-column:1 !important;grid-row:2 !important;max-width:470px !important;width:100% !important;justify-self:center !important;border-radius:22px !important;box-shadow:0 18px 42px rgba(20,42,60,.09) !important;}
  #about .about-v1043-copy{grid-column:1 !important;grid-row:3 !important;}
  #about .about-v1043-copy h2{font-size:clamp(2.65rem,12vw,3.45rem) !important;line-height:1.01 !important;max-width:none !important;}
  #about .about-v1043-lead{font-size:.86rem !important;line-height:1.75 !important;margin-top:18px !important;}
  #about .about-v1043-cards{grid-template-columns:1fr !important;gap:9px !important;margin-top:20px !important;}
  #about .about-v1043-cards article{min-height:0 !important;padding:13px 15px !important;grid-template-columns:39px 1fr !important;grid-template-rows:auto auto !important;column-gap:11px !important;border-radius:14px !important;}
  #about .about-v1043-card-icon{width:36px !important;height:36px !important;grid-row:1/3 !important;margin:0 !important;}
  #about .about-v1043-cards small{font-size:.6rem !important;margin:0 0 2px !important;}
  #about .about-v1043-cards strong{font-size:.88rem !important;line-height:1.35 !important;}
  #about .about-v1043-belief{grid-template-columns:40px 1fr !important;gap:12px !important;padding:17px 16px !important;margin-top:13px !important;border-radius:15px !important;}
  #about .about-v1043-target{width:38px !important;height:38px !important;font-size:1.05rem !important;}
  #about .about-v1043-belief small{font-size:.66rem !important;}
  #about .about-v1043-belief p{font-size:.82rem !important;line-height:1.65 !important;}
  #about .about-v1043-interview{padding:18px 16px !important;margin-top:12px !important;gap:15px !important;border-radius:15px !important;}
  #about .about-v1043-interview-copy small{font-size:.66rem !important;}
  #about .about-v1043-interview-copy strong{font-size:.96rem !important;}
  #about .about-v1043-interview-copy p{font-size:.79rem !important;line-height:1.6 !important;}
  #about .about-v1043-interview-link{width:100% !important;padding:12px 15px !important;font-size:.78rem !important;}

  .research-grid{grid-template-columns:1fr !important;gap:12px !important;}
  .research-card{min-height:0 !important;padding:24px 22px !important;border-radius:19px !important;}
  .research-card h3{font-size:1.65rem !important;line-height:1.1 !important;margin:40px 0 13px !important;}
  .research-card p{font-size:.83rem !important;line-height:1.7 !important;margin-bottom:18px !important;}
  .card-icon{top:20px !important;right:20px !important;width:36px !important;height:36px !important;}
  .tags{gap:6px !important;}
  .tags span{padding:6px 9px !important;font-size:.62rem !important;}
  .card-read{margin-top:18px !important;font-size:.68rem !important;}

  .publication-section .pub-spotlight-grid{grid-template-columns:1fr !important;gap:14px !important;margin-top:0 !important;margin-bottom:28px !important;}
  .publication-section .pub-spotlight{min-height:0 !important;padding:17px !important;border-radius:20px !important;}
  .publication-section .pub-spotlight-top{margin-bottom:11px !important;}
  .publication-section .pub-badge,.publication-section .pub-role{font-size:.58rem !important;}
  .pub-visual-v1044{height:210px !important;margin-bottom:17px !important;border-radius:14px !important;}
  .publication-section .pub-spotlight h3{font-size:1.03rem !important;line-height:1.38 !important;margin-bottom:12px !important;}
  .publication-section .pub-summary{font-size:.78rem !important;line-height:1.65 !important;margin-bottom:14px !important;}
  .publication-section .pub-citation{margin-top:14px !important;padding-top:12px !important;font-size:.72rem !important;}
  .publication-section .pub-open{margin-top:10px !important;font-size:.68rem !important;}
  .pub-list-v5 .pub-item,.complete-pub-list .pub-item{padding:18px 0 !important;}
  .pub-list-v5 .pub-item h3,.complete-pub-list .pub-item h3{font-size:.95rem !important;line-height:1.5 !important;}
  .pub-list-v5 .pub-item p,.complete-pub-list .pub-item p{font-size:.76rem !important;line-height:1.65 !important;}
  .pub-filters{gap:6px !important;overflow-x:auto;padding-bottom:4px;flex-wrap:nowrap !important;-webkit-overflow-scrolling:touch;}
  .pub-filter{flex:0 0 auto;font-size:.62rem !important;padding:7px 9px !important;}

  .news-grid{grid-template-columns:1fr !important;gap:12px !important;}
  .news-card{min-height:0 !important;padding:22px !important;border-radius:20px !important;}
  .news-card h3{font-size:1.28rem !important;margin:30px 0 10px !important;}
  .news-card p{font-size:.8rem !important;line-height:1.65 !important;margin-bottom:18px !important;}

  .journey-track{margin-top:34px !important;}
  .journey-track::before{left:12px !important;top:7px !important;bottom:18px !important;}
  .journey-item{grid-template-columns:28px 1fr !important;padding-bottom:32px !important;}
  .journey-year{grid-column:2 !important;text-align:left !important;font-size:.66rem !important;margin-bottom:6px !important;}
  .journey-marker{grid-column:1 !important;grid-row:1/3 !important;}
  .journey-marker::before{left:6px !important;top:2px !important;width:9px !important;height:9px !important;}
  .journey-copy{grid-column:2 !important;padding-left:0 !important;}
  .journey-copy>span{font-size:.56rem !important;}
  .journey-copy h3{font-size:1.18rem !important;line-height:1.35 !important;margin:6px 0 7px !important;}
  .journey-copy p{font-size:.78rem !important;line-height:1.65 !important;}
  .journey-current .journey-copy{padding:18px !important;margin-top:0 !important;border-radius:16px !important;}

  .now-grid{grid-template-columns:1fr !important;gap:28px !important;}
  .now-projects,.now-recognition{gap:11px !important;}
  .project-card{padding:20px 42px 20px 18px !important;border-radius:18px !important;min-height:0 !important;}
  .project-card.project-primary{background:linear-gradient(145deg,#10233a,#091a2b) !important;}
  .project-symbol{width:36px !important;height:36px !important;margin:16px 0 12px !important;}
  .project-top{display:grid !important;gap:3px !important;font-size:.57rem !important;}
  .project-card h3{font-size:1.05rem !important;line-height:1.4 !important;margin:0 0 9px !important;}
  .project-card p{font-size:.76rem !important;line-height:1.62 !important;}
  .project-tags{gap:5px !important;margin-top:14px !important;}
  .project-tags span{font-size:.57rem !important;padding:5px 7px !important;}
  .project-arrow{right:14px !important;bottom:14px !important;width:30px !important;height:30px !important;}
  .milestone{padding:18px !important;border-radius:17px !important;}
  .milestone h3{font-size:1.05rem !important;}
  .milestone p{font-size:.75rem !important;line-height:1.6 !important;}

  .collab-grid{grid-template-columns:1fr !important;gap:12px !important;}
  .collab-card{min-height:0 !important;padding:23px !important;border-radius:20px !important;}
  .collab-card h3{font-size:1.5rem !important;margin:28px 0 12px !important;}
  .collab-card p{font-size:.8rem !important;line-height:1.68 !important;}
  .collab-tags,.collab-principles{margin:20px 0 !important;gap:6px !important;}
  .collab-tags i,.collab-principles b{font-size:.61rem !important;padding:6px 8px !important;}
  .collab-card>a{margin-top:18px !important;font-size:.72rem !important;}
  .collab-card small{font-size:.62rem !important;}

  .contact-section{padding:72px 0 !important;}
  .contact-grid{grid-template-columns:1fr !important;gap:26px !important;}
  .contact-grid h2{font-size:clamp(2.5rem,11vw,3.4rem) !important;}
  .contact-panel{padding-top:0 !important;}
  .contact-panel>p{font-size:.82rem !important;line-height:1.65 !important;}
  .email-link{font-size:.77rem !important;padding:15px 0 !important;gap:8px !important;}
  .profile-links{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px !important;}
  .profile-pill{min-width:0 !important;padding:10px !important;justify-content:flex-start !important;font-size:.66rem !important;}
  .social-icon-row{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:8px !important;}
  .social-icon-link{min-width:0 !important;padding:9px 8px !important;justify-content:center !important;}
  .social-icon-meta small{display:none !important;}

  .detail-hero{padding:100px 0 58px !important;}
  .detail-hero-grid,.detail-project-hero .detail-hero-grid{grid-template-columns:1fr !important;gap:30px !important;}
  .detail-back{margin-bottom:24px !important;}
  .detail-hero h1,.detail-project-hero h1{font-size:clamp(2.3rem,10.5vw,3.15rem) !important;line-height:1.05 !important;max-width:none !important;width:auto !important;word-break:normal !important;overflow-wrap:normal !important;text-wrap:balance !important;}
  .detail-hero h1 .keep-line,.detail-project-hero h1 .keep-line{display:inline !important;white-space:normal !important;}
  .detail-lead{font-size:.86rem !important;line-height:1.75 !important;}
  .detail-tags{margin-top:20px !important;gap:6px !important;}
  .detail-tags span{font-size:.59rem !important;padding:6px 8px !important;}
  .detail-visual,.detail-project-hero .detail-visual{min-height:0 !important;padding:0 !important;}
  .detail-system,.detail-project-hero .detail-system.project-hero-card{width:100% !important;height:auto !important;min-height:0 !important;padding:10px !important;border-radius:18px !important;}
  .detail-project-hero .project-hero-image,.theme-visual-image{width:100% !important;height:auto !important;max-height:none !important;object-fit:contain !important;border-radius:13px !important;}
  .detail-three{grid-template-columns:1fr !important;gap:10px !important;}
  .detail-three article{padding:20px !important;}
  .detail-story{grid-template-columns:1fr !important;gap:18px !important;padding:24px 0 !important;}
  .detail-story h2{font-size:2rem !important;}

  .footer-inner{gap:12px !important;}
}

@media (max-width:420px){
  .container{width:min(calc(100% - 26px),var(--container)) !important;}
  .brand-text{font-size:.76rem !important;}
  .hero-v1043 h1{font-size:clamp(2.45rem,12.2vw,3.1rem) !important;}
  .hero-v1043-card{min-height:176px !important;}
  .hero-v1043-card-text h3{font-size:.84rem !important;}
  #about .about-v1043-copy h2{font-size:clamp(2.42rem,11.8vw,3rem) !important;}
  .profile-links{grid-template-columns:1fr !important;}
}


/* =========================================================
   v10.63 — true smartphone composition
   PC/tablet above 760px remain unchanged.
   ========================================================= */
.mobile-concept-grid{display:none;}

@media (max-width:760px){
  /* Core spacing */
  .container{width:calc(100% - 28px) !important;}
  .section{padding:56px 0 !important;}
  .section-title-row{margin-bottom:22px !important;}

  /* HERO: compact copy + horizontal research tiles */
  .hero-v1043{padding:86px 0 44px !important;}
  .hero-v1043-grid{gap:30px !important;}
  .hero-v1043-copy{max-width:100% !important;}
  .hero-v1043 .kicker{font-size:.56rem !important;letter-spacing:.09em !important;margin-bottom:14px !important;}
  .hero-v1043 h1{font-size:clamp(2.45rem,11.4vw,3.2rem) !important;line-height:1.01 !important;}
  .hero-v1043 h1 span{display:block !important;}
  .hero-v1043-rule{margin-top:16px !important;}
  .hero-v1043 .lead{font-size:.82rem !important;line-height:1.72 !important;margin-top:16px !important;}
  .hero-v1043-actions{margin-top:18px !important;}
  .hero-v1043-pillars{margin-top:0 !important;}
  .hero-v1043-heading{justify-content:flex-start !important;margin:0 0 12px !important;}
  .hero-v1043-heading i{display:none !important;}
  .hero-v1043-heading strong{font-size:.9rem !important;font-weight:900 !important;letter-spacing:.08em !important;}
  .hero-v1043-cards{display:grid !important;grid-template-columns:1fr !important;gap:9px !important;}
  .hero-v1043-card{min-height:102px !important;height:102px !important;border-radius:14px !important;display:grid !important;grid-template-columns:106px 1fr !important;overflow:hidden !important;}
  .hero-v1043-card img{position:relative !important;grid-column:1 !important;width:106px !important;height:102px !important;inset:auto !important;object-fit:cover !important;opacity:.92 !important;}
  .hero-v1043-card::after{background:linear-gradient(90deg,rgba(7,20,34,.05) 0%,rgba(7,20,34,.88) 58%,rgba(7,20,34,.98) 100%) !important;}
  .hero-v1043-no{left:118px !important;top:12px !important;font-size:.68rem !important;z-index:3 !important;}
  .hero-v1043-icon{display:none !important;}
  .hero-v1043-card-text{left:118px !important;right:10px !important;bottom:11px !important;top:34px !important;z-index:3 !important;}
  .hero-v1043-card-text h3{font-size:.96rem !important;line-height:1.08 !important;margin:0 0 6px !important;}
  .hero-v1043-card-text p{font-size:.58rem !important;line-height:1.25 !important;}

  /* STATUS: compact swipeable strip */
  .status-strip{padding:12px 0 18px !important;overflow:hidden !important;}
  .status-grid{display:flex !important;gap:9px !important;overflow-x:auto !important;scroll-snap-type:x mandatory !important;padding-bottom:4px !important;}
  .status-item{flex:0 0 82% !important;scroll-snap-align:start !important;border-radius:14px !important;padding:15px !important;}

  /* CONCEPT: use a mobile-native 2x2 summary, hide the desktop graphic */
  #concept .concept-heading-v1048{margin-bottom:16px !important;}
  #concept .concept-single-headline{font-size:2.15rem !important;line-height:1.06 !important;letter-spacing:-.055em !important;}
  #concept .concept-media-full{display:none !important;}
  .mobile-concept-grid{display:grid !important;grid-template-columns:1fr 1fr !important;gap:9px !important;margin-top:20px !important;}
  .mobile-concept-card{position:relative;min-height:154px;padding:17px 14px 14px;border-radius:17px;background:#0c1d30;color:#fff;text-decoration:none;border:1px solid rgba(255,111,146,.24);box-shadow:0 12px 26px rgba(12,29,48,.10);}
  .mobile-concept-card:nth-child(2),.mobile-concept-card:nth-child(4){background:#10263d;}
  .mobile-concept-no{display:block;color:#ff6f92;font-size:.66rem;font-weight:900;letter-spacing:.1em;margin-bottom:24px;}
  .mobile-concept-card strong{display:block;font-size:.98rem;line-height:1.28;margin-bottom:9px;}
  .mobile-concept-card p{margin:0;color:#b7c5d4;font-size:.68rem;line-height:1.55;}

  /* ABOUT: title first, photo second, compact profile row */
  #about .about-v1043-grid{display:flex !important;flex-direction:column !important;gap:0 !important;}
  #about .about-v1043-grid>.section-number{order:1 !important;align-self:flex-start !important;}
  #about .about-v1043-copy{display:contents !important;}
  #about .about-v1043-copy h2{order:2 !important;font-size:2.55rem !important;line-height:1.02 !important;margin:0 0 16px !important;}
  #about .about-v1043-lead{order:3 !important;font-size:.82rem !important;line-height:1.7 !important;margin:0 0 20px !important;}
  #about .about-v1061-photo{order:4 !important;max-width:none !important;width:100% !important;margin:0 0 18px !important;border-radius:18px !important;aspect-ratio:3/4 !important;overflow:hidden !important;}
  #about .about-v1061-composite{width:100% !important;height:100% !important;object-fit:cover !important;object-position:center center !important;}
  #about .about-v1043-cards{order:5 !important;display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:7px !important;margin:0 0 12px !important;}
  #about .about-v1043-cards article{display:block !important;min-height:92px !important;padding:12px 9px !important;text-align:center !important;border-radius:13px !important;}
  #about .about-v1043-card-icon{width:31px !important;height:31px !important;margin:0 auto 7px !important;font-size:.8rem !important;}
  #about .about-v1043-cards small{display:block !important;font-size:.52rem !important;margin-bottom:5px !important;}
  #about .about-v1043-cards strong{display:block !important;font-size:.69rem !important;line-height:1.35 !important;}
  #about .about-v1043-belief{order:6 !important;margin:0 0 10px !important;padding:16px !important;grid-template-columns:36px 1fr !important;}
  #about .about-v1043-interview{order:7 !important;margin:0 !important;padding:16px !important;}

  /* RESEARCH: horizontal media-like rows instead of desktop cards */
  .research-grid{display:grid !important;grid-template-columns:1fr !important;gap:9px !important;}
  .research-card{position:relative !important;min-height:134px !important;padding:18px 16px 16px 74px !important;border-radius:16px !important;}
  .research-card .card-index{position:absolute !important;left:16px !important;top:17px !important;font-size:.72rem !important;}
  .research-card .card-icon{left:15px !important;right:auto !important;top:49px !important;width:42px !important;height:42px !important;}
  .research-card h3{font-size:1.22rem !important;line-height:1.12 !important;margin:0 0 8px !important;}
  .research-card p{font-size:.72rem !important;line-height:1.55 !important;margin:0 0 10px !important;}
  .research-card .tags{display:none !important;}
  .research-card .card-read{margin:0 !important;font-size:.62rem !important;}

  /* PUBLICATIONS: compact reading cards */
  .publication-section .pub-spotlight-grid{gap:10px !important;}
  .publication-section .pub-spotlight{padding:14px !important;border-radius:17px !important;}
  .pub-visual-v1044{height:176px !important;margin-bottom:13px !important;}
  .publication-section .pub-spotlight h3{font-size:.96rem !important;line-height:1.34 !important;}
  .publication-section .pub-summary{font-size:.72rem !important;}

  /* PROJECTS / COLLAB: keep one-column but visually denser */
  .project-card{padding:18px 42px 18px 16px !important;}
  .collab-card{padding:19px !important;}
}

/* =========================================================
   v10.64 — mobile viewport containment / readable headings
   ========================================================= */
@media (max-width:760px){
  html,body{max-width:100%;overflow-x:hidden!important;}
  .container{max-width:100%!important;min-width:0!important;}

  .status-strip .container{overflow:hidden!important;}
  .status-grid{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;}
  .status-item{min-width:0!important;box-sizing:border-box!important;}

  #concept .concept-heading-v1048{width:100%!important;max-width:100%!important;min-width:0!important;}
  #concept .concept-single-headline{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    font-size:clamp(1.86rem,9.2vw,2.18rem)!important;
    line-height:1.08!important;
    letter-spacing:-.045em!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
  }
  #concept .concept-single-headline .nowrap-ja{white-space:normal!important;display:inline!important;}

  #about .about-v1043-copy h2{
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(1.95rem,9.3vw,2.22rem)!important;
    line-height:1.05!important;
    letter-spacing:-.04em!important;
  }
  #about .about-v1043-copy h2 .keep-line{white-space:nowrap!important;display:inline-block!important;}

  .mobile-concept-grid,.mobile-concept-card,.research-grid,.research-card,
  .publication-section,.pub-spotlight-grid,.project-card,.collab-card{max-width:100%!important;min-width:0!important;box-sizing:border-box!important;}
}


/* v10.65 — final mobile collaboration CTA */
.collab-mobile-cta{display:none;}

@media (max-width:760px){
  #collaborate{padding:62px 0 70px !important;background:#fff !important;}
  #collaborate .section-title-row{margin-bottom:18px !important;}
  #collaborate .section-title-row h2{
    font-size:clamp(2rem,9.4vw,2.75rem) !important;
    line-height:1.08 !important;
    letter-spacing:-.045em !important;
    max-width:12ch !important;
    text-wrap:balance !important;
  }
  #collaborate .collab-grid{display:none !important;}
  .collab-mobile-cta{
    display:block;
    position:relative;
    overflow:hidden;
    padding:25px 22px 22px;
    border-radius:23px;
    color:#fff;
    background:
      radial-gradient(circle at 82% 72%,rgba(255,70,111,.18),transparent 34%),
      linear-gradient(145deg,#10243a 0%,#071726 100%);
    box-shadow:0 18px 42px rgba(9,28,46,.16);
  }
  .collab-mobile-cta::after{
    content:"";
    position:absolute;
    width:230px;height:110px;right:-36px;bottom:-34px;
    border-radius:50%;
    background:repeating-radial-gradient(ellipse at center,rgba(255,78,115,.18) 0 1px,transparent 1px 8px);
    opacity:.85;
    transform:rotate(-8deg);
    pointer-events:none;
  }
  .collab-mobile-cta>p{
    position:relative;z-index:2;
    margin:0 0 20px;
    max-width:31em;
    color:rgba(235,242,249,.78);
    font-size:.82rem;
    line-height:1.72;
  }
  .collab-mobile-actions{
    position:relative;z-index:2;
    display:grid;
    gap:10px;
  }
  .collab-mobile-actions a{
    min-height:50px;
    padding:0 16px;
    border-radius:999px;
    display:grid;
    grid-template-columns:22px 1fr auto;
    align-items:center;
    gap:8px;
    font-size:.82rem;
    font-weight:800;
    text-decoration:none;
  }
  .collab-mobile-actions b{font-size:1rem;font-weight:600;}
  .collab-mobile-primary{
    background:linear-gradient(135deg,#f14969,#df3158);
    color:#fff;
    box-shadow:0 12px 25px rgba(223,49,88,.25);
  }
  .collab-mobile-secondary{
    color:#f3f7fb;
    border:1px solid rgba(255,255,255,.24);
    background:rgba(255,255,255,.035);
  }
}


/* =========================================================
   v10.66 — mobile visibility fix + compact publication record
   ========================================================= */
.pub-mobile-toggle{display:none;}

@media (max-width:760px){
  /* iOS / in-app WebView: never leave scroll-reveal elements transparent. */
  .reveal,
  .reveal.visible{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }

  /* Publications: avoid an excessively long mobile page. */
  #publications{padding-bottom:64px !important;}
  #publications .pub-browser{overflow:visible !important;}
  #publications .pub-browser-head{padding:18px 15px 15px !important;gap:12px !important;}
  #publications .pub-browser-head h3{font-size:1.05rem !important;line-height:1.35 !important;}
  #publications .pub-browser-kicker{font-size:.52rem !important;line-height:1.35 !important;}
  #publications .publication-counts{grid-template-columns:repeat(3,1fr) !important;gap:6px !important;margin:10px 12px 6px !important;}
  #publications .publication-counts>div{padding:9px 5px !important;border-radius:11px !important;gap:5px !important;display:flex !important;flex-direction:column !important;align-items:center !important;text-align:center !important;}
  #publications .publication-counts strong{min-width:0 !important;width:32px !important;height:32px !important;border-radius:9px !important;font-size:.9rem !important;}
  #publications .publication-counts span{font-size:.55rem !important;line-height:1.2 !important;}

  #publications .complete-pub-list .pub-item{
    padding:15px 14px !important;
    grid-template-columns:44px 1fr 18px !important;
    gap:9px !important;
  }
  #publications .complete-pub-list .pub-item h3{font-size:.84rem !important;line-height:1.42 !important;margin-bottom:5px !important;}
  #publications .complete-pub-list .pub-item p{font-size:.68rem !important;line-height:1.5 !important;}
  #publications .complete-pub-list .pub-year{font-size:.61rem !important;}
  #publications .complete-pub-list .pub-chip{font-size:.49rem !important;line-height:1.25 !important;letter-spacing:.06em !important;}
  #publications .complete-pub-list .pub-arrow{font-size:.85rem !important;}

  #publications .complete-pub-list:not(.mobile-expanded) .pub-item:nth-child(n+6){
    display:none !important;
  }
  #publications .pub-mobile-toggle{
    display:flex;
    width:calc(100% - 28px);
    margin:14px auto 6px;
    min-height:44px;
    align-items:center;
    justify-content:center;
    border:1px solid #d6dee7;
    border-radius:999px;
    background:#fff;
    color:#132840;
    font:inherit;
    font-size:.72rem;
    font-weight:800;
    cursor:pointer;
  }
  #publications .pub-mobile-toggle::after{
    content:"＋";
    margin-left:8px;
    color:#e83f62;
    font-size:1rem;
  }
  #publications .pub-mobile-toggle[aria-expanded="true"]::after{content:"−";}
  #publications .pub-all-links{padding:13px 14px !important;gap:8px !important;}
  #publications .pub-all-links span{font-size:.6rem !important;}
  #publications .pub-all-links a{font-size:.65rem !important;}

  /* Reduce vertical dead space between major mobile sections. */
  .publication-section + .news-section{margin-top:0 !important;}
  .news-section{padding-top:58px !important;}
}


/* =========================================================
   v10.67 — mobile 2x2 pillars, wide publication rows, journey containment
   ========================================================= */
.journey-mobile-break{display:none;}

@media (max-width:760px){
  /* 01. Hero pillars: two cards per row. Use the full card as media so there is no empty right half. */
  .hero-v1043-cards{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px !important;
    width:100% !important;
  }
  .hero-v1043-card{
    display:block !important;
    position:relative !important;
    height:184px !important;
    min-height:184px !important;
    width:100% !important;
    border-radius:16px !important;
    overflow:hidden !important;
  }
  .hero-v1043-card img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center !important;
    opacity:.94 !important;
  }
  .hero-v1043-card::after{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    background:linear-gradient(180deg,rgba(5,16,29,.03) 12%,rgba(5,17,31,.20) 44%,rgba(6,18,32,.94) 78%,rgba(6,18,32,.99) 100%) !important;
    z-index:1 !important;
  }
  .hero-v1043-no{
    left:12px !important;
    top:11px !important;
    z-index:3 !important;
    font-size:.72rem !important;
    text-shadow:0 1px 8px rgba(0,0,0,.28) !important;
  }
  .hero-v1043-icon{display:none !important;}
  .hero-v1043-card-text{
    position:absolute !important;
    left:12px !important;
    right:10px !important;
    top:auto !important;
    bottom:12px !important;
    z-index:3 !important;
  }
  .hero-v1043-card-text h3{
    margin:0 0 5px !important;
    font-size:.88rem !important;
    line-height:1.08 !important;
    letter-spacing:-.02em !important;
  }
  .hero-v1043-card-text p{
    margin:0 !important;
    font-size:.55rem !important;
    line-height:1.28 !important;
    color:rgba(238,244,250,.78) !important;
  }

  /* 04. Complete publication list: full-width low-profile rows. */
  #publications .complete-pub-list{
    padding:7px 10px 2px !important;
    border-top:1px solid #edf0f3 !important;
  }
  #publications .complete-pub-list .pub-item{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 20px !important;
    grid-template-rows:auto auto !important;
    column-gap:8px !important;
    row-gap:5px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    margin:7px 0 !important;
    padding:13px 13px 12px !important;
    border:1px solid #e3e9ef !important;
    border-radius:13px !important;
    background:#fff !important;
  }
  #publications .complete-pub-list .pub-item:hover{padding-left:13px !important;}
  #publications .complete-pub-list .pub-year{
    grid-column:1 !important;
    grid-row:1 !important;
    width:auto !important;
    min-width:0 !important;
    margin:0 !important;
    font-size:.64rem !important;
    line-height:1.2 !important;
    letter-spacing:.08em !important;
  }
  #publications .complete-pub-list .pub-item>div:nth-child(2){
    grid-column:1 !important;
    grid-row:2 !important;
    min-width:0 !important;
    width:100% !important;
  }
  #publications .complete-pub-list .pub-chip{
    display:block !important;
    width:100% !important;
    margin:0 0 5px !important;
    font-size:.49rem !important;
    line-height:1.25 !important;
    letter-spacing:.055em !important;
    white-space:normal !important;
  }
  #publications .complete-pub-list .pub-chip em{
    display:inline !important;
    margin-left:5px !important;
    font-size:.47rem !important;
  }
  #publications .complete-pub-list .pub-item h3{
    display:block !important;
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 0 5px !important;
    font-size:.82rem !important;
    line-height:1.38 !important;
    letter-spacing:-.015em !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    hyphens:auto !important;
  }
  #publications .complete-pub-list .pub-item p{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    font-size:.65rem !important;
    line-height:1.45 !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
  }
  #publications .complete-pub-list .pub-arrow{
    grid-column:2 !important;
    grid-row:1 / 3 !important;
    align-self:center !important;
    justify-self:center !important;
    width:20px !important;
    font-size:.82rem !important;
  }

  /* 06. Research Journey: controlled two-line heading and tighter timeline. */
  #journey .section-title-row,
  #journey .section-title-row>div{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  #journey .section-title-row h2{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    font-size:clamp(1.82rem,8.8vw,2.15rem) !important;
    line-height:1.09 !important;
    letter-spacing:-.045em !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    line-break:auto !important;
    text-wrap:balance !important;
  }
  #journey .journey-mobile-break{display:block !important;}
  #journey .journey-track{margin-top:25px !important;}
  #journey .journey-item{padding-bottom:27px !important;}
  #journey .journey-copy h3{
    font-size:1.05rem !important;
    line-height:1.32 !important;
    margin:5px 0 6px !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
  }
  #journey .journey-copy p{
    font-size:.74rem !important;
    line-height:1.58 !important;
  }
}

@media (max-width:390px){
  .hero-v1043-card{height:176px !important;min-height:176px !important;}
  .hero-v1043-card-text h3{font-size:.83rem !important;}
  #journey .section-title-row h2{font-size:1.82rem !important;}
}


/* =========================================================
   v10.68 — mobile status strip: two compact, fully clickable cards
   ========================================================= */
@media (max-width:760px){
  .status-strip{
    padding:10px 0 14px !important;
    overflow:visible !important;
  }
  .status-strip .container{
    overflow:visible !important;
  }
  .status-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    overflow:visible !important;
    padding:0 !important;
    scroll-snap-type:none !important;
  }
  .status-grid .status-item{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    min-height:92px !important;
    padding:12px 11px !important;
    border:1px solid var(--line) !important;
    border-radius:13px !important;
    box-sizing:border-box !important;
    background:#fff !important;
    text-decoration:none !important;
  }
  .status-grid .status-feature{
    background:linear-gradient(135deg,rgba(214,46,82,.075),rgba(255,255,255,.98)) !important;
  }
  .status-grid .status-award{
    background:linear-gradient(135deg,rgba(255,111,146,.055),rgba(255,255,255,.98)) !important;
  }
  .status-grid .status-item:nth-child(3){
    display:none !important;
  }
  .status-grid .status-label{
    font-size:.49rem !important;
    line-height:1.25 !important;
    letter-spacing:.08em !important;
    margin-bottom:7px !important;
  }
  .status-grid .status-item strong{
    display:block !important;
    font-size:.78rem !important;
    line-height:1.25 !important;
    color:var(--ink) !important;
  }
  .status-grid .status-item p{
    margin:5px 0 0 !important;
    font-size:.61rem !important;
    line-height:1.4 !important;
    color:var(--muted) !important;
  }
}

/* =========================================================
   v10.71 — compact mobile profile links in Contact
   2 columns + full-width Ibaraki University row.
   ========================================================= */
@media (max-width:760px){
  #contact .profile-links{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    margin-top:18px !important;
  }
  #contact .profile-pill{
    width:100% !important;
    min-width:0 !important;
    min-height:48px !important;
    padding:7px 9px !important;
    gap:7px !important;
    box-sizing:border-box !important;
    justify-content:flex-start !important;
    font-size:.64rem !important;
    line-height:1.2 !important;
  }
  #contact .profile-pill:last-child{
    grid-column:1 / -1 !important;
  }
  #contact .profile-pill-icon{
    width:24px !important;
    height:24px !important;
    flex:0 0 24px !important;
  }
  #contact .profile-pill-icon svg{
    width:14px !important;
    height:14px !important;
  }
  #contact .profile-pill > span:last-child{
    min-width:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
}
