/* Public-site design: match the approved homepage; preserve service layouts. */
:root{--yt-ink:#173d3b;--yt-muted:#526764;--yt-paper:#f7f7f2;--yt-alt:#edf1e9;--yt-line:#d6ded6;--yt-accent:#a84b28;--yt-radius:12px;--pt-heading:#173d3b;--pt-text:#263d38;--pt-muted:#526764;--pt-deep:#173f3c;--pt-deep-2:#28594e;--pt-paper:#f7f7f2;--pt-paper-alt:#edf1e9;--pt-border:#d6ded6;--pt-copper:#a84b28;--pt-copper-deep:#843a20;--pt-radius:12px;--pt-radius-sm:8px}
body:has(.pt-nav),body.mm-page{font-family:"Noto Sans JP",sans-serif;color:var(--yt-ink);background:var(--yt-paper);line-height:1.85}
body .pt-nav{background:rgba(247,247,242,.98);border-bottom:1px solid var(--yt-line);box-shadow:none;padding:14px 0}
body .pt-nav .pt-container{max-width:1180px}
body .pt-nav .navbar-brand{margin-right:20px;gap:12px}
body .pt-nav .pt-brand-sub{display:none}
body .pt-nav .nav-link{font-size:13px;padding:10px 9px;white-space:nowrap}
body .pt-nav-cta,body .pt-btn,body.mm-page .mm-btn{border-radius:8px;box-shadow:none;font-size:14px;font-weight:700;min-height:44px}
body .pt-nav-cta,body .pt-btn-primary,body.mm-page .mm-btn-primary{background:var(--yt-accent);border-color:var(--yt-accent);color:#fff}
body .pt-nav-cta:hover,body .pt-btn-primary:hover,body.mm-page .mm-btn-primary:hover{background:#843a20;color:#fff;box-shadow:none}
body .pt-btn-outline{border-color:currentColor}
body .pt-card,body .pt-price-card,body .pt-note{border-radius:12px;box-shadow:0 2px 8px #173d3b06;border-color:var(--yt-line)}
body a.pt-card{text-decoration:none}
body a.pt-card:hover{border-color:var(--yt-accent);box-shadow:0 5px 18px #173d3b0c}
body .pt-h1{font-size:clamp(28px,3.6vw,44px);line-height:1.5;letter-spacing:-.02em}
body .pt-h2{font-size:clamp(24px,2.6vw,34px);line-height:1.5}
body .pt-h3{line-height:1.6}
body .pt-hero{padding:64px 0;background:linear-gradient(120deg,#173f3c,#28594e)}
body .pt-hero::before,body .pt-hero::after{opacity:.12}
body .pt-section{padding:72px 0}
body .pt-breadcrumb{background:var(--yt-paper);border-bottom:1px solid var(--yt-line)}
body .pt-cta-band{background:#173f3c}
body .pt-footer,body.mm-page .mm-footer{background:#173f3c;color:#e3ece7}
body .pt-footer h2,body .pt-footer h3,body.mm-page .mm-footer h2{color:#fff}
body .pt-footer a,body.mm-page .mm-footer a{color:#e3ece7}
body .pt-sticky-cta{border-radius:12px 12px 0 0;box-shadow:0 -2px 16px #173d3b0d}
body :is(h1,h2,h3,section,details,[id]){scroll-margin-top:100px}
body:has(.pt-nav) :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #a84b28;outline-offset:4px}
/* Manufacturing matching keeps its product-specific content and application flow. */
body.mm-page{--mm-ink:#173d3b;--mm-ink-soft:#263d38;--mm-muted:#526764;--mm-teal:#28594e;--mm-teal-dark:#173f3c;--mm-mint:#edf1e9;--mm-orange:#a84b28;--mm-orange-dark:#843a20;--mm-paper:#f7f7f2;--mm-line:#d6ded6;--mm-radius:12px;--mm-shadow:0 4px 18px #173d3b09}
body.mm-page .mm-badge{background:#edf1e9;color:#28594e;border-color:#c3d3c7;border-radius:8px;font-size:13px}
body.mm-page .mm-hero{background:radial-gradient(ellipse at 85% 28%,#e1ebe3,transparent 60%);padding:64px 0}
body.mm-page .mm-hero h1{font-size:clamp(32px,4vw,48px);line-height:1.45}
body.mm-page .mm-section{padding:72px 0}
body.mm-page .mm-section h2{font-size:clamp(24px,2.6vw,34px);line-height:1.5}
body.mm-page .mm-form-hero h1{font-size:clamp(28px,3.6vw,44px);line-height:1.5}
/* Guide and glossary pages share readable type, cards and a calm hero. */
body :is(.guide-hero,.guide-detail-hero,.glossary-hero,.term-hero,.industry-hero,.industry-detail-hero,.service-hero,.service-detail-hero,.case-hero,.case-detail-hero){background:#173f3c;color:#fff;padding-top:56px;padding-bottom:56px}
body :is(.guide-title,.guide-detail-title,.glossary-title,.term-title,.industry-detail-title,.service-detail-title,.case-detail-title){font-size:clamp(28px,3.6vw,44px);line-height:1.5;letter-spacing:-.02em}
body :is(.guide-card,.guide-panel,.guide-side,.glossary-card,.term-panel,.term-side,.industry-panel,.industry-side,.industry-related-card,.service-panel,.case-card){border-radius:12px;border-color:var(--yt-line);box-shadow:0 2px 8px #173d3b06}
body :is(.guide-primary,.industry-primary,.service-primary){background:#a84b28;border-color:#a84b28;border-radius:8px;color:#fff}
body :is(.guide-section,.guide-detail-section,.glossary-section,.term-section,.industry-detail-section){padding-top:48px;padding-bottom:48px}
body :is(.guide-kicker,.glossary-kicker,.term-kicker,.industry-kicker){letter-spacing:.08em}
body :is(.guide-detail-hero,.term-hero,.guide-hero,.glossary-hero) :is(.guide-kicker,.term-kicker,.glossary-kicker){color:#dbe8df}
body :is(.guide-cta,.industry-final-cta){background:#173f3c;border-radius:12px}
/* Long-form utility pages use the same paper, heading and control treatment. */
body :is(.pp-container,.legal-box,.guide-wrap,.faq-wrap){background:#fff;border:1px solid var(--yt-line);border-radius:12px;box-shadow:none;padding:clamp(22px,4vw,48px);margin:40px auto;line-height:1.9}
body :is(.pp-container,.legal-box,.guide-wrap,.faq-wrap) h1{color:var(--yt-ink);font-size:clamp(28px,3.6vw,40px);line-height:1.5}
body :is(.pp-container,.legal-box,.guide-wrap,.faq-wrap) h2{color:var(--yt-ink);line-height:1.6}
body .accordion-button:not(.collapsed){color:#173d3b;background:#edf1e9;box-shadow:none}
body .sourcing-hero{border-radius:12px;background:#173f3c}
body .sourcing-hero::after{background:linear-gradient(90deg,#173f3cee,#28594ecc,#173f3c55)}
@media(min-width:992px){body .pt-nav .navbar-brand{flex-shrink:0}body .pt-nav .navbar-collapse{flex-basis:auto}}
@media(max-width:991px){body .pt-nav{padding:10px 0}body .pt-nav .navbar-collapse{padding:12px 0}body .pt-nav .nav-link{font-size:14px;padding:10px 0}body .pt-nav-cta{display:inline-flex;align-items:center;justify-content:center;width:100%}}
@media(max-width:680px){body .pt-hero{padding:40px 0}body .pt-section,body.mm-page .mm-section{padding:48px 0}body.mm-page .mm-hero{padding:40px 0}body :is(.guide-hero,.guide-detail-hero,.glossary-hero,.term-hero,.industry-detail-hero){padding-top:40px;padding-bottom:40px}body :is(.guide-section,.guide-detail-section,.glossary-section,.term-section){padding-top:32px;padding-bottom:32px}body .pt-container,body.mm-page .mm-container{width:calc(100% - 40px)}body :is(.pp-container,.legal-box,.guide-wrap,.faq-wrap){margin:24px auto}body :is(input,select,textarea){font-size:16px}body :is(h1,h2,h3,section,details,[id]){scroll-margin-top:88px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body .pt-reveal{opacity:1;transform:none}body :is(.pt-btn,.mm-btn,.pt-card){transition:none}}
/* Keep headings readable immediately; no delayed reveal for primary content. */
body .pt-hero :is(.pt-kicker,.pt-h1,.pt-hero-lead,.pt-hero-actions,.pt-hero-notes){animation:none;opacity:1;transform:none}
body :is(.seo-hero,.seo-detail-hero,.case-detail-hero,.case-hero,.mm-form-hero){background:#173f3c}
body :is(.seo-title,.seo-detail-title,.case-detail-title){font-size:clamp(28px,3.6vw,44px);line-height:1.5}
body :is(.seo-primary,.case-primary,.btn-brand-primary),body:has(.pt-nav) :is(.btn-primary,.btn-success){background:#a84b28;border-color:#a84b28;color:#fff;border-radius:8px;box-shadow:none}
body:has(.pt-nav) :is(.btn-primary,.btn-success):hover{background:#843a20;border-color:#843a20}
body:has(.pt-nav) main :is(.form-control,.form-select){border-radius:8px;border-color:#b9c9bf;min-height:44px;background:#fff;color:#173d3b}
body:has(.pt-nav) main textarea.form-control{min-height:140px}
body .yt-service-note{padding:20px 24px;border:1px solid #c3d3c7;border-radius:12px;background:#edf1e9;margin:24px auto;max-width:960px;line-height:1.8}
body .yt-service-note a{color:#843a20;text-decoration:underline;text-underline-offset:3px;font-weight:700}
@media(max-width:680px){body :is(.pt-grid,.pt-grid-2,.pt-grid-3){grid-template-columns:minmax(0,1fr)}body .pt-grid>*{min-width:0;overflow-wrap:anywhere}}
