/* A short Japanese introduction, with the same Coast colours and real work. */
.japanese-page{font-family:Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;line-height:1.95;overflow-wrap:break-word;line-break:strict;word-break:normal}
.japanese-page h1,.japanese-page h2,.japanese-page h3{letter-spacing:.01em;line-height:1.5}
.japanese-page .wrap{max-width:1280px}
.jp-header .header-inner{gap:1rem}
.jp-header .jp-language{position:static;display:flex;flex-direction:row;gap:1.5rem;align-items:center;flex-wrap:nowrap;padding:0;border:0;background:transparent;max-height:none;overflow:visible}
.jp-header .jp-language a,.jp-language>span{display:inline-flex;gap:.5rem;align-items:center;min-height:44px;font-size:.875rem;letter-spacing:0;white-space:nowrap;border:0;padding:0}
.jp-language>span{border-bottom:2px solid var(--accent);font-weight:600}
.jp-hero{background:var(--ink);color:var(--paper);padding-block:clamp(2.5rem,5vw,4.5rem)}
.jp-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.jp-kicker{color:var(--accent);font-size:.875rem;letter-spacing:.06em;font-weight:600;margin-bottom:1.25rem}
.jp-hero h1{font-size:clamp(1.7rem,3.1vw,2.8rem);line-height:1.55;font-weight:600;margin-bottom:1.5rem}
.jp-hero h1 em{color:var(--accent)}
.jp-hero p:not(.jp-kicker){font-size:1rem;color:#e0e7e1;max-width:36rem}
.jp-hero .jp-lead{font-size:1.0625rem!important}
.jp-button{margin-top:1.7rem;background:var(--accent);color:var(--ink);font-size:1rem}
.jp-button:hover{background:var(--paper)}
.jp-hero :focus-visible,.jp-footer :focus-visible{outline-color:var(--accent)}
.jp-portrait{margin:0;min-width:0}
.jp-portrait img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 35%;border-radius:2px}
.jp-portrait figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.3rem .8rem;color:#cbd6ce;font-size:.75rem;margin-top:.7rem}
.jp-section{padding-block:clamp(3rem,6vw,5rem)}
.jp-section-label{display:flex;justify-content:space-between;gap:1rem;font-size:.8125rem;letter-spacing:.06em;color:var(--muted);border-top:1px solid var(--line);padding-top:1rem;margin-bottom:2rem}
.jp-two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:clamp(2rem,5vw,5rem)}
.japanese-page h2{font-size:clamp(1.5rem,2.6vw,2.2rem)}
.jp-audience-note{border-left:2px solid var(--accent);padding-left:1rem;font-size:.8125rem;color:var(--muted);line-height:1.9;margin-top:1.6rem!important}
.jp-work{background:var(--soft)}
.jp-work-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2rem}
.jp-work-heading>p{font-size:.875rem;color:var(--muted)}
.jp-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;max-width:720px;margin-inline:auto}
.jp-work-grid figure{margin:0;min-width:0}
.jp-work-grid video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:var(--ink);border-radius:2px}
.jp-work-grid figcaption{margin-top:1rem}
.jp-work-grid h3{font-size:1.125rem;letter-spacing:-.02em;line-height:1.4}
.jp-work-grid figcaption p{font-size:.9375rem;color:var(--muted);margin-top:.5rem}
.jp-more-work{display:flex;width:fit-content;margin:2rem auto 0;font-size:.9375rem}
.jp-contact{background:var(--accent)}
.jp-contact .jp-kicker{color:var(--ink)}
.jp-contact .contact-email{font-size:clamp(1rem,2vw,1.4rem);line-height:1.5;margin-top:1.4rem;max-width:100%}
.jp-signoff{font-size:.875rem;margin-top:1.4rem!important}
.jp-signoff span{font-size:.8125rem}
.jp-contact :focus-visible{outline-color:var(--ink)}
.jp-footer{padding-block:2rem}
.jp-footer>.wrap{display:flex;justify-content:space-between;gap:2rem;align-items:center}
.jp-footer .text-link{font-size:.875rem;white-space:nowrap}
.jp-footer p{font-size:.75rem;color:#cbd6ce;line-height:1.7;text-align:right}
.jp-footer p span{display:block}
@media(max-width:900px){.jp-hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:2rem}.jp-hero h1{font-size:1.75rem}.jp-two-column{gap:2rem}}
@media(max-width:700px){
 .jp-header .jp-language{gap:1rem}
 .jp-hero-grid,.jp-two-column{grid-template-columns:minmax(0,1fr);gap:2rem}
 .jp-hero h1{font-size:clamp(1.55rem,5.4vw,2.2rem);line-height:1.6}
 .jp-hero h1 br{display:none}
 .jp-portrait{max-width:420px;width:100%;margin-inline:auto}
 .jp-portrait img{aspect-ratio:4/3;object-position:50% 38%}
 .jp-work-heading{display:block}
 .jp-work-heading>p{margin-top:1rem}
 .jp-work-grid{gap:1rem}
 .jp-work-grid h3{font-size:1rem}
 .jp-work-grid figcaption p{font-size:.8125rem;line-height:1.8}
 .jp-footer>.wrap{display:block}
 .jp-footer p{margin-top:1.2rem;text-align:left}
}
@media(max-width:360px){.jp-header .logo-crop{width:125px}.jp-header .logo-crop img{width:168px;height:168px;top:-56px;left:-22px}.jp-header .jp-language{gap:.75rem}.jp-header .jp-language a,.jp-language>span{font-size:.8125rem}.jp-work-grid{grid-template-columns:1fr;max-width:260px}.jp-work-grid figure+figure{margin-top:1rem}}
@media print{.jp-hero,.jp-work,.jp-contact,.jp-footer{background:#fff;color:#000}.jp-hero p:not(.jp-kicker),.jp-kicker,.jp-footer p{color:#333}.jp-portrait,.jp-work video,.jp-button,.jp-more-work{display:none}.jp-hero-grid,.jp-two-column{display:block}.jp-section{padding-block:1.5rem}}
