:root{--bg:#0a0a0c;--bg-2:#111114;--ink:#f4ede0;--ink-soft:#bdb6a8;--gold:#c9a961;--gold-bright:#e8c878;--gold-deep:#8a7340;--line:#c9a96140}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Noto Serif JP,Cormorant Garamond,serif;font-weight:300;line-height:1.8;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}body:before{content:"";pointer-events:none;z-index:0;background-image:radial-gradient(at 20% 10%,#c9a96112,#0000 50%),radial-gradient(at 80% 90%,#c9a9610d,#0000 60%);position:fixed;inset:0}body:after{content:"";pointer-events:none;opacity:.5;z-index:1;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.79 0 0 0 0 0.66 0 0 0 0 0.38 0 0 0 0.06 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:fixed;inset:0}nav.site-nav{z-index:50;-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--line);background:#0a0a0c99;justify-content:space-between;align-items:center;padding:24px 48px;display:flex;position:fixed;top:0;left:0;right:0}.brand{letter-spacing:.3em;color:var(--gold);font-family:Cormorant Garamond,serif;font-size:22px;font-weight:500}.brand span{color:var(--ink);letter-spacing:.4em;margin-left:14px;font-size:14px;font-weight:300}.menu{letter-spacing:.25em;text-transform:uppercase;gap:36px;font-family:Inter,sans-serif;font-size:12px;display:flex}.menu a{color:var(--ink-soft);padding:6px 0;transition:color .3s;position:relative}.menu a:after{content:"";background:var(--gold);width:0;height:1px;transition:all .3s;position:absolute;bottom:0;left:50%}.menu a:hover{color:var(--gold)}.menu a:hover:after{width:100%;left:0}.hamburger{border:1px solid var(--line);cursor:pointer;background:0 0;width:44px;height:44px;padding:0;display:none;position:relative}.hamburger span,.hamburger span:before,.hamburger span:after{content:"";background:var(--gold);width:22px;height:1px;transition:all .3s;position:absolute;left:50%;transform:translate(-50%)}.hamburger span{top:50%;transform:translate(-50%,-50%)}.hamburger span:before{top:-7px}.hamburger span:after{top:7px}.hamburger.open span{background:0 0}.hamburger.open span:before{top:0;transform:translate(-50%)rotate(45deg)}.hamburger.open span:after{top:0;transform:translate(-50%)rotate(-45deg)}@media (max-width:768px){nav.site-nav{padding:18px 24px}.menu{-webkit-backdrop-filter:blur(24px);letter-spacing:.3em;z-index:40;background:#0a0a0cf7;flex-direction:column;justify-content:center;align-items:center;gap:28px;font-size:16px;transition:transform .4s cubic-bezier(.2,.8,.2,1);position:fixed;inset:0;transform:translate(100%)}.menu.open{transform:translate(0)}.hamburger{z-index:60;display:block}}.hero{z-index:2;grid-template-columns:1.2fr 1fr;align-items:center;min-height:100vh;padding:140px 80px 80px;display:grid;position:relative}.hero-text{z-index:3;position:relative}.hero-tag{letter-spacing:.5em;text-transform:uppercase;color:var(--gold);margin-bottom:32px;padding-left:50px;font-family:Inter,sans-serif;font-size:11px;display:inline-block;position:relative}.hero-tag:before{content:"";background:var(--gold);width:36px;height:1px;position:absolute;top:50%;left:0}.hero-title{letter-spacing:.04em;margin-bottom:24px;font-family:Noto Serif JP,serif;font-size:clamp(48px,7vw,92px);font-weight:300;line-height:1.1}.hero-title .gold{color:var(--gold-bright);font-weight:500}.hero-romaji{color:var(--ink-soft);letter-spacing:.15em;margin-bottom:48px;font-family:Cormorant Garamond,serif;font-size:clamp(20px,2.4vw,32px);font-style:italic;font-weight:300}.hero-lead{color:var(--ink-soft);max-width:520px;margin-bottom:48px;font-size:17px;font-weight:300;line-height:2}.hero-lead strong{color:var(--ink);font-weight:500}.cta{letter-spacing:.3em;text-transform:uppercase;border:1px solid var(--gold);color:var(--gold);align-items:center;gap:18px;padding:18px 38px;font-family:Inter,sans-serif;font-size:13px;transition:all .4s cubic-bezier(.2,.8,.2,1);display:inline-flex;position:relative;overflow:hidden}.cta:before{content:"";background:var(--gold);transition:transform .5s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;transform:translate(-101%)}.cta span{z-index:2;transition:color .4s;position:relative}.cta:hover:before{transform:translate(0)}.cta:hover span{color:var(--bg)}.line-cta{color:#06c755;border-color:#06c755}.line-cta:before{background:#06c755}.line-cta:hover .line-icon{color:var(--bg)}.line-icon{z-index:2;color:#06c755;width:22px;height:22px;transition:color .4s;position:relative}.float-line{z-index:100;color:#fff;background:#06c755;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:all .4s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;bottom:32px;right:32px;box-shadow:0 12px 40px #06c75573}.float-line:hover{transform:translateY(-4px)scale(1.08);box-shadow:0 16px 50px #06c75599}.float-line svg{width:32px;height:32px}@media (max-width:640px){.float-line{width:56px;height:56px;bottom:20px;right:20px}.float-line svg{width:28px;height:28px}}.hero-portrait{justify-self:center;position:relative}.portrait-frame{aspect-ratio:1;width:min(460px,90%);position:relative}.portrait-frame:before{content:"";border:1px solid var(--gold);transition:transform .8s cubic-bezier(.2,.8,.2,1);position:absolute;inset:-24px;transform:rotate(-3deg)}.portrait-frame:hover:before{transform:rotate(-1deg)scale(1.02)}.portrait-frame:after{content:"";pointer-events:none;z-index:2;background:linear-gradient(135deg,#0000 60%,#c9a96126);position:absolute;inset:0}.portrait-img{object-fit:cover;filter:contrast(1.05)saturate(.95);z-index:1;width:100%;height:100%;position:relative}.age-badge{background:var(--gold);width:130px;height:130px;color:var(--bg);z-index:5;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;font-family:Cormorant Garamond,serif;animation:4s ease-in-out infinite float;display:flex;position:absolute;bottom:-30px;right:-30px;box-shadow:0 20px 40px #00000080}.age-badge .num{font-size:54px;font-weight:600;line-height:1}.age-badge .label{letter-spacing:.3em;text-transform:uppercase;margin-top:4px;font-family:Inter,sans-serif;font-size:10px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@media (max-width:980px){.hero{text-align:center;grid-template-columns:1fr;gap:60px;padding:120px 32px 60px}.hero-tag{padding-left:0}.hero-tag:before{display:none}.hero-lead{margin-left:auto;margin-right:auto}}section{z-index:2;padding:140px 80px;scroll-margin-top:80px;position:relative}@media (max-width:768px){section{padding:80px 24px}}.eyebrow{letter-spacing:.5em;text-transform:uppercase;color:var(--gold);align-items:center;gap:18px;margin-bottom:24px;font-family:Inter,sans-serif;font-size:11px;display:flex}.eyebrow:before{content:"";background:var(--gold);width:40px;height:1px}.section-title{letter-spacing:.05em;margin-bottom:60px;font-family:Noto Serif JP,serif;font-size:clamp(34px,4.5vw,56px);font-weight:300;line-height:1.3}.section-title .gold{color:var(--gold-bright);font-weight:500}.about{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(#0000,#c9a96108)}.about-grid{grid-template-columns:1fr 1.3fr;align-items:start;gap:80px;max-width:1280px;margin:0 auto;display:grid}.about-quote{color:var(--gold-bright);font-family:Cormorant Garamond,serif;font-size:clamp(28px,3vw,42px);font-style:italic;font-weight:400;line-height:1.5;position:sticky;top:140px}.about-quote:before{content:"❝";color:var(--gold);opacity:.6;margin-bottom:30px;font-size:80px;line-height:.5;display:block}.about-text{color:var(--ink-soft);font-size:17px;line-height:2.1}.about-text p{margin-bottom:24px}.about-text p strong{color:var(--ink);font-weight:500}.about-text .highlight{color:var(--gold-bright);border-left:2px solid var(--gold);background:#c9a9611f;margin:8px 0;padding:2px 10px;display:inline-block}@media (max-width:980px){.about-grid{grid-template-columns:1fr;gap:48px}.about-quote{position:static}}.dream{background:radial-gradient(ellipse at center, #c9a96114, transparent 70%), var(--bg-2);text-align:center}.dream .eyebrow{justify-content:center}.dream .eyebrow:after{content:"";background:var(--gold);width:40px;height:1px}.dream-text{letter-spacing:.05em;max-width:900px;margin:0 auto;font-family:Noto Serif JP,serif;font-size:clamp(22px,2.6vw,34px);font-weight:300;line-height:2}.dream-text .gold{color:var(--gold-bright);font-weight:500}.dream-text .big{color:var(--gold-bright);margin:30px 0;font-size:clamp(28px,3.4vw,46px);font-weight:500;display:block}.rainbow{background:linear-gradient(90deg,#e8c878,#e8a878,#e878a8,#a878e8,#78a8e8,#78e8c8,#c8e878,#e8c878) 0 0/200% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;font-weight:600;animation:6s linear infinite shimmer;display:inline-block}@keyframes shimmer{0%{background-position:0 0}to{background-position:200% 0}}.timeline-wrap{max-width:1100px;margin:0 auto}.timeline{padding:40px 0;position:relative}.timeline:before{content:"";background:linear-gradient(180deg, transparent, var(--gold), transparent);width:1px;position:absolute;top:0;bottom:0;left:50%}.tl-item{width:50%;padding:30px 60px;position:relative}.tl-item:nth-child(odd){text-align:right;padding-right:80px;left:0}.tl-item:nth-child(2n){text-align:left;padding-left:80px;left:50%}.tl-item:before{content:"";background:var(--bg);border:2px solid var(--gold);z-index:2;border-radius:50%;width:14px;height:14px;transition:all .3s;position:absolute;top:42px}.tl-item:nth-child(odd):before{right:-7px}.tl-item:nth-child(2n):before{left:-7px}.tl-item:hover:before{background:var(--gold);box-shadow:0 0 20px var(--gold)}.tl-year{color:var(--gold);letter-spacing:.05em;margin-bottom:8px;font-family:Cormorant Garamond,serif;font-size:38px;font-weight:600}.tl-title{color:var(--ink);font-family:Noto Serif JP,serif;font-size:18px;font-weight:500;line-height:1.6}.tl-sub{color:var(--ink-soft);margin-top:6px;font-size:14px;line-height:1.7}@media (max-width:768px){.timeline:before{left:20px}.tl-item{width:100%;text-align:left!important;padding:24px 24px 24px 56px!important;left:0!important}.tl-item:before{top:36px;left:13px!important;right:auto!important}.tl-year{font-size:28px}}.vision{background:linear-gradient(180deg, var(--bg), var(--bg-2));border-top:1px solid var(--line)}.vm-grid{grid-template-columns:1fr 1fr;gap:40px;max-width:1200px;margin:0 auto;display:grid}.vm-card{border:1px solid var(--line);background:#ffffff04;padding:60px 50px;transition:all .5s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden}.vm-card:before{content:"";background:linear-gradient(90deg, var(--gold), transparent);width:100%;height:2px;transition:transform .8s cubic-bezier(.2,.8,.2,1);position:absolute;top:0;left:0;transform:translate(-100%)}.vm-card:hover{border-color:var(--gold);background:#c9a9610a;transform:translateY(-6px)}.vm-card:hover:before{transform:translate(0)}.vm-label{letter-spacing:.5em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;font-family:Cormorant Garamond,serif;font-size:14px}.vm-headline{color:var(--ink);margin-bottom:24px;font-family:Noto Serif JP,serif;font-size:30px;font-weight:500;line-height:1.4}.vm-body{color:var(--ink-soft);font-size:15px;line-height:2}@media (max-width:768px){.vm-grid{grid-template-columns:1fr}.vm-card{padding:40px 28px}}.nutrigenomics{background:radial-gradient(ellipse at top right, #78b46414, transparent 50%), radial-gradient(ellipse at bottom left, #c9a9610d, transparent 50%), linear-gradient(180deg, var(--bg-2), var(--bg));border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.ng-grid{grid-template-columns:1fr 1fr;align-items:center;gap:80px;max-width:1300px;margin:0 auto;display:grid}.ng-image-wrap{justify-self:center;position:relative}.ng-image-frame{border:1px solid var(--gold);background:linear-gradient(#ffffff05,#0000);width:min(480px,100%);padding:18px;transition:transform .8s cubic-bezier(.2,.8,.2,1);position:relative}.ng-image-frame:before{content:"";border:1px solid var(--line);pointer-events:none;transition:inset .6s cubic-bezier(.2,.8,.2,1);position:absolute;inset:-12px}.ng-image-frame:hover{transform:translateY(-6px)}.ng-image-frame:hover:before{inset:-20px}.ng-image-frame img{filter:contrast(1.02);width:100%;display:block}.ng-stamp{background:var(--gold);color:var(--bg);letter-spacing:.4em;text-transform:uppercase;z-index:5;padding:10px 18px;font-family:Inter,sans-serif;font-size:10px;font-weight:600;position:absolute;top:-24px;left:-24px;box-shadow:0 10px 30px #0006}.ng-text{position:relative}.ng-headline{letter-spacing:.04em;color:var(--ink);margin-bottom:32px;font-family:Noto Serif JP,serif;font-size:clamp(28px,3.4vw,44px);font-weight:300;line-height:1.5}.ng-headline .gold{color:var(--gold-bright);font-weight:500}.ng-body{color:var(--ink-soft);margin-bottom:36px;font-size:16px;line-height:2.1}.ng-body p{margin-bottom:18px}.ng-genes{border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);gap:16px;margin-top:36px;padding-top:36px;display:grid}.ng-gene{text-align:center;border:1px solid var(--line);cursor:default;background:#c9a9610a;padding:18px 8px;transition:all .4s cubic-bezier(.2,.8,.2,1)}.ng-gene:hover{border-color:var(--gold);background:#c9a9611f;transform:translateY(-4px)}.ng-gene-name{color:#d4615a;letter-spacing:.05em;margin-bottom:6px;font-family:Cormorant Garamond,serif;font-size:22px;font-weight:700}.ng-gene-label{color:var(--ink-soft);letter-spacing:.05em;font-family:Noto Serif JP,serif;font-size:11px;line-height:1.4}.ng-tagline{border-left:3px solid var(--gold);color:var(--ink);letter-spacing:.05em;background:#c9a9610f;margin-top:36px;padding:20px 24px;font-family:Noto Serif JP,serif;font-size:15px;line-height:1.8}.ng-tagline strong{color:var(--gold-bright);font-weight:500}@media (max-width:980px){.ng-grid{grid-template-columns:1fr;gap:60px}.ng-genes{grid-template-columns:repeat(2,1fr)}}.affiliations{background:var(--bg-2);border-top:1px solid var(--line)}.aff-list{background:var(--line);border:1px solid var(--line);gap:1px;max-width:900px;margin:0 auto;display:grid}.aff-item{background:var(--bg-2);justify-content:space-between;align-items:center;padding:32px 40px;font-family:Noto Serif JP,serif;transition:background .3s;display:flex}.aff-item:hover{background:#c9a9610d}a.aff-item{cursor:pointer;display:flex}.aff-name{color:var(--ink);font-size:17px;font-weight:500}.aff-role{color:var(--gold);letter-spacing:.1em;font-family:Inter,sans-serif;font-size:13px}@media (max-width:640px){.aff-item{flex-direction:column;align-items:flex-start;gap:6px;padding:22px 24px}}.footer-cta{text-align:center;background:radial-gradient(ellipse at center bottom, #c9a9611f, transparent 70%), var(--bg);border-top:1px solid var(--line);padding:160px 32px}.footer-cta h2{letter-spacing:.05em;margin-bottom:24px;font-family:Noto Serif JP,serif;font-size:clamp(32px,4vw,52px);font-weight:300}.footer-cta h2 .gold{color:var(--gold-bright);font-weight:500}.footer-cta p{color:var(--ink-soft);margin-bottom:48px;font-size:16px;line-height:2}footer.site-footer{border-top:1px solid var(--line);color:var(--ink-soft);letter-spacing:.15em;justify-content:space-between;align-items:center;padding:50px 48px;font-family:Inter,sans-serif;font-size:12px;display:flex}footer.site-footer .brand-mini{color:var(--gold)}@media (max-width:640px){footer.site-footer{text-align:center;flex-direction:column;gap:14px;padding:30px 24px}}.v-text{writing-mode:vertical-rl;letter-spacing:.4em;color:var(--gold);opacity:.3;text-transform:uppercase;font-family:Cormorant Garamond,serif;font-size:13px;position:absolute}.v-left{top:50%;left:32px;transform:translateY(-50%)}@media (max-width:980px){.v-text{display:none}}.reveal{opacity:0;transition:all 1s cubic-bezier(.2,.8,.2,1);transform:translateY(30px)}.reveal.visible{opacity:1;transform:none}.tl-item{opacity:0;transition:all .8s cubic-bezier(.2,.8,.2,1);transform:translateY(40px)}.tl-item.visible{opacity:1;transform:none}
