
*{box-sizing:border-box}
:root{
 --bg:#FFFDFB;--card:#FFFFFF;--ink:#2A1A12;--muted:#85705f;--line:#f0e6dc;
 --pop:#E5371B;--pot:#0E9E8E;--veg:#3D9A4E;--fest:#C32A6B;--guide:#D79412;
 --radius:22px;--shadow:0 18px 40px -20px rgba(120,60,30,.28)}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Plus Jakarta Sans",-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3,.disp{font-family:"Fraunces",Georgia,serif;line-height:1.12;letter-spacing:-.01em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1140px;margin:0 auto;padding:0 22px}
.narrow{max-width:760px;margin:0 auto;padding:0 22px}
.ic{display:inline-flex;width:1.15em;height:1.15em;vertical-align:-.18em}.ic svg{width:100%;height:100%}

/* nav */
.nav{position:sticky;top:0;z-index:50;backdrop-filter:saturate(170%) blur(14px);background:rgba(255,253,251,.82);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{font-family:"Fraunces";font-weight:700;font-size:22px;display:flex;align-items:center;gap:10px}
.brand .dot{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#E5371B,#F77F00);display:inline-flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow)}
.brand .dot svg{width:19px;height:19px}
.nav nav a{font-weight:600;font-size:14px;margin-left:24px;color:var(--ink);opacity:.82;transition:color .15s,opacity .15s}
.nav nav a:hover{opacity:1}
.nav nav a.c1:hover{color:var(--pop)}.nav nav a.c2:hover{color:var(--pot)}.nav nav a.c3:hover{color:var(--veg)}.nav nav a.c4:hover{color:var(--guide)}
@media(max-width:720px){.nav nav{display:none}}

/* hero */
.hero{position:relative;overflow:hidden;color:#fff;text-align:center;padding:92px 0 120px}
.hero .bg{position:absolute;inset:0;background:#7a1f12 center/cover no-repeat;transform:scale(1.05)}
.hero .ov{position:absolute;inset:0;background:linear-gradient(165deg,rgba(120,30,20,.55),rgba(229,55,27,.62) 55%,rgba(215,148,18,.66))}
.hero .wrap{position:relative;z-index:3}
.hero .kick{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;background:rgba(255,255,255,.18);padding:8px 17px;border-radius:30px;border:1px solid rgba(255,255,255,.28);margin-bottom:22px}
.hero h1{font-size:clamp(36px,6.2vw,66px);font-weight:600;margin:.08em auto .26em;max-width:15ch;text-shadow:0 2px 24px rgba(80,20,10,.35)}
.hero p{font-size:clamp(16px,2.2vw,21px);max-width:44ch;margin:0 auto 30px;opacity:.97}
.btn{display:inline-flex;align-items:center;gap:9px;background:#fff;color:var(--pop);font-weight:700;padding:15px 30px;border-radius:40px;box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s;font-size:15px}
.btn:hover{transform:translateY(-3px);box-shadow:0 26px 48px -16px rgba(0,0,0,.45)}
.btn .ic{transition:transform .2s}.btn:hover .ic{transform:translateX(4px)}
.blob{position:absolute;border-radius:50%;filter:blur(50px);opacity:.55;z-index:1}
.blob.a{width:340px;height:340px;background:#F7B500;top:-90px;left:-70px;animation:float 9s ease-in-out infinite}
.blob.b{width:300px;height:300px;background:#0E9E8E;bottom:-80px;right:-50px;animation:float 12s ease-in-out infinite reverse}
.blob.c{width:240px;height:240px;background:#C32A6B;top:30%;right:14%;animation:float 10s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(28px)}}
/* category chips under hero */
.cats{position:relative;z-index:4;margin:-34px auto 0;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.cats a{display:inline-flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:40px;padding:11px 20px;font-weight:700;font-size:14px;box-shadow:0 12px 26px -18px rgba(120,60,30,.4);transition:transform .16s,box-shadow .16s}
.cats a:hover{transform:translateY(-3px)}
.cats a .ic{width:1.25em;height:1.25em}

/* sections */
section.block{padding:56px 0 14px}
section.block.band{background:var(--tint);padding:50px 0 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.shead{margin:0 0 22px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.shead .eyebrow{color:var(--cat);font-weight:800;font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;display:flex;align-items:center;gap:8px}
.shead h2{font-size:clamp(26px,4vw,40px);font-weight:600;margin:.16em 0 0}
.shead .bar{height:5px;width:64px;border-radius:5px;background:var(--cat);margin-top:14px}
.seeall{color:var(--cat);font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}

/* featured card */
.feature{display:grid;grid-template-columns:1.15fr 1fr;background:var(--card);border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:24px}
.feature .fimg{position:relative;min-height:300px;background:linear-gradient(135deg,var(--cat),#F7B500)}
.feature .fimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.feature .fbody{padding:34px 36px;display:flex;flex-direction:column;justify-content:center;gap:14px}
.feature .ftag{align-self:flex-start;background:var(--tint);color:var(--cat);font-weight:800;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;padding:6px 14px;border-radius:30px}
.feature h3{font-size:clamp(24px,3vw,32px);font-weight:600;margin:0}
.feature p{color:var(--muted);margin:0;font-size:15.5px}
.feature .rmeta{display:flex;gap:16px;color:var(--muted);font-size:13.5px;font-weight:600}
.feature .rmeta span{display:inline-flex;align-items:center;gap:6px}
.feature .go{color:var(--cat);font-weight:700;display:inline-flex;align-items:center;gap:7px;margin-top:2px}
.feature:hover .fimg img{transform:scale(1.05)}.feature .fimg img{transition:transform .5s}
@media(max-width:760px){.feature{grid-template-columns:1fr}.feature .fimg{min-height:220px;position:relative}}

/* grid cards */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:860px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.grid{grid-template-columns:1fr}}
.rcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 14px 32px -24px rgba(120,60,30,.5);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;border-top:4px solid var(--cat)}
.rcard:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.rthumb{aspect-ratio:3/2;overflow:hidden;position:relative;background:linear-gradient(135deg,var(--cat),#F7B500)}
.rthumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.rcard:hover .rthumb img{transform:scale(1.07)}
.rthumb .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.9)}.rthumb .ph svg{width:54px;height:54px}
.pill{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.94);color:var(--cat);font-weight:800;font-size:11px;letter-spacing:.03em;padding:5px 12px;border-radius:30px;text-transform:uppercase}
.rbody{padding:18px 20px 22px;display:flex;flex-direction:column;gap:9px;flex:1}
.rbody h3{font-size:20px;font-weight:600;margin:0}
.rbody p{margin:0;color:var(--muted);font-size:14px;flex:1}
.rmeta{display:flex;gap:14px;color:var(--muted);font-size:13px;font-weight:600}
.rmeta span{display:inline-flex;align-items:center;gap:5px}
.rmore{color:var(--cat);font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:6px}

/* article */
.arthero{position:relative;color:#fff}
.arthero .img{aspect-ratio:16/7;min-height:300px;background:linear-gradient(135deg,var(--cat),#F7B500) center/cover no-repeat}
.arthero .cap{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,rgba(40,20,12,.05),rgba(40,20,12,.8))}
.arthero .cap .wrap{padding-bottom:32px}
.arthero .cat{display:inline-block;background:var(--cat);font-weight:800;font-size:12px;letter-spacing:.05em;text-transform:uppercase;padding:6px 15px;border-radius:30px;margin-bottom:14px}
.arthero h1{font-size:clamp(28px,5vw,48px);font-weight:600;max-width:20ch;margin:0;text-shadow:0 2px 20px rgba(40,20,10,.4)}
.article{background:var(--card);border:1px solid var(--line);border-radius:26px;margin:-36px auto 0;position:relative;z-index:3;padding:30px clamp(20px,4vw,46px) 44px;box-shadow:0 30px 60px -42px rgba(120,60,30,.5)}
.article p{font-size:17px}
.article h2{font-size:26px;font-weight:600;margin:1.5em 0 .4em;color:var(--cat)}
.metabar{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 8px}
.chip{display:inline-flex;align-items:center;gap:7px;background:var(--tint);border:1px solid var(--line);color:var(--ink);border-radius:30px;padding:8px 15px;font-size:13.5px;font-weight:600}
.chip .ic{color:var(--cat)}
.love{background:var(--tint);border-radius:18px;padding:18px 22px;margin:18px 0;border:1px solid var(--line)}
.love b{color:var(--cat)}.love ul{margin:8px 0 0;padding-left:18px}.love li{margin:4px 0}
.ingbox{background:#FFFBF6;border:1px solid var(--line);border-radius:18px;padding:8px 24px 18px}
.ingbox h3{font-size:16px;color:var(--cat);margin:16px 0 4px}
ul.ing{list-style:none;padding:0;margin:0}
ul.ing li{padding:9px 0 9px 30px;border-bottom:1px dashed var(--line);position:relative}
ul.ing li:before{content:"";position:absolute;left:6px;top:17px;width:9px;height:9px;border-radius:50%;background:var(--cat)}
ol.steps{counter-reset:s;list-style:none;padding:0;margin:10px 0}
ol.steps li{counter-increment:s;position:relative;padding:4px 0 18px 52px;font-size:17px}
ol.steps li:before{content:counter(s);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;background:var(--cat);color:#fff;font-family:"Fraunces";font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow)}
.vcards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0}
@media(max-width:560px){.vcards{grid-template-columns:1fr}}
.vcard{border-radius:18px;padding:18px 20px;border:1px solid var(--line);background:#fff}
.vcard .vh{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--cat);margin-bottom:6px}
.vcard .vh .ic{width:1.4em;height:1.4em}
.vcard.full{grid-column:1/-1}
.tipbox{background:linear-gradient(135deg,#2A0E22,#5a1230);color:#ffe9d8;border-radius:20px;padding:22px 26px;margin:18px 0}
.tipbox h2{color:#fff;margin-top:.2em}
.tipbox ul{margin:8px 0 0;padding-left:6px;list-style:none}
.tipbox li{padding:7px 0 7px 30px;position:relative}
.tipbox li .ic{position:absolute;left:0;top:9px;color:#F7B500}
details.faq{border:1px solid var(--line);border-radius:14px;margin:10px 0;padding:2px 18px;background:#fff}
details.faq summary{cursor:pointer;font-weight:700;padding:14px 0;list-style:none;display:flex;justify-content:space-between;align-items:center}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary:after{content:"+";font-size:22px;color:var(--cat)}
details.faq[open] summary:after{content:"\2013"}
details.faq p{margin:0 0 14px}
.tags{margin:24px 0 0}.tags span{display:inline-block;background:var(--tint);border:1px solid var(--line);color:var(--muted);border-radius:30px;padding:4px 13px;font-size:12.5px;margin:4px 5px 0 0}
.backhome{display:inline-flex;align-items:center;gap:8px;margin:26px 0 0;font-weight:700;color:var(--cat)}

/* footer */
footer.site{background:#2A0E22;color:#e9d4c6;margin-top:50px;padding:46px 0 30px}
footer.site .brand{color:#fff}
footer.site .ft{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;align-items:center}
footer.site a:hover{color:#F7B500}
footer.site small{color:#b89a89;display:block;margin-top:18px;font-size:12.5px}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
