:root{--em:#0e3b30;--em2:#0a2c24;--bu:#5a1525;--go:#c9a24b;--go2:#e3c67c;--iv:#f6efdc;--cr:#efe3c6;--nv:#1c2b4a;--ink:#23201a;--disp:'Limelight',Georgia,serif;--body:'Josefin Sans',system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);background:var(--iv);color:var(--ink);font-size:1.06rem;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--bu)}
h1,h2,h3{font-family:var(--disp);font-weight:400;line-height:1.15;letter-spacing:.02em}
.skip-link{position:absolute;left:-999px;top:0;background:var(--go);color:#000;padding:8px 14px;z-index:99}
.skip-link:focus{left:0}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
/* masthead */
.mast{background:var(--em);color:var(--iv);text-align:center;padding:26px 20px 18px;border-bottom:3px double var(--go);background-image:repeating-conic-gradient(from 0deg at 50% 130%,rgba(201,162,75,.10) 0 4deg,transparent 4deg 8deg)}
.mast .tag{font-size:.72rem;letter-spacing:.42em;text-transform:uppercase;color:var(--go2)}
.brand{display:inline-flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;color:var(--iv);font-family:var(--disp);font-size:clamp(1.7rem,4.6vw,2.7rem);letter-spacing:.06em;margin:8px 0}
.brand em{font-style:normal;color:var(--go)}
.brand svg{width:54px;height:54px}
.navbar{position:sticky;top:0;z-index:40;background:var(--bu);border-bottom:2px solid var(--go)}
.navbar ul{list-style:none;display:flex;justify-content:center;gap:4px;flex-wrap:wrap}
.navbar a.nl{display:block;padding:13px 22px;color:var(--iv);text-decoration:none;text-transform:uppercase;letter-spacing:.2em;font-size:.82rem;font-weight:600}
.navbar a.nl:hover,.navbar a[aria-current]{color:var(--go2);box-shadow:inset 0 -3px var(--go)}
.has-drop{position:relative}
.dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:190px;background:var(--em2);border:1px solid var(--go);display:none;z-index:50}
.has-drop:hover .dropdown,.has-drop:focus-within .dropdown{display:block}
.dropdown a{display:block;padding:11px 18px;color:var(--iv);text-decoration:none;font-size:.9rem;letter-spacing:.1em;text-transform:uppercase}
.dropdown a:hover{background:var(--bu);color:var(--go2)}
.nav-toggle{display:none;width:100%;background:var(--bu);color:var(--iv);border:0;padding:13px;font:600 .85rem var(--body);letter-spacing:.25em;text-transform:uppercase;cursor:pointer}
/* buttons */
.btn{display:inline-block;background:var(--go);color:#1a1205;padding:13px 32px;text-decoration:none;text-transform:uppercase;letter-spacing:.2em;font:700 .82rem var(--body);border:2px solid var(--go);clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px);cursor:pointer;transition:.2s}
.btn:hover{background:var(--bu);color:var(--go2)}
.btn.ghost{background:transparent;color:var(--go2)}
.btn.ghost:hover{background:var(--go);color:#1a1205}
/* hero */
.hero{background:var(--em);color:var(--iv);text-align:center;padding:60px 20px 0;overflow:hidden;background-image:repeating-conic-gradient(from 0deg at 50% 100%,rgba(201,162,75,.09) 0 5deg,transparent 5deg 10deg)}
.hero .eyebrow,.eyebrow{font-size:.78rem;letter-spacing:.45em;text-transform:uppercase;color:var(--go2)}
.hero h1{font-size:clamp(2.3rem,7vw,4.6rem);margin:14px auto 18px;max-width:880px}
.hero h1 em{font-style:normal;color:var(--go)}
.hero p{max-width:620px;margin:0 auto 28px;color:#e8dfc4}
.hero .acts{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:44px}
.arch{max-width:860px;margin:0 auto;border:4px solid var(--go);border-bottom:0;border-radius:999px 999px 0 0;overflow:hidden;box-shadow:0 0 0 8px var(--em),0 0 0 11px var(--go)}
.arch img{width:100%;aspect-ratio:16/9;object-fit:cover}
/* sections */
.section{padding:70px 0}
.section.cream{background:var(--cr)}
.section.dark{background:var(--em);color:var(--iv)}
.sec-head{text-align:center;max-width:720px;margin:0 auto 42px}
.sec-head h2{font-size:clamp(1.8rem,4.5vw,2.8rem);margin:8px 0}
.orn{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--go);margin:14px 0}
.orn::before,.orn::after{content:"";height:1px;width:80px;background:var(--go)}
.orn i{font-style:normal;font-size:.8rem}
/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:30px}
.grid.three{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.card{text-decoration:none;color:inherit;text-align:center;display:block}
.card .ph{border:3px solid var(--go);border-radius:999px 999px 0 0;overflow:hidden;aspect-ratio:5/6;background:var(--em)}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .ph img{transform:scale(1.07)}
.card h3{font-size:1.25rem;margin:16px 0 4px;color:var(--bu)}
.card .meta{font-size:.74rem;letter-spacing:.25em;text-transform:uppercase;color:#7a6a3a}
.card p{font-size:.95rem;margin-top:6px}
.dark .card h3{color:var(--go2)}
.shelf{display:block;text-decoration:none;color:var(--iv);background:var(--bu);padding:34px 22px;text-align:center;border:2px solid var(--go);outline:1px solid var(--go);outline-offset:-9px;transition:.2s}
.shelf:hover{background:var(--nv)}
.shelf b{font:400 1.5rem var(--disp);display:block;color:var(--go2)}
.shelf span{font-size:.85rem;letter-spacing:.15em;text-transform:uppercase}
/* stats band */
.band{background:var(--bu);color:var(--iv);padding:46px 0;border-block:3px double var(--go)}
.band .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px;text-align:center}
.band b{display:block;font:400 2.6rem var(--disp);color:var(--go)}
.band span{font-size:.78rem;letter-spacing:.25em;text-transform:uppercase}
/* page head */
.page-head{background:var(--em);color:var(--iv);text-align:center;padding:56px 20px 50px;background-image:repeating-conic-gradient(from 0deg at 50% 140%,rgba(201,162,75,.1) 0 4deg,transparent 4deg 8deg);border-bottom:3px double var(--go)}
.crumb{font-size:.75rem;letter-spacing:.25em;text-transform:uppercase;color:var(--go2)}
.crumb a{color:var(--go2);text-decoration:none}
.page-head h1{font-size:clamp(2rem,5.5vw,3.4rem);margin:12px auto;max-width:860px}
.page-head .lede{max-width:640px;margin:0 auto;color:#e8dfc4}
/* prose */
.prose{max-width:760px;margin:0 auto}
.prose h2{font-size:1.6rem;color:var(--bu);margin:34px 0 10px}
.prose p,.prose li{margin-bottom:12px}
.prose ul{padding-left:22px}
.updated-tag{display:inline-block;border:1px solid var(--go);padding:4px 14px;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#7a6a3a}
.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;margin-bottom:60px}
.split.rev>:first-child{order:2}
.frame{border:3px solid var(--go);padding:10px;background:var(--cr);clip-path:polygon(22px 0,calc(100% - 22px) 0,100% 22px,100% calc(100% - 22px),calc(100% - 22px) 100%,22px 100%,0 calc(100% - 22px),0 22px)}
.split .num{font:400 2.4rem var(--disp);color:var(--go)}
.split h3{font-size:1.7rem;color:var(--bu);margin:4px 0 10px}
/* recipe */
.recipe{max-width:900px;margin:0 auto 90px;scroll-margin-top:70px}
.recipe-hero{text-align:center;margin-bottom:28px}
.recipe-hero .arch{border-width:3px;margin-bottom:26px;max-width:520px;box-shadow:none}
.recipe-hero .arch img{aspect-ratio:5/4}
.tags{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.tags span{border:1px solid var(--go);padding:3px 14px;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#7a6a3a}
.recipe-hero h2{font-size:clamp(1.8rem,4.4vw,2.7rem);color:var(--bu);margin:14px 0 8px}
.rstats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:22px;border:2px solid var(--go);background:var(--cr)}
.rstats div{padding:14px 6px;text-align:center;border-right:1px solid var(--go)}
.rstats div:last-child{border:0}
.rstats b{display:block;font:400 1.3rem var(--disp);color:var(--bu)}
.rstats span{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase}
.rbody{display:grid;grid-template-columns:.85fr 1.4fr;gap:40px;margin-top:34px}
.ingredients{background:var(--em);color:var(--iv);padding:28px;border:3px double var(--go);align-self:start}
.ingredients h3,.method h3{font-size:1.3rem;margin-bottom:12px}
.ingredients h3{color:var(--go2)}
.method h3{color:var(--bu)}
.ingredients ul{list-style:none}
.ingredients li{padding:7px 0 7px 22px;border-bottom:1px dotted rgba(201,162,75,.5);position:relative;font-size:.98rem}
.ingredients li::before{content:"◆";position:absolute;left:0;color:var(--go);font-size:.6rem;top:13px}
.note{margin-top:18px;font-style:italic;color:var(--go2);font-size:.95rem}
.method ol{list-style:none;counter-reset:step}
.method li{counter-increment:step;position:relative;padding:0 0 20px 64px}
.method li::before{content:counter(step,upper-roman);position:absolute;left:0;top:0;width:46px;height:46px;border:2px solid var(--go);display:grid;place-items:center;font:400 1rem var(--disp);color:var(--bu);background:var(--cr);clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px)}
/* contact / hidden */
.cgrid{display:grid;grid-template-columns:1fr 1.2fr;gap:44px}
.info-list{list-style:none;margin-top:18px}
.info-list li{padding:12px 0;border-bottom:1px solid var(--go)}
.info-list b{display:block;font-size:.72rem;letter-spacing:.25em;text-transform:uppercase;color:#7a6a3a}
.form-card{background:var(--cr);border:3px double var(--go);padding:30px}
.form-field{margin-bottom:16px}
.form-field label{display:block;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;margin-bottom:5px}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:11px 12px;border:1px solid var(--go);background:var(--iv);font:inherit}
.form-field textarea{min-height:130px}
.form-note{margin-top:14px;color:var(--bu)}
.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-top:-40px;position:relative}
.detail-card{background:var(--iv);border:3px double var(--go);padding:22px;text-align:center}
.detail-card .lbl{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:#7a6a3a}
.detail-card b{display:block;font:400 1.5rem var(--disp);color:var(--bu)}
.invite-hero{background:var(--bu);color:var(--iv);text-align:center;padding:70px 20px 90px;background-image:repeating-conic-gradient(from 0deg at 50% 100%,rgba(201,162,75,.14) 0 5deg,transparent 5deg 10deg)}
.invite-hero h1{font-size:clamp(2.2rem,6.5vw,4.3rem);margin:16px auto;max-width:860px}
.invite-hero h1 .accent{color:var(--go)}
.invite-hero p{max-width:600px;margin:0 auto 28px}
/* footer */
.footer{background:var(--em2);color:#d9d0b4;text-align:center;padding:50px 20px 26px;border-top:3px double var(--go)}
.footer .brand{font-size:1.7rem}
.footer nav{display:flex;flex-wrap:wrap;gap:6px 24px;justify-content:center;margin:18px 0}
.footer nav a{color:var(--go2);text-decoration:none;text-transform:uppercase;letter-spacing:.18em;font-size:.76rem}
.footer nav a:hover{color:#fff}
.footer small{display:block;font-size:.78rem;opacity:.75;margin-top:6px}
@media(max-width:820px){
.nav-toggle{display:block}
.navbar ul{display:none;flex-direction:column;gap:0}
.navbar.open ul{display:flex}
.navbar a.nl{padding:13px 24px;border-top:1px solid rgba(201,162,75,.3);text-align:center}
.dropdown{position:static;transform:none;display:block;border:0;background:var(--em2)}
.split,.cgrid,.rbody{grid-template-columns:1fr}
.split.rev>:first-child{order:0}
.rstats{grid-template-columns:repeat(2,1fr)}
.rstats div:nth-child(2){border-right:0}
.rstats div:nth-child(-n+2){border-bottom:1px solid var(--go)}
.section{padding:48px 0}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
