/* Version 2: explicit chapter hierarchy. OCEAN brand tokens stay unchanged. */
html:has(body.v2-site){scroll-padding-top:0}
.v2-site{--v2-blue:#193D58;--v2-purple:#60516E;--v2-line:#CBD5DF;--v2-ink:#14213D;--v2-muted:#526477}
.v2-site main{color:var(--v2-ink)}
.v2-site :is(section,details)[id]{scroll-margin-top:156px}
.v2-page-nav{position:sticky;top:var(--brand-header,80px);z-index:18;background:#fff;border-top:1px solid var(--v2-line);border-bottom:1px solid var(--v2-line);margin:0}
.v2-page-nav-inner{width:min(1200px,calc(100% - 96px));margin:auto;display:flex;align-items:center;gap:32px;min-height:64px}
.detail-page .v2-page-nav-inner,.representative-page .v2-page-nav-inner{width:100%}
.v2-nav-label{font-size:13px;font-weight:500;color:var(--v2-muted);white-space:nowrap}
.v2-nav-links{display:flex;align-items:stretch;gap:28px;overflow-x:auto;scrollbar-width:thin;min-width:0;flex:1}
.v2-nav-links a{font-size:15px;font-weight:500;line-height:1.5;min-height:64px;display:flex;align-items:center;white-space:nowrap;border-bottom:3px solid transparent;padding-top:3px;text-decoration:none;color:var(--v2-muted)}
.v2-nav-links a[aria-current],.v2-nav-links a:hover{color:var(--v2-blue);border-bottom-color:var(--v2-blue)}
.v2-home .hero{min-height:700px;height:calc(100svh - 80px);max-height:900px}
.v2-home .hero-content{padding-block:96px 112px}
.v2-home .hero h1{font-size:64px;line-height:1.35;letter-spacing:.015em;margin-bottom:24px}
.v2-home .hero-lead{font-size:21px;line-height:1.9}
.v2-home .hero-service-label{font-size:16px;margin-top:24px}
.v2-home .hero-actions{margin-top:28px}
.v2-section{padding-block:88px;border-bottom:1px solid var(--v2-line);background:#fff}
.v2-section-heading{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:48px;align-items:center;margin-bottom:48px}
.v2-section-index{margin:0 0 14px;font:500 16px/1.5 'Noto Sans JP',sans-serif;color:var(--v2-blue);letter-spacing:.08em;display:flex;align-items:center;gap:12px}
.v2-section-index:before{content:'';width:28px;height:2px;background:currentColor;flex-shrink:0}
.v2-section-index>span{font-size:12px;letter-spacing:.1em}
body.v2-home main .v2-title{position:relative;font-size:48px;line-height:1.35;letter-spacing:.02em;font-weight:500;margin:0;padding-bottom:30px}
.v2-title:after{content:'';position:absolute;left:0;bottom:0;width:200px;height:22px;background:linear-gradient(100deg,#22758e,#665d7e 75%,#916579);mask:url('/assets/brush-228-optimized.svg') center/100% 100% no-repeat;-webkit-mask:url('/assets/brush-228-optimized.svg') center/100% 100% no-repeat}
.v2-section-intro{max-width:680px}
.v2-section-intro .v2-subhead{font:500 24px/1.7 'Noto Sans JP',sans-serif;margin:0 0 14px;color:var(--v2-ink)}
.v2-section-intro>p:not(.v2-subhead){font-size:17px;line-height:1.9;color:var(--v2-muted);margin:0;max-width:620px}
.v2-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--v2-line);column-gap:48px}
.v2-service-card{display:flex;flex-direction:column;align-items:flex-start;padding:28px 0;border-bottom:1px solid var(--v2-line);text-decoration:none;transition:background-color .16s}
.v2-service-category{font-size:13px;line-height:1.5;font-weight:500;color:var(--v2-purple);margin-bottom:12px}
body.v2-site main .v2-service-card h3{font:500 25px/1.6 'Noto Sans JP',sans-serif;margin:0 0 12px;color:var(--v2-blue)}
.v2-service-card>p{font-size:16px;line-height:1.85;color:var(--v2-muted);margin:0 0 18px;max-width:510px}
.v2-card-link{font-size:14px;line-height:1.5;color:var(--v2-blue);display:flex;align-items:center;gap:32px;margin-top:auto;min-height:24px}
.v2-service-card:hover{background:#F6F8FA}
.v2-service-card:focus-visible{outline:2px solid var(--v2-blue);outline-offset:5px}
.v2-tint{background:#F6F8FA}
.v2-dark{background:#193D58;color:#fff;border:0}
.v2-dark .v2-section-index,.v2-dark .v2-section-intro .v2-subhead,.v2-dark .v2-title{color:#fff}
.v2-dark .v2-section-intro>p:not(.v2-subhead){color:#e0e9ef}
.v2-dark .v2-title:after{background:linear-gradient(100deg,#83ccdd,#9cb9d6 48%,#c4a6c9)}
.v2-dark .metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:0;border-top:1px solid #708496;border-bottom:1px solid #708496}
.v2-dark .metrics>div{display:block;padding:32px 0;border:0;background:none}
.v2-dark .metrics .metric-value{color:#fff;font-size:68px;line-height:1.25;margin:0 0 12px;white-space:nowrap}
.v2-dark .metrics .metric-value span{font-size:16px;margin-left:8px;display:inline}
body.v2-home main .v2-dark .metrics h3{font:500 20px/1.6 'Noto Sans JP',sans-serif;color:#fff;margin:0 0 12px}
.v2-dark .metrics>div>p:last-child{color:#e0e9ef;font-size:15px;line-height:1.85;margin:0}
.v2-footnote{font-size:14px;line-height:1.8;margin:20px 0 0;color:var(--v2-muted)}
.v2-dark .v2-footnote{color:#e0e9ef}
.v2-dark .usecase-tabs{border-color:#8296a7}
.v2-dark .usecase-panel,.v2-dark .contact-form-wrap{color:var(--v2-ink)}
.v2-dark .v2-contact-copy{color:#e0e9ef}
.v2-dark .v2-contact-promise{border-color:#708496}
.v2-home .metrics .metric-label{display:none}
.v2-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:40px}
body.v2-home main .v2-values h3{font:500 22px/1.6 'Noto Sans JP',sans-serif;color:#fff;margin:0 0 12px}
.v2-values p{font-size:16px;line-height:1.85;color:#e0e9ef;margin:0}
.v2-related{display:flex;gap:32px;flex-wrap:wrap;margin-top:32px;padding-top:24px;border-top:1px solid #708496}
.v2-related .text-link{font-size:16px;color:#fff}
.v2-site .workflow-line{gap:40px;padding-top:28px}
.v2-site .workflow-number{font:500 16px/1.5 'Noto Sans JP',sans-serif;color:var(--v2-purple)}
.v2-site .workflow-number:before{content:'STEP ';font-size:12px}
body.v2-site main .workflow-line h3{font:500 25px/1.6 'Noto Sans JP',sans-serif;margin:16px 0}
.v2-site .workflow-line p{font-size:17px;line-height:1.85}
.v2-site .workflow-note{font-size:15px}
.v2-home .usecase-tabs button{font-size:15px;min-height:64px;padding:16px;gap:12px;background:#fff}
.v2-home .usecase-tabs button.active,.v2-home .usecase-tabs button[aria-selected=true]{background:#EAF0F4;border-bottom:3px solid #193D58}
.v2-home .usecase-tabs button>span{font-size:16px}
.v2-home .usecase-panel{background:#fff;border:1px solid var(--v2-line);padding:32px}
.v2-home .usecase-top{gap:32px;grid-template-columns:1fr 1.2fr}
body.v2-home main .usecase-top h3{font-size:28px;line-height:1.55}
.v2-home #case-description{font-size:16px;line-height:1.85}
.v2-home .case-flow{margin:28px 0;gap:20px}
.v2-home .case-node .agent-art{width:88px;height:88px;margin:20px auto}
.v2-home .case-node .document-stack{height:88px;margin:20px auto}
.v2-home .case-node .check-symbol{width:72px;height:72px;margin:28px auto}
.v2-home .case-node h4{font-size:18px}
.v2-home .case-node>p:last-child{font-size:14px}
.v2-home .human-note{font-size:15px;line-height:1.8}
.v2-faq-list{max-width:960px;margin-left:auto;border-top:1px solid var(--v2-line)}
.v2-home .faq-item summary{font-size:18px;line-height:1.7;min-height:76px;padding:24px 0}
.v2-home .faq-item>p{font-size:16px;line-height:1.9;padding-right:24px}
.v2-all-faq{margin-top:24px;font-size:16px}
.v2-contact-layout{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:48px;align-items:start}
.v2-contact-copy p{font-size:17px;line-height:1.9;margin:0 0 20px}
.v2-contact-copy .v2-contact-promise{font-size:15px;border-top:1px solid var(--v2-line);padding-top:24px}
.v2-home .contact-form-wrap{background:#fff;padding:32px;border:1px solid var(--v2-line)}
.v2-home .contact-form-wrap label{font-size:16px}
.v2-home .form-submit{font-size:16px}
/* Detail pages share one hierarchy; long-form source text is retained. */
.v2-site .detail-hero,.v2-site .rep-hero{column-gap:48px;padding-block:40px 56px;grid-template-columns:minmax(0,400px) minmax(0,1fr)}
.v2-site .detail-hero h1,.v2-site .rep-hero h1{font-size:48px;line-height:1.45;margin-block:16px 24px}
.v2-site .detail-lead,.v2-site .rep-statement{font-size:26px;line-height:1.7}
.v2-site .detail-hero-side{padding-top:8px}
.v2-site .identity-links{margin-top:8px}
.v2-site .v2-detail-chapter{padding-block:64px;border-top:2px solid var(--v2-blue);margin-top:0;margin-bottom:0}
.v2-site .detail-section.v2-detail-chapter,.v2-site .rep-section.v2-detail-chapter{grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:48px}
body.v2-site main .v2-detail-title{font-size:36px;line-height:1.45;margin:0 0 16px;letter-spacing:.02em;max-width:none}
.v2-site .v2-detail-subhead{font-size:20px;line-height:1.7;margin:12px 0 0;color:var(--v2-muted)}
.v2-site .v2-detail-chapter .story-section-heading{margin-bottom:32px;max-width:800px}
.v2-site .v2-detail-chapter .story-section-heading>.v2-detail-subhead{font-size:20px}
.v2-site .v2-detail-chapter .v2-section-index{margin:0 0 12px}
.v2-site .v2-detail-chapter .split-heading{grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:48px}
.v2-site .reading-item>summary{font-size:18px;font-weight:500;line-height:1.8;padding-block:24px}
.v2-site .reading-body{padding-inline:16px;max-width:960px}
.v2-site .reading-body h3{font-family:'Noto Sans JP',sans-serif;font-size:21px;font-weight:500;line-height:1.65}
.v2-site :is(.detail-contact,.rep-contact){background:#193D58;color:#fff;padding-block:64px}
.v2-site :is(.detail-contact,.rep-contact) :is(h2,p){color:#fff}
.v2-site :is(.detail-contact,.rep-contact) .button{background:#fff;color:#193D58;border-color:#fff}
@media(max-width:1023px){
 .v2-page-nav-inner{width:calc(100% - 64px);gap:20px}
 .v2-nav-links{gap:24px}
 .v2-section-heading,.v2-contact-layout{grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:32px}
 body.v2-home main .v2-title{font-size:40px}
 .v2-service-grid{column-gap:32px}
 body.v2-site main .v2-service-card h3{font-size:23px}
 .v2-dark .metrics .metric-value{font-size:48px}
 .v2-site .detail-hero,.v2-site .rep-hero{grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:32px}
 .v2-site .detail-section.v2-detail-chapter,.v2-site .rep-section.v2-detail-chapter{grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:32px}
}
@media(max-width:767px){
 .v2-site :is(section,details)[id]{scroll-margin-top:136px}
 .v2-page-nav-inner{width:calc(100% - 40px);min-height:56px;gap:16px}
 .v2-nav-label{display:none}
 .v2-nav-links{gap:24px}
 .v2-nav-links a{font-size:14px;min-height:56px}
 .v2-home .hero{height:auto;min-height:760px;max-height:none}
 .v2-home .hero-content{padding-block:48px 300px}
 .v2-home .hero h1{font-size:40px;line-height:1.35}
 .v2-home .hero-lead{font-size:18px;line-height:1.85}
 .v2-home .hero-service-label{font-size:14px;max-width:300px;margin-top:20px}
 .v2-home .hero-art{top:200px}
 .v2-home .hero:after{background:linear-gradient(180deg,#F6F8FA 0%,#F6F8FA 20%,rgba(246,248,250,.96) 34%,rgba(246,248,250,.55) 56%,rgba(246,248,250,0) 78%)}
 .v2-section{padding-block:56px}
 .v2-section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}
 body.v2-home main .v2-title{font-size:36px;padding-bottom:26px}
 .v2-title:after{width:170px;height:20px}
 .v2-section-index{font-size:14px;margin-bottom:12px}
 .v2-section-index>span{font-size:11px}
 .v2-section-intro .v2-subhead{font-size:20px;line-height:1.7;margin-bottom:12px}
 .v2-section-intro>p:not(.v2-subhead){font-size:16px;line-height:1.85}
 .v2-service-grid{grid-template-columns:1fr}
 .v2-service-card{padding-block:24px}
 body.v2-site main .v2-service-card h3{font-size:23px;line-height:1.5;margin-bottom:12px}
 .v2-service-card>p{font-size:16px;margin-bottom:14px}
 .v2-service-category{font-size:12px;margin-bottom:8px}
 .v2-card-link{font-size:14px}
 .v2-dark .metrics{grid-template-columns:1fr;gap:0;border-bottom:0}
 .v2-dark .metrics>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 20px;padding:24px 0;border-bottom:1px solid #708496}
 .v2-dark .metrics .metric-value{grid-row:1/3;font-size:44px;line-height:1.2;align-self:center;margin:0;white-space:normal}
 .v2-dark .metrics .metric-value span{font-size:14px;display:block;margin:8px 0 0}
 body.v2-home main .v2-dark .metrics h3{font-size:17px;margin:0}
 .v2-dark .metrics>div>p:last-child{font-size:14px;line-height:1.75}
 .v2-footnote{font-size:13px}
 .v2-values{grid-template-columns:1fr;gap:24px;margin-top:32px}
 body.v2-home main .v2-values h3{font-size:21px;margin-bottom:8px}
 .v2-related{gap:12px;margin-top:28px}
 .v2-related .text-link{font-size:15px}
 .v2-site .workflow-line{grid-template-columns:1fr;gap:32px;padding-top:24px}
 .v2-site .workflow-line li{padding:0 0 0 56px}
 .v2-site .workflow-number{font-size:20px;display:flex;flex-direction:column;line-height:1.2;gap:4px}
 body.v2-site main .workflow-line h3{font-size:23px;margin:0 0 12px}
 .v2-site .workflow-line p{font-size:16px}
 .v2-site .workflow-note{font-size:14px}
 .v2-home .usecase-tabs button{font-size:12px;padding:12px 8px;gap:8px;min-height:88px}
 .v2-home .usecase-tabs button>span{font-size:14px}
 .v2-home .usecase-panel{padding:24px 16px}
 .v2-home .usecase-top{grid-template-columns:1fr;gap:20px}
 body.v2-home main .usecase-top h3{font-size:25px}
 .v2-home .case-flow{grid-template-columns:1fr;gap:20px}
 .v2-home .case-node .agent-art,.v2-home .case-node .document-stack,.v2-home .case-node .check-symbol{display:none}
 .v2-home .case-node{padding:20px 0 20px 16px;border-left:2px solid #CBD5DF;text-align:left}
 .v2-home .case-node h4{font-size:18px;margin:12px 0 6px}
 .v2-home .case-node:after{display:none}
 .v2-home .human-note{font-size:14px;display:block}
 .v2-home .human-note>span{display:block;margin-bottom:10px}
 .v2-home .faq-item summary{font-size:17px;padding-block:20px}
 .v2-home .faq-item>p{padding-right:0}
 .v2-contact-layout{grid-template-columns:1fr;gap:24px}
 .v2-contact-copy p{font-size:16px;margin-bottom:16px}
 .v2-home .contact-form-wrap{padding:24px 16px}
 .v2-site .detail-hero,.v2-site .rep-hero{grid-template-columns:1fr;gap:24px;padding-block:24px 40px}
 .v2-site .detail-hero h1,.v2-site .rep-hero h1{font-size:36px;line-height:1.45;margin-block:12px 20px}
 .v2-site .detail-lead,.v2-site .rep-statement{font-size:23px;line-height:1.7}
 .v2-site .v2-detail-chapter{padding-block:48px}
 .v2-site .detail-section.v2-detail-chapter,.v2-site .rep-section.v2-detail-chapter{grid-template-columns:1fr;gap:24px}
 body.v2-site main .v2-detail-title{font-size:30px;margin-bottom:12px}
 .v2-site .v2-detail-subhead,.v2-site .v2-detail-chapter .story-section-heading>.v2-detail-subhead{font-size:19px;line-height:1.7;margin-top:12px}
 .v2-site .v2-detail-chapter .split-heading{grid-template-columns:1fr;gap:24px}
 .v2-site .reading-body{padding-inline:0}
 .v2-site .reading-item>summary{font-size:17px;padding-block:20px}
 .v2-site .footer-sitemap{display:grid!important;grid-template-columns:1fr 1.2fr!important;gap:28px 20px!important}
 .v2-site .footer-sitemap-group a{font-size:14px;line-height:1.8;min-height:44px;display:flex;align-items:center}
 .v2-site .footer-sitemap-group h3{font-size:16px}
}
