*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --gold:#b8935a;--gold-light:#d4aa70;--gold-pale:#faf3e8;
  --deep:#1c2e24;--green:#2f5d42;--green-mid:#4a8060;
  --cream:#fdf8f0;--text:#2a2a2a;--text-soft:#5a5a5a;--border:#e0d0b0;
}
html{scroll-behavior:smooth}
body{font-family:'EB Garamond',Georgia,serif;background:var(--cream);color:var(--text);line-height:1.75;overflow-x:hidden}

/* ── NAV ── */
header{position:sticky;top:0;z-index:300;background:rgba(253,248,240,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.nav-inner{max-width:1120px;margin:0 auto;padding:14px 28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.logo{font-family:'Cinzel',serif;font-size:17px;font-weight:600;color:var(--deep);letter-spacing:.04em;text-decoration:none;line-height:1.2}
.logo span{color:var(--gold)}
nav ul{list-style:none;display:flex;gap:20px;flex-wrap:wrap}
nav ul li a{font-family:'Cinzel',serif;font-size:10.5px;letter-spacing:.08em;text-decoration:none;color:var(--text-soft);transition:color .2s}
nav ul li a:hover,nav ul li a.active{color:var(--gold)}
.lang-switcher{position:fixed;top:14px;right:14px;z-index:500;display:flex;gap:3px;padding:3px;border-radius:999px;background:rgba(253,248,240,.9);border:1px solid rgba(184,147,90,.2);backdrop-filter:blur(12px);box-shadow:0 6px 18px rgba(28,46,36,.08)}
.lang-btn{border:none;border-radius:999px;padding:4px 9px;font-family:'Cinzel',serif;font-size:8.6px;font-weight:600;letter-spacing:.08em;background:transparent;color:rgba(28,46,36,.9);cursor:pointer;transition:background .18s,color .18s,transform .18s,box-shadow .18s;min-width:46px;line-height:1.05;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,255,255,.18)}
.lang-btn.active{background:rgba(28,46,36,.96);color:#fff0cf;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.lang-btn:hover{background:rgba(28,46,36,.07);color:var(--deep);transform:translateY(-1px)}

/* ── HERO ── */
.hero{
  min-height:100vh;
  background:
    linear-gradient(170deg,rgba(20,38,28,.96) 0%,rgba(28,46,36,.82) 50%,rgba(28,46,36,.68) 100%),
    url('https://images.unsplash.com/photo-1504052434569-70ad5836ab65?w=1600&q=80') center/cover no-repeat;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:80px 24px 60px;position:relative;overflow:hidden;
}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 60%,rgba(184,147,90,.15) 0%,transparent 65%)}
.hero-eyebrow{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.3em;color:var(--gold-light);text-transform:uppercase;margin-bottom:24px;opacity:0;animation:up .8s .2s forwards}
.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(48px,9vw,96px);font-weight:600;color:#fff;line-height:1.05;margin-bottom:18px;opacity:0;animation:up .9s .4s forwards}
.hero h1 em{font-style:italic;color:var(--gold-light);display:block}
.hero-lead{font-family:'Cormorant Garamond',serif;font-size:clamp(18px,2.8vw,24px);font-style:italic;color:rgba(255,255,255,.76);max-width:640px;margin-bottom:44px;opacity:0;animation:up .9s .6s forwards;line-height:1.6}
html[lang="ko"] .hero h1{font-size:clamp(38px,7.4vw,82px);line-height:1.08;letter-spacing:-.02em}
html[lang="ko"] .hero-lead{font-size:clamp(16px,2.5vw,22px);max-width:760px}

/* HERO SEARCH */
.hero-search{width:100%;max-width:720px;opacity:0;animation:up .9s .8s forwards}
.search-wrap{display:flex;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 12px 48px rgba(0,0,0,.35)}
.search-wrap input{flex:1;padding:20px 24px;font-family:'EB Garamond',serif;font-size:19px;border:none;outline:none;color:var(--text)}
.search-wrap input::placeholder{color:#bbb}
#hero-clear{display:none;padding:20px 14px;background:#fff;border:none;font-size:20px;color:#bbb;cursor:pointer}
#hero-clear:hover{color:var(--gold)}
.search-wrap button.go{padding:20px 32px;background:var(--gold);color:#fff;border:none;font-family:'Cinzel',serif;font-size:12px;letter-spacing:.12em;cursor:pointer;transition:background .2s;white-space:nowrap}
.search-wrap button.go:hover{background:var(--deep)}
.chip-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px}
.chip{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.1em;padding:7px 16px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.28);border-radius:24px;color:rgba(255,255,255,.88);cursor:pointer;transition:background .2s,color .2s}
.chip:hover{background:rgba(184,147,90,.35);color:#fff;border-color:var(--gold-light)}

/* scroll hint */
.scroll-hint{margin-top:48px;opacity:0;animation:up .9s 1.2s forwards;display:flex;flex-direction:column;align-items:center;gap:8px}
.scroll-hint span{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.2em;color:rgba(255,255,255,.5);text-transform:uppercase}
.scroll-arrow{width:22px;height:22px;border-right:1.5px solid rgba(255,255,255,.4);border-bottom:1.5px solid rgba(255,255,255,.4);transform:rotate(45deg);animation:bounce 1.8s infinite}
@keyframes bounce{0%,100%{transform:rotate(45deg) translateY(0)}50%{transform:rotate(45deg) translateY(5px)}}
@keyframes up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}

/* ── SEARCH RESULTS ── */
#results-section{display:none;background:var(--gold-pale);border-bottom:1px solid var(--border)}
.results-inner{max-width:1120px;margin:0 auto;padding:48px 28px}
.res-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:10px}
.res-title{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:600;color:var(--deep)}
.res-count{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.1em;color:var(--gold)}
#results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}
#no-results{display:none;text-align:center;padding:44px 0}
#no-results p{font-family:'Cormorant Garamond',serif;font-size:22px;font-style:italic;color:var(--text-soft);margin-bottom:12px}
#no-results a{font-family:'Cinzel',serif;font-size:12px;letter-spacing:.1em;color:var(--gold);text-decoration:none}
.res-card{background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden;opacity:0;animation:cardIn .3s ease forwards}
@keyframes cardIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.res-card-head{background:var(--deep);padding:16px 22px;display:flex;justify-content:space-between;align-items:center}
.res-card-head h3{font-family:'Cinzel',serif;font-size:13px;letter-spacing:.08em;color:#fff}
.res-cat{font-family:'Cinzel',serif;font-size:9px;letter-spacing:.15em;color:var(--gold-light);text-transform:uppercase}
.res-card-body{padding:20px 22px}
.res-ref-note{font-size:14px;color:var(--text-soft);font-style:italic;margin-bottom:16px;line-height:1.6}
.res-verse{border-left:2px solid var(--gold);padding:11px 15px;background:var(--gold-pale);border-radius:0 4px 4px 0;margin-bottom:10px}
.res-verse p{font-family:'Cormorant Garamond',serif;font-size:17px;font-style:italic;color:var(--deep);line-height:1.5;margin-bottom:5px}
.res-verse cite{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.1em;color:var(--gold)}
mark{background:rgba(184,147,90,.28);color:inherit;border-radius:2px;padding:0 2px}

/* ── SHARED ── */
.section{max-width:1120px;margin:0 auto;padding:72px 28px}
.s-lbl{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.25em;color:var(--gold);text-transform:uppercase;text-align:center;margin-bottom:10px}
.s-title{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,5vw,52px);font-weight:600;color:var(--deep);text-align:center;margin-bottom:14px}
.s-intro{font-size:18px;color:var(--text-soft);text-align:center;max-width:700px;margin:0 auto 52px;font-style:italic;line-height:1.75}

.res-title,
.s-title,
.g-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.42em;
}
.tc-head h3,
.about-card h3{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:.42em;
}
.res-title::before,
.s-title::before,
.g-title::before,
.tc-head h3::before,
.about-card h3::before{
  font-size:.72em;
  line-height:1;
}
.res-title::before{content:'🔎';}
#emotions .s-title::before{content:'💗';}
#situations .s-title::before{content:'🧭';}
.promise-band .s-title::before{content:'👑';}
#topics .s-title::before{content:'📖';}
#seniors .s-title::before{content:'🌅';}
#about .s-title::before{content:'🌿';}
#gallery .g-title::before{content:'🖼️';}
#ai-summary .s-title::before{content:'🤖';}
#living-word .s-title::before{content:'🎙️';}
#fellowship .s-title::before{content:'💬';}
.topic-col-card:nth-child(1) .tc-head h3::before{content:'💗';}
.topic-col-card:nth-child(2) .tc-head h3::before{content:'🪴';}
.topic-col-card:nth-child(3) .tc-head h3::before{content:'✨';}
.about-card:nth-child(1) h3::before{content:'🌱';}
.about-card:nth-child(2) h3::before{content:'📘';}
.about-card:nth-child(3) h3::before{content:'👤';}
.about-card:nth-child(4) h3::before{content:'🤝';}

/* ── VOTD BAND ── */
.votd-band{background:var(--deep);padding:80px 28px;position:relative;overflow:hidden;text-align:center}
.votd-band::before{content:'\2756';position:absolute;font-size:420px;color:rgba(255,255,255,.02);top:-110px;left:-80px;line-height:1}
.votd-inner{max-width:820px;margin:0 auto;position:relative}
.votd-lbl{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.25em;color:var(--gold);text-transform:uppercase;margin-bottom:28px}
.votd-q{font-family:'Cormorant Garamond',serif;font-size:clamp(26px,4vw,46px);font-style:italic;color:#fff;line-height:1.4;margin-bottom:20px}
.votd-ref{font-family:'Cinzel',serif;font-size:14px;letter-spacing:.14em;color:var(--gold-light);margin-bottom:18px}
.votd-note{font-size:16px;color:rgba(255,255,255,.58);font-style:italic;line-height:1.8;max-width:580px;margin:0 auto}

/* ── EMOTION CARDS ── */
.emotion-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}
.ec{background:#fff;border:1px solid var(--border);border-radius:8px;padding:24px 18px;text-align:center;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden;user-select:none}
.ec::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--gold);transform:scaleX(0);transition:transform .25s;transform-origin:left}
.ec:hover,.ec.open{transform:translateY(-4px);box-shadow:0 14px 36px rgba(0,0,0,.11);border-color:var(--gold-light)}
.ec:hover::after,.ec.open::after{transform:scaleX(1)}
.ec.open{background:var(--gold-pale)}
.ec-icon{font-size:34px;margin-bottom:10px}
.ec h3{font-family:'Cinzel',serif;font-size:13px;letter-spacing:.08em;color:var(--deep);margin-bottom:6px}
.ec-hint{font-family:'EB Garamond',serif;font-size:13px;font-style:italic;color:var(--text-soft);line-height:1.4;margin-bottom:4px}
.ec-refs{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.06em;color:var(--gold)}
.ec-tap{font-family:'Cinzel',serif;font-size:9.5px;letter-spacing:.1em;color:var(--gold-light);text-transform:uppercase;margin-top:10px;opacity:.7}

/* Emotion verse panel below grid */
#ec-panel{display:none;background:var(--deep);border-radius:8px;padding:36px 38px;margin-top:22px;color:#fff;animation:cardIn .3s ease}
.ecp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;flex-wrap:wrap;gap:10px}
.ecp-name{font-family:'Cinzel',serif;font-size:16px;letter-spacing:.1em;color:var(--gold-light)}
.ecp-close{background:rgba(255,255,255,.1);border:none;color:#fff;font-size:20px;cursor:pointer;border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;transition:background .2s}
.ecp-close:hover{background:rgba(184,147,90,.4)}
.ecp-ref{font-size:16px;font-style:italic;color:rgba(255,255,255,.65);margin-bottom:24px;line-height:1.7}
.ecp-verses{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.ecp-v{border-left:2px solid var(--gold);padding:14px 18px;background:rgba(255,255,255,.06);border-radius:0 6px 6px 0}
.ecp-v blockquote{font-family:'Cormorant Garamond',serif;font-size:19px;font-style:italic;color:#fff;line-height:1.55;margin-bottom:8px}
.ecp-v cite{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.12em;color:var(--gold-light)}

/* ── SITUATIONS ── */
.sit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.sit-card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:30px 26px;transition:transform .2s,box-shadow .2s;cursor:pointer;position:relative;overflow:hidden}
.sit-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold);transform:scaleY(0);transition:transform .3s;transform-origin:bottom}
.sit-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.09)}
.sit-card:hover::before{transform:scaleY(1)}
.sit-tag{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.18em;color:var(--gold);text-transform:uppercase;margin-bottom:10px}
.sit-card h3{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;color:var(--deep);margin-bottom:9px;line-height:1.2}
.sit-desc{font-size:15px;color:var(--text-soft);line-height:1.6;margin-bottom:16px}
.sit-v{border-left:2px solid var(--gold);padding:11px 14px;background:var(--gold-pale);border-radius:0 4px 4px 0;margin-bottom:10px}
.sit-v p{font-family:'Cormorant Garamond',serif;font-size:16px;font-style:italic;color:var(--deep);line-height:1.5;margin-bottom:4px}
.sit-v span{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.1em;color:var(--gold)}

/* ── TOPICS (clickable) ── */
.topics-bg{background:var(--gold-pale);padding:72px 28px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.topics-inner{max-width:1120px;margin:0 auto}
.topics-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:26px;margin-top:44px}
.topic-col-card{background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden}
.tc-head{background:var(--deep);padding:18px 24px}
.tc-head h3{font-family:'Cinzel',serif;font-size:13px;letter-spacing:.12em;color:var(--gold-light);text-transform:uppercase}
.topic-item{border-bottom:1px solid var(--border)}
.topic-item:last-child{border-bottom:none}
.topic-btn{width:100%;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:14px 22px;font-family:'EB Garamond',serif;font-size:17px;color:var(--text);transition:background .18s,color .18s;text-align:left;gap:8px}
.topic-btn:hover{background:var(--gold-pale);color:var(--green)}
.topic-btn.open{background:var(--gold-pale);color:var(--deep);font-weight:500}
.t-icon{font-size:16px;color:var(--gold);transition:transform .25s;flex-shrink:0}
.topic-btn.open .t-icon{transform:rotate(45deg)}
.topic-panel{max-height:0;overflow:hidden;transition:max-height .4s ease;background:var(--gold-pale)}
.topic-panel.open{max-height:900px}
.tp-inner{padding:4px 22px 20px}
.tp-note{font-size:14px;color:var(--text-soft);font-style:italic;margin-bottom:14px;padding-top:14px;line-height:1.65}
.tp-v{border-left:2px solid var(--gold);padding:11px 15px;background:#fff;border-radius:0 4px 4px 0;margin-bottom:9px}
.tp-v p{font-family:'Cormorant Garamond',serif;font-size:17px;font-style:italic;color:var(--deep);line-height:1.5;margin-bottom:5px}
.tp-v cite{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.1em;color:var(--gold)}

/* ── PROMISE BAND ── */
.promise-band{background:linear-gradient(135deg,var(--green) 0%,var(--deep) 100%);padding:76px 28px;text-align:center}
.promise-inner{max-width:820px;margin:0 auto}
.promise-band .s-lbl{color:var(--gold-light)}
.promise-band .s-title{color:#fff}
.promise-q{font-family:'Cormorant Garamond',serif;font-size:clamp(22px,3.5vw,38px);font-style:italic;color:#fff;line-height:1.5;margin:28px 0 14px}
.promise-ref{font-family:'Cinzel',serif;font-size:13px;letter-spacing:.14em;color:var(--gold-light);margin-bottom:22px}
.promise-note{font-size:17px;color:rgba(255,255,255,.65);font-style:italic;line-height:1.8;max-width:620px;margin:0 auto}

/* ── SENIORS ── */
.senior-section{padding:76px 28px;background:var(--cream)}
.senior-inner{max-width:1120px;margin:0 auto}
.senior-verse-box{background:var(--deep);border-radius:8px;padding:32px 38px;text-align:center;margin:0 auto 44px;max-width:680px}
.senior-verse-box p{font-family:'Cormorant Garamond',serif;font-size:clamp(19px,2.8vw,26px);font-style:italic;color:#fff;line-height:1.55;margin-bottom:12px}
.senior-verse-box cite{font-family:'Cinzel',serif;font-size:12px;letter-spacing:.12em;color:var(--gold-light)}
.senior-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
.sc{background:#fff;border:1px solid var(--border);border-radius:8px;padding:26px 22px}
.sc .icon{font-size:30px;margin-bottom:12px}
.sc h4{font-family:'Cinzel',serif;font-size:12px;letter-spacing:.1em;color:var(--gold);margin-bottom:10px;text-transform:uppercase}
.sc-verse{font-family:'Cormorant Garamond',serif;font-size:16px;font-style:italic;color:var(--deep);margin-bottom:6px;line-height:1.5}
.sc-ref{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.08em;color:var(--gold)}

/* ── ABOUT ── */
.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin-top:42px}
.about-card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:28px 24px}
.about-card h3{font-family:'Cinzel',serif;font-size:12.5px;letter-spacing:.1em;color:var(--gold);margin-bottom:14px;text-transform:uppercase}
.about-card p{font-size:15px;color:var(--text-soft);line-height:1.7}

/* ── DIVIDER ── */
.divider{text-align:center;padding:10px 0 50px}
.dline{display:flex;align-items:center;justify-content:center;gap:16px;max-width:420px;margin:0 auto}
.dline::before,.dline::after{content:'';flex:1;height:1px;background:var(--border)}
.dsym{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--gold)}

/* ── MODAL ── */
#modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:500;align-items:center;justify-content:center;padding:24px}
#modal-overlay.show{display:flex}
#modal-box{background:#fff;border-radius:10px;max-width:680px;width:100%;max-height:88vh;overflow-y:auto;position:relative;animation:cardIn .25s ease}
.modal-close{position:absolute;top:16px;right:18px;background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-soft);line-height:1;transition:color .2s}
.modal-close:hover{color:var(--gold)}
.modal-head{background:var(--deep);border-radius:10px 10px 0 0;padding:26px 52px 26px 28px}
.modal-icon{font-size:30px;margin-bottom:10px}
.modal-cat{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.18em;color:var(--gold-light);text-transform:uppercase;margin-bottom:6px}
.modal-head h2{font-family:'Cinzel',serif;font-size:17px;letter-spacing:.08em;color:#fff}
.modal-body{padding:28px}
.modal-note{font-size:16px;color:var(--text-soft);font-style:italic;margin-bottom:22px;line-height:1.7}
.modal-v{border-left:2px solid var(--gold);padding:14px 18px;background:var(--gold-pale);border-radius:0 6px 6px 0;margin-bottom:14px}
.modal-v blockquote{font-family:'Cormorant Garamond',serif;font-size:19px;font-style:italic;color:var(--deep);line-height:1.55;margin-bottom:8px}
.modal-v cite{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.1em;color:var(--gold)}

/* ── FOOTER ── */
footer{background:var(--deep);color:rgba(255,255,255,.5);text-align:center;padding:44px 28px;border-top:1px solid rgba(255,255,255,.07)}
.footer-logo{font-family:'Cinzel',serif;font-size:18px;color:#fff;margin-bottom:12px;display:block;letter-spacing:.04em}
footer p{font-size:14px;line-height:2.1}
footer a{color:var(--gold);text-decoration:none}
footer a:hover{color:var(--gold-light)}
.footer-esv{font-size:12px;color:rgba(255,255,255,.28);margin-top:16px;line-height:1.7}

/* ── MOBILE ── */
@media(max-width:680px){
  .lang-switcher{top:12px;right:12px}
  .lang-btn{padding:4px 8px;font-size:8.2px;min-width:42px}
  .hero{min-height:auto;padding:100px 20px 60px}
  .nav-inner{padding:13px 16px}
  nav ul{gap:12px}
  #ec-panel{padding:24px 18px}
  .ecp-verses{grid-template-columns:1fr}
  .search-wrap input{font-size:16px;padding:16px 14px}
  .search-wrap button.go{padding:16px 18px;font-size:11px}
  .topics-cols{grid-template-columns:1fr}
  #results-grid{grid-template-columns:1fr}
  .modal-body{padding:20px}
  .modal-v blockquote{font-size:17px}
}

    /* ── DUAL TRANSLATION VERSES ── */
    .dual-verse { margin-bottom: 12px; border-radius: 6px; overflow: hidden; border: 1px solid var(--border); }
    .dv-tabs { display: flex; border-bottom: 1px solid var(--border); }
    .dv-tab { font-family: 'Cinzel', serif; font-size: 10px; letter-spacing: .12em; padding: 7px 16px; cursor: pointer; border: none; background: #fff; color: var(--text-soft); transition: background .18s, color .18s; flex: 1; text-align: center; }
    .dv-tab.active { background: var(--deep); color: var(--gold-light); }
    .dv-content { display: none; padding: 14px 16px; background: var(--gold-pale); }
    .dv-content.active { display: block; }
    .dv-content blockquote, .dv-content p { font-family: 'Cormorant Garamond', serif; font-size: 17px; font-style: italic; color: var(--deep); line-height: 1.55; margin-bottom: 6px; }
    .dv-content cite { font-family: 'Cinzel', serif; font-size: 10px; letter-spacing: .1em; color: var(--gold); }
    /* Modal dual */
    .modal-dv { margin-bottom: 14px; border-radius: 6px; overflow: hidden; border: 1px solid var(--border); }
    .modal-dv .dv-tabs { border-bottom: 1px solid var(--border); }
    .modal-dv .dv-tab { background: #f5f5f5; }
    .modal-dv .dv-tab.active { background: var(--deep); color: var(--gold-light); }
    .modal-dv .dv-content { background: var(--gold-pale); }
    /* Topic panel dual */
    .tp-dual { margin-bottom: 10px; border-radius: 5px; overflow: hidden; border: 1px solid var(--border); }
    .tp-dual .dv-tabs { border-bottom: 1px solid var(--border); }
    .tp-dual .dv-tab { background: #fff; font-size: 9.5px; padding: 6px 12px; }
    .tp-dual .dv-tab.active { background: var(--deep); color: var(--gold-light); }
    .tp-dual .dv-content { background: var(--gold-pale); padding: 12px 14px; }
    .tp-dual .dv-content p { font-size: 16px; }
    /* Search result dual */
    .res-dual { margin-bottom: 10px; border-radius: 5px; overflow: hidden; border: 1px solid var(--border); }
    .res-dual .dv-tabs {}
    .res-dual .dv-tab { background: #f5f5f5; font-size: 9.5px; padding: 6px 12px; }
    .res-dual .dv-tab.active { background: var(--deep); color: var(--gold-light); }
    .res-dual .dv-content { padding: 12px 14px; }

    /* ── UNIFIED DUAL TAB CSS (active = on) ── */
    .dv-content, .dv-pane { display: none !important; }
    .dv-content.active, .dv-content.on,
    .dv-pane.active, .dv-pane.on { display: block !important; }
    .dv-tab { background: #fff; color: var(--text-soft); }
    .dv-tab.active, .dv-tab.on { background: var(--deep) !important; color: var(--gold-light) !important; }

/* ══════════════════════════════════════════════
   LEFT SIDEBAR
══════════════════════════════════════════════ */
:root {
  --sidebar-w: 230px;
  --sidebar-bg: #141f18;
  --sidebar-border: rgba(184,147,90,.18);
}
.site-layout { display: flex; min-height: 100vh; }

/* SIDEBAR */
.sidebar {
  position: fixed; top: 0; left: 0; bottom: 0;
  width: var(--sidebar-w);
  background: var(--sidebar-bg);
  border-right: 1px solid var(--sidebar-border);
  display: flex; flex-direction: column;
  z-index: 400;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: rgba(184,147,90,.25) transparent;
}
.sidebar::-webkit-scrollbar { width: 4px; }
.sidebar::-webkit-scrollbar-thumb { background: rgba(184,147,90,.25); border-radius: 4px; }

.sb-brand {
  padding: 28px 20px 22px;
  border-bottom: 1px solid var(--sidebar-border);
  flex-shrink: 0;
}
.sb-brand-name {
  font-family: 'Cinzel', serif;
  font-size: 13.5px;
  font-weight: 600;
  color: #fff;
  letter-spacing: .04em;
  line-height: 1.3;
  text-decoration: none;
  display: block;
}
.sb-brand-name span { color: var(--gold); display: block; margin-top: 1px; }
.sb-brand-sub {
  font-family: 'EB Garamond', serif;
  font-size: 11px;
  font-style: italic;
  color: rgba(255,255,255,.35);
  margin-top: 8px;
  line-height: 1.5;
}
.sb-cross {
  font-size: 22px;
  color: var(--gold);
  display: block;
  margin-bottom: 10px;
  letter-spacing: .05em;
}

/* Sidebar Nav Groups */
.sb-group {
  padding: 16px 0 4px;
  flex: 1;
}
.sb-group-label {
  font-family: 'Cinzel', serif;
  font-size: 8.5px;
  letter-spacing: .28em;
  color: rgba(255,255,255,.25);
  text-transform: uppercase;
  padding: 0 20px 8px;
  display: block;
}
.sb-link {
  display: grid;
  grid-template-columns: 24px minmax(0,1fr);
  align-items: center;
  column-gap: 12px;
  padding: 10px 20px;
  font-family: 'EB Garamond', serif;
  font-size: 15.5px;
  color: rgba(255,255,255,.62);
  text-decoration: none;
  transition: background .18s, color .18s;
  position: relative;
  cursor: pointer;
  border: none;
  background: none;
  width: 100%;
  text-align: left;
}
.sb-link::before {
  content: '';
  position: absolute;
  left: 0; top: 20%; bottom: 20%;
  width: 2.5px;
  background: var(--gold);
  border-radius: 0 2px 2px 0;
  transform: scaleY(0);
  transition: transform .2s;
}
.sb-link:hover { background: rgba(255,255,255,.05); color: rgba(255,255,255,.9); }
.sb-link:hover::before { transform: scaleY(1); }
.sb-link.active { color: var(--gold-light); background: rgba(184,147,90,.1); }
.sb-link.active::before { transform: scaleY(1); }
.sb-icon {
  font-size: 16px;
  width: 24px;
  min-width: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1;
  flex-shrink: 0;
  opacity: .85;
  transform: translateY(1px);
}
.sb-divider {
  height: 1px;
  background: var(--sidebar-border);
  margin: 10px 20px;
}

/* Sidebar bottom area */
.sb-footer {
  padding: 16px 20px;
  border-top: 1px solid var(--sidebar-border);
  flex-shrink: 0;
}
.sb-footer-verse {
  font-family: 'Cormorant Garamond', serif;
  font-size: 12.5px;
  font-style: italic;
  color: rgba(255,255,255,.32);
  line-height: 1.65;
}

.sb-footer-ref {
  font-family: 'Cinzel', serif;
  font-size: 9px;
  letter-spacing: .12em;
  color: rgba(184,147,90,.5);
  display: block;
  margin-top: 5px;
}

/* MAIN CONTENT shifts right */
.main-content {
  margin-left: var(--sidebar-w);
  flex: 1;
  min-width: 0;
}

/* Hide old top nav on desktop since sidebar replaces it */
@media(min-width: 769px) {
  header { display: none; }
}

/* Hamburger button (mobile only) */
.sb-toggle {
  display: none;
  position: fixed;
  top: 12px; left: 12px;
  z-index: 450;
  background: var(--deep);
  border: 1px solid var(--gold);
  border-radius: 6px;
  padding: 8px 10px;
  cursor: pointer;
  color: var(--gold);
  font-size: 18px;
  line-height: 1;
}

/* Mobile layout */
@media(max-width: 768px) {
  :root { --sidebar-w: 240px; }
  .sidebar {
    transform: translateX(-100%);
    transition: transform .28s ease;
    box-shadow: 4px 0 24px rgba(0,0,0,.4);
  }
  .sidebar.open { transform: translateX(0); }
  .main-content { margin-left: 0; }
  .sb-toggle { display: block; }
  header { display: block; padding-left: 52px; }
  .sb-overlay {
    display: none;
    position: fixed; inset: 0;
    background: rgba(0,0,0,.5);
    z-index: 390;
  }
  .sb-overlay.open { display: block; }
}

/* ══════════════════════════════════════════════
   TRAVEL JOURNAL SECTION
══════════════════════════════════════════════ */
.travel-section {
  background: #fff;
  border-top: 1px solid var(--border);
}
.travel-inner { max-width: 1120px; margin: 0 auto; padding: 72px 28px; }

/* Photo upload card */
.photo-upload-area {
  border: 2px dashed var(--border);
  border-radius: 10px;
  padding: 40px 28px;
  text-align: center;
  cursor: pointer;
  transition: border-color .2s, background .2s;
  background: var(--gold-pale);
  margin-bottom: 32px;
  position: relative;
}
.photo-upload-area:hover { border-color: var(--gold); background: #fdf5e4; }
.photo-upload-area input[type=file] {
  position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%;
}
.upload-icon { font-size: 40px; margin-bottom: 14px; }
.upload-label { font-family: 'Cinzel', serif; font-size: 12px; letter-spacing: .12em; color: var(--gold); margin-bottom: 6px; }
.upload-sub { font-size: 14px; color: var(--text-soft); font-style: italic; }

/* Journal entries grid */
.journal-entries { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 22px; margin-top: 28px; }
.journal-card {
  background: var(--cream);
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  transition: box-shadow .2s, transform .2s;
}
.journal-card:hover { box-shadow: 0 10px 28px rgba(0,0,0,.1); transform: translateY(-3px); }
.journal-card img { width: 100%; height: 200px; object-fit: cover; display: block; }
.journal-card-body { padding: 20px 22px; }
.journal-card-title { font-family: 'Cinzel', serif; font-size: 13px; letter-spacing: .07em; color: var(--deep); margin-bottom: 7px; }
.journal-card-text { font-size: 15px; color: var(--text-soft); line-height: 1.65; font-style: italic; }
.section-tools { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin:18px 0; }
.editor-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:#fff; color:var(--deep); border:1px solid var(--border); border-radius:8px;
  padding:11px 22px; font-family:'Cinzel',serif; font-size:11px; letter-spacing:.1em;
  cursor:pointer; transition:background .2s,color .2s,border-color .2s;
}
.editor-btn:hover { border-color: var(--gold); color: var(--gold); }
.editor-btn.active { background: var(--deep); color: var(--gold-light); border-color: var(--deep); }
.journal-card-actions, .gallery-card-actions { display:none; gap:8px; margin-top:16px; flex-wrap:wrap; }
.journal-editing .journal-card-actions, .gallery-editing .gallery-card-actions { display:flex; }
.item-action-btn {
  background: var(--gold-pale); color: var(--deep); border:1px solid var(--border); border-radius:6px;
  padding:8px 14px; font-family:'Cinzel',serif; font-size:10px; letter-spacing:.08em; cursor:pointer;
}
.item-action-btn:hover { border-color: var(--gold); color: var(--gold); }
.item-action-btn.delete { color:#8e4b4b; }
.journal-empty {
  display:none; text-align:center; padding:34px 20px; background:var(--gold-pale);
  border:1px dashed var(--border); border-radius:10px; margin-top:18px;
}
.journal-empty p { font-family:'Cormorant Garamond',serif; font-size:22px; font-style:italic; color:var(--text-soft); }
.journal-verse { border-left: 2px solid var(--gold); padding: 8px 12px; margin-top: 12px; background: var(--gold-pale); border-radius: 0 4px 4px 0; }
.journal-verse p { font-family: 'Cormorant Garamond', serif; font-size: 14px; font-style: italic; color: var(--deep); margin-bottom: 3px; }
.journal-verse cite { font-family: 'Cinzel', serif; font-size: 9.5px; letter-spacing: .09em; color: var(--gold); }

/* Add New Journal Form */
.add-journal-form { background: var(--gold-pale); border: 1px solid var(--border); border-radius: 10px; padding: 28px; margin-top: 28px; display: none; }
.add-journal-form.open { display: block; }
.form-row { margin-bottom: 16px; }
.form-row label { font-family: 'Cinzel', serif; font-size: 10px; letter-spacing: .14em; color: var(--gold); display: block; margin-bottom: 6px; text-transform: uppercase; }
.form-row input, .form-row textarea, .form-row select {
  width: 100%; padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 6px;
  font-family: 'EB Garamond', serif;
  font-size: 16px;
  color: var(--text);
  background: #fff;
  outline: none;
  transition: border-color .2s;
}
.form-row input:focus, .form-row textarea:focus { border-color: var(--gold); }
.form-row textarea { min-height: 90px; resize: vertical; }
.btn-primary {
  background: var(--gold);
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 12px 28px;
  font-family: 'Cinzel', serif;
  font-size: 11px;
  letter-spacing: .1em;
  cursor: pointer;
  transition: background .2s;
}
.btn-primary:hover { background: var(--deep); }
.btn-secondary {
  background: none;
  color: var(--text-soft);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 11px 22px;
  font-family: 'Cinzel', serif;
  font-size: 11px;
  letter-spacing: .08em;
  cursor: pointer;
  margin-left: 10px;
  transition: border-color .2s;
}
.btn-secondary:hover { border-color: var(--gold); color: var(--gold); }
.btn-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 8px; }

/* ══════════════════════════════════════════════
   TRAVEL GALLERY
══════════════════════════════════════════════ */
.gallery-section {
  background: var(--deep);
  padding: 72px 28px;
  position: relative;
  overflow: hidden;
}
.gallery-section::before {
  content: '✦';
  position: absolute;
  font-size: 500px;
  color: rgba(255,255,255,.015);
  top: -120px; right: -100px;
  line-height: 1;
}
.gallery-inner { max-width: 1120px; margin: 0 auto; }
.gallery-wrap{max-width:1120px;margin:0 auto;position:relative;z-index:1}
.gallery-head{margin-bottom:30px}
.g-kicker{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.25em;color:var(--gold-light);text-transform:uppercase;margin-bottom:10px}
.g-title{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,5vw,52px);font-weight:600;color:#fff;line-height:1.1;margin-bottom:12px}
.g-copy{font-size:18px;color:rgba(255,255,255,.65);font-style:italic;line-height:1.75;max-width:700px;margin-bottom:10px}
.g-count{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.14em;color:var(--gold-light);text-transform:uppercase}
.gallery-section .s-lbl { color: var(--gold-light); }
.gallery-section .s-title { color: #fff; }
.gallery-section .s-intro { color: rgba(255,255,255,.55); }

.gallery-grid {
  columns: 3;
  gap: 14px;
  margin-top: 8px;
}
.gallery-item {
  break-inside: avoid;
  margin-bottom: 14px;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  display: block;
}
.gallery-item img {
  width: 100%;
  display: block;
  transition: transform .35s ease;
  cursor: pointer;
}
.gallery-item:hover img { transform: scale(1.04); }
.gallery-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 35%, rgba(20,31,24,.88) 100%);
  opacity: 0;
  transition: opacity .25s;
  display: flex; align-items: flex-end; justify-content: space-between;
  padding: 12px 14px; gap: 8px;
}
.gallery-item:hover .gallery-overlay { opacity: 1; }
.gallery-caption {
  font-family: 'Cinzel', serif;
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--gold-light);
  flex: 1;
}
.gallery-card-actions {
  position: absolute;
  top: 10px;
  left: 10px;
  right: 50px;
  z-index: 11;
}
.gallery-card-actions .item-action-btn {
  background: rgba(255,255,255,.92);
  border-color: rgba(255,255,255,.78);
  padding: 7px 12px;
}
/* Delete button on gallery item */
.gallery-delete {
  position: absolute;
  top: 8px; right: 8px;
  width: 30px; height: 30px;
  background: rgba(180,40,40,.85);
  border: none; border-radius: 50%;
  color: #fff; font-size: 14px;
  cursor: pointer; line-height: 1;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transition: opacity .2s, background .2s;
  z-index: 10;
}
.gallery-item:hover .gallery-delete { opacity: 1; }
.gallery-delete:hover { background: rgba(200,20,20,1); }
/* Upload modal */
#gallery-modal {
  display: none; position: fixed; inset: 0;
  background: rgba(0,0,0,.6); z-index: 600;
  align-items: center; justify-content: center; padding: 24px;
}
#gallery-modal.show { display: flex; }
.gm-box {
  background: #fff; border-radius: 12px;
  max-width: 500px; width: 100%;
  overflow: hidden; animation: cardIn .25s ease;
  box-shadow: 0 20px 60px rgba(0,0,0,.4);
}
.gm-head {
  background: var(--deep); padding: 20px 24px;
  display: flex; justify-content: space-between; align-items: center;
}
.gm-head h3 { font-family:'Cinzel',serif; font-size:14px; letter-spacing:.08em; color:#fff; }
.gm-close { background:none; border:none; color:rgba(255,255,255,.6); font-size:22px; cursor:pointer; line-height:1; transition:color .2s; }
.gm-close:hover { color:#fff; }
.gm-body { padding: 24px; }
.gm-preview {
  width: 100%; height: 180px; object-fit: cover;
  border-radius: 8px; display: none; margin-bottom: 14px;
  border: 1px solid var(--border);
}
.gm-drop {
  border: 2px dashed var(--border); border-radius: 8px;
  padding: 32px 20px; text-align: center; cursor: pointer;
  background: var(--gold-pale); margin-bottom: 14px;
  transition: border-color .2s; position: relative;
}
.gm-drop:hover { border-color: var(--gold); }
.gm-drop input { position: absolute; inset:0; opacity:0; cursor:pointer; width:100%; height:100%; }
.gm-drop-icon { font-size: 32px; margin-bottom: 8px; }
.gm-drop-label { font-family:'Cinzel',serif; font-size:11px; letter-spacing:.1em; color:var(--gold); margin-bottom:4px; }
.gm-drop-sub { font-size:13px; color:var(--text-soft); font-style:italic; }
.gm-field label { font-family:'Cinzel',serif; font-size:10px; letter-spacing:.14em; color:var(--gold); display:block; margin-bottom:6px; text-transform:uppercase; }
.gm-field input {
  width:100%; padding:11px 14px; border:1px solid var(--border); border-radius:6px;
  font-family:'EB Garamond',serif; font-size:16px; color:var(--text);
  outline:none; transition:border-color .2s; margin-bottom:14px;
}
.gm-field input:focus { border-color:var(--gold); }
.gm-actions { display:flex; gap:10px; justify-content:flex-end; }
.gm-save { background:var(--gold); color:#fff; border:none; border-radius:6px; padding:11px 24px; font-family:'Cinzel',serif; font-size:11px; letter-spacing:.1em; cursor:pointer; transition:background .2s; }
.gm-save:hover { background:var(--deep); }
.gm-cancel { background:none; color:var(--text-soft); border:1px solid var(--border); border-radius:6px; padding:10px 20px; font-family:'Cinzel',serif; font-size:11px; cursor:pointer; transition:border-color .2s; }
.gm-cancel:hover { border-color:var(--gold); color:var(--gold); }
/* Count badge */
.gallery-count { font-family:'Cinzel',serif; font-size:11px; letter-spacing:.1em; color:var(--gold-light); text-align:center; margin-top:14px; }

/* Gallery lightbox */
#gallery-lightbox {
  display: none;
  position: fixed; inset: 0;
  background: rgba(0,0,0,.92);
  z-index: 1000;
  align-items: center;
  justify-content: center;
  padding: 24px;
  cursor: zoom-out;
}
#gallery-lightbox.show { display: flex !important; }
#gallery-lightbox img {
  max-width: 88vw;
  max-height: 82vh;
  border-radius: 8px;
  box-shadow: 0 24px 80px rgba(0,0,0,.7);
  cursor: default;
  display: block;
}
.lb-close {
  position: fixed; top: 18px; right: 22px;
  width: 44px; height: 44px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 50%;
  color: #fff; font-size: 22px; cursor: pointer;
  line-height: 1;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s;
  z-index: 1001;
}
.lb-close:hover { background: rgba(255,255,255,.25); }

@media(max-width: 768px) {
  .gallery-grid { columns: 2; }
}
@media(max-width: 480px) {
  .gallery-grid { columns: 1; }
}

/* ══════════════════════════════════════════════
   AI WRITING ASSISTANT SECTION
══════════════════════════════════════════════ */
.ai-section {
  background: var(--cream);
  border-top: 1px solid var(--border);
  padding: 72px 28px;
}
.ai-inner { max-width: 880px; margin: 0 auto; }
.ai-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0,0,0,.07);
}
.ai-card-head {
  background: linear-gradient(135deg, var(--deep) 0%, #2f5d42 100%);
  padding: 26px 32px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.ai-head-icon {
  width: 72px;
  height: 72px;
  border-radius: 18px;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: 0 10px 24px rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.12);
}
.ai-head-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ai-robot { font-size: 36px; }
.ai-head-text h3 {
  font-family: 'Cinzel', serif;
  font-size: 15px;
  letter-spacing: .08em;
  color: #fff;
  margin-bottom: 4px;
}
.ai-head-text p {
  font-size: 14px;
  color: rgba(255,255,255,.55);
  font-style: italic;
}
.ai-card-body { padding: 28px 32px; }
.path-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.path-card{background:rgba(255,255,255,.06);border:1px solid rgba(212,170,112,.2);border-radius:14px;padding:20px}
.path-card h4{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.14em;color:var(--gold-light);text-transform:uppercase;margin-bottom:10px}
.path-card p{font-size:15px;line-height:1.7;color:rgba(255,255,255,.72);margin-bottom:16px}
.path-links{display:flex;gap:10px;flex-wrap:wrap}
.ai-tool-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.ai-tool-tab{border:1px solid rgba(212,170,112,.3);background:rgba(255,255,255,.06);color:rgba(255,255,255,.82);border-radius:999px;padding:10px 16px;font-family:'Cinzel',serif;font-size:10px;letter-spacing:.1em;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.ai-tool-tab:hover,.ai-tool-tab.active{background:var(--gold);border-color:var(--gold);color:#fff}
.ai-hub-panel{background:rgba(255,255,255,.04);border:1px solid rgba(212,170,112,.18);border-radius:16px;padding:20px}
.ai-hub-label{display:block;font-family:'Cinzel',serif;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-light);margin-bottom:12px}
.ai-hub-search{display:flex;gap:12px;flex-wrap:wrap}
.ai-hub-input{flex:1;min-width:240px;padding:14px 16px;border-radius:12px;border:1px solid rgba(212,170,112,.25);background:rgba(255,255,255,.95);color:var(--deep);font-family:'EB Garamond',serif;font-size:19px}
.ai-hub-input:focus{outline:none;border-color:var(--gold)}
.ai-hub-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.ai-mini-chip{border:1px solid rgba(212,170,112,.24);background:transparent;color:rgba(255,255,255,.78);border-radius:999px;padding:8px 12px;font-family:'Cinzel',serif;font-size:9.5px;letter-spacing:.08em;cursor:pointer}
.ai-mini-chip:hover{border-color:var(--gold-light);color:#fff}
.ai-workspace-result{margin-top:20px}
.ai-workspace-box{background:var(--gold-pale);border:1px solid var(--border);border-radius:16px;padding:24px;color:var(--text)}
.ai-workspace-title{font-family:'Cormorant Garamond',serif;font-size:34px;line-height:1.05;color:var(--deep);margin-bottom:10px}
.ai-workspace-copy{font-size:17px;line-height:1.8;color:var(--text-soft);margin-bottom:18px;font-style:italic}
.ai-workspace-prompt{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px;margin-bottom:18px}
.ai-workspace-kicker{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.ai-workspace-prompt p:last-child{font-size:17px;line-height:1.8;color:var(--deep)}
.ai-workspace-links{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.ai-site-matches{display:grid;gap:14px}
.ai-match-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px}
.ai-match-card h4{font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--deep);margin-bottom:6px}
.ai-match-card p{font-size:16px;color:var(--text-soft);line-height:1.7;margin-bottom:10px}
.ai-match-meta{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.14em;color:var(--gold);text-transform:uppercase;margin-bottom:10px}
.ai-match-actions{display:flex;gap:10px;flex-wrap:wrap}
.ai-secondary-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--deep);text-decoration:none;font-family:'Cinzel',serif;font-size:10px;letter-spacing:.08em;cursor:pointer}
.ai-secondary-link:hover{border-color:var(--gold);color:var(--gold)}
.guestbook-shell{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:30px}
.guestbook-form-card,.guestbook-list-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px}
.guestbook-kicker{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.16em;color:var(--gold);text-transform:uppercase;margin-bottom:16px}
.guestbook-field{display:grid;gap:8px;margin-bottom:16px}
.guestbook-field label{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.guestbook-field input,.guestbook-field textarea{width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--cream);color:var(--deep);font-family:'EB Garamond',serif;font-size:18px}
.guestbook-field textarea{min-height:140px;resize:vertical;line-height:1.7}
.guestbook-field input:focus,.guestbook-field textarea:focus{outline:none;border-color:var(--gold);background:#fff}
.guestbook-actions{display:flex;justify-content:flex-start}
.guestbook-note{font-size:14px;line-height:1.7;color:var(--text-soft);font-style:italic;margin-top:14px}
.guestbook-list{display:grid;gap:14px}
.guestbook-empty{padding:18px;border:1px dashed var(--border);border-radius:12px;background:var(--gold-pale);font-size:16px;line-height:1.7;color:var(--text-soft);font-style:italic}
.guestbook-entry{background:var(--gold-pale);border:1px solid var(--border);border-radius:14px;padding:18px}
.guestbook-entry-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px;flex-wrap:wrap}
.guestbook-entry-name{font-family:'Cormorant Garamond',serif;font-size:28px;color:var(--deep);line-height:1}
.guestbook-entry-date{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.12em;color:var(--gold);text-transform:uppercase}
.guestbook-entry-message{font-size:17px;line-height:1.8;color:var(--text);white-space:pre-wrap}
.living-word-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin-top:30px}
.living-word-empty{display:none;padding:24px;border:1px dashed var(--border);border-radius:14px;background:var(--gold-pale);font-size:17px;line-height:1.7;color:var(--text-soft);font-style:italic;text-align:center}
.living-word-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:14px}
.living-word-type{font-family:'Cinzel',serif;font-size:10px;letter-spacing:.16em;color:var(--gold);text-transform:uppercase}
.living-word-card h3{font-family:'Cormorant Garamond',serif;font-size:32px;line-height:1.05;color:var(--deep)}
.living-word-card p{font-size:16px;line-height:1.75;color:var(--text-soft)}
.living-word-media{width:100%;margin-top:4px;border-radius:14px;background:#efe4cf}
.living-word-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}
.living-word-link-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:11px 18px;
  border-radius:10px;
  border:1px solid var(--gold);
  background:var(--gold-pale);
  color:var(--deep);
  text-decoration:none;
  font-family:'Cinzel',serif;
  font-size:10px;
  letter-spacing:.1em;
  text-transform:uppercase;
  transition:background .2s,border-color .2s,color .2s,transform .2s;
}
.living-word-link-btn:hover{
  background:var(--gold);
  border-color:var(--gold);
  color:#fff;
  transform:translateY(-1px);
}

/* Mode tabs */
.ai-modes {
  display: flex;
  gap: 8px;
  margin-bottom: 22px;
  flex-wrap: wrap;
}
.ai-mode-btn {
  font-family: 'Cinzel', serif;
  font-size: 10px;
  letter-spacing: .1em;
  padding: 8px 18px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background: none;
  color: var(--text-soft);
  cursor: pointer;
  transition: background .18s, color .18s, border-color .18s;
}
.ai-mode-btn.active {
  background: var(--deep);
  color: var(--gold-light);
  border-color: var(--deep);
}
.ai-mode-btn:hover:not(.active) { border-color: var(--gold); color: var(--gold); }

.ai-textarea {
  width: 100%;
  min-height: 130px;
  padding: 16px 18px;
  border: 1px solid var(--border);
  border-radius: 8px;
  font-family: 'EB Garamond', serif;
  font-size: 17px;
  color: var(--text);
  resize: vertical;
  outline: none;
  transition: border-color .2s;
  background: var(--cream);
  line-height: 1.65;
}
.ai-textarea:focus { border-color: var(--gold); background: #fff; }
.ai-textarea::placeholder { color: #bbb; font-style: italic; }

.ai-action-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 14px;
  flex-wrap: wrap;
  gap: 10px;
}
.ai-hint { font-size: 13px; color: var(--text-soft); font-style: italic; }
.ai-submit {
  display: flex;
  align-items: center;
  gap: 9px;
  background: var(--gold);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 13px 26px;
  font-family: 'Cinzel', serif;
  font-size: 11px;
  letter-spacing: .1em;
  cursor: pointer;
  transition: background .2s;
}
.ai-submit:hover { background: var(--deep); }
.ai-submit:disabled { opacity: .55; cursor: not-allowed; }
.ai-spinner {
  width: 14px; height: 14px;
  border: 2px solid rgba(255,255,255,.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin .7s linear infinite;
  display: none;
}
.ai-spinner.on { display: block; }
@keyframes spin { to { transform: rotate(360deg); } }

/* AI Result */
.ai-result {
  margin-top: 22px;
  display: none;
  animation: cardIn .3s ease;
}
.ai-result.show { display: block; }
.ai-result-label {
  font-family: 'Cinzel', serif;
  font-size: 10px;
  letter-spacing: .2em;
  color: var(--gold);
  text-transform: uppercase;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.ai-result-label::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--border);
}
.ai-result-body {
  background: var(--gold-pale);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 22px 24px;
  font-family: 'EB Garamond', serif;
  font-size: 17px;
  color: var(--text);
  line-height: 1.8;
  white-space: pre-wrap;
}
.ai-result-verses {
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ai-rv {
  border-left: 2px solid var(--gold);
  padding: 12px 16px;
  background: #fff;
  border-radius: 0 6px 6px 0;
}
.ai-rv blockquote {
  font-family: 'Cormorant Garamond', serif;
  font-size: 18px;
  font-style: italic;
  color: var(--deep);
  line-height: 1.55;
  margin-bottom: 6px;
}
.ai-rv cite {
  font-family: 'Cinzel', serif;
  font-size: 10px;
  letter-spacing: .1em;
  color: var(--gold);
}
.ai-error {
  background: #fff5f5;
  border: 1px solid #f5c6c6;
  border-radius: 8px;
  padding: 16px 20px;
  color: #b94040;
  font-size: 15px;
  font-style: italic;
}
