:root{--bg:#f5f3f0;--ink:#1c1a19;--muted:#5f5953;--red:#d9362b;--line:#d8d2cb;--panel:#ebe7e2;--dark:#0e0d0c;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#181615;--ink:#efebe6;--muted:#a8a19a;--line:#38332f;--panel:#232019}}
:root[data-theme="dark"]{--bg:#181615;--ink:#efebe6;--muted:#a8a19a;--line:#38332f;--panel:#232019}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 "Source Serif 4",Georgia,serif}
h1,h2,h3,.btn,th,.menu a{font-family:"Archivo Narrow","Arial Narrow",Arial,sans-serif;letter-spacing:.02em}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.hero{position:relative;background:var(--dark);color:#fff;text-align:center;padding-bottom:170px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:-12px;background:url(images/hero.jpg) center/cover;filter:blur(5px) brightness(.32)}
.hero>*{position:relative}
.bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.soc{display:flex;gap:8px}
.soc a{width:32px;height:32px;background:var(--red);color:#fff;font:700 18px Arial,sans-serif;display:flex;align-items:center;justify-content:center;text-decoration:none}
.brand{text-align:center;text-decoration:none;color:#fff;display:block}.script{display:block;font:42px/1.1 Yellowtail,"Brush Script MT",cursive;letter-spacing:.5px;-webkit-text-stroke:1.1px #fff;text-shadow:0 2px 10px rgba(0,0,0,.45)}.cowrow{display:flex;align-items:center;gap:14px;justify-content:center;margin-top:6px}.cowrow i{display:block;width:80px;height:2px;background:rgba(255,255,255,.85)}.cowrow .mark{height:90px;width:auto;display:block}
.bar .btn{justify-self:end}
.btn{display:inline-block;background:var(--red);color:#fff;padding:12px 24px;text-decoration:none;font-weight:700;font-size:17px;text-transform:uppercase;border:2px solid var(--red);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.btn.wh{background:#fff;color:#111;border-color:#fff}
.btn.alt{background:transparent;color:inherit;border:2px solid currentColor}
.menu{display:flex;justify-content:center;gap:32px;padding:22px 0;font-size:18px}
.menu a{color:#fff;text-decoration:none;font-weight:700}
.menu a.on{color:var(--red)}
h1{font-size:clamp(42px,8vw,76px);line-height:1.05;margin:44px 0 18px}
.hero p{font:20px/1.5 "Source Serif 4",Georgia,serif;max-width:36em;margin:0 auto 30px;color:#e6e0d9}
.hero .btn{margin:6px 8px}
.cardsec{padding:0 0 56px;border:0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:-100px;position:relative}
.card{background:#fff;color:#222;text-align:center;padding:38px 26px 34px;box-shadow:0 10px 30px rgba(0,0,0,.22)}
.card.hot{background:var(--red);color:#fff;transform:translateY(-16px)}
.card svg{width:88px;height:88px;stroke:var(--red);fill:none;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.card.hot svg{stroke:#fff}
.card h3{margin:14px 0 8px;font-size:28px;font-weight:600}
.card p{margin:0 0 16px;color:#5a544e;font-size:16px}
.card.hot p{color:#fff}
.card a{color:var(--red);font:700 16px "Archivo Narrow",Arial,sans-serif;text-transform:uppercase;text-decoration:none}
.card.hot a{color:#fff}
section{padding:56px 0;border-top:1px solid var(--line)}
h2{font-size:clamp(30px,5vw,42px);margin:0 0 8px;line-height:1.05}
.sub{color:var(--muted);margin:0 0 26px;max-width:40em}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.step{background:var(--panel);padding:22px;border-top:4px solid var(--red)}
.step h3{margin:0 0 6px;font-size:24px}
.step p{margin:0;color:var(--muted)}
.num{font:700 15px "Archivo Narrow",Arial,sans-serif;color:var(--red)}
.tablewrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;min-width:420px}
th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}
th{border-bottom:2px solid var(--ink)}
td:last-child{color:var(--muted)}
.note{font-size:14px;color:var(--muted);margin-top:12px}
.groups{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.groups h3{margin:0 0 6px;font-size:21px;color:var(--red)}
.groups ul{margin:0;padding:0;list-style:none;color:var(--muted);font-size:16px;line-height:1.5}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gal img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:2px}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.contact a{color:var(--ink)}
label{display:block;font-weight:600;margin:0 0 4px;font-size:15px}
input,textarea{width:100%;padding:11px;margin-bottom:14px;font:inherit;background:var(--bg);color:var(--ink);border:1px solid var(--ink);border-radius:2px}
.hp{position:absolute;left:-9999px}
.abt{display:grid;grid-template-columns:200px 1fr;gap:32px;align-items:center}
.abt img{width:100%;height:auto}
footer{background:var(--dark);color:#bdb6ae;padding:28px 0;font-size:14px}
footer a{color:#fff}
footer .wrap{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;justify-content:space-between}
footer img{height:48px;width:48px}
@media(max-width:820px){.cards,.contact,.abt{grid-template-columns:1fr}.card.hot{transform:none}.steps,.groups{grid-template-columns:1fr 1fr}.abt img{max-width:140px}.bar{grid-template-columns:1fr 1fr}.brand{grid-column:1/3;grid-row:1;margin:0 0 10px}.script{font-size:34px}.cowrow i{width:56px}.cowrow .mark{height:72px}.menu{gap:20px}.bar .btn{grid-column:1/3;justify-self:center}.hero{padding-bottom:140px}}
@media(max-width:520px){.steps,.groups,.gal{grid-template-columns:1fr}.bar .btn{font-size:14px;padding:11px 14px}}
.howto{margin:36px 0 12px;font-size:26px}
.actions{margin-top:28px}
.btn.alt.ink{color:var(--ink)}
.abt .sub.lead{margin:0 0 14px}
.abt .sub.last{margin:0}


/* Button feedback: invert colors. Hover only on devices with a mouse, so phones never get a "stuck" highlight */
@media (hover:hover){
.btn:hover{background:#fff;color:var(--red);border-color:var(--red)}
.btn.wh:hover{background:var(--red);color:#fff;border-color:var(--red)}
.btn.alt:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.menu a:hover{color:var(--red)}
.card a:hover,.card a:hover{text-decoration:underline;text-underline-offset:4px}
.card.hot a:hover{color:#fff}
.contact a:hover,footer a:hover{color:var(--red)}
}
/* Tap feedback on phones, and keyboard focus */
.btn:active,.btn:focus-visible{background:#fff;color:var(--red);border-color:var(--red)}
.btn.wh:active,.btn.wh:focus-visible{background:var(--red);color:#fff;border-color:var(--red)}
.btn.alt:active,.btn.alt:focus-visible{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.menu a:active,.menu a:focus-visible{color:var(--red)}
@media (prefers-reduced-motion:reduce){.btn{transition:none}}

/* Hero buttons: wide, letter-spaced, like the previous site */
.btn.big{min-width:300px;padding:16px 28px;font-weight:600;letter-spacing:.12em;text-align:center}
@media(max-width:520px){.btn.big{min-width:0;width:100%;max-width:320px}}

/* ---- Interactivity ---- */
.groups ul{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:15px/1.2 "Source Serif 4",Georgia,serif;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:7px 12px;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.chip[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:#fff}
.chip[aria-pressed="true"]::before{content:"\2713  "}
@media (hover:hover){.chip:hover{border-color:var(--red)}}
.chip:focus-visible{outline:3px solid var(--red);outline-offset:2px}
.pick{position:sticky;bottom:12px;margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:var(--dark);color:#fff;padding:12px 16px;box-shadow:0 8px 24px rgba(0,0,0,.25);z-index:5}
.pick span{flex:1 1 160px;font-weight:600}
.linkbtn{background:none;border:0;color:#fff;text-decoration:underline;cursor:pointer;font:inherit;padding:6px}
.fine{font-size:14px;color:var(--muted);margin:12px 0 0}
.stick{position:fixed;left:0;right:0;top:0;z-index:20;display:flex;align-items:center;gap:12px;justify-content:flex-end;padding:10px max(20px,calc((100vw - 1040px)/2));background:rgba(14,13,12,.96);transform:translateY(-110%);transition:transform .25s}
.stick.on{transform:none}
.stick .stname{margin-right:auto;color:#fff;font:26px/1 Yellowtail,"Brush Script MT",cursive}
.stick .btn{padding:9px 18px;font-size:15px}
.gal button{padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden;display:block}
.gal img{transition:transform .35s}
@media (hover:hover){.gal button:hover img{transform:scale(1.05)}}
.gal button:focus-visible{outline:3px solid var(--red);outline-offset:3px}
#lb{border:0;padding:0;background:transparent;max-width:92vw}
#lb::backdrop{background:rgba(0,0,0,.85)}
#lb img{display:block;max-width:92vw;max-height:80vh;width:auto;height:auto}
#lb .btn{display:block;margin:12px auto 0}
@media (hover:hover){.card{transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-6px);box-shadow:0 16px 36px rgba(0,0,0,.28)}.card.hot:hover{transform:translateY(-22px)}}
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s}
.js .reveal.in{opacity:1;transform:none}
footer .fcol{display:flex;flex-direction:column;gap:2px;flex:1 1 260px}
.fnav{display:flex;flex-wrap:wrap;gap:6px 18px}
@media(max-width:820px){
.stick{top:auto;bottom:0;transform:translateY(110%);padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}
.stick .stname{display:none}
.stick .btn{flex:1;text-align:center;padding:12px}
body{padding-bottom:68px}
.pick{bottom:76px}
}
@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}.stick,.gal img,.card,.chip{transition:none}}

/* FAQ */
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:16px 36px 16px 0;position:relative;font:600 20px/1.3 "Archivo Narrow",Arial,sans-serif}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:12px;font-size:26px;color:var(--red);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq summary:focus-visible{outline:3px solid var(--red);outline-offset:2px}
@media (hover:hover){.faq summary:hover{color:var(--red)}}
.faq p{margin:0 0 16px;color:var(--muted)}
.faq a{color:var(--ink)}
