/* Continuous supplied art with a quiet, readable center. */
#kv.tl-hero{height:100svh;min-height:900px;padding:170px 0 90px;align-items:center}
#kv .tl-hero__art{display:block;position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:fill;transform:none;margin:0;pointer-events:none;z-index:0;animation:tl-art-breathe 12s ease-in-out infinite alternate}
#kv .tl-hero__content{position:relative;width:45%;max-width:630px;padding:0;margin:0;z-index:3}
#kv .tl-hero__title{font-size:clamp(29px,2.65vw,43px);line-height:1.35;margin-bottom:12px}
#kv .tl-hero__eyebrow{font-size:14px;margin-bottom:12px}
#kv .tl-hero__lead{font-size:12px;margin-bottom:12px}
#kv .tl-consult{padding:20px;margin-top:32px;background:#fff;box-shadow:0 12px 45px #0000000b}
#kv .tl-consult textarea{min-height:90px}
#kv .tl-consult__badge{margin-bottom:7px}
#kv .tl-consult label{margin-bottom:12px;font-size:14px}
#kv .tl-consult__bottom{margin-top:14px}
#kv .tl-consult__status{margin-top:8px}
#kv .tl-consult__help{font-size:9px}
.tl-hero-floats{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.tl-float{position:absolute;display:block;width:38px;height:38px;animation:tl-float-drift var(--duration,8s) ease-in-out infinite alternate;filter:drop-shadow(0 7px 5px #00000012)}
.tl-float i{display:block;width:100%;height:100%;background:radial-gradient(circle at 28% 20%,#ffffffd0,transparent 50%),var(--color,#f8c743);border-radius:40%;transform:rotate(24deg)}
.tl-float:nth-child(odd) i{clip-path:polygon(50% 0,62% 36%,100% 50%,63% 63%,50% 100%,37% 63%,0 50%,36% 36%);border-radius:0}
.tl-float:nth-child(4n) i{background:transparent;border:8px solid var(--color);border-radius:50%;box-sizing:border-box}
.tl-float--1{left:26%;top:17%;--color:#f898c6;--duration:9s;width:48px;height:48px}
.tl-float--2{left:9%;top:53%;--color:#a6ebdd;--duration:12s;width:22px;height:22px}
.tl-float--3{right:23%;top:34%;--color:#8cbef8;--duration:7s}
.tl-float--4{right:8%;top:17%;--color:#ae8ef3;--duration:11s;width:47px;height:47px}
.tl-float--5{left:25%;bottom:17%;--color:#7eddb8;--duration:10s}
.tl-float--6{right:27%;bottom:13%;--color:#f1a4bb;--duration:8.5s;width:25px;height:25px}
.tl-float--7{right:7%;bottom:41%;--color:#ffd45e;--duration:13s;width:27px;height:27px}
.tl-float--8{left:14%;top:10%;--color:#86cdeb;--duration:9.5s;width:35px;height:35px}
@keyframes tl-float-drift{from{transform:translate3d(-5px,-10px,0) rotate(-9deg)}to{transform:translate3d(8px,15px,0) rotate(12deg)}}
@keyframes tl-art-breathe{from{transform:translateY(-4px) scale(1.005)}to{transform:translateY(4px) scale(1.015)}}
/* One consistent grasping edge for all six poses. */
.tl-character-button{--accent:var(--tl-green);position:relative;display:flex;flex-direction:column;justify-content:center;gap:10px;background:#fff;color:#000!important;border-radius:25px;padding:25px 60px 25px 25px;box-shadow:8px 8px 0 #00000010;text-decoration:none;box-sizing:border-box;isolation:isolate;transition:transform .2s,box-shadow .2s}
.tl-character-button--blue{--accent:var(--tl-blue)}.tl-character-button--pink{--accent:var(--tl-pink)}.tl-character-button--mint{--accent:var(--tl-mint)}.tl-character-button--yellow{--accent:var(--tl-yellow)}.tl-character-button--purple{--accent:var(--tl-purple)}
.tl-character-button .tl-button-peek{position:absolute;right:16px;top:-91px;width:110px;height:110px;max-width:none;object-fit:contain;pointer-events:none;z-index:2}
.tl-button-en{font-size:10px;letter-spacing:.08em;color:#000!important}.tl-character-button strong{font-size:17px;line-height:1.5;color:#000!important}.tl-button-arrow{position:absolute;right:20px;bottom:23px;background:var(--accent);width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#000!important}
.tl-character-button:hover{transform:translate(3px,3px);box-shadow:5px 5px 0 #00000010}.tl-character-button:focus-visible{outline:3px solid var(--accent);outline-offset:7px}
#talent-about .link_wrap{margin-top:100px}
#talent-about .link_btn-about .illust{width:130px;height:130px;right:14px;top:-108px;margin:0;z-index:10;pointer-events:none;transform:none}
#talent-about .link_btn-about .illust img{width:100%;height:100%;object-fit:contain}
#talent-about a:hover .link_btn-about .illust{transform:none}
#kv .tl-consult__peek{width:95px;height:95px;top:-79px;right:13px;overflow:visible}
#kv .tl-consult__peek img{position:static;width:95px;height:95px;object-fit:contain}
/* Same corner-attached control dimensions and panel silhouette as the reference. */
.site-menu-toggle,.site-menu-toggle:hover,.site-menu-toggle:active,.site-menu-toggle[aria-expanded="true"]{top:0;right:0;width:99px;height:96px;padding:0;border-radius:0 0 0 65px;background:#000;color:#fff;box-shadow:none;transform:none;filter:drop-shadow(0 0 5px #0002)}
.site-menu-icon{position:absolute;left:35px;top:21px;width:40px;height:32px}
.site-menu-icon span,.site-menu-icon span:nth-child(2){height:5px;background:#fff;border-radius:60% 40% 50% 45%;color:#fff}
.site-menu-icon span:nth-child(1){top:0;transform:rotate(-3deg)}.site-menu-icon span:nth-child(2){top:13px;transform:rotate(2deg)}.site-menu-icon span:nth-child(3){top:26px;transform:rotate(-2deg)}
.site-menu-label{position:absolute;left:40px;top:63px;font-size:9px;color:#fff!important}
.site-menu-toggle[aria-expanded="true"] .site-menu-icon span:nth-child(1),.site-menu-toggle[aria-expanded="true"] .site-menu-icon span:nth-child(3){top:13px}
.global-nav .nav_inr{background:#080808!important;width:95%;max-width:1360px;min-height:650px;margin-left:auto;padding:75px 100px 60px 60px;border-radius:0 0 0 132px;display:grid;grid-template-columns:28% 1fr;gap:40px;overflow:visible;box-sizing:border-box}
.global-nav{background:#0006!important;overflow:auto!important}
.tl-nav-brand{padding-top:20px;color:#fff!important}.tl-nav-brand>img{width:100px;height:100px}.tl-nav-brand>p{color:#fff!important;font-size:40px;letter-spacing:-.04em;font-weight:800;margin:5px 0 25px}.tl-nav-brand>span{color:#fff!important;font-size:13px}.tl-nav-brand>a{display:block;margin-top:55px;color:#fff!important;font-size:13px}
.tl-nav-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:92px 25px;padding-top:65px;align-content:start}.tl-nav-links .tl-character-button{min-height:112px}.tl-nav-copy{grid-column:1/-1;color:#ffffff80!important;font-size:11px;margin:0}
.tl-follow{position:fixed;right:1vw;top:50%;transform:translateY(-50%);width:44px;display:flex;flex-direction:column;gap:10px;z-index:510}
.tl-follow>a{writing-mode:vertical-rl;text-orientation:upright;display:flex;align-items:center;justify-content:center;gap:10px;padding:17px 10px;min-height:115px;border-radius:20px 17px 22px 16px;background:var(--tl-pink);color:#000!important;font-size:12px;font-weight:700;text-decoration:none;box-shadow:0 3px 12px #0001;transform:rotate(-3deg);transition:transform .2s;box-sizing:border-box}
.tl-follow>a:nth-child(2){background:var(--tl-yellow);transform:rotate(3deg)}.tl-follow>a:nth-child(3){background:var(--tl-green)}.tl-follow>a:hover{transform:translateX(-4px) rotate(0)}.tl-follow a span{font-size:17px;writing-mode:horizontal-tb;color:#000!important}
body.menu-open .tl-follow{visibility:hidden}
@media(max-width:1000px) and (min-width:701px){#kv .tl-hero__content{width:52%}#kv.tl-hero{min-height:930px}.global-nav .nav_inr{padding:70px 65px 50px 40px;grid-template-columns:1fr}.tl-nav-brand{display:none}.tl-nav-links{padding-top:65px}.tl-follow{right:8px;width:39px}.tl-follow>a{font-size:11px;padding:15px 8px}}
@media(max-width:700px){
#kv.tl-hero{height:auto;min-height:100svh;padding:85px 20px 80px;display:flex;flex-direction:column}
#kv .tl-hero__art{position:relative;inset:auto;width:calc(100% + 40px);height:auto;object-fit:contain;margin:0 -20px 20px;animation:none}
#kv .tl-hero__content{width:100%;max-width:470px}#kv .tl-hero__title{font-size:28px}#kv .tl-hero__lead{font-size:11px}#kv .tl-consult{margin-top:45px;padding:18px}.tl-float{opacity:.7}.tl-float--1{top:14%;left:25%}.tl-float--3{top:23%;right:9%}.tl-float--4,.tl-float--5,.tl-float--6{display:none}.tl-float--8{top:8%;left:5%}
.site-menu-toggle,.site-menu-toggle:hover,.site-menu-toggle:active,.site-menu-toggle[aria-expanded="true"]{width:65px;height:61px;border-radius:0 0 0 41px}.site-menu-icon{left:23px;top:13px;width:25px;height:20px}.site-menu-icon span,.site-menu-icon span:nth-child(2){height:3px}.site-menu-icon span:nth-child(2){top:8px}.site-menu-icon span:nth-child(3){top:16px}.site-menu-label{left:24px;top:40px;font-size:7px}.site-menu-toggle[aria-expanded="true"] .site-menu-icon span:nth-child(1),.site-menu-toggle[aria-expanded="true"] .site-menu-icon span:nth-child(3){top:8px}
.global-nav .nav_inr{width:96%;padding:45px 25px 40px;border-radius:0 0 0 55px;display:block;min-height:100svh}.tl-nav-brand{padding:0}.tl-nav-brand>img{width:45px;height:45px}.tl-nav-brand>p{font-size:29px;margin:0 0 8px}.tl-nav-brand>span,.tl-nav-brand>a{display:none}.tl-nav-links{grid-template-columns:1fr;gap:82px;padding-top:90px}.tl-nav-links .tl-character-button{min-height:100px}.tl-nav-copy{margin-top:40px!important}
.tl-follow{top:auto;bottom:0;right:0;left:0;transform:none;width:100%;flex-direction:row;gap:1px;padding:0 8px env(safe-area-inset-bottom);box-sizing:border-box;background:transparent}.tl-follow>a,.tl-follow>a:nth-child(2){writing-mode:horizontal-tb;min-height:50px;flex:1;font-size:10px;padding:10px 5px;border-radius:15px 15px 0 0;transform:none;gap:4px}.tl-follow a span{font-size:13px}body{padding-bottom:60px}
#talent-about .link_wrap{margin-top:75px}#talent-about .link_btn-about .illust{width:88px;height:88px;top:-73px;right:5px}
}
@media(prefers-reduced-motion:reduce){#kv .tl-hero__art,.tl-float{animation:none!important}.tl-character-button{transition:none}}
body.tl-motion-paused #kv .tl-hero__art,body.tl-motion-paused .tl-float{animation-play-state:paused}
/* Native viewport crops allow the four art groups to breathe without covering the form. */
@media(min-width:701px){#kv .tl-hero__art{display:none}.tl-hero-piece{position:absolute;pointer-events:none;z-index:1;overflow:hidden}.tl-hero-piece--left,.tl-hero-piece--right{top:7%;height:90%;width:26.5%}.tl-hero-piece--left{left:0}.tl-hero-piece--right{right:0}.tl-hero-piece--top{left:30%;top:0;width:43%;height:180px}.tl-hero-piece--bottom{left:44%;bottom:-10px;width:30%;height:170px}.tl-hero-piece--left{animation:tl-piece-left 10s ease-in-out infinite alternate}.tl-hero-piece--right{animation:tl-piece-right 12s ease-in-out infinite alternate}.tl-hero-piece--top{animation:tl-piece-top 9s ease-in-out infinite alternate}.tl-hero-piece--bottom{animation:tl-piece-bottom 11s ease-in-out infinite alternate}}
@keyframes tl-piece-left{to{transform:translateY(9px) rotate(-1deg)}}@keyframes tl-piece-right{to{transform:translateY(-8px) rotate(1deg)}}@keyframes tl-piece-top{to{transform:translate(9px,4px) rotate(-2deg)}}@keyframes tl-piece-bottom{to{transform:translate(-7px,-4px) rotate(1deg)}}
@media(max-width:700px){.tl-hero-piece{display:none}}
@media(prefers-reduced-motion:reduce){.tl-hero-piece{animation:none!important}}
body.tl-motion-paused .tl-hero-piece{animation-play-state:paused}
body.tl-theme-paper .global-nav .tl-nav-brand>p,body.tl-theme-paper .global-nav .tl-nav-brand>span,body.tl-theme-paper .global-nav .tl-nav-brand>a{color:#fff!important}
body.tl-theme-paper .global-nav .tl-nav-copy{color:#ffffff80!important}
body.tl-theme-paper .site-menu-toggle .site-menu-label{color:#fff!important}

/* Bright brand accents: same pink as the reference's main action button, black ink. */
:root{--tl-pink:#f55b96;--tl-blue:#00aae2;--tl-green:#2bb063;--tl-yellow:#ffcf19;--tl-orange:#fb9b00;--tl-purple:#8d70db;--tl-mint:#4bd8ba;--tl-ink:#000}
body.tl-theme-paper #kv .tl-consult .tl-consult__suggestions button,body.tl-theme-paper #kv .tl-consult .tl-voice{background:var(--tl-pink);border:1px solid transparent;color:var(--tl-ink);box-shadow:0 3px 0 #000;transition:transform .16s,box-shadow .16s}
body.tl-theme-paper #kv .tl-consult .tl-voice span{color:#000!important}
body.tl-theme-paper #kv .tl-consult .tl-consult__suggestions button:hover,body.tl-theme-paper #kv .tl-consult .tl-voice:hover{background:var(--tl-pink);transform:translateY(-2px);box-shadow:0 5px 0 #000}
body.tl-theme-paper #kv .tl-consult .tl-consult__suggestions button:active,body.tl-theme-paper #kv .tl-consult .tl-voice:active{transform:translateY(2px);box-shadow:0 1px 0 #000}
body.tl-theme-paper #kv .tl-consult .tl-voice[aria-pressed="true"]{background:var(--tl-yellow);border-color:#000;color:#000}
body.tl-theme-paper #kv .tl-consult button:disabled{opacity:.65;transform:none;box-shadow:none}
body.tl-theme-paper #kv .tl-consult .tl-consult__submit{background:#000;color:#fff}
.tl-consult__example.typing:after{content:'';display:inline-block;height:1.1em;width:2px;background:#000;vertical-align:-.14em;margin-left:3px;animation:tl-caret .8s steps(1) infinite}
@keyframes tl-caret{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.tl-consult__example.typing:after{animation:none}.tl-consult button{transition:none!important}}

/* Complete individual silhouettes, independent from responsive copy. */
#kv.tl-hero{height:100svh;min-height:820px;max-height:none;padding:90px 0 65px;justify-content:center;box-sizing:border-box}
#kv .tl-hero__content{width:50%;max-width:760px;margin:0;padding:0;text-align:center}
#kv .tl-hero__title{font-size:clamp(36px,3.55vw,60px);line-height:1.3;letter-spacing:-.025em;margin-bottom:20px;font-weight:800}
#kv .tl-hero__lead{font-size:14px;line-height:1.85;margin:0 auto 20px}
#kv .tl-consult{margin-top:62px}
.tl-hero-cast{position:absolute;inset:0;pointer-events:none;z-index:1}
.tl-hero-mascot{position:absolute;width:23%;height:29%;overflow:hidden;animation:tl-cast-drift 9s ease-in-out infinite alternate}
.tl-hero-mascot--green{left:1.5%;top:7%;animation-delay:-3s}
.tl-hero-mascot--blue{left:1%;top:37%;animation-duration:11s}
.tl-hero-mascot--yellow{left:1.5%;bottom:3%;height:26%;animation-delay:-5s}
.tl-hero-mascot--pink{right:1.5%;top:7%;animation-duration:10s}
.tl-hero-mascot--purple{right:1%;top:37%;animation-delay:-4s}
.tl-hero-mascot--mint{right:1.5%;bottom:3%;height:27%;animation-duration:12s}
@keyframes tl-cast-drift{from{transform:translateY(-5px) rotate(-1deg)}to{transform:translateY(6px) rotate(1deg)}}
.tl-float{filter:none;width:25px;height:25px}
.tl-float i{background:var(--color);border:0!important;box-shadow:none!important;border-radius:0}
.tl-float:nth-child(even) i{clip-path:path('M 12.5 23 C -10 8, 0 -5, 12.5 5 C 25 -5, 35 8, 12.5 23 Z');background:var(--color);transform:rotate(-12deg);border-radius:0}
.tl-float--1{left:25%;top:10%;width:34px;height:34px}.tl-float--2{left:4%;top:38%;width:25px;height:25px}.tl-float--3{right:25%;top:18%}.tl-float--4{right:4%;top:37%;width:25px;height:25px}.tl-float--5{left:26%;bottom:12%}.tl-float--6{right:26%;bottom:12%}.tl-float--7{right:3%;bottom:32%}.tl-float--8{left:3%;top:7%;width:25px;height:25px}
#talent-about .link_btn-about .illust .tl-flat-peek{display:block;width:100%;height:100%}
#kv .tl-consult__peek .tl-flat-peek{display:block;width:95px;height:95px}
body.tl-theme-paper #kv .tl-consult .tl-consult__suggestions button,
body.tl-theme-paper #kv .tl-consult .tl-voice,
body.tl-theme-paper #kv .tl-consult .tl-consult__suggestions button:hover,
body.tl-theme-paper #kv .tl-consult .tl-voice:hover,
body.tl-theme-paper #kv .tl-consult .tl-consult__suggestions button:active,
body.tl-theme-paper #kv .tl-consult .tl-voice:active{background:transparent;border:1.5px solid var(--tl-pink);color:var(--tl-pink)!important;box-shadow:none;transform:none;transition:background .18s}
body.tl-theme-paper #kv .tl-consult .tl-voice span{color:var(--tl-pink)!important}
body.tl-theme-paper #kv .tl-consult .tl-consult__suggestions button:hover,
body.tl-theme-paper #kv .tl-consult .tl-voice:hover{background:#f55b960d}
body.tl-theme-paper #kv .tl-consult .tl-voice[aria-pressed="true"]{background:#fff2f7;border-style:dashed}
@media(max-width:900px){
 #kv.tl-hero{height:auto;min-height:100svh;padding:80px 22px 65px;display:flex;flex-direction:column;gap:20px}
 .tl-hero-cast{position:relative;inset:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;width:min(100%,620px);height:clamp(260px,50vw,390px);order:0}
 .tl-hero-mascot{position:relative;inset:auto;width:100%;height:100%;min-height:0;animation-duration:10s}
 #kv .tl-hero__content{width:100%;max-width:600px;order:1}
 #kv .tl-hero__title{font-size:clamp(28px,5.3vw,43px);letter-spacing:-.04em;line-height:1.35}
 #kv .tl-hero__lead{font-size:12px}#kv .tl-consult{margin-top:62px}
 .tl-float--1{left:5%;top:15%}.tl-float--3{right:7%;top:33%}.tl-float--7{top:8%;right:30%}.tl-float--2,.tl-float--4,.tl-float--5,.tl-float--6,.tl-float--8{display:none}
}
@media(prefers-reduced-motion:reduce){.tl-hero-mascot{animation:none!important}}
body.tl-motion-paused .tl-hero-mascot{animation-play-state:paused}

/* Menu shares the reference hero gradient. Half-size flat peeking mascots. */
.global-nav .nav_inr{background:linear-gradient(30deg,#4bc3e5 45%,#89bf73 79%)!important}
.tl-character-button .tl-button-peek{width:55px;height:55px;top:-45.5px}
#talent-about .link_btn-about .illust{width:65px;height:65px;top:-54px}
#kv .tl-consult__peek{width:47.5px;height:47.5px;top:-39.5px}
#kv .tl-consult__peek .tl-flat-peek{width:47.5px;height:47.5px}
.tl-nav-links{gap:66px 25px;padding-top:40px}
#talent-about .link_wrap{margin-top:62px}
/* Three soft silhouettes: speech bubble, scalloped ticket, rounded letter. */
.tl-follow{width:54px;gap:17px}
.tl-follow>a{position:relative;isolation:isolate;width:54px;min-height:126px;padding:18px 12px;border-radius:28px 28px 26px 10px;box-shadow:none;transform:rotate(-3deg)}
.tl-follow>a:first-child:before{content:'';position:absolute;left:1px;bottom:9px;width:15px;height:17px;background:inherit;clip-path:polygon(100% 0,100% 100%,0 100%);transform:rotate(9deg);z-index:-1}
.tl-follow>a:nth-child(2){border-radius:22px 14px 24px 16px;transform:rotate(3deg)}
.tl-follow>a:nth-child(2):before,.tl-follow>a:nth-child(2):after{content:'';position:absolute;width:13px;height:20px;border-radius:50%;background:inherit;top:34%;z-index:-1}
.tl-follow>a:nth-child(2):before{left:-4px}.tl-follow>a:nth-child(2):after{right:-4px;top:64%}
.tl-follow>a:nth-child(3){border-radius:27px 18px 27px 18px;transform:rotate(-2deg)}
.tl-follow a span{width:23px;height:23px;display:grid;place-items:center;background:#ffffff80;border-radius:50%;font-size:15px}
.tl-follow>a:hover{transform:translateX(-4px) rotate(0)}
@media(max-width:700px){
 #talent-about .link_btn-about .illust{width:44px;height:44px;top:-36.5px}
 #talent-about .link_wrap{margin-top:44px}.tl-nav-links{gap:55px;padding-top:60px}
 .tl-follow{width:100%;gap:7px;padding:7px 10px calc(5px + env(safe-area-inset-bottom));background:transparent}
 .tl-follow>a,.tl-follow>a:nth-child(2),.tl-follow>a:nth-child(3){width:auto;min-height:46px;padding:8px 4px;border-radius:18px 18px 18px 7px;transform:none}
 .tl-follow>a:nth-child(2){border-radius:15px 20px 15px 20px}.tl-follow>a:nth-child(3){border-radius:20px 12px 20px 12px}
 .tl-follow>a:before,.tl-follow>a:after{display:none}.tl-follow a span{width:18px;height:18px;font-size:12px}
}
body.tl-theme-paper .global-nav .tl-nav-brand>p,
body.tl-theme-paper .global-nav .tl-nav-brand>span,
body.tl-theme-paper .global-nav .tl-nav-brand>a,
body.tl-theme-paper .global-nav .tl-nav-copy{color:#000!important}
/* Follow rail labels and arrows are white on every breakpoint. */
body.tl-theme-paper .tl-follow>a,
body.tl-theme-paper .tl-follow>a span{color:#fff!important}
.tl-follow a span{background:#00000012}

/* A scalloped cloud all around the service CTA; text stays unmasked. */
.tl-follow>a:nth-child(2){background:transparent;border-radius:0}
.tl-follow>a:nth-child(2):before{content:'';display:block;position:absolute;inset:-3px -2px;width:auto;height:auto;border-radius:0;background:var(--tl-yellow);z-index:-1;pointer-events:none;-webkit-mask:url('assets/theme/follow-cloud.svg') center/100% 100% no-repeat;mask:url('assets/theme/follow-cloud.svg') center/100% 100% no-repeat}
.tl-follow>a:nth-child(2):after{display:none}
#talent-about #tl-about-title{font-weight:800}
@media(max-width:700px){.tl-follow>a:nth-child(2):before{display:block;inset:-2px 0;-webkit-mask-image:url('assets/theme/follow-cloud-horizontal.svg');mask-image:url('assets/theme/follow-cloud-horizontal.svg')}}

/* Compact consultation with a larger two-line headline. */
#kv .tl-hero__title{font-size:clamp(40px,4vw,68px);line-height:1.28;margin-bottom:14px}
#kv .tl-hero__lead{margin-bottom:12px}
#kv .tl-consult{margin-top:18px;padding:18px 20px}
#kv .tl-consult textarea{min-height:74px;height:74px}
#kv .tl-consult__bottom{margin-top:12px}
@media(max-width:900px){#kv .tl-hero__title{font-size:clamp(30px,5.8vw,46px)}#kv .tl-consult{margin-top:18px;padding:17px}}
@media(max-width:450px){#kv .tl-hero__title{font-size:clamp(26px,8vw,36px)}}

/* Supplied dynamic composition: preserve the overlapping pairs and full faces. */
#kv.tl-hero{min-height:920px;padding:180px 0;box-sizing:border-box}
#kv .tl-hero__content{width:46%;max-width:760px}
.tl-dynamic-cast{position:absolute;inset:0;z-index:1;pointer-events:none}
.tl-dynamic-piece{position:absolute;overflow:hidden;animation:tl-dynamic-float 10s ease-in-out infinite alternate}
.tl-dynamic-piece--left{left:1%;top:4%;width:33%;height:92%;animation-delay:-3s}
.tl-dynamic-piece--right{right:1%;top:4%;width:30%;height:92%;animation-duration:12s}
.tl-dynamic-piece--top{left:37%;top:7px;width:27%;height:175px;animation-duration:9s;animation-delay:-2s}
.tl-dynamic-piece--bottom{left:38%;bottom:10px;width:29%;height:180px;animation-duration:11s}
.tl-dynamic-mobile{display:none}
@keyframes tl-dynamic-float{from{transform:translateY(-4px) rotate(-.6deg)}to{transform:translateY(5px) rotate(.6deg)}}
@media(max-width:1000px){
 #kv.tl-hero{height:auto;min-height:100svh;padding:80px 22px 60px;display:flex;flex-direction:column;gap:18px}
 .tl-dynamic-cast{display:none}.tl-dynamic-mobile{display:block;width:100%;max-width:740px;height:auto;object-fit:contain;position:relative;order:0;z-index:1}
 #kv .tl-hero__content{width:100%;max-width:620px;order:1}
 #kv .tl-hero__title{font-size:clamp(30px,5.8vw,46px)}
}
@media(max-width:450px){#kv .tl-hero__title{font-size:clamp(26px,8vw,36px)}}
@media(prefers-reduced-motion:reduce){.tl-dynamic-piece{animation:none!important}}
body.tl-motion-paused .tl-dynamic-piece{animation-play-state:paused}

/* Reversible two-part theme: continuous blue/green opening, paper from movies. */
.tl-brand-opening{background:linear-gradient(125deg,#29b4e7 0%,#27c4b2 46%,#65d65b 100%);isolation:isolate}
body.tl-theme-paper .tl-brand-opening #kv.tl-hero,
body.tl-theme-paper .tl-brand-opening #talent-about{background:transparent!important}
body.tl-theme-paper .tl-brand-opening #kv .tl-hero__title,
body.tl-theme-paper .tl-brand-opening #kv .tl-hero__lead,
body.tl-theme-paper .tl-brand-opening #talent-about #tl-about-title,
body.tl-theme-paper .tl-brand-opening #talent-about .texts>p{color:#fff!important}
/* White input and About action surfaces preserve their existing ink and colours. */
.tl-brand-opening #kv .tl-consult{box-shadow:0 12px 36px #073d3424}
.tl-brand-opening #talent-about{margin-bottom:0}
.tl-ambient{position:absolute;display:block;pointer-events:none;animation:tl-ambient-drift var(--duration,13s) ease-in-out infinite alternate;opacity:.8}
.tl-ambient i{display:block;width:100%;height:100%;box-sizing:border-box}
.tl-ambient--ring{left:19%;top:12%;width:30px;height:30px;--duration:14s}
.tl-ambient--ring i{border:4px solid #ffe78d;border-radius:50%}
.tl-ambient--bubble{right:17%;bottom:8%;width:18px;height:18px;--duration:11s;animation-delay:-5s}
.tl-ambient--bubble i{border-radius:50%;background:#c3f6ea}
.tl-ambient--pill{left:6%;bottom:14%;width:12px;height:31px;--duration:16s;animation-delay:-3s}
.tl-ambient--pill i{border-radius:12px;background:#ffabd1;transform:rotate(28deg)}
.tl-ambient--orbit{right:5%;top:9%;width:38px;height:23px;--duration:15s;animation-delay:-8s}
.tl-ambient--orbit i{border:3px solid #b3e9ff;border-radius:50%;transform:rotate(-30deg)}
.tl-ambient--dots{left:31%;bottom:5%;width:8px;height:8px;--duration:12s;animation-delay:-6s}
.tl-ambient--dots i{border-radius:50%;background:#fff;box-shadow:15px -10px 0 -1px #fff,26px 2px 0 -2px #fff}
.tl-ambient--arc{right:31%;top:5%;width:28px;height:28px;--duration:17s;animation-delay:-4s}
.tl-ambient--arc i{border:4px solid #e2c9ff;border-right-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:rotate(-20deg)}
@keyframes tl-ambient-drift{from{transform:translate3d(0,-5px,0) rotate(-8deg)}to{transform:translate3d(5px,8px,0) rotate(10deg)}}
@media(max-width:1000px){.tl-ambient--ring{left:4%;top:24%;width:23px;height:23px}.tl-ambient--orbit{right:5%;top:5%;width:28px;height:18px}.tl-ambient--bubble{right:9%;top:36%;bottom:auto;width:13px;height:13px}.tl-ambient--pill,.tl-ambient--dots,.tl-ambient--arc{display:none}}
@media(prefers-reduced-motion:reduce){.tl-ambient{animation:none!important}}
body.tl-motion-paused .tl-ambient{animation-play-state:paused}

/* About body uses the local LINE Seed JP Bold face. */
#talent-about .texts>p{font-weight:700}

/* White menu interior and small plush nodax gripping the consultation edge. */
.global-nav .nav_inr{background:#fff!important}
#kv .tl-consult{position:relative;overflow:visible}
#kv .tl-consult>.tl-nodax-peek{position:absolute;top:-41px;right:13px;width:47.5px;height:47.5px;max-width:none;object-fit:contain;pointer-events:none;z-index:2}

/* nodax welcomes visitors in the menu brand area. */
.tl-nav-brand{position:relative}
.tl-nav-brand>img.tl-nav-nodax{display:block;width:150px;height:150px;object-fit:contain;margin:30px auto 0}
@media(max-width:1000px){.tl-nav-brand{display:block;min-height:88px;padding-right:110px}.tl-nav-brand>img.tl-nav-nodax{position:absolute;right:5px;top:0;width:86px;height:86px;margin:0}.tl-nav-brand>a{display:none}}
@media(max-width:700px){.tl-nav-brand>img.tl-nav-nodax{top:12px;right:28px;width:76px;height:76px}.tl-nav-brand{padding-right:110px}}

/* Give the About message more presence while retaining the edge artwork. */
#talent-about #tl-about-title{font-size:clamp(31px,3.2vw,48px);line-height:1.6;margin-bottom:30px}
#talent-about .texts>p{font-size:18px;line-height:1.95;margin-bottom:22px}
@media(max-width:1000px) and (min-width:701px){#talent-about #tl-about-title{font-size:32px}#talent-about .texts>p{font-size:16px}}
@media(max-width:700px){#talent-about #tl-about-title{font-size:23px;line-height:1.6;margin-bottom:22px}#talent-about .texts>p{font-size:14px;line-height:1.9;margin-bottom:20px}}

/* Mobile About: let the headline breathe across the full viewport. */
@media(max-width:700px){
  #talent-about .text_area{grid-template-columns:minmax(0,32%) minmax(0,1fr);grid-template-rows:auto auto;column-gap:5%;}
  #talent-about #tl-about-title{grid-column:1/-1;grid-row:1;width:100%;font-size:22px;line-height:1.55;letter-spacing:0;margin:0 0 24px;white-space:normal}
  #talent-about .illust_area{grid-column:1;grid-row:2;width:100%;align-self:start;margin-top:4px}
  #talent-about .texts{grid-column:2;grid-row:2;width:100%;padding:0;align-self:start}
  #talent-about .texts>p{font-size:13px;line-height:1.85;margin-bottom:17px;letter-spacing:0}
}

/* Keep the mobile About headline comfortably inset from the viewport edge. */
@media(max-width:700px){
  #talent-about #tl-about-title{width:90%;margin:0 auto 24px;text-align:center;box-sizing:border-box}
}

/* On mobile, keep the floating character cluster clearly below the brand mark. */
@media(max-width:800px){
  #kv.tl-hero{padding-top:132px}
  #kv .tl-dynamic-mobile{width:min(100%,680px);margin-inline:auto}
}

/* Keep Nodax clear of the last line in the mobile hero lead. */
@media(max-width:700px){
  #kv .tl-consult{margin-top:58px}
  #kv .tl-consult>.tl-nodax-peek{top:-40px;right:8px}
}

/* A few quiet accents continue the hero motif into About. */
#talent-about{position:relative;isolation:isolate}
#talent-about .text_area{position:relative;z-index:1}
.tl-about-decor{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.tl-about-decor span{position:absolute;opacity:.65;animation:tl-about-drift 9s ease-in-out infinite alternate}
.tl-about-spark{width:30px;height:30px;background:#ffe36c;clip-path:polygon(50% 0,64% 35%,100% 50%,64% 65%,50% 100%,36% 65%,0 50%,36% 35%)}
.tl-about-spark--one{right:5%;top:10%}.tl-about-spark--two{left:47%;bottom:7%;width:18px;height:18px;background:#b6f1ff;animation-delay:-4s!important}
.tl-about-heart{left:4%;top:73%;width:21px;height:21px;background:#ffa1cb;transform:rotate(-45deg);border-radius:3px;animation-delay:-2s!important}
.tl-about-heart:before,.tl-about-heart:after{content:"";position:absolute;width:21px;height:21px;border-radius:50%;background:inherit}.tl-about-heart:before{top:-10px;left:0}.tl-about-heart:after{left:10px;top:0}
@keyframes tl-about-drift{from{translate:0 -5px}to{translate:3px 6px}}
@media(max-width:700px){.tl-about-spark--one{width:20px;height:20px;right:4%;top:3%}.tl-about-heart{left:8%;top:80%;scale:.7}.tl-about-spark--two{left:42%;bottom:5%}}
@media(prefers-reduced-motion:reduce){.tl-about-decor span{animation:none}}

/* Three quiet white accents, reserved for the desktop About canvas. */
.tl-about-extra{display:none}
@media(min-width:1001px){
 .tl-about-decor .tl-about-extra{display:block;background:#fff;opacity:.8}
 .tl-about-heart--white-one{left:auto;right:7%;top:43%;scale:1.1;animation-delay:-3s!important}
 .tl-about-heart--white-two{left:38%;top:auto;bottom:12%;scale:.65;animation-delay:-6s!important}
 .tl-about-spark--white{left:31%;top:7%;width:25px;height:25px;animation-delay:-1s!important}
}

/* One-colour emoji accents replace the follow-button arrows. */
.tl-follow>a .tl-follow-emoji{display:block;flex-shrink:0;width:24px;height:24px;padding:0;border:0;border-radius:0;background:#fff!important;box-shadow:none;transform:none;writing-mode:horizontal-tb;mask:var(--follow-emoji) center/contain no-repeat;-webkit-mask:var(--follow-emoji) center/contain no-repeat}
.tl-follow-emoji--chat{--follow-emoji:url('/assets/emojis/chat.svg')}
.tl-follow-emoji--sparkle{--follow-emoji:url('/assets/emojis/sparkle.svg')}
.tl-follow-emoji--heart{--follow-emoji:url('/assets/emojis/heart.svg')}
@media(max-width:700px){.tl-follow>a .tl-follow-emoji{display:inline-block;width:20px;height:20px;vertical-align:middle}}

.tl-follow-emoji--document{--follow-emoji:url('/assets/emojis/document.svg')}

/* Each mascot has its own gentle vertical rhythm on desktop and mobile. */
.tl-dynamic-piece{animation:none;overflow:visible}
.tl-dynamic-mobile{overflow:visible}
.tl-cast-float{animation:tl-cast-bob var(--cast-duration,7s) ease-in-out var(--cast-delay,0s) infinite;pointer-events:none}
.tl-cast-float--green{--cast-duration:7.8s;--cast-delay:-1.8s}
.tl-cast-float--blue{--cast-duration:8.6s;--cast-delay:-4.6s}
.tl-cast-float--pink{--cast-duration:8.2s;--cast-delay:-2.7s}
.tl-cast-float--mint{--cast-duration:7.4s;--cast-delay:-5.1s}
.tl-cast-float--yellow{--cast-duration:6.8s;--cast-delay:-3.2s}
.tl-cast-float--purple{--cast-duration:9.2s;--cast-delay:-.7s}
@keyframes tl-cast-bob{0%,100%{transform:translateY(-7px)}50%{transform:translateY(7px)}}
body.tl-motion-paused .tl-cast-float{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.tl-cast-float{animation:none!important}}

/* iPhone-safe hero artwork and left-aligned mobile About grid. */
@media(max-width:1000px){
 #kv img.tl-dynamic-mobile{display:block!important;flex:0 0 auto;width:100%;height:auto;aspect-ratio:1672/940;max-width:680px;position:relative;margin:0 auto;animation:tl-mobile-cast-float 8s ease-in-out infinite}
}
@keyframes tl-mobile-cast-float{0%,100%{transform:translateY(-3px)}50%{transform:translateY(3px)}}
@media(max-width:700px){
 #talent-about .text_area{grid-template-columns:minmax(0,38%) minmax(0,1fr);grid-template-rows:auto auto;column-gap:4%;padding-right:5%;align-items:start}
 #talent-about #tl-about-title{grid-column:2;grid-row:1;width:100%;margin:0 0 20px;text-align:left;font-size:20px;line-height:1.6}
 #talent-about .texts{grid-column:2;grid-row:2;width:100%;padding:0}
 #talent-about .illust_area{grid-column:1;grid-row:1/3;width:125%;max-width:none;margin:24px 0 0 -25%;align-self:center}
 #talent-about .illust_area>img{width:100%;height:auto;max-height:none}
}
body.tl-motion-paused #kv img.tl-dynamic-mobile{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){#kv img.tl-dynamic-mobile{animation:none!important}}

/* Keep the mobile cast below the logo; following copy moves with it. */
@media(max-width:800px){
 #kv img.tl-dynamic-mobile{margin-top:64px!important;flex-shrink:0}
 #kv.tl-hero{justify-content:flex-start;height:auto;max-height:none}
}

/* Compact mobile logo-to-cast spacing, without decorative clutter. */
@media(max-width:800px){
 #kv.tl-hero{padding-top:92px;gap:14px}
 #kv img.tl-dynamic-mobile{margin-top:0!important}
 #kv .tl-hero-floats{display:none}
}

/* Keep overlapping silhouettes intact; animate each complete cutout group. */
.tl-dynamic-piece{animation-name:tl-dynamic-float-safe;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:normal;overflow:visible}
.tl-dynamic-piece--left{animation-duration:7.8s;animation-delay:-2.1s}
.tl-dynamic-piece--right{animation-duration:8.8s;animation-delay:-5.2s}
.tl-dynamic-piece--top{animation-duration:7s;animation-delay:-3.5s}
.tl-dynamic-piece--bottom{animation-duration:9s;animation-delay:-1s}
@keyframes tl-dynamic-float-safe{0%,100%{transform:translateY(-9px) rotate(-.4deg)}50%{transform:translateY(9px) rotate(.4deg)}}
@keyframes tl-mobile-cast-float{0%,100%{transform:translateY(-5px)}50%{transform:translateY(5px)}}
@media(prefers-reduced-motion:reduce){.tl-dynamic-piece{animation:none!important}}

/* Slightly stronger KV headline, preserving the existing two-line composition. */
#kv .tl-hero__title{font-size:clamp(42px,4.2vw,71px)}
@media(max-width:1000px){#kv .tl-hero__title{font-size:clamp(32px,6.1vw,48px)}}
@media(max-width:450px){#kv .tl-hero__title{font-size:clamp(27px,8.35vw,37.5px);letter-spacing:-.045em}}

.pickup>.en-tit:before{width:1.15em;height:1.15em;flex-shrink:0;border-radius:0;background:transparent url('/assets/emojis/sparkle.svg') center/contain no-repeat;box-shadow:none}
