/* ============================================================
   AURA Mountain Villa — V3.2 SIGNATURE+ pension theme
   Palette: navy (#0a1530, #1a2a4a) + amber (#e9b864, #f0c97f)
            + ember (#cf6e3a, #8a3a1a)
   Typography: Cormorant Garamond (display) + Noto Serif KR
               + Inter (UI). editorial-luxe + cinematic-dark mood
   ============================================================ */
:root{
  --c-navy-1: #050a1c;
  --c-navy-2: #0a1530;
  --c-navy-3: #1a2a4a;
  --c-navy-4: #2a3a64;
  --c-amber-1: #e9b864;
  --c-amber-2: #f0c97f;
  --c-amber-3: #c9923f;
  --c-ember-1: #cf6e3a;
  --c-ember-2: #8a3a1a;
  --c-cream: #f3ead7;
  --c-mist: #b9c5d9;
  --c-mist-2: #7a8caa;
  --c-line: rgba(233,184,100,0.18);
  --c-line-warm: rgba(233,184,100,0.32);
  --c-shadow: rgba(0,0,0,0.55);

  --f-display: 'Cormorant Garamond', 'Noto Serif KR', serif;
  --f-body: 'Inter', 'Noto Serif KR', system-ui, sans-serif;
  --f-kr-serif: 'Noto Serif KR', serif;

  --sb-w: 240px;
  --gut: clamp(20px, 4vw, 56px);
  --maxw: 1320px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--c-navy-1);
  color:var(--c-cream);
  font-family:var(--f-body);
  font-size:16px;
  line-height:1.65;
  font-weight:400;
  letter-spacing:0.01em;
  -webkit-font-smoothing:antialiased;
  cursor:none;
}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;cursor:none;}
img{max-width:100%;display:block;}

/* ===== DEMO 워터마크 ===== */
.demo-watermark{
  position:fixed;
  bottom:14px;
  right:14px;
  z-index:1000;
  background:rgba(207,110,58,0.92);
  color:#fff;
  font-size:11px;
  font-weight:600;
  padding:7px 13px;
  border-radius:999px;
  letter-spacing:0.06em;
  pointer-events:none;
  box-shadow:0 6px 18px rgba(0,0,0,0.5);
}

/* ===== Large-circle cursor (8 차원 cursor 효과) ===== */
.cursor-large,.cursor-dot{
  position:fixed;
  top:0;left:0;
  pointer-events:none;
  z-index:9999;
  border-radius:50%;
  transform:translate(-50%,-50%);
  transition:width 0.25s, height 0.25s, background 0.25s, border-color 0.25s;
  mix-blend-mode:difference;
}
.cursor-large{
  width:42px;height:42px;
  border:1.5px solid var(--c-amber-1);
  background:transparent;
  transition-property:width,height,transform,border-color;
  transition-duration:0.18s;
}
.cursor-dot{
  width:6px;height:6px;
  background:var(--c-amber-1);
}
.cursor-large.is-hover{width:88px;height:88px;border-color:var(--c-amber-2);background:rgba(233,184,100,0.08);}
.cursor-large.is-down{width:30px;height:30px;}
@media (max-width:768px){
  body{cursor:auto;}
  .cursor-large,.cursor-dot{display:none;}
  button,a{cursor:pointer;}
}

/* ===== Sidebar-left nav (V3.2 nav style: vertical-strip-seal) ===== */
.sidebar-left{
  position:fixed;
  top:0;left:0;
  width:var(--sb-w);
  height:100vh;
  padding:32px 22px 24px;
  background:linear-gradient(180deg,#050a1c 0%,#0a1530 100%);
  border-right:1px solid var(--c-line);
  display:flex;flex-direction:column;
  z-index:50;
}
.sb-brand{
  display:flex;flex-direction:column;
  margin-bottom:48px;
  border-bottom:1px solid var(--c-line);
  padding-bottom:24px;
}
.brand-mark{
  font-family:var(--f-kr-serif);
  font-size:30px;font-weight:600;color:var(--c-amber-1);
  letter-spacing:0.02em;
  line-height:1.1;
}
.brand-mark-en{
  font-family:var(--f-display);
  font-size:18px;color:var(--c-cream);
  letter-spacing:0.4em;font-weight:500;
  margin-top:6px;
}
.brand-tag{
  font-size:9px;color:var(--c-mist-2);
  letter-spacing:0.32em;margin-top:8px;
  font-weight:500;
}
.sb-nav{
  display:flex;flex-direction:column;
  gap:2px;flex:1;
}
.sb-link{
  display:flex;align-items:center;gap:14px;
  padding:11px 4px;
  font-size:13px;color:var(--c-mist);
  font-weight:400;letter-spacing:0.02em;
  border-bottom:1px dashed transparent;
  transition:color 0.25s, border-color 0.25s, padding 0.25s;
  position:relative;
}
.sb-link::before{
  content:"";
  position:absolute;left:-22px;top:50%;
  width:0;height:1px;
  background:var(--c-amber-1);
  transition:width 0.3s;
}
.sb-link:hover,.sb-link.active{
  color:var(--c-amber-1);
  padding-left:14px;
}
.sb-link:hover::before,.sb-link.active::before{width:18px;}
.sb-num{
  font-family:var(--f-display);
  font-size:11px;color:var(--c-amber-3);
  letter-spacing:0.1em;
  font-weight:500;
  min-width:18px;
}
.sb-text{flex:1;}
.sb-foot{
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid var(--c-line);
  display:flex;align-items:center;gap:8px;
}
.sb-mini{
  font-size:11px;color:var(--c-mist-2);
  letter-spacing:0.06em;
  transition:color 0.2s;
}
.sb-mini:hover{color:var(--c-amber-1);}
.sb-divider{color:var(--c-mist-2);font-size:10px;}

/* ===== Mobile nav ===== */
.nav-burger{display:none;}
@media (max-width:1024px){
  .sidebar-left{display:none;}
  .nav-burger{
    display:flex;flex-direction:column;
    gap:5px;
    position:fixed;top:18px;right:18px;
    width:48px;height:48px;
    align-items:center;justify-content:center;
    background:rgba(10,21,48,0.85);
    border:1px solid var(--c-line);
    border-radius:50%;
    z-index:60;
    backdrop-filter:blur(12px);
  }
  .nav-burger span{
    width:22px;height:1.5px;
    background:var(--c-amber-1);
  }
}
.mob-drawer{
  position:fixed;inset:0;
  background:linear-gradient(180deg,rgba(5,10,28,0.98),rgba(10,21,48,0.98));
  z-index:200;
  opacity:0;pointer-events:none;
  transition:opacity 0.35s;
  backdrop-filter:blur(16px);
}
.mob-drawer.is-open{opacity:1;pointer-events:auto;}
.drawer-close{
  position:absolute;
  top:60px;right:24px;
  width:48px;height:48px;
  background:rgba(233,184,100,0.12);
  border:1px solid var(--c-line-warm);
  border-radius:50%;
  font-size:30px;font-weight:300;
  color:var(--c-amber-1);
  display:flex;align-items:center;justify-content:center;
  z-index:2;transition:transform 0.3s,background 0.3s;
}
.drawer-close:hover{transform:rotate(90deg);background:var(--c-amber-1);color:var(--c-navy-2);}
.drawer-inner{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  display:flex;flex-direction:column;gap:18px;
  text-align:center;
}
.drawer-inner a{
  font-family:var(--f-display);
  font-size:24px;color:var(--c-cream);
  letter-spacing:0.04em;font-weight:500;
  transition:color 0.25s;
}
.drawer-inner a.active,.drawer-inner a:hover{color:var(--c-amber-1);}
.drawer-foot{
  margin-top:32px;
  display:flex;justify-content:center;gap:18px;
  padding-top:22px;border-top:1px solid var(--c-line);
}
.drawer-foot a{font-size:14px;color:var(--c-mist);}
.drawer-foot a.outline{
  border:1px solid var(--c-amber-1);
  padding:6px 14px;border-radius:999px;
  color:var(--c-amber-1);
}

/* ===== Main scroll container ===== */
.main-scroll{
  margin-left:var(--sb-w);
  min-height:100vh;
  scroll-snap-type:y mandatory;
}
@media (max-width:1024px){
  .main-scroll{margin-left:0;}
}
.sub-main{
  margin-left:var(--sb-w);
  min-height:100vh;
}
@media (max-width:1024px){
  .sub-main{margin-left:0;}
}

/* ===== Section base ===== */
.sec{
  padding:clamp(60px,8vw,120px) clamp(20px,5vw,80px);
  position:relative;
}
.sec-eyebrow{
  display:inline-block;
  font-family:var(--f-display);
  font-size:13px;color:var(--c-amber-1);
  letter-spacing:0.32em;text-transform:uppercase;
  margin-bottom:18px;font-weight:500;
}
.sec-eyebrow.light{color:var(--c-amber-2);}
.sec-title-display{
  font-family:var(--f-display);
  font-size:clamp(34px,5.6vw,72px);
  line-height:1.08;
  font-weight:400;
  color:var(--c-cream);
  letter-spacing:-0.01em;
  margin:0 0 24px;
}
.sec-title-display em{
  font-style:italic;color:var(--c-amber-1);
  font-weight:500;
}
.sec-title-display.light{color:var(--c-cream);}
.sec-title-display.center{text-align:center;}
.sec-head{margin-bottom:48px;max-width:880px;}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.sec-head.dark{}
.sec-sub{
  font-size:17px;color:var(--c-mist);
  line-height:1.7;font-weight:300;
  max-width:680px;
}
.sec-sub.light{color:var(--c-cream);opacity:0.9;}
.lead-p{
  font-family:var(--f-kr-serif);
  font-size:18px;color:var(--c-cream);
  line-height:1.85;font-weight:300;
  margin:0 0 18px;
}

/* ===== HERO (parallax-multi-layer + ambient-particle + Typewriter) ===== */
.sec-hero{
  height:100vh;min-height:720px;
  padding:0;
  scroll-snap-align:start;
  overflow:hidden;
  position:relative;
  display:flex;align-items:flex-end;
}
.hero-bg-layer{
  position:absolute;inset:-40px -20px;
  background-size:cover;
  background-position:center;
  will-change:transform;
}
.hero-bg-far{
  background-image:linear-gradient(180deg,#050a1c 0%,#0a1530 50%,#1a2a4a 100%);
  z-index:1;
  background-size:cover;
}
.hero-bg-mid{
  background-image:url('hero_01_v35.png');
  background-size:cover;
  background-position:center 35%;
  z-index:2;
  opacity:1;
}
.hero-bg-near{
  background:radial-gradient(ellipse at 70% 100%,rgba(207,110,58,0.18) 0%,transparent 60%);
  z-index:3;mix-blend-mode:screen;
}
.hero-vignette{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 50% 30%,transparent 30%,rgba(5,10,28,0.65) 100%),
    linear-gradient(180deg,rgba(5,10,28,0.4) 0%,transparent 30%,rgba(5,10,28,0.85) 100%);
  z-index:4;pointer-events:none;
}

/* Ambient particle (별) */
.ambient-particles{
  position:absolute;inset:0;
  z-index:3;pointer-events:none;
  overflow:hidden;
}
.ambient-particles::before,
.ambient-particles::after{
  content:"";
  position:absolute;inset:0;
  background-image:
    radial-gradient(1px 1px at 12% 18%, #fff, transparent 50%),
    radial-gradient(1px 1px at 28% 8%, #fff, transparent 50%),
    radial-gradient(0.8px 0.8px at 42% 14%, #fff, transparent 50%),
    radial-gradient(1.4px 1.4px at 58% 6%, #fff, transparent 50%),
    radial-gradient(1px 1px at 71% 22%, #fff, transparent 50%),
    radial-gradient(0.9px 0.9px at 84% 11%, #fff, transparent 50%),
    radial-gradient(1.2px 1.2px at 92% 26%, #fff, transparent 50%),
    radial-gradient(0.7px 0.7px at 5% 30%, #fff, transparent 50%),
    radial-gradient(1px 1px at 18% 42%, #fff, transparent 50%),
    radial-gradient(0.8px 0.8px at 35% 32%, #fff, transparent 50%),
    radial-gradient(1.4px 1.4px at 50% 24%, rgba(233,184,100,0.7), transparent 50%),
    radial-gradient(1px 1px at 65% 38%, #fff, transparent 50%),
    radial-gradient(0.6px 0.6px at 79% 32%, #fff, transparent 50%);
  background-size:100% 100%;
  background-repeat:no-repeat;
  animation:starTwinkle 8s ease-in-out infinite alternate;
}
.ambient-particles::after{
  animation-duration:13s;
  animation-delay:-4s;
  opacity:0.6;
}
@keyframes starTwinkle{
  0%{opacity:0.5;transform:scale(1);}
  50%{opacity:1;transform:scale(1.05);}
  100%{opacity:0.7;transform:scale(0.98);}
}

.hero-content{
  position:relative;z-index:10;
  padding:0 clamp(28px,7vw,90px) clamp(64px,10vw,120px);
  max-width:980px;
}
.hero-eyebrow{
  display:inline-block;
  font-family:var(--f-display);
  font-size:13px;color:var(--c-amber-1);
  letter-spacing:0.4em;text-transform:uppercase;
  padding:7px 16px;
  border:1px solid var(--c-line-warm);
  border-radius:999px;
  background:rgba(10,21,48,0.45);
  backdrop-filter:blur(8px);
  margin-bottom:30px;
}
.hero-title{
  font-family:var(--f-kr-serif);
  font-size:clamp(20px,2vw,30px);
  line-height:1.12;
  font-weight:400;
  color:var(--c-cream);
  margin:0 0 28px;
  letter-spacing:-0.01em;
  text-shadow:0 4px 30px rgba(5,10,28,0.65);
}
.hero-title em{
  font-family:var(--f-display);
  color:var(--c-amber-1);
  font-style:italic;
  font-weight:500;
  letter-spacing:0.01em;
}
.hero-line-1,.hero-line-2,.hero-line-3{display:block;}
.hero-line-1{
  /* Typewriter target */
  border-right:2px solid var(--c-amber-1);
  display:inline-block;
  white-space:nowrap;
  overflow:hidden;
}
.hero-sub{
  font-family:var(--f-display);
  font-size:clamp(15px,1.6vw,19px);
  color:var(--c-mist);
  line-height:1.7;
  margin:0 0 32px;
  font-weight:400;
  letter-spacing:0.18em;
  max-width:580px;
}
.hero-meta{
  display:flex;flex-wrap:wrap;gap:36px;
  margin-bottom:38px;
  padding:18px 0;
  border-top:1px solid var(--c-line);
  border-bottom:1px solid var(--c-line);
  max-width:680px;
}
.hero-meta span{
  font-size:12px;color:var(--c-mist-2);
  letter-spacing:0.18em;text-transform:uppercase;
}
.hero-meta strong{
  display:block;
  font-family:var(--f-display);
  font-size:26px;color:var(--c-amber-1);
  font-weight:500;
  letter-spacing:0.02em;
  margin-bottom:4px;
}
.hero-ctas{display:flex;flex-wrap:wrap;gap:16px;}
.hero-scroll-cue{
  position:absolute;
  bottom:30px;
  left:50%;
  transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;
  gap:10px;
  font-size:10px;color:var(--c-mist-2);
  letter-spacing:0.4em;
}
.cue-line{
  width:1px;height:36px;
  background:linear-gradient(180deg,var(--c-amber-1),transparent);
  animation:cueDrop 2.4s ease-in-out infinite;
}
@keyframes cueDrop{
  0%,100%{transform:scaleY(0.6);transform-origin:top;}
  50%{transform:scaleY(1);}
}
.hero-stamp{
  position:absolute;
  top:32px;right:48px;z-index:10;
  display:flex;flex-direction:column;align-items:flex-end;
  gap:4px;
  font-family:var(--f-display);
  font-size:10px;color:var(--c-amber-1);
  letter-spacing:0.32em;
  text-transform:uppercase;
}

/* ===== Buttons ===== */
.btn-primary,.btn-ghost{
  display:inline-flex;align-items:center;
  font-family:var(--f-body);
  font-size:13px;font-weight:500;
  padding:13px 26px;
  border-radius:999px;
  letter-spacing:0.18em;text-transform:uppercase;
  transition:transform 0.25s,background 0.25s,color 0.25s,box-shadow 0.3s;
  cursor:none;
}
.btn-primary{
  background:var(--c-amber-1);
  color:var(--c-navy-1);
  border:1px solid var(--c-amber-1);
  box-shadow:0 8px 32px rgba(233,184,100,0.22);
}
.btn-primary:hover{
  background:var(--c-amber-2);
  transform:translateY(-2px);
  box-shadow:0 12px 40px rgba(233,184,100,0.4);
}
.btn-primary.big{padding:18px 36px;font-size:14px;letter-spacing:0.2em;}
.btn-ghost{
  background:transparent;
  color:var(--c-cream);
  border:1px solid var(--c-line-warm);
}
.btn-ghost:hover{
  border-color:var(--c-amber-1);
  color:var(--c-amber-1);
}
.btn-ghost.light{color:var(--c-cream);}

/* ===== About (Section 2) ===== */
.sec-about{
  background:linear-gradient(180deg,#050a1c 0%,#0a1530 100%);
  border-top:1px solid var(--c-line);
  padding-top:clamp(80px,10vw,140px);
}
.sec-grid.two-col{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:clamp(40px,7vw,90px);
  max-width:var(--maxw);
  margin:0 auto;
}
.col-left .sec-eyebrow{font-size:11px;}
.col-right p{margin-bottom:18px;}
.about-bullets{
  list-style:none;
  padding:24px 0 0;
  margin:18px 0 0;
  border-top:1px solid var(--c-line);
}
.about-bullets li{
  font-size:14px;color:var(--c-mist);
  padding:9px 0;
  letter-spacing:0.01em;
}
.about-bullets strong{color:var(--c-amber-1);font-weight:500;}
@media (max-width:900px){
  .sec-grid.two-col{grid-template-columns:1fr;}
}

/* ===== Rooms preview (8 grid) ===== */
.sec-rooms-preview{
  background:#050a1c;
  border-top:1px solid var(--c-line);
}
.rooms-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  max-width:var(--maxw);
  margin:0 auto;
}
.rcard{
  background:#0a1530;
  border:1px solid var(--c-line);
  display:flex;flex-direction:column;
  transition:transform 0.4s,box-shadow 0.4s,border-color 0.4s;
  position:relative;overflow:hidden;
}
.rcard:hover{
  transform:translateY(-4px);
  border-color:var(--c-amber-1);
  box-shadow:0 18px 60px rgba(0,0,0,0.55);
}
.rcard-img{
  display:block;
  aspect-ratio:4/5;
  background:linear-gradient(135deg,#1a2a4a,#0a1530);
  position:relative;
  overflow:hidden;
}
.rcard-img::before{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 30% 20%, rgba(233,184,100,0.2), transparent 50%),
    radial-gradient(circle at 70% 80%, rgba(207,110,58,0.15), transparent 50%);
}
.rcard-img::after{
  content:attr(data-img);
  position:absolute;
  bottom:8px;left:10px;
  font-family:var(--f-body);font-size:9px;
  color:rgba(255,255,255,0.35);
  letter-spacing:0.18em;
}
.rcard-meta{padding:18px 18px 22px;display:flex;flex-direction:column;gap:6px;}
.rcard-num{
  font-family:var(--f-display);font-size:11px;
  color:var(--c-amber-3);letter-spacing:0.18em;
}
.rcard-name{
  font-family:var(--f-kr-serif);
  font-size:18px;color:var(--c-cream);
  font-weight:500;
  margin:2px 0;
}
.rcard-spec{
  font-size:12px;color:var(--c-mist-2);
  line-height:1.5;
}
.rcard-price{
  margin-top:8px;
  font-family:var(--f-display);
  font-size:14px;color:var(--c-amber-1);
  letter-spacing:0.04em;
  font-weight:500;
}
.rcard-cta{
  background:var(--c-amber-1);
  color:var(--c-navy-1);
  display:flex;align-items:center;justify-content:center;
  border-color:var(--c-amber-1);
}
.rcard-cta:hover{
  background:var(--c-amber-2);
  border-color:var(--c-amber-2);
}
.rcard-cta-inner{
  text-align:center;padding:24px;
  display:flex;flex-direction:column;align-items:center;gap:14px;
}
.cta-arrow{
  font-size:42px;color:var(--c-navy-1);
  font-weight:300;
  font-family:var(--f-display);
}
.cta-text{
  font-family:var(--f-kr-serif);
  font-size:22px;line-height:1.3;
  font-weight:500;
}
.cta-tag{
  font-size:10px;letter-spacing:0.18em;
  color:var(--c-navy-3);
}
@media (max-width:1100px){.rooms-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.rooms-grid{grid-template-columns:1fr;}}

/* ===== Kitchen ===== */
.sec-kitchen{
  position:relative;
  padding:0;
  min-height:100vh;
  display:flex;align-items:center;
  overflow:hidden;
}
.kitchen-bg{
  position:absolute;inset:0;
  background:linear-gradient(135deg,#0a1530 0%,#1a0e08 50%,#3a1a08 100%);
}
.kitchen-bg::after{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 35% 50%,rgba(207,110,58,0.4),transparent 50%),
    radial-gradient(circle at 65% 40%,rgba(233,184,100,0.18),transparent 50%);
}
.kitchen-overlay{
  position:relative;z-index:2;
  width:100%;
  padding:clamp(80px,10vw,140px) clamp(28px,7vw,90px);
  background:linear-gradient(90deg,rgba(5,10,28,0.65) 0%,transparent 100%);
}
.kitchen-cols{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:24px;max-width:var(--maxw);
}
.kcol{
  border-left:1px solid var(--c-line-warm);
  padding:22px 0 22px 22px;
}
.kcol-num{
  font-family:var(--f-display);
  font-size:11px;color:var(--c-amber-1);
  letter-spacing:0.18em;
  display:block;margin-bottom:10px;
}
.kcol h3{
  font-family:var(--f-kr-serif);
  font-size:20px;color:var(--c-cream);
  font-weight:500;
  margin:0 0 12px;
}
.kcol p{
  font-size:13px;color:var(--c-mist);
  line-height:1.7;
  margin:0 0 14px;
}
.kcol-price{
  font-family:var(--f-display);
  font-size:14px;color:var(--c-amber-1);
  letter-spacing:0.04em;
  font-weight:500;
}
@media (max-width:900px){.kitchen-cols{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.kitchen-cols{grid-template-columns:1fr;}}

/* ===== Terrace ===== */
.sec-terrace{
  background:linear-gradient(180deg,#0a1530 0%,#050a1c 100%);
  border-top:1px solid var(--c-line);
}
.terrace-grid{
  display:grid;grid-template-columns:1fr 1.2fr;
  gap:clamp(40px,7vw,90px);
  max-width:var(--maxw);margin:0 auto;
  align-items:center;
}
.t-bullets{
  list-style:none;padding:24px 0 0;margin:24px 0 0;
  border-top:1px solid var(--c-line);
}
.t-bullets li{
  font-size:14px;color:var(--c-mist);
  padding:9px 0;
}
.t-bullets strong{color:var(--c-amber-1);font-weight:500;}
.t-photos{
  display:grid;grid-template-columns:1.4fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:12px;
  height:520px;
}
.tphoto{
  background:linear-gradient(135deg,#1a2a4a,#0a1530);
  position:relative;
  overflow:hidden;
}
.tphoto::before{
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(circle at 50% 50%,rgba(233,184,100,0.2),transparent 60%);
}
.tphoto::after{
  content:attr(data-img);
  position:absolute;
  bottom:8px;left:10px;
  font-size:9px;color:rgba(255,255,255,0.4);
  letter-spacing:0.16em;
}
.tphoto-1{grid-row:1/3;}
@media (max-width:900px){
  .terrace-grid{grid-template-columns:1fr;}
  .t-photos{height:380px;}
}

/* ===== Forest ===== */
.sec-forest{
  position:relative;
  padding:0;min-height:88vh;
  display:flex;align-items:center;
  background:linear-gradient(135deg,#0a1530 0%,#0e1f30 50%,#0a1530 100%);
}
.sec-forest::before{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 25% 40%,rgba(120,180,170,0.18),transparent 55%),
    radial-gradient(ellipse at 80% 60%,rgba(20,50,40,0.4),transparent 55%);
}
.forest-overlay{
  position:relative;z-index:2;width:100%;
  padding:clamp(80px,10vw,140px) clamp(28px,7vw,90px);
}
.trail-stats{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:24px;
  max-width:880px;margin:48px auto 0;
}
.trail-stat{
  text-align:center;
  border-top:1px solid var(--c-line-warm);
  padding-top:24px;
}
.ts-num{
  display:block;
  font-family:var(--f-display);
  font-size:54px;color:var(--c-amber-1);
  font-weight:500;
  line-height:1;
  margin-bottom:10px;
}
.ts-label{
  font-size:12px;color:var(--c-mist);
  letter-spacing:0.18em;text-transform:uppercase;
}
@media (max-width:700px){
  .trail-stats{grid-template-columns:repeat(2,1fr);}
}

/* ===== Amenities ===== */
.sec-amenities{
  background:#050a1c;
  border-top:1px solid var(--c-line);
}
.amen-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:24px;
  max-width:var(--maxw);margin:0 auto;
}
.acard{
  background:linear-gradient(135deg,#0a1530,#1a2a4a);
  border:1px solid var(--c-line);
  padding:32px 28px;
  transition:transform 0.4s,border-color 0.4s,box-shadow 0.4s;
}
.acard:hover{
  border-color:var(--c-amber-1);
  transform:translateY(-3px);
  box-shadow:0 16px 50px rgba(0,0,0,0.5);
}
.acard-icon{
  display:inline-block;
  font-family:var(--f-display);
  font-size:28px;color:var(--c-amber-1);
  font-weight:500;
  margin-bottom:14px;
}
.acard h3{
  font-family:var(--f-kr-serif);
  font-size:20px;color:var(--c-cream);
  font-weight:500;margin:0 0 10px;
}
.acard p{
  font-size:14px;color:var(--c-mist);
  line-height:1.65;margin:0;
}
@media (max-width:900px){.amen-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.amen-grid{grid-template-columns:1fr;}}

/* ===== Seasons ===== */
.sec-seasons{
  background:linear-gradient(180deg,#0a1530 0%,#050a1c 100%);
  border-top:1px solid var(--c-line);
}
.seasons-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:24px;
  max-width:var(--maxw);margin:0 auto;
}
.scard{
  display:grid;grid-template-columns:1fr 1.4fr;
  gap:24px;
  background:#0a1530;
  border:1px solid var(--c-line);
  overflow:hidden;
}
.scard-img{
  background:linear-gradient(135deg,#1a2a4a,#0a1530);
  min-height:240px;
  position:relative;
}
.scard-img::after{
  content:attr(data-img);
  position:absolute;bottom:8px;left:10px;
  font-size:9px;color:rgba(255,255,255,0.35);
  letter-spacing:0.18em;
}
.scard-body{padding:28px 24px;}
.scard-label{
  font-family:var(--f-display);
  font-size:11px;color:var(--c-amber-1);
  letter-spacing:0.32em;
  display:block;margin-bottom:10px;
}
.scard h3{
  font-family:var(--f-kr-serif);
  font-size:22px;color:var(--c-cream);
  font-weight:500;line-height:1.35;
  margin:0 0 12px;
}
.scard p{
  font-size:13.5px;color:var(--c-mist);
  line-height:1.7;margin:0 0 14px;
}
.scard-period{
  font-size:11px;color:var(--c-mist-2);
  letter-spacing:0.18em;text-transform:uppercase;
}
@media (max-width:900px){
  .seasons-grid{grid-template-columns:1fr;}
  .scard{grid-template-columns:1fr;}
}

/* ===== Press ===== */
.sec-press{
  background:#050a1c;
  border-top:1px solid var(--c-line);
}
.press-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:24px;
  max-width:var(--maxw);margin:0 auto 40px;
}
.pquote{
  margin:0;padding:36px 32px;
  background:linear-gradient(135deg,#0a1530,#1a2a4a);
  border-left:2px solid var(--c-amber-1);
}
.pquote p{
  font-family:var(--f-kr-serif);
  font-size:18px;color:var(--c-cream);
  font-weight:300;line-height:1.65;
  margin:0 0 14px;
  font-style:italic;
}
.pquote cite{
  font-style:normal;font-size:12px;
  color:var(--c-mist-2);
  letter-spacing:0.06em;
}
.awards-row{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:20px;
  max-width:var(--maxw);margin:0 auto;
  padding-top:36px;border-top:1px solid var(--c-line);
}
.award-item{
  text-align:center;
  padding:16px 12px;
}
.aw-num{
  display:block;
  font-family:var(--f-display);
  font-size:24px;color:var(--c-amber-1);
  font-weight:500;margin-bottom:6px;
}
.aw-name{
  font-size:11px;color:var(--c-mist);
  letter-spacing:0.06em;line-height:1.4;
}
@media (max-width:900px){
  .press-grid{grid-template-columns:1fr;}
  .awards-row{grid-template-columns:1fr 1fr;}
}

/* ===== Visit ===== */
.sec-visit{
  background:linear-gradient(135deg,#050a1c 0%,#0a1530 100%);
  border-top:1px solid var(--c-line);
}
.visit-grid{
  display:grid;grid-template-columns:1fr 1.1fr;
  gap:clamp(40px,7vw,90px);
  max-width:var(--maxw);margin:0 auto;
  align-items:center;
}
.v-bullets{
  list-style:none;padding:24px 0;margin:24px 0;
  border-top:1px solid var(--c-line);
  border-bottom:1px solid var(--c-line);
}
.v-bullets li{font-size:14px;color:var(--c-mist);padding:8px 0;}
.v-bullets strong{color:var(--c-amber-1);min-width:80px;display:inline-block;}
.v-map{
  background:#050a1c;
  border:1px solid var(--c-line);
  padding:14px;
  aspect-ratio:5/4;
}
.vmap-svg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.vmap-svg svg{width:100%;height:100%;}
@media (max-width:900px){.visit-grid{grid-template-columns:1fr;}}

/* ===== CTA ===== */
.sec-cta{
  position:relative;
  padding:0;min-height:80vh;
  display:flex;align-items:center;
  overflow:hidden;
  border-top:1px solid var(--c-line);
}
.cta-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 50% 70%,rgba(207,110,58,0.4),transparent 55%),
    linear-gradient(135deg,#050a1c 0%,#0a1530 50%,#1a0e08 100%);
}
.cta-overlay{
  position:relative;z-index:2;
  width:100%;text-align:center;
  padding:clamp(80px,10vw,140px) clamp(28px,7vw,90px);
}
.cta-title{
  font-family:var(--f-kr-serif);
  font-size:clamp(36px,6vw,76px);
  color:var(--c-cream);font-weight:400;
  line-height:1.1;
  margin:0 0 20px;
}
.cta-title em{
  font-family:var(--f-display);
  color:var(--c-amber-1);
  font-style:italic;
}
.cta-sub{
  font-family:var(--f-display);
  font-size:18px;color:var(--c-mist);
  margin:0 0 36px;
  font-weight:400;letter-spacing:0.04em;
}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:24px;}
.cta-fineprint{
  font-size:11px;color:var(--c-mist-2);
  letter-spacing:0.04em;margin:0;
}

/* ===== Footer ===== */
.sec-footer{
  background:#050a1c;
  padding:72px clamp(28px,7vw,90px) 32px;
  border-top:1px solid var(--c-line);
}
.foot-grid{
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;
  gap:48px;
  max-width:var(--maxw);margin:0 auto;
}
.foot-col h4{
  font-family:var(--f-display);
  font-size:13px;color:var(--c-amber-1);
  letter-spacing:0.18em;text-transform:uppercase;
  margin:0 0 14px;font-weight:500;
}
.foot-col a{
  display:block;
  font-size:13px;color:var(--c-mist);
  padding:5px 0;
  transition:color 0.2s;
}
.foot-col a:hover{color:var(--c-amber-1);}
.foot-col p{font-size:13px;color:var(--c-mist);line-height:1.7;margin:0;}
.foot-brand{
  display:block;
  font-family:var(--f-kr-serif);
  font-size:24px;color:var(--c-amber-1);
  font-weight:500;
  margin-bottom:12px;
}
.foot-brand small{
  display:block;
  font-family:var(--f-display);
  font-size:11px;color:var(--c-cream);
  letter-spacing:0.32em;
  margin-top:4px;
}
.foot-blurb{font-size:12px;color:var(--c-mist-2);}
.foot-form{display:flex;gap:8px;margin-top:14px;}
.foot-form input{
  flex:1;padding:10px 14px;
  background:rgba(10,21,48,0.6);
  border:1px solid var(--c-line);
  color:var(--c-cream);
  font-size:13px;
  border-radius:6px;
}
.foot-form button{
  padding:10px 18px;
  background:var(--c-amber-1);
  color:var(--c-navy-1);
  border:0;border-radius:6px;
  font-size:12px;font-weight:600;letter-spacing:0.1em;
}
.foot-meta{
  max-width:var(--maxw);margin:48px auto 0;
  padding-top:24px;border-top:1px solid var(--c-line);
  display:flex;justify-content:space-between;
  font-size:11px;color:var(--c-mist-2);
  letter-spacing:0.04em;
}
@media (max-width:900px){
  .foot-grid{grid-template-columns:1fr 1fr;}
  .foot-meta{flex-direction:column;gap:8px;}
}

/* ============================================================
   SUB-PAGES
   ============================================================ */
.sub-hero{
  position:relative;
  height:60vh;min-height:440px;
  display:flex;align-items:flex-end;
  overflow:hidden;
}
.sub-hero-bg{
  position:absolute;inset:0;
  background:linear-gradient(135deg,#0a1530,#050a1c);
}
.sub-hero-bg::after{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 30% 40%,rgba(233,184,100,0.18),transparent 50%),
    radial-gradient(ellipse at 80% 70%,rgba(207,110,58,0.15),transparent 50%);
}
.sub-hero-vignette{
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 0%,rgba(5,10,28,0.85) 100%);
}
.sub-hero-content{
  position:relative;z-index:2;
  padding:0 clamp(28px,7vw,90px) 60px;
  max-width:920px;
}
.crumb{font-size:12px;color:var(--c-mist);letter-spacing:0.06em;}
.crumb.light{color:var(--c-amber-2);}
.crumb a{color:var(--c-amber-1);}
.sub-hero-title{
  font-family:var(--f-kr-serif);
  font-size:clamp(40px,6vw,72px);
  color:var(--c-cream);font-weight:500;
  margin:14px 0 18px;line-height:1.1;
}
.sub-hero-sub{
  font-family:var(--f-display);
  font-size:18px;color:var(--c-mist);
  font-weight:400;letter-spacing:0.04em;
  max-width:580px;margin:0 0 24px;
}
.sub-hero-meta{
  display:flex;flex-wrap:wrap;gap:30px;
  padding-top:18px;border-top:1px solid var(--c-line);
}
.sub-hero-meta span{font-size:12px;color:var(--c-mist-2);letter-spacing:0.18em;text-transform:uppercase;}
.sub-hero-meta strong{display:block;font-family:var(--f-display);font-size:22px;color:var(--c-amber-1);font-weight:500;}

/* === Rooms portfolio-grid === */
.rooms-portfolio{padding-top:80px;}
.port-intro{max-width:880px;margin-bottom:60px;}
.port-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  grid-auto-rows:auto;
  gap:18px;
  max-width:var(--maxw);margin:0 auto;
}
.port-item{
  grid-column:span 2;
  background:#0a1530;
  border:1px solid var(--c-line);
  overflow:hidden;
  transition:transform 0.4s,border-color 0.4s,box-shadow 0.4s;
}
.port-item:hover{
  transform:translateY(-4px);
  border-color:var(--c-amber-1);
  box-shadow:0 16px 60px rgba(0,0,0,0.55);
}
.port-large{grid-column:span 4;}
.port-wide{grid-column:span 3;}
.port-img{
  aspect-ratio:16/10;
  background:linear-gradient(135deg,#1a2a4a,#0a1530);
  position:relative;
}
.port-img::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 30% 40%,rgba(233,184,100,0.18),transparent 55%),
    radial-gradient(circle at 70% 60%,rgba(207,110,58,0.12),transparent 55%);
}
.port-img::after{
  content:attr(data-img);
  position:absolute;bottom:8px;left:12px;
  font-size:9px;color:rgba(255,255,255,0.4);
  letter-spacing:0.18em;
}
.port-large .port-img{aspect-ratio:21/9;}
.port-wide .port-img{aspect-ratio:18/9;}
.port-meta{padding:24px;}
.port-num{
  font-family:var(--f-display);
  font-size:11px;color:var(--c-amber-3);
  letter-spacing:0.18em;
}
.port-meta h3{
  font-family:var(--f-kr-serif);
  font-size:22px;color:var(--c-cream);
  font-weight:500;margin:6px 0 10px;
}
.port-meta p{
  font-size:13.5px;color:var(--c-mist);
  line-height:1.7;margin:0 0 16px;
}
.port-spec{
  list-style:none;padding:14px 0 0;margin:0;
  border-top:1px solid var(--c-line);
  display:grid;grid-template-columns:1fr 1fr;
  gap:6px 16px;
}
.port-spec li{font-size:12px;color:var(--c-mist-2);letter-spacing:0.02em;}
.port-cta{
  text-align:center;margin-top:60px;
}
@media (max-width:1100px){
  .port-grid{grid-template-columns:repeat(4,1fr);}
  .port-item{grid-column:span 2;}
  .port-large,.port-wide{grid-column:span 4;}
}
@media (max-width:600px){
  .port-grid{grid-template-columns:1fr;}
  .port-item,.port-large,.port-wide{grid-column:span 1;}
}

/* === Experience immersive-storyline === */
.sub-main.immersive{padding:0;}
.im-scene{
  position:relative;
  min-height:100vh;
  padding:80px clamp(28px,7vw,90px);
  display:flex;align-items:center;
  overflow:hidden;
  scroll-snap-align:start;
}
.im-bg{
  position:absolute;inset:0;
  background:linear-gradient(135deg,#0a1530,#050a1c);
}
.im-bg::after{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 30% 50%,rgba(233,184,100,0.18),transparent 55%),
    radial-gradient(ellipse at 70% 60%,rgba(207,110,58,0.15),transparent 55%);
}
.im-vignette{
  position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 50%,transparent 30%,rgba(5,10,28,0.85) 100%);
}
.im-dark .im-bg{background:linear-gradient(135deg,#020514,#0a1530);}
.im-content{
  position:relative;z-index:2;
  max-width:680px;
  background:rgba(10,21,48,0.62);
  backdrop-filter:blur(14px);
  border:1px solid var(--c-line-warm);
  padding:48px 44px;
}
.im-left{margin-right:auto;}
.im-right{margin-left:auto;}
.im-center{margin:0 auto;text-align:center;max-width:780px;}
.im-num{
  font-family:var(--f-display);
  font-size:13px;color:var(--c-amber-1);
  letter-spacing:0.32em;text-transform:uppercase;
  display:block;margin-bottom:14px;
}
.im-title{
  font-family:var(--f-kr-serif);
  font-size:clamp(28px,4vw,46px);
  color:var(--c-cream);font-weight:500;
  line-height:1.15;
  margin:0 0 18px;
}
.im-title em{
  font-family:var(--f-display);
  color:var(--c-amber-1);font-style:italic;
}
.im-title.light{color:var(--c-cream);}
.im-title-display{
  font-family:var(--f-kr-serif);
  font-size:clamp(40px,6vw,72px);
  color:var(--c-cream);font-weight:500;
  line-height:1.1;
  margin:0 0 24px;
}
.im-title-display em{
  font-family:var(--f-display);
  color:var(--c-amber-1);font-style:italic;
}
.im-content p{
  font-size:15px;color:var(--c-mist);
  line-height:1.8;margin:0 0 14px;
}
.im-content p.light{color:var(--c-cream);}
.im-bullets{
  list-style:none;padding:18px 0 0;margin:18px 0 0;
  border-top:1px solid var(--c-line);
}
.im-bullets li{font-size:13px;color:var(--c-mist);padding:7px 0;}
.im-bullets.light li{color:var(--c-cream);opacity:0.85;}
.im-lead{
  font-family:var(--f-kr-serif);
  font-size:18px;color:var(--c-cream);
  line-height:1.85;font-weight:300;
}
.im-scroll-cue{
  margin-top:36px;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  font-size:10px;letter-spacing:0.4em;color:var(--c-mist-2);
}
.im-closing{
  background:linear-gradient(180deg,#0a1530 0%,#050a1c 100%);
}
.im-closing .im-content{background:transparent;backdrop-filter:none;border:0;}
.im-ctas{display:flex;justify-content:center;gap:14px;margin-top:28px;flex-wrap:wrap;}

/* === Booking interactive-map + form === */
.book-grid-sec{padding-top:80px;}
.book-grid{
  display:grid;grid-template-columns:1.2fr 1fr;
  gap:36px;
  max-width:var(--maxw);margin:0 auto;
}
.book-map-card,.book-form-card{
  background:linear-gradient(135deg,#0a1530,#1a2a4a);
  border:1px solid var(--c-line);
  padding:36px 32px;
}
.bm-head,.bf-head{margin-bottom:24px;}
.bm-title,.bf-title{
  font-family:var(--f-kr-serif);
  font-size:28px;color:var(--c-cream);
  font-weight:500;margin:0 0 10px;
}
.bm-title em,.bf-title em{
  font-family:var(--f-display);
  color:var(--c-amber-1);font-style:italic;
}
.bf-sub{font-size:13.5px;color:var(--c-mist);line-height:1.65;margin:0;}
.bm-map{
  width:100%;
  aspect-ratio:5/4;
  background:#050a1c;
  border:1px solid var(--c-line);
  margin-bottom:20px;
  overflow:hidden;
}
.bm-map svg{width:100%;height:100%;display:block;}
.map-pin{cursor:none;}
.map-pin-aura circle{transform-origin:center;animation:pinPulse 3.6s ease-in-out infinite;}
@keyframes pinPulse{
  0%,100%{transform:scale(1);}
  50%{transform:scale(1.3);}
}
.bm-routes{display:flex;flex-direction:column;gap:8px;}
.bm-route{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;
  font-size:13px;
  background:rgba(5,10,28,0.5);
  border:1px solid var(--c-line);
}
.rt-num{
  font-family:var(--f-display);
  color:var(--c-amber-1);
  font-size:12px;
}
.rt-from,.rt-to{color:var(--c-cream);}
.rt-arrow{color:var(--c-amber-1);}
.rt-time{margin-left:auto;color:var(--c-mist-2);font-size:12px;letter-spacing:0.04em;}

.book-form{display:flex;flex-direction:column;gap:14px;}
.bf-row{display:flex;flex-direction:column;gap:6px;}
.bf-label{
  font-size:11px;color:var(--c-amber-1);
  letter-spacing:0.18em;text-transform:uppercase;
}
.bf-row input,.bf-row select,.bf-row textarea{
  padding:11px 14px;
  background:rgba(5,10,28,0.65);
  border:1px solid var(--c-line);
  color:var(--c-cream);
  font-family:var(--f-body);font-size:14px;
  border-radius:6px;
  transition:border-color 0.2s;
}
.bf-row input:focus,.bf-row select:focus,.bf-row textarea:focus{
  outline:none;border-color:var(--c-amber-1);
}
.bf-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.bf-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:13px;color:var(--c-cream);}
.bf-checks label{display:flex;align-items:center;gap:7px;cursor:none;}
.bf-fineprint{font-size:11px;color:var(--c-mist-2);margin:6px 0 0;line-height:1.6;}
.bf-thanks{
  text-align:center;
  padding:36px 24px;
  border:1px solid var(--c-amber-1);
  background:rgba(233,184,100,0.08);
}
.bf-thanks h3{
  font-family:var(--f-kr-serif);
  font-size:24px;color:var(--c-amber-1);
  margin:0 0 10px;font-weight:500;
}
.bf-thanks p{font-size:14px;color:var(--c-mist);margin:0;}

@media (max-width:1000px){
  .book-grid{grid-template-columns:1fr;}
}

/* book-photos */
.book-photos-sec{
  background:#050a1c;
  border-top:1px solid var(--c-line);
}
.book-photo-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  grid-auto-rows:160px;gap:10px;
  max-width:var(--maxw);margin:0 auto;
}
.bp-item{
  background:linear-gradient(135deg,#1a2a4a,#0a1530);
  position:relative;
}
.bp-item::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 50% 50%,rgba(233,184,100,0.15),transparent 65%);
}
.bp-item::after{
  content:attr(data-img);
  position:absolute;bottom:6px;left:8px;
  font-size:9px;color:rgba(255,255,255,0.35);
  letter-spacing:0.16em;
}
.bp-large{grid-column:span 2;grid-row:span 2;}
@media (max-width:900px){
  .book-photo-grid{grid-template-columns:repeat(2,1fr);}
  .bp-large{grid-column:span 2;grid-row:span 1;}
}

/* book-contact + faq */
.book-contact-sec{
  background:linear-gradient(180deg,#050a1c 0%,#0a1530 100%);
  border-top:1px solid var(--c-line);
}
.bc-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:48px;max-width:var(--maxw);margin:0 auto;
}
.bc-list{list-style:none;padding:0;margin:24px 0 0;}
.bc-list li{
  display:grid;grid-template-columns:140px 1fr;gap:18px;
  padding:14px 0;
  border-bottom:1px solid var(--c-line);
  font-size:14px;color:var(--c-mist);
}
.bc-list strong{
  color:var(--c-amber-1);font-weight:500;
  font-size:12px;letter-spacing:0.12em;text-transform:uppercase;
}
.bc-faq details{
  border-bottom:1px solid var(--c-line);
  padding:14px 0;
}
.bc-faq summary{
  font-family:var(--f-kr-serif);
  font-size:16px;color:var(--c-cream);
  cursor:none;list-style:none;
  font-weight:500;
  padding-right:24px;position:relative;
}
.bc-faq summary::after{
  content:"+";position:absolute;right:0;top:0;
  font-size:20px;color:var(--c-amber-1);
  transition:transform 0.3s;
}
.bc-faq details[open] summary::after{transform:rotate(45deg);}
.bc-faq p{font-size:13.5px;color:var(--c-mist);line-height:1.7;margin:10px 0 0;}
@media (max-width:900px){
  .bc-grid{grid-template-columns:1fr;}
}

/* ============================================================
   Mobile breakpoints
   ============================================================ */
@media (max-width:768px){
  .sec-title-display{font-size:34px;}
  .hero-title{font-size:38px;}
  .sec{padding:64px 22px;}
  .hero-stamp{display:none;}
  .demo-watermark{font-size:10px;padding:5px 10px;bottom:10px;right:10px;}
  .bf-row-2,.bf-checks{grid-template-columns:1fr;}
  .im-content{padding:32px 24px;}
}

/* V3.4.7 (사용자 요청 2026-05-01): 한글 hero-title 크게 + 영문 sub 2줄 복원 (NO TEXT 새 hero_01_v35.png적용으로 안 겹침) */
.sec-hero .hero-content {
  position: relative !important;
  left: auto !important;
  bottom: auto !important;
  top: auto !important;
  max-width: 880px !important;
  text-align: left !important;
  padding: 0 0 clamp(64px,10vw,120px) clamp(40px,6vw,90px) !important;
}
/* 한글 hero-title 폰트 원래대로 (큰 글씨) */
.sec-hero .hero-title {
  font-size: clamp(38px, 6vw, 82px) !important;
  line-height: 1.05 !important;
  margin-bottom: 28px !important;
}
.sec-hero .hero-title .hero-line-1,
.sec-hero .hero-title .hero-line-2,
.sec-hero .hero-title .hero-line-3 {
  display: block;
}
/* 영문 sub 2줄 — 작게 + 흰색 + letter-spacing */
.sec-hero .hero-sub-en {
  font-family: var(--f-display, 'Cormorant Garamond', serif);
  font-size: clamp(13px, 1.2vw, 18px);
  color: rgba(245, 235, 200, 0.92);
  letter-spacing: 0.16em;
  line-height: 1.6;
  margin: 0 0 6px 0;
  font-weight: 400;
  text-transform: uppercase;
}
.sec-hero .hero-sub-line-1 {
  margin-top: 8px;
}
.sec-hero .hero-sub-line-2 {
  margin-bottom: 28px;
  font-size: clamp(11px, 1vw, 15px);
  color: rgba(245, 235, 200, 0.78);
  letter-spacing: 0.1em;
  text-transform: none;
  font-style: italic;
}

/* V3.4.8 (사용자 요청 2026-05-01): 모바일 hero 이미지 좌우 슬라이드 애니메이션 (30초 반복) */
@media (max-width: 768px) {
  .hero-bg-mid {
    background-size: auto 100% !important;
    animation: heroPanLR 18s ease-in-out infinite alternate !important;
  }
  .hero-bg-far {
    background-size: auto 100% !important;
    animation: heroPanLR 18s ease-in-out infinite alternate !important;
    animation-delay: 0s !important;
  }
}
@keyframes heroPanLR {
  0% { background-position: 0% center; }
  100% { background-position: 100% center; }
}
