:root{--teal:#087e80;--deep:#075b62;--ink:#17333c;--muted:#5c7178;--soft:#eff8f7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,"Malgun Gothic","Apple SD Gothic Neo",sans-serif;color:var(--ink);line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{width:min(1160px,calc(100% - 40px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:20;background:white;padding:10px}.header{background:white;box-shadow:0 2px 15px #102b3212;position:relative;z-index:3}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:23px;line-height:1.1}.brand small{display:block;font-size:9px;letter-spacing:1.4px;color:var(--teal);margin-top:7px}.brand-mark{display:grid;place-items:center;background:var(--teal);color:white;width:42px;height:42px;border-radius:12px}.header nav{display:flex;gap:25px;font-size:15px;font-weight:700}.header nav a:hover,article a:hover{color:var(--teal)}.menu-toggle{display:none;border:1px solid #cbdedd;border-radius:8px;padding:8px 12px;background:white}.hero{background:linear-gradient(115deg,#075d65e8,#087e80c9),linear-gradient(45deg,#d7eeeb,#fff);color:white}.hero-content{padding:105px 0 120px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2.5px;color:#0c9b9c}.hero .eyebrow{color:#c2f2ec}.hero h1{font-size:clamp(34px,4.8vw,60px);line-height:1.25;letter-spacing:-2px;margin:15px 0 18px}.hero p:not(.eyebrow){font-size:18px;max-width:580px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{display:inline-block;padding:13px 23px;border-radius:8px;font-weight:700}.primary{background:var(--teal);color:white}.hero .primary{background:white;color:var(--deep)}.secondary{border:1px solid #ffffff99;color:white}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:-48px;position:relative}.quick a{background:white;border:1px solid #e2eeee;border-radius:13px;box-shadow:0 12px 30px #123a3e16;padding:23px}.quick strong,.quick span{display:block}.quick span{font-size:13px;color:var(--teal);margin-top:7px}.section{padding:95px 0}.section-heading{text-align:center;margin-bottom:35px}.section h2,.notice h2{font-size:34px;letter-spacing:-1px;margin:7px 0}.section-heading>p:last-child,.cards p,.notice p{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.cards article{border:1px solid #e1eceb;border-radius:15px;padding:34px;min-height:230px}.card-icon{font-size:30px;color:var(--teal)}.cards h3{font-size:22px;margin:12px 0 8px}.cards a{color:var(--teal);font-weight:700}.notice{background:var(--soft);padding:55px 0}.notice-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}footer{background:#15383e;color:white;padding:35px 0}footer p{color:#c6d6d8;font-size:13px}@media(max-width:900px){.menu-toggle{display:block}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:16px 20px;box-shadow:0 10px 15px #0001;flex-direction:column;gap:0}.header nav.open{display:flex}.header nav a{padding:12px;border-bottom:1px solid #eaf1f1}.quick{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:1fr}.hero-content{padding:75px 0 100px}}@media(max-width:540px){.wrap{width:min(100% - 30px,1160px)}.brand{font-size:19px}.brand-mark{width:36px;height:36px}.hero-content{padding:60px 0 90px}.hero p:not(.eyebrow){font-size:16px}.quick{gap:9px;margin-top:-30px}.quick a{padding:15px}.section{padding:65px 0}.section h2,.notice h2{font-size:27px}.notice-inner{display:block}.notice .button{margin-top:15px}}
/* Existing hospital banner photo; copy main.jpg into redesign-preview/images locally. */
.hero{position:relative;isolation:isolate;overflow:hidden;background:#087e80}
.hero-photo{position:absolute;inset:0;z-index:-2;background-image:url("./images/main.jpg");background-position:center;background-size:cover;background-repeat:no-repeat}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,62,69,.93) 0%,rgba(5,88,95,.83) 48%,rgba(5,88,95,.52) 100%)}
.hero-content{position:relative}
@media(max-width:540px){.hero-photo{background-position:28% center}.hero::before{background:linear-gradient(90deg,rgba(5,62,69,.92),rgba(5,88,95,.72))}}

/* 2nd aerial photograph: maintain the hospital in view on wide and narrow screens. */
.hero-photo{background-image:url("./images/hospital-main-web.jpg");background-position:center 46%;background-size:cover}
.hero::before{background:linear-gradient(90deg,rgba(3,43,53,.89) 0%,rgba(4,64,71,.76) 37%,rgba(4,64,71,.18) 78%,rgba(4,64,71,.08) 100%)}
.hero-content{padding:115px 0 130px;min-height:475px}
.hero-content h1{max-width:790px;text-shadow:0 2px 12px rgba(0,0,0,.25)}
@media(max-width:900px){.hero-photo{background-position:52% center}.hero::before{background:linear-gradient(90deg,rgba(3,43,53,.85),rgba(4,64,71,.42))}.hero-content{min-height:430px;padding:85px 0 110px}}
@media(max-width:540px){.hero-photo{background-position:49% center}.hero::before{background:linear-gradient(180deg,rgba(3,43,53,.78),rgba(4,64,71,.56))}.hero-content{min-height:510px;padding:72px 0 120px}.hero h1{font-size:clamp(29px,8vw,40px);letter-spacing:-1.5px}}

/* Refinement: keep the hospital facade visible, reduce headline dominance. */
@media(min-width:901px){.hero-content{min-height:475px;padding:112px 0 130px}.hero h1{font-size:clamp(34px,3.15vw,48px);max-width:650px;line-height:1.3;letter-spacing:-1.6px}.hero p:not(.eyebrow){max-width:560px;font-size:17px}.hero-photo{background-position:center 49%}.hero::before{background:linear-gradient(90deg,rgba(3,43,53,.88) 0%,rgba(4,64,71,.73) 30%,rgba(4,64,71,.16) 66%,rgba(4,64,71,.04) 100%)}}
@media(min-width:541px) and (max-width:900px){.hero h1{font-size:clamp(32px,4.5vw,43px);max-width:590px}}
@media(max-width:540px){.hero h1{font-size:clamp(28px,7vw,36px);line-height:1.32}.hero-content{min-height:490px}.hero-photo{background-position:51% center}}

/* Legacy PHP navigation-based department and clinic listings */
.departments{padding-top:35px}.department-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.department-grid a,.clinic-grid a{display:flex;align-items:center;min-height:74px;padding:17px 18px;background:#fff;border:1px solid #dceae8;border-radius:12px;font-weight:700;transition:border-color .15s,transform .15s}.department-grid a:hover,.clinic-grid a:hover{border-color:var(--teal);transform:translateY(-2px)}.department-more{text-align:center;margin-top:24px;color:var(--teal);font-weight:700}.clinic-strip{background:var(--soft);padding:75px 0}.clinic-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}@media(max-width:900px){.department-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.clinic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.department-grid,.clinic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.department-grid a,.clinic-grid a{font-size:14px;min-height:66px;padding:12px}.clinic-strip{padding:55px 0}}


/* Main-page responsive polish — 2026-10-23. Scoped to homepage sections. */
.hero .actions .button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s}
.hero .actions .button:hover{transform:translateY(-2px);box-shadow:0 8px 22px #002e3640}
.quick a{transition:transform .2s,box-shadow .2s,border-color .2s}
.quick a:hover{transform:translateY(-3px);border-color:#8dcac6;box-shadow:0 16px 34px #123a3e20}
.quick strong{font-size:18px;letter-spacing:-.4px}
.section-heading{max-width:780px;margin-left:auto;margin-right:auto}
.section-heading>p:last-child{line-height:1.75}
.cards article{display:flex;flex-direction:column;box-shadow:0 5px 22px #123a3e09;transition:transform .2s,box-shadow .2s}
.cards article:hover{transform:translateY(-3px);box-shadow:0 12px 28px #123a3e17}
.cards article a{margin-top:auto;padding-top:15px}
.department-grid a,.clinic-grid a{overflow-wrap:anywhere;line-height:1.45}
.hero a:focus-visible,.quick a:focus-visible,.cards a:focus-visible,.department-grid a:focus-visible,.clinic-grid a:focus-visible{outline:3px solid #f4c84a;outline-offset:3px}
@media(max-width:900px){
 .quick strong{font-size:17px}
 .section{padding-top:70px;padding-bottom:70px}
 .cards article{min-height:unset;padding:26px}
}
@media(max-width:540px){
 .hero-content{min-height:460px;padding:62px 0 102px}
 .hero h1{font-size:clamp(27px,7vw,35px);letter-spacing:-1.1px;overflow-wrap:keep-all}
 .hero p:not(.eyebrow){font-size:15px;line-height:1.7}
 .hero .actions{gap:10px;margin-top:24px}
 .hero .actions .button{padding:12px 15px;font-size:14px}
 .quick{margin-top:-26px}
 .quick a{min-height:96px;padding:16px 13px}
 .quick strong{font-size:16px}
 .quick span{font-size:12px;line-height:1.4}
 .section{padding-top:56px;padding-bottom:56px}
 .section-heading{margin-bottom:26px}
 .section-heading>p:last-child{font-size:14px}
 .cards{gap:13px}
 .cards article{padding:23px}
 .cards h3{font-size:20px}
 .departments{padding-top:20px}
 .department-grid a,.clinic-grid a{min-height:72px;font-size:13px;padding:12px 10px}
 .notice{padding:42px 0}
}
@media(max-width:360px){
 .hero .actions{flex-direction:column;align-items:stretch}
 .hero .actions .button{width:100%}
 .brand{font-size:17px}
 .brand small{font-size:8px;letter-spacing:.8px}
 .quick{grid-template-columns:1fr 1fr}
 .quick a{padding:12px 9px}
 .department-grid,.clinic-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
 .hero .actions .button,.quick a,.cards article,.department-grid a,.clinic-grid a{transition:none}
}


/* Step 3: consistent header and mobile navigation across preview pages. */
.header-inner{flex-wrap:nowrap}
.header .brand{flex-shrink:0}
.header nav{align-items:center;gap:clamp(10px,1.55vw,25px)}
.header nav a{white-space:nowrap}
.header nav a:focus-visible,.header .brand:focus-visible,.menu-toggle:focus-visible{outline:3px solid #087e80;outline-offset:4px;border-radius:4px}
@media(max-width:1100px) and (min-width:901px){
 .header-inner{gap:12px}
 .header .brand{font-size:20px;gap:9px}
 .header nav{font-size:13px;gap:12px}
}
@media(max-width:900px){
 .header-inner{min-height:72px}
 .header nav{align-items:stretch;gap:0;max-height:calc(100dvh - 72px);overflow-y:auto}
 .header nav a{display:flex;align-items:center;min-height:48px;white-space:normal}
 .menu-toggle{min-height:44px;min-width:70px;cursor:pointer}
}
@media(max-width:540px){
 .header-inner{min-height:68px;gap:8px}
 .header .brand{font-size:18px;gap:8px;min-width:0}
 .header .brand-mark{flex-shrink:0}
 .header .brand small{letter-spacing:.8px}
 .header nav{max-height:calc(100dvh - 68px)}
}

/* Step 23: clear keyboard focus and current-page indication across the site. */
.header nav a[aria-current="page"]{color:var(--deep);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #087e80;outline-offset:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* Step 36: final cross-page visual and usability polish. */
/* Consistent, comfortable document rendering without changing medical content. */
html{scroll-padding-top:24px}
body{overflow-wrap:break-word;-webkit-text-size-adjust:100%}
img{max-width:100%}
main{min-width:0}
main :is(h1,h2,h3){text-wrap:pretty}
:where(.section,.about-main,.doctor-main,.check-main,.news-main) :is(p,li){overflow-wrap:break-word}
:where(.cards article,.news-card,.staff-card,.doctor-profile,.about-feature){min-width:0}
:where(a,button){-webkit-tap-highlight-color:transparent}
a[href^="tel:"]{white-space:normal}
:where(.about-extra,.staff-group,.check-section,.clinic-section,[id^="clinic-"]){scroll-margin-top:26px}
@media(hover:hover){
 :where(.about-links a,.check-links a,.news-card a,.check-back,.about-return):hover{ text-decoration:underline;text-underline-offset:3px }
}
@media(max-width:600px){
 main :is(h1,h2,h3){overflow-wrap:keep-all;word-break:normal}
 :where(.news-card,.doctor-profile,.about-feature){border-radius:12px}
}
@media print{
 @page{size:auto;margin:14mm}
 html{scroll-behavior:auto!important}
 body{background:#fff!important;color:#111!important;font-size:11pt;line-height:1.5;overflow:visible!important}
 .header,footer,.menu-toggle,.skip,.quick,.actions,.about-links,.check-links,.about-return,.check-back,.doctor-back,.department-more{display:none!important}
 .wrap{width:100%!important;max-width:none!important;margin:0!important}
 main,main>*,.section,.about-main,.doctor-main,.check-main,.news-main{background:#fff!important;color:#111!important;box-shadow:none!important}
 .hero,.about-hero,.guide-hero,.clinic-hero,.check-hero,.news-hero{padding:12mm 0 6mm!important;min-height:0!important;background:#fff!important;color:#111!important}
 .hero::before,.hero-photo{display:none!important}
 .hero-content{padding:0!important;min-height:0!important}
 .hero :is(h1,p),.about-hero :is(h1,p),.news-hero :is(h1,p){color:#111!important;text-shadow:none!important}
 .section,.about-main,.doctor-main,.check-main,.news-main,.clinic-strip,.notice{padding:7mm 0!important}
 .quick,.cards,.department-grid,.clinic-grid,.news-grid,.staff-grid,.legacy-doctors{display:block!important}
 .cards article,.news-card,.doctor-profile,.staff-card,.about-feature,.check-section{box-shadow:none!important;border:1px solid #aaa!important;margin:0 0 5mm!important;break-inside:avoid;page-break-inside:avoid}
 .cards article{min-height:0!important}
 a{color:#111!important;text-decoration:none!important}
 img{max-width:100%!important;height:auto!important;break-inside:avoid}
 h1,h2,h3{break-after:avoid;page-break-after:avoid}
 .department-grid a,.clinic-grid a{display:inline-block!important;min-height:0!important;padding:2mm!important;margin:1mm!important;border:1px solid #bbb!important}
}
