/* One panoramic garden, with the story and seasonal controls sharing its baseline. */
.header.header-refined {
  height:124px;
  align-items:center;
  padding:12px 4.5%;
}
.header-refined .brand-logo { width:86px; }
.header-refined .brand-lockup { gap:6px; }
.header-refined .brand-owner { font-size:11px; line-height:1.6; font-weight:500; letter-spacing:1px; color:var(--ink); }
.header-refined .header-right { padding:0; gap:16px; }
.header-refined .header-tools { gap:22px; }
.header-refined nav { gap:28px; font-size:15px; font-weight:500; }
.header-refined .language-switch { font-size:12px; gap:18px; }
.header-refined .language-switch a { opacity:1; }
.header.header-refined.on-paper { height:100px; padding:10px 4.5%; }
.header-refined.on-paper .brand-logo { width:66px; }
.header-refined.on-paper .brand-lockup { gap:4px; }
.header-refined.on-paper .brand-owner { font-size:10px; }
.header-refined.on-paper .header-right { gap:9px; }
:root { --brand-face:brightness(0); --brand-edge:#d0d5cc; --brand-depth:#8c968b; }
:root[data-theme=dark] { --brand-face:brightness(0) invert(1); --brand-edge:#c0c8c0; --brand-depth:#080e0a; }
.header.header-refined .brand-logo {
  /* Crisp vector face, one unblurred bevel and a short material shadow. */
  filter:var(--brand-face) drop-shadow(.35px .6px 0 var(--brand-edge)) drop-shadow(.45px 1.1px .5px var(--brand-depth));
}

.hero.hero-immersive {
  height:auto;
  min-height:0;
  max-height:none;
  padding:124px 24px 0;
  overflow:visible;
  background:var(--paper);
  color:var(--ink);
}
.hero-immersive .hero-frame {
  position:relative;
  height:clamp(520px,calc(100svh - 285px),800px);
  isolation:isolate;
  overflow:hidden;
  background:#25372b;
}
.hero-immersive .hero-image,
.hero-immersive .hero-image.has-seasons {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  aspect-ratio:auto;
  overflow:hidden;
}
.hero-immersive .hero-image img {
  object-position:56% 59%;
  filter:none;
}
.hero-immersive .hero-shade {
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  /* White headlines remain readable even against the winter's brightest snow. */
  background:linear-gradient(90deg,#0c1c15cc 0%,#0c1c15b8 33%,#0c1c1575 49%,#0c1c1500 72%);
  -webkit-mask-image:linear-gradient(180deg,transparent 2%,#000 46%);
  mask-image:linear-gradient(180deg,transparent 2%,#000 46%);
  pointer-events:none;
}
.hero-immersive .hero-content {
  position:absolute;
  inset:auto auto 60px 4.8%;
  width:60%;
  max-width:760px;
  height:auto;
  padding:0;
  color:#fffdf5;
  align-items:flex-start;
}
.hero-immersive .hero-location {
  margin:0 0 13px;
  color:inherit;
  font:500 18px/1.6 var(--sans);
  letter-spacing:1.5px;
}
.hero-immersive .hero-content .eyebrow {
  margin:0 0 28px;
  color:#fffdf5;
  font-size:11px;
  font-weight:500;
  letter-spacing:1.8px;
}
.hero-immersive h1 {
  font:clamp(46px,4.55vw,72px)/1.48 var(--serif);
  letter-spacing:2px;
  color:inherit;
  text-shadow:none;
}
html[lang=en] .hero-immersive h1 {
  font-family:var(--english);
  font-size:clamp(52px,5.1vw,80px);
  line-height:1.12;
  letter-spacing:-.4px;
}
html[lang=en] .hero-immersive .hero-location {
  font:500 16px/1.6 var(--sans);
  letter-spacing:1px;
}
html[lang=ko] .hero-immersive h1 { letter-spacing:0; }
.hero-immersive .hero-bottom {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(260px,auto);
  gap:clamp(28px,4.6vw,88px);
  align-items:center;
  padding:28px 4.8% 32px;
  border-bottom:1px solid var(--line);
}
.hero-immersive .hero-intro {
  margin:0;
  max-width:560px;
  color:var(--muted);
  font-size:16px;
  line-height:1.95;
  letter-spacing:.2px;
}
.hero-immersive .hero-link {
  margin:0;
  padding:7px 0 10px;
  min-height:44px;
  gap:30px;
  align-items:center;
  white-space:nowrap;
  color:var(--ink);
  border-color:var(--brass);
  font-size:12px;
}
.hero-season-dock { min-width:0; justify-self:end; }
.hero-immersive .hero-season-controls {
  position:static;
  display:grid;
  grid-template-columns:minmax(0,1fr) 44px;
  gap:4px 20px;
  color:var(--muted);
}
.hero-season-label {
  grid-column:1/-1;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
  letter-spacing:1px;
}
.hero-immersive .hero-season-choices { gap:18px; }
.hero-immersive .hero-season-controls button {
  min-width:44px;
  min-height:44px;
  padding:0 3px;
  font-size:11px;
  line-height:1.4;
  letter-spacing:.5px;
}
.hero-immersive .hero-season-choices button:after { bottom:4px; }
.hero-immersive .hero-season-choices button[aria-pressed=true] { color:var(--ink); }
.hero-immersive .hero-season-toggle {
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  align-self:center;
  border:1px solid var(--line);
  border-radius:50%;
}
.hero-immersive .hero-season-toggle:hover { border-color:var(--brass); }
.hero-immersive .hero-season-toggle[hidden] { display:none; }
.hero-immersive:not(.has-seasons) .hero-bottom {
  grid-template-columns:minmax(0,1fr) auto;
}
.hero-immersive:not(.has-seasons) .hero-season-dock { display:none; }

/* Comparable properties share a clear top edge and image proportion. */
.stay-card:nth-child(2) { padding-top:0; }
.body-copy { font-size:16px; line-height:2; }
.philosophy-grid { display:block; max-width:1050px; margin:0; }
.philosophy .section-heading { margin-bottom:36px; }
.philosophy-title h2 { margin-top:0; }
.philosophy .quiet-note { display:none; }
.philosophy-copy { margin-top:28px; }
.philosophy .brand-signature { margin-top:22px; }
.philosophy .signature-logo { display:none; }
.philosophy .brand-signature>.brand-caption { max-width:none; font-size:14px; }
.story-photographs { grid-template-columns:3fr 2fr; gap:28px; align-items:stretch; margin-top:48px; }
.story-wide,.story-detail { height:clamp(370px,36vw,560px); min-width:0; }
.story-detail { padding:0; margin:0; transform:none; }
.story-photographs .story-wide img,.story-photographs .story-detail img { width:100%; height:100%; aspect-ratio:auto; object-position:center; border:0; }
.story-photographs .photo-word { display:none; }

/* The closing section follows the visitor's chosen light or dark appearance. */
:root { --contact-surface:#e9ede4; }
:root[data-theme=dark] { --contact-surface:#202c25; }
.contact { display:block; color:var(--ink); border-top:1px solid var(--line); padding-top:64px; padding-bottom:64px; }
.contact .eyebrow,.contact-description,.contact dt { color:var(--muted); }
.contact-email { color:var(--ink); border-color:var(--line); font:18px/1.6 var(--sans); letter-spacing:.1px; padding-bottom:16px; }
.contact-email>span:last-child { font-size:20px; }
.contact dd,.contact .text-link { color:var(--ink); }
.contact dd { font-size:14px; }
.contact-company { font-size:18px; font-weight:500; margin:0 0 19px; }
.contact .contact-email { margin-top:24px; }
.contact-heading { display:flex; justify-content:space-between; align-items:end; gap:48px; }
.contact-heading .eyebrow { margin-bottom:12px; font-size:11px; }
.contact-heading h2 { font-size:34px; line-height:1.5; }
.contact-heading .contact-description { margin:0; max-width:490px; font-size:15px; }
.contact .contact-directory { display:grid; grid-template-columns:.85fr 1.2fr 1fr; gap:40px; margin:34px 0 0; padding-top:25px; border-top:1px solid var(--line); }
.contact-directory>div { display:block; padding:0; min-width:0; }
.contact-directory dt { margin-bottom:12px; font-size:12px; }
.contact-directory dd { margin:0; font-size:15px; line-height:1.9; }
.contact-directory .contact-company { font-size:19px; line-height:1.7; }
.contact-directory .contact-email { margin:0; padding-bottom:8px; max-width:285px; }
.contact-map { display:flex; align-items:center; gap:18px; width:fit-content; margin-top:12px; font-size:12px; border-bottom:1px solid var(--line); }
.company-overview { max-width:1050px; }
.company-overview h2 { font-size:clamp(29px,3vw,40px); }
.company-overview .body-copy { margin-top:28px; }
html[lang=en] .company-overview h2 { font-size:clamp(35px,3.6vw,48px); }
footer { grid-template-columns:1fr auto; gap:20px; align-items:center; padding:25px 7.5%; }
.footer-brand { display:flex; align-items:center; gap:20px; }
.footer-logo { width:52px; opacity:1; }
.footer-brand p { margin:0; font-size:12px; }
.footer-links { flex-direction:row; align-items:center; gap:24px; font-size:12px; }
.footer-links span,.footer-baseline { display:none; }

@media(min-width:761px) and (max-width:1100px) {
  .header.header-refined { padding-left:28px; padding-right:28px; }
  .header-refined nav { font-size:14px; gap:16px; }
  .hero.hero-immersive { padding-left:18px; padding-right:18px; }
  .hero-immersive .hero-frame { height:clamp(540px,65svh,760px); }
  .hero-immersive .hero-shade { background:linear-gradient(90deg,#0c1c15d1 0%,#0c1c15bf 47%,#0c1c1599 66%,#0c1c1500 100%); }
  .hero-immersive .hero-content { left:5%; bottom:48px; width:66%; }
  .hero-immersive h1 { font-size:clamp(40px,4.6vw,50px); }
  html[lang=en] .hero-immersive h1 { font-size:clamp(48px,5.6vw,62px); }
  .hero-immersive .hero-bottom { grid-template-columns:minmax(0,1fr) auto; gap:15px 38px; padding:27px 4% 30px; }
  .hero-immersive .hero-intro { grid-column:1; }
  .hero-immersive .hero-link { grid-column:1; justify-self:start; }
  .hero-season-dock { grid-column:2; grid-row:1/span 2; align-self:center; }
  .hero-immersive .hero-season-choices { gap:12px; }
  .philosophy-grid { gap:32px; }
}
@media(min-width:761px) and (max-width:950px) {
  .contact .contact-directory { display:block; }
  .contact-directory>div { display:grid; grid-template-columns:120px minmax(0,1fr); gap:24px; margin-bottom:22px; }
  .contact-directory>div:last-child { margin-bottom:0; }
}
@media(max-width:760px) {
  .header.header-refined { height:116px; padding:13px 20px; }
  .header-refined .brand-logo { width:70px; }
  .header-refined .brand-lockup { gap:6px; }
  .header-refined .brand-owner { font-size:9px; letter-spacing:.5px; }
  .header-refined .header-right { gap:9px; }
  .header-refined .header-tools { gap:6px; }
  .header-refined .language-switch { gap:12px; font-size:9px; letter-spacing:.1px; }
  .header-refined .theme-toggle { padding:1px 7px; }
  .header-refined .menu-toggle { min-width:48px; min-height:44px; font-size:10px; }
  .header-refined nav { top:116px; font-size:14px; }
  .header.header-refined.on-paper { height:88px; padding:8px 20px; }
  .header-refined.on-paper .brand-logo { width:54px; }
  .header-refined.on-paper .brand-owner { font-size:8px; }
  .header-refined.on-paper .header-right { flex-direction:row; align-items:center; gap:12px; }
  .header-refined.on-paper nav { top:88px; }
  .hero.hero-immersive { display:block; padding:116px 12px 0; }
  .hero-immersive .hero-frame { height:clamp(500px,73svh,650px); }
  .hero-immersive .hero-image img { object-position:62% 58%; }
  .hero-immersive .hero-shade {
    background:linear-gradient(180deg,#0c1c15e0 0%,#0c1c15c9 32%,#0c1c158f 49%,#0c1c1500 76%);
    -webkit-mask-image:none;
    mask-image:none;
  }
  .hero-immersive .hero-content {
    inset:34px 24px auto;
    width:auto;
    max-width:none;
  }
  .hero-immersive .hero-location { font-size:15px; letter-spacing:1.3px; margin-bottom:9px; }
  .hero-immersive .hero-content .eyebrow { margin-bottom:22px; font-size:10px; letter-spacing:1.4px; }
  .hero-immersive h1 { font-size:clamp(29px,8.5vw,42px); line-height:1.55; letter-spacing:1px; }
  html[lang=en] .hero-immersive h1 { font-size:clamp(35px,10.5vw,54px); line-height:1.13; letter-spacing:0; }
  html[lang=en] .hero-immersive .hero-location { font-size:14px; }
  html[lang=ko] .hero-immersive h1 { font-size:clamp(27px,7.5vw,36px); letter-spacing:0; }
  .hero-immersive .hero-bottom {
    grid-template-columns:1fr;
    gap:22px;
    padding:24px 14px 29px;
  }
  .hero-immersive .hero-intro { max-width:none; font-size:14px; line-height:1.95; }
  .hero-immersive .hero-link { grid-row:3; justify-self:start; font-size:11px; gap:28px; }
  .hero-immersive .hero-season-dock { grid-column:1; grid-row:2; justify-self:stretch; }
  .hero-immersive .hero-season-controls { grid-template-columns:minmax(0,1fr) 44px; gap:2px 14px; }
  .hero-immersive .hero-season-choices { gap:clamp(10px,5vw,28px); justify-content:flex-start; }
  .hero-immersive .hero-season-controls button { min-width:44px; min-height:44px; font-size:10px; }
  .hero-immersive .hero-season-toggle { width:44px; height:44px; }
  .hero-immersive:not(.has-seasons) .hero-bottom { grid-template-columns:1fr; }
  .hero-immersive:not(.has-seasons) .hero-link { grid-row:auto; }
  .contact-email { font-size:17px; }
  .philosophy-grid { grid-template-columns:1fr; gap:27px; }
  .body-copy { font-size:15px; }
  .company-overview h2 { font-size:29px; }
  .company-overview .body-copy { margin-top:23px; }
  html[lang=en] .company-overview h2 { font-size:35px; }
  .contact { padding-top:42px; padding-bottom:42px; }
  .contact-heading { display:block; }
  .contact-heading h2 { font-size:29px; }
  .contact-heading .contact-description { font-size:14px; margin-top:14px; }
  .contact .contact-directory { grid-template-columns:1fr; gap:24px; margin-top:25px; padding-top:24px; }
  .contact-directory>div { display:grid; grid-template-columns:80px minmax(0,1fr); gap:17px; }
  .contact-directory dt { margin:2px 0 0; }
  .contact-directory dd { font-size:14px; }
  .contact-directory .contact-company { font-size:17px; }
  .contact-directory .contact-email { font-size:15px; }
  footer { grid-template-columns:1fr; gap:18px; padding:24px 7%; }
  .footer-brand { gap:16px; }
  .footer-links { justify-content:flex-start; }
  .story-photographs { grid-template-columns:1fr; gap:20px; margin-top:32px; padding-bottom:0; }
  .story-wide { height:auto; aspect-ratio:4/3; }
  .story-detail { height:auto; aspect-ratio:4/5; max-height:520px; }
}
@media(max-width:359px) {
  .header.header-refined { padding-left:15px; padding-right:15px; }
  .header-refined .brand-logo { width:54px; }
  .header-refined .language-switch { gap:9px; font-size:8px; }
  .hero-immersive .hero-content { left:20px; right:20px; }
  .hero-immersive h1 { font-size:28px; }
  html[lang=en] .hero-immersive h1 { font-size:32px; }
  html[lang=ko] .hero-immersive h1 { font-size:25px; }
  .hero-immersive .hero-season-controls { column-gap:8px; }
  .hero-immersive .hero-season-choices { gap:8px; justify-content:space-between; }
  .hero-immersive .hero-season-controls button { padding:0; letter-spacing:0; }
}
