/* Home appointment — consultation form + editorial concierge visual */
#appointment .appointment-head{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(360px,.9fr);
  grid-template-rows:auto auto;
  column-gap:clamp(48px,6vw,94px);
  align-items:end;
  max-width:none;
}

#appointment .appointment-head .section-eyebrow{
  grid-column:1;
  grid-row:1;
}

#appointment .cta-title{
  grid-column:1;
  grid-row:2;
  margin-bottom:0;
}

#appointment .cta-desc{
  position:relative;
  grid-column:2;
  grid-row:1 / span 2;
  align-self:end;
  max-width:none;
  margin:0 0 7px;
  padding:20px 4px 20px 30px;
  border-top:1px solid rgba(89,96,80,.24);
  border-bottom:1px solid rgba(89,96,80,.18);
}

#appointment .cta-desc::before{
  content:"";
  position:absolute;
  top:20px;
  bottom:20px;
  left:0;
  width:3px;
  background:var(--gold);
}

#appointment .appointment-panel{
  grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);
  gap:22px;
}

#appointment .appointment-concierge{
  position:relative;
  min-height:100%;
  overflow:hidden;
  background:#293124;
  box-shadow:0 28px 70px rgba(72,82,55,.13);
  isolation:isolate;
}

#appointment .appointment-concierge>img{
  position:absolute;
  inset:0;
  z-index:-2;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 28%;
  filter:saturate(.82) contrast(1.02);
}

#appointment .appointment-concierge::before{
  content:"365";
  position:absolute;
  z-index:0;
  right:-20px;
  top:18px;
  color:rgba(230,238,203,.12);
  font-family:'Montserrat',sans-serif;
  font-size:118px;
  font-weight:700;
  line-height:1;
  letter-spacing:-.08em;
  pointer-events:none;
}

#appointment .appointment-concierge::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(180deg,rgba(28,34,25,.08) 0%,rgba(28,34,25,.18) 36%,rgba(25,31,22,.94) 100%),
    linear-gradient(90deg,rgba(25,31,22,.28),rgba(25,31,22,0) 65%);
  pointer-events:none;
}

#appointment .appointment-concierge-inner{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:38px 38px 32px;
  color:#fff;
}

#appointment .appointment-concierge-kicker{
  color:#dce9b9;
  font-family:'Montserrat',sans-serif;
  font-size:9px;
  font-weight:700;
  letter-spacing:.24em;
}

#appointment .appointment-concierge-copy{
  margin-top:auto;
  padding-top:220px;
}

#appointment .appointment-concierge-copy>p{
  font-size:clamp(24px,2vw,32px);
  font-weight:350;
  line-height:1.5;
  letter-spacing:-.05em;
}

#appointment .appointment-concierge-copy>p strong{
  color:#dce9b9;
  font-weight:650;
}

#appointment .appointment-concierge-copy>span{
  display:block;
  margin-top:14px;
  color:rgba(255,255,255,.7);
  font-size:12.5px;
  line-height:1.78;
}

#appointment .appointment-concierge-contact{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-top:27px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.2);
}

#appointment .appointment-concierge-contact a,
#appointment .appointment-concierge-contact p{
  color:#fff;
  text-decoration:none;
}

#appointment .appointment-concierge-contact small{
  display:block;
  margin-bottom:6px;
  color:rgba(220,233,185,.72);
  font-family:'Montserrat',sans-serif;
  font-size:7.5px;
  font-weight:700;
  letter-spacing:.18em;
}

#appointment .appointment-concierge-contact strong{
  display:block;
  font-family:'Montserrat','Noto Sans KR',sans-serif;
  font-size:17px;
  font-weight:650;
  letter-spacing:-.015em;
  white-space:nowrap;
}

#appointment .appointment-concierge-actions{
  display:flex;
  gap:24px;
  margin-top:25px;
}

#appointment .appointment-concierge-actions a{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:rgba(255,255,255,.88);
  font-size:12px;
  font-weight:550;
  text-decoration:none;
  transition:color .25s ease,transform .25s ease;
}

#appointment .appointment-concierge-actions a span{
  color:#dce9b9;
  font-family:'Montserrat',sans-serif;
}

#appointment .appointment-concierge-actions a:hover{
  color:#dce9b9;
  transform:translateY(-2px);
}

@media(max-width:1024px){
  #appointment .appointment-head{
    grid-template-columns:1fr;
    grid-template-rows:auto;
    max-width:760px;
  }

  #appointment .appointment-head .section-eyebrow,
  #appointment .cta-title,
  #appointment .cta-desc{
    grid-column:1;
    grid-row:auto;
  }

  #appointment .cta-title{
    margin-bottom:18px;
  }

  #appointment .cta-desc{
    max-width:680px;
    margin:0;
    padding:0;
    border:0;
  }

  #appointment .cta-desc::before{
    content:none;
  }

  #appointment .appointment-panel{
    grid-template-columns:1fr;
    max-width:760px;
  }

  #appointment .appointment-concierge{
    min-height:600px;
  }
}

@media(max-width:768px){
  #appointment .appointment-concierge{
    min-height:540px;
  }

  #appointment .appointment-concierge-inner{
    padding:28px 24px 25px;
  }

  #appointment .appointment-concierge::before{
    right:-12px;
    font-size:92px;
  }

  #appointment .appointment-concierge-copy{
    padding-top:180px;
  }

  #appointment .appointment-concierge-contact{
    align-items:flex-start;
    flex-direction:column;
    gap:16px;
  }
}

@media(max-width:480px){
  #appointment .appointment-concierge{
    min-height:500px;
  }

  #appointment .appointment-concierge-copy{
    padding-top:160px;
  }

  #appointment .appointment-concierge-copy>p{
    font-size:23px;
  }
}
