/* SONO Membership Consulting - bright luxury skin (Tailwind CDN utility-first) */
body{ font-family:'Noto Sans KR',sans-serif; background-color:#ffffff; color:#16233c; overflow-x:hidden; }
h1,h2,h3,.serif{ font-family:'Noto Serif KR',serif; }

/* light "premium card" look — kept the .glass class name to avoid touching every template */
.glass{ background:#ffffff; border:1px solid #ece4d0; box-shadow:0 4px 20px rgba(20,33,56,.04); transition:all .3s ease; }
.glass:hover{ border-color:rgba(184,134,62,.5); transform:translateY(-5px); box-shadow:0 20px 40px -12px rgba(184,134,62,.18); }

.gold-grad{ background:linear-gradient(135deg,#B8863E 0%,#D4AF37 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.gold-btn{ background:linear-gradient(135deg,#C59A3F 0%,#E8C162 100%); color:#16233c; transition:all .3s ease; }
.gold-btn:hover{ box-shadow:0 8px 24px rgba(197,154,63,.35); filter:brightness(1.05); transform:translateY(-2px); }

.input-line{ background:transparent; border:none; border-bottom:1px solid #d9d2bd; color:#16233c; border-radius:0; outline:none; padding:12px 0; transition:border-color .3s; }
.input-line:focus{ border-bottom:1px solid #B8863E; }
.input-line::placeholder{ color:#9aa3af; font-weight:300; }

/* scroll reveal */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in-view{ opacity:1; transform:none; }

/* nav dropdown (unused currently, kept for future) */
.nav-drop{ opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .15s ease, transform .15s ease; }
.nav-item:hover .nav-drop{ opacity:1; visibility:visible; transform:translateY(0); }

section[id]{ scroll-margin-top:96px; }

/* editorial resort card — flat photo + hairline caption, no boxed-shadow-card look */
.resort-card .thumb{ overflow:hidden; }
.resort-card .thumb img{ transition:transform .8s cubic-bezier(.2,.8,.2,1); }
.resort-card:hover .thumb img{ transform:scale(1.045); }
.resort-card .meta{ border-top:1px solid #e5ddc8; transition:border-color .35s ease; }
.resort-card:hover .meta{ border-color:#B8863E; }
.resort-card h3{ transition:color .3s ease; }
.resort-card:hover h3{ color:#B8863E; }

/* quiet secondary action — underline draws in on hover instead of a filled pill */
.btn-line{ position:relative; }
.btn-line::after{ content:''; position:absolute; left:0; right:100%; bottom:-3px; height:1px; background:currentColor; opacity:.6; transition:right .35s ease; }
.btn-line:hover::after{ right:0; }
