/* 1.2.0 — Sunagawa / TotoNoeru shared brand.
 * Reference palette: #222A35 / #F8F7F4 / #FAFAF8 / #FFFFFF.
 * Legacy --sr-blue/teal/pink names remain for saved setting compatibility.
 * Content, photographs, prices and CMS fields are independent of this layer.
 */
body.sr-site{
 --sr-sans:"Noto Sans JP Variable","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
 --sr-serif:"Noto Serif JP Variable","Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;
 --sr-ink:#222a35;--sr-muted:#5e6670;--sr-paper:#f8f7f4;--sr-line:#cdd0d1;--sr-radius:2px;
 background:#fafaf8;color:var(--sr-ink);font-family:var(--sr-sans);font-weight:400;letter-spacing:.015em;line-height:1.95;
}
.sr-site :is(#sunagawa-service-labels,#sunagawa-support-page,#sunagawa-pricing-page,#sunagawa-about-page,#sunagawa-new-pages,#sunagawa-cases-page,#sunagawa-pricing,#sunagawa-support-detail,#sunagawa-trust,#sunagawa-contact-cta,#sunagawa-future-column,#sa-scope){font-family:var(--sr-sans)}
.sr-site :is(.sr-page,#sr-main) :is(h1,h2,h3){font-family:var(--sr-serif);font-weight:600;letter-spacing:.045em;line-height:1.65}
.sr-site :is(.sr-page,#sr-main) :is(h4,button,input,select,textarea,summary,th){font-family:var(--sr-sans)}
.sr-site :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #717f8b;outline-offset:4px}
.sr-site ::selection{background:#d5dacf;color:#222a35}
/* A single dark frame unites the navigation, hero and closing invitation. */
.sr-site .sr-header{background:var(--sr-blue);color:#fff;border-bottom:1px solid #ffffff30;box-shadow:none}
.sr-site .sr-header .sr-logo{filter:brightness(0) invert(1)}
.sr-site .sr-header .sr-nav a{color:#f8f7f4;font-weight:500}
.sr-site .sr-header .sr-nav a::after{background:#f8f7f4;height:1px}
.sr-site .sr-header .sr-reading-progress{background:#b9c2cb}
.sr-site .sr-header-panel{background:var(--sr-blue)}
.sr-site .sr-header .sr-menu-toggle{color:#fff;border:1px solid #ffffff70;background:transparent;border-radius:1px}
.sr-site .sr-header .sr-menu-icon span{background:currentColor}
.sr-site .sr-header .sr-mobile-actions{border-color:#ffffff30}
/* Actions use contrast and clear borders, rather than saturated accent colors. */
.sr-site :is(.sr-button,.ss-button,.pp-button,.sa-button,.sn-button,.sc-button,.action-sample,.invitation-consult,.sc-action,.hp-more,.cases-more){border-radius:1px!important;box-shadow:none;font-weight:600}
.sr-site :is(.sr-button,.ss-button,.pp-button,.sa-button,.sn-button,.sc-button,.action-sample,.invitation-consult,.sc-action,.hp-more,.cases-more):hover{transform:none;box-shadow:none;filter:none}
.sr-site :is(.sr-primary,.ss-contact,.pp-contact,.sa-contact-button,.sn-button-primary,.consult,.sc-contact){background:var(--sr-blue)!important;border-color:var(--sr-blue)!important;color:#fff!important}
.sr-site .sr-header .sr-button{background:transparent!important;color:#fff!important;border-color:#ffffff80!important}
.sr-site .sr-header .sr-primary{background:#f8f7f4!important;border-color:#f8f7f4!important;color:#222a35!important}
#sunagawa-service-labels .hero{background:var(--sr-blue);padding-block:76px 80px}
#sunagawa-service-labels .hero::after{display:none}
#sunagawa-service-labels .hero h1{font-family:var(--sr-serif);font-weight:600;letter-spacing:.055em;font-size:clamp(34px,3.7vw,54px);line-height:1.6}
#sunagawa-service-labels .eyebrow{font-weight:500;letter-spacing:.08em}
#sunagawa-service-labels .eyebrow::before{height:1px;background:#b9c2cb}
#sunagawa-service-labels .sr-hero-lead{color:#e2e5e8;font-size:18px;line-height:2}
#sunagawa-service-labels .sr-availability{border:1px solid #ffffff55;background:transparent;color:#f8f7f4;font-weight:500;border-radius:1px}
#sunagawa-service-labels .sr-hero-support{border:0;border-left:1px solid #ffffff50;background:transparent;padding:20px 0 20px 38px}
#sunagawa-service-labels .sr-hero-support::before{display:none}
#sunagawa-service-labels .service-heading{font-family:var(--sr-serif);font-weight:600;letter-spacing:.045em;font-size:24px}
#sunagawa-service-labels .service-item{background:transparent;border:1px solid #a8b0b8;border-radius:1px}
#sunagawa-service-labels .service-item:hover{background:#ffffff10}
#sunagawa-service-labels .service-name{font-weight:500}
#sunagawa-service-labels .hero :is(.consult,.download){background:transparent!important;color:#fff!important;border:1px solid #a8b0b8!important}
#sunagawa-service-labels .hero .consult{background:#f8f7f4!important;color:#222a35!important;border-color:#f8f7f4!important}
.sr-site :is(.noise-filter,.ss-texture,.pp-texture,.sa-texture,.sn-texture,.sc-texture,.st-texture,.su-texture){display:none!important}
.sr-site .sr-industry-marquee{background:#fafaf8;padding-bottom:26px}
.sr-site .sr-industry-card{background:#fafaf8;border-radius:0}
.sr-site .sr-industry-card img{border-radius:0}
.sr-site .sr-industry-card figcaption{font-weight:500}
.sr-site .sr-industry-card figcaption::before{height:1px;background:#929a9f}
#sunagawa-service-labels .proof-section{background:#fff}
#sunagawa-service-labels .proof-number{font-family:var(--sr-serif);font-weight:500;letter-spacing:-.045em}
#sunagawa-service-labels .proof-mark dt{font-weight:500}
#sunagawa-service-labels .sr-mentions{background:#fff}
#sunagawa-service-labels .sr-mention-issuer{font-family:var(--sr-serif);font-weight:600}
/* Spacious paper surfaces and fine rules mirror the two reference sites. */
#sunagawa-service-labels .overview-section,#sunagawa-pricing,#sunagawa-trust,#sunagawa-future-column{background:#f8f7f4}
#sunagawa-service-labels .cases-section,#sunagawa-support-detail{background:#fff}
.sr-site :is(.sr-page,#sr-main) :is(.ss-hero,.pp-hero,.sc-hero,.sa-hero,.sn-hero){background:#f8f7f4;border-bottom:1px solid var(--sr-line)}
.sr-site :is(.sr-page,#sr-main) :is(.ss-hero,.pp-hero,.sc-hero,.sa-hero,.sn-hero)::after{display:none}
.sr-site :is(.sr-page,#sr-main) :is(.ss-hero,.pp-hero,.sc-hero,.sa-hero,.sn-hero) h1{font-family:var(--sr-serif);font-weight:600;letter-spacing:.055em}
.sr-site :is(.sr-page,#sr-main) :is(.ss-kicker,.pp-kicker,.sa-kicker,.sn-kicker,.overview-kicker,.st-kicker,.su-kicker){font-weight:500;letter-spacing:.12em}
.sr-site .sr-needs{border-top:1px solid var(--sr-blue)}
.sr-site .sr-needs-tabs button{border-radius:1px;font-weight:500}
.sr-site .sr-needs-panel h4{font-family:var(--sr-serif);font-weight:600}
.sr-site :is(.sr-card,.sr-empty,.sr-materials,.sr-case-article .sr-case-points){border-radius:2px;box-shadow:none}
.sr-site .sr-card:hover{transform:none;box-shadow:none;border-color:#5e6670}
.sr-site .sr-card h2{font-family:var(--sr-serif);font-weight:600}
.sr-site .sr-card-image,.sr-site .sr-article-image{border-radius:0}
.sr-site .sr-column-grid .sr-card-image{background:#f8f7f4}
.sr-site .sr-case-read{font-weight:500}
.sr-site :is(.sr-page,#sr-main) :is(.ss-art,.ss-industry,.ss-feature,.ss-example,.ss-related-card,.sa-feature,.sa-evidence,.sa-qualification,.sa-stat,.sa-paper,.sa-career-card,.st-proof,.st-profile,.st-specialty,.su-scenario,.hp-phase-card,.pp-plan,.hp-compare-card,.sr-fee-chart,.sn-form-panel,.sn-side-box){border-radius:2px;box-shadow:none}
#sunagawa-support-page .ss-art{background:#eceeea}
#sunagawa-support-page .ss-local-nav{background:#fafaf8;border-top:1px solid var(--sr-line);border-bottom:1px solid var(--sr-line)}
#sunagawa-support-page .ss-deliverables{border-top:1px solid var(--sr-line)}
#sunagawa-support-page .sr-support-hero-photos img{border-radius:0;background:#eceeea}
#sunagawa-support-detail .sd-tab{border-radius:1px;font-weight:500}
#sunagawa-support-detail .sd-art{border-radius:2px}
#sa-scope .sc-ellipse{background:#f8f7f4;border-color:var(--sr-blue)}
#sa-scope .sc-category{background:#fff;border-color:var(--sr-line)}
/* Keep pricing figures and table labels in sans: visual comparisons need clarity. */
.sr-site :is(#sunagawa-pricing,#sunagawa-pricing-page) :is(.hp-table,.pp-comparison-table){font-family:var(--sr-sans)}
.sr-site :is(#sunagawa-pricing,#sunagawa-pricing-page) :is(.hp-table,.pp-comparison-table) thead{background:#eceeea}
.sr-site :is(#sunagawa-pricing,#sunagawa-pricing-page) :is(.hp-our-cell,.pp-office){background:#f8f7f4}
.sr-site :is(#sunagawa-pricing,#sunagawa-pricing-page) .sr-fee-chart{border-top-width:1px}
.sr-site :is(#sunagawa-pricing,#sunagawa-pricing-page) .sr-fee-stages li{border-radius:0;background:#f8f7f4}
.sr-site :is(#sunagawa-pricing,#sunagawa-pricing-page) .sr-fee-message{background:#eceeea;border-left:2px solid var(--sr-blue)}
#sunagawa-pricing-page .pp-cost-section{--pp-cost-own-fill:var(--sr-blue)}
#sunagawa-pricing-page .pp-cost-segment.pp-cost-own-work{color:#fff}
#sunagawa-pricing-page .pp-office-heading,#sunagawa-pricing-page .pp-comparison-table td.pp-office{border-radius:0}
.sr-site .sr-faq{background:#fff}
.sr-site .sr-faq[open]{background:#f8f7f4}
.sr-site .sr-faq summary{font-weight:500}
.sr-site .sr-faq summary::before{font-family:var(--sr-serif);font-weight:600}
.sr-site :is(.sr-faq-index a,.sr-page-index a,.sr-form-field input,.sr-form-field select,.sr-form-field textarea,.sr-contact-purpose,.sr-faq-search){border-radius:1px}
#sunagawa-new-pages .sn-form-panel{border-top-width:1px}
/* Light buttons remain readable against every dark invitation surface. */
.sr-site :is(.sr-page,#sr-main) :is(.ss-cta,.pp-cta,.sa-cta,.sn-cta,.sc-cta),.sr-site .sr-article-cta,#sunagawa-contact-cta,#sunagawa-service-labels .invitation-section{background:var(--sr-blue);color:#f8f7f4}
.sr-site :is(.ss-cta,.pp-cta,.sa-cta,.sn-cta,.sc-cta,.sr-article-cta,#sunagawa-contact-cta,.invitation-section) :is(.sr-button,.ss-button,.pp-button,.sa-button,.sn-button,.sc-button,.invitation-consult,.sc-action){background:transparent!important;border:1px solid #a8b0b8!important;color:#fff!important}
.sr-site :is(.ss-cta,.pp-cta,.sa-cta,.sn-cta,.sc-cta,.sr-article-cta,#sunagawa-contact-cta,.invitation-section) :is(.sr-primary,.ss-contact,.pp-contact,.sa-contact-button,.sn-button-primary,.invitation-consult,.sc-contact){background:#f8f7f4!important;color:#222a35!important;border-color:#f8f7f4!important}
.sr-site :is(.sr-button,.ss-button,.pp-button,.sa-button,.sn-button,.sc-button,.action-sample,.invitation-consult,.sc-action,.hp-more,.cases-more):hover{opacity:.85}
.sr-site .sr-footer{background:var(--sr-blue);border-top:1px solid #ffffff30}
@media(max-width:900px){
 .sr-site .sr-header-panel{box-shadow:none;border-bottom:1px solid #ffffff50}
 .sr-site .sr-header .sr-nav a{border-color:#ffffff30}
 #sunagawa-service-labels .hero{padding-block:48px}
 #sunagawa-service-labels .sr-hero-support{border-left:0;border-top:1px solid #ffffff50;padding:28px 0 0}
}
@media(max-width:620px){
 #sunagawa-service-labels .hero{padding-block:38px}
 #sunagawa-service-labels .hero h1{font-size:clamp(28px,7.5vw,42px);letter-spacing:.025em;line-height:1.7}
 #sunagawa-service-labels .eyebrow{letter-spacing:.02em}
 #sunagawa-service-labels .sr-hero-support{padding-top:26px}
 #sunagawa-service-labels .service-heading{font-size:22px}
 .sr-site :is(.sr-page,#sr-main) :is(h1,h2,h3){letter-spacing:.025em}
 .sr-site :is(.sr-page,#sr-main) :is(.ss-hero,.pp-hero,.sc-hero,.sa-hero,.sn-hero) h1{font-size:32px;letter-spacing:.035em}
 .sr-site .sr-header .sr-logo-frame{width:252px}
}
@media print{
 .sr-site .sr-header,.sr-site .sr-footer{background:#fff;color:#222a35}
 .sr-site .sr-header .sr-logo,.sr-site .sr-footer .sr-logo{filter:none}
 .sr-site .sr-header .sr-nav a,.sr-site .sr-footer nav a,.sr-site .sr-footer small{color:#222a35}
}
/* Final contrast review: the recruitment targets sit on a dark surface. */
#sunagawa-service-labels .talent-tile{color:#f8f7f4;border-radius:1px}
#sunagawa-service-labels .talent-icon{color:#f8f7f4}
#sunagawa-service-labels .hero .action-sample:not(.consult){background:transparent!important;color:#fff!important;border:1px solid #a8b0b8!important}
#sunagawa-about-page .sa-person{border-radius:2px}
