/* Editorial media: scoped to interior pages; the home film is unchanged. */
.page-hero.compact-hero{background:#11263c;min-height:350px;padding:155px 0 48px;position:relative}
.compact-hero .wrap{position:relative}
.compact-hero .wrap::after{content:'';position:absolute;right:0;top:6px;width:12%;height:1px;background:#c3a36a88}
.compact-hero h1{max-width:1000px;font-size:clamp(34px,3vw,56px);line-height:1.45;text-wrap:balance}
.compact-hero .page-description{margin-top:20px;max-width:54em}
.compact-hero .page-label{margin-bottom:14px}
.page-about .editorial .work-film{margin:0;align-self:center;min-width:0}
.work-film-frame{position:relative;overflow:hidden;background:#14283c;aspect-ratio:4/3}
.work-film video{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 50%}
.work-film button{position:absolute;right:20px;bottom:20px;border:1px solid #ffffff66;border-radius:24px;padding:10px 18px;background:#10263be8;color:#fff;font:500 14px Pretendard,sans-serif;cursor:pointer}
.work-film figcaption{font-size:15px;color:#647080;line-height:1.7;padding-top:16px}
.page-about .message-link{padding-top:55px;padding-bottom:55px}
.page-approach .motion-hero{display:block;position:relative;isolation:isolate;overflow:hidden;min-height:660px;padding:165px 0 62px;background:#10263b;color:#f4f1e9}
.motion-photo{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 48%}
.motion-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,25,43,.97) 0%,rgba(8,25,43,.88) 42%,rgba(8,25,43,.38) 100%)}
.motion-hero .eyebrow{color:#d4b77f;font-size:12px;letter-spacing:.22em;margin:0 0 18px}
.motion-hero h1{font:500 16px Pretendard,sans-serif;letter-spacing:.04em;color:#c9d2dc;margin:0 0 40px}
.motion-stage{min-height:190px;display:flex;align-items:center;overflow:hidden;max-width:920px}
.motion-hero .motion-line{font-family:DJPShippori,serif;font-size:clamp(34px,3.3vw,60px)!important;line-height:1.55!important;letter-spacing:-.035em;color:#fff;margin:0;word-break:keep-all;text-wrap:balance;max-width:21em}
.motion-line.entering{animation:thought-enter .65s cubic-bezier(.2,.7,.2,1) both}
.motion-line.leaving{animation:thought-leave .35s ease both}
@keyframes thought-enter{from{transform:translateY(28px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes thought-leave{from{transform:translateY(0);opacity:1}to{transform:translateY(-22px);opacity:0}}
.motion-controls{display:flex;align-items:center;gap:22px;margin:22px 0 35px}
.motion-count{font:500 14px Pretendard,sans-serif;letter-spacing:.12em;color:#dbbd83;min-width:60px}
.motion-steps{display:flex;gap:8px;align-items:center}
.motion-steps button{width:30px;height:30px;padding:0;border:0;background:none;cursor:pointer;position:relative}
.motion-steps button::after{content:'';height:2px;position:absolute;left:0;right:0;top:14px;background:#ffffff40;transition:background .25s}
.motion-steps button[aria-current=true]::after{background:#e3c38a;height:3px}
.motion-toggle{background:none;color:#e6e9ec;border:1px solid #ffffff4d;border-radius:30px;padding:9px 16px;font:500 13px Pretendard,sans-serif;cursor:pointer}
.motion-answer{border-top:1px solid #ffffff36;padding-top:26px;max-width:780px}
.motion-hero .motion-answer strong{font-size:22px;font-weight:500;color:#ead3a9;display:block;margin-bottom:9px}
.motion-hero .motion-answer p{font-size:17px!important;line-height:1.8!important;color:#d0d8e1;margin:0}
.thought-transcript{max-width:780px;margin-top:22px;font:400 14px Pretendard,sans-serif;color:#bac8d5}
.thought-transcript summary{cursor:pointer;width:max-content;padding:8px 0}
.thought-transcript ol{padding-left:22px;line-height:2;margin:15px 0 0;color:#edf0f3;font-size:16px}
.motion-hero button:focus-visible,.work-film button:focus-visible{outline:2px solid #e5c68d;outline-offset:5px}
.page-insights .story img{object-fit:cover;object-position:center}
.page-insights .story:first-child>img{object-position:46% center}
.page-services .plan h3,.page-contact .onboarding-journey h3,.page-contact .faq-group summary{font-family:Pretendard,sans-serif;font-weight:600}
@media(max-width:760px){
 .page-hero.compact-hero{min-height:0;padding:135px 0 35px}
 .compact-hero .wrap::after{display:none}
 .page-hero.compact-hero h1{font-size:29px;line-height:1.48;letter-spacing:-.035em}
 .compact-hero .page-description{font-size:16px!important;line-height:1.8;margin-top:18px}
 .page-approach .motion-hero{min-height:650px;padding:140px 0 38px}
 .motion-photo{object-position:65% center;opacity:.7}
 .motion-hero::before{background:linear-gradient(90deg,#08192bed,#08192ba6)}
 .motion-hero h1{font-size:14px;margin-bottom:25px}
 .motion-stage{min-height:210px;max-width:none}
 .motion-hero .motion-line{font-size:31px!important;line-height:1.6!important;text-wrap:pretty}
 .motion-controls{gap:12px;flex-wrap:wrap;margin:14px 0 26px}
 .motion-steps{gap:6px}.motion-steps button{width:20px}
 .motion-toggle{padding:8px 12px;font-size:12px}
 .motion-hero .motion-answer strong{font-size:19px;line-height:1.65}
 .motion-hero .motion-answer p{font-size:15px!important}
 .work-film-frame{aspect-ratio:4/3}.work-film button{right:14px;bottom:14px}
 .page-about .message-link{padding:38px 0}
 .page-approach .system-principle h2{font-size:28px;word-break:keep-all;text-wrap:balance}
}
@media(prefers-reduced-motion:reduce){.motion-line.entering,.motion-line.leaving{animation:none}.motion-steps button::after{transition:none}}

/* A fixed declaration on the left, accumulating thoughts on the right. */
.motion-hero .motion-declaration{margin:0 0 30px;font-family:DJPShippori,serif;font-size:clamp(30px,2.65vw,48px)!important;line-height:1.75!important;letter-spacing:-.04em;color:#f6f2e9;word-break:keep-all}
.motion-declaration em{font-style:normal;color:#e5c68d}
.motion-stack{display:none}
.motion-hero .motion-answer{margin-top:24px}
@media(min-width:1000px){
 .page-approach .motion-hero{min-height:790px;padding:170px 0 64px}
 .motion-hero::before{background:linear-gradient(90deg,#08192bef 0%,#08192bd9 40%,#08192bcc 100%)}
 .motion-layout{display:grid;grid-template-columns:36% minmax(0,1fr);column-gap:6%;align-items:center}
 .motion-intro{align-self:center}
 .motion-hero h1{margin-bottom:24px}
 .motion-declaration{font-size:clamp(30px,2.65vw,48px);line-height:1.75;margin-bottom:0}
 .motion-hero .motion-answer{border-top:1px solid #ffffff40;padding-top:22px;margin-top:32px}
 .motion-hero .motion-answer strong{font-family:Pretendard,sans-serif;font-size:16px;line-height:1.8;color:#c8d3df;font-weight:400;max-width:24em}
 .motion-stage{display:none}
 .motion-stack{display:flex;flex-direction:column;justify-content:flex-end;gap:19px;height:430px;padding:0;margin:0;list-style:none;text-align:right;transition:opacity .65s,transform .65s}
 .motion-stack li{font:400 clamp(18px,1.48vw,27px)/1.65 Pretendard,sans-serif;letter-spacing:-.025em;color:#edf0f4;word-break:keep-all;text-wrap:pretty}
 .motion-stack li:last-child{color:#edd3a3}
 .motion-stack.clearing{opacity:0;transform:translateY(-22px)}
 .motion-controls{justify-content:flex-end;margin:32px 0 0;gap:16px}
 .thought-transcript{margin:18px 0 0 auto;text-align:right}
 .thought-transcript summary{margin-left:auto}
 .thought-transcript ol{text-align:left}
}
@media(max-width:999px){
 .motion-hero .motion-declaration{font-size:28px!important;line-height:1.6!important;margin-bottom:24px}
 .motion-hero h1{margin-bottom:20px}
 .motion-hero .motion-line{font-size:26px!important}
 .motion-stage{min-height:180px}
 .motion-hero .motion-answer strong{font-size:17px;line-height:1.7}
}
@media(prefers-reduced-motion:reduce){.motion-stack{transition:none}}
