
:root{--ink:#17191b;--muted:#666a6e;--line:#dedfdf;--soft:#f5f5f3;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",sans-serif;color:var(--ink);background:#fff;line-height:1.72;letter-spacing:-.018em}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}figure{margin:0}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid #ececec}.nav{height:74px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{font-size:23px;font-weight:900;letter-spacing:-.04em}.brand span{font-size:11px;letter-spacing:.12em;margin-left:6px;color:#666}.menu{display:flex;gap:30px;font-size:12px;font-weight:800;color:#5c6064}.nav-cta{padding:10px 16px;border:1px solid #1c1e20;font-size:13px;font-weight:850}.eyebrow{margin:0 0 18px;font-size:11px;letter-spacing:.18em;font-weight:900;color:#5d6165}.hero{padding:88px 0 96px;border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:72px;align-items:end}.hero-copy{padding-bottom:14px}.hero h1{margin:0;font-size:clamp(48px,5.15vw,70px);line-height:1.08;letter-spacing:-.058em;font-weight:900}.hero-desc{margin:28px 0 0;max-width:650px;font-size:17px;color:var(--muted)}.hero-meta{display:grid;grid-template-columns:repeat(3,1fr);margin-top:38px;border-top:1px solid #cfcfcf;border-bottom:1px solid #cfcfcf}.hero-meta div{padding:17px 18px 16px 0}.hero-meta div+div{padding-left:18px;border-left:1px solid #dedede}.hero-meta strong{display:block;font-size:15px}.hero-meta span{display:block;margin-top:4px;font-size:12px;color:#777}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:28px}.btn.dark{display:inline-flex;align-items:center;height:48px;padding:0 21px;background:#1c1e20;color:#fff;font-weight:850}.text-link{font-size:13px;font-weight:800;border-bottom:1px solid #777;padding-bottom:2px}.hero-visual{position:relative}.hero-visual img{width:100%;aspect-ratio:4/3;object-fit:cover}.hero-visual figcaption{position:absolute;left:0;bottom:-29px;font-size:10px;letter-spacing:.15em;color:#777}.statement{padding:90px 0;border-bottom:1px solid var(--line)}.statement-grid{display:grid;grid-template-columns:.32fr .9fr .78fr;gap:48px;align-items:start}.statement-grid>p{margin:6px 0 0;font-size:10px;letter-spacing:.16em;font-weight:900;color:#777}.statement h2,.document-head h2,.editorial h2,.evidence h2,.support h2,.gourmet h2,.contact h2{margin:0;font-size:clamp(36px,4.25vw,58px);line-height:1.12;letter-spacing:-.052em}.statement-copy p{margin:0 0 18px;color:var(--muted);font-size:16px}.document-section{padding:110px 0 0}.document-section.second{padding-top:120px;border-top:1px solid var(--line)}.document-head{display:grid;grid-template-columns:1fr .72fr;gap:70px;align-items:end;margin-bottom:42px}.document-head>p{margin:0;color:var(--muted);font-size:16px;max-width:520px}.document-frame{width:100%;background:#f1f1ef;border-top:1px solid #e2e2e0;border-bottom:1px solid #e2e2e0;padding:42px 0}.document-frame img{width:min(1120px,calc(100% - 48px));height:auto;margin:auto}.editorial{padding:118px 0;border-bottom:1px solid var(--line)}.editorial.reverse{background:#fafafa}.editorial-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:74px;align-items:center}.editorial.reverse .editorial-grid{grid-template-columns:1.12fr .88fr}.editorial-copy>p:not(.eyebrow):not(.note){margin:24px 0 0;color:var(--muted);font-size:16px}.editorial-image img{width:100%;height:auto;object-fit:contain}.facts{margin:34px 0 0;border-top:1px solid #d8d8d8}.facts>div{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid #e2e2e2}.facts dt{font-size:11px;font-weight:900;color:#777}.facts dd{margin:0}.facts strong{display:block;font-size:17px}.facts span{display:block;margin-top:3px;font-size:13px;color:#7a7d80}.department-line{display:flex;flex-wrap:wrap;margin-top:30px;border-top:1px solid #dadada;border-left:1px solid #dadada}.department-line span{padding:10px 13px;border-right:1px solid #dadada;border-bottom:1px solid #dadada;font-size:12px;font-weight:800;background:#fff}.note{font-size:11px!important;color:#8a8d90!important;margin-top:14px!important}.evidence{padding:110px 0;background:#f6f6f4;border-top:1px solid #e3e3e0;border-bottom:1px solid #e3e3e0}.evidence-head{max-width:820px;margin-bottom:44px}.evidence-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cfcfcd;border-left:1px solid #cfcfcd}.evidence-grid article{padding:28px 24px;background:#fff;border-right:1px solid #cfcfcd;border-bottom:1px solid #cfcfcd}.evidence-grid b{display:block;font-size:31px;letter-spacing:-.04em}.evidence-grid span{display:block;margin-top:6px;font-size:13px;color:#707478}.support{padding:110px 0;border-bottom:1px solid var(--line)}.support-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:78px;align-items:start}.support-list{border-top:1px solid #cfcfcf}.support-list>div{display:grid;grid-template-columns:46px 180px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid #dedede}.support-list span{font-size:11px;font-weight:900;color:#777}.support-list strong{font-size:16px}.support-list p{margin:0;color:var(--muted);font-size:14px}.support-layout>.note{grid-column:2}.gourmet{padding:90px 0;background:#fafafa}.gourmet-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.gourmet p:not(.eyebrow){color:var(--muted);max-width:540px}.gourmet figure img{width:100%;aspect-ratio:16/9;object-fit:cover}.contact{padding:92px 0;background:#1e2022;color:#fff}.contact-grid{display:grid;grid-template-columns:1fr .78fr;gap:78px;align-items:center}.contact .light{color:#c4c7c9}.contact p{color:#c5c8ca}.phone{display:inline-block;margin-top:18px;font-size:28px;font-weight:900}.contact-form{background:#fff;color:#1c1e20;padding:26px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact-form input,.contact-form select{width:100%;height:50px;border:1px solid #ddd;padding:0 13px;font:inherit;background:#fff;margin-bottom:10px}.contact-form button{width:100%;height:50px;border:0;background:#1f2123;color:#fff;font:inherit;font-weight:900}.contact-form p{font-size:11px;color:#888;margin:10px 0 0}.footer{padding:32px 0;background:#141617;color:#bbb;font-size:12px}.footer-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.fixed-bar{display:none}@media(max-width:980px){.menu{display:none}.hero-grid,.statement-grid,.document-head,.editorial-grid,.editorial.reverse .editorial-grid,.support-layout,.gourmet-grid,.contact-grid{grid-template-columns:1fr}.hero-visual{margin-top:12px}.statement-grid{gap:26px}.document-head{gap:26px}.support-layout>.note{grid-column:auto}.evidence-grid{grid-template-columns:1fr 1fr}.fixed-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:80}.fixed-bar a{padding:15px 10px;text-align:center;font-weight:900;background:#fff;border-top:1px solid #ddd}.fixed-bar a:last-child{background:#1f2123;color:#fff;border-top-color:#1f2123}.footer{padding-bottom:82px}}@media(max-width:640px){.wrap{width:min(var(--max),calc(100% - 28px))}.nav{height:66px}.brand{font-size:19px}.brand span{display:none}.nav-cta{font-size:11px;padding:8px 11px}.hero{padding:64px 0 72px}.hero h1{font-size:42px}.hero-desc{font-size:15px}.hero-meta{grid-template-columns:1fr}.hero-meta div+div{padding-left:0;border-left:0;border-top:1px solid #dedede}.statement,.editorial,.evidence,.support,.gourmet,.contact{padding:72px 0}.document-section{padding-top:76px}.document-section.second{padding-top:76px}.document-frame{padding:20px 0}.document-frame img{width:calc(100% - 20px)}.evidence-grid{grid-template-columns:1fr}.support-list>div{grid-template-columns:34px 1fr;gap:10px}.support-list p{grid-column:2}.form-row{grid-template-columns:1fr}.hero-visual figcaption{bottom:-24px}}

/* v5 refinement: brochure-derived green footer + balanced typography */
:root{
  --medical-green:#164b3b;
  --medical-green-dark:#103c30;
  --medical-green-soft:#e9f0ec;
}

/* Keep section headings visually consistent and prevent awkward 3-line breaks */
.statement h2,
.document-head h2,
.editorial h2,
.evidence h2,
.support h2,
.gourmet h2,
.contact h2{
  font-size:clamp(34px,3.45vw,52px);
  line-height:1.15;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.statement h2{max-width:650px}
.document-head h2{max-width:650px}
.editorial h2{max-width:610px}
.evidence h2{max-width:760px}
.support h2{max-width:520px}
.gourmet h2{max-width:560px}

/* Balance hero lines without making the first line look oversized */
.hero h1{
  font-size:clamp(46px,4.55vw,64px);
  line-height:1.1;
  letter-spacing:-.052em;
  text-wrap:balance;
}
.hero-copy{min-width:0}
.hero-desc{max-width:620px;line-height:1.78}

/* Core-document intro rows */
.document-head{
  grid-template-columns:minmax(0,1fr) minmax(320px,.7fr);
  gap:64px;
  align-items:end;
}
.document-head>p{
  max-width:500px;
  line-height:1.75;
}

/* Lower inquiry area uses the green from the supplied medical brochure */
.contact{
  background:var(--medical-green);
  color:#fff;
  border-top:0;
}
.contact .eyebrow.light{color:#d7e4de}
.contact h2{color:#fff;max-width:610px}
.contact p{color:#d8e2de}
.contact .phone{color:#fff}
.contact-form{
  background:#fff;
  color:#1c1e20;
  border:1px solid rgba(255,255,255,.18);
}
.contact-form button{
  background:var(--medical-green-dark);
  color:#fff;
}
.contact-form input:focus,
.contact-form select:focus{
  outline:2px solid rgba(22,75,59,.16);
  border-color:#749486;
}
.footer{
  background:var(--medical-green-dark);
  color:#d5e0db;
  border-top:1px solid rgba(255,255,255,.1);
}
.footer strong{color:#fff}

/* Mobile bottom bar follows the same green system */
@media(max-width:980px){
  .fixed-bar a:last-child{
    background:var(--medical-green-dark);
    border-top-color:var(--medical-green-dark);
  }
}

@media(max-width:760px){
  .statement h2,
  .document-head h2,
  .editorial h2,
  .evidence h2,
  .support h2,
  .gourmet h2,
  .contact h2{
    font-size:34px;
    line-height:1.18;
  }
  .hero h1{font-size:40px;line-height:1.12}
  .document-head{grid-template-columns:1fr;gap:22px}
}


/* v6: fixed title line rhythm — never split Korean words mid-line on desktop */
.title-line{display:block;white-space:nowrap}
.hero-grid{grid-template-columns:1fr 1.02fr;gap:58px}
.hero h1{
  font-size:clamp(42px,3.75vw,52px);
  line-height:1.12;
  letter-spacing:-.05em;
  text-wrap:initial;
}
.statement h2,
.document-head h2,
.editorial h2,
.evidence h2,
.support h2,
.gourmet h2,
.contact h2{
  font-size:clamp(34px,3.15vw,46px);
  line-height:1.16;
  letter-spacing:-.045em;
  text-wrap:initial;
}
/* give long two-line headings enough horizontal room */
.statement-grid{grid-template-columns:.25fr 1.05fr .7fr;gap:42px}
.document-head{grid-template-columns:minmax(0,1.12fr) minmax(300px,.62fr);gap:54px}
.evidence-head{max-width:920px}
.contact-grid{grid-template-columns:1.08fr .72fr;gap:70px}

@media(max-width:980px){
  .title-line{white-space:normal}
  .hero h1{font-size:clamp(40px,7vw,52px)}
  .statement h2,.document-head h2,.editorial h2,.evidence h2,.support h2,.gourmet h2,.contact h2{font-size:clamp(34px,6vw,44px)}
}
@media(max-width:640px){
  .hero h1{font-size:38px;line-height:1.14}
  .statement h2,.document-head h2,.editorial h2,.evidence h2,.support h2,.gourmet h2,.contact h2{font-size:32px;line-height:1.2}
}


/* v7: real-site imagery, uncropped media and desktop floating inquiry */
.hero-visual img{
  width:100%;
  aspect-ratio:auto;
  height:auto;
  object-fit:contain;
  background:#f7f7f5;
}
.gourmet figure{
  background:#f5f5f2;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
}
.gourmet figure img{
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
}
.real-space{
  padding:110px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff;
}
.real-space-head{
  display:grid;
  grid-template-columns:1fr .7fr;
  gap:64px;
  align-items:end;
  margin-bottom:46px;
}
.real-space-head h2{
  margin:0;
  font-size:clamp(34px,3.15vw,46px);
  line-height:1.16;
  letter-spacing:-.045em;
}
.real-space-head>p{
  margin:0;
  max-width:520px;
  color:var(--muted);
  font-size:15px;
  line-height:1.75;
}
.real-space-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.real-space-grid figure{
  margin:0;
  background:#f5f5f3;
}
.real-space-grid figure.wide{grid-column:1/-1}
.real-space-grid img{
  width:100%;
  height:auto;
  object-fit:contain;
}
.real-space-grid figcaption{
  padding:11px 2px 0;
  font-size:10px;
  letter-spacing:.14em;
  color:#73777a;
  background:#fff;
}
.floating-actions{
  position:fixed;
  right:28px;
  bottom:38px;
  z-index:70;
  width:164px;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.12));
}
.floating-actions a{display:block}
.float-call{
  background:#fff;
  color:#33271f;
  border:1px solid #ded7cf;
  padding:16px 16px 15px;
  border-radius:16px;
  margin-bottom:8px;
}
.float-call small,.float-contact small{
  display:block;
  font-size:9px;
  letter-spacing:.14em;
  opacity:.62;
  margin-bottom:5px;
}
.float-call strong{
  display:block;
  font-size:15px;
  line-height:1.2;
}
.float-call span{
  display:block;
  margin-top:5px;
  font-size:9px;
  color:#777;
}
.float-contact{
  background:var(--medical-green-dark);
  color:#fff;
  padding:13px 16px;
  border-radius:14px;
}
.float-contact strong{display:block;font-size:15px}
@media(max-width:980px){
  .floating-actions{display:none}
  .real-space-head{grid-template-columns:1fr;gap:22px}
}
@media(max-width:700px){
  .real-space{padding:72px 0}
  .real-space-grid{grid-template-columns:1fr}
  .real-space-grid figure.wide{grid-column:auto}
  .real-space-head h2{font-size:32px;line-height:1.2}
}


/* v8: full-scale hero inspired by large property landing pages; no card treatment */
.hero-cover{
  position:relative;
  min-height:760px;
  padding:0;
  overflow:hidden;
  border-bottom:0;
  display:flex;
  align-items:center;
  color:#fff;
}
.hero-cover-media,.hero-cover-shade{position:absolute;inset:0}
.hero-cover-media img{
  width:100%;height:100%;object-fit:cover;object-position:center 52%;
  max-width:none;
}
.hero-cover-shade{
  background:linear-gradient(90deg,rgba(9,20,19,.66) 0%,rgba(9,20,19,.46) 43%,rgba(9,20,19,.18) 75%,rgba(9,20,19,.12) 100%);
}
.hero-cover-content{position:relative;z-index:2;padding-top:26px}
.hero-cover .eyebrow{color:rgba(255,255,255,.85);margin-bottom:20px}
.hero-cover h1{
  max-width:850px;margin:0;
  font-size:clamp(54px,6.2vw,88px);line-height:1.04;letter-spacing:-.06em;font-weight:900;
  word-break:keep-all;
}
.hero-cover-desc{max-width:650px;margin:26px 0 0;font-size:18px;line-height:1.75;color:rgba(255,255,255,.88)}
.hero-cover-meta{display:flex;flex-wrap:wrap;gap:0;margin-top:34px;border-top:1px solid rgba(255,255,255,.45);border-bottom:1px solid rgba(255,255,255,.45);width:max-content;max-width:100%}
.hero-cover-meta span{padding:13px 22px 12px 0;margin-right:22px;font-size:12px;font-weight:850;letter-spacing:.02em}
.hero-cover-meta span+span{border-left:1px solid rgba(255,255,255,.35);padding-left:22px}
.hero-btn{background:#fff!important;color:#18201f!important}
.hero-text-link{color:#fff;border-bottom:1px solid rgba(255,255,255,.75);font-size:13px;font-weight:800;padding-bottom:3px}
.hero-disclaimer{
  position:absolute;z-index:3;right:28px;bottom:18px;margin:0;
  font-size:11px;color:rgba(255,255,255,.82);text-shadow:0 1px 3px rgba(0,0,0,.35)
}
.image-disclaimer{grid-column:1/-1;margin:2px 0 0!important;font-size:11px!important;color:#8a8d90!important;line-height:1.55!important}
.real-space-head>p{max-width:520px}

@media(max-width:980px){
  .hero-cover{min-height:680px;align-items:flex-end}
  .hero-cover-content{padding-bottom:86px}
  .hero-cover h1{font-size:clamp(48px,8vw,68px)}
  .hero-disclaimer{left:24px;right:24px;bottom:18px}
}
@media(max-width:640px){
  .hero-cover{min-height:620px}
  .hero-cover-shade{background:linear-gradient(180deg,rgba(9,20,19,.28) 0%,rgba(9,20,19,.67) 58%,rgba(9,20,19,.8) 100%)}
  .hero-cover-content{padding-bottom:94px}
  .hero-cover h1{font-size:42px;line-height:1.08}
  .hero-cover-desc{font-size:15px}
  .hero-cover-meta{width:100%;display:grid;grid-template-columns:1fr}
  .hero-cover-meta span{margin:0;padding:10px 0}
  .hero-cover-meta span+span{border-left:0;border-top:1px solid rgba(255,255,255,.32);padding-left:0}
  .hero-disclaimer{font-size:10px}
}


/* 상담 팝업 */
button.nav-cta,
button.float-contact,
.fixed-bar button,
button.btn{
  font:inherit;
  cursor:pointer;
}
button.nav-cta{
  background:#fff;
}
.modal-open{overflow:hidden}
.modal-backdrop{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(12,20,17,.66);
  backdrop-filter:blur(4px);
}
.modal-backdrop.is-open{display:flex}
.modal-card{
  position:relative;
  width:min(560px,100%);
  max-height:calc(100vh - 48px);
  overflow:auto;
  background:#fff;
  color:#18201d;
  padding:34px;
  box-shadow:0 24px 80px rgba(0,0,0,.28);
}
.modal-close{
  position:absolute;
  top:14px;
  right:16px;
  width:38px;
  height:38px;
  border:0;
  background:transparent;
  font-size:28px;
  line-height:1;
  color:#24312c;
  cursor:pointer;
}
.modal-head span{
  display:block;
  margin-bottom:8px;
  color:#0f513f;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
}
.modal-head h3{
  margin:0;
  font-size:30px;
  line-height:1.2;
  letter-spacing:-.04em;
}
.modal-head p{
  margin:10px 0 0;
  color:#6b716e;
  font-size:14px;
}
.modal-phone-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:24px 0;
  padding:16px 18px;
  background:#0f513f;
  color:#fff;
}
.modal-phone-link span{font-size:13px}
.modal-phone-link strong{font-size:19px}
.avenue-modal-form{
  display:grid;
  gap:14px;
}
.modal-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.avenue-modal-form label b,
.time-field legend,
.interest-field b{
  display:block;
  margin-bottom:7px;
  font-size:13px;
}
.avenue-modal-form input[type="text"],
.avenue-modal-form input[type="tel"],
.avenue-modal-form select{
  width:100%;
  height:48px;
  border:1px solid #d7dbd8;
  background:#fff;
  padding:0 13px;
  font:inherit;
  color:#222;
}
.time-field{
  margin:0;
  padding:0;
  border:0;
}
.time-options{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:8px;
}
.time-options label{
  position:relative;
  cursor:pointer;
}
.time-options input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.time-options span{
  display:flex;
  min-height:42px;
  align-items:center;
  justify-content:center;
  border:1px solid #d8ddd9;
  font-size:12px;
}
.time-options input:checked + span{
  border-color:#0f513f;
  background:#eff6f3;
  color:#0f513f;
  font-weight:800;
}
.privacy-box{
  padding:15px 16px;
  background:#f6f8f7;
  border:1px solid #e1e5e2;
  font-size:11px;
  color:#68706c;
}
.privacy-box>b{
  display:block;
  margin-bottom:8px;
  font-size:12px;
  color:#27322e;
}
.privacy-box p{
  margin:3px 0;
}
.agree-row{
  display:flex!important;
  align-items:flex-start;
  gap:8px;
  margin-top:10px;
  color:#323b37;
}
.agree-row input{
  margin-top:3px;
}
.contact-submit{
  height:52px;
  border:0;
  background:#0f513f;
  color:#fff;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.contact-submit:disabled{
  opacity:.55;
  cursor:wait;
}
.form-helper{
  margin:0;
  text-align:center;
  font-size:11px;
  color:#848b87;
}
.float-contact{
  border:0;
  text-align:left;
}
.fixed-bar button{
  border:0;
  background:#fff;
  padding:15px 10px;
  text-align:center;
  font-weight:900;
}
@media(max-width:640px){
  .modal-backdrop{padding:12px}
  .modal-card{padding:28px 18px 20px}
  .modal-form-row{grid-template-columns:1fr}
  .time-options{grid-template-columns:1fr 1fr}
  .modal-head h3{font-size:25px}
  .modal-phone-link{align-items:flex-start;flex-direction:column;gap:3px}
}


/* v10 — reference-inspired hero treatment */
.premium-header{
  position:relative;
  top:auto;
  z-index:100;
  background:#fff;
  border-bottom:0;
}
.premium-nav{
  width:min(1120px,calc(100% - 72px));
  height:122px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:44px;
}
.premium-brand{
  display:flex;
  flex-direction:column;
  justify-content:center;
  line-height:1;
}
.brand-main{
  font-size:34px;
  font-weight:950;
  letter-spacing:-.055em;
  color:#111516;
}
.brand-sub{
  margin-top:8px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.28em;
  color:#0f513f;
}
.premium-menu{
  display:flex;
  align-items:center;
  gap:40px;
}
.premium-menu a,
.premium-menu button{
  border:0;
  background:transparent;
  color:#0d4950;
  font:inherit;
  font-size:16px;
  font-weight:900;
  letter-spacing:-.03em;
  cursor:pointer;
  white-space:nowrap;
}
.premium-menu a span{
  display:inline-block;
  margin-left:2px;
  font-size:12px;
  transform:translateY(-1px);
}
.reserve-link{
  padding:8px 0!important;
}

.hero-reference{
  position:relative;
  min-height:calc(100vh - 122px);
  height:820px;
  overflow:hidden;
  background:#203845;
}
.hero-reference-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 53%;
}
.hero-reference-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(10,35,50,.38),rgba(8,25,35,.44)),
    linear-gradient(90deg,rgba(6,30,42,.18),rgba(6,30,42,.08));
}
.hero-reference-copy{
  position:absolute;
  z-index:2;
  left:50%;
  top:52%;
  width:min(920px,calc(100% - 48px));
  transform:translate(-50%,-50%);
  color:#fff;
  text-align:center;
  text-shadow:0 3px 24px rgba(0,0,0,.26);
}
.hero-reference-kicker{
  margin:0 0 18px;
  font-size:22px;
  font-weight:900;
  letter-spacing:.02em;
}
.hero-reference-copy h1{
  margin:0;
  font-size:clamp(54px,6.3vw,86px);
  line-height:1.05;
  letter-spacing:-.062em;
  font-weight:900;
}
.hero-reference-copy h1 span,
.hero-reference-copy h1 strong{
  display:block;
}
.hero-reference-copy h1 span{
  font-size:.77em;
  margin-bottom:7px;
}
.hero-reference-copy h1 strong{
  color:#fff;
}
.hero-reference-sub{
  display:inline-block;
  margin:24px 0 0;
  padding:10px 18px;
  border:1px solid rgba(255,255,255,.58);
  background:rgba(8,41,39,.28);
  font-size:15px;
  font-weight:800;
  letter-spacing:.08em;
  backdrop-filter:blur(5px);
}
.hero-reference-disclaimer{
  position:absolute;
  z-index:2;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  width:calc(100% - 40px);
  margin:0;
  color:rgba(255,255,255,.82);
  text-align:center;
  font-size:11px;
}

/* Preserve the two quick-contact cards over the hero like the previous site */
.floating-actions{
  z-index:120;
}
.float-contact{
  background:#0f513f!important;
  color:#fff!important;
}

/* keep the next content clearly below the hero */
.statement{border-top:0}

@media(max-width:900px){
  .premium-nav{
    width:calc(100% - 34px);
    height:86px;
  }
  .brand-main{font-size:24px}
  .brand-sub{font-size:9px;margin-top:5px}
  .premium-menu{gap:20px}
  .premium-menu a,.premium-menu button{font-size:13px}
  .hero-reference{
    min-height:650px;
    height:calc(100vh - 86px);
  }
}
@media(max-width:680px){
  .premium-nav{height:74px}
  .premium-menu a:nth-child(-n+3){display:none}
  .premium-menu{gap:0}
  .reserve-link{
    border:1px solid #0d4950!important;
    padding:8px 12px!important;
  }
  .hero-reference{
    height:calc(100svh - 74px);
    min-height:610px;
  }
  .hero-reference-img{
    object-position:center center;
  }
  .hero-reference-kicker{font-size:14px}
  .hero-reference-copy h1{
    font-size:clamp(42px,12vw,60px);
  }
  .hero-reference-copy h1 span{font-size:.67em}
  .hero-reference-sub{font-size:12px}
  .floating-actions{display:none}
}


/* v11 — medical visual / route reinforcement */
.section-lead,
.route-head{
  display:grid;
  grid-template-columns:1fr .72fr;
  gap:70px;
  align-items:end;
  margin-bottom:42px;
}
.section-lead>p,
.route-head>p{
  margin:0;
  color:#656b68;
  font-size:15px;
}
.medical-visual-library,
.route-section,
.floor-materials,
.location-visual-section,
.support-visual{
  padding:110px 0;
  border-bottom:1px solid #e1e2e1;
}
.medical-visual-library{background:#fff}
.medical-visual-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr .85fr;
  gap:18px;
  align-items:stretch;
}
.visual-card{
  margin:0;
  border:1px solid #e2e4e2;
  background:#fff;
}
.visual-card img{
  width:100%;
  height:100%;
  max-height:520px;
  object-fit:contain;
  background:#f5f6f4;
}
.visual-card-main img{max-height:620px}
.visual-card figcaption,
.route-visuals figcaption,
.floor-material-grid figcaption,
.location-map-figure figcaption,
.support-visual figure figcaption{
  padding:12px 14px 14px;
  border-top:1px solid #e8e9e8;
  color:#777d79;
  font-size:11px;
}
.visual-card figcaption strong{
  display:block;
  color:#202623;
  font-size:13px;
  margin-bottom:2px;
}
.visual-card figcaption span{display:block}

.route-section{background:#f6f7f5}
.route-steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid #cfd4d1;
  border-left:1px solid #cfd4d1;
  margin-bottom:34px;
}
.route-steps>div{
  padding:22px 20px;
  background:#fff;
  border-right:1px solid #cfd4d1;
  border-bottom:1px solid #cfd4d1;
}
.route-steps span{
  display:block;
  font-size:10px;
  color:#0f513f;
  font-weight:900;
  letter-spacing:.12em;
  margin-bottom:8px;
}
.route-steps strong{
  display:block;
  font-size:17px;
}
.route-steps p{
  margin:5px 0 0;
  color:#767d79;
  font-size:12px;
}
.route-visuals{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:18px;
}
.route-visuals figure{margin:0;background:#fff;border:1px solid #e0e3e1}
.route-main img{
  width:100%;
  height:100%;
  min-height:620px;
  object-fit:contain;
  background:#fff;
}
.route-side{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:18px;
}
.route-side img{
  width:100%;
  height:315px;
  object-fit:cover;
}

.floor-materials{background:#fff}
.floor-material-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  align-items:start;
}
.floor-material-grid figure{
  margin:0;
  border:1px solid #e0e2e0;
  background:#fafafa;
}
.floor-material-grid img{
  width:100%;
  height:auto;
  object-fit:contain;
}

.location-visual-section{background:#f7f7f5}
.location-visual-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:68px;
  align-items:center;
}
.location-map-figure{
  margin:0;
  border:1px solid #e0e2df;
  background:#fff;
}
.location-map-figure img{
  width:100%;
  height:auto;
  object-fit:contain;
}
.location-copy>p:not(.eyebrow):not(.note){
  color:#666d69;
  font-size:15px;
}
.location-mini-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:30px;
  border-top:1px solid #d3d6d4;
  border-left:1px solid #d3d6d4;
}
.location-mini-stats>div{
  padding:18px 16px;
  background:#fff;
  border-right:1px solid #d3d6d4;
  border-bottom:1px solid #d3d6d4;
}
.location-mini-stats b{
  display:block;
  font-size:24px;
  letter-spacing:-.04em;
}
.location-mini-stats span{
  display:block;
  margin-top:4px;
  color:#757b77;
  font-size:11px;
}

.support-visual{background:#fff}
.support-visual-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:72px;
  align-items:center;
}
.support-visual-copy>p:not(.eyebrow):not(.note){
  color:#656c68;
  font-size:15px;
}
.support-visual figure{
  margin:0;
  border:1px solid #e1e2e1;
  background:#fafafa;
}
.support-visual figure img{
  width:100%;
  height:auto;
  object-fit:contain;
}

@media(max-width:980px){
  .section-lead,.route-head,
  .medical-visual-grid,.route-visuals,
  .floor-material-grid,.location-visual-grid,.support-visual-grid{
    grid-template-columns:1fr;
  }
  .route-steps{grid-template-columns:1fr 1fr}
  .route-main img{min-height:0}
  .route-side{grid-template-rows:auto}
  .route-side img{height:auto}
}
@media(max-width:640px){
  .medical-visual-library,
  .route-section,
  .floor-materials,
  .location-visual-section,
  .support-visual{padding:72px 0}
  .section-lead,.route-head{gap:22px;margin-bottom:26px}
  .route-steps{grid-template-columns:1fr}
  .location-mini-stats{grid-template-columns:1fr}
}


/* v12 route grouping adjustment */
.route-single-stack{
  display:grid;
  grid-template-columns:1fr;
  gap:28px;
}
.route-flow-block img{
  width:100%;
  height:auto;
  display:block;
  object-fit:contain;
  background:#fff;
}
.grouped-visual-block{
  margin:0;
  border:1px solid #e1e3e1;
  background:#fff;
}
.grouped-visual-images{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
}
.grouped-visual-images img{
  width:100%;
  height:420px;
  object-fit:cover;
  display:block;
  background:#f7f7f5;
}
.grouped-visual-images img + img{
  border-left:1px solid #e8ebea;
}
.grouped-visual-block figcaption{
  padding:14px 16px 16px;
  border-top:1px solid #e9ebea;
}
.grouped-visual-block figcaption strong{
  display:block;
  color:#1d2320;
  font-size:15px;
  margin-bottom:3px;
}
.grouped-visual-block figcaption span{
  display:block;
  color:#737975;
  font-size:12px;
}
@media(max-width:900px){
  .grouped-visual-images{
    grid-template-columns:1fr;
  }
  .grouped-visual-images img{
    height:auto;
  }
  .grouped-visual-images img + img{
    border-left:0;
    border-top:1px solid #e8ebea;
  }
}


/* v13 — remove side descriptive copy in medical visuals section */
.medical-visual-library .section-lead{
  grid-template-columns: 1fr;
  gap: 0;
  margin-bottom: 28px;
}
.medical-visual-library .section-lead > p{
  display:none;
}


/* v14 — medical visuals shown one-by-one */
.medical-visual-stack{
  display:grid;
  grid-template-columns:1fr;
  gap:44px;
}
.medical-visual-single{
  width:min(760px,100%);
  margin:0 auto;
  border:1px solid #e1e3e1;
  background:#fff;
}
.medical-visual-single img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  background:#f7f7f5;
}
.medical-visual-single figcaption{
  padding:14px 16px 16px;
  border-top:1px solid #e8eae8;
}
.medical-visual-single figcaption strong{
  display:block;
  margin-bottom:3px;
  color:#1d2320;
  font-size:15px;
}
.medical-visual-single figcaption span{
  display:block;
  color:#737975;
  font-size:12px;
}
@media(max-width:640px){
  .medical-visual-stack{gap:24px}
}


/* v15 — mobile cleanup */
@media (max-width: 900px){
  html, body{
    overflow-x:hidden;
  }

  .wrap{
    width:min(100% - 32px, 1240px);
  }

  /* Hero */
  .hero-reference{
    min-height:620px;
    height:calc(100svh - 74px);
  }
  .hero-reference-copy{
    width:calc(100% - 34px);
    top:50%;
  }
  .hero-reference-kicker{
    font-size:13px;
    letter-spacing:.08em;
    margin-bottom:16px;
  }
  .hero-reference-copy h1{
    font-size:clamp(38px, 10vw, 56px);
    line-height:1.08;
    letter-spacing:-.05em;
    word-break:keep-all;
    overflow-wrap:normal;
  }
  .hero-reference-copy h1 span,
  .hero-reference-copy h1 strong{
    display:block;
    word-break:keep-all;
  }
  .hero-reference-copy h1 span{
    font-size:.72em;
    margin-bottom:10px;
  }
  .hero-reference-sub{
    margin-top:22px;
    font-size:12px;
    padding:10px 14px;
  }
  .hero-reference-disclaimer{
    bottom:18px;
    width:calc(100% - 34px);
    font-size:10px;
    line-height:1.5;
  }

  /* Positioning section */
  .statement{
    padding:64px 0;
  }
  .statement-grid{
    display:block !important;
  }
  .statement-grid > p{
    margin:0 0 14px;
  }
  .statement h2{
    font-size:clamp(34px, 8.7vw, 48px);
    line-height:1.15;
    word-break:keep-all;
    overflow-wrap:normal;
  }
  .statement-copy{
    margin-top:24px;
  }
  .statement-copy p{
    font-size:15px;
    line-height:1.75;
    word-break:keep-all;
  }

  /* Section headings / copy */
  .section-lead,
  .route-head,
  .document-head,
  .editorial-grid,
  .location-visual-grid,
  .support-visual-grid,
  .gourmet-grid,
  .contact-grid{
    display:block !important;
  }
  .section-lead > p,
  .route-head > p,
  .document-head > p{
    margin-top:18px;
    font-size:14px;
    line-height:1.7;
    word-break:keep-all;
  }
  .section-lead h2,
  .route-head h2,
  .document-head h2,
  .editorial h2,
  .location-copy h2,
  .support-visual h2,
  .gourmet h2,
  .contact h2{
    font-size:clamp(30px, 7.6vw, 42px) !important;
    line-height:1.18 !important;
    word-break:keep-all;
    overflow-wrap:normal;
  }
  .title-line{
    display:block;
    word-break:keep-all;
  }

  /* Images */
  .medical-visual-single,
  .single-visual-block,
  .grouped-visual-block,
  .location-map-figure,
  .support-visual figure{
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .medical-visual-single img,
  .single-visual-block img,
  .location-map-figure img,
  .support-visual figure img{
    width:100%;
    height:auto !important;
    object-fit:contain !important;
  }

  /* Route steps */
  .route-steps{
    grid-template-columns:1fr 1fr !important;
  }
  .route-steps > div{
    min-height:118px;
  }

  /* Grouped real-space photos */
  .grouped-visual-images{
    grid-template-columns:1fr !important;
  }
  .grouped-visual-images img{
    height:auto !important;
    border-left:0 !important;
  }
  .grouped-visual-images img + img{
    border-top:1px solid #e8ebea;
  }

  /* Stats */
  .location-mini-stats,
  .evidence-grid{
    grid-template-columns:1fr !important;
  }

  /* Floating desktop contact hidden on mobile; bottom bar only */
  .floating-actions{
    display:none !important;
  }
  .fixed-bar{
    display:grid !important;
    grid-template-columns:1fr 1fr;
    position:fixed;
    left:0; right:0; bottom:0;
    z-index:9998;
  }
  .fixed-bar button,
  .fixed-bar a{
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:15px;
    font-weight:900;
  }
  .fixed-bar button{
    background:#fff;
    color:#2d79d7;
    border:0;
    border-top:1px solid #e0e0e0;
  }
  .fixed-bar a{
    background:#0f513f;
    color:#fff;
    border-top:1px solid #0f513f;
  }

  footer,
  .footer{
    padding-bottom:82px !important;
  }
}

@media (max-width: 560px){
  .premium-nav{
    width:calc(100% - 28px);
  }
  .brand-main{
    font-size:21px;
  }
  .hero-reference{
    min-height:580px;
  }
  .route-steps{
    grid-template-columns:1fr !important;
  }
  .medical-visual-library,
  .route-section,
  .location-visual-section,
  .support-visual,
  .document-section,
  .gourmet,
  .contact{
    padding-top:64px !important;
    padding-bottom:64px !important;
  }
  .modal-card{
    max-height:calc(100svh - 24px);
  }
}


/* v16 — simplify visuals and remove clutter */
.compact-visual-title{
  margin:0 0 26px;
  font-size:clamp(30px,4.1vw,46px);
  line-height:1.18;
  letter-spacing:-.045em;
}

.visual-collage-two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  align-items:start;
}

.visual-collage-card{
  margin:0;
  border:1px solid #e1e3e1;
  background:#fff;
}

.visual-collage-card img{
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:contain;
  background:#f7f7f5;
}

.visual-collage-card figcaption{
  padding:14px 16px 16px;
  border-top:1px solid #e8eae8;
}

.visual-collage-card figcaption strong{
  display:block;
  margin-bottom:3px;
  color:#1d2320;
  font-size:15px;
}

.visual-collage-card figcaption span{
  display:block;
  color:#737975;
  font-size:12px;
}

@media (max-width: 900px){
  .compact-visual-title{
    font-size:clamp(28px,7vw,38px);
    margin-bottom:22px;
  }
  .visual-collage-two{
    grid-template-columns:1fr;
    gap:18px;
  }
}

@media (max-width: 560px){
  .visual-collage-card img{
    aspect-ratio:auto;
    height:auto;
  }
}


/* v17 — mobile 상담신청 버튼 차콜 */
@media (max-width: 900px){
  .fixed-bar button{
    background:#2f3133 !important;
    color:#ffffff !important;
    border-top:1px solid #2f3133 !important;
  }
  .fixed-bar button:hover,
  .fixed-bar button:focus{
    background:#242628 !important;
  }
}


/* Added 2026-09-30: updated demand / living-zone / medical-flow visuals */
.context-visual-section{padding:110px 0;border-bottom:1px solid var(--line);background:#fff}
.context-visual-section.medical-flow-section{background:#f7f8f5}
.context-visual-head{display:grid;grid-template-columns:1fr .72fr;gap:70px;align-items:end;margin-bottom:42px}
.context-visual-head h2{margin:0;font-size:clamp(36px,4.25vw,58px);line-height:1.12;letter-spacing:-.052em}
.context-visual-head>p{margin:0;color:var(--muted);font-size:16px;max-width:540px}
.context-visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;align-items:start}
.context-visual-card{background:#fff;border:1px solid #dedfdd;padding:14px;box-shadow:0 16px 42px rgba(24,31,25,.06)}
.medical-flow-section .context-visual-card{background:#fff}
.context-visual-card img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;background:#f4f5f1}
.context-visual-card figcaption{display:flex;justify-content:space-between;gap:18px;padding:16px 4px 2px;border-top:1px solid #ececea;margin-top:14px}
.context-visual-card figcaption strong{font-size:13px;letter-spacing:.03em}
.context-visual-card figcaption span{font-size:12px;color:#777b7e;text-align:right}
@media(max-width:980px){.context-visual-head{grid-template-columns:1fr;gap:24px}.context-visual-grid{gap:22px}}
@media(max-width:640px){.context-visual-section{padding:72px 0}.context-visual-head h2{font-size:32px;line-height:1.2}.context-visual-grid{grid-template-columns:1fr}.context-visual-card{padding:10px}.context-visual-card figcaption{display:block}.context-visual-card figcaption span{display:block;text-align:left;margin-top:5px}}

/* v19: MEDICAL POSITIONING 설명문 제거 후 2열 정렬 */
.statement-grid{
  grid-template-columns:.25fr 1.75fr;
}
@media(max-width:980px){
  .statement-grid{
    grid-template-columns:1fr;
  }
}


/* v16 — 2026-10-02 client revision: concise medical landing copy */
.hero-reference-desc{
  margin:24px auto 0;
  max-width:680px;
  color:rgba(255,255,255,.94);
  font-size:16px;
  font-weight:650;
  line-height:1.7;
  text-shadow:0 2px 18px rgba(0,0,0,.24);
}
.hero-reference-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:20px;
  min-height:50px;
  padding:0 24px;
  border:1px solid rgba(255,255,255,.8);
  background:rgba(10,67,56,.82);
  color:#fff;
  font:inherit;
  font-size:14px;
  font-weight:900;
  letter-spacing:.03em;
  cursor:pointer;
  backdrop-filter:blur(6px);
}
.hero-reference-cta:hover{background:rgba(10,67,56,.96)}
.evidence-grid{grid-template-columns:repeat(3,1fr)}
.route-steps>div{display:flex;flex-direction:column;justify-content:center}
.medical-flex-copy{
  max-width:760px;
  margin:42px 0 0;
  padding-top:32px;
  border-top:1px solid #dfe2df;
}
.medical-flex-copy h3{
  margin:0;
  font-size:clamp(28px,3.3vw,44px);
  line-height:1.18;
  letter-spacing:-.045em;
}
.medical-flex-copy p{
  margin:18px 0 0;
  color:#656b68;
  font-size:15px;
}
@media(max-width:900px){
  .hero-reference-desc{font-size:14px;max-width:560px}
  .hero-reference-cta{min-height:48px;margin-top:18px}
  .medical-flex-copy{margin-top:30px;padding-top:26px}
  .medical-flex-copy h3{font-size:clamp(26px,7vw,36px)}
}


/* 2026-10-06: living area and medical visual updates */
.evidence-visual{margin:0;background:#fff;border:1px solid #d7dad8;box-shadow:0 16px 42px rgba(24,31,25,.06);overflow:hidden}
.evidence-visual img{width:100%;height:auto;object-fit:contain;background:#f4f5f1}
.single-visual-grid{grid-template-columns:minmax(0,1fr)}
.context-visual-card.full-span{grid-column:1/-1}


/* 2026-10-06: requested layout refinements */
.statement-grid{grid-template-columns:.22fr .98fr .8fr !important;align-items:center}
.statement-copy{max-width:100%}
.statement-visual{margin:0;border:1px solid #e1e3e1;background:#fff}
.statement-visual img{width:100%;height:auto;display:block;object-fit:contain;background:#f7f7f5}
.single-recommend-visual{max-width:640px}
.route-supplement-block{border:1px solid #e1e3e1;background:#fff}
.route-supplement-block img{width:100%;height:auto;display:block;object-fit:contain;background:#fff}
.medical-space-section{background:#fff}
.medical-space-head{margin-bottom:34px}
.medical-space-section .context-visual-card img{background:#f7f8f5}
@media(max-width:980px){
  .statement-grid{grid-template-columns:1fr !important;gap:24px}
  .single-recommend-visual{max-width:none}
}

/* 2026-10-06: center alignment for top medical positioning / recommended departments only */
.statement{
  padding:82px 0 88px;
}
.statement .statement-grid{
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px !important;
  text-align:center;
}
.statement .statement-grid > p{
  margin:0 0 2px;
}
.statement .statement-copy{
  width:100%;
  max-width:760px;
  margin:0 auto;
  text-align:center;
}
.statement .statement-copy h2{
  margin:0 auto;
  text-align:center;
}
.statement .statement-visual{
  width:min(460px,100%);
  margin:18px auto 0;
  border:1px solid #e1e3e1;
  background:#fff;
}
.statement .statement-visual img{
  width:100%;
  height:auto;
  margin:0 auto;
  object-fit:contain;
}

.medical-visual-library .wrap{
  text-align:center;
}
.medical-visual-library .eyebrow{
  text-align:center;
}
.medical-visual-library .compact-visual-title{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.medical-visual-library .single-recommend-visual{
  width:min(460px,100%);
  max-width:none;
  margin:0 auto;
}
.medical-visual-library .visual-collage-card{
  width:100%;
  margin:0 auto;
}
.medical-visual-library .visual-collage-card img{
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
}

@media(max-width:640px){
  .statement{padding:68px 0 72px}
  .statement .statement-visual,
  .medical-visual-library .single-recommend-visual{
    width:min(100%,420px);
  }
}


/* 2026-10-06: opening support follow-up cards */
.opening-info-section{
  padding:0 0 110px;
  background:#fff;
  border-bottom:1px solid #e1e2e1;
}
.opening-info-wrap{
  padding-top:54px;
  border-top:1px solid #e2e4e2;
}
.opening-info-head{
  max-width:760px;
  margin:0 auto 34px;
  text-align:center;
}
.opening-info-head .eyebrow{margin-bottom:12px}
.opening-info-head h2{
  margin:0;
  font-size:clamp(32px,3.8vw,50px);
  line-height:1.15;
  letter-spacing:-.045em;
}
.opening-info-head>p:not(.eyebrow){
  margin:16px 0 0;
  color:#6b716d;
  font-size:15px;
}
.opening-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  max-width:1040px;
  margin:0 auto;
}
.opening-info-card{
  background:#f7f8f5;
  border:1px solid #dfe3df;
  box-shadow:0 14px 36px rgba(28,38,31,.06);
  overflow:hidden;
}
.opening-info-card-copy{padding:24px 26px 22px}
.opening-info-card-copy>span{
  display:block;
  margin-bottom:8px;
  color:#0f513f;
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
}
.opening-info-card h3{
  margin:0;
  font-size:clamp(24px,2.2vw,32px);
  line-height:1.2;
  letter-spacing:-.04em;
}
.opening-info-card p{
  margin:12px 0 0;
  color:#6d746f;
  font-size:14px;
  line-height:1.65;
}
.opening-info-card figure{
  margin:0;
  background:#fff;
  border-top:1px solid #e3e6e3;
}
.opening-info-card img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/5;
  object-fit:contain;
  background:#fff;
}
@media(max-width:900px){
  .opening-info-section{padding-bottom:78px}
  .opening-info-wrap{padding-top:40px}
  .opening-info-grid{grid-template-columns:1fr;max-width:620px}
}
@media(max-width:560px){
  .opening-info-head{margin-bottom:24px}
  .opening-info-card-copy{padding:20px 20px 18px}
}

/* 2026-10-07: mobile top navigation fixed while scrolling */
@media (max-width:680px){
  .premium-header{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:1000 !important;
    background:#fff !important;
    border-bottom:1px solid #ececec !important;
    box-shadow:0 2px 10px rgba(0,0,0,.06);
  }
  main#top{
    padding-top:74px;
  }
}


/* 2026-10-07: mobile route step compact spacing + parking copy */
.route-parking-copy{
  margin:4px 0 -8px;
}
.route-parking-copy h3{
  margin:0;
  font-size:clamp(28px,3.3vw,42px);
  line-height:1.18;
  letter-spacing:-.045em;
  font-weight:900;
}
.route-parking-copy p{
  margin:14px 0 0;
  color:#656b68;
  font-size:15px;
  line-height:1.75;
}

@media (max-width:560px){
  .route-steps{
    grid-template-columns:1fr 1fr !important;
    margin-bottom:22px !important;
  }
  .route-steps > div{
    min-height:72px !important;
    padding:12px 13px !important;
  }
  .route-steps span{
    margin-bottom:4px !important;
    font-size:9px !important;
  }
  .route-steps strong{
    font-size:14px !important;
    line-height:1.35 !important;
  }
  .route-parking-copy{
    margin:0 0 -6px;
  }
  .route-parking-copy h3{
    font-size:26px;
    line-height:1.22;
  }
  .route-parking-copy p{
    margin-top:10px;
    font-size:14px;
    line-height:1.7;
  }
}

/* 2026-10-07: parking title matches route section heading */
.route-parking-copy h3{
  margin:0;
  font-family:inherit;
  font-size:1.5em;
  line-height:normal;
  letter-spacing:inherit;
  font-weight:bold;
}

@media (max-width:900px){
  .route-parking-copy h3{
    font-size:clamp(30px, 7.6vw, 42px) !important;
    line-height:1.18 !important;
    letter-spacing:inherit;
    font-weight:bold;
  }
}

/* 2026-10-07: real-space photo size match only */
.real-space-grid figure{
  aspect-ratio:3 / 2;
  overflow:hidden;
}
.real-space-grid figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}


/* 2026-10-08: desktop top navigation fixed + route subtitle */
.premium-header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:1000 !important;
  background:#fff !important;
  border-bottom:1px solid #ececec !important;
  box-shadow:0 2px 10px rgba(0,0,0,.05);
}
main#top{
  padding-top:122px;
}
.route-subcopy{
  margin:18px 0 0;
  color:#656b68;
  font-size:15px;
  line-height:1.75;
}

@media (max-width:680px){
  main#top{
    padding-top:74px;
  }
  .route-subcopy{
    margin-top:12px;
    font-size:14px;
    line-height:1.65;
  }
}
