﻿/* 늘봄내과의원 — 페이지별 스타일 */
.h2{font-size:clamp(1.75rem,3.6vw,2.6rem);font-weight:800}
.h3{font-size:clamp(1.3rem,2.2vw,1.6rem);font-weight:800}
.h4{font-size:1.25rem;font-weight:800;margin-bottom:.8rem}
.center{text-align:center}
.nopad{padding:0!important;overflow:hidden}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.chips li{font-size:.875rem;font-weight:600;padding:.25rem .7rem;border-radius:999px;background:var(--bg);border:1px solid var(--line);color:var(--navy)}
.chips.big li{font-size:1rem;padding:.45rem .95rem;background:#fff}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.tbl-wrap:focus-visible{outline-offset:2px}

/* ========== INDEX: HERO ========== */
.hero{padding:clamp(2.5rem,5vw,4.5rem) 0 clamp(5rem,8vw,7rem);background:radial-gradient(60rem 30rem at 85% 10%,var(--sky-l),transparent 60%),linear-gradient(180deg,#fff, #f7fafd);overflow:hidden}
.ecg{position:absolute;left:0;right:0;bottom:-1rem;width:100%;height:10rem;pointer-events:none}
.ecg path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.ecg .base{stroke:#e3ebf3;stroke-width:2}
.ecg .trace{stroke:#9fdbe3;stroke-width:3}
.ecg circle{fill:var(--teal);filter:drop-shadow(0 0 8px rgba(15,143,156,.8))}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;position:relative}
.hero h1{font-size:clamp(2.4rem,5.6vw,4.1rem);font-weight:800;letter-spacing:-.045em;line-height:1.18;margin:1.1rem 0 0}
.hero h1 .ln{display:inline-block}
.hero h1 .accent{color:var(--teal-d);position:relative}
.hero h1 .accent::after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.22em;background:var(--sky);opacity:.28;border-radius:4px;z-index:-1}
.hero .lead{margin-top:1.3rem;font-size:clamp(1.0625rem,1.6vw,1.22rem);color:var(--muted);max-width:34rem}
.hero .cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
.hero-facts{list-style:none;padding:0;margin:2.2rem 0 0;display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;font-size:.95rem;color:var(--muted)}
.hero-facts li{display:flex;align-items:center;gap:.4rem}
.hero-facts li::before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--teal)}
.hero-facts b{color:var(--navy)}
.hero-side{position:relative;padding-left:clamp(0rem,3vw,3rem)}
.hphoto{aspect-ratio:4/5;max-height:38rem;border-radius:2rem 2rem 2rem 6rem;box-shadow:var(--sh-l)}
.hphoto img{transform:scale(1.08)}
.live{position:absolute;left:-1rem;bottom:-3rem;width:min(25rem,92%);padding:1.4rem 1.4rem 1.1rem;border-radius:1.4rem;box-shadow:var(--sh-l);border-color:#e3eaf2}
.live-top{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap}
.live-date{font-size:.9rem;color:var(--muted);font-weight:600}
.live .pill{font-size:1.05rem}
.live-sub{margin-top:.65rem;font-weight:700;color:var(--navy);font-size:1.02rem;min-height:1.7em}
.daybar-wrap{margin-top:2.1rem}
.daybar{position:relative;height:.9rem;border-radius:999px;background:#e9eff5}
.daybar .seg{position:absolute;top:0;bottom:0;display:block}
.daybar .seg.open{background:linear-gradient(90deg,#5fcfd9,var(--teal));border-radius:999px}
.daybar .seg.lunch{background:repeating-linear-gradient(45deg,#f6c27a 0 4px,#fbe2bf 4px 8px)}
.daybar .seg.rc{width:2px;top:-.3rem;bottom:-.3rem;background:var(--navy);opacity:.5}
.daybar .now{position:absolute;top:50%;width:1.15rem;height:1.15rem;margin:-.575rem 0 0 -.575rem;border-radius:50%;background:#fff;border:4px solid var(--navy);box-shadow:0 2px 6px rgba(12,36,64,.3)}
.daybar .now span{position:absolute;bottom:150%;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;font-size:.72rem;padding:.1rem .4rem;border-radius:.35rem;font-family:var(--num);font-weight:700}
.daybar-scale{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted);margin-top:.35rem;padding:0 0 0 calc(4/13*100% - 1.6rem)}
.daybar-scale{padding:0;position:relative;height:1.1rem}
.daybar-scale span{position:absolute;transform:translateX(-50%)}
.daybar-scale span:nth-child(1){left:0;transform:none}
.daybar-scale span:nth-child(2){left:30.77%}
.daybar-scale span:nth-child(3){left:61.54%}
.daybar-scale span:nth-child(4){left:92.31%}
.live-rows{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:1rem 0 0;padding:.9rem 0 0;border-top:1px dashed var(--line)}
.live-rows div{min-width:0}
.live-rows dt{font-size:.8rem;color:var(--muted);font-weight:600}
.live-rows dd{margin:0;font-weight:800;color:var(--navy);font-size:1rem}
.tt{margin-top:.9rem;font-size:.875rem}
.tt summary{cursor:pointer;color:var(--teal-d);font-weight:700;list-style:none;display:inline-flex;align-items:center;gap:.35rem}
.tt summary::-webkit-details-marker{display:none}
.tt summary::before{content:"▸";transition:transform .2s}
.tt[open] summary::before{transform:rotate(90deg)}
.tt-body{display:grid;gap:.6rem;margin-top:.7rem;padding:.8rem;background:var(--bg);border-radius:.8rem}
.tt-body .input{min-height:2.6rem;padding:.4rem .7rem;font-size:.95rem}
.tt-body input[type=range]{width:100%;accent-color:var(--teal-d)}
.tt-foot{display:flex;justify-content:space-between;align-items:center}
.tt-foot output{font-family:var(--num);font-weight:800;color:var(--navy)}
.tt-foot button{border:1px solid var(--line);background:#fff;border-radius:.5rem;padding:.3rem .7rem;cursor:pointer;font-weight:600}

/* quick */
.quick{margin-top:-2.5rem;position:relative;z-index:2}
.quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;max-width:calc(100% - 0rem)}
.qcard{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.9rem;align-items:center;padding:1.2rem 1.25rem;background:#fff;border:1px solid var(--line);border-radius:1.1rem;text-decoration:none;box-shadow:var(--sh);transition:transform .25s,box-shadow .25s,border-color .25s}
.qcard .ico{grid-row:1/3}
.qcard b{font-size:1.1rem;color:var(--navy);line-height:1.3}
.qcard small{color:var(--muted);font-size:.875rem}
.qcard:hover{transform:translateY(-4px);box-shadow:var(--sh-l);border-color:var(--teal)}
.qcard:hover .ico{background:var(--teal-d);color:#fff}
.qcard .ico{transition:background .25s,color .25s}

/* dept */
.dept-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
.dept{display:flex;flex-direction:column;gap:.8rem;padding:1.6rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);text-decoration:none;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}
.dept::before{content:"";position:absolute;left:0;top:0;right:0;height:4px;background:linear-gradient(90deg,var(--teal),var(--sky));transform:scaleX(0);transform-origin:left;transition:transform .4s}
.dept:hover{transform:translateY(-4px);box-shadow:var(--sh-l);border-color:#c3e6ea}
.dept:hover::before{transform:scaleX(1)}
.dept h3{font-size:1.35rem;font-weight:800}
.dept p{color:var(--muted);font-size:1rem;flex:1}
.dept .more{font-weight:700;color:var(--teal-d);font-size:.95rem}

/* checkband */
.ck-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.ck-lead{margin-top:1rem;color:var(--muted)}
.nhis{margin-top:1.6rem}
.nhis label{font-weight:700;color:var(--navy)}
.nhis-row{display:flex;gap:.6rem;margin-top:.5rem}
.nhis-row .input{flex:1;min-width:0;font-size:1.2rem}
.nhis-res{margin-top:.9rem;font-size:.95rem;color:var(--muted);padding:.8rem 1rem;border-radius:.8rem;background:var(--bg)}
.nhis-res.yes{background:var(--open-l);color:#064e37}
.nhis-res.no{background:var(--sky-l);color:#0b4b6b}
.nhis-res.bad{background:#fdecea;color:var(--warn)}
.pk-list{display:grid;gap:1rem}
.pk{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.3rem 1.5rem;display:grid;grid-template-columns:1fr auto;grid-template-areas:"tag price" "h price" "p price";column-gap:1.2rem;row-gap:.3rem;align-items:center}
.pk .tag{grid-area:tag;justify-self:start}
.pk h3{grid-area:h;font-size:1.25rem}
.pk>p:not(.price){grid-area:p;color:var(--muted);font-size:.95rem}
.pk .price{grid-area:price;text-align:right;display:flex;flex-direction:column}
.pk .price b{font-size:1.2rem;color:var(--navy);white-space:nowrap}
.pk .price small{font-size:.8rem;color:var(--muted)}
.pk-go{justify-self:start}

/* promise */
.promise{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;counter-reset:p}
.promise li{padding:1.8rem 1.5rem;border-radius:var(--r);background:linear-gradient(180deg,var(--bg),#fff);border:1px solid var(--line2)}
.promise .num{display:inline-grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;font-size:.95rem}
.promise h3{font-size:1.25rem;margin:1rem 0 .5rem}
.promise p{color:var(--muted);font-size:1rem}

/* info */
.info-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem}
.info-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}
.more-link{font-weight:700;color:var(--teal-d);text-decoration:none}
.more-link:hover{text-decoration:underline}
.nlist{list-style:none;margin:0;padding:0}
.nlist a{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;padding:1rem .2rem;border-bottom:1px solid var(--line2);text-decoration:none}
.nlist li:last-child a{border-bottom:0}
.nlist b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.nlist a:hover b{color:var(--teal-d);text-decoration:underline}
.nlist time{color:var(--muted);font-size:.875rem}

/* ========== ABOUT ========== */
.greet{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.greet-photo{aspect-ratio:3/4;border-radius:2rem 2rem 6rem 2rem;box-shadow:var(--sh-l)}
.greet-txt h2{font-size:clamp(1.5rem,2.8vw,2.1rem);line-height:1.45;margin-bottom:1.4rem}
.greet-txt>p:not(.kicker){color:#33465c;margin-top:.9rem;font-size:1.0625rem}
.sign{margin-top:1.6rem!important;color:var(--navy)!important;font-size:1.1rem}
.sign small{color:var(--muted);font-size:.85rem}
.doc{display:grid;grid-template-columns:10rem minmax(0,1fr);gap:1.5rem;align-items:start}
.doc .photo{aspect-ratio:3/4;border-radius:1rem}
.doc h3{font-size:1.5rem;margin:.5rem 0 .2rem}
.doc-role{color:var(--teal-d);font-weight:700;margin-bottom:1rem}
.doc .ticks{font-size:.98rem;color:#33465c}
.eq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.eq{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;column-gap:1rem;row-gap:.3rem;padding:1.4rem;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.eq .ico{grid-row:1/3}
.eq h3{font-size:1.15rem;align-self:center}
.eq p{color:var(--muted);font-size:.975rem}
.tour-box{display:grid;grid-template-columns:minmax(0,1fr) 16rem;gap:1.5rem;align-items:stretch}
.tour-view{aspect-ratio:3/2;box-shadow:var(--sh-l)}
.tour-view img{transition:opacity .22s,transform .6s}
.tour-view.swap img{opacity:0;transform:scale(1.03)}
.tour-view figcaption{position:absolute;left:1rem;bottom:1rem;right:1rem;background:rgba(12,36,64,.82);color:#fff;padding:.7rem 1rem;border-radius:.8rem;font-weight:600;font-size:.98rem;backdrop-filter:blur(6px);width:fit-content;max-width:calc(100% - 2rem)}
.tour-tabs{display:flex;flex-direction:column;gap:.5rem}
.tour-tabs button{display:flex;align-items:center;gap:.8rem;text-align:left;padding:1rem 1.1rem;border-radius:1rem;border:1px solid var(--line);background:#fff;cursor:pointer;font-weight:700;font-size:1.05rem;color:var(--navy);transition:background .2s,border-color .2s,color .2s}
.tour-tabs button .num{font-size:.85rem;color:var(--teal-d)}
.tour-tabs button:hover{border-color:var(--teal)}
.tour-tabs button[aria-selected="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.tour-tabs button[aria-selected="true"] .num{color:#7fd3dd}

/* ========== MEDICAL ========== */
.subnav-wrap{position:sticky;top:4.5rem;z-index:40;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line2)}
.subnav{display:flex;gap:.4rem;overflow-x:auto;padding:.7rem 0;scrollbar-width:none}
.subnav::-webkit-scrollbar{display:none}
.subnav a{flex:none;text-decoration:none;font-weight:700;padding:.55rem 1.1rem;border-radius:999px;border:1px solid var(--line);color:var(--muted);transition:all .2s;white-space:nowrap}
.subnav a:hover{color:var(--navy);border-color:var(--navy)}
.subnav a.on{background:var(--navy);border-color:var(--navy);color:#fff}
.med{scroll-margin-top:8rem}
.med-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.med-grid.rev .med-photo{order:-1}
.med-lead{margin-top:1rem;color:#33465c;font-size:1.0625rem}
.sym{margin-top:1.6rem}
.sym h3{font-size:1.1rem;margin-bottom:.7rem}
.med-photo{aspect-ratio:3/2;box-shadow:var(--sh-l)}
.flow{list-style:none;padding:0;margin:clamp(2rem,4vw,3rem) 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;counter-reset:f}
.flow li{counter-increment:f;padding:1.2rem 1.2rem 1.2rem 3.6rem;border-radius:1rem;background:var(--bg);position:relative;display:flex;flex-direction:column}
.flow li::before{content:counter(f);position:absolute;left:1.1rem;top:1.2rem;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--teal-d);color:#fff;font-family:var(--num);font-weight:800;font-size:.9rem;display:grid;place-items:center}
.flow b{color:var(--navy);font-size:1.08rem}
.flow span{color:var(--muted);font-size:.95rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}
.mini h3{font-size:1.15rem;margin-bottom:.7rem}
.mini .ticks{font-size:.96rem}
.callout{margin-top:1.2rem;padding:1rem 1.2rem;border-left:4px solid var(--lunch);background:var(--lunch-l);border-radius:0 .8rem .8rem 0;color:#5c2c04}
.callout a{color:var(--teal-d);font-weight:700;white-space:nowrap}
.chronic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
.cc{padding:1.5rem;border-radius:var(--r);border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;gap:.6rem}
.cc h3{font-size:1.3rem}
.cc p{color:var(--muted);font-size:.98rem;flex:1}
.cc dl{margin:.4rem 0 0;display:grid;gap:.4rem}
.cc dl div{display:flex;justify-content:space-between;gap:.5rem;padding:.5rem .7rem;background:var(--bg);border-radius:.6rem;font-size:.92rem}
.cc dt{color:var(--muted)}.cc dd{margin:0;font-weight:800;color:var(--navy);white-space:nowrap}
.care-note{margin-top:1.5rem}
.care-note h3{font-size:1.15rem;margin-bottom:.8rem}
.ticks.cols{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem}
.vtable{width:100%;min-width:44rem;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.vtable th,.vtable td{padding:1rem 1.1rem;text-align:left;border-bottom:1px solid var(--line2);vertical-align:top}
.vtable thead th{background:var(--navy);color:#fff;font-size:.95rem}
.vtable tbody th{color:var(--navy);font-weight:800;white-space:nowrap}
.vtable tbody tr:last-child>*{border-bottom:0}
.vtable small{color:var(--muted)}
.vtable .tag{margin-bottom:.3rem}

/* ========== CHECKUP ========== */
.jump{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;position:relative}
.jump a{text-decoration:none;font-weight:700;padding:.55rem 1rem;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--navy);font-size:.95rem}
.jump a:hover{border-color:var(--teal);color:var(--teal-d)}
.legend{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin-bottom:1rem;font-size:.92rem;color:var(--muted)}
.legend span{display:flex;align-items:center;gap:.4rem}
.m{font-style:normal;font-weight:900;display:inline-grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;font-size:.95rem;line-height:1}
.m.y{background:var(--teal-l);color:var(--teal-d)}
.m.o{background:var(--sky-l);color:#0b5f86}
.m.n{background:var(--closed-l);color:#8592a3}
.cmp-wrap{border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:var(--sh)}
.cmp{width:100%;min-width:46rem;border-collapse:separate;border-spacing:0}
.cmp th,.cmp td{padding:.9rem 1rem;border-bottom:1px solid var(--line2);text-align:center;vertical-align:middle}
.cmp td small{display:block;font-size:.8rem;color:var(--muted);margin-top:.15rem}
.cmp thead th{vertical-align:bottom;padding-top:1.4rem;background:#fff;position:sticky;top:0}
.cmp thead th b{display:block;font-size:1.25rem;color:var(--navy);margin-top:.35rem}
.cmp thead th small{display:block;font-weight:500;color:var(--muted);font-size:.85rem}
.cmp thead th:first-child{text-align:left;font-size:.9rem;color:var(--muted)}
.cmp tbody th,.cmp tfoot th{text-align:left;font-weight:700;color:var(--ink);position:sticky;left:0;background:#fff;z-index:1;min-width:13rem}
.cmp .hl{background:#f2fbfc}
.cmp thead th.hl{background:var(--teal-l);border-radius:1rem 1rem 0 0}
.cmp tfoot th,.cmp tfoot td{border-bottom:0;padding:1.2rem 1rem;background:var(--bg)}
.cmp tfoot td b{display:block;font-size:1.15rem;color:var(--navy)}
.cmp tfoot td.hl{background:var(--teal-l)}
.cmp tfoot small{color:var(--muted);font-size:.8rem}
.prep-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.prep-side{position:sticky;top:7rem}
.prep-lead{margin-top:.9rem;color:var(--muted)}
.prep-ring{position:relative;width:9rem;height:9rem;margin:1.8rem 0 .8rem}
.prep-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.prep-ring circle{fill:none;stroke-width:10}
.prep-ring .bgc{stroke:#dde6ef}
.prep-ring .fgc{stroke:var(--teal);stroke-linecap:round;transition:stroke-dashoffset .6s cubic-bezier(.2,.8,.2,1),stroke .3s}
.prep-ring.done .fgc{stroke:var(--open)}
.prep-ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:1.8rem;color:var(--navy)}
.prep-msg{font-weight:700;color:var(--navy);margin-bottom:1rem;min-height:1.7em}
.prep-list{border:0;margin:0;padding:0;display:grid;gap:.7rem;min-width:0}
.chk{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem 1.2rem;background:#fff;border:1.5px solid var(--line);border-radius:1rem;cursor:pointer;transition:border-color .2s,background .2s,transform .2s;position:relative}
.chk:hover{border-color:var(--teal)}
.chk input{position:absolute;opacity:0;width:1px;height:1px}
.chk .box{flex:none;width:1.7rem;height:1.7rem;border-radius:.5rem;border:2px solid #b9c7d6;background:#fff;display:grid;place-items:center;transition:all .2s;margin-top:.05rem}
.chk .box::after{content:"";width:.5rem;height:.9rem;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg) scale(0);margin-top:-.2rem;transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.chk input:checked+.box{background:var(--teal-d);border-color:var(--teal-d)}
.chk input:checked+.box::after{transform:rotate(45deg) scale(1)}
.chk input:focus-visible+.box{outline:3px solid var(--sky);outline-offset:2px}
.chk b{display:block;color:var(--navy);font-size:1.06rem}
.chk small{display:block;color:var(--muted);font-size:.92rem;margin-top:.1rem}
.chk:has(input:checked){background:#f4fbfb;border-color:#9ed6dc}
.chk:has(input:checked) b{text-decoration:line-through;text-decoration-color:rgba(10,107,118,.5);color:var(--teal-d)}
.chk.sm{padding:.8rem 1rem}

/* 타임라인 */
.tl-grid{display:grid;grid-template-columns:16rem minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.tl-sticky{position:sticky;top:8rem}
.dday-card{background:var(--navy);color:#fff;border-radius:1.6rem;padding:1.8rem 1.6rem;box-shadow:var(--sh-l);transition:background .5s}
.dday-card[data-k="3"]{background:#123f63}
.dday-card[data-k="1"]{background:#0d5266}
.dday-card[data-k="0"]{background:var(--teal-d)}
.dday-card[data-k="after"]{background:var(--open)}
.dday-card small{color:#a9c6dc;font-weight:600}
.dday-card b{display:block;font-size:clamp(2.4rem,4vw,3.2rem);font-weight:800;line-height:1.15;margin:.3rem 0 .6rem;letter-spacing:-.02em}
.dday-card svg{width:100%;color:#7fd3dd}
.tl{position:relative;padding-left:3rem}
.tl-list{list-style:none;margin:0;padding:0;display:grid;gap:1.4rem}
.tl-line{position:absolute;left:.95rem;top:.6rem;bottom:.6rem;width:4px;border-radius:4px;background:#e3eaf2}
.tl-fill{position:absolute;inset:0;border-radius:4px;background:linear-gradient(180deg,var(--sky),var(--teal));transform-origin:top;transform:scaleY(0)}
.tl-step{position:relative;padding:1.4rem 1.5rem;border-radius:var(--r);border:1px solid var(--line);background:#fff;opacity:.45;transform:translateX(12px);transition:opacity .5s,transform .5s,box-shadow .5s,border-color .5s}
.tl-step.on{opacity:1;transform:none;box-shadow:var(--sh);border-color:#bfe2e6}
.tl-dot{position:absolute;left:-2.55rem;top:1.6rem;width:1.3rem;height:1.3rem;border-radius:50%;background:#fff;border:4px solid #cdd9e5;transition:border-color .4s,transform .4s}
.tl-step.on .tl-dot{border-color:var(--teal);transform:scale(1.15)}
.tl-when{font-size:.95rem;color:var(--muted);font-weight:600}
.tl-when b{display:inline-block;background:var(--navy);color:#fff;padding:.1rem .55rem;border-radius:.4rem;margin-right:.4rem;font-size:.85rem}
.tl-step h3{font-size:1.3rem;margin:.5rem 0 .8rem}
.tl-step .ticks{font-size:1rem}
.food{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.food>div{padding:.9rem 1rem;border-radius:.8rem;background:var(--bg)}
.food b{display:block;margin-bottom:.3rem}
.food .ok{color:var(--open)}
.food .no{color:var(--warn)}
.food p{font-size:.96rem;color:#33465c}

/* ========== RESERVATION ========== */
.res-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}
.rform{display:grid;gap:1.4rem;padding:clamp(1.4rem,4vw,2.4rem)}
.rform>.note{margin-top:-1rem}
.types{border:0;padding:0;margin:0}
.types legend{padding:0;margin-bottom:.6rem}
.type-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}
.tcard{position:relative;cursor:pointer}
.tcard input{position:absolute;opacity:0;width:1px;height:1px}
.tcard>span{display:flex;flex-direction:column;gap:.1rem;padding:1rem;border:1.5px solid var(--line);border-radius:1rem;height:100%;transition:all .2s}
.tcard b{color:var(--navy);font-size:1.08rem}
.tcard small{color:var(--muted);font-size:.86rem;line-height:1.4}
.tcard:hover>span{border-color:var(--teal)}
.tcard input:checked+span{border-color:var(--teal-d);background:var(--teal-l);box-shadow:inset 0 0 0 1px var(--teal-d)}
.tcard input:checked+span b{color:var(--teal-d)}
.tcard input:focus-visible+span{outline:3px solid var(--sky);outline-offset:2px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.6rem,1fr));gap:.45rem}
.slot{min-height:2.8rem;border:1.5px solid var(--line);background:#fff;border-radius:.6rem;font-family:var(--num);font-weight:700;cursor:pointer;font-size:.95rem;transition:all .15s;padding:0}
.slot:hover:not(:disabled){border-color:var(--teal)}
.slot[aria-pressed="true"]{background:var(--teal-d);border-color:var(--teal-d);color:#fff}
.slot:disabled{background:var(--bg);color:#a3afbd;text-decoration:line-through;cursor:not-allowed}
.slot-hint{grid-column:1/-1;font-size:.92rem;color:var(--muted);padding:.7rem .9rem;background:var(--bg);border-radius:.6rem}
.slot-hint.warn{background:#fdecea;color:var(--warn);font-weight:600}
.agree details{margin:.5rem 0 0 .2rem;font-size:.9rem;color:var(--muted)}
.agree summary{cursor:pointer;font-weight:600}
.agree details p{margin-top:.4rem;padding:.8rem;background:var(--bg);border-radius:.6rem}
.submit{width:100%;min-height:3.6rem;font-size:1.15rem}
.done{display:flex;gap:1rem;align-items:flex-start;padding:1.2rem;border-radius:1rem;background:var(--open-l);color:#064e37}
.done[hidden]{display:none}
.done svg{width:2.6rem;height:2.6rem;flex:none}
.res-side{display:grid;gap:1rem;position:sticky;top:6.5rem}
.side-sub{margin-top:.6rem;font-weight:600;color:var(--navy)}
.side-tel{margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--line);display:flex;flex-direction:column}
.side-tel small{color:var(--muted)}
.side-tel a{font-size:1.8rem;font-weight:800;color:var(--navy);text-decoration:none;line-height:1.3}
.res-side .ticks{font-size:.98rem}
.side-link{display:flex;justify-content:space-between;align-items:center;gap:1rem;text-decoration:none;background:var(--navy);border-color:var(--navy);color:#cfe0ef;flex-wrap:wrap}
.side-link b{color:#fff;font-size:1.1rem}
.side-link:hover{background:var(--navy2)}

/* ========== NOTICE ========== */
.ntools{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.filters{display:flex;flex-wrap:wrap;gap:.4rem}
.filters button{min-height:2.8rem;padding:.4rem 1.1rem;border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:700;cursor:pointer;color:var(--muted)}
.filters button:hover{border-color:var(--navy);color:var(--navy)}
.filters button[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.nsearch{width:min(100%,18rem)}
.nsearch .input{min-height:2.8rem;padding:.5rem 1rem;border-radius:999px}
.plist{list-style:none;margin:.8rem 0 0;padding:0;border-top:2px solid var(--navy)}
.post a{display:grid;grid-template-columns:auto auto 1fr auto;gap:.9rem;align-items:center;padding:1.2rem .6rem;border-bottom:1px solid var(--line2);text-decoration:none;transition:background .2s}
.post:not(.pinned) a{grid-template-columns:auto 1fr auto}
.post a:hover{background:var(--bg)}
.post a:hover b{color:var(--teal-d);text-decoration:underline}
.post.pinned a{background:#f8fbfd}
.post b{font-weight:600;font-size:1.06rem;min-width:0}
.pin{color:var(--warn);display:grid;place-items:center}
.pin svg{width:1.2rem;height:1.2rem}
.pmeta{color:var(--muted);font-size:.9rem}
.empty{padding:3rem 1rem;text-align:center;color:var(--muted)}
.pager{display:flex;justify-content:center;gap:.4rem;margin-top:2rem}
.pager a{width:2.8rem;height:2.8rem;display:grid;place-items:center;border-radius:.7rem;border:1px solid var(--line);text-decoration:none;font-family:var(--num);font-weight:700}
.pager a[aria-current]{background:var(--navy);color:#fff;border-color:var(--navy)}

/* NOTICE VIEW */
.view-title{margin-top:.7rem;font-size:clamp(1.6rem,3.6vw,2.4rem)!important}
.vmeta{display:flex;gap:1rem;color:var(--muted);margin-top:.8rem;font-size:.95rem}
.view{max-width:52rem}
.vbody{display:grid;gap:1.1rem;font-size:1.08rem}
.vbody .h4{margin:1rem 0 0}
.offbox{display:flex;gap:1.4rem;align-items:center;padding:1.4rem;border-radius:var(--r);border:1px solid #f3c9c4;background:#fff8f7;flex-wrap:wrap}
.offday{width:6.5rem;flex:none;text-align:center;border-radius:1rem;background:#fff;border:1px solid #f3c9c4;padding:.7rem .4rem;display:flex;flex-direction:column}
.offday small{color:var(--muted);font-weight:700}
.offday b{font-size:2.6rem;line-height:1.1;color:var(--warn)}
.offday span{font-weight:700;color:var(--navy)}
.offbox dl{margin:0;display:grid;gap:.5rem;flex:1;min-width:14rem}
.offbox dl div{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.offbox dt{width:5.5rem;color:var(--muted);font-weight:600}
.offbox dd{margin:0;font-weight:700;color:var(--navy)}
.cal{width:100%;min-width:22rem;border-collapse:separate;border-spacing:.3rem;table-layout:fixed}
.cal th{font-size:.9rem;color:var(--muted);padding:.4rem}
.cal td{height:3.6rem;vertical-align:top;padding:.45rem .55rem;background:var(--bg);border-radius:.6rem;font-weight:700;color:var(--navy);font-size:1rem}
.cal td:empty{background:none}
.cal .sun{color:var(--warn)}
.cal th.sat,.cal td.sat{color:#1c5fb0}
.cal td.half{background:#fdecea;box-shadow:inset 0 0 0 2px var(--warn);color:var(--warn)}
.cal td small{display:block;font-size:.7rem;font-family:'Pretendard Variable',Pretendard,sans-serif;font-weight:700;line-height:1.3;margin-top:.15rem}
.vnav{margin-top:3rem;border-top:2px solid var(--navy)}
.vnav a{display:grid;grid-template-columns:5rem 1fr;gap:1rem;padding:1rem .4rem;border-bottom:1px solid var(--line2);text-decoration:none}
.vnav small{color:var(--muted);font-weight:700}
.vnav a:hover span{color:var(--teal-d);text-decoration:underline}
.view>.center{margin-top:2rem}

/* ========== LOCATION ========== */
.hours-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}
.hours-head{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.hours-sub{margin:.7rem 0 1.4rem;font-weight:700;color:var(--navy);min-height:1.7em}
.hours.big{font-size:1.1rem}
.hours.big tbody tr:last-child>*{border-bottom:0}
.hours.big tbody th{padding-left:1.4rem}
.hours.big thead th:first-child{padding-left:1.4rem}
.kv{margin:0;display:grid;gap:.1rem}
.kv div{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line2);flex-wrap:wrap}
.kv dt{font-weight:700;color:var(--navy)}
.kv dd{margin:0;color:var(--muted)}
.map-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:1.5rem;align-items:start}
.map{margin:0}
.map svg{display:block;width:100%;height:auto}
.route path{animation:dash 1.4s linear infinite}
@keyframes dash{to{stroke-dashoffset:-36}}
.map-cap{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;font-size:.88rem;color:var(--muted);flex-wrap:wrap}
.map-cap span{display:flex;gap:.5rem;flex-wrap:wrap}
.map-cap .btn{min-height:2.6rem;padding:.4rem .9rem;font-size:.92rem}
.ways{display:grid;gap:1rem}
.way{display:flex;gap:1rem;align-items:flex-start;padding:1.2rem 1.3rem}
.way h3{font-size:1.15rem;margin-bottom:.2rem}
.way p{color:#33465c;font-size:.98rem}

/* ========== RESPONSIVE ========== */
@media (max-width:1180px){
  .dept-grid,.promise,.chronic{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .doc{grid-template-columns:7.5rem minmax(0,1fr)}
}
@media (max-width:1040px){
  .hero-grid{grid-template-columns:minmax(0,1fr)}
  .hero-side{padding-left:0;max-width:40rem}
  .hphoto{aspect-ratio:16/11;border-radius:1.6rem}
  .live{position:relative;left:auto;bottom:auto;width:auto;margin:-4rem 1rem 0}
  .quick{margin-top:0}
  .hero{padding-bottom:3rem}
  .ck-grid,.prep-grid,.greet,.med-grid,.res-grid,.hours-grid,.map-grid,.info-grid{grid-template-columns:minmax(0,1fr)}
  .med-grid.rev .med-photo{order:0}
  .greet-photo{max-width:26rem;aspect-ratio:4/5}
  .prep-side,.res-side{position:static}
  .prep-side{display:grid;grid-template-columns:auto 1fr;column-gap:1.5rem;align-items:center}
  .prep-side>.kicker,.prep-side>h2,.prep-side>.prep-lead{grid-column:1/-1}
  .prep-ring{grid-row:span 2;width:7.5rem;height:7.5rem;margin:1.2rem 0}
  .prep-side .btn{justify-self:start}
  .tour-box{grid-template-columns:minmax(0,1fr)}
  .tour-tabs{flex-direction:row;overflow-x:auto;padding-bottom:.3rem;scrollbar-width:thin}
  .tour-tabs button{flex:none;padding:.7rem 1rem}
  .flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .eq-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tl-grid{grid-template-columns:minmax(0,1fr)}
  .tl-sticky{top:auto;position:sticky;top:5rem;z-index:3}
  .dday-card{display:flex;align-items:center;gap:1rem;padding:.8rem 1.2rem;border-radius:1rem}
  .dday-card b{font-size:1.8rem;margin:0}
  .dday-card svg{width:6rem;margin-left:auto}
  .subnav-wrap{top:4.5rem}
}
@media (max-width:760px){
  .hero h1{font-size:clamp(2.1rem,9vw,2.8rem)}
  .ecg{display:none}
  .pc{display:none}
  .hero .cta .btn{flex:1 1 auto}
  .live{margin:-2.5rem .5rem 0;padding:1.2rem 1.1rem 1rem}
  .two,.food,.frow{grid-template-columns:minmax(0,1fr)}
  .ticks.cols{grid-template-columns:1fr}
  .doc{grid-template-columns:7rem minmax(0,1fr);gap:1rem}
  .doc h3{font-size:1.3rem}
  .pk{grid-template-columns:1fr;grid-template-areas:"tag" "h" "p" "price"}
  .pk .price{text-align:left;flex-direction:row;align-items:baseline;gap:.5rem;margin-top:.4rem;flex-wrap:wrap}
  .pk-go{width:100%}
  .nlist a{grid-template-columns:auto 1fr;row-gap:.2rem}
  .nlist time{grid-column:2}
  .post a,.post:not(.pinned) a{grid-template-columns:auto 1fr;row-gap:.3rem;padding:1rem .3rem}
  .post.pinned a{grid-template-columns:auto auto 1fr}
  .post .pmeta{grid-column:2/-1}
  .post.pinned .pmeta{grid-column:3}
  .post.pinned b{grid-column:1/-1}
  .post b{grid-column:1/-1;order:0}
  .nsearch{width:100%}
  .subnav-wrap{top:4rem}
  .tl-sticky{top:4.2rem}
  .tl{padding-left:2.3rem}
  .tl-line{left:.6rem}
  .tl-dot{left:-2.05rem}
  .tl-step{padding:1.2rem}
  .vnav a{grid-template-columns:1fr;gap:.1rem}
  .offbox{padding:1.1rem}
}
@media (max-width:480px){
  .quick-grid{grid-template-columns:1fr 1fr;gap:.6rem}
  .qcard{grid-template-columns:1fr;grid-template-rows:auto;padding:1rem;row-gap:.5rem}
  .qcard .ico{grid-row:auto;width:2.7rem;height:2.7rem}
  .qcard b{font-size:1rem}
  .qcard small{font-size:.8rem}
  .dept-grid,.promise,.chronic,.eq-grid,.flow{grid-template-columns:minmax(0,1fr)}
  .type-grid{grid-template-columns:1fr 1fr}
  .live-rows dd{font-size:.92rem}
  .doc{grid-template-columns:minmax(0,1fr)}
  .doc .photo{max-width:9rem}
  .nhis-row{flex-direction:column}
  .prep-side{display:block}
  .prep-ring{width:7rem;height:7rem}
}
@media (prefers-reduced-motion:reduce){
  .tl-step{opacity:1;transform:none}
  .route path{animation:none}
}
