/* Figma 26:22. Shared header, footer, forms and colors live in styles.css. */
.hospital-page{background:#fff}
.hospital-page h1,.hospital-page h2{font-size:calc(64 * var(--u));line-height:1.3;font-weight:700;letter-spacing:-.04em}
.hospital-page em{font-style:normal;color:var(--blue)}
.hospital-page ul{list-style:none;padding:0;margin:0}
.hospital-hero{display:grid;place-items:center;background:#1a1a1a;color:white}
.hospital-hero-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:calc(72 * var(--u));text-align:center;max-width:calc(1700 * var(--u))}
.hospital-hero-copy{display:flex;flex-direction:column;align-items:center;gap:calc(32 * var(--u))}
.hospital-hero-copy p{font-size:calc(40 * var(--u));font-weight:500;letter-spacing:-.04em}
.hospital-intro,.hospital-why,.hospital-capabilities{display:grid;place-items:center}
.hospital-container{width:calc(1599 * var(--u));max-width:100%;display:flex;flex-direction:column;align-items:center}
.hospital-heading{display:flex;flex-direction:column;align-items:center;text-align:center;gap:calc(16 * var(--u))}
.intro-container{gap:calc(91 * var(--u))}
.intro-container h2{text-align:center}
.intro-title-line{display:inline-flex;align-items:center;gap:calc(4 * var(--u))}
.intro-title-line img{width:calc(143 * var(--u));height:calc(54.338 * var(--u))}
.intro-grid,.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(24 * var(--u));width:100%}
.intro-item{display:flex;flex-direction:column;align-items:center;min-width:0}
.intro-question{width:100%;height:calc(164 * var(--u));display:flex;flex-direction:column;justify-content:center;border:calc(2 * var(--u)) solid var(--gray);border-radius:calc(24 * var(--u));text-align:center;font-size:calc(28 * var(--u));font-weight:600;line-height:1.5;letter-spacing:-.02em}
.intro-question br{display:none}
.intro-question strong{font-weight:700;color:var(--blue)}
.intro-connector{width:calc(11 * var(--u));height:calc(46 * var(--u));margin:calc(1 * var(--u)) 0 calc(4 * var(--u))}
.intro-answer{width:100%;height:calc(312 * var(--u));border-radius:calc(24 * var(--u));background:var(--ink);color:white;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:calc(40 * var(--u)) calc(20 * var(--u));text-align:center;letter-spacing:-.02em}
.intro-icon{width:calc(85 * var(--u));height:calc(85 * var(--u));object-fit:contain;margin-bottom:calc(24 * var(--u))}
.intro-answer h3{font-size:calc(32 * var(--u));line-height:1.3;font-weight:700;white-space:nowrap}
.intro-answer p{font-size:calc(20 * var(--u));line-height:1.6;font-weight:500;color:var(--gray);margin-top:calc(4 * var(--u));white-space:nowrap}
.why-container{gap:calc(70 * var(--u));transform:translateY(calc(9 * var(--u)))}
.why-grid article{min-width:0;display:flex;flex-direction:column;gap:calc(24 * var(--u))}
.why-card{border:calc(2 * var(--u)) solid var(--gray);border-radius:calc(28 * var(--u));height:calc(383 * var(--u));padding:calc(56 * var(--u)) calc(48 * var(--u));display:flex;flex-direction:column;gap:calc(28 * var(--u))}
.why-card h3{font-size:calc(34 * var(--u));line-height:1.3;font-weight:700;color:var(--blue);text-align:center;letter-spacing:-.02em;white-space:nowrap}
.why-quotes{display:flex;flex-direction:column;align-items:flex-start;gap:calc(12 * var(--u))}
.why-quotes p{background:var(--gray);border-radius:0 calc(16 * var(--u)) calc(16 * var(--u)) calc(16 * var(--u));font-size:calc(21 * var(--u));line-height:1.4;letter-spacing:-.02em;padding:calc(14 * var(--u)) calc(20 * var(--u));white-space:nowrap;max-width:calc(421 * var(--u))}
.why-quotes p:nth-child(even),.why-quotes-reverse p:nth-child(odd){align-self:flex-end;border-radius:calc(16 * var(--u)) 0 calc(16 * var(--u)) calc(16 * var(--u))}
.why-quotes-reverse p:nth-child(even){align-self:flex-start;border-radius:0 calc(16 * var(--u)) calc(16 * var(--u)) calc(16 * var(--u))}
.why-answer{height:calc(126 * var(--u));display:grid;place-content:center;text-align:center;background:var(--ink);color:white;border-radius:calc(20 * var(--u));font-size:calc(28 * var(--u));line-height:1.4;letter-spacing:-.02em;font-weight:600}
.hospital-split-copy{display:flex;flex-direction:column;gap:calc(32 * var(--u));align-items:flex-start}
.hospital-split-copy .description{color:rgb(26 26 26 / .7)}
.tasks-copy{width:calc(600 * var(--u));margin-left:calc((50vw - 960 * var(--u)) / 2 + 160 * var(--u))}
.hospital-blue-panel{height:100%;width:100%;background:var(--blue);color:white;display:grid;place-items:center}
.task-grid{display:grid;grid-template-columns:1fr;gap:calc(24 * var(--u));width:calc(838 * var(--u))}
.task-card,.review-checklist{background:rgb(255 255 255 / .1);box-shadow:inset 1px 1px 0 rgb(255 255 255 / .25),inset -1px -1px 0 rgb(255 255 255 / .08),inset 0 0 calc(20 * var(--u)) rgb(255 255 255 / .07)}
.task-card{padding:calc(32 * var(--u)) calc(36 * var(--u));min-height:calc(170 * var(--u));border-radius:calc(24 * var(--u));display:grid;grid-template-columns:calc(44 * var(--u)) 1fr;align-content:center;align-items:center;column-gap:calc(20 * var(--u));row-gap:calc(12 * var(--u));letter-spacing:-.02em}
.task-number{grid-row:1 / 3;font-size:calc(20 * var(--u));font-weight:600;line-height:1.4;color:var(--gray)}
.task-card h3{font-size:calc(36 * var(--u));font-weight:700;line-height:1.3}
.task-description{grid-column:2;font-size:calc(22 * var(--u));font-weight:500;line-height:1.5;word-break:keep-all}
.review-copy{grid-column:2;grid-row:1;align-items:flex-end;text-align:right;width:calc(795 * var(--u));margin-left:calc((50vw - 960 * var(--u)) / 2 + 85 * var(--u));transform:translateY(calc(11 * var(--u)))}
.hospital-review .hospital-blue-panel{grid-column:1;grid-row:1}
.review-checklist{width:calc(649.15 * var(--u));padding:calc(52.884 * var(--u)) calc(63.461 * var(--u));border-radius:calc(37.019 * var(--u));transform:translateY(calc(13.55 * var(--u)))}
.review-checklist h3{font-size:calc(44 * var(--u));font-weight:800;line-height:1.4;letter-spacing:-.02em;text-align:center;margin-bottom:calc(21.154 * var(--u));white-space:nowrap}
.review-checklist li{display:flex;align-items:center;gap:calc(21.154 * var(--u));padding:calc(23.798 * var(--u)) 0;font-size:calc(30 * var(--u));line-height:1.4;letter-spacing:-.02em;font-weight:600;white-space:nowrap}
.review-checklist li+li{border-top:calc(1.322 * var(--u)) solid var(--gray)}
.review-checklist li span{display:grid;place-items:center;flex-shrink:0;width:calc(37.019 * var(--u));height:calc(37.019 * var(--u));border-radius:calc(10.577 * var(--u));background:white;color:var(--blue);font-size:calc(18.509 * var(--u));font-weight:700}
.capabilities-container{width:calc(1645 * var(--u));max-width:100%;display:flex;flex-direction:column;align-items:center;gap:calc(61 * var(--u))}
.hospital-capabilities .hospital-heading{gap:calc(6 * var(--u));color:#1c2027}
.capability-grid{display:grid;grid-template-columns:320fr 311fr 313fr 309fr 320fr;gap:calc(18 * var(--u));width:100%}
.capability-grid article{display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center}
.capability-image{position:relative;width:calc(310 * var(--u));height:calc(380 * var(--u));background:transparent;border-radius:calc(50 * var(--u));overflow:hidden;border:0}
.capability-image img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
.capability-image .capability-underlay{width:168.27%;left:-18.85%;top:.11%}
.capability-grid h3{font-size:calc(35 * var(--u));line-height:calc(39 * var(--u));letter-spacing:-.05em;font-weight:700;color:var(--blue);margin-top:calc(21 * var(--u));white-space:nowrap}
.capability-grid article:last-child h3{letter-spacing:-.06em}
.capability-grid p{font-size:calc(24 * var(--u));line-height:1.4;letter-spacing:-.03em;margin-top:calc(14.2 * var(--u));white-space:nowrap}
/* 마지막 문의 섹션: 배경 이미지 없이 앞 섹션의 흰 배경을 이어 가고, 문구 아래 문의하기 버튼을 둔다. */
.hospital-page .hospital-contact{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(48 * var(--u));height:auto;min-height:auto;padding:calc(160 * var(--u)) 24px calc(200 * var(--u));background:#fff;color:#1c2027}
.hospital-page .hospital-contact h2{font-size:clamp(30px,3.333vw,64px);font-weight:700;line-height:1.3;letter-spacing:-.04em}
.hospital-contact-button{min-height:54px;padding:12px 30px;font-size:17px}
.hospital-contact-button span{transition:transform .3s ease}
@media(hover:hover){.hospital-contact-button:hover span{transform:translateX(4px)}}
@media(max-width:700px){.hospital-page .hospital-contact{gap:32px;padding:80px 16px 120px}.hospital-page .hospital-contact h2{font-size:clamp(28px,7.6vw,34px)}}

@media(max-width:900px){
  .hospital-page h1,.hospital-page h2{font-size:clamp(30px,4.8vw,44px);line-height:1.3;word-break:keep-all;overflow-wrap:anywhere}
  .hospital-page h1 br{display:none}
  .hospital-hero{min-height:calc(100svh - var(--header-offset));padding:90px 24px}
  .hospital-hero-content{max-width:720px;gap:40px}
  .hospital-hero-copy{gap:24px}
  .hospital-hero-copy p{font-size:20px;line-height:1.6;word-break:keep-all}
  .hospital-intro,.hospital-why,.hospital-capabilities{padding:76px 32px}
  .hospital-container,.capabilities-container{width:100%;gap:44px;transform:none}
  .hospital-heading{gap:18px}
  .intro-title-line{display:inline;vertical-align:middle}
  .intro-title-line img{display:inline-block;width:88px;height:34px;vertical-align:middle;margin-right:3px}
  .intro-grid,.why-grid{grid-template-columns:1fr;gap:32px;max-width:580px}
  .intro-question{height:auto;min-height:132px;padding:24px 12px;border-width:2px;border-radius:24px;font-size:22px;word-break:keep-all}
  .intro-connector{width:11px;height:46px;margin:1px 0 4px}
  .intro-answer{height:auto;min-height:260px;padding:32px 20px;border-radius:24px;justify-content:center}
  .intro-icon{width:72px;height:72px;margin-bottom:24px}
  .intro-answer h3{font-size:24px;white-space:normal;word-break:keep-all}
  .intro-answer p{font-size:16px;margin-top:10px;white-space:normal;word-break:keep-all}
  .why-grid article{gap:16px}
  .why-card{height:auto;border-width:2px;border-radius:28px;padding:32px 24px;gap:24px}
  .why-card h3{font-size:26px;white-space:normal;word-break:keep-all}
  .why-quotes{gap:12px}
  .why-quotes p{max-width:95%;font-size:16px;padding:12px 16px;white-space:normal;word-break:keep-all;border-radius:0 16px 16px 16px}
  .why-quotes p:nth-child(even),.why-quotes-reverse p:nth-child(odd){border-radius:16px 0 16px 16px}
  .why-quotes-reverse p:nth-child(even){border-radius:0 16px 16px 16px}
  .why-answer{height:auto;min-height:100px;padding:20px 12px;border-radius:20px;font-size:20px;word-break:keep-all}
  .hospital-split-copy,.tasks-copy,.review-copy{width:100%;margin:0;padding:76px 32px;gap:28px;transform:none;text-align:left;align-items:flex-start}
  .hospital-split-copy .description br{display:none}
  .hospital-blue-panel{height:auto;padding:56px 32px}
  .task-grid{width:100%;max-width:690px;gap:20px}
  .task-card{min-height:150px;column-gap:18px;row-gap:10px;grid-template-columns:32px 1fr;padding:26px 22px;border-radius:24px}
  .task-number{font-size:16px}
  .task-card h3{font-size:28px}
  .task-description{font-size:18px}
  .review-checklist{width:100%;max-width:649px;padding:36px 28px;border-radius:28px;transform:none}
  .review-checklist h3{font-size:28px;margin-bottom:20px;white-space:normal;word-break:keep-all}
  .review-checklist li{font-size:20px;gap:16px;padding:20px 0;white-space:normal;word-break:keep-all}
  .review-checklist li+li{border-top-width:1px}
  .review-checklist li span{width:30px;height:30px;border-radius:8px;font-size:17px}
  .hospital-capabilities .hospital-heading{gap:20px}
  .capability-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px;max-width:720px}
  .capability-image{width:100%;height:auto;aspect-ratio:310/380;border-radius:32px}
  .capability-grid h3{font-size:24px;line-height:1.3;margin-top:20px;white-space:normal;word-break:keep-all}
  .capability-grid p{font-size:16px;margin-top:12px;white-space:normal;word-break:keep-all}
  .capability-grid p br{display:none}
  .hospital-contact .description br{display:none}
}
@media(max-width:480px){
  .hospital-hero{padding:76px 24px}
  .hospital-hero-copy p{font-size:18px}
  .hospital-intro,.hospital-why,.hospital-capabilities,.hospital-split-copy{padding:64px 24px}
  .intro-title-line img{width:72px;height:28px}
  .intro-question{font-size:19px}
  .intro-answer h3{font-size:22px}
  .why-card{padding:28px 18px}
  .why-card h3{font-size:23px}
  .why-quotes p{font-size:14px;padding:12px}
  .why-answer{font-size:18px}
  .hospital-blue-panel{padding:40px 24px}
  .task-grid{grid-template-columns:1fr;max-width:380px}
  .task-card{padding:24px 20px;min-height:148px;grid-template-columns:24px 1fr;column-gap:12px}
  .task-card h3{font-size:24px}
  .task-description{font-size:16px}
  .review-checklist{padding:28px 20px;border-radius:24px}
  .review-checklist h3{font-size:23px}
  .review-checklist li{font-size:16px;gap:12px;padding:18px 0}
  .review-checklist li span{width:26px;height:26px;font-size:15px}
  .capability-grid{grid-template-columns:1fr;max-width:360px;gap:40px}
  .capability-grid h3{font-size:26px}
  .capability-grid p{font-size:18px}
}

/* Reuse the landing reveal controller; preserve each block's layout transform. */
@media(prefers-reduced-motion:no-preference){
  .hospital-page .reveal-up.is-pending{translate:0 32px}
  .hospital-page :is(.intro-grid,.why-grid,.task-grid,.capability-grid)>.reveal{transition-duration:.7s;transition-timing-function:ease,cubic-bezier(.22,1,.36,1)}
  .hospital-page :is(.intro-grid,.why-grid,.task-grid,.capability-grid)>.reveal:nth-child(2){transition-delay:.18s}
  .hospital-page :is(.intro-grid,.why-grid,.task-grid,.capability-grid)>.reveal:nth-child(3){transition-delay:.36s}
  .hospital-page :is(.task-grid,.capability-grid)>.reveal:nth-child(4){transition-delay:.54s}
  .hospital-page .capability-grid>.reveal:nth-child(5){transition-delay:.72s}
}
