:root{--ink:#171411;--muted:#77716d;--paper:#fffdfb;--warm:#fff7f1;--line:rgba(32,24,20,.13);--red:#f15a45;--orange:#f49a43;--gold:#f5cb68;--font:'DM Sans','Noto Sans JP',sans-serif;--jp:'Noto Sans JP',sans-serif;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-weight:400;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{max-width:100%;display:block}.site-header{height:86px;padding:0 5.6%;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:20;top:0;left:0;width:100%;border-bottom:1px solid rgba(40,30,20,.08)}.brand{display:flex;align-items:center;min-width:100px}.brand-logo{width:88px;max-height:40px;object-fit:contain}.brand-fallback{font-size:25px;font-weight:700;letter-spacing:-1.5px;display:none}.brand-dot,.footer-brand span{color:var(--red)}.global-nav{display:flex;align-items:center;gap:clamp(22px,3vw,48px);font-size:10px;letter-spacing:1.7px;font-weight:600}.global-nav a{transition:opacity .25s}.global-nav a:hover{opacity:.55}.nav-contact{border:1px solid var(--line);padding:13px 17px;border-radius:2px}.nav-contact span{margin-left:16px;color:var(--red)}.menu-toggle{display:none}.hero{position:relative;min-height:760px;height:100svh;max-height:1100px;overflow:hidden;display:flex;align-items:center;padding:130px 11% 120px;background:radial-gradient(ellipse at 75% 46%,#fff0df 0,rgba(255,248,241,.72) 27%,rgba(255,253,251,0) 58%),linear-gradient(120deg,#fffdfb 10%,#fffaf5 65%,#fff4e9)}.hero-content{position:relative;z-index:3;max-width:720px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.6px;margin:0 0 25px;color:#6e625b}.eyebrow-line{display:inline-block;width:31px;height:1px;background:linear-gradient(90deg,var(--red),var(--gold));vertical-align:middle;margin-right:12px}.hero h1{font-family:var(--jp);font-weight:500;letter-spacing:.055em;line-height:1.55;font-size:clamp(36px,5.3vw,70px);margin:0 0 25px}.hero-subtitle{font-family:var(--jp);font-size:clamp(14px,1.4vw,17px);line-height:2.1;letter-spacing:.08em;color:#655b55;margin:0}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:42px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-width:205px;padding:18px 21px;font-size:10px;font-weight:600;letter-spacing:1.4px;border:0;cursor:pointer;transition:transform .3s,box-shadow .3s}.button:hover{transform:translateY(-3px);box-shadow:0 12px 30px #1a120e1a}.button span{font-size:16px;font-weight:400}.button-dark{background:#1b1917;color:white}.text-link{font-size:11px;letter-spacing:.5px;padding-bottom:8px;border-bottom:1px solid #bdb4ad}.text-link span{margin-left:14px}.hero-glow{position:absolute;pointer-events:none;border-radius:50%;filter:blur(1px)}.hero-glow-one{width:440px;height:440px;right:14%;top:19%;background:radial-gradient(circle,rgba(255,190,122,.35),rgba(255,190,122,0) 68%)}.hero-glow-two{width:270px;height:270px;right:22%;top:34%;background:radial-gradient(circle,rgba(242,97,66,.15),rgba(242,97,66,0) 70%)}.hero-flower{position:absolute;width:min(50vw,650px);aspect-ratio:1;right:5%;top:50%;transform:translateY(-48%);opacity:.92;filter:drop-shadow(0 20px 65px rgba(234,120,65,.12));animation:float 9s ease-in-out infinite}.petal{position:absolute;left:50%;top:50%;width:31%;height:48%;border-radius:54% 54% 46% 46%;transform-origin:50% 95%;background:linear-gradient(160deg,rgba(255,224,146,.75),rgba(255,143,91,.52) 48%,rgba(231,64,64,.43));mix-blend-mode:multiply;border:1px solid rgba(255,255,255,.5);backdrop-filter:blur(2px)}.petal-1{transform:translate(-50%,-95%) rotate(0deg)}.petal-2{transform:translate(-50%,-95%) rotate(60deg)}.petal-3{transform:translate(-50%,-95%) rotate(120deg)}.petal-4{transform:translate(-50%,-95%) rotate(180deg)}.petal-5{transform:translate(-50%,-95%) rotate(240deg)}.petal-6{transform:translate(-50%,-95%) rotate(300deg)}.flower-core{position:absolute;left:50%;top:50%;width:13%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6c7,#f8b24e 45%,#f16b48 85%);box-shadow:0 0 55px #ffbe6b80}.hero-orbital{position:absolute;border:1px solid rgba(231,132,86,.18);border-radius:50%;width:min(53vw,700px);aspect-ratio:1;right:2%;top:50%;transform:translateY(-50%)}.orbital-two{width:min(44vw,580px);right:6.5%;border-style:dashed;border-color:rgba(231,132,86,.15)}.hero-bottom{position:absolute;left:5.6%;right:5.6%;bottom:32px;display:flex;justify-content:space-between;color:#8b8179;font-size:8px;letter-spacing:1.7px}.hero-bottom a{color:#4d4641}.hero-bottom a span{margin-left:13px}.hero-index{position:absolute;right:5.6%;top:50%;font-size:9px;letter-spacing:1.5px;color:#8c8179;writing-mode:vertical-rl}.mobile-only{display:none}.section{position:relative}.section-pad{padding:125px 11%}.section-kicker{display:flex;gap:18px;align-items:center;font-size:9px;letter-spacing:2px;color:#857a73;margin-bottom:70px}.section-kicker span:first-child{color:var(--red)}.concept{background:#fff}.concept-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:12%}.concept-art{position:relative;min-height:450px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 50%,#fff0df,rgba(255,248,241,.3) 48%,transparent 70%)}.art-ring{position:absolute;width:78%;aspect-ratio:1;border:1px solid rgba(230,142,93,.18);border-radius:50%}.ring-b{width:62%;border-style:dashed;animation:rotate 60s linear infinite}.mini-flower{position:relative;width:180px;height:180px;filter:drop-shadow(0 15px 25px #ee9d6540)}.mini-flower i{position:absolute;width:58px;height:100px;left:61px;top:0;border-radius:50%;transform-origin:50% 90%;background:linear-gradient(155deg,#ffdf8e,#f38b65 58%,#e95a50);opacity:.88}.mini-flower i:nth-child(2){transform:rotate(60deg)}.mini-flower i:nth-child(3){transform:rotate(120deg)}.mini-flower i:nth-child(4){transform:rotate(180deg)}.mini-flower i:nth-child(5){transform:rotate(240deg)}.mini-flower i:nth-child(6){transform:rotate(300deg)}.mini-flower b{position:absolute;left:75px;top:75px;width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff1b0,#f5a347 65%,#ee694b)}.art-caption{position:absolute;bottom:26px;left:30px;font-size:8px;letter-spacing:2px;line-height:1.8;color:#9c7d6b}.concept-copy h2,.section-heading h2,.company-title h2{font-family:var(--jp);font-size:clamp(31px,4vw,52px);line-height:1.55;font-weight:400;letter-spacing:.02em;margin:0 0 28px}.gradient-text{background:linear-gradient(100deg,#e65c4f,#e99a46 70%,#e9bb55);-webkit-background-clip:text;background-clip:text;color:transparent}.body-copy{font-family:var(--jp);font-size:13px;line-height:2.35;color:#716963;margin:0 0 17px;max-width:440px}.underlined-link{display:inline-flex;gap:40px;align-items:center;margin-top:25px;padding-bottom:11px;border-bottom:1px solid #a9a09a;font-size:9px;font-weight:600;letter-spacing:1.6px}.underlined-link span{font-size:15px}.meaning{background:#fffaf6}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:55px}.section-heading h2{margin:0;font-size:clamp(38px,5vw,64px);line-height:1.18}.serif{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.04em}.heading-note{font-family:var(--jp);font-size:12px;line-height:2;color:#817770;margin:0 0 7px}.meaning-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.meaning-card{position:relative;min-height:340px;padding:31px 28px;background:rgba(255,255,255,.8);border:1px solid rgba(47,32,22,.08);overflow:hidden;transition:transform .35s,border-color .35s}.meaning-card:hover{transform:translateY(-6px);border-color:#e9b08c}.card-petal{position:absolute;width:180px;height:180px;right:-60px;top:-68px;border-radius:50%;filter:blur(1px);opacity:.15}.petal-red{background:radial-gradient(circle,#e94742,#e9474200 70%)}.petal-orange{background:radial-gradient(circle,#f28a37,#f28a3700 70%)}.petal-gold{background:radial-gradient(circle,#f3c95d,#f3c95d00 70%)}.card-number{font-size:10px;color:#9e8e82;letter-spacing:1px}.meaning-en{font-size:9px;letter-spacing:2px;color:#a07860;margin:65px 0 14px}.meaning-card h3{font-family:var(--jp);font-size:20px;font-weight:500;margin:0 0 15px}.meaning-card>p:last-of-type{font-family:var(--jp);font-size:11px;line-height:2.15;color:#7a716b;max-width:260px}.card-arrow{position:absolute;right:27px;bottom:25px;font-size:17px}.talent{background:#fff}.talent-grid{display:grid;grid-template-columns:1.08fr .92fr;grid-template-rows:310px 260px;gap:18px}.talent-item{position:relative;overflow:hidden;background:#eee4dc;isolation:isolate}.talent-item:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.58));z-index:1}.talent-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1);filter:saturate(.78)}.talent-item:hover img{transform:scale(1.045)}.talent-large{grid-row:span 2}.talent-tall img{object-position:center 35%}.talent-wide{grid-column:2}.talent-label{position:absolute;left:25px;bottom:25px;color:#fff;z-index:2;display:flex;flex-direction:column;gap:8px}.talent-label small{font-size:8px;letter-spacing:1.8px}.talent-label strong{font-family:var(--serif);font-size:22px;font-weight:400;font-style:italic}.talent-plus{position:absolute;right:24px;bottom:24px;color:white;z-index:2;font-size:18px}.image-note{font-size:9px;line-height:1.8;color:#a09790;margin:18px 0 0}.vision{position:relative;min-height:700px;display:flex;align-items:center;overflow:hidden;color:#fff;background:#1b1715}.vision-image{position:absolute;inset:0;background-image:url('https://images.unsplash.com/photo-1470252649378-9c29740c9fa8?auto=format&fit=crop&w=2000&q=85');background-position:center 55%;background-size:cover;opacity:.43;filter:saturate(.7)}.vision-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,17,15,.88),rgba(20,17,15,.43) 65%,rgba(20,17,15,.18)),linear-gradient(0deg,rgba(20,17,15,.25),transparent)}.vision-content{position:relative;z-index:2;max-width:760px}.vision .eyebrow{color:#e9c6aa}.vision h2{font-family:var(--serif);font-size:clamp(58px,9vw,116px);font-weight:400;line-height:.99;letter-spacing:-.055em;margin:0 0 32px}.vision h2 span{color:#f1b16c}.vision-content>p:not(.eyebrow){font-family:var(--jp);font-size:15px;line-height:2.2}.vision-content .vision-small{font-size:11px!important;color:#d1c7bf;margin-top:25px;margin-bottom:35px}.button-light{background:#fff;color:#201b17}.vision-side{position:absolute;right:5.5%;top:50%;writing-mode:vertical-rl;font-size:8px;letter-spacing:2px;color:#ffffff9c}.audition{position:relative;min-height:650px;display:grid;place-items:center;text-align:center;overflow:hidden;color:#fff;background:#171311}.audition:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,rgba(127,57,34,.3),transparent 50%),linear-gradient(135deg,#1a1513,#100e0d)}.audition-glow{position:absolute;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(245,142,66,.2),rgba(245,142,66,0) 68%);top:50%;left:50%;transform:translate(-50%,-50%)}.audition-content{position:relative;z-index:2}.audition .eyebrow{color:#e5b68d}.audition-overline{font-size:9px;letter-spacing:3px;color:#b8a39a;margin:0 0 20px}.audition h2{font-family:var(--jp);font-size:clamp(36px,5.5vw,66px);font-weight:400;line-height:1.5;letter-spacing:.04em;margin:0 0 18px}.audition-content>p:not(.eyebrow):not(.audition-overline){font-family:var(--jp);font-size:12px;line-height:2.2;color:#c7bcb5}.button-warm{background:linear-gradient(110deg,#f1c06c,#ef8c55 55%,#e96551);color:#241914;margin-top:22px}.audition-note{display:block;margin-top:54px;font-size:8px;letter-spacing:2px;color:#88786e}.audition-particles i{position:absolute;width:4px;height:4px;border-radius:50%;background:#f6b873;box-shadow:0 0 18px 4px #ef925c50;animation:twinkle 4s ease-in-out infinite}.audition-particles i:nth-child(1){top:22%;left:18%}.audition-particles i:nth-child(2){top:32%;left:76%;animation-delay:1s}.audition-particles i:nth-child(3){top:71%;left:20%;animation-delay:2s}.audition-particles i:nth-child(4){top:75%;left:83%;animation-delay:.5s}.audition-particles i:nth-child(5){top:15%;left:59%;animation-delay:1.7s}.audition-particles i:nth-child(6){top:57%;left:10%;animation-delay:2.5s}.audition-particles i:nth-child(7){top:48%;left:90%;animation-delay:1.2s}.audition-particles i:nth-child(8){top:85%;left:65%;animation-delay:3s}.audition-particles i:nth-child(9){top:12%;left:35%;animation-delay:.8s}.news{background:#fff}.news .section-heading{margin-bottom:48px}.news .section-heading h2{font-family:var(--serif);font-weight:400;font-size:70px}.news-list{border-top:1px solid var(--line)}.news-row{display:grid;grid-template-columns:110px 125px 1fr 25px;align-items:center;gap:20px;padding:27px 4px;border-bottom:1px solid var(--line);transition:padding .25s}.news-row:hover{padding-left:12px;padding-right:0}.news-row time{font-size:10px;color:#91877f;letter-spacing:.5px}.news-category{justify-self:start;border:1px solid #e7dcd4;padding:6px 9px;font-size:8px;letter-spacing:1px;color:#a2755a}.news-row strong{font-family:var(--jp);font-size:12px;font-weight:400}.news-arrow{justify-self:end;font-size:17px}.company{background:#faf6f2}.company .section-kicker{margin-bottom:45px}.company-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:12%}.company-title h2{font-size:clamp(40px,5vw,65px);line-height:1.2}.company-title>p:last-child{font-family:var(--jp);font-size:12px;line-height:2.2;color:#83776e;margin-top:25px}.company-table{margin:0}.company-table>div{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:19px 0;border-bottom:1px solid var(--line)}.company-table>div:first-child{border-top:1px solid var(--line)}.company-table dt{font-family:var(--jp);font-size:10px;color:#8c8178}.company-table dd{font-family:var(--jp);font-size:11px;line-height:1.8;margin:0}.company-table dd a{border-bottom:1px solid #c3a18b;padding-bottom:3px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:12%;background:#fff;padding-top:140px;padding-bottom:140px}.contact-top h2{font-family:var(--serif);font-size:clamp(49px,6vw,78px);font-weight:400;letter-spacing:-.05em;line-height:1.05;margin:0 0 28px}.contact-top h2 span{color:#e9955e}.contact-top>p:last-child{font-family:var(--jp);font-size:12px;line-height:2.2;color:#7f756e;max-width:370px}.contact-form{border-top:1px solid var(--line)}.form-row{padding:18px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:12px}.form-row label{display:flex;justify-content:space-between;font-family:var(--jp);font-size:11px}.form-row label span{font-family:var(--font);font-size:8px;letter-spacing:1.5px;color:#a69a91}.form-row input,.form-row textarea,.form-row select{width:100%;border:0;outline:0;background:transparent;color:#29221e;font-family:var(--jp);font-size:11px;padding:6px 0;resize:vertical}.form-row input::placeholder,.form-row textarea::placeholder{color:#b3aaa3}.form-row select{color:#8b8179}.form-note{font-family:var(--jp);font-size:9px;line-height:1.9;color:#a0968e}.form-submit{margin-top:12px;width:100%}.form-feedback{font-family:var(--jp);font-size:11px;line-height:1.8;color:#a45d39}.site-footer{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:20px;padding:42px 5.6%;background:#191614;color:#eee6df}.footer-brand{font-size:29px;font-weight:700;letter-spacing:-1.5px}.site-footer>p{font-family:var(--serif);font-style:italic;font-size:12px;color:#b7a69a}.footer-links{display:flex;gap:18px;justify-content:flex-end;font-size:8px;letter-spacing:1.2px}.site-footer small{grid-column:1/-1;font-size:8px;letter-spacing:1.5px;color:#8d8179;margin-top:22px}.back-top{position:absolute;right:5.6%;bottom:32px;border:1px solid #ffffff4d;border-radius:50%;width:35px;height:35px;display:grid;place-items:center}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes float{0%,100%{transform:translateY(-48%) rotate(-2deg)}50%{transform:translateY(-51%) rotate(2deg)}}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes twinkle{0%,100%{opacity:.2;transform:scale(.7)}50%{opacity:1;transform:scale(1.4)}}
@media(min-width:1500px){.hero{padding-left:14%}.section-pad{padding-left:14%;padding-right:14%}.hero-flower{right:10%}}
@media(max-width:900px){.site-header{height:74px;padding:0 6%}.hero{padding-left:8%;padding-right:8%;min-height:700px}.hero-flower{width:60vw;right:-3%;opacity:.68}.hero-content{max-width:610px}.hero h1{font-size:clamp(38px,6.4vw,60px)}.hero-index{display:none}.section-pad{padding:95px 7%}.concept-grid{gap:7%}.concept-art{min-height:360px}.meaning-card{padding:25px 21px;min-height:330px}.talent-grid{grid-template-rows:260px 220px}.contact{gap:7%}.company-grid{gap:7%}.company-table>div{grid-template-columns:110px 1fr}.global-nav{gap:20px}}
@media(max-width:640px){html{scroll-padding-top:70px}.site-header{height:68px;background:#fffdfbe8;backdrop-filter:blur(14px)}.brand-logo{width:75px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:42px;height:42px;border:0;background:transparent;z-index:22}.menu-toggle span{width:22px;height:1px;background:#211b17;transition:transform .25s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.global-nav{position:fixed;inset:0;background:#fffaf6;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:28px;padding:10% 12%;font-size:14px;letter-spacing:2px;transform:translateX(100%);transition:transform .35s ease;visibility:hidden}.global-nav.is-open{transform:translateX(0);visibility:visible}.nav-contact{margin-top:12px}.hero{height:100svh;min-height:720px;max-height:900px;padding:100px 7% 105px;align-items:center}.hero-content{margin-top:15px}.hero .eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:23px}.hero h1{font-size:clamp(35px,9vw,49px);line-height:1.65;letter-spacing:.015em}.hero-subtitle{font-size:12px;line-height:2.1}.mobile-only{display:block}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px;margin-top:32px}.button{min-width:195px;padding:16px 18px}.text-link{font-size:10px}.hero-flower{width:88vw;right:-29%;top:39%;opacity:.36}.hero-glow-one{width:300px;height:300px;right:-10%;top:25%}.hero-glow-two{right:0;top:35%}.hero-orbital{width:85vw;right:-23%;top:39%;opacity:.6}.orbital-two{width:70vw;right:-13%}.hero-bottom{left:7%;right:7%;bottom:22px;font-size:7px;letter-spacing:1px;gap:15px}.hero-bottom a{white-space:nowrap}.section-pad{padding:78px 7%}.section-kicker{margin-bottom:38px;font-size:8px}.concept-grid{grid-template-columns:1fr;gap:38px}.concept-art{min-height:300px;order:2}.mini-flower{transform:scale(.82)}.concept-copy h2{font-size:34px}.body-copy{font-size:12px}.section-heading{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:35px}.section-heading h2{font-size:48px}.heading-note{font-size:11px}.meaning-cards{grid-template-columns:1fr;gap:12px}.meaning-card{min-height:260px;padding:25px}.meaning-en{margin-top:45px}.meaning-card>p:last-of-type{max-width:300px}.talent-grid{grid-template-columns:1fr 1fr;grid-template-rows:290px 210px;gap:10px}.talent-large{grid-column:1/-1;grid-row:auto}.talent-tall{grid-column:1}.talent-wide{grid-column:2}.talent-label{left:13px;bottom:15px;gap:5px}.talent-label small{font-size:7px;letter-spacing:1px}.talent-label strong{font-size:15px}.talent-plus{right:12px;bottom:12px;font-size:15px}.image-note{font-size:8px}.vision{min-height:650px;padding-top:90px;padding-bottom:90px}.vision h2{font-size:clamp(56px,13vw,82px)}.vision-content>p:not(.eyebrow){font-size:13px}.vision-content .vision-small{font-size:10px!important}.vision-side{right:5%;font-size:7px}.audition{min-height:600px;padding:80px 7%}.audition h2{font-size:36px}.audition-overline{font-size:8px;letter-spacing:2px}.news .section-heading h2{font-size:60px}.news-row{grid-template-columns:90px 1fr 20px;gap:12px;padding:22px 0}.news-row time{font-size:9px}.news-category{grid-column:2;grid-row:1;justify-self:start}.news-row strong{grid-column:1/3;grid-row:2;font-size:11px;line-height:1.8}.news-arrow{grid-column:3;grid-row:1/3}.company-grid{grid-template-columns:1fr;gap:38px}.company-title h2{font-size:52px}.company-table>div{grid-template-columns:100px 1fr;gap:12px;padding:16px 0}.company-table dt,.company-table dd{font-size:10px}.contact{grid-template-columns:1fr;gap:40px;padding-top:85px;padding-bottom:85px}.contact-top h2{font-size:58px}.contact-top>p:last-child{font-size:11px}.site-footer{grid-template-columns:1fr 1fr;padding:35px 7%}.site-footer>p{grid-column:1/-1;grid-row:2;margin:0}.footer-links{grid-column:1/-1;grid-row:3;justify-content:flex-start;flex-wrap:wrap;margin-top:10px}.site-footer small{grid-row:4;margin-top:15px;padding-right:40px;line-height:1.8}.back-top{right:7%;bottom:27px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}


/* Brand polish: unified typography and supplied logo asset */
:root { --font: 'DM Sans', 'Noto Sans JP', sans-serif; --jp: 'Noto Sans JP', sans-serif; --serif: 'DM Sans', 'Noto Sans JP', sans-serif; }
body { font-family: var(--font); letter-spacing: 0; }
h1, h2, h3, p, li, dt, dd, label, input, textarea, select { text-wrap: pretty; }
.hero h1, .concept-copy h2, .section-heading h2, .company-title h2, .audition h2 { font-family: var(--jp); font-weight: 500; letter-spacing: .025em; }
.serif, .news .section-heading h2, .contact-top h2 { font-family: var(--font); font-style: normal; font-weight: 400; letter-spacing: -.035em; }
.brand { min-width: 0; }
.brand-logo { width: 58px; height: 58px; max-height: none; object-fit: contain; }
.concept-logo { position: relative; z-index: 1; width: min(72%, 290px); max-height: 340px; object-fit: contain; filter: drop-shadow(0 12px 24px rgba(226, 114, 49, .08)); }
.footer-brand { display: inline-flex; align-items: center; width: 58px; height: 58px; }
.footer-logo { width: 58px; height: 58px; object-fit: contain; }
@media (max-width: 640px) { .brand-logo { width: 48px; height: 48px; } .concept-logo { width: min(70%, 235px); } .footer-brand, .footer-logo { width: 48px; height: 48px; } }


/* Hero uses the actual E.G.O logo flower artwork. */
.hero-flower {
  width: min(54vw, 700px);
  aspect-ratio: auto;
  right: 3%;
  filter: drop-shadow(0 20px 55px rgba(234, 120, 65, .12));
}
.hero-flower-logo {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
@media (max-width: 900px) {
  .hero-flower { width: 64vw; right: -4%; }
}
@media (max-width: 640px) {
  .hero-flower { width: 90vw; right: -29%; top: 39%; opacity: .36; }
}


/* E.G.O talent renewal: stronger warm accents and official profiles */
:root { --red:#df493b; --orange:#ed7d2f; --gold:#e9b83f; --warm:#fff2e7; }
.gradient-text { background:linear-gradient(100deg,#d94337 0%,#e96d2c 52%,#dca52e 100%); -webkit-background-clip:text; background-clip:text; }
.hero { background:radial-gradient(ellipse at 75% 46%,#ffe2c7 0,rgba(255,237,220,.78) 28%,rgba(255,253,251,0) 60%),linear-gradient(120deg,#fffaf6 10%,#fff4e9 65%,#ffead9); }
.hero-glow-one { background:radial-gradient(circle,rgba(255,160,84,.48),rgba(255,160,84,0) 68%); }
.hero-glow-two { background:radial-gradient(circle,rgba(224,72,53,.22),rgba(224,72,53,0) 70%); }
.meaning { background:#fff5ed; }
.meaning-card { border-color:rgba(112,58,28,.12); }
.section-kicker span:first-child { color:#d94d3d; }
.talent { background:linear-gradient(180deg,#fff 0%,#fffaf6 100%); }
.talent-grid-featured { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.talent-profile { min-width:0; background:#fff; border:1px solid rgba(91,54,34,.13); box-shadow:0 18px 55px rgba(101,57,31,.07); }
.talent-photo { height:clamp(390px,48vw,650px); overflow:hidden; background:#eee7e2; }
.talent-photo img { width:100%; height:100%; object-fit:cover; object-position:center 30%; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.talent-profile:hover .talent-photo img { transform:scale(1.035); }
.talent-profile:first-child .talent-photo img { object-position:center 25%; }
.talent-profile-info { padding:27px 28px 30px; }
.talent-category { margin:0 0 13px; color:#c65a3d; font-size:9px; line-height:1.7; font-weight:700; letter-spacing:1.4px; }
.talent-profile-info h3 { margin:0; font-family:var(--jp); font-size:clamp(22px,2.5vw,30px); font-weight:500; letter-spacing:.02em; }
.talent-profile-info h3 span { font-size:.68em; color:#776a61; font-weight:400; }
.talent-description { margin:13px 0 21px; color:#756a63; font-family:var(--jp); font-size:11px; line-height:1.9; }
.talent-socials { display:flex; flex-wrap:wrap; gap:9px; }
.social-link { display:inline-flex; align-items:center; gap:7px; padding:9px 11px; border:1px solid rgba(60,42,30,.15); color:#4c4039; font-size:9px; letter-spacing:.2px; transition:background .2s,border-color .2s,color .2s; }
.social-link:hover { background:#fff0e5; border-color:#dc8058; color:#a94130; }
.social-glyph { display:inline-grid; place-items:center; width:17px; height:17px; font-size:15px; font-weight:700; line-height:1; }
.social-glyph.instagram { border:1.7px solid currentColor; border-radius:5px; font-size:15px; }
.social-glyph.youtube { font-size:12px; border-radius:5px; background:currentColor; color:#fff; width:17px; height:12px; }
@media(max-width:640px) {
 .talent-grid-featured { grid-template-columns:1fr; gap:22px; }
 .talent-photo { height: min(118vw,560px); }
 .talent-profile-info { padding:22px 19px 24px; }
 .talent-profile-info h3 { font-size:24px; }
 .talent-socials { gap:7px; }
 .social-link { padding:8px 9px; }
}

/* Company details, single release news and official LINE contact */
.company-table dd{line-height:2.05}
.news-row{cursor:default}
.line-contact-card{align-self:center;padding:42px 38px;background:linear-gradient(135deg,#fff0e5 0%,#ffe2d2 52%,#f8d9a7 100%);border:1px solid rgba(191,103,63,.24);box-shadow:0 18px 55px rgba(128,72,42,.09)}
.line-contact-label{font-size:9px;letter-spacing:2.5px;color:#9c573d;font-weight:700}
.line-contact-card h3{font-family:var(--jp);font-size:22px;font-weight:500;margin:18px 0 12px}
.line-contact-card>p{font-family:var(--jp);font-size:11px;line-height:2;color:#756056;margin:0 0 22px}
.button-line{background:#06c755;color:#fff;min-width:250px}
.line-contact-card .line-contact-note{font-size:9px;color:#927d70;margin:17px 0 0}
@media(max-width:640px){.line-contact-card{padding:30px 24px}.line-contact-card h3{font-size:19px}.button-line{min-width:0;width:100%}}


/* 2026.11 typography and profile refinement */
:root{--font:'Noto Sans JP',sans-serif;--jp:'Noto Sans JP',sans-serif;--serif:'Noto Serif JP',serif}
body{font-family:var(--font)}
h1,h2,h3,.company-title h2,.vision h2,.audition h2,.contact-top h2{font-family:var(--serif);font-weight:500;letter-spacing:.035em}
.global-nav{font-family:var(--jp);font-size:13px;letter-spacing:.06em;gap:clamp(20px,2.6vw,40px)}
.eyebrow{font-family:var(--jp);font-size:12px;letter-spacing:.12em;line-height:1.9}
.hero .eyebrow{font-size:13px}
.button{font-family:var(--jp);font-size:12px;letter-spacing:.06em}
.text-link,.underlined-link{font-family:var(--jp);font-size:13px;letter-spacing:.03em}
.section-kicker{font-size:12px;letter-spacing:.12em}
.body-copy{font-size:15px;line-height:2.25}
.heading-note{font-size:14px;line-height:2.1}
.meaning-en{font-size:12px;letter-spacing:.14em}
.meaning-card>p:last-of-type{font-size:14px;line-height:2.05}
.talent-category{font-size:12px;letter-spacing:.05em}
.talent-description{font-size:14px;line-height:2.05}
.social-link{width:44px;height:44px;justify-content:center;padding:0;border-radius:50%;background:#fff;}
.social-link:hover{transform:translateY(-2px);background:#fff0e5}
.social-icon{width:21px;height:21px;display:block;fill:currentColor}
.instagram-icon{fill:none;stroke:currentColor;stroke-width:1.8}
.instagram-icon .icon-fill{fill:currentColor;stroke:none}
.tiktok-icon{fill:currentColor}
.image-note{font-size:12px}
.vision-content>p:not(.eyebrow){font-size:16px;line-height:2.15}
.vision-content .vision-small{font-size:13px;line-height:2.1}
.audition-content>p:not(.eyebrow){font-size:15px;line-height:2.1}
.news-row time,.news-category{font-size:12px}
.news-row strong{font-size:15px;line-height:1.9}
.company-table dt,.company-table dd{font-size:14px;line-height:2}
.contact-top>p:last-child{font-size:15px;line-height:2.1}
.line-contact-card>p{font-size:14px;line-height:2.1}
.line-contact-label{font-size:12px}
.line-contact-card .line-contact-note{font-size:12px}
.site-footer>p{font-size:14px}
.footer-links{font-family:var(--jp);font-size:11px;letter-spacing:.04em}
.site-footer small{font-size:10px;letter-spacing:.08em}
.talent-grid-featured{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.talent-photo{height:clamp(300px,32vw,470px)}
.talent-text-profile{display:flex;flex-direction:column;min-height:100%;}
.talent-text-art{position:relative;min-height:clamp(390px,48vw,650px);overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 48%,rgba(255,255,255,.9),rgba(255,255,255,0) 28%),linear-gradient(145deg,#f8eee8 0%,#f2d9ce 48%,#e9c7b4 100%);color:#49352e}
.talent-text-mark{position:relative;z-index:2;font-family:var(--serif);font-size:clamp(48px,6vw,82px);font-weight:500;letter-spacing:.04em}
.talent-text-sub{position:relative;z-index:2;margin-top:12px;font-size:13px;letter-spacing:.35em;color:#986b58}
.talent-text-orbit{position:absolute;width:72%;aspect-ratio:1;border:1px solid rgba(154,103,79,.25);border-radius:50%;}
.talent-text-orbit.orbit-a{transform:scaleX(.72) rotate(28deg)}
.talent-text-orbit.orbit-b{transform:scaleX(.72) rotate(-28deg)}
.talent-text-profile .talent-profile-info{flex:1}
@media(max-width:900px){.global-nav{font-size:12px}.body-copy{font-size:14px}.talent-grid-featured{grid-template-columns:repeat(2,minmax(0,1fr))}.talent-photo{height:clamp(340px,45vw,520px)}.talent-text-art{min-height:360px}}
@media(max-width:640px){
 .global-nav{font-size:16px;letter-spacing:.04em}
 .hero .eyebrow{font-size:11px}
 .section-kicker{font-size:11px}
 .body-copy{font-size:14px;line-height:2.1}
 .heading-note{font-size:13px}
 .meaning-card>p:last-of-type{font-size:14px}
 .talent-category{font-size:11px;line-height:1.9}
 .talent-description{font-size:13px}
 .social-link{width:42px;height:42px}
 .vision-content>p:not(.eyebrow){font-size:14px}
 .vision-content .vision-small{font-size:12px!important}
 .news-row strong{font-size:13px}
 .company-table dt,.company-table dd{font-size:12px}
 .contact-top>p:last-child{font-size:13px}
 .line-contact-card>p{font-size:13px}
 .talent-grid-featured{grid-template-columns:1fr}
 .talent-photo{height:min(118vw,560px)}
 .talent-text-art{min-height:min(118vw,560px)}
 .site-footer small{font-size:9px}
}


/* Company heading: keep the requested copy to exactly two lines. */
.company-title .company-two-line{display:flex;flex-direction:column;align-items:flex-start;gap:0;line-height:1.38;white-space:nowrap;font-size:clamp(38px,5.1vw,68px)}
.company-title .company-two-line>span{display:block;white-space:nowrap}
@media(max-width:640px){.company-title .company-two-line{font-size:clamp(32px,10.2vw,43px);line-height:1.45}}


/* Contact headline: keep each phrase together on its own line. */
.contact-top h2.contact-two-line{display:flex;flex-direction:column;align-items:flex-start;gap:0;white-space:nowrap;font-size:clamp(36px,5vw,68px);line-height:1.2;letter-spacing:-.035em}
.contact-top h2.contact-two-line>span{display:block;white-space:nowrap}
@media(max-width:900px){.contact-top h2.contact-two-line{font-size:clamp(34px,5.4vw,58px)}}
@media(max-width:640px){.contact-top h2.contact-two-line{font-size:clamp(30px,9.3vw,39px);line-height:1.35}}


/* TeTori profile image */
.tetori-photo img{object-position:center center}

/* Talent cards: keep all three profile photos aligned and prevent flex shrinking. */
.talent-grid-featured {
  align-items: stretch;
}
.talent-grid-featured > .talent-profile {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
}
.talent-grid-featured > .talent-profile > .talent-photo {
  flex: 0 0 clamp(300px, 32vw, 470px);
  height: clamp(300px, 32vw, 470px);
  min-height: clamp(300px, 32vw, 470px);
}
.talent-grid-featured > .talent-profile > .talent-profile-info {
  flex: 1 1 auto;
}
@media (max-width: 900px) {
  .talent-grid-featured > .talent-profile > .talent-photo {
    flex-basis: clamp(340px, 45vw, 520px);
    height: clamp(340px, 45vw, 520px);
    min-height: clamp(340px, 45vw, 520px);
  }
}
@media (max-width: 640px) {
  .talent-grid-featured > .talent-profile > .talent-photo {
    flex-basis: min(118vw, 560px);
    height: min(118vw, 560px);
    min-height: min(118vw, 560px);
  }
}


/* Fix spacing and text collision in the Totonoeshogun profile only. */
.talent-profile-shogun .talent-profile-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}
.talent-profile-shogun .talent-category {
  margin-bottom: 18px;
  line-height: 1.9;
  overflow-wrap: anywhere;
}
.talent-profile-shogun .talent-profile-info h3 {
  display: block;
  width: 100%;
  margin: 0;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.talent-profile-shogun .talent-profile-info h3 span {
  display: inline;
  line-height: inherit;
}
.talent-profile-shogun .talent-description {
  margin-top: 18px;
  line-height: 2.1;
}
.talent-profile-shogun .talent-socials {
  margin-top: 2px;
}
@media (max-width: 900px) {
  .talent-profile-shogun .talent-profile-info h3 {
    font-size: clamp(21px, 2.8vw, 27px);
  }
}
@media (max-width: 640px) {
  .talent-profile-shogun .talent-profile-info h3 {
    font-size: 24px;
    line-height: 1.6;
  }
}

/* Responsive talent cards: override legacy fixed grid rows from .talent-grid. */
.talent-grid-featured {
  grid-template-rows: none !important;
  grid-auto-rows: auto !important;
  align-items: stretch;
}
.talent-grid-featured > .talent-profile {
  height: auto !important;
  min-height: 0;
  align-self: stretch;
  overflow: visible;
}
.talent-grid-featured > .talent-profile > .talent-photo {
  flex: 0 0 auto;
  width: 100%;
}
.talent-grid-featured > .talent-profile > .talent-profile-info {
  flex: 1 0 auto;
  width: 100%;
  min-width: 0;
  height: auto;
  overflow: visible;
}
.talent-profile-info h3,
.talent-profile-info h3 span,
.talent-category,
.talent-description {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}
.talent-socials {
  position: relative;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  width: 100%;
  min-height: 44px;
  margin: 18px 0 0;
  clear: both;
}
.talent-socials .social-link {
  position: relative;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  margin: 0;
}
.talent-profile-shogun .talent-profile-info {
  gap: 0;
  padding-bottom: 34px;
}
.talent-profile-shogun .talent-category {
  display: block;
  width: 100%;
  margin: 0 0 18px;
  line-height: 1.9;
  white-space: normal;
}
.talent-profile-shogun .talent-description {
  display: block;
  width: 100%;
  margin: 18px 0 0;
  line-height: 2.1;
}
.talent-profile-shogun .talent-socials {
  margin-top: 20px;
}
@media (max-width: 900px) {
  .talent-grid-featured {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none !important;
    grid-auto-rows: auto !important;
    gap: 22px;
  }
}
@media (max-width: 640px) {
  .talent-grid-featured {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: none !important;
    grid-auto-rows: auto !important;
    gap: 24px;
  }
  .talent-grid-featured > .talent-profile {
    width: 100%;
    height: auto !important;
  }
  .talent-grid-featured > .talent-profile > .talent-photo {
    flex-basis: auto;
    height: min(105vw, 500px);
    min-height: 0;
  }
  .talent-grid-featured > .talent-profile > .talent-profile-info {
    padding: 22px 20px 30px;
  }
  .talent-category {
    font-size: 11px;
    line-height: 1.9;
    margin-bottom: 14px;
  }
  .talent-profile-info h3 {
    font-size: 24px;
    line-height: 1.55;
  }
  .talent-description {
    font-size: 13px;
    line-height: 2;
    margin: 14px 0 0;
  }
  .talent-socials {
    gap: 10px;
    margin-top: 18px;
  }
  .talent-socials .social-link {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
  }
  .talent-profile-shogun .talent-profile-info h3 {
    font-size: 23px;
    line-height: 1.6;
  }
}
