:root{--green:#427d00;--brand:#5fc30a;--blue:#1677ff;--action:#0f5ed7;--ink:#0b2f66;--body:#526b93;--line:#dbeafe;--pale:#f1f7ff;--lime:#f7f8fa;--pink:#fff0f3;--ivory:#ffffff;--white:#fff;--focus:#355fa4;--radius:22px;font-family:Inter,"Noto Sans KR","Apple SD Gothic Neo",Arial,sans-serif;color:var(--ink);background:var(--ivory);line-height:1.65}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button,input,textarea,select{font:inherit}button{cursor:pointer}.wrap{width:min(1200px,calc(100% - 48px));margin:auto}.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:10px;z-index:10}.skip:focus{left:12px}.site-header{height:72px;background:#60c601;color:var(--white);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1200px)/2));gap:24px}.logo{display:flex;align-items:center}.logo img{width:145px;height:auto}.site-header nav{display:flex;gap:26px;font-size:14px}.site-header nav a{opacity:1}.site-header nav a:hover,.site-header nav a:focus,[aria-current=page]{opacity:1;text-decoration:underline;text-underline-offset:5px}.hero{min-height:580px;display:grid;grid-template-columns:1.12fr .88fr;gap:64px;align-items:center;padding:88px 0 74px}.eyebrow{margin:0 0 16px;color:var(--green);font-weight:700;font-size:12px;letter-spacing:.12em}.hero h1,.product h2,.journey h2,.village h2,.page-intro h1{font-size:clamp(40px,5vw,64px);line-height:1.16;letter-spacing:-.055em;margin:0 0 24px}.lead{font-size:18px;color:var(--body);margin:0}.actions{display:flex;gap:10px;margin-top:34px}.button{border:1px solid transparent;border-radius:999px;min-height:48px;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;gap:22px;font-weight:700;font-size:15px;transition:transform .18s ease,background .18s ease}.button:hover{transform:translateY(-2px)}.button:focus-visible,.text-link:focus-visible,.quiet-button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.primary{background:var(--action);color:#fff}.primary:hover{background:#0b4fb3}.secondary{background:#fff;color:var(--ink);border-color:#b7c5b7}.product{padding:100px 0}.home-section{background:var(--lime)}.care-section{background:var(--pale)}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px}.reverse>.product-copy{order:2}.product-copy>p:not(.eyebrow):not(.pilot){font-size:18px;color:var(--body);max-width:460px}.product h2{font-size:clamp(34px,4vw,52px);margin-bottom:18px}.feature-list{padding:0;margin:32px 0 22px;list-style:none;border-top:1px solid var(--line)}.feature-list li{display:grid;grid-template-columns:180px 1fr;gap:16px;padding:15px 0;border-bottom:1px solid var(--line);font-size:15px}.feature-list span{color:var(--body)}.pilot{font-size:13px;color:var(--body);margin:0 0 20px}.text-link{display:inline-flex;gap:12px;border-bottom:1px solid var(--ink);font-weight:700;padding-bottom:4px}.text-link span{color:var(--green)}.journey{padding:100px 0;background:#f3f8fc;color:var(--ink)}.journey .eyebrow{color:var(--green)}.journey h2{font-size:clamp(34px,4vw,52px);margin-bottom:10px}.journey-lead{color:var(--body);margin:0}.journey ol{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:52px 0 26px;counter-reset:item}.journey li{position:relative;display:flex;flex-direction:column;gap:9px}.journey li:not(:last-child):after{content:"";height:1px;background:#b6d5c3;position:absolute;width:calc(100% - 38px);left:57%;top:11px}.journey i{font-style:normal;font-size:11px;color:var(--green)}.journey b{font-size:18px}.journey span,.fine{font-size:14px;color:var(--body)}.fine{margin:0}.village{padding:100px 0;display:grid;grid-template-columns:1.2fr .9fr auto;gap:50px;align-items:end}.village h2{font-size:clamp(30px,3.4vw,44px);margin:0}.village>p{color:var(--body);margin:0;font-size:16px}.village .button{white-space:nowrap}footer{background:#f5f7fa;color:var(--body);border-top:1px solid var(--line);padding:34px 0}footer .footer-inner{display:flex;align-items:center;gap:30px;flex-wrap:wrap}footer img{width:126px}footer p{font-size:13px;margin:0;line-height:1.6}footer p a{text-decoration:underline;text-underline-offset:3px}footer>div>div{font-size:13px;display:flex;gap:8px}footer small{margin-left:auto}.inquiry-body{background:#f7f8fa}.inquiries{padding:68px 0 100px}.page-intro{max-width:720px;margin-bottom:42px}.page-intro h1{font-size:clamp(36px,4vw,52px);margin-bottom:13px}.page-intro>p:not(.eyebrow){color:var(--body);font-size:17px}.prototype-note{border-left:3px solid #7ca871;padding:8px 12px;background:var(--pale);font-size:14px!important}.inquiry-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px}.panel h2,.board h2,.privacy-note h2{font-size:22px;margin:0 0 20px;letter-spacing:-.03em}.side-stack{display:grid;gap:24px}.compact p,.privacy-note p{font-size:14px;color:var(--body);margin:0}.panel form{display:grid;gap:16px}.panel label{font-size:14px;font-weight:700;display:grid;gap:6px}.panel label small{font-weight:400;color:var(--body)}input,select,textarea{width:100%;border:1px solid #bac8b9;border-radius:9px;padding:10px 12px;background:#fff;color:var(--ink);font-weight:400}textarea{resize:vertical}.check{display:flex!important;grid-template-columns:18px 1fr;align-items:start;gap:8px!important;font-weight:400!important}.check input{margin-top:4px}.form-message{min-height:1.5em;margin:0;color:#a43d2e;font-size:14px}.receipt{margin-top:22px;padding:18px;background:var(--pale);border-radius:12px}.receipt output{display:block;font-weight:700;font-size:20px;letter-spacing:.04em;margin:8px 0 15px;word-break:break-all}.private-inquiry{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}.private-inquiry h3{font-size:17px;margin:0 0 8px}.private-inquiry p{white-space:pre-wrap;color:var(--body);font-size:14px}.private-inquiry .danger{background:#fff;color:#8d3025;border-color:#d9aaa3;margin-top:8px}.board{margin-top:66px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:17px}.section-head p:not(.eyebrow){font-size:14px;color:var(--body);margin:0}.board-table{border-top:2px solid var(--ink)}.board-row{display:grid;grid-template-columns:1fr 150px 120px;gap:12px;align-items:center;padding:14px 12px;border-bottom:1px solid var(--line);font-size:14px}.board-label{font-size:12px;color:var(--body);background:#f5f7fa}.status{color:var(--green);font-weight:700}.pagination{display:flex;justify-content:center;gap:8px;margin-top:18px}.pagination button,.quiet-button{border:1px solid var(--line);background:#fff;border-radius:7px;min-width:34px;min-height:34px;color:var(--ink)}.pagination button[aria-current=page]{background:var(--green);border-color:var(--green);color:#fff}.operator{margin-top:66px}.operator-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);margin-bottom:14px}.operator-actions p{color:var(--body);font-size:14px}.operator-item{border-bottom:1px solid var(--line);padding:18px 0}.operator-item h3{font-size:16px;margin:0 0 4px}.operator-item p{white-space:pre-wrap;font-size:14px;color:var(--body)}.operator-item details{margin-top:10px}.operator-item textarea{margin:8px 0}.privacy-note{margin-top:66px;padding-top:22px;border-top:1px solid var(--line)}
@media(max-width:760px){.wrap{width:min(100% - 40px,1200px)}.site-header{height:64px;padding:0 20px}.logo img{width:128px}.site-header nav{gap:14px;font-size:12px}.hero{grid-template-columns:1fr;gap:32px;padding:60px 0}.hero h1{font-size:40px}.lead{font-size:16px}.actions{flex-direction:column}.button{width:100%}.hero-art{min-height:300px}.product{padding:58px 0}.split{grid-template-columns:1fr;gap:34px}.reverse>.product-copy{order:0}.feature-list li{grid-template-columns:1fr;gap:3px}.journey{padding:58px 0}.journey ol{grid-template-columns:1fr 1fr;gap:28px;margin:35px 0}.journey li:not(:last-child):after{display:none}.village{padding:58px 0;grid-template-columns:1fr;gap:22px;align-items:start}.village .button{width:max-content}.inquiries{padding:48px 0 70px}.inquiry-grid{grid-template-columns:1fr}.panel{padding:22px}.section-head{align-items:start;flex-direction:column}.board-row{grid-template-columns:1fr 90px 72px;padding:12px 4px;font-size:13px}.board-label{font-size:11px}.operator{margin-top:45px}footer .footer-inner{align-items:flex-start;flex-direction:column;gap:15px}footer small{margin-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}
[hidden] { display: none !important; }
:root { --section-bg: #f5f5f5; }
.company-stories { padding: 64px 0 72px; background: var(--pale); }
.company-evidence { display: flex; align-items: center; justify-content: center; height: 340px; padding: 24px; background: var(--section-bg); cursor: zoom-in; }
.company-evidence img { width: 100%; height: 100%; object-fit: contain; }
.company-stories-slider { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 12px; }
.company-stories-grid { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 4px 2px 12px; }
.company-stories-grid::-webkit-scrollbar { display: none; }
.company-stories-grid .screen-story { flex: 0 0 calc((100% - 54px) / 4); scroll-snap-align: start; }
.company-stories .company-evidence { height: 220px; padding: 18px; }
.company-stories .story-copy { min-height: 92px; padding: 20px; }
.company-stories .story-copy h3 { margin: 0; font-size: 18px; }
.company-stories-nav { width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--ink); font-size: 22px; line-height: 1; }
.company-stories-nav:hover { background: var(--pale); }
@media (max-width:760px) { .company-stories { padding: 44px 0 48px; } .company-evidence { height: 300px; } }
@media (max-width:760px) { .company-stories-grid .screen-story { flex-basis: 82%; } .company-stories .company-evidence { height: 240px; } .company-stories-slider { gap: 8px; } .company-stories-nav { width: 40px; height: 40px; } }
body { overflow-x: visible; word-break: keep-all; overflow-wrap: anywhere; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
.check input { width: 18px; height: 18px; flex: 0 0 18px; }
.site-header nav a { white-space: nowrap; }
.hero { grid-template-columns: 1.25fr .75fr; }
.hero h1 { font-size: clamp(40px,3.8vw,52px); word-break: keep-all; text-wrap: balance; overflow-wrap: normal; }
.operator-item, .private-inquiry { min-width: 0; }
button:disabled { cursor: wait; opacity: .6; transform: none; }
@media (max-width:760px) {
  .hero { grid-template-columns: 1fr; }
  .hero h1 { font-size: 38px; }
  .hero-tail>span { display: block; }
  .logo img { width: 110px; }
}

@media (max-width:520px) {
  .nav-brand { display: none; }
  .site-header nav { gap: 12px; }
}

/* Brand accents stay green/blue; large surfaces use warm neutrals. */
.pagination button[aria-current=page] { background: var(--action); border-color: var(--action); }
.hero { grid-template-columns: 1.05fr .95fr; gap: 48px; padding: 64px 0; }
.showcase-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 36px; margin-bottom: 40px; }
.showcase-heading>div { max-width: 750px; }
.showcase-heading p:not(.eyebrow) { max-width: 650px; color: var(--body); margin-bottom: 0; font-size: 17px; }
.showcase-heading .button { flex-shrink: 0; }
.home-screens { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.screen-story { min-width: 0; background: white; border: 1px solid var(--line); border-radius: 20px; overflow: hidden; }
.story-copy { padding: 26px 24px 22px; }
.feature-number { font-size: 12px; font-weight: 700; color: var(--green); letter-spacing: .04em; }
.story-copy h3,.care-spotlight h3 { margin: 9px 0 10px; font-size: 23px; line-height: 1.4; letter-spacing: -.035em; }
.story-copy p,.care-spotlight p { font-size: 15px; color: var(--body); margin: 0; }
.home-screens .story-copy { min-height: 185px; }
.phone-frame { display: block; width: 250px; max-width: calc(100% - 48px); height: 410px; margin: 0 auto; background: var(--pale); border: 1px solid var(--line); border-radius: 16px 16px 0 0; overflow: hidden; }
.phone-frame img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.growth-frame img { object-position: center; }
.home-screens .screen-story:nth-child(2) { background: #f5f7fa; }
.home-screens .screen-story:nth-child(3) { background: var(--pink); }
.feature-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; padding: 30px 0; margin-top: 26px; border-bottom: 1px solid var(--line); }
.feature-details h3 { font-size: 18px; margin: 0 0 16px; }
.feature-details p { font-size: 14px; color: var(--body); margin: 10px 0; }
.feature-details b { display: block; color: var(--ink); font-weight: 600; }
.capture-note { font-size: 12px; color: var(--body); margin: 18px 0 0; max-width: 960px; }
.home-feature-heading { margin: 52px 0 24px; }
.home-feature-heading h3 { font-size: 28px; line-height: 1.4; margin: 0 0 12px; letter-spacing: -.035em; }
.home-feature-heading p { color: var(--body); margin: 0; }
.home-feature-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.home-feature-grid .screen-story { display: flex; flex-direction: column; }
.home-feature-grid .story-copy { min-height: 185px; }
.feature-capture { display: flex; align-items: center; justify-content: center; height: 360px; margin: 0 20px; background: var(--pale); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.feature-capture img { display: block; width: 100%; height: 100%; object-fit: contain; }
.discovery-capture img { width: 300px; max-width: 100%; height: auto; align-self: flex-end; }
@media (max-width:760px) {
  .home-feature-grid { grid-template-columns: 1fr; }
  .home-feature-grid .story-copy { min-height: 0; }
  .feature-capture { height: 310px; margin: 0 14px; }
  .home-feature-heading h3 { font-size: 24px; }
}
.care-spotlight { display: grid; grid-template-columns: .75fr 1.65fr; align-items: center; gap: 36px; margin-bottom: 28px; }
.care-spotlight h3 { font-size: 28px; }
.capability-tags { display: flex; flex-wrap: wrap; list-style: none; padding: 0; gap: 8px; margin: 20px 0 0; font-size: 12px; color: var(--ink); }
.capability-tags li { border-radius: 999px; padding: 5px 11px; background: #dbeafe; }
.desktop-frame { display: block; margin: 0; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: white; }
.desktop-frame img { width: 100%; display: block; }
.desktop-frame>a:first-child { display: block; }
.desktop-frame:focus-within { outline: 3px solid var(--focus); outline-offset: 4px; }
.desktop-frame figcaption { padding: 9px 14px; color: var(--body); font-size: 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.desktop-frame figcaption a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; color: var(--ink); }
.care-screens { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.care-screens .desktop-frame { margin: 0 20px; }
.care-screens .story-copy { min-height: 166px; }
.care-screens .screen-story { border-top: 3px solid var(--blue); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.inquiry-body { background: var(--pale); }
.inquiry-body input,.inquiry-body select,.inquiry-body textarea { font-size: 16px; }
@media (max-width:1000px) {
  .hero { gap: 28px; }
  .showcase-heading { align-items: flex-start; flex-direction: column; gap: 24px; }
  .home-screens { gap: 14px; }
  .story-copy { padding: 22px 18px; }
  .story-copy h3 { font-size: 20px; }
  .home-screens .story-copy { min-height: 210px; }
  .phone-frame { max-width: calc(100% - 28px); height: 350px; }
  .care-spotlight { grid-template-columns: 1fr; gap: 22px; }
}
@media (max-width:760px) {
  .hero { grid-template-columns: 1fr; padding: 48px 0; }
  .home-screens,.care-screens,.feature-details { grid-template-columns: 1fr; }
  .home-screens { gap: 24px; }
  .partner-section { padding: 12px 0 60px; }
  .home-screens .story-copy,.care-screens .story-copy { min-height: 0; }
  .phone-frame { width: 275px; max-width: calc(100% - 40px); height: 450px; }
  .feature-details { gap: 16px; }
  .showcase-heading .button { width: auto; }
  .care-screens .desktop-frame { margin: 0 14px; }
}
@media (max-width:380px) {
}
/* Native radios remain usable if the optional autoplay script is unavailable. */
.hero-carousel { display: grid; background: white; }
.hero-picker { grid-row: 1; }
.hero-controls { grid-row: 2; display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.hero-controls button { min-height: 44px; min-width: 76px; padding: 8px 14px; color: var(--ink); background: #f7f8fa; border: 1px solid #cbd5e1; border-radius: 999px; font-size: 14px; }
.hero-controls button:hover { background: #eef1f5; }
.hero-controls button:active { background: #e2e7ee; }
.hero-service-note { grid-row: 3; }
.feature-number:has(img) { display: flex; align-items: center; gap: 10px; }
.feature-number img { width: 46px; height: 46px; object-fit: contain; }
.feature-details h3:has(img) { display: flex; align-items: center; gap: 10px; }
.feature-details h3 img { width: 40px; height: 40px; object-fit: contain; }
.phone-frame,.feature-capture,.desktop-frame { cursor: default; }
.feature-capture.map-capture img { width: 100%; height: 100%; object-fit: contain; align-self: center; }
.hero-stage { grid-column: 1 / -1; grid-row: 1; min-width: 0; position: relative; }
.hero-slide { display: none; position: relative; isolation: isolate; background: white; }
.hero-slide.is-leaving { display: block; position: absolute; inset: 0; pointer-events: none; }
.hero-background { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: -2; }
.hero-slide::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,#fff 0%,#fffffff5 52%,#ffffff00 76%); }
.hero-content { min-height: 540px; padding-top: 70px; padding-bottom: 70px; display: flex; align-items: center; }
.hero-message { width: min(560px,48%); }
.hero-message h2 { font-size: clamp(36px,3.7vw,54px); line-height: 1.25; letter-spacing: -.05em; text-wrap: balance; margin: 0 0 24px; }
.hero-description { color: var(--body); font-size: 18px; margin: 0; }
.hero-message .actions { flex-wrap: wrap; }
.hero-message .button { white-space: nowrap; gap: 14px; }
.hero-service-note { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 0; font-size: 14px; color: var(--body); }
.hero-service-note p { margin: 0; }
.hero-service-note a { display: inline-flex; align-items: center; min-height: 44px; flex-shrink: 0; color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
#hero-daily-record:checked ~ .hero-stage #slide-daily-record { display: block; }
#hero-time-capsule:checked ~ .hero-stage #slide-time-capsule { display: block; }
#hero-screening:checked ~ .hero-stage #slide-screening { display: block; }
#hero-community:checked ~ .hero-stage #slide-community { display: block; }
#hero-consultation:checked ~ .hero-stage #slide-consultation { display: block; }
#hero-institutions:checked ~ .hero-stage #slide-institutions { display: block; }
@media (max-width:760px) {
  .hero-content { min-height: 0; padding-top: 280px; padding-bottom: 34px; }
  .hero-background { height: 310px; object-position: 72% center; }
  .hero-slide::after { background: linear-gradient(180deg,#ffffff00 140px,#fff 280px); }
  .hero-message { width: 100%; }
  .hero-message h2 { font-size: 34px; max-width: 600px; }
  .hero-description { font-size: 16px; }
  .hero-message .actions { margin-top: 24px; }
  .hero-service-note { align-items: flex-start; flex-direction: column; gap: 6px; }
}

/* Family-friendly product cards: original Home artwork, native CSS motion only. */
.site-header { min-height: 56px; height: auto; padding-top: 6px; padding-bottom: 6px; background: #60c601; border-bottom: 1px solid #60c601; }
.site-header .logo { flex: 0 0 44px; justify-content: center; min-height: 44px; }
.site-header .logo img { width: 36px; height: 36px; filter: brightness(0) invert(1); }
.site-header .logo:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; border-radius: 8px; }
.site-header nav { align-items: center; gap: 28px; font-size: 18px; font-weight: 600; }
.site-header nav a { display: inline-flex; align-items: center; min-height: 44px; }
.site-header .nav-inquiry { color: inherit; }
.corporate-home .hero-carousel { margin: 0; width: 100%; background: linear-gradient(90deg,#edf2ed 0%,#f7f8f5 48%,#f2eee9 100%); }
.corporate-home .hero-carousel:has(#hero-time-capsule:checked) { background: linear-gradient(90deg,#ebf0f4 0%,#f5f7f7 48%,#f2ece5 100%); }
.corporate-home .hero-carousel:has(#hero-screening:checked) { background: linear-gradient(90deg,#edf3f5 0%,#f6f7f2 48%,#f1ede5 100%); }
.corporate-home .hero-carousel:has(#hero-community:checked) { background: linear-gradient(90deg,#f0ece7 0%,#f7f4ef 48%,#f1e9e1 100%); }
.corporate-home .hero-carousel:has(#hero-consultation:checked) { background: linear-gradient(90deg,#f0ece8 0%,#f7f4f0 48%,#f0e9e2 100%); }
.corporate-home .hero-carousel:has(#hero-institutions:checked) { background: linear-gradient(90deg,#edf1eb 0%,#f5f7f2 48%,#edf2f4 100%); }
.corporate-home .hero-stage { width: 100%; margin: 0; border-radius: 0; overflow: hidden; box-shadow: none; }
.corporate-home .hero-slide { background: #f1f8ea; height: clamp(320px,22vw,420px); min-height: 0; }
.corporate-home .hero-background { inset: 0; width: 100%; height: 100%; border-radius: 0; object-position: center; }
.corporate-home .hero-slide::after { background: linear-gradient(90deg,#0b2f66d9 0%,#0b2f66a6 34%,#0b2f6638 58%,#0b2f6600 78%); }
.corporate-home .hero-content { min-height: 0; height: 100%; padding: 48px 24px; }
.corporate-home .hero-message { width: min(550px,49%); }
.corporate-home .hero-message { align-self: center; }
.corporate-home .hero-message h2 { color: #fff; }
.corporate-home .hero-description { color: #fff; }
.corporate-home .hero-message h2 { font-size: clamp(36px,3.6vw,50px); line-height: 1.32; letter-spacing: -.045em; }
.eyebrow { font-size: 14px; letter-spacing: .07em; }
.corporate-home .hero-message .eyebrow { color: var(--ink); }
.button { border-radius: 16px; min-height: 52px; font-size: 16px; }
.primary { box-shadow: 0 7px 18px #1677ff24; }
.secondary { border-color: #b8c9df; }
.corporate-home .hero-controls { position: absolute; z-index: 3; right: 40px; bottom: 40px; width: auto; margin: 0; border: 0; padding: 0; gap: 8px; }
.corporate-home .hero-controls button { min-width: 64px; min-height: 44px; padding: 8px 14px; color: var(--ink); border: 1px solid #ffffffb3; background: #ffffffb8; backdrop-filter: blur(12px); border-radius: 999px; box-shadow: 0 2px 12px #0b2f6614; }
.corporate-home .hero-controls button:hover { background: #ffffffe6; }
.corporate-home .hero-controls button:focus-visible { outline-offset: 3px; background: #fff; }
.corporate-home .hero-service-note { width: 100%; max-width: none; padding: 18px max(24px,calc((100% - 1200px)/2)) 32px; background: #fff; }
.corporate-home .hero-picker { display: block; border: 0; padding: 0; margin: 0; }
.corporate-home .hero-slide-feature { display: inline-flex; align-items: center; gap: 12px; margin: 0 0 20px; color: #fff; font-size: 16px; font-weight: 700; cursor: pointer; }
.corporate-home .hero-slide-feature img { width: 52px; height: 52px; object-fit: contain; }
.corporate-home .hero-slide-feature:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; border-radius: 12px; }
@media (max-width:1024px) and (min-width:761px) {
  .corporate-home .hero-slide { height: 520px; }
  .corporate-home .hero-content { padding: 76px 28px; }
  .corporate-home .hero-message { width: min(600px,62%); }
}
.product { padding: 92px 0; }
.corporate-home .home-section { background: white; }
.showcase-heading .eyebrow { display: inline-flex; background: #f5f7fa; border-radius: 999px; padding: 7px 15px; color: var(--ink); }
.showcase-heading h2 { letter-spacing: -.045em; }
.family-heading { display: grid; grid-template-columns: minmax(0,1fr) 320px; align-items: center; gap: 22px 48px; }
.family-heading .family-art { grid-column: 2; grid-row: 1 / 3; width: 320px; height: auto; }
.care-overview-cards { display: flex; gap: 0; margin-top: 24px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-width: none; }
.care-overview-cards::-webkit-scrollbar { display: none; }
.care-overview-card { flex: 0 0 100%; min-height: 580px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; border: 1px solid var(--line); border-radius: 24px; background: white; scroll-snap-align: start; }
.care-overview-card>div { padding: 28px 32px 20px; }
.care-overview-card h3 { margin: 10px 0 8px; font-size: 25px; line-height: 1.25; letter-spacing: -.04em; }
.care-overview-card p { margin: 0; color: var(--body); font-size: 14px; line-height: 1.55; }
.care-overview-card>img { display: block; width: 100%; height: clamp(280px,32vw,400px); padding: 12px 24px; object-fit: contain; object-position: center; border-top: 1px solid var(--line); background: #f7f9fc; }
.care-overview-service { background: var(--section-bg); }
.care-overview-service .text-link { margin-top: 20px; }
.care-overview-service>div { flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: start; }
.screen-story { border: 1px solid #e3e8ef; border-radius: 32px; box-shadow: 0 8px 30px #0b2f6608; }
.screen-story:focus-within { outline: 3px solid var(--focus); outline-offset: 4px; }
.home-screens { gap: 24px; align-items: start; }
.partner-section { padding: 28px 0 92px; }
.home-screens .screen-story:first-child { background: white; }
.home-screens .screen-story:nth-child(2) { background: white; margin-top: 0; }
.home-screens .screen-story:nth-child(3) { background: white; }
.story-copy { padding: 28px; }
.feature-number { font-size: 14px; color: var(--ink); }
.feature-number img { width: 84px; height: 84px; border-radius: 24px; }
.home-screens .feature-number { flex-direction: column; align-items: flex-start; gap: 12px; }
.story-copy p,.care-spotlight p { font-size: 16px; }
.home-screens .story-copy { min-height: 300px; }
.phone-frame { border: 5px solid white; border-radius: 24px 24px 0 0; box-shadow: 0 12px 30px #0b2f6612; }
.feature-details { border-bottom: 0; gap: 32px; padding: 36px 0 8px; }
.feature-details>div { border-top: 2px solid #e5eaf1; padding-top: 24px; }
.feature-details p { font-size: 16px; }
.home-feature-heading { margin-top: 76px; }
.home-feature-grid .screen-story { background: white; }
.home-feature-grid .screen-story:nth-child(2) { background: white; }
.home-feature-grid .screen-story:nth-child(3) { background: white; }
.home-feature-grid .screen-story:nth-child(4) { background: white; }
.home-feature-grid .feature-number { justify-content: space-between; flex-direction: row-reverse; font-size: 16px; }
.home-feature-grid .story-copy { min-height: 240px; }
.feature-capture { border: 4px solid white; border-radius: 20px; background: white; }
.care-section { background: var(--section-bg); border-radius: 48px 48px 0 0; }
.care-section .showcase-heading .eyebrow { background: white; }
.care-spotlight { background: white; border-radius: 32px; padding: 32px; grid-template-columns: .8fr 1.6fr; }
.care-screens .screen-story { border-top: 0; }
.capability-tags { font-size: 14px; }
.capture-note { font-size: 14px; }
.technology-section { padding-top: 92px; padding-bottom: 92px; }
.tech-feature { display: grid; grid-template-columns: 1.05fr 1fr; gap: 56px; align-items: center; margin-top: 48px; }
.tech-visual { margin: 0; min-width: 0; }
.tech-visual>a { display: block; overflow: hidden; border-radius: 30px; cursor: zoom-in; }
.tech-visual img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.tech-visual figcaption { font-size: 14px; color: var(--body); padding: 12px 4px 0; }
.tech-copy { min-width: 0; }
.tech-label { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; color: var(--action); font-size: 14px; font-weight: 700; }
.tech-label span { color: var(--ink); background: #eaf3ff; padding: 5px 12px; border-radius: 999px; }
.tech-copy h3 { font-size: clamp(28px,3vw,38px); line-height: 1.35; letter-spacing: -.045em; margin: 18px 0; }
.tech-copy>p:not(.tech-label) { color: var(--body); font-size: 16px; }
.tech-use-cases { margin: 24px 0; }
.tech-use-cases>div { display: grid; grid-template-columns: 58px 1fr; gap: 14px; padding: 12px 0; border-top: 1px solid var(--line); }
.tech-use-cases dt { font-weight: 700; color: var(--ink); }
.tech-use-cases dd { margin: 0; color: var(--body); }
.tech-notice { margin: 20px 0; border-bottom: 1px solid var(--line); padding-bottom: 16px; }
.tech-notice summary { cursor: pointer; min-height: 44px; padding: 10px 0; font-size: 14px; color: var(--ink); }
.tech-notice p { font-size: 14px; line-height: 1.8; color: var(--body); }
.tech-copy .text-link { min-height: 44px; align-items: center; }
.tech-copy .text-link + .text-link { margin-inline-start: 16px; }
.tech-agent { margin-top: 72px; padding-top: 64px; border-top: 1px solid var(--line); }
.tech-agent .tech-visual { order: 2; }
.agent-steps { list-style: none; padding: 0; margin: 26px 0; display: flex; flex-wrap: wrap; gap: 10px; counter-reset: agent-step; }
.agent-steps li { background: #f1f7ff; border-radius: 12px; padding: 10px 12px; font-size: 14px; }
.agent-steps li::before { counter-increment: agent-step; content: counter(agent-step) ". "; color: var(--action); font-weight: 700; }
.section-heading h2 { font-size: clamp(32px,4vw,52px); line-height: 1.25; letter-spacing: -.045em; margin: 0 0 22px; }
.section-heading>p:not(.eyebrow) { color: var(--body); font-size: 18px; }
.about-section { padding-top: 100px; padding-bottom: 92px; }
.about-section .section-heading h2 span { color: var(--action); }
.section-heading h2 span,.showcase-heading h2 span,.home-feature-heading h3 span,.journey h2 span { color: var(--action); }
.about-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; margin-top: 46px; align-items: start; }
.about-story h3 { font-size: 25px; line-height: 1.5; margin: 0 0 22px; }
.about-story>p { color: var(--body); font-size: 17px; line-height: 1.9; }
.about-principle { border-left: 3px solid #b8c9df; padding-left: 20px; margin-top: 28px; }
.about-illustration { width: 100%; max-width: 440px; height: auto; align-self: center; justify-self: center; }
.contact-point dt { font-size: 14px; color: var(--body); }
.contact-section { background: var(--section-bg); padding: 88px 0; }
.contact-grid { display: grid; grid-template-columns: .85fr 1.3fr; gap: 44px; }
.contact-point h3 { margin: 0 0 16px; font-size: 20px; }
.contact-email { font-size: clamp(23px,2.5vw,30px); line-height: 1.4; font-weight: 700; color: var(--action); }
.contact-point dl { margin: 26px 0; }
.contact-point dl>div { display: flex; gap: 24px; margin-bottom: 10px; }
.contact-point dt { width: 64px; flex-shrink: 0; }
.contact-point dd { margin: 0; }
.contact-point a:hover { text-decoration: underline; text-underline-offset: 4px; }
.locations { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.locations article { background: white; border-radius: 26px; padding: 28px; display: flex; flex-direction: column; align-items: start; }
.location-label { color: var(--action); font-size: 14px; font-weight: 700; }
.locations h3 { font-size: 20px; line-height: 1.5; margin: 18px 0; }
.locations address { color: var(--body); font-size: 16px; font-style: normal; margin-bottom: 24px; }
.locations .text-link { margin-top: auto; min-height: 44px; align-items: center; font-size: 14px; }
.inquiry-body { background: #f5f7fa; }
.inquiry-body .page-intro { padding: 0 0 12px; }
.inquiry-body .panel { border-radius: 26px; }
.inquiry-body .prototype-note { border-color: #b8c9df; background: #f5f7fa; }
.inquiry-body .panel h2 { display: flex; align-items: center; gap: 12px; }
.inquiry-body #new-title::before { content: "01"; background: #f5f7fa; }
.inquiry-body #read-title::before { content: "02"; background: #eaf3ff; }
.inquiry-body #new-title::before,.inquiry-body #read-title::before { font-size: 14px; border-radius: 12px; padding: 8px 10px; }
.inquiry-body .panel input,.inquiry-body .panel select,.inquiry-body .panel textarea { border-color: #becbdc; border-radius: 12px; }
.inquiry-body .board { background: white; border-radius: 26px; padding: 28px; }
footer p,footer>div>div { font-size: 14px; }
:is(section,h2)[id] { scroll-margin-top: 24px; }
@media (max-width:1000px) {
  .site-header nav { gap: 18px; }
  .home-screens .story-copy { padding: 22px 18px; min-height: 270px; }
  .care-spotlight { grid-template-columns: 1fr; }
  .about-grid { gap: 36px; }
  .contact-grid { grid-template-columns: 1fr; gap: 28px; }
  .tech-feature { gap: 30px; }
}
@media (max-width:760px) {
  .site-header { flex-wrap: wrap; justify-content: center; gap: 10px; padding: 16px 20px 12px; }
  .site-header .logo img { width: 136px; }
  .site-header nav { justify-content: center; flex-wrap: wrap; gap: 4px 18px; font-size: 14px; }
  .corporate-home .hero-carousel { width: 100%; margin-top: 0; }
  .corporate-home .hero-stage { width: 100%; border-radius: 0; }
  .corporate-home .hero-slide { height: auto; }
  .corporate-home .hero-content { min-height: 0; padding: 270px 16px 56px; }
  .corporate-home .hero-background { inset: 12px 12px auto; width: calc(100% - 24px); height: 240px; border-radius: 22px; }
  .corporate-home .hero-controls { top: 188px; right: 24px; bottom: auto; gap: 6px; }
  .corporate-home .hero-controls button { padding: 8px 10px; font-size: 14px; }
  .corporate-home .hero-slide::after { background: linear-gradient(180deg,#f1f8ea00 155px,#f1f8ea 250px); }
  .corporate-home .hero-message { width: 100%; }
  .corporate-home .hero-message h2 { color: var(--ink); }
  .corporate-home .hero-description { color: var(--body); }
  .corporate-home .hero-slide-feature { color: var(--ink); }
  .corporate-home .hero-message h2 { font-size: clamp(30px,7.5vw,42px); }
  .corporate-home .hero-service-note { padding-bottom: 8px; font-size: 14px; }
  .product { padding: 60px 0; }
  .home-screens .screen-story:nth-child(2) { margin-top: 0; }
  .home-screens .story-copy,.home-feature-grid .story-copy { min-height: 0; padding: 26px; }
  .family-heading { grid-template-columns: 1fr; gap: 20px; }
  .family-heading .family-art { grid-column: 1; grid-row: 2; justify-self: center; width: 220px; }
  .care-overview-cards { margin-top: 18px; }
  .care-overview-card { min-height: 0; }
  .care-overview-card>div { padding: 20px; }
  .care-overview-card>img { height: clamp(210px,62vw,300px); padding: 10px; }
  .feature-details { gap: 24px; }
  .care-section { border-radius: 30px 30px 0 0; }
  .care-spotlight { padding: 24px 18px; }
  .journey li { padding: 20px; }
  .about-section { padding-top: 62px; padding-bottom: 56px; }
  .about-grid { grid-template-columns: 1fr; margin-top: 28px; }
  .about-story>p { font-size: 16px; }
  .contact-section { padding: 58px 0; }
  .locations { grid-template-columns: 1fr; }
  .inquiry-body .board { padding: 22px 16px; }
  .technology-section { padding-top: 58px; padding-bottom: 58px; }
  .tech-feature { grid-template-columns: 1fr; gap: 20px; margin-top: 32px; }
  .tech-agent { padding-top: 38px; margin-top: 44px; }
  .tech-agent .tech-visual { order: 0; }
  .tech-visual>a { border-radius: 24px; }
}
.corporate-home .hero-slide-feature { margin-bottom: 14px; }
.corporate-home .hero-slide-feature img { width: 46px; height: 46px; }

/* Short, event-driven motion. No looping decoration or hidden-on-load content. */
@media (prefers-reduced-motion: no-preference) {
  .hero-message { animation: message-arrive .5s ease-out both; }
  .screen-story,.feature-number img,.feature-details h3 img { transition: transform .3s ease,box-shadow .3s ease,border-color .3s ease; }
  .tech-visual img,.family-art,.about-illustration { transition: transform .6s cubic-bezier(.2,.65,.3,1),scale .6s ease; }
  .screen-story:focus-within { box-shadow: 0 12px 32px #1677ff1c; }
  .tech-visual>a:focus-visible img { transform: scale(1.025); }
  .screen-story:focus-within .feature-number img { transform: translateY(-4px) rotate(-4deg); }
  /* Scroll-linked entrance where supported; other browsers keep images visible. */
  @supports (animation-timeline: view()) {
    .family-art,.about-illustration {
      animation: illustration-arrive auto linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 100%;
    }
  }
  @media (hover: hover) and (pointer: fine) {
    .screen-story:hover { box-shadow: 0 16px 36px #0b2f6614; }
    .screen-story:hover .feature-number img,.feature-details>div:hover h3 img { transform: rotate(-5deg) translateY(-4px); }
    .tech-visual>a:hover img { transform: scale(1.025); }
    .family-art:hover,.about-illustration:hover { scale: 1.025; }
  }
}
@keyframes illustration-arrive {
  from { opacity: .85; transform: translateY(18px) scale(.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes message-arrive {
  from { opacity: .6; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes icon-hello {
  0%,100% { transform: translateY(0) rotate(0); }
  45% { transform: translateY(-7px) rotate(-6deg); }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Crawlable company, Care, and technology pages share the public site's visual language. */
.seo-page-body { background: var(--ivory); }
.seo-page { padding: 92px 0 112px; }
.seo-page-intro { max-width: 820px; padding-bottom: 54px; border-bottom: 1px solid var(--line); }
.seo-page-intro h1 { margin: 0 0 22px; font-size: clamp(42px, 6vw, 70px); line-height: 1.15; letter-spacing: -.06em; }
.seo-page-intro h1 span,.seo-page-highlight h2 span { color: var(--blue); }
.seo-page-intro>p:last-child,.seo-page-section>p,.seo-page-grid p,.technology-grid p,.seo-faq p { color: var(--body); font-size: 18px; line-height: 1.8; }
.seo-page-section { padding: 58px 0; border-bottom: 1px solid var(--line); }
.seo-page-section h2,.seo-page-grid h2,.seo-faq h2 { margin: 0 0 18px; font-size: clamp(25px, 3vw, 38px); line-height: 1.3; letter-spacing: -.045em; }
.seo-page-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; padding: 58px 0; }
.seo-page-grid>article { padding: 30px; border: 1px solid var(--line); border-radius: 24px; background: var(--section-bg); }
.seo-page-grid>article h2 { font-size: 25px; }
.seo-page-grid>article p { margin: 0; font-size: 16px; }
.seo-page-highlight { padding: 52px 36px; border: 0; border-radius: 24px; background: var(--section-bg); }
.seo-page-highlight p { max-width: 820px; }
.seo-page-highlight .text-link,.seo-page-highlight .button { margin-top: 18px; }
.seo-page-actions { display: flex; gap: 12px; margin-top: 38px; }
.about-page .seo-page { padding-block: 40px 24px; }
.about-page .seo-page-intro { padding-bottom: 24px; }
.about-page .about-photo-card { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 24px; padding: 20px 0; }
.about-page .about-photo { display: block; width: 100%; height: auto; aspect-ratio: 3/2; object-fit: cover; border-radius: 20px; }
.about-page .about-card-copy p { margin: 0; color: var(--body); font-size: 16px; line-height: 1.8; }
.about-page .about-card-copy h2 { font-size: clamp(22px,2.4vw,30px); margin-bottom: 12px; }
.about-page .seo-page-grid { gap: 16px; padding: 16px 0; }
.about-page .seo-page-grid>article { overflow: hidden; padding: 0; }
.about-page .seo-page-grid .about-photo { border-radius: 20px 20px 0 0; }
.about-page .seo-page-grid .about-card-copy { padding: 18px 20px; }
.about-page .seo-page-highlight { padding: 20px; }
.about-page .seo-page-highlight .about-photo { grid-column: 2; grid-row: 1; }
.about-page .seo-page-highlight .about-card-copy { grid-column: 1; grid-row: 1; }
@media (max-width:767px) {
  .about-page .about-photo-card { grid-template-columns: 1fr; gap: 16px; }
  .about-page .seo-page-highlight { padding: 16px; }
  .about-page .seo-page-highlight .about-photo,.about-page .seo-page-highlight .about-card-copy { grid-column: auto; grid-row: auto; }
}
.seo-page-visual { display: grid; grid-template-columns: 1.15fr .85fr; gap: 34px; align-items: center; }
.seo-page-visual img { display: block; width: 100%; height: 100%; min-height: 330px; object-fit: cover; border-radius: 24px; }
.seo-page-visual h2 { margin-top: 24px; }
.seo-page-visual h2:first-child { margin-top: 0; }
.care-service-grid { padding-top: 40px; }
.care-service-grid>article { min-height: 220px; background: #fff; }
.care-service-grid .feature-number { color: var(--blue); font-weight: 700; }
.technology-grid>article { padding: 0 0 26px; overflow: hidden; background: #fff; }
.technology-grid img { display: block; width: 100%; height: 250px; object-fit: cover; border-radius: 24px; margin-bottom: 24px; }
.technology-grid h2,.technology-grid p { padding: 0 24px; }
.seo-step-list { display: grid; gap: 12px; padding: 0; margin: 24px 0; list-style: none; counter-reset: step; }
.seo-step-list li { counter-increment: step; display: grid; grid-template-columns: 32px 1fr; gap: 12px; align-items: center; color: var(--ink); font-weight: 700; }
.seo-step-list li::before { content: counter(step); display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--blue); color: #fff; }
.tech-scope { font-size: 15px !important; }
.seo-faq { padding: 58px 0 0; }
.seo-faq details { border-top: 1px solid var(--line); padding: 20px 0; }
.seo-faq details:last-child { border-bottom: 1px solid var(--line); }
.seo-faq summary { cursor: pointer; color: var(--ink); font-size: 19px; font-weight: 700; }
.seo-faq details p { margin: 12px 0 0; font-size: 16px; }
@media (max-width:760px) {
  .seo-page { padding: 60px 0 76px; }
  .seo-page-intro { padding-bottom: 34px; }
  .seo-page-intro h1 { font-size: clamp(36px, 10vw, 52px); }
  .seo-page-intro>p:last-child,.seo-page-section>p,.seo-page-grid p,.technology-grid p,.seo-faq p { font-size: 16px; }
  .seo-page-grid,.seo-page-visual { grid-template-columns: 1fr; padding: 36px 0; }
  .seo-page-visual img { min-height: 0; aspect-ratio: 1.7; }
  .seo-page-section { padding: 38px 0; }
  .seo-page-highlight { padding: 30px 24px; }
  .seo-page-actions { flex-direction: column; }
  .seo-page-actions .button { width: 100%; }
  .technology-grid img { height: 190px; }
}

.story-hero { background: var(--white); }
.corporate-home { overflow-x: clip; }
.story-eyebrow { margin: 0 0 16px; color: var(--green); font-size: 14px; font-weight: 700; letter-spacing: .07em; }
.story-hero-copy { margin: 0 auto; text-align: center; padding: 0; }
.story-hero-copy .actions { justify-content: center; flex-wrap: wrap; margin-top: 30px; }
.story-hero-copy .button { white-space: nowrap; }
.story-inline-player { width: 100%; margin: 0 auto; text-align: left; border: 0; border-radius: 18px; overflow: hidden; background: #fff; box-shadow: none; }
.story-inline-player video { display: block; width: 100%; height: auto; background: #fff; }
.why-section { padding: 96px 0; background: var(--white); }
.why-section h1 { max-width: 780px; margin: 0; font-size: clamp(32px,4vw,52px); line-height: 1.25; letter-spacing: -.04em; }
.why-stat { display: flex; align-items: baseline; gap: 18px; margin: 36px 0 48px; }
.why-stat strong { color: var(--green); font-size: clamp(44px,6vw,76px); line-height: 1; }
.why-stat span { color: var(--body); }
.why-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.why-grid article { min-width: 0; padding-top: 22px; border-top: 2px solid var(--line); }
.why-grid h3 { margin: 0 0 10px; font-size: 22px; }
.why-grid p { margin: 0; color: var(--body); }
.why-conclusion { margin: 48px 0 18px; font-size: 20px; font-weight: 700; }
.carousel-heading { padding: 48px 0 24px; font-size: clamp(28px,3vw,40px); letter-spacing: -.04em; }
.corporate-home .hero-carousel .hero-picker { grid-row: 2; }
#service-guide { scroll-margin-top: 24px; }
@media (max-width:767px) {
  .story-hero-copy .actions { flex-direction: row; gap: 8px; margin-top: 20px; }
  .story-hero-copy .button { min-height: 44px; padding: 8px 12px; font-size: 14px; }
  .story-hero-copy .button { width: calc(50% - 4px); }
  .why-section { padding: 64px 0; }
  .why-stat { display: block; margin: 28px 0 36px; }
  .why-stat span { display: block; margin-top: 10px; }
  .why-grid { grid-template-columns: 1fr; gap: 28px; }
  .why-conclusion { margin-top: 36px; }
  .carousel-heading { padding: 32px 0 20px; }
}

@media (max-width:520px) {
  .site-header { padding: 12px 16px 8px; gap: 4px; }
  .site-header .logo img { width: 120px; }
  .site-header nav { width: 100%; justify-content: space-between; gap: 4px; font-size: 14px; }
}
@media (max-width:360px) {
  .site-header nav { gap: 2px; }
}
@media (max-width:340px) {
  .site-header nav { font-size: 13px; }
}

/* Compact Home overview, with one detailed feature visible at a time. */
.home-section { padding: 48px 0 56px; }
.home-section .showcase-heading { margin-bottom: 28px; }
.home-section .family-heading .family-art { width: 200px; }
.home-section .family-heading { grid-template-columns: minmax(0,1fr) 200px; gap: 10px 32px; }
.home-screens { gap: 16px; }
.home-screens .screen-story { display: flex; flex-direction: column; }
.home-screens .story-copy { min-height: 164px; padding: 17px 18px 12px; }
.home-screens .feature-number { flex-direction: row; align-items: center; gap: 8px; }
.home-screens .feature-number img { width: 40px; height: 40px; border-radius: 10px; }
.home-screens .story-copy h3 { margin: 5px 0; font-size: 20px; }
.home-screens .story-copy p { font-size: 14px; line-height: 1.5; }
.home-screens .phone-frame { width: calc(100% - 32px); max-width: 320px; height: 180px; margin-top: auto; border-width: 2px; }
.home-screens .phone-frame img { object-fit: contain; object-position: top center; }
.home-feature-heading { margin: 42px 0 18px; padding-top: 26px; border-top: 1px solid var(--line); }
.home-feature-heading h3 { font-size: 24px; margin-bottom: 5px; }
.home-feature-heading p { font-size: 14px; }
.home-tabs { display: flex; width: fit-content; max-width: 100%; gap: 4px; overflow-x: auto; border-radius: 14px; padding: 4px; background: #f1f5fa; }
.home-tabs button { flex: 0 0 auto; min-height: 42px; padding: 0 16px; border: 0; border-radius: 10px; background: transparent; color: var(--body); font-weight: 700; white-space: nowrap; }
.home-tabs button[aria-selected="true"] { background: #fff; color: var(--action); }
.home-tabs button:focus-visible,.home-feature-item summary:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.home-feature-grid { display: block; }
.home-feature-item { border-bottom: 1px solid var(--line); }
.home-feature-item:not([open]) { display: none; }
.home-feature-item summary { display: none; }
.home-feature-panel { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); align-items: center; gap: 32px; min-height: 330px; padding: 24px 0; }
.home-feature-panel .story-copy { min-height: 0; padding: 12px; }
.home-feature-panel .feature-number { justify-content: flex-start; flex-direction: row; gap: 12px; }
.home-feature-panel .feature-number img { width: 46px; height: 46px; border-radius: 12px; }
.home-feature-panel .story-copy h3 { font-size: 23px; }
.home-feature-panel .story-copy p { font-size: 15px; }
.home-feature-panel .feature-capture { height: 380px; margin: 0; border: 0; }
.home-feature-item:last-child .home-feature-panel { grid-template-columns: 1fr; min-height: 0; }

/* Trust evidence stays in one place and is swipeable only on narrow screens. */
.trust-section { padding: 64px 0; background: var(--section-bg); }
.trust-section .section-heading h2 { margin-bottom: 24px; }
.trust-section .company-story-groups { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.trust-section .company-story-group { min-width: 0; padding: 22px; border: 1px solid rgba(18,57,112,.07); border-radius: 24px; }
.trust-section .company-story-awards { background: #fff; }
.trust-section .company-story-coverage { background: var(--section-bg); }
.trust-section .company-story-group > h3 { margin: 0 0 16px; color: var(--ink); font-size: 20px; }
.trust-section .company-stories-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; overflow: visible; padding: 0; }
.trust-section .company-stories-grid .screen-story { min-width: 0; }
.trust-section .company-evidence { height: 200px; padding: 12px; }
.trust-section .story-copy { min-height: 130px; padding: 16px; }
.trust-section .story-copy h3 { margin: 4px 0 10px; font-size: 16px; line-height: 1.4; }
.trust-section time { color: var(--body); font-size: 13px; }
.award-badge { display: inline-block; padding: 2px 8px; border-radius: 999px; background: #eaf3dd; color: #345e08; font-size: 11px; font-weight: 700; }
.trust-section .partner-section { padding: 36px 0 0; }
@media (max-width:1000px) {
  .home-screens .story-copy { min-height: 190px; }
  .trust-section .company-story-groups { grid-template-columns: 1fr; }
}
@media (max-width:767px) {
  .home-section { padding: 56px 0; }
  .home-section .family-heading { grid-template-columns: 1fr; gap: 12px; }
  .home-section .family-heading .family-art { width: 180px; }
  .home-screens { grid-template-columns: 1fr; gap: 14px; }
  .home-screens .story-copy { min-height: 0; padding: 17px 18px 12px; }
  .home-screens .phone-frame { height: 190px; }
  .home-tabs { display: none; }
  .home-feature-item:not([open]) { display: block; }
  .home-feature-item summary { display: list-item; min-height: 48px; padding: 12px 6px; cursor: pointer; color: var(--ink); font-weight: 700; }
  .home-feature-panel { display: block; min-height: 0; padding: 0 0 16px; }
  .home-feature-panel .story-copy { padding: 8px 0 16px; }
  .home-feature-panel .feature-capture { height: 300px; }
  .trust-section { padding: 48px 0; }
  .trust-section .company-story-groups { gap: 16px; }
  .trust-section .company-story-group { padding: 18px; border-radius: 20px; }
  .trust-section .company-story-group > h3 { margin-bottom: 12px; font-size: 18px; }
  .trust-section .company-stories-grid { display: flex; gap: 14px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-width: auto; padding: 2px 2px 14px; }
  .trust-section .company-stories-grid .screen-story { flex: 0 0 min(80vw,300px); scroll-snap-align: start; }
  .trust-section .company-stories-grid::-webkit-scrollbar { display: block; height: 8px; }
  .trust-section .company-stories-grid::-webkit-scrollbar-thumb { background: #a6bbd1; border-radius: 999px; }
  .trust-section .partner-section { padding-top: 24px; }
}

/* Compact the corporate story without changing its copy or product screenshots. */
.corporate-home .why-section { padding: 64px 0 20px; background: var(--section-bg); }
.corporate-home .why-stat { margin: 24px 0 30px; }
.corporate-home .why-conclusion { margin: 14px 0 0; }
.corporate-home .care-section { padding: 56px 0 64px; }
.corporate-home .care-section .showcase-heading { margin-bottom: 24px; }
.corporate-home .care-section .family-art { width: 200px; }
.corporate-home .care-section .family-heading { grid-template-columns: minmax(0,1fr) 200px; gap: 10px 32px; }
.corporate-home .care-overview-cards { margin: 24px 0 0; }
.corporate-home .care-overview-card { min-height: 0; flex-direction: row; align-items: center; }
.corporate-home .care-overview-card>div { flex: 0 0 40%; align-self: center; padding: var(--card-padding); }
.corporate-home .care-overview-card>img { width: 60%; height: auto; min-height: 0; padding: 12px; border-top: 0; border-left: 1px solid var(--line); }
.corporate-home .care-overview-service .text-link { margin-top: 20px; }
.corporate-home .technology-section { padding-top: 64px; padding-bottom: 64px; }
.corporate-home .tech-feature { gap: 36px; margin-top: 30px; }
.corporate-home .tech-agent { margin-top: 44px; padding-top: 38px; }
.corporate-home .trust-section { padding: 48px 0; }
.corporate-home .about-section { padding-top: 64px; padding-bottom: 64px; }
.corporate-home .about-grid { gap: 40px; margin-top: 28px; }
.corporate-home .contact-section { padding: 64px 0; }
.corporate-home .eyebrow,.corporate-home .feature-number,.corporate-home .story-eyebrow,.corporate-home .why-stat strong,.corporate-home .journey .eyebrow,.corporate-home .journey i,.corporate-home .text-link span,.corporate-home .award-badge { color: var(--action); }
.corporate-home .showcase-pagination { display: none; }
.corporate-home .care-overview-pagination { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 12px auto 0; }
.corporate-home .care-overview-pagination button { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 0; border-radius: 999px; background: transparent; color: var(--ink); }
.corporate-home .care-overview-pagination button[data-direction] { border: 1px solid var(--line); background: #fff; font-size: 20px; }
.corporate-home .care-overview-pagination button:not([data-direction])::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: #b8c3d1; transition: width 160ms cubic-bezier(.23,1,.32,1),background 160ms ease; }
.corporate-home .care-overview-pagination button[aria-current="true"]::before { width: 20px; background: var(--action); }
.corporate-home .care-overview-pagination button:focus-visible,.corporate-home .care-overview-cards:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }

/* Four clear Home journeys replace the repeated overview cards and feature tabs. */
.corporate-home .home-section .showcase-heading { margin-bottom: 34px; }
.home-journey { display: grid; gap: var(--card-gap); }
.home-journey-row { display: grid; grid-template-columns: minmax(240px,.72fr) minmax(0,1.28fr); align-items: start; gap: var(--card-gap); min-height: 0; padding: var(--card-padding); border: 1px solid #e5edf8; border-radius: 28px; background: var(--section-bg); }
.home-journey-copy { min-width: 0; }
.home-journey-copy .feature-number { display: flex; align-items: center; gap: 12px; color: var(--action); font-size: 17px; }
.home-journey-copy .feature-number img { width: 48px; height: 48px; border-radius: 14px; }
.home-journey-copy h3 { margin: 18px 0 10px; font-size: clamp(24px,2.3vw,32px); line-height: 1.3; }
.home-journey-copy p { margin: 0; color: var(--body); line-height: 1.7; }
.home-function-list { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; width: 100%; margin: 20px 0 0; padding: 0; list-style: none; }
.home-function-list button { position: relative; width: 100%; min-height: 32px; padding: 4px 13px; line-height: 20px; border: 1px solid var(--line); border-radius: 999px; background: white; color: var(--ink); font-size: 14px; font-weight: 700; touch-action: manipulation; }
.home-function-list button::before { content: ""; position: absolute; inset: -6px 0; }
.home-function-list button[aria-pressed="true"] { background: white; border-color: var(--line); color: var(--action); }
.home-function-list button:active { background: #e1edff; color: var(--ink); }
.home-function-list button:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.home-journey-visual { min-width: 0; margin: 0; }
.home-device { display: flex; justify-content: center; height: 270px; overflow: hidden; border-radius: 20px; background: white; }
.home-device img { display: block; width: auto; max-width: 100%; height: 100%; object-fit: contain; object-position: top center; }
.growth-periods { display: flex; gap: 14px; min-width: 0; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; scrollbar-width: thin; }
.growth-periods:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.growth-period { flex: 0 0 100%; min-width: 0; margin: 0; scroll-snap-align: start; scroll-snap-stop: always; }
.growth-period img { display: block; width: 100%; height: auto; border: 1px solid #e3eaf4; border-radius: 16px; background: white; }
@media (min-width:768px) {
  .growth-period img { width: auto; max-width: 100%; height: 480px; object-fit: contain; margin-inline: auto; }
}
.home-screen-pair { display: flex; align-items: flex-start; gap: 16px; }
.home-screen-pair figure { min-width: 0; height: 270px; margin: 0; overflow: hidden; border: 1px solid #e3eaf4; border-radius: 16px; background: white; }
.home-screen-pair img { display: block; width: 100%; height: calc(100% - 39px); object-fit: contain; object-position: top center; }
@media (max-width:767px) {
  .corporate-home .home-section { padding-top: 34px; }
  .home-journey { gap: 14px; }
  .home-journey-row { grid-template-columns: 1fr; gap: 22px; min-height: 0; padding: 22px 18px; border-radius: 22px; }
  .home-journey-copy .feature-number { font-size: 15px; }
  .home-journey-copy .feature-number img { width: 40px; height: 40px; }
  .home-journey-copy h3 { margin-top: 12px; font-size: 23px; }
  .home-function-list { margin-top: 14px; }
  .home-function-list button { padding: 4px 10px; font-size: 13px; }
  .home-device { height: 240px; }
  .growth-periods { gap: 9px; overflow-x: auto; padding: 2px 1px 8px; scroll-snap-type: x mandatory; }
  .growth-period { min-width: 190px; scroll-snap-align: start; }
  .home-screen-pair { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .home-screen-pair figure { height: 230px; border-radius: 12px; }
}

@media (max-width:1000px) {
  .corporate-home .home-screens { display: flex; gap: 12px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scroll-padding-inline: 2px; padding: 2px 2px 8px; scrollbar-width: none; }
  .corporate-home .home-screens::-webkit-scrollbar { display: none; }
  .corporate-home .home-screens .screen-story { flex: 0 0 min(80vw,320px); scroll-snap-align: start; }
  .corporate-home .home-screens .story-copy { min-height: 150px; }
  .corporate-home .care-overview-cards { gap: 0; padding: 2px 0 8px; }
  .corporate-home .care-overview-card { flex-basis: 100%; min-height: 0; }
  .corporate-home .care-overview-card>img { height: clamp(220px,38vw,340px); }
  .corporate-home .showcase-pagination { display: flex; justify-content: center; gap: 0; margin-top: 4px; }
  .corporate-home .showcase-pagination button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; }
  .corporate-home .showcase-pagination button::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: #b8c3d1; transition: width 160ms cubic-bezier(.23,1,.32,1),background 160ms ease; }
  .corporate-home .showcase-pagination button[aria-current="true"]::before { width: 20px; background: var(--action); }
  .corporate-home .showcase-pagination button:focus-visible,.corporate-home .showcase-track:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; border-radius: 12px; }
}
@media (min-width:768px) and (max-width:1000px) {
  .corporate-home .home-screens .screen-story { flex-basis: min(62vw,420px); }
}
@media (max-width:767px) {
  .corporate-home .hero-picker { width: calc(100% - 24px); margin: 0 auto; border: 1px solid #dce4e9; border-radius: 24px; overflow: hidden; background: #f1f8ea; }
  .corporate-home .hero-stage { border-radius: inherit; }
  .corporate-home .hero-slide { height: calc((100vw - 24px) * .375 + 54px); }
  .corporate-home .hero-background { inset: 0 0 auto; width: 100%; height: auto; object-fit: contain; border-radius: 0; }
  .corporate-home .hero-slide::after { height: calc((100vw - 24px) * .375); background: linear-gradient(90deg,#fffffff2 0%,#ffffffc9 44%,#ffffff00 68%); }
  .corporate-home .hero-content { width: 100%; height: calc((100vw - 24px) * .375); padding: 6px 10px; align-items: center; }
  .corporate-home .hero-message { width: 55%; }
  .corporate-home .hero-slide-feature { margin-bottom: 2px; color: var(--ink); font-size: clamp(11px,2.8vw,16px); gap: 4px; }
  .corporate-home .hero-slide-feature img { width: clamp(20px,4vw,30px); height: clamp(20px,4vw,30px); }
  .corporate-home .hero-message h2 { margin-bottom: 3px; color: var(--ink); font-size: clamp(16px,4.6vw,28px); line-height: 1.16; }
  .corporate-home .hero-description { color: var(--body); font-size: clamp(10px,2.8vw,16px); line-height: 1.3; }
  .corporate-home .hero-controls { top: auto; bottom: 5px; right: 8px; }
  .corporate-home .why-section { padding: 40px 0 16px; }
  .corporate-home .why-stat { margin: 20px 0 24px; }
  .corporate-home .why-grid { gap: 18px; }
  .corporate-home .why-grid article { padding-top: 14px; }
  .corporate-home .why-conclusion { margin-top: 12px; }
  .corporate-home .home-section,.corporate-home .care-section { padding: 40px 0 44px; }
  .corporate-home .home-section .showcase-heading,.corporate-home .care-section .showcase-heading { margin-bottom: 20px; }
  .corporate-home .home-section .family-heading,.corporate-home .care-section .family-heading { grid-template-columns: minmax(0,1fr) 92px; gap: 10px 12px; }
  .corporate-home .family-heading .family-art,.corporate-home .care-section .family-art { grid-column: 2; grid-row: 1 / 3; width: 92px; }
  .corporate-home .showcase-heading h2 { font-size: clamp(28px,7vw,36px); }
  .corporate-home .showcase-heading p:not(.eyebrow) { font-size: 15px; }
  .corporate-home .home-screens .screen-story,.corporate-home .care-overview-card { flex-basis: min(80vw,300px); }
  .corporate-home .home-screens .story-copy { min-height: 146px; padding: 15px 16px 8px; }
  .corporate-home .home-screens .phone-frame { height: 164px; }
  .corporate-home .home-screens .phone-frame img { object-fit: cover; object-position: top center; }
  .corporate-home .home-feature-heading { margin-top: 30px; padding-top: 22px; }
  .corporate-home .care-overview-cards { margin-top: 12px; }
  .corporate-home .care-overview-card { flex-basis: 100%; min-height: 0; flex-direction: column; }
  .corporate-home .care-overview-card>div { flex: 0 0 auto; align-self: stretch; padding: 18px; }
  .corporate-home .care-overview-card h3 { font-size: 22px; }
  .corporate-home .care-overview-card>img { width: 100%; height: clamp(210px,62vw,300px); padding: 10px; border-top: 1px solid var(--line); border-left: 0; object-fit: contain; object-position: center; }
  .corporate-home .technology-section { padding-top: 44px; padding-bottom: 44px; }
  .corporate-home .tech-feature { gap: 16px; margin-top: 24px; }
  .corporate-home .tech-visual img { aspect-ratio: 16 / 9; }
  .corporate-home .tech-copy h3 { margin: 10px 0; }
  .corporate-home .tech-use-cases { margin: 14px 0; }
  .corporate-home .tech-agent { margin-top: 30px; padding-top: 28px; }
  .corporate-home .trust-section { padding: 40px 0; }
  .corporate-home .about-section { padding-top: 44px; padding-bottom: 44px; }
  .corporate-home .about-grid { gap: 18px; margin-top: 20px; }
  .corporate-home .about-illustration { max-width: 240px; }
  .corporate-home .contact-section { padding: 44px 0; }
  .corporate-home .contact-grid { gap: 20px; }
  .corporate-home .locations article { padding: 20px; }
  .corporate-home .locations h3 { margin: 8px 0; }
  .corporate-home .locations address { margin-bottom: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .corporate-home .showcase-pagination button::before { transition: none; }
}

.home-device,.growth-period,.home-screen-pair figure,.care-overview-card { position: relative; }
.skip:focus { z-index: 40; }
.corporate-home .care-overview-pagination button[data-direction]::before { content: none; }

/* Three gaps, one connected record flow. Text stays accessible at every width. */
.corporate-home .why-infographic { gap: 20px; }
.corporate-home .why-infographic article { padding: 28px; border: 1px solid var(--line); border-radius: 22px; background: var(--white); }
.why-icon { display: block; width: 140px; height: 140px; object-fit: contain; margin-bottom: 20px; }
.why-label { display: block; color: var(--action); font-size: 13px; font-weight: 700; margin-bottom: 8px; }
.connection-kicker { margin: 0 0 10px; color: var(--action); font: 700 12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing: .14em; text-transform: uppercase; }
.care-data-flow { display: grid; grid-template-columns: minmax(0,1fr) 82px minmax(0,1fr) 82px minmax(0,1fr); align-items: stretch; min-height: 430px; margin-top: 24px; padding: 22px; overflow: hidden; border-radius: 24px; color: #f5f9ff; background-color: #071a30; background-image: linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px); background-size: 28px 28px; box-shadow: 0 22px 50px #071a3026; }
.flow-node { position: relative; min-width: 0; overflow: hidden; padding: 22px; border: 1px solid #7797b54d; border-radius: 16px; background: #102b49e6; box-shadow: inset 0 1px #ffffff0d; }
.flow-node header { position: relative; z-index: 2; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid #8ba9c429; }
.flow-node header>span { color: #91b6d8; font: 700 11px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing: .08em; }
.flow-node header strong { display: flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 600; }
.flow-node header strong i { width: 7px; height: 7px; border-radius: 50%; background: #58d11c; box-shadow: 0 0 0 5px #58d11c1f; }
.flow-node h3 { position: relative; z-index: 2; margin: 24px 0 18px; color: #fff; font-size: 21px; line-height: 1.45; letter-spacing: -.03em; }
.flow-title-line { white-space: nowrap; }
.flow-node ul { position: relative; z-index: 2; display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
.flow-node li { padding: 5px 8px; border: 1px solid #7fa0bd4a; border-radius: 6px; color: #c9daea; font-size: 11px; }
.flow-home img { position: absolute; right: -5px; bottom: -132px; width: 52%; height: auto; filter: drop-shadow(0 18px 22px #0008); transform: rotate(-4deg); }
.flow-home>div { width: 58%; }
.flow-core { display: flex; flex-direction: column; }
.flow-core-mark { display: grid; place-items: center; align-content: center; width: 150px; height: 150px; margin: 28px auto 24px; border: 1px solid #46a9ff80; border-radius: 50%; background: radial-gradient(circle,#1682df4d 0 42%,#1682df12 43% 57%,transparent 58%); box-shadow: 0 0 42px #1682df33; }
.flow-core-mark b { font-size: 22px; letter-spacing: -.04em; }
.flow-core-mark small { margin-top: 5px; color: #9cb9d3; font-size: 9px; }
.flow-core dl { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; margin: auto 0 0; }
.flow-core dl div { min-width: 0; padding: 10px 6px; border-top: 2px solid #1682df; background: #071a3066; text-align: center; }
.flow-core dt { color: #63b6ff; font: 700 8px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; }
.flow-core dd { margin: 4px 0 0; color: #d5e3ef; font-size: 10px; }
.flow-link { display: grid; place-items: center; align-content: center; gap: 12px; min-width: 0; color: #9bb6ce; }
.flow-link span { font-size: 10px; white-space: nowrap; }
.flow-link i { position: relative; width: 58px; height: 1px; background: #4c7599; }
.flow-link i::after { content: ""; position: absolute; right: -1px; top: -4px; width: 8px; height: 8px; border-top: 1px solid #7fc7ff; border-right: 1px solid #7fc7ff; transform: rotate(45deg); }
.flow-console { display: grid; gap: 8px; margin: 26px 0 20px; padding: 14px; border: 1px solid #6a8ba83d; border-radius: 10px; background: #071a30a6; }
.flow-console span { display: grid; grid-template-columns: 64px 1fr; align-items: center; gap: 10px; color: #7ea6c8; font: 700 9px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; }
.flow-console i { height: 5px; border-radius: 1px; background: linear-gradient(90deg,#1682df 0 68%,#29435d 68%); }
.flow-console span:nth-child(2) i { background: linear-gradient(90deg,#58d11c 0 84%,#29435d 84%); }
.flow-console span:nth-child(3) i { background: linear-gradient(90deg,#9d79ff 0 52%,#29435d 52%); }
.flow-care { isolation: isolate; background: #102b49; }
.flow-care-device { position: absolute; right: -26px; bottom: -34px; z-index: 0; width: 104%; max-width: none; height: auto; object-fit: contain; filter: contrast(1.08) saturate(1.04) drop-shadow(0 16px 22px #0008); }
.flow-care>div { position: relative; z-index: 2; }
.flow-care .flow-console { width: 66%; margin: 20px 0 16px; background: #071a30eb; }
.flow-care ul { width: 72%; }
.flow-care li { color: #fff; background: #071a30f2; border-color: #9ab4cc; box-shadow: 0 2px 8px #0005; }
.corporate-home .why-conclusion { text-align: center; }
@media (max-width:767px) {
  .corporate-home .why-infographic article { display: grid; grid-template-columns: 80px minmax(0,1fr); column-gap: 14px; padding: 16px; align-content: start; }
  .why-icon { grid-row: 1 / 3; align-self: center; width: 80px; height: 80px; margin: 0; }
  .why-label { grid-column: 2; align-self: end; font-size: 12px; margin-bottom: 6px; }
  .why-infographic h3 { grid-column: 2; align-self: start; margin-bottom: 0; }
  .why-infographic p { grid-column: 1 / -1; margin-top: 12px; font-size: 14px; line-height: 1.7; word-break: keep-all; }
  .care-data-flow { grid-template-columns: 1fr; min-height: 0; padding: 14px; border-radius: 18px; }
  .flow-node { min-height: 330px; padding: 18px; }
  .flow-home>div { width: 58%; }
  .flow-home img { right: -4px; bottom: -92px; width: 48%; }
  .flow-core { min-height: 360px; }
  .flow-care { min-height: 310px; }
  .flow-care-device { right: -18px; bottom: -24px; width: 100%; }
  .flow-link { min-height: 72px; gap: 8px; }
  .flow-link i { width: 1px; height: 34px; }
  .flow-link i::after { right: -4px; top: auto; bottom: -1px; transform: rotate(135deg); }
}

@media (max-width:767px) {
  .wrap { width: calc(100% - 32px); }
  .site-header { position: sticky; top: 0; z-index: 30; height: auto; min-height: 56px; flex-direction: row; flex-wrap: nowrap; align-items: center; padding: 6px 8px; gap: 4px; background: #60c601; }
  .site-header .logo img { width: 36px; height: 36px; }
  .site-header nav { flex: 1; min-width: 0; width: auto; gap: 0; justify-content: space-between; flex-wrap: nowrap; font-size: clamp(13px,3.85vw,16px); }
  .site-header nav a { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; min-width: 0; padding: 0; white-space: nowrap; }
  .site-header nav .nav-inquiry { min-height: 44px; padding: 0; font-size: inherit; }
  :is(section,h2,article)[id] { scroll-margin-top: 72px; }
  .corporate-home h1,.corporate-home h2 { font-size: 22px; line-height: 1.4; letter-spacing: -.04em; word-break: keep-all; overflow-wrap: anywhere; text-wrap: balance; }
  .corporate-home p { line-height: 1.75; }
  .corporate-home .button { min-height: 48px; border-radius: 12px; }
  .story-inline-player { margin-top: 0; border-radius: 12px; }
  .story-hero-copy .actions { margin-top: 16px; gap: 10px; }
  .story-hero-copy .button { width: calc(50% - 5px); font-size: 13px; padding: 10px 8px; }
  .corporate-home .why-section { padding: 40px 0 16px; }
  .corporate-home .why-stat { margin: 24px 0; }
  .corporate-home .why-stat strong { font-size: 46px; }
  .corporate-home .why-grid { gap: 20px; }
  .corporate-home .why-grid h3 { font-size: 20px; }
  .corporate-home .why-conclusion { font-size: 17px; }
  .corporate-home .home-section,.corporate-home .care-section { padding: 44px 0; }
  .corporate-home .home-section .family-heading,.corporate-home .care-section .family-heading { grid-template-columns: minmax(0,1fr) 76px; gap: 18px 16px; }
  .corporate-home .family-heading>div { grid-column: 1 / -1; }
  .corporate-home .family-heading .family-art,.corporate-home .care-section .family-art { grid-column: 2; grid-row: 2; width: 76px; }
  .corporate-home .showcase-heading h2 { font-size: 22px; }
  .corporate-home .showcase-heading p:not(.eyebrow) { font-size: 16px; margin-bottom: 0; }
  .home-journey { gap: var(--card-gap); }
  .home-journey-row { padding: var(--card-padding); gap: var(--card-gap); border-radius: 20px; }
  .home-journey-copy h3 { font-size: 20px; line-height: 1.4; word-break: keep-all; }
  .home-function-list { gap: 12px 6px; }
  .home-function-list button { font-size: 12px; padding: 4px 9px; }
  .home-device { height: 380px; border-radius: 14px; background: #fff; }
  .growth-periods,.home-screen-pair { display: flex; align-items: flex-start; gap: 12px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; padding: 0 0 14px; scrollbar-width: thin; scrollbar-color: #adc3e0 transparent; }
  .growth-period,.home-screen-pair figure { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; scroll-snap-stop: always; }
  .home-screen-pair figure { height: auto; border-radius: 14px; }
  .home-screen-pair img { width: 100%; height: auto; max-height: 430px; object-fit: contain; }
  .corporate-home .care-section { border-radius: 0; }
  .corporate-home .care-overview-card { border-radius: 20px; }
  .corporate-home .care-overview-card>div { padding: var(--card-padding); }
  .corporate-home .care-overview-card h3 { font-size: 20px; line-height: 1.4; }
  .corporate-home .care-overview-card>img { height: auto; padding: 12px 8px; min-height: 0; background: #fff; }
  .corporate-home .care-overview-service { min-height: 0; justify-content: flex-start; }
  .corporate-home .care-overview-pagination { gap: 4px; margin-top: 14px; }
  .corporate-home .care-overview-pagination button { width: 44px; height: 44px; }
  .corporate-home .technology-section { padding-top: 48px; padding-bottom: 48px; }
  .corporate-home .tech-copy h3,.corporate-home .about-story h3 { font-size: 20px; line-height: 1.4; }
  .tech-use-cases { grid-template-columns: 1fr; }
  .agent-steps { flex-wrap: wrap; gap: 8px; }
  .tech-notice summary,.text-link { min-height: 44px; }
  .trust-section .company-stories-grid .screen-story { flex-basis: calc(100% - 18px); }
  .trust-section .company-evidence { height: 220px; }
  .corporate-home .about-section { padding-top: 48px; padding-bottom: 48px; }
  .about-story>p { font-size: 16px; }
  .corporate-home .contact-section { padding: 40px 0; }
  .contact-email { font-size: clamp(22px,6.6vw,30px); overflow-wrap: anywhere; }
  .contact-point dl>div { grid-template-columns: 70px minmax(0,1fr); }
  .corporate-home .locations article { padding: 22px 18px; border-radius: 16px; }
  footer .footer-inner { align-items: center; text-align: center; gap: 12px; padding-top: 28px; padding-bottom: 28px; }
  .footer-inner a { display: inline-flex; align-items: center; min-height: 44px; }
  .seo-page { padding: 40px 0 48px; }
  .seo-page-intro h1,.page-intro h1 { font-size: clamp(28px,8vw,36px); word-break: keep-all; }
  .seo-page-grid>article,.panel { padding: 22px 18px; border-radius: 16px; }
  .inquiry-body input,.inquiry-body select,.inquiry-body textarea { font-size: 16px; }
}

/* One spacing scale for homepage cards; content determines their height. */
.corporate-home { --card-gap: 16px; --card-padding: clamp(16px,2vw,24px); }
.corporate-home .why-infographic,.corporate-home .company-story-groups,.corporate-home .company-stories-grid,.corporate-home .locations,.corporate-home .tech-use-cases,.corporate-home .care-overview-cards,.corporate-home .growth-periods,.corporate-home .home-screen-pair { gap: var(--card-gap); }
.corporate-home .why-infographic article,.corporate-home .company-story-group,.corporate-home .locations article { padding: var(--card-padding); }
.corporate-home .trust-section .story-copy { min-height: 0; padding: var(--card-padding); }
.corporate-home .care-overview-cards { align-items: flex-start; overflow-y: hidden; }
.corporate-home .care-overview-service>div { flex: 1; }
.corporate-home .why-icon { margin-bottom: 12px; }
.corporate-home .home-screen-pair figure { height: auto; background: transparent; }
.corporate-home .home-screen-pair img { height: auto; max-height: 480px; }
@media (max-width:767px) {
  .corporate-home .why-icon { margin: 0; }
  .corporate-home .home-screen-pair img { max-height: 430px; }
}

/* Presentation cards only: keep control borders and keyboard focus indicators. */
:is(.corporate-home,.seo-page-body,.inquiry-body) :is(.why-infographic article,.home-journey-row,.care-overview-card,.care-overview-card>img,.screen-story,.company-story-group,.locations article,.seo-page-grid>article,.panel,.phone-frame,.desktop-frame,.feature-capture,.growth-period img,.home-screen-pair figure) { border: 0; }

/* Compact image overlays; extended hit areas keep small controls easy to tap. */
.home-journey-visual,.care-showcase { position: relative; }
.corporate-home .growth-periods { padding: 0; overflow-y: hidden; scrollbar-width: none; }
.corporate-home .care-overview-pagination { position: absolute; z-index: 2; left: 50%; bottom: 8px; transform: translateX(-50%); width: max-content; gap: 4px; margin: 0; padding: 4px 8px; border-radius: 999px; background: rgb(255 255 255 / .94); box-shadow: 0 2px 10px rgb(11 47 102 / .12); }
.corporate-home .care-overview-pagination button { position: relative; width: 28px; height: 28px; }
.corporate-home .showcase-pagination button[hidden] { display: none; }
.corporate-home .care-overview-pagination button::after { content: ""; position: absolute; inset: -8px 0; }
.corporate-home .care-overview-pagination button[data-direction] { border: 0; font-size: 18px; background: transparent; }
.corporate-home .care-overview-pagination button:not([data-direction])::before { width: 6px; height: 6px; }
.corporate-home .care-overview-pagination button[aria-current="true"]::before { width: 16px; }
.corporate-home .care-overview-service>div { padding-bottom: 60px; }

/* One evidence carousel with controls over the image area. */
.corporate-home .company-stories-carousel { --evidence-height: clamp(132px,calc((100vw - 48px)/2),360px); position: relative; max-width: 760px; margin-inline: auto; }
.corporate-home .trust-section .company-stories-grid { display: flex; overflow-x: auto; overflow-y: hidden; align-items: flex-start; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; scrollbar-width: none; padding: 0; }
.corporate-home .trust-section .company-stories-grid::-webkit-scrollbar { display: none; }
.corporate-home .company-evidence-page { flex: 0 0 100%; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--card-gap); min-width: 0; scroll-snap-align: start; scroll-snap-stop: always; }
.corporate-home .trust-section .company-stories-grid .screen-story { min-width: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.corporate-home .trust-section .company-evidence { height: var(--evidence-height); padding: 8px; overflow: hidden; border: 1px solid #e4e8ed; border-radius: 16px; background: white; }
.corporate-home .trust-section .story-copy { padding: 10px 4px 0; background: transparent; }
.corporate-home .evidence-meta { display: flex; align-items: center; gap: 6px; white-space: nowrap; font-size: 9px; }
.corporate-home .trust-section .evidence-meta time { font-size: 9px; }
.corporate-home .trust-section .award-badge { padding: 1px 6px; font-size: 8px; }
.corporate-home .trust-section .story-copy h3 { margin-top: 3px; font-size: clamp(10px,1.54vw,14px); font-weight: 500; line-height: 1.4; }
.corporate-home .company-evidence-pagination { top: calc(var(--evidence-height) - 44px); bottom: auto; }
.corporate-home .partner-card-section { min-width: 0; padding-block: 24px; background: white; }
.corporate-home .partner-card-section .section-heading { margin: 0; }
.corporate-home .partner-card-section .section-heading h2 { margin-bottom: 8px; }
.corporate-home .partner-card-section .section-heading p { max-width: 760px; margin: 0; color: var(--body); line-height: 1.7; }
.partner-bi-viewport { width: 100%; max-width: 100%; min-width: 0; margin-top: 20px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
.partner-bi-viewport:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; border-radius: 8px; }
.partner-bi-hint { display: none; margin: 12px 0 -8px; color: var(--body); font-size: 12px; }
.partner-bi-strip { position: relative; width: 100%; min-width: 720px; aspect-ratio: 4 / 1; overflow: hidden; background: #fff; }
.partner-bi-strip img { position: absolute; inset: 0 auto auto 0; display: block; width: 100%; max-width: none; height: auto; transform: translateY(-54.5%); }
@media (max-width:1099px) { .partner-bi-hint { display: block; } }
.corporate-home #company-evidence-screens:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.corporate-home .contact-section { padding: 24px 0; }
.corporate-home .locations article { padding: 12px 16px; }
.corporate-home .locations h3 { margin: 6px 0; font-size: 16px; line-height: 1.4; }
.corporate-home .locations address { margin-bottom: 0; font-size: 13px; line-height: 1.5; }
footer { padding: 8px 0; }
footer .footer-inner { display: grid; grid-template-columns: 1fr; justify-items: center; gap: 2px; padding-block: 0; text-align: center; }
footer .footer-inner>img { width: 100px; margin-inline: auto; }
footer .footer-inner a { display: inline-flex; align-items: center; min-height: 32px; font-size: 13px; line-height: 1.4; }
footer .footer-inner>p { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 4px; margin: 0; }
footer .footer-inner>div { justify-content: center; align-items: center; }
footer .footer-inner>div>span { display: none; }
footer .footer-inner small { margin: 0; font-size: 11px; line-height: 1.4; }
.corporate-home .footer-contact { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 12px; width: min(100%,480px); margin-inline: auto; }
.corporate-home .footer-contact a,.corporate-home .footer-contact p { display: flex; align-items: center; justify-content: center; min-height: 32px; margin: 0; font-size: 13px; line-height: 1.4; white-space: nowrap; }
.corporate-home .footer-legal { justify-content: center; align-items: center; flex-wrap: wrap; gap: 12px; font-size: 12px; }
.corporate-home .footer-legal small { margin: 0; font-size: 11px; }
/* Phone screens only; PDF reports and desktop Care screenshots stay unframed. */
.corporate-home :is(#record-screens,#discover-screens,#connect-screens) .growth-period img { width: min(100%,240px); height: auto; max-height: none; margin-inline: auto; padding: 10px 0 12px; border: 6px solid #fff; border-radius: 28px; background: #fff; object-fit: contain; }
@media (max-width:767px) {
  .corporate-home .growth-periods { gap: 12px; align-items: flex-start; }
  .corporate-home .growth-period { flex-basis: calc((100% - 12px)/2); min-width: 0; }
  .corporate-home :is(#record-screens,#discover-screens,#connect-screens) .growth-period img { padding: 5px 0 6px; border-width: 3px; border-radius: 18px; }
}
/* Corporate review: shared identity and compact product evidence. */
footer .footer-company { max-width: 720px; font-size: 12px; font-weight: 400; line-height: 1.5; overflow-wrap: anywhere; }
footer .footer-contact { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 12px; width: min(100%,480px); }
footer .footer-contact a,footer .footer-contact p { display: flex; align-items: center; justify-content: center; min-height: 32px; margin: 0; font-size: 13px; line-height: 1.4; }
footer .footer-legal { display: flex; flex-wrap: wrap; gap: 12px; }
.site-header nav a:focus-visible,footer a:focus-visible,.history-track:focus-visible,.care-service-grid:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.company-history { padding: 24px 0; }
.company-history .history-note { margin: 8px 0; font-size: 13px; }
.history-track { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x proximity; padding: 0 0 12px; margin: 16px 0 0; list-style: none; }
.history-track li { flex: 0 0 220px; min-width: 0; scroll-snap-align: start; }
.history-track img { display: block; width: 100%; height: 160px; object-fit: contain; border-radius: 16px; background: #fff; }
.history-track time { display: block; margin-top: 8px; font-size: 12px; color: var(--body); }
.history-track h3 { font-size: 15px; font-weight: 500; line-height: 1.5; margin: 4px 0 0; }
.care-service-grid { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x proximity; padding: 24px 0 16px; }
.care-service-grid>article { flex: 0 0 min(440px,85%); min-width: 0; padding: 20px; scroll-snap-align: start; }
.care-stage-screen { display: block; width: 100%; height: auto; margin-bottom: 16px; border-radius: 12px; }
.care-service-grid>article h2 { font-size: 22px; margin-top: 8px; }
.privacy-page .seo-page { padding-block: 40px; }
.privacy-page .seo-page-intro { padding-bottom: 24px; }
.privacy-page h1 { font-size: clamp(24px,4vw,40px); }
@media (max-width:767px) {
  .site-header { flex-wrap: wrap; justify-content: center; gap: 0; padding: 6px 12px; }
  .site-header .logo { flex-basis: 44px; }
  .site-header nav { flex: 1 1 calc(100% - 48px); display: grid; grid-template-columns: repeat(3,max-content); justify-content: space-evenly; column-gap: 8px; font-size: 13px; }
  .site-header nav a { min-height: 36px; }
  .history-track li { flex-basis: 168px; }
  .history-track img { height: 140px; }
  .care-service-grid>article { flex-basis: 88%; padding: 18px; }
  .care-service-grid>article h2 { font-size: 20px; }
}

/* Corporate v2: shared hierarchy, compact navigation and native swipe cards. */
.site-header { position: sticky; top: 0; z-index: 30; display: flex; align-items: center; gap: 12px; padding: 8px max(20px,calc((100vw - 1200px)/2)); min-height: 60px; background: #fff; border-bottom: 1px solid #e5e8ed; }
.site-header .logo { flex: 0 0 120px; display: grid; place-items: center; height: 44px; }
.site-header .logo img { width: 120px; height: 36px; object-fit: contain; filter: none; }
.site-header nav.header-nav { flex: 1; min-width: 0; display: flex; flex-wrap: nowrap; justify-content: flex-start; gap: 4px; overflow-x: auto; scrollbar-width: thin; padding: 3px; }
.site-header nav.header-nav a { display: flex; align-items: center; justify-content: center; flex: 0 0 auto; min-height: 44px; padding: 0 12px; border-radius: 24px; white-space: nowrap; color: var(--ink); font-size: 14px; font-weight: 500; }
.site-header nav.header-nav a:hover { background: #edf7e7; }
.site-header nav.header-nav a[aria-current] { background: #427d00; color: white; }
main section[id] { scroll-margin-top: 90px; }
.corporate-home h1,.seo-page h1 { font-size: clamp(40px,4.3vw,60px); line-height: 1.2; letter-spacing: -.04em; }
.corporate-home .section-heading h2,.corporate-home .why-heading h2,.connection-message h2 { font-size: clamp(22px,1.92vw,26px); line-height: 1.4; letter-spacing: -.025em; }
.corporate-home h3 { font-size: 20px; line-height: 1.5; }
.corporate-home .lead { font-size: 16px; line-height: 1.7; font-weight: 400; }
.corporate-home .story-hero { padding: 16px 0; }
.connection-message { text-align: left; margin-block: 32px 20px; }
.connection-message p { font-size: 17px; line-height: 1.7; }
.corporate-home .why-section,.corporate-home .home-section,.corporate-home .care-section,.corporate-home .technology,.corporate-home .trust-section,.corporate-home .about-section { padding-block: 72px; }
.dcr-section,.content-section { padding-block: 56px; }
.dcr-infographic { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 0; margin-top: 24px; overflow: hidden; border: 1px solid #dde5ed; border-radius: 16px; background: white; }
.dcr-phase { --phase-color: var(--action); position: relative; padding: 20px 20px 22px; border: 0; border-radius: 0; background: white; }
.dcr-phase + .dcr-phase { border-left: 1px solid #e7edf3; }
.dcr-phase:not(:last-child)::after { content: none; }
.corporate-home .dcr-phase-heading h3 { margin: 0; color: var(--ink); font-size: 15px; font-weight: 700; }
.dcr-phase-heading p { margin: 3px 0 18px; color: var(--body); font-size: 12px; }
.dcr-flow { position: relative; display: flex; gap: 0; margin: 0; padding: 0; list-style: none; }
.dcr-flow::before { content: ''; position: absolute; top: 15px; right: 16.666%; left: 16.666%; height: 1px; background: #ccd7e2; }
.dcr-phase:not(:first-child) .dcr-flow::before { right: 25%; left: 25%; }
.dcr-flow li { position: relative; z-index: 1; flex: 1; min-width: 0; color: var(--ink); text-align: center; }
.dcr-flow li:not(:last-child)::after { content: none; }
.dcr-flow .dcr-step-number { display: grid; place-items: center; width: 30px; height: 30px; margin: 0 auto 8px; border: 1px solid #9fb0c3; border-radius: 50%; color: var(--action); background: white; font-size: 13px; font-weight: 700; }
.dcr-flow strong { display: block; font-size: 14px; font-weight: 600; white-space: nowrap; }
.dcr-flow small { display: block; margin-top: 3px; color: var(--body); font-size: 11px; }
.dcr-cycle { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 8px 12px; margin: 10px 0 0; border: 0; border-radius: 10px; color: var(--body); background: #f7f9fb; font-size: 12px; }
.dcr-cycle span { color: var(--action); font-size: 16px; line-height: 1; }
.dcr-section>p { font-size: 14px; color: var(--body); }
.content-section .section-heading { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 8px 12px; margin-bottom: 24px; }
.content-section .section-heading h2 { grid-column: 1; grid-row: 1; margin: 0; }
.content-section .section-heading p { grid-column: 1 / -1; margin: 0; font-size: 17px; line-height: 1.6; }
.content-section .section-heading .text-link { grid-column: 2; grid-row: 1; justify-self: end; display: inline-flex; align-items: center; min-height: 44px; padding: 0; border: 0; white-space: nowrap; }
.content-section .text-link { flex-shrink: 0; font-size: 15px; }
.content-track { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.info-section .content-track { grid-template-columns: repeat(4,minmax(0,1fr)); }
.content-track article { min-width: 0; padding: 0; border: 0; background: transparent; }
.content-card-link { display: block; }
.content-thumb { position: relative; aspect-ratio: 1; overflow: hidden; border-radius: 20px; background: #f3f7fa; }
.content-thumb img { display: block; width: 100%; height: 100%; margin: 0; object-fit: cover; }
.content-track img[src^="/home-icon-"] { object-fit: contain; padding: 30px; }
.content-track .content-label { position: absolute; bottom: 10px; left: 10px; max-width: calc(100% - 20px); padding: 4px 8px; border-radius: 8px; color: white; background: #102438d9; font-size: 12px; font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.corporate-home .content-track :is(h2,h3) { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 10px 0 6px; color: var(--ink); font-size: 17px; font-weight: 500; line-height: 1.5; }
.content-card-link:hover :is(h2,h3) { text-decoration: underline; }
.content-track time { font-size: 13px; color: var(--body); }
.content-section [role="status"] { font-size: 16px; color: var(--body); }
.corporate-home .technology-section .section-heading h2 { color: var(--action); }
.corporate-home .technology-section .section-heading h2 span { color: var(--ink); font-weight: 500; }
.service-status { font-size: 14px; line-height: 1.7; padding: 14px; border-radius: 12px; background: #f2f7fc; }
@media (max-width:1023px) {
  .content-track,.info-section .content-track { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
  .site-header { display: grid; grid-template-columns: 120px minmax(0,1fr); padding: 4px 12px; gap: 0 8px; }
  .site-header .logo { grid-column: 1; grid-row: 1; }
  .site-header nav.header-nav { grid-column: 1 / -1; grid-row: 2; width: 100%; padding: 2px; gap: 2px; }
  .site-header nav.header-nav a { font-size: 13px; padding-inline: 12px; }
  main section[id] { scroll-margin-top: 118px; }
  .corporate-home h1,.seo-page h1 { font-size: clamp(32px,8.5vw,40px); }
  .corporate-home .section-heading h2,.corporate-home .why-heading h2,.connection-message h2 { font-size: 20px; line-height: 1.45; }
  .corporate-home h3 { font-size: 18px; }
  .corporate-home .lead { font-size: 16px; }
  .corporate-home .story-hero { padding-block: 8px; }
  .corporate-home .why-section,.corporate-home .home-section,.corporate-home .care-section,.corporate-home .technology,.corporate-home .trust-section,.corporate-home .about-section { padding-block: 48px; }
  .dcr-section,.content-section { padding-block: 40px; }
  .dcr-infographic { grid-template-columns: 1fr; gap: 0; margin-top: 18px; }
  .dcr-phase { display: grid; grid-template-columns: 84px minmax(0,1fr); align-items: center; gap: 8px; padding: 14px 12px; }
  .dcr-phase + .dcr-phase { border-top: 1px solid #e7edf3; border-left: 0; }
  .dcr-phase:not(:last-child)::after { content: none; }
  .corporate-home .dcr-phase-heading h3 { font-size: 14px; }
  .dcr-phase-heading p,.dcr-flow small { display: none; }
  .dcr-flow { gap: 0; }
  .dcr-flow::before { top: 12px; }
  .dcr-flow .dcr-step-number { width: 24px; height: 24px; margin-bottom: 4px; font-size: 12px; }
  .dcr-flow strong { font-size: 13px; }
  .dcr-flow li:not(:last-child)::after { content: none; }
  .dcr-cycle { gap: 5px; font-size: 11px; }
  .content-section .section-heading { gap: 12px; align-items: center; }
  .content-section .section-heading p { font-size: 15px; }
  .content-section .text-link { font-size: 13px; }
  .content-track,.info-section .content-track { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 12px; overflow: visible; padding: 0; }
}

.dcr-section h2 { font-size: clamp(22px,1.92vw,26px); line-height: 1.4; }
.corporate-home .why-section h2,.corporate-home .product .showcase-heading h2 { font-size: clamp(22px,1.92vw,26px); line-height: 1.4; letter-spacing: -.025em; }
@media(max-width:767px) { .dcr-section h2,.corporate-home .why-section h2,.corporate-home .product .showcase-heading h2 { font-size: 20px; } }

.corporate-home .section-heading>p:not(.eyebrow),.corporate-home .content-section .section-heading p { font-size: 16px; }
@media(max-width:767px) {
  .corporate-home .lead,.corporate-home .section-heading>p:not(.eyebrow),.corporate-home .connection-message p,.corporate-home .content-section .section-heading p { font-size: 15px; }
  .corporate-home .content-track :is(h2,h3) { font-size: 15px; }
  .corporate-home .care-overview-card h3,.corporate-home .home-journey-copy h3 { font-size: 18px; }
}

.content-list-page { padding-block: 28px 48px; scroll-margin-top: 88px; }
.content-list-page h1 { scroll-margin-top: 90px; }
.corporate-home .content-list-page h1 { font-size: 28px; margin: 20px 0 8px; }
.content-list-intro { color: var(--body); font-size: 15px; margin-bottom: 24px; }
.content-list-tabs { display: flex; gap: 12px; }
.content-list-tabs a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border: 1px solid var(--line); border-radius: 24px; font-size: 15px; }
.content-list-tabs a[aria-current] { color: white; background: var(--action); border-color: var(--action); text-decoration: none; }
.content-list-pagination { display: flex; justify-content: center; align-items: center; gap: 20px; margin-top: 28px; font-size: 14px; }
.content-list-pagination button { min-height: 44px; padding: 8px 16px; background: white; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); }
.content-list-pagination button:disabled { opacity: .45; cursor: default; }
.content-list-pagination button:focus-visible,.content-list-tabs a:focus-visible { outline: 3px solid var(--action); outline-offset: 3px; }

/* One continuous shaded frame with every homepage sector presented as a card. */
.corporate-home main { display: grid; gap: 16px; width: min(1200px,calc(100% - 48px)); margin: 6.4px auto 32px; padding: 16px; border-radius: 28px; background: #f1f3f5; }
.corporate-home main>section { width: 100%; margin: 0; overflow: clip; border: 1px solid #e4e8ed; border-radius: 20px; background: white; box-shadow: 0 1px 2px rgb(11 47 102 / .04); }
.corporate-home main>section.wrap,.corporate-home main>section>.wrap { width: 100%; max-width: none; margin: 0; padding-inline: 32px; }
.corporate-home :is(.why-section,.care-section,.trust-section,.contact-section) { position: relative; isolation: auto; background: white; }
.corporate-home :is(.why-section,.care-section,.trust-section,.contact-section)::before { content: none; }
.corporate-home :is(.dcr-section,.content-section) { padding-block: 32px; }
.corporate-home :is(.home-section,.care-section,.technology-section,.trust-section,.about-section) { padding-block: 36px; }
@media(max-width:767px) {
  .corporate-home main { gap: 8px; width: calc(100% - 16px); margin-block: 6.4px 20px; padding: 8px; border-radius: 20px; }
  .corporate-home main>section { border-radius: 16px; }
  .corporate-home main>.care-section { border-radius: 16px; }
  .corporate-home main>section.wrap,.corporate-home main>section>.wrap { padding-inline: 16px; }
  .corporate-home :is(.dcr-section,.content-section,.home-section,.care-section,.technology-section,.trust-section,.about-section) { padding-block: 20px; }
  .content-section .section-heading { margin-bottom: 16px; }
}

/* Corporate layout refinement: stable Care media, dense Care grouping and desktop evidence grid. */
.corporate-home .care-overview-cards { align-items: stretch; }
.corporate-home .care-overview-card { height: clamp(390px,34vw,440px); }
.corporate-home .care-overview-card>img { align-self: stretch; height: 100%; object-fit: contain; background: transparent; }
.corporate-home .family-heading { align-items: end; }
.corporate-home .family-heading>div,.corporate-home .family-heading .family-art { align-self: end; }
@media (min-width:768px) { .corporate-home .family-heading .family-art { grid-row: 1; animation: none; transform: none; } }
@media (min-width:768px) {
  .corporate-home :is(.home-section,.care-section) { padding-top: 12px; }
  .corporate-home :is(.home-section,.care-section) .showcase-heading { margin-bottom: 12px; }
  .corporate-home :is(.home-section,.care-section) .family-heading { grid-template-columns: minmax(0,1fr) 192px; }
  .corporate-home :is(.home-section,.care-section) .family-art { width: 192px; }
  .corporate-home .home-section .family-heading { grid-template-columns: minmax(0,1fr) 134px; }
  .corporate-home .home-section .family-art { width: 134px; }
  .corporate-home .home-journey-row { position: relative; }
  .corporate-home .home-journey-copy { display: flex; flex-direction: column; min-height: 100%; padding-bottom: 52px; }
  .corporate-home .home-journey-row .home-journey-visual { position: static; }
  .corporate-home .home-journey-row .care-overview-pagination { right: auto; bottom: var(--card-padding); left: var(--card-padding); transform: none; }
  .corporate-home .care-overview-cards { margin-top: 0; }
}
@media (max-width:767px) {
  .corporate-home .home-section .family-heading { grid-template-columns: minmax(0,1fr) 54px; }
  .corporate-home .home-section .family-heading .family-art { width: 54px; }
}
@media (min-width:1100px) {
  .corporate-home .home-journey { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; }
  .corporate-home .home-journey-row { height: 100%; }
}
.corporate-home .why-section .story-eyebrow { margin-bottom: 6px; }
.corporate-home .why-section h2 { margin: 0 0 8px; }
.corporate-home .why-section>.wrap>.lead { margin: 0 0 20px; }
.corporate-home .care-section .showcase-heading h2 span { color: var(--action); }
.corporate-home .about-grid { grid-template-columns: minmax(0,.95fr) minmax(320px,.65fr); align-items: center; }
.corporate-home .about-illustration { max-width: 400px; }
footer .footer-legal>img { width: 88px; height: auto; }

@media(min-width:768px) {
  .corporate-home .company-stories-carousel { max-width: none; }
  .corporate-home .trust-section .company-stories-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--card-gap); height: auto !important; overflow: visible; align-items: stretch; }
  .corporate-home .company-evidence-page { display: contents; }
  .corporate-home .trust-section .company-evidence { height: 230px; }
  .corporate-home .company-evidence-pagination { display: none; }
  .corporate-home .partner-card-section { padding-block: 28px; }
  :is(.corporate-home,.seo-page-body,.inquiry-body) footer .footer-contact { display: flex; width: auto; gap: 24px; }
  :is(.corporate-home,.seo-page-body,.inquiry-body) footer .footer-contact a,:is(.corporate-home,.seo-page-body,.inquiry-body) footer .footer-contact p { min-height: 28px; }
  :is(.corporate-home,.seo-page-body,.inquiry-body) footer .footer-legal { flex-wrap: nowrap; }
}

@media(max-width:767px) {
  .corporate-home .care-overview-card { height: 500px; }
  .corporate-home .care-overview-card>img { flex: 1 1 auto; height: 300px; }
  .corporate-home .about-grid { grid-template-columns: 1fr; align-items: center; }
  :is(.corporate-home,.seo-page-body,.inquiry-body) footer .footer-legal { flex-wrap: nowrap; gap: 9px; }
  :is(.corporate-home,.seo-page-body,.inquiry-body) footer .footer-legal>img { width: 74px; }
}
@media(max-width:767px) { .corporate-home .content-list-page h1 { font-size: 24px; } .content-thumb { border-radius: 16px; } .content-track time { font-size: 12px; } }

/* Care overview: compact editorial copy on the left, full product screen on the right. */
.corporate-home main>.care-section { min-width: 0; }
.corporate-home .care-heading { display: block; max-width: 760px; }
.corporate-home .care-showcase,.corporate-home .care-overview-cards { min-width: 0; max-width: 100%; }
.corporate-home .care-overview-card {
  display: grid;
  grid-template-columns: minmax(320px,36%) minmax(0,1fr);
  align-items: stretch;
  min-width: 0;
  height: clamp(340px,31vw,390px);
}
.corporate-home .care-overview-card>.care-overview-copy {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
  align-content: center;
  gap: 12px;
  min-width: 0;
  padding: 20px 24px 58px;
}
.corporate-home .care-overview-copy>div { min-width: 0; align-self: center; }
.corporate-home .care-slide-art { display: block; width: 104px; height: auto; justify-self: start; }
.corporate-home .care-overview-card>.care-overview-screen {
  width: 100%;
  max-width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  padding: 0;
  object-fit: contain;
  object-position: right center;
  border: 0;
  background: transparent;
}
.corporate-home .care-showcase>.care-overview-pagination { left: calc(36% + 16px); transform: none; }

@media(max-width:767px) {
  .corporate-home .care-overview-card {
    grid-template-columns: 1fr;
    grid-template-rows: 204px 264px;
    height: 468px;
  }
  .corporate-home .care-overview-card>.care-overview-copy {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    gap: 6px;
    padding: 10px 14px 8px;
  }
  .corporate-home .care-slide-art { width: 64px; }
  .corporate-home .care-overview-card>.care-overview-screen { height: auto; max-height: 264px; align-self: center; object-position: center; }
  .corporate-home .care-showcase>.care-overview-pagination { left: 50%; transform: translateX(-50%); }
}

/* Header: text navigation on desktop, one compact row on mobile. */
.site-header { height: 72px; gap: 24px; padding-block: 12px; border-bottom: 0; }
.site-header .logo { flex-basis: 140px; justify-content: start; }
.site-header .logo img { width: 140px; height: 40px; }
.header-menu { flex: 1; min-width: 0; }
.header-menu-toggle { display: none; }
.site-header .header-menu:not([open]) nav.header-nav { display: none; }
.site-header nav.header-nav { justify-content: center; overflow: visible; padding: 0; gap: 20px; }
.site-header nav.header-nav a { min-height: 44px; padding: 0; border-radius: 0; font-size: 14px; font-weight: 500; }
.site-header nav.header-nav a[aria-current] { color: var(--action); background: transparent; text-decoration: underline; text-underline-offset: 8px; text-decoration-thickness: 2px; }
.site-header nav.header-nav a:hover { color: var(--action); background: transparent; }
main section[id] { scroll-margin-top: 90px; }
@media (min-width:1100px) {
  .site-header { display: grid; grid-template-columns: 1fr auto 1fr; }
  .site-header .logo { grid-column: 1; justify-self: start; }
  .header-menu { grid-column: 2; width: max-content; justify-self: center; }
}
@media (max-width:1099px) {
  .site-header { display: flex; height: 64px; min-height: 64px; padding: 8px 16px; gap: 12px; }
  .site-header .logo { flex: 1; justify-items: start; min-width: 0; }
  .site-header .logo img { width: 120px; height: 36px; }
  .header-menu { order: 2; flex: 0 0 44px; }
  .header-menu-toggle { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 8px; color: var(--ink); cursor: pointer; list-style: none; }
  .header-menu-toggle::-webkit-details-marker { display: none; }
  .header-menu-toggle span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .header-menu-toggle:focus-visible { outline: 3px solid var(--action); outline-offset: 2px; }
  .header-menu[open] .header-menu-toggle { background: #edf3fc; }
  .site-header .header-menu nav.header-nav { position: absolute; top: 64px; left: 0; right: 0; width: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; padding: 12px 20px 16px; background: white; border-bottom: 1px solid #e1e6ed; box-shadow: 0 8px 16px #0b2f6610; max-height: calc(100dvh - 64px); overflow-y: auto; }
  .site-header .header-menu nav.header-nav a { justify-content: flex-start; padding: 10px 8px; min-height: 44px; font-size: 15px; }
  main section[id] { scroll-margin-top: 80px; }
}
