: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:var(--white);color:var(--body);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; }
.company-stories { padding: 0 0 96px; }
.company-evidence { display: flex; align-items: center; justify-content: center; height: 340px; padding: 24px; background: var(--pale); 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-bottom: 56px; } .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); }
.screen-expand { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 52px; padding: 12px 24px; font-size: 13px; color: var(--ink); }
.screen-expand:hover { text-decoration: underline; text-underline-offset: 4px; }
.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; }
.home-feature-grid .screen-expand { margin-top: auto; }
@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; }
  .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>a { cursor: zoom-in; }
.feature-capture.map-capture img { width: 100%; height: 100%; object-fit: contain; align-self: center; }
.image-viewer { width: min(1200px,96vw); max-width: 96vw; max-height: 94dvh; padding: 0; border: 1px solid var(--line); border-radius: 16px; background: white; color: var(--ink); overflow: hidden; }
.image-viewer[open] { display: flex; flex-direction: column; }
body:has(.image-viewer[open]) { overflow: hidden; }
.image-viewer::backdrop { background: #122138b3; }
.viewer-toolbar { display: flex; flex-shrink: 0; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.viewer-toolbar h2 { flex: 1; margin: 0; font-size: 16px; }
.viewer-toolbar button { min-height: 44px; padding: 8px 14px; flex-shrink: 0; background: var(--pale); border: 1px solid var(--line); border-radius: 8px; color: var(--ink); font-size: 14px; }
.viewer-body { overflow: auto; min-height: 0; padding: 16px; background: #f5f7fa; border: 3px solid transparent; }
.viewer-body:focus-visible { outline: none; border-color: var(--focus); }
.viewer-image { display: block; width: 100%; max-width: none; height: auto; }
.image-viewer.zoomed .viewer-image { width: 200%; }
.viewer-error { padding: 12px 16px; }
@media (max-width:760px) {
  .viewer-toolbar { flex-wrap: wrap; padding: 10px 12px; }
  .viewer-toolbar h2 { flex-basis: 100%; font-size: 15px; }
  .viewer-body { padding: 8px; }
}
.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: 88px; height: auto; padding-top: 18px; padding-bottom: 18px; border-bottom: 0; }
.site-header nav { align-items: center; gap: 28px; font-size: 14px; font-weight: 600; }
.site-header nav a { display: inline-flex; align-items: center; min-height: 44px; }
.site-header .nav-inquiry { background: var(--action); color: white; padding: 10px 20px; border-radius: 999px; }
.corporate-home .hero-carousel { margin: 0 auto; width: min(1392px,calc(100% - 32px)); }
.corporate-home .hero-stage { border-radius: 40px; overflow: hidden; }
.corporate-home .hero-slide { background: #f5f7fa; }
.corporate-home .hero-background { inset: 24px 24px 24px auto; width: 49%; height: calc(100% - 48px); border-radius: 30px; object-position: 72% center; }
.corporate-home .hero-slide::after { background: linear-gradient(90deg,#f5f7fa 0%,#f5f7fa 47%,#f5f7fa00 62%); }
.corporate-home .hero-content { min-height: 480px; padding: 48px 24px; }
.corporate-home .hero-message { width: min(550px,49%); }
.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 { padding-bottom: 32px; }
.corporate-home .hero-picker { display: block; }
.corporate-home .hero-slide-feature { display: inline-flex; align-items: center; gap: 12px; margin: 0 0 20px; color: var(--ink); 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; }
.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; }
.family-heading>.button { grid-column: 1; justify-self: 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; }
.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; }
.screen-expand { min-height: 64px; font-size: 14px; padding-left: 28px; padding-right: 28px; }
.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: #edf4ff; 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; }
.journey { background: #f5f7fa; }
.journey ol { gap: 20px; }
.journey li { padding: 24px; background: white; border-radius: 28px; }
.journey li>img { width: 80px; height: 80px; object-fit: contain; border-radius: 20px; margin-bottom: 12px; }
.journey i { display: grid; place-items: center; width: 48px; height: 48px; background: #e2e7ee; color: var(--ink); border-radius: 16px; font-size: 16px; font-weight: 700; margin-bottom: 10px; }
.journey li:nth-child(2) i { background: #e2e7ee; }
.journey li:nth-child(3) i { background: #cae2ff; }
.journey li:nth-child(4) i { background: #e0d6fa; }
.journey li:not(:last-child):after { content: none; }
.journey span { font-size: 16px; }
.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-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; }
.tech-copy .tech-release-note { font-size: 14px!important; padding: 14px 16px; background: #f5f7fa; border-radius: 12px; }
.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); }
.about-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; margin-top: 46px; align-items: start; }
.about-vision { color: var(--action); font-size: clamp(24px,2.8vw,34px); line-height: 1.2; font-weight: 700; margin: 0 0 30px; letter-spacing: -.03em; }
.about-story h3 { font-size: 25px; line-height: 1.5; margin: 0 0 22px; }
.about-story>p:not(.about-vision) { 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: #f5f7fb; 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-invite { margin-top: 40px; padding-top: 32px; display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; border-top: 1px solid var(--line); }
.inquiry-invite h3 { font-size: 28px; line-height: 1.35; letter-spacing: -.035em; margin: 0 0 16px; }
.inquiry-invite p { color: var(--body); font-size: 16px; }
.inquiry-entry { display: grid; grid-template-columns: 100px 1fr; align-items: center; gap: 14px 20px; }
.inquiry-entry .button { width: 100%; }
.inquiry-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 22px; grid-column: 1 / -1; }
.inquiry-links a { text-decoration: underline; text-underline-offset: 5px; min-height: 44px; display: inline-flex; 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; }
  .inquiry-invite { gap: 24px; }
  .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; }
  .site-header .nav-inquiry { padding: 7px 12px; }
  .corporate-home .hero-carousel { width: calc(100% - 24px); }
  .corporate-home .hero-stage { border-radius: 26px; }
  .corporate-home .hero-content { min-height: 0; padding: 254px 8px 32px; }
  .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,#f5f7fa00 155px,#f5f7fa 250px); }
  .corporate-home .hero-message { width: 100%; }
  .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; }
  .family-heading>.button { grid-row: 3; }
  .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:not(.about-vision) { font-size: 16px; }
  .contact-section { padding: 58px 0; }
  .locations { grid-template-columns: 1fr; }
  .inquiry-invite { grid-template-columns: 1fr; padding-top: 24px; margin-top: 28px; }
  .inquiry-entry { grid-template-columns: 64px 1fr; gap: 12px; }
  .inquiry-entry>img { width: 64px; height: 64px; }
  .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,.journey li>img,.feature-details h3 img,.inquiry-entry>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); }
  .inquiry-entry:focus-within>img { animation: icon-hello .7s ease-out; }
  .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,.journey li:hover>img,.feature-details>div:hover h3 img { transform: rotate(-5deg) translateY(-4px); }
    .tech-visual>a:hover img { transform: scale(1.025); }
    .inquiry-entry:hover>img { animation: icon-hello .7s ease-out; }
    .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; }
}
