/* Navy and white establish a clear rhythm; the opening pairs a message with imagery. */
body{background:#fff;color:var(--navy)}
.ecosystem-hero{background:#fff;color:var(--navy)}
.hero-shell{display:grid;grid-template-columns:1fr 1.12fr;gap:0;align-items:stretch;padding:0;min-height:610px;background:var(--navy);color:#fff}
.hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:64px clamp(32px,4.3vw,88px);min-width:0}
.hero-kicker{color:#dbe4f0;font-size:1rem;letter-spacing:.13em;line-height:1.7}
.ecosystem-hero h1{color:#fff;font-size:clamp(2.4rem,3.45vw,4rem);line-height:1.45;letter-spacing:-.025em;margin:23px 0}
.hero-description{color:#dbe4f0;font-size:1.0625rem;line-height:1.9}
.hero-actions{margin-top:31px;gap:20px 26px}
.hero-actions .button{border-color:#fff;font-size:.9375rem;padding-inline:22px}
.hero-actions .button:hover{background:#e7edf5;color:var(--navy)}
.hero-actions .text-link{color:#fff;border-color:#ffffff8c;font-size:.9375rem}
.hero-actions .text-link:hover{color:#dbe4f0;border-color:#fff}
.hero-shell :focus-visible{outline-color:#fff}
.hero-scene{position:relative;min-width:0;min-height:100%;margin:0;overflow:hidden;background:#233654}
.hero-scene img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:51% 50%}
.hero-scene figcaption{position:absolute;bottom:0;left:0;max-width:100%;padding:16px 24px;background:#fff;color:var(--navy);font-size:.875rem;letter-spacing:.07em;line-height:1.7}
.about>.ecosystem{grid-column:1/-1;width:100%;max-width:1040px;justify-self:center;margin:64px auto 0;padding-top:45px;border-top:1px solid var(--line)}
.about .ecosystem-label{font-size:1rem;letter-spacing:.16em}
.about .eco-layout{margin-top:12px}
.about .eco-card h3{font-size:1.25rem}
.about .eco-card p{font-size:1rem}
.about .eco-hub{max-width:500px}
.about .eco-caption{font-size:1rem;margin-top:22px}
.about .eco-field{font-size:1.25rem}
.tone-navy{background:var(--navy);color:#fff;--blue:#fff;--muted:#dbe4f0;--line:#ffffff40;--hover:#fff}
.tone-navy h2,.tone-navy .section-label,.tone-navy .eyebrow{color:#fff}
.tone-navy .section-label>p::after{border-color:#ffffff70}
.tone-navy .text-link{color:#fff;border-color:#ffffff90}
.tone-navy .text-link:hover{color:#dbe4f0;border-color:#fff}
.services.tone-navy .service-grid{border-top-color:#fff}
.services.tone-navy .service-card h3,.services.tone-navy .service-sub,.services.tone-navy summary,.services.tone-navy .approach>p{color:#fff}
.services.tone-navy .service-top{color:#dbe4f0}
.services.tone-navy .service-card>p:not(.service-sub){color:#dbe4f0}
.services.tone-navy .tags li{background:#fff;color:var(--navy);font-size:.875rem}
.services.tone-navy .details-content{color:#dbe4f0;font-size:1rem}
.services.tone-navy .details-content .text-link{font-size:.9375rem}
.services.tone-navy .approach>p>span{color:#aab9d0}
.projects.tone-navy .project-feature-copy h3,.projects.tone-navy .project-lead,.projects.tone-navy .project-feature .project-role dd{color:#fff}
.projects.tone-navy .project-card{color:var(--navy);--blue:#12244a;--muted:#465674;--line:#cdd5e2;--hover:#0e5a88}
.projects.tone-navy .project-card .text-link{color:var(--navy);border-color:var(--navy)}
.projects.tone-navy .project-card .text-link:hover{color:#0e5a88}
.projects.tone-navy .project-card :focus-visible{outline-color:var(--navy)}
.projects.tone-navy .project-note{color:#dbe4f0;font-size:.875rem}
.journal.tone-navy .journal-topics h3{color:#fff}
.journal.tone-navy .journal-topics>div{border-color:#ffffff40}
.journal.tone-navy .button{background:#fff;color:var(--navy);border-color:#fff}
.journal.tone-navy .button:hover{background:#e7edf5}
.business-support .support-cta{background:var(--navy);color:#fff;border:0;padding:36px}
.business-support .support-cta h3{color:#fff}
.business-support .support-cta .button{background:#fff;color:var(--navy);border-color:#fff}
.business-support .support-cta .button:hover{background:#e7edf5}
.support-cta :focus-visible{outline-color:#fff}
.partner-network{border:0}
@media(min-width:1600px){
  .hero-copy{padding-left:max(64px,calc((100vw - 1440px)/2));padding-right:64px}
  .hero-shell{min-height:660px}
}
@media(max-width:1100px){
  .hero-shell{grid-template-columns:1fr 1fr;min-height:550px;gap:0;padding:0}
  .hero-copy{display:flex;padding:45px 32px}
  .ecosystem-hero h1{font-size:clamp(2rem,3.65vw,2.6rem);margin:22px 0;line-height:1.5}
  .hero-description{margin:0;font-size:1rem}
  .hero-actions{margin-top:26px;gap:18px}
  .hero-actions .button{font-size:.875rem;padding-inline:18px}
}
@media(max-width:760px){
  .hero-shell{display:flex;flex-direction:column;min-height:0}
  .hero-copy{padding:34px 24px 32px}
  .hero-kicker{font-size:.875rem}
  .ecosystem-hero h1{font-size:clamp(2rem,6.8vw,3.3rem);line-height:1.45;margin:18px 0}
  .hero-description{font-size:1rem;line-height:1.8}
  .hero-actions{margin-top:23px;gap:18px}
  .hero-actions .button,.hero-actions .text-link{font-size:.875rem}
  .hero-scene{width:100%;min-height:0;aspect-ratio:16/10}
  .hero-scene img{object-position:center 56%}
  .hero-scene figcaption{padding:10px 18px;font-size:.8125rem}
  .about>.ecosystem{margin-top:42px;padding-top:32px}
  .about .eco-card h3{font-size:1.0625rem}
  .about .eco-card p{font-size:.875rem}
  .about .eco-caption,.about .eco-field{font-size:1rem}
  .business-support .support-cta{padding:25px}
}
@media(max-width:360px){
  .hero-copy{padding-inline:20px}
  .ecosystem-hero h1{font-size:1.85rem}
  .hero-actions{gap:16px}
  .hero-actions .button{padding-inline:14px}
}
@media print{
  .hero-shell,.tone-navy{background:#fff;color:var(--navy)}
  .hero-shell{display:block;min-height:0}
  .hero-copy{padding:20px 0}
  .hero-scene{height:280px;min-height:0}
  .tone-navy h2,.tone-navy h3,.tone-navy p,.tone-navy a,.tone-navy summary,.hero-shell h1,.hero-shell p{color:var(--navy)!important}
}

/* Research-led visual language: clear frames, alternating surfaces, directional flow. */
.hero-shell{grid-template-columns:.88fr 1.12fr;min-height:600px}
.hero-copy{padding:54px clamp(28px,4vw,76px)}
.hero-kicker{font-size:.875rem;letter-spacing:.12em}
.ecosystem-hero h1{font-size:clamp(2.2rem,3.35vw,3.8rem)}
.ecosystem-hero h1>span{display:block;overflow:hidden}
.ecosystem-hero h1>span>span{display:block}
.hero-scene{background:#f5f7fa}
.hero-scene img{object-position:57% center}
.hero-scene figcaption{background:var(--navy);color:white;padding:17px 25px;border-top:1px solid #ffffff40;border-right:1px solid #ffffff40}
.hero-actions .text-link{font-size:.9375rem}
.section-label>span{display:grid;place-items:center;width:34px;height:34px;border:1px solid currentColor;opacity:1;font-size:.875rem;flex-shrink:0}
.section-label,.eyebrow{font-size:.875rem}
.sloc-principles{gap:12px;border:0;padding:0}
.sloc-principles>div,.sloc-principles>div:first-child{padding:22px 15px;border:1px solid #12244a50}
.sloc-principles p{font-size:.875rem}
.about>.ecosystem{border:1px solid #12244a50;padding:38px 32px 30px;max-width:none}
.field-grid{gap:20px}
.field-grid article,.field-grid article+article{border:1px solid #12244a50;padding:27px 25px;position:relative}
.field-grid article:nth-child(3n+2){background:var(--navy);color:#fff}
.field-grid article:nth-child(3n+2) h3,.field-grid article:nth-child(3n+2) p{color:#fff}
.services.tone-navy .service-grid{border:0;gap:24px}
.services.tone-navy .service-card,.services.tone-navy .service-card+.service-card,.services.tone-navy .service-card:last-child{padding:30px;border:1px solid #ffffff70}
.services-two-axes .section-heading{grid-template-columns:220px minmax(0,1fr);row-gap:24px}
.services-two-axes .section-intro{grid-column:2;max-width:760px;font-size:1rem}
.services-two-axes .service-card{position:relative;display:flex;flex-direction:column;align-items:flex-start}
.services-two-axes .service-top{align-self:stretch;gap:18px}
.services-two-axes .service-top>span:last-child{text-align:right;line-height:1.6}
.services-two-axes .service-card>p:not(.service-sub){font-size:1rem;line-height:2}
.services-two-axes .service-points{margin:24px 0 30px;padding-left:1.3em;font-size:1rem;line-height:1.9}
.services-two-axes .service-card>.text-link{margin-top:auto;font-size:1rem}
.services-two-axes .service-anchor{position:absolute;top:0;scroll-margin-top:126px}
.services-two-axes.tone-navy .service-card--research{background:#fff;--line:#12244a40;color:var(--navy)}
.services-two-axes.tone-navy .service-card--research h3,.services-two-axes.tone-navy .service-card--research .service-sub,.services-two-axes.tone-navy .service-card--research .service-top,.services-two-axes.tone-navy .service-card--research>p:not(.service-sub){color:var(--navy)}
.services-two-axes.tone-navy .service-card--research .text-link{color:var(--navy);border-color:var(--navy)}
.services-two-axes.tone-navy .service-card--research :focus-visible{outline-color:var(--navy)}
.services-two-axes.tone-navy .service-card--business{background:var(--navy);color:#fff}
@media(max-width:900px){.services-two-axes .section-heading{grid-template-columns:1fr}.services-two-axes .section-intro{grid-column:1}}
@media(max-width:760px){.services-two-axes .service-grid{grid-template-columns:minmax(0,1fr)}.services-two-axes .service-top>span:last-child{font-size:.875rem}.services-two-axes .service-anchor{scroll-margin-top:94px}}
.service-top{font-size:.875rem}
.support-card{border-top-width:1px;padding:32px 26px}
.support-number{font-size:.875rem}
.support-grid>.support-card:nth-child(2){background:var(--navy);color:#fff}
.support-card:nth-child(2) h3{color:#fff}
.support-card:nth-child(2) .support-output{border-color:#ffffff70}
.support-card:nth-child(2) .button{background:#fff;color:var(--navy);border-color:#fff}
.support-card:nth-child(2) .button:hover{background:#e3eaf4}
.support-card:nth-child(2) :focus-visible{outline-color:#fff}
.support-engagement{grid-template-columns:1fr;border:0;padding:0;margin-top:64px;gap:26px}
.support-engagement>div>h3 br{display:none}
.engagement-options{gap:26px}
.engagement-options article,.engagement-options article+article{border:1px solid #12244a70;padding:27px}
.engagement-options article:nth-child(2){background:var(--navy);color:#fff}
.engagement-options p,.support-card ul,.support-output p{font-size:1rem}
.support-process{margin-top:64px;padding:0;border:0}
.support-process>h3{font-size:1.4rem}
.support-process ol{gap:40px;margin-top:30px}
.support-process li{position:relative;border:1px solid #12244a70;padding:25px 22px 28px;min-width:0;background:#fff}
.support-process li>span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--navy);color:white;font-size:1rem}
.support-process h4{margin:21px 0 12px;font-size:1.0625rem}
.support-process p{font-size:1rem}
.process-arrow{position:absolute;width:30px;height:20px;right:-36px;top:50%;margin-top:-10px;overflow:visible;color:var(--navy)}
.journal.tone-navy .journal-topics>div{border:1px solid #ffffff70;padding:26px 24px 26px 60px;margin-top:16px}
.journal-topics>div>span{left:23px;top:28px;font-size:.875rem}
.journal.tone-navy .journal-topics>div:nth-of-type(2){background:#fff;color:var(--navy)}
.journal.tone-navy .journal-topics>div:nth-of-type(2) h3,.journal.tone-navy .journal-topics>div:nth-of-type(2)>p,.journal.tone-navy .journal-topics>div:nth-of-type(2)>span{color:var(--navy)}
.company-message{margin:0;border:1px solid #12244a50;padding:35px}
.footer-top{padding-block:48px;gap:30px}
.footer-brand{width:300px;flex-shrink:0}
.footer-top>a:last-child{font-size:.875rem}

@media(prefers-reduced-motion:no-preference){
  .motion-ready .hero-kicker,.motion-ready .hero-description,.motion-ready .hero-actions{animation:hero-fade .9s both cubic-bezier(.2,.65,.3,1)}
  .motion-ready .hero-description{animation-delay:.36s}
  .motion-ready .hero-actions{animation-delay:.5s}
  .motion-ready h1>span>span{animation:hero-line 1s both cubic-bezier(.2,.75,.2,1);animation-delay:.08s}
  .motion-ready h1>span:nth-child(2)>span{animation-delay:.2s}
  .motion-ready h1>span:nth-child(3)>span{animation-delay:.32s}
  .motion-ready .hero-scene img{animation:hero-image 1.8s both cubic-bezier(.2,.65,.3,1)}
  .motion-ready .hero-scene figcaption{animation:hero-caption .9s .55s both cubic-bezier(.2,.65,.3,1)}
  .page-reveal.is-waiting{opacity:0;transform:translateY(32px)}
  .page-reveal.is-visible{transition:opacity .85s ease var(--reveal-delay,0ms),transform .85s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}
  .section-label.is-visible>p::after{transform-origin:left;animation:rule-draw .9s .15s both ease}
  .support-process li.is-visible .process-arrow{animation:flow-arrow .75s calc(var(--reveal-delay,0ms) + .35s) both ease}
  .support-card,.field-grid article,.service-card,.engagement-options article{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
  .support-card:hover,.field-grid article:hover,.engagement-options article:hover{transform:translateY(-5px);box-shadow:0 14px 32px #12244a14}
  .service-card:hover{transform:translateY(-4px);border-color:#fff!important}
  .project-image{overflow:hidden}
  .project-image img,.project-card-media img{transition:transform .85s cubic-bezier(.2,.7,.2,1)}
  .project-feature:hover .project-image img,.project-card:hover .project-card-media img{transform:scale(1.045)}
  .text-link{position:relative;transition:padding .3s ease,color .3s ease}
  .text-link:hover{padding-inline:5px}
  @keyframes hero-line{from{transform:translateY(110%)}to{transform:translateY(0)}}
  @keyframes hero-fade{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
  @keyframes hero-image{from{opacity:.3;transform:scale(1.07)}to{opacity:1;transform:scale(1)}}
  @keyframes hero-caption{from{opacity:0;transform:translateX(-35px)}to{opacity:1;transform:none}}
  @keyframes rule-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
  @keyframes flow-arrow{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}
}
@media(max-width:1100px){
  .hero-shell{grid-template-columns:1fr 1.1fr;min-height:540px}
  .hero-copy{padding:38px 30px}
  .hero-kicker{font-size:.8125rem;letter-spacing:.08em}
  .ecosystem-hero h1{font-size:clamp(2rem,3.5vw,2.5rem)}
  .support-process ol{gap:30px}
  .support-process li{padding:22px 16px}
  .process-arrow{width:24px;right:-28px}
}
@media(max-width:760px){
  .hero-shell{display:flex;min-height:0}
  .hero-copy{padding:32px 24px 34px}
  .ecosystem-hero h1{font-size:clamp(2rem,7.9vw,3.2rem);line-height:1.4;margin:16px 0 19px}
  .hero-scene{aspect-ratio:3/2}
  .hero-scene img{object-position:center}
  .hero-scene figcaption{padding:10px 18px;font-size:.875rem}
  .hero-description{font-size:1rem}
  .hero-actions{gap:18px;margin-top:23px}
  .hero-actions .text-link{font-size:.875rem}
  .section-label{gap:12px}
  .sloc-principles{gap:12px}
  .sloc-principles>div,.sloc-principles>div:first-child{padding:20px}
  .about>.ecosystem{padding:28px 14px 22px;margin-top:42px}
  .services.tone-navy .service-card,.services.tone-navy .service-card+.service-card,.services.tone-navy .service-card:last-child{padding:25px 22px}
  .engagement-options{gap:18px}
  .engagement-options article,.engagement-options article+article{padding:25px}
  .support-process ol{grid-template-columns:1fr;gap:42px}
  .support-process li{padding:24px;display:grid;grid-template-columns:42px 1fr;gap:0 18px}
  .support-process li>span{grid-row:1/3}
  .support-process h4{margin:2px 0 10px}
  .support-process p{grid-column:2}
  .process-arrow{top:auto;bottom:-32px;left:50%;right:auto;margin:0 0 0 -14px;width:28px;transform:rotate(90deg)}
  .company-message{padding:28px}
  .footer-top{flex-direction:column;align-items:flex-start;padding-block:35px}
  .footer-brand{width:260px}
}
@media(prefers-reduced-motion:reduce){
  .hero-scene img,.hero-copy *,h1 span,.process-arrow{animation:none!important;transform:none!important}
  .process-arrow{transform:rotate(0)!important}
  .page-reveal,.page-reveal.is-waiting{opacity:1!important;transform:none!important}
}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.process-arrow{transform:rotate(90deg)!important}}
@media print{.page-reveal,.page-reveal.is-waiting{opacity:1!important;transform:none!important;animation:none!important}.hero-copy *,.hero-scene img{animation:none!important}}

/* Sapporo becomes the full hero canvas, with copy set into its quiet left edge. */
.hero-shell.hero-overlay{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr;min-height:clamp(600px,calc(100svh - 100px),760px);padding:0;overflow:hidden;background:#f4f6f9;color:var(--navy)}
.hero-overlay .hero-scene{position:absolute;inset:0;min-height:0;width:100%;height:100%;aspect-ratio:auto;z-index:0}
.hero-overlay .hero-scene::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#ffffffb8 0%,#ffffff65 30%,#ffffff00 60%);pointer-events:none}
.hero-overlay .hero-scene img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-overlay .hero-copy{position:relative;z-index:1;align-self:center;width:54%;max-width:800px;min-width:0;padding:65px 30px 90px max(56px,calc((100vw - 1320px)/2));background:transparent}
.hero-overlay .hero-kicker{color:var(--navy);font-size:.875rem;letter-spacing:.12em}
.ecosystem-hero .hero-overlay h1{color:var(--navy);font-size:clamp(2.5rem,4.3vw,4.6rem);line-height:1.4;letter-spacing:-.035em;margin:24px 0}
.hero-overlay .hero-description{color:var(--navy);font-size:1.0625rem;font-weight:500;line-height:1.95}
.hero-overlay .hero-actions{gap:24px;margin-top:28px}
.hero-overlay .hero-actions .button{background:var(--navy);color:#fff;border-color:var(--navy);font-size:.9375rem}
.hero-overlay .hero-actions .button:hover{background:#263e69}
.hero-overlay .hero-actions .text-link{color:var(--navy);border-color:var(--navy);font-size:.9375rem}
.hero-overlay :focus-visible{outline-color:var(--navy)}
.hero-overlay .hero-scene figcaption{z-index:1;left:auto;right:28px;bottom:23px;border:0;background:#fffffff0;color:var(--navy);padding:10px 18px;font-size:.875rem}

/* Remove the legacy negative offset; both columns stay within the company section. */
.company .section-heading{grid-template-columns:220px minmax(0,1fr);gap:42px}
.company .company-layout{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:40px;align-items:start}
.company .company-message{margin:0;padding:36px;border:0;min-width:0;background:var(--navy);color:#fff}
.company .company-message h3{color:#fff;font-size:clamp(1.5rem,2.2vw,1.9rem);line-height:1.75}
.company .company-message>p{color:#e3eaf4;font-size:1rem;line-height:2}
.company .company-message .signature{color:#fff;font-size:1.5rem;margin-top:32px}
.company .company-profile{min-width:0}
.company .company-data{border:1px solid #12244a50;border-top:3px solid var(--navy)}
.company .company-data>div{grid-template-columns:112px minmax(0,1fr);gap:18px;padding:20px 24px;font-size:1rem;line-height:1.9}
.company .company-data>div:last-child{border-bottom:0}
.company .company-data dt{color:var(--navy);font-weight:600;white-space:nowrap}
.company .company-data dd{overflow-wrap:anywhere;min-width:0}
.company .transition{margin-top:18px;padding:0 24px;border:1px solid #12244a50}
.company .transition summary{font-size:.9375rem;gap:14px;padding-block:18px}

/* Use the original raster logo as a normal image. Screen blending removes its black field without browser-specific masks. */
.footer .footer-brand{position:relative;display:block;width:280px;max-width:100%;height:80px;overflow:hidden;background:#0d1b39;isolation:isolate;flex-shrink:0}
.footer .footer-brand .footer-logo{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:50% 52%;transform:scale(1.37);mix-blend-mode:screen;opacity:1}
@media(max-width:1100px){
  .hero-overlay .hero-copy{width:58%;padding-left:40px;padding-right:24px}
  .ecosystem-hero .hero-overlay h1{font-size:clamp(2.4rem,4.7vw,3.4rem)}
  .company .section-heading{grid-template-columns:180px minmax(0,1fr);gap:30px}
  .company .company-layout{gap:28px}
  .company .company-message{padding:28px}
  .company .company-data>div{grid-template-columns:100px minmax(0,1fr);gap:12px;padding:18px 20px}
}
@media(max-width:760px){
  .hero-shell.hero-overlay{display:grid;min-height:690px}
  .hero-overlay .hero-copy{align-self:start;width:100%;max-width:none;padding:34px 24px 270px}
  .hero-overlay .hero-kicker{font-size:.8125rem;letter-spacing:.08em}
  .ecosystem-hero .hero-overlay h1{font-size:clamp(2rem,8.2vw,3.5rem);line-height:1.42;margin:18px 0}
  .hero-overlay .hero-description{font-size:1rem;line-height:1.9}
  .hero-overlay .hero-actions{gap:16px 18px;margin-top:24px}
  .hero-overlay .hero-actions .button,.hero-overlay .hero-actions .text-link{font-size:.875rem}
  .hero-overlay .hero-scene img{object-position:84% center}
  .hero-overlay .hero-scene::after{background:linear-gradient(180deg,#fffffff2 0%,#ffffffeb 25%,#ffffffad 46%,#ffffff00 76%)}
  .hero-overlay .hero-scene figcaption{left:20px;right:auto;bottom:20px;font-size:.8125rem;padding:9px 12px;max-width:calc(100% - 40px)}
  .company .section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:32px}
  .company .company-layout{grid-template-columns:minmax(0,1fr);gap:24px}
  .company .company-message{padding:28px}
  .company .company-message h3{font-size:1.5rem}
  .company .company-data>div{grid-template-columns:1fr;gap:6px;padding:18px 20px}
  .company .company-data dt{font-size:.875rem}
  .company .company-data dd{font-size:1rem}
  .company .transition{padding:0 20px}
  .company .transition summary{font-size:.875rem}
  .footer .footer-brand{width:252px;height:72px}
}
@media(max-width:360px){
  .hero-overlay .hero-copy{padding-inline:20px}
  .hero-overlay .hero-actions{gap:16px}
  .hero-overlay .hero-actions .button{padding-inline:15px}
  .hero-overlay .hero-actions .text-link{font-size:.8125rem}
}
@media print{.hero-shell.hero-overlay{display:block;min-height:0}.hero-overlay .hero-copy{width:100%;padding:20px 0}.hero-overlay .hero-scene{position:relative;height:280px}.company .company-message{background:#fff;border:1px solid var(--navy)}.company .company-message h3,.company .company-message p{color:var(--navy)}}

/* Representative profile: preserve the original portrait and the site's white/navy rhythm. */
.representative{border-bottom:1px solid var(--line)}
.representative-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:48px}
.representative-heading h2{margin-top:14px}
.representative-lead{font-size:clamp(1.5rem,2.4vw,2.1rem);font-weight:700;line-height:1.65;letter-spacing:.025em}
.representative-layout{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.4fr);gap:clamp(32px,6vw,88px);align-items:start}
.representative-portrait{width:100%;max-width:360px;aspect-ratio:1;background:#eef0f3}
.representative-portrait img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.representative-profile{min-width:0;max-width:720px}
.representative-role{font-size:1rem;font-weight:600;line-height:1.7}
.representative-name{font-size:clamp(2rem,2.8vw,2.5rem);font-weight:700;line-height:1.5;letter-spacing:.08em;margin-top:8px}
.representative-name-en{font-family:Arial,sans-serif;font-size:.9375rem;line-height:1.7;letter-spacing:.08em;margin-top:5px}
.representative-bio{margin-top:26px;font-size:1rem;line-height:2;overflow-wrap:anywhere}
.representative-activities{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}
.representative-activities h3{font-size:1rem;line-height:1.7}
.representative-activities dl{margin:16px 0 0}
.representative-activities dl>div{display:grid;grid-template-columns:160px minmax(0,1fr);gap:8px 20px;margin-top:12px;font-size:1rem;line-height:1.85}
.representative-activities dt{font-weight:600}
.representative-activities dd{margin:0;min-width:0;overflow-wrap:anywhere}
.representative-link{margin-top:30px;font-size:1rem;min-height:44px;padding-block:8px}
.representative-link:hover{padding-inline:0}
.representative-link:focus-visible{outline:3px solid var(--navy);outline-offset:6px}
@media(max-width:1000px){
  .representative-heading{align-items:flex-start;flex-direction:column;gap:24px}
  .representative-activities dl>div{grid-template-columns:minmax(0,1fr);gap:2px}
}
@media(max-width:760px){
  .representative-heading{margin-bottom:32px}
  .representative-lead{font-size:1.5rem}
  .representative-layout{grid-template-columns:minmax(0,1fr);gap:32px}
  .representative-portrait{width:76%;max-width:360px;margin-inline:auto}
  .representative-profile{max-width:none}
  .representative-bio{margin-top:24px}
  .representative-activities dl>div{margin-top:16px}
}
