/* Connect Studio — balanced bilingual editorial typography.
   Meaningful English heading + readable Japanese copy; no scattered decorative slogans.
   Append after the previous refinement so all existing 3D and Works rules stay intact. */
:root { --display-blue: #587bff; }
.hero .hero-title{
 top:25%; left:var(--gutter); max-width:min(77vw,1040px);
 width:auto; font-size:initial; line-height:normal; letter-spacing:normal;
}
.hero .hero-title .line-first.hero-head-en{
 display:block; font:600 clamp(77px,8.3vw,131px)/1.02 var(--display) !important;
 letter-spacing:-.075em; color:#f4f5f9; white-space:nowrap;
}
.hero .hero-head-en .hero-dot{color:#7694ff;}
.hero .hero-title .line-last.hero-head-ja{
 display:block; margin-top:clamp(21px,2.4vw,38px);
 font:600 clamp(38px,4.45vw,70px)/1.45 var(--sans) !important;
 letter-spacing:-.065em; color:#94aeff; white-space:normal;
}
.hero-caption {max-width:690px;}
.hero-caption p {letter-spacing:.015em;}
/* Works is now anchored by confident English, not a massive block of Japanese. */
.works-section .section-heading{align-items:end;}
.works-section .section-title{
 font-family:var(--display); line-height:1.2; letter-spacing:normal;
}
.section-title .portfolio-en{
 display:block; font:500 clamp(59px,6.4vw,99px)/1.04 var(--display);
 letter-spacing:-.065em; white-space:nowrap; color:#10141d;
}
.section-title .portfolio-en em{font-weight:500;font-style:italic;font-family:Georgia, 'Times New Roman',serif;letter-spacing:-.07em;}
.section-title .portfolio-ja{
 display:block; margin-top:26px;
 font:550 clamp(26px,2.35vw,37px)/1.48 var(--sans);
 letter-spacing:-.055em; color:#253861;
}
/* Interior page headings. The Japanese line is no longer competing in size. */
.page-top h1.display:has(.page-heading-en),
.page-top h1:has(.page-heading-en),
.studio-page .page-top h1:has(.page-heading-en),
.privacy-page .page-top h1:has(.page-heading-en){
 font-family:var(--display); letter-spacing:normal; line-height:1.1;
 max-width:none;
}
.page-heading-en{
 display:block; font:500 clamp(75px,8.4vw,130px)/1.1 var(--display);
 letter-spacing:-.07em; color:var(--ink);
}
.page-heading-ja{
 display:block;margin-top:19px;
 font:550 clamp(23px,2.45vw,38px)/1.55 var(--sans);
 letter-spacing:-.055em; color:#303949;
}
/* A single English anchor gives Studio a portfolio-style identity. */
.studio-intro h2{font-family:var(--sans);}
.studio-heading-en{
 display:block; font:500 clamp(70px,7.2vw,112px)/1.09 var(--display);
 letter-spacing:-.075em; color:#111823;
}
.studio-heading-en .studio-heading-dot{color:#456fff;}
.studio-heading-ja{
 display:block; margin-top:24px;
 font:600 clamp(29px,3vw,45px)/1.55 var(--sans);
 letter-spacing:-.055em; color:#101720;
}
.studio-service-title .service-heading-en{
 display:block;font:500 clamp(49px,5vw,78px)/1.12 var(--display);
 letter-spacing:-.065em;color:#131824;
}
.studio-service-title .service-heading-ja{
 display:block;margin-top:15px;
 font:550 clamp(21px,2vw,31px)/1.5 var(--sans);
 letter-spacing:-.045em;color:#44536b;
}
/* Keep short labels and contact CTA restrained, never a giant English sales block. */
.footer-cta h2{font-family:var(--sans);}
@media (min-width:761px) and (max-width:1100px){
 .hero .hero-title{top:27%;max-width:78vw;}
 .hero .hero-title .line-first.hero-head-en{font-size:clamp(65px,8vw,92px)!important;}
 .hero .hero-title .line-last.hero-head-ja{font-size:clamp(40px,4.25vw,49px)!important;}
 .section-title .portfolio-en{font-size:clamp(55px,6.2vw,72px);}
 .section-title .portfolio-ja{font-size:clamp(25px,2.8vw,31px);}
 .studio-heading-en{font-size:clamp(63px,7vw,85px);}
 .studio-heading-ja{font-size:clamp(27px,3vw,35px);}
}
@media(max-width:760px){
 .hero .hero-title{top:179px;left:var(--gutter);max-width:calc(100% - 2*var(--gutter));}
 .hero .hero-title .line-first.hero-head-en{font-size:clamp(57px,12.9vw,79px)!important;line-height:1.06;white-space:nowrap;}
 .hero .hero-title .line-last.hero-head-ja{font-size:clamp(30px,7.25vw,44px)!important;line-height:1.53;margin-top:25px;white-space:normal;}
 .hero-caption{bottom:130px;}
 .works-section .section-heading{display:block;}
 .section-title .portfolio-en{font-size:clamp(40px,10.9vw,59px);white-space:normal;line-height:1.09;}
 .section-title .portfolio-ja{font-size:clamp(22px,5.8vw,31px);line-height:1.5;margin-top:17px;}
 .section-heading .eyebrow{margin-bottom:16px;}
 .page-top{padding-bottom:55px;}
 .page-heading-en{font-size:clamp(62px,13.8vw,91px);line-height:1.07;}
 .page-heading-ja{font-size:clamp(20px,5.35vw,29px);margin-top:14px;line-height:1.5;}
 .studio-intro h2{line-height:1.2;}
 .studio-heading-en{font-size:clamp(66px,14vw,91px);}
 .studio-heading-ja{font-size:clamp(23px,5.75vw,33px);line-height:1.6;margin-top:17px;}
 .studio-service-title .service-heading-en{font-size:clamp(42px,10.5vw,61px);}
 .studio-service-title .service-heading-ja{font-size:clamp(19px,5.1vw,27px);margin-top:14px;}
}
@media(max-width:375px){
 .hero .hero-title .line-first.hero-head-en{font-size:12vw!important;}
 .section-title .portfolio-en{font-size:10vw;}
 .page-heading-en{font-size:12.2vw;}
}
