/* Final copy/layout review. Keep approved layouts; wrap headings by meaning. */
main .proof-phrase{display:inline-block;max-width:100%;vertical-align:baseline;word-break:normal;overflow-wrap:break-word;line-break:strict}
main :is(p,li,dd,td){line-break:strict;word-break:normal;overflow-wrap:break-word}
main .proof-heading-break{display:block}
.c-mega__cols>div{min-width:0}
.c-mega__cols a{gap:16px;line-height:1.7}
.c-mega__cols a span[aria-hidden]{flex-shrink:0}
@media(max-width:767px){
 main .proof-heading-break,main .proof-pc-break{display:none}
 main :is(h1,h2,h3){text-wrap:initial!important;line-break:strict}
 .study-sansan .ss-concerns h2{line-height:1.65}
 .study-sansan .ss-practice-flow{gap:8px}
 .study-sansan .ss-practice-flow li{min-width:0}
 .study-sansan .ss-practice-flow li span{font-size:12px;line-height:1.7}
 .study-sansan .ss-practice-visual .practice-stage{min-height:130px;height:auto}
 .study-sansan .ss-practice-visual .stage-advice strong{font-size:15px}
 .study-sansan .c-cta__title{font-size:24px!important;line-height:1.7!important}
 .study-sansan .c-cta__lead{max-width:34em;line-height:1.9!important}
 .study-sansan .c-cta a{white-space:normal;line-height:1.7}
 body.complete-layout .c-case-week th,body.complete-layout .c-case-week td{padding:16px 12px;font-size:14px}
 body.complete-layout .c-case-week th{width:32%}
 body.complete-layout .c-case-sample{padding:18px}
 body.complete-layout .c-case-sample__en{overflow-wrap:normal;word-break:normal}
 .c-header__menu{max-height:calc(100dvh - 70px);overflow-y:auto}
}
/* Phrase wrappers must not inherit component rules intended for labels. */
main :is(h1,h2,h3) > .proof-phrase{font:inherit!important;color:inherit!important;letter-spacing:inherit!important;margin:0!important;padding:0!important;background:none!important;border:0!important;width:auto!important;min-height:0!important;box-shadow:none!important}
@media(max-width:767px){main .c-breadcrumb{width:100%;max-width:100%;margin-inline:0;box-sizing:border-box}main .c-breadcrumb ol{white-space:normal;flex-wrap:wrap;row-gap:6px}main .c-breadcrumb li{white-space:normal}}
.proof-new-tab{display:block;font-size:12px;font-weight:400;margin-top:6px;line-height:1.6}
@media(max-width:767px){.ss-case-heading dd{word-break:normal;text-wrap:pretty}.study-sansan .ss-practice-flow li{font-size:12px;line-height:1.7}.study-sansan .ss-practice-flow li b{display:block}}

.c-mega .usage-menu-top{display:flex;justify-content:space-between;max-width:1080px;margin:0 auto 28px;padding:16px 0 20px;border-bottom:1px solid #ddd;font-weight:700}
@media(max-width:1128px){.c-mega .usage-menu-top{margin-left:24px;margin-right:24px}}
@media(max-width:767px){main .c-breadcrumb ol{display:flex!important;flex-wrap:wrap!important;width:100%;gap:4px 8px}main .c-breadcrumb li{display:inline-flex;flex-shrink:1;max-width:100%;margin:0!important}main .c-breadcrumb li::after{flex-shrink:0}.ss-practice-flow .proof-step{display:inline-block;font:inherit;color:inherit}.c-case-week{min-width:0!important;width:100%!important;table-layout:fixed}}
@media(min-width:768px) and (max-width:1024px){.c-case-week{min-width:0!important;width:100%!important;table-layout:fixed}.c-case-week th{width:25%}}

.usage-title-line{display:inline-block!important;max-width:100%}.c-cta .proof-step{display:inline-block;white-space:nowrap}
@media(max-width:767px){.c-cta a:has(.proof-step){display:block!important}.usage-title-line{font-size:inherit}}

/* Mobile rhythm: preserve content and desktop layouts. */
@media(max-width:767px){
 body.complete-layout main .c-section{padding-top:36px;padding-bottom:36px}
 body.complete-layout main #profile{padding-top:0}
 body.complete-layout main .c-hero--page{padding-bottom:32px}
 body.study-sansan main .ss-feature{padding-top:28px;padding-bottom:28px}
 body.study-sansan main .ss-feature-grid{gap:20px}
 body.study-sansan main .ss-feature-copy>p:not(.ss-number){margin-top:16px;margin-bottom:16px}
 body.study-sansan main .ss-case{padding-top:36px;padding-bottom:36px}
 body.study-sansan main .ss-case-heading{gap:20px}
 body.study-sansan main .ss-case #voice{padding-top:28px}
 body main .persona-faq{padding-top:36px!important;padding-bottom:36px!important}
 body main .unified-consult{margin-top:0!important;padding-top:32px!important;padding-bottom:32px!important}
 body.complete-layout main .case-related{padding-top:28px!important;padding-bottom:32px!important}
 body main a{ text-decoration:none!important }
 body main :is(a.c-btn--outline,a.ss-textlink,a.c-case-try__link){border-bottom:0!important;box-shadow:none!important}
 body main .c-case-try a{border-bottom:0!important}
}
@media(max-width:767px){body main a :is(span,b,strong){text-decoration:none!important}body main .c-card a,body main .c-card__more{border-bottom:0!important}body main .uc-copy .uc-text{margin-bottom:20px!important}}

@media(max-width:767px){
 body.complete-layout main .case-index{gap:10px!important;padding:24px 0 28px!important}
 body.complete-layout main .case-index a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 12px!important;background:#f5f5f5;border:0!important;border-radius:4px;min-height:48px;box-sizing:border-box;font-size:13px;line-height:1.5}
 body.complete-layout main .case-index a span[aria-hidden]{color:#b83c35;flex-shrink:0}
}
/* Mobile breadcrumbs stay on one horizontally scrollable line. */
@media(max-width:767px){
 body main :is(.c-breadcrumb,.ss-crumb){max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;white-space:nowrap!important;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
 body main .c-breadcrumb ol{display:flex!important;flex-wrap:nowrap!important;width:max-content!important;min-width:100%;gap:0 8px!important;align-items:center}
 body main .c-breadcrumb li{display:inline-flex!important;flex:0 0 auto!important;max-width:none!important;white-space:nowrap!important;margin:0!important}
 body main :is(.c-breadcrumb,.ss-crumb) :is(a,span){white-space:nowrap!important;overflow-wrap:normal;word-break:normal}
}
/* Keep mobile explanatory copy left-aligned; labels/headings keep their hierarchy. */
@media(max-width:767px){
 body main .ss-intro .ss-wrap>p:not(.ss-eyebrow),
 body main .c-heading__lead,
 body main .c-cta__lead{ text-align:left!important }
}
@media(max-width:767px){
 body main .c-breadcrumb li{align-items:center!important;line-height:20px!important;gap:0}
 body main .c-breadcrumb li+li::before{display:block;flex:0 0 5px;width:5px;height:5px;box-sizing:border-box;align-self:center;margin:0 12px 0 0!important;position:static;transform:rotate(45deg)}
 body main .c-breadcrumb li>a,body main .c-breadcrumb li>span{display:block;line-height:20px!important}
}

/* One breadcrumb component for all usage and student pages. */
body main nav.unified-breadcrumb{font-size:11px;color:#777;max-width:100%;box-sizing:border-box}
body main nav.unified-breadcrumb ol{display:flex!important;align-items:center;flex-wrap:nowrap!important;gap:0!important;width:max-content!important;min-width:0;margin:0;padding:0;list-style:none}
body main nav.unified-breadcrumb li{display:flex!important;align-items:center!important;flex:0 0 auto!important;gap:0;margin:0!important;padding:0;line-height:20px!important;white-space:nowrap!important}
body main nav.unified-breadcrumb li+li::before{content:""!important;display:block;flex:0 0 5px;width:5px;height:5px;border:0;border-top:1px solid #aaa;border-right:1px solid #aaa;transform:rotate(45deg);position:static;margin:0 12px!important;align-self:center}
body main nav.unified-breadcrumb li::after{content:none!important}
body main nav.unified-breadcrumb :is(a,span){display:block;font-size:inherit;font-weight:400;line-height:20px!important;color:inherit;text-decoration:none!important;white-space:nowrap}
@media(max-width:767px){body main nav.unified-breadcrumb{overflow-x:auto;overflow-y:hidden;white-space:nowrap!important;-webkit-overflow-scrolling:touch;scrollbar-width:thin}}

/* Mobile navigation: readable groups and comfortable tap targets. */
@media(max-width:767px){
 body .c-header--official .c-header__menu{padding:12px 24px 28px}
 body .c-header__scenes>div{padding:8px 0 24px}
 body .c-header__scenes strong{margin:28px 0 10px;font-size:12px;line-height:1.6;letter-spacing:.03em}
 body .c-header__scenes a{align-items:center;gap:20px;padding:18px 0;min-height:60px;box-sizing:border-box;font-size:14px;line-height:1.8;white-space:normal}
 body .c-header__scenes a>span[aria-hidden]{flex:0 0 16px;text-align:right;font-weight:400}
 body .c-header__scenes summary{padding:18px 0}
}

@media(max-width:767px){body .c-header__scenes .mobile-menu-label{min-width:0;text-wrap:pretty}}
