/* An editorial continuation of the existing paper, ink and miniature world. */
html{scroll-padding-top:28px}
body{overflow-wrap:break-word}
.experience-purpose{font-size:.875rem;line-height:1.8;color:var(--muted);margin:8px 0 6px;text-align:center;font-weight:400;letter-spacing:0}
:is(a,button,input,select,textarea):focus-visible{outline:2px solid var(--blue);outline-offset:5px}
.identity-section{padding-top:94px;padding-bottom:88px}
.identity-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:end;margin-bottom:55px}
.identity-heading h2{font-size:clamp(1.85rem,3.3vw,2.8rem);line-height:1.7}
.identity-intro{max-width:29em;justify-self:end}
.identity-intro p{font-size:1rem;line-height:2;color:var(--muted)}
.identity-intro .identity-premise{font-size:1.16rem;line-height:1.85;color:var(--ink);margin-bottom:15px}
/* One shared work scene introduces the relationship before the four roles. */
.identity-heading-with-scene{row-gap:22px;align-items:center}
.identity-title-block{grid-column:1/-1}
.identity-scene{width:100%;max-width:650px;min-width:0;margin:0}
.identity-scene>img{display:block;width:100%;height:auto}
.identity-scene figcaption{padding-top:12px;text-align:center}
.identity-scene-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-inline:15%;font-size:.875rem;line-height:1.8;letter-spacing:.03em;color:var(--muted)}
.identity-scene-people strong{font-weight:500;color:var(--ink)}
.identity-scene-note{font-size:.75rem;line-height:1.8;color:var(--muted);margin:10px 0 0}
.identity-heading-with-scene .identity-intro{align-self:center}
.dialogue-head,.dialogue-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.95fr) minmax(0,1fr);gap:34px}
.dialogue-head{padding-bottom:18px;font-size:.875rem;color:var(--muted)}
.dialogue-head span:nth-child(2){text-align:center}.dialogue-head span:last-child{text-align:right}
.dialogue-list{border-top:1px solid var(--line)}
.dialogue-row{position:relative;padding:27px 0 25px;align-items:center;border-bottom:1px solid var(--line)}
.dialogue-voice{font-size:1.15rem;line-height:1.95;font-weight:400;letter-spacing:.02em}
.voice-company{text-align:right}.voice-label{display:none}
.dialogue-role{position:relative;text-align:center;padding:0 9px}
.dialogue-role h3{font-size:1.6rem;font-weight:600;line-height:1.5;letter-spacing:.025em;margin:0 0 8px}
.role-number{display:block;font:400 .75rem/1.4 Arial,sans-serif;letter-spacing:.08em;color:var(--orange-dark);margin-bottom:5px}
.dialogue-role>p{font-size:1rem;line-height:1.8;color:var(--muted);margin:0}
.dialogue-role>a{display:inline-flex;gap:10px;align-items:center;justify-content:center;font-size:.875rem;line-height:1.6;min-height:44px;margin-top:4px}
.dialogue-role>a:hover{color:var(--orange-dark)}
.dialogue-role::after{content:'';position:absolute;bottom:0;left:20%;width:60%;height:1px;background:var(--orange-dark);transform:scaleX(0);transform-origin:left;transition:transform .65s ease-out}
.dialogue-row.is-read .dialogue-role::after{transform:scaleX(1)}
.identity-foot{display:flex;justify-content:space-between;align-items:start;gap:40px;padding-top:29px}
.identity-foot>p{font-size:1rem;line-height:2}.identity-foot strong{font-weight:500}
.identity-foot>div{text-align:right}.identity-motto{font-size:.95rem;letter-spacing:.08em;line-height:1.8}
.identity-foot .small-note{font-size:.75rem;margin-top:11px;line-height:1.8}
.tugumi-section{border-top:1px solid var(--line)}
.tugumi-copy .student-reason{border-left:2px solid var(--line);padding-left:18px}
.case-scope{font-size:.75rem!important;line-height:1.75!important;color:var(--muted);margin-top:5px!important}
.report-section{padding-top:24px;padding-bottom:100px}
.service-summary>.service-deliverable{font-size:.875rem;line-height:1.85;color:var(--ink);margin-top:15px}
.service-deliverable>span{font-size:.75rem;line-height:1.7;display:block;color:var(--muted);margin-bottom:3px}
.service-card .service-identity,.service-summary{min-width:0}
.service-card .price{white-space:nowrap}
.service-card .price small{white-space:normal}
.service-more{text-align:left}
.service-help{align-items:center;border-top:0}
/* The filming vignette supports the offer; the name and price come first. */
.service-pr{grid-template-areas:'identity summary price action' 'scene scene scene scene'}
.pr-shoot{font-family:var(--font);margin-top:4px;grid-template-columns:minmax(210px,.72fr) minmax(0,1.28fr);padding:0 36px 0 20px;gap:32px}
.pr-frame{max-width:270px;background-image:none}
.pr-frame.is-loaded{background-image:url('assets/pr-filming.webp')}
.pr-quote{font-size:1.35rem;line-height:1.6;padding:11px 18px;margin:10px 0 13px}
.pr-caption{font-size:.875rem;line-height:1.9}
.pr-scene-bottom{margin-top:8px}.pr-scene-label{font-size:.875rem}
.pr-scene-copy{padding-block:20px}
.approach-section{padding-block:87px 0}
.approach-note{display:flex;justify-content:space-between;align-items:center;gap:35px;border-top:1px solid var(--line);margin-top:37px;padding-top:24px}
.approach-note p{font-size:.875rem;line-height:1.9;color:var(--muted)}
.approach-note .text-link{flex-shrink:0}
.media-section{margin-top:80px;padding-top:45px;padding-bottom:85px}
.contact-actions>p{font-size:.875rem;line-height:1.9}
/* The same tone on the company and inquiry pages. */
.about-role-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin-top:30px}
.about-role-list>div{border-top:1px solid var(--line);padding-top:18px}
.about-role-list dt{font-size:1.2rem;line-height:1.7;font-weight:500;margin-bottom:10px}
.about-role-list dd{font-size:1rem;line-height:1.95;color:var(--muted);margin:0}
.inquiry-steps{display:flex;flex-wrap:wrap;gap:10px 25px;list-style:none;padding:0;margin:0 0 35px;border-bottom:1px solid var(--line);padding-bottom:20px}
.inquiry-steps li{font-size:.875rem;line-height:1.8;color:var(--muted)}
.inquiry-steps span{font:400 .875rem/1.8 Arial,sans-serif;margin-right:8px;color:var(--orange-dark)}
.contact-guide .inquiry-after{border-top:1px solid var(--line);padding-top:22px;margin-top:28px}
.inquiry-after h3{font-size:1rem;font-weight:500;line-height:1.8;margin-bottom:12px}
.inquiry-after p{font-size:.875rem;line-height:2;color:var(--muted)}
.input-help{font-size:.875rem;line-height:1.8;color:var(--muted);margin-bottom:10px}
.contact-builder label>span.optional-label{color:var(--muted);background:none}
.contact-review{scroll-margin-top:30px}
.contact-page-grid{align-items:start}
.contact-builder textarea{min-height:130px}
.service-outcome{margin-top:24px;padding:20px 23px;background:var(--pale);border-left:2px solid #aec3b7}
.service-outcome p{margin:5px 0 0}.service-outcome>span{font-size:.875rem;color:var(--muted)}
.dialog-content .service-outcome+dl{margin-top:10px}
.dialog-content .service-outcome p{font-size:1rem;line-height:1.9}
@media(min-width:1300px){.identity-heading{gap:95px}.dialogue-voice{font-size:1.25rem}.identity-section{padding-top:110px}}
@media(max-width:1100px){.dialogue-head,.dialogue-row{gap:20px;grid-template-columns:minmax(0,1fr) minmax(210px,1fr) minmax(0,1fr)}.identity-heading{gap:35px}.dialogue-voice{font-size:1.05rem}}
@media(max-width:960px){
 .identity-heading{grid-template-columns:1fr 1fr;gap:30px}.identity-heading h2{font-size:1.9rem}
 .service-pr{grid-template-areas:'identity summary price' 'identity summary action' 'scene scene scene'}
 .identity-foot{gap:28px}.identity-foot>p{max-width:27em}.identity-foot>div{flex:1;min-width:220px}
 .about-role-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
 .pr-shoot{gap:20px;padding-right:24px}.pr-frame{max-width:250px}
}
@media(max-width:760px){
 html{scroll-padding-top:18px}.identity-section{padding-top:55px;padding-bottom:55px}
 .identity-heading{display:block;margin-bottom:30px}.identity-heading h2{font-size:clamp(1.6rem,6.1vw,2.1rem);line-height:1.8}
 .identity-scene{max-width:580px;margin:22px auto 0}.identity-scene figcaption{padding-top:9px}
 .identity-scene-people{gap:7px;padding-inline:6%;letter-spacing:0}.identity-scene-note{margin-top:7px}
 .identity-heading-with-scene .identity-intro{margin-top:29px}
 .identity-intro{max-width:none;margin-top:24px}.identity-intro .identity-premise{font-size:1.08rem;margin-bottom:12px}
 .identity-intro p{font-size:1rem;line-height:1.95}
 .dialogue-head{display:none}.dialogue-row{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:'student company' 'role role';gap:17px 22px;padding:24px 0}
 .voice-student{grid-area:student}.voice-company{grid-area:company;text-align:left}.dialogue-role{grid-area:role;text-align:left;padding:15px 0 0 31px;border-left:1px solid var(--line);margin-left:4px}
 .dialogue-voice{font-size:1rem;line-height:1.85;letter-spacing:0}.dialogue-voice br{display:none}
 .voice-label{display:block;font-size:.75rem;line-height:1.5;color:var(--muted);margin-bottom:8px}
 .role-number{position:absolute;left:8px;top:22px;font-size:.75rem}.dialogue-role h3{font-size:1.25rem;line-height:1.6;margin-bottom:5px}
 .dialogue-role>p{font-size:1rem;line-height:1.85}.dialogue-role>p br{display:none}
 .dialogue-role>a{font-size:.875rem;justify-content:flex-start;margin-top:2px}
 .dialogue-role::after{left:31px;width:calc(100% - 31px)}
 .identity-foot{display:block;padding-top:24px}.identity-foot>p{font-size:.9375rem;max-width:none}.identity-foot>p br{display:none}
 .identity-foot strong{display:block;margin-top:5px}.identity-foot>div{text-align:left;margin-top:23px;min-width:0}
 .identity-motto{font-size:.875rem}.identity-foot .small-note{font-size:.75rem;margin-top:8px}
 .tugumi-copy .student-reason{padding-left:14px}
 .report-section{padding-top:14px;padding-bottom:60px}
 .service-summary>.service-deliverable{margin-top:12px;font-size:.9375rem}.service-deliverable>span{font-size:.75rem}
 .service-pr{grid-template-areas:'identity identity' 'summary summary' 'price action' 'scene scene'}
 .pr-shoot{grid-template-columns:1fr;padding:0 18px 16px;gap:0;margin-top:8px}.pr-frame{max-width:250px}
 .pr-scene-copy{padding:0}.pr-quote{font-size:1.2rem;margin-top:9px;padding:10px 15px}.pr-caption{font-size:.875rem}
 .service-help p{text-align:left}.service-help{align-items:flex-start}
 .approach-section{padding-block:56px 0}.approach-note{display:block;margin-top:28px;padding-top:22px}.approach-note p br{display:none}.approach-note .text-link{margin-top:16px}
 .media-section{margin-top:52px;padding-top:35px;padding-bottom:55px}
 .inquiry-steps{gap:7px 18px;margin-bottom:27px;padding-bottom:16px}.inquiry-steps li{font-size:.875rem}
 .contact-guide .inquiry-after{margin-top:22px;padding-top:18px}.contact-page-grid{gap:30px}
 .service-outcome{padding:17px 18px}.about-role-list{gap:24px 20px}
}
@media(max-width:390px){.discovery-copy h1{font-size:clamp(1.375rem,6.2vw,1.5rem)}.dialogue-row{column-gap:17px}.dialogue-role{padding-left:26px}.dialogue-role::after{left:26px;width:calc(100% - 26px)}.about-role-list{grid-template-columns:1fr}.corporate-actions .button{gap:12px;padding-inline:16px}}
@media(prefers-reduced-motion:reduce){.dialogue-role::after{transition:none;transform:scaleX(1)}}
@media print{.dialogue-row{break-inside:avoid}.dialogue-role::after{transform:none}.identity-section{padding-block:25px}.pr-shoot{display:none}.service-pr{display:block}.dialogue-head,.dialogue-role>a{display:none}}
