/* Bali Epicure — style-v1.css | Marcellus + Mulish | ivory/gold, black header */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#faf6ef; --paper:#fffdf9; --ink:#241f1a; --muted:#6b625a;
  --gold:#a06a1e; --gold-bright:#c19a3f; --line:#e6ddcf; --black:#0a0908;
}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:"Mulish",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;line-height:1.75;font-weight:400}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold)}
.container{max-width:1060px;margin:0 auto;padding:0 24px}

/* ---- Header ---- */
.site-header{background:#040404;position:relative}
.header-inner{display:flex;flex-direction:column;align-items:center;gap:14px;padding:22px 24px}
.site-brand{display:flex;align-items:center;text-decoration:none}
.site-logo img{max-width:100%;height:auto;width:190px}
.site-title,.site-tagline{display:none}
.nav-menu{display:flex;flex-wrap:nowrap;gap:20px;white-space:nowrap;align-items:center}
.nav-menu a{color:#e7dcc6;text-decoration:none;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;white-space:nowrap;transition:color .2s;font-weight:600}
.nav-menu a:hover,.nav-menu a.active{color:var(--gold-bright)}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px}
.menu-toggle span{display:block;width:24px;height:2px;background:#e7dcc6;margin:5px 0;transition:all .3s}
.menu-toggle.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.menu-toggle.open span:nth-child(2){opacity:0}
.menu-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ---- Hero (Style 7 gradient) ---- */
.hero{background:linear-gradient(135deg,#1a0f06 0%,#5a340f 48%,#93641f 100%);color:#fdf6e6;text-align:center;padding:72px 24px 78px}
.hero h1{font-family:"Marcellus",Georgia,serif;font-weight:400;font-size:clamp(2.3rem,6vw,3.6rem);letter-spacing:1px;line-height:1.05}
.hero p{font-family:"Marcellus",serif;font-style:normal;color:#e9cf9a;margin-top:14px;font-size:1.15rem;letter-spacing:.5px}

/* ---- Homepage intro ---- */
.intro{max-width:760px;margin:0 auto;padding:44px 24px 8px;text-align:center}
.intro .kicker{font-family:"Mulish",sans-serif;text-transform:uppercase;letter-spacing:3px;font-size:11px;color:var(--gold);font-weight:700}
.intro p{margin-top:12px;color:#4a423b;font-size:1.08rem}

/* ---- Magazine river ---- */
.river{padding:34px 0 60px}
.lead{display:block;margin-bottom:46px;text-decoration:none;color:inherit}
.lead .lead-img{overflow:hidden;background:#eee;border-bottom:3px solid var(--gold-bright)}
.lead .lead-img img{width:100%}
.lead .lead-body{padding:26px 4px 0;max-width:820px}
.eyebrow{font-family:"Mulish",sans-serif;text-transform:uppercase;letter-spacing:2.5px;font-size:11px;color:var(--gold);font-weight:700}
.lead h2{font-family:"Marcellus",serif;font-weight:400;font-size:clamp(1.8rem,4.2vw,2.7rem);line-height:1.1;margin:10px 0 12px}
.lead p{color:#4a423b}
.lead .more,.row .more{display:inline-block;margin-top:12px;font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--gold);font-weight:700;text-decoration:none;border-bottom:1px solid var(--gold-bright);padding-bottom:2px}

.row{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:30px;align-items:center;padding:26px 0;border-top:1px solid var(--line)}
.row .row-img{overflow:hidden;min-width:0;background:#eee}
.row .row-img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.row .row-body{min-width:0}
.row h3{font-family:"Marcellus",serif;font-weight:400;font-size:1.5rem;line-height:1.2;margin:6px 0 8px}
.row a.row-link{text-decoration:none;color:inherit}
.row h3 a{color:inherit;text-decoration:none}
.row h3 a:hover{color:var(--gold)}
.row p{color:#57504a;font-size:.98rem}
.meta{font-size:12px;color:var(--muted);letter-spacing:.3px}

/* ---- Article ---- */
.article{max-width:700px;margin:0 auto;padding:52px 24px 70px}
.article .eyebrow{display:block;margin-bottom:8px}
.article h1{font-family:"Marcellus",serif;font-weight:400;font-size:clamp(2rem,5vw,3rem);line-height:1.08;margin-bottom:14px}
.article .byline{color:var(--muted);font-size:14px;margin-bottom:26px;letter-spacing:.3px}
.article-image{margin:0 0 30px;background:#eee;overflow:hidden;border-bottom:3px solid var(--gold-bright)}
.article-image img{width:100%}
.article-content{font-size:1.06rem}
.article-content p{margin:0 0 20px}
.article-content h2{font-family:"Marcellus",serif;font-weight:400;font-size:1.6rem;margin:36px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.article-content h3{font-family:"Marcellus",serif;font-weight:400;font-size:1.28rem;margin:28px 0 10px}
.article-content ul{margin:0 0 20px 22px}
.article-content li{margin-bottom:8px}
.article-content blockquote{border-left:3px solid var(--gold-bright);margin:26px 0;padding:6px 20px;font-family:"Marcellus",serif;font-size:1.2rem;color:#3d362f}
.article-content a{color:var(--gold);text-decoration:underline;text-decoration-color:rgba(160,106,30,.35);text-underline-offset:3px}
.article-content a:hover{text-decoration-color:var(--gold)}

/* ---- Related ---- */
.related{border-top:1px solid var(--line);margin-top:46px;padding-top:26px}
.related h4{font-family:"Mulish",sans-serif;text-transform:uppercase;letter-spacing:2.5px;font-size:12px;color:var(--muted);margin-bottom:16px}
.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px}
.rel-card{text-decoration:none;color:inherit}
.rel-card .rc-img{overflow:hidden;background:#eee;margin-bottom:10px}
.rel-card .rc-img img{width:100%;aspect-ratio:3/2;object-fit:cover}
.rel-card h5{font-family:"Marcellus",serif;font-weight:400;font-size:1.15rem;line-height:1.2}
.rel-card:hover h5{color:var(--gold)}

/* ---- Standard/category pages ---- */
.page{max-width:760px;margin:0 auto;padding:52px 24px 70px}
.page h1{font-family:"Marcellus",serif;font-weight:400;font-size:clamp(2rem,5vw,2.8rem);margin-bottom:8px}
.page .lede{color:var(--muted);margin-bottom:28px;font-size:1.05rem}
.page h2{font-family:"Marcellus",serif;font-weight:400;font-size:1.4rem;margin:30px 0 10px}
.page p{margin-bottom:18px}
.page a{color:var(--gold);text-decoration:underline;text-decoration-color:rgba(160,106,30,.35);text-underline-offset:3px}
.page ul{margin:0 0 18px 22px}
.page li{margin-bottom:8px}

.cat-list{list-style:none;margin:0;padding:0}
.cat-item{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:24px;align-items:center;padding:22px 0;border-top:1px solid var(--line)}
.cat-item:first-child{border-top:none}
.cat-item .ci-img{overflow:hidden;background:#eee}
.cat-item .ci-img img{width:100%;aspect-ratio:3/2;object-fit:cover}
.cat-item h3{font-family:"Marcellus",serif;font-weight:400;font-size:1.35rem;margin-bottom:6px}
.cat-item h3 a{color:inherit;text-decoration:none}
.cat-item h3 a:hover{color:var(--gold)}
.cat-item p{color:#57504a;font-size:.96rem}

/* ---- Contact envelope ---- */
.contact-envelope{display:flex;flex-direction:column;align-items:center;gap:14px;margin:34px 0}
.contact-envelope a{display:inline-flex;align-items:center;justify-content:center;width:66px;height:66px;border-radius:50%;border:1.5px solid var(--gold-bright);color:var(--gold);transition:all .2s}
.contact-envelope a:hover{background:var(--gold);color:#fff;border-color:var(--gold)}
.contact-envelope svg{width:28px;height:28px}
.contact-envelope .lbl{font-size:13px;color:var(--muted);letter-spacing:.4px}
.contact-block{margin:26px 0}
.contact-block h2{margin-bottom:4px}
.article-content a,.page a,.contact-meta{overflow-wrap:anywhere;word-break:break-word}

/* ---- Footer ---- */
.site-footer{background:#040404;color:#cfc4ad;margin-top:40px}
.footer-inner{max-width:1060px;margin:0 auto;padding:40px 24px;text-align:center}
.footer-logo{margin:0 auto 16px}
.footer-logo img{width:130px;margin:0 auto;opacity:.95}
.footer-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin-bottom:18px}
.footer-nav a{color:#cfc4ad;text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:1.5px}
.footer-nav a:hover{color:var(--gold-bright)}
.footer-copy{font-size:12px;color:#8a8172;letter-spacing:.4px}
.footer-copy a{color:#a89b82}

/* ---- Mobile ---- */
@media(max-width:768px){
  .menu-toggle{display:block;position:absolute;right:20px;top:26px}
  .nav-menu{display:none;flex-direction:column;width:100%;gap:0;padding:10px 0}
  .nav-menu.open{display:flex}
  .nav-menu a{padding:11px 0;border-bottom:1px solid #26221b;width:100%;text-align:center}
  .row{grid-template-columns:1fr;gap:16px}
  .cat-item{grid-template-columns:1fr;gap:12px}
  .hero{padding:54px 20px 58px}
}
