:root{--cocci-black:#111111;--cocci-red:#ff5b5f;--cocci-yellow:#ffc400;--measure:34em}
.editorial-page{letter-spacing:.025em}
.editorial-page .page-hero{padding-block:clamp(5rem,9vw,8rem)}
.editorial-page .page-hero h1{font-size:clamp(3.7rem,9vw,8rem);font-weight:700;line-height:.9;letter-spacing:.015em}
.editorial-page .page-hero .lead{max-width:30em;margin-left:auto;font-size:clamp(1.15rem,1.9vw,1.55rem);line-height:1.9;letter-spacing:.055em}
.jp-lines{font-family:"Hiragino Sans","Yu Gothic",sans-serif;line-height:1.9;letter-spacing:.065em}
.square-block{border-radius:0!important;min-height:min(620px,72vh);padding:clamp(2.3rem,6vw,6rem)}
.square-block.yellow{background:var(--cocci-yellow);color:var(--cocci-black)}
.square-block.red{background:var(--cocci-red);color:var(--cocci-black)}
.square-block.black{background:var(--cocci-black);color:#fff}
.square-block.gray{background:#dedede;color:var(--cocci-black)}
.block-kicker{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase}
.block-heading{max-width:15em;margin:0;font-size:clamp(2rem,4.2vw,4.4rem);font-weight:430;line-height:1.35;letter-spacing:.045em}
.block-copy{max-width:var(--measure);font-size:clamp(1rem,1.55vw,1.3rem);line-height:1.95;letter-spacing:.055em}
.service-grid.editorial-services{grid-template-columns:repeat(2,1fr)}
.editorial-services .service{min-height:290px;padding:clamp(2rem,4vw,4rem)}
.editorial-services .service h3{font-family:"Hiragino Sans","Yu Gothic",sans-serif;font-size:clamp(1.55rem,2.8vw,2.65rem);font-weight:560;line-height:1.35;letter-spacing:.065em}
.editorial-services .service p{max-width:29em;line-height:1.85;letter-spacing:.045em}
.editorial-services .service-en{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;color:#555}
.contact-style-block{min-height:440px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}
.contact-style-block .block-heading{font-size:clamp(1.8rem,3.1vw,3.4rem);line-height:1.55;max-width:18em}
.contact-style-block .btn{border-radius:0}
.think-title{margin:0;font-size:clamp(3.8rem,8.6vw,8rem);font-weight:800;line-height:.9;letter-spacing:.01em}
.process.editorial-process{grid-template-columns:repeat(3,1fr)}
.process-title{display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap}
.process-title small{font-family:"Hiragino Sans","Yu Gothic",sans-serif;font-size:.78rem;font-weight:500;letter-spacing:.08em;color:#666}
.profile-name{font-size:clamp(3.4rem,8vw,7.5rem);font-weight:700;line-height:.9;letter-spacing:.02em;margin:0}
.profile-role{font-family:var(--font-mono);font-size:clamp(.72rem,1vw,.9rem);letter-spacing:.1em;line-height:1.7;margin:1.5rem 0 4rem;text-transform:uppercase}
.journal-coming{min-height:500px;display:flex;flex-direction:column;justify-content:space-between}
.journal-coming .block-heading{max-width:17em}
.email-link{display:inline-block;font-size:clamp(1rem,2vw,1.35rem);font-weight:600;letter-spacing:.04em;text-decoration:underline;text-underline-offset:.3em}
.editorial-page .btn{border-radius:0}
@media(max-width:800px){.editorial-page .page-hero .lead{margin-left:0}.service-grid.editorial-services,.process.editorial-process{grid-template-columns:1fr}.square-block{min-height:500px;margin-inline:-1rem}.block-heading{font-size:2rem}.think-title{font-size:3.8rem}.profile-name{font-size:4rem}}
