:root{
  --cream:#FBF6EE; --paper:#FFFFFF; --ink:#1F2A22; --muted:#5E6A61;
  --green:#1E4A2E; --green-2:#2F5D3A; --orange:#C2541B; --orange-dark:#A4430F;
  --peach:#FBEBDD; --sage:#EAF1E6; --line:#EADFD0; --radius:16px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,system-ui,sans-serif;background:var(--cream);color:var(--ink);line-height:1.55;font-size:16px}
h1,h2,h3{font-family:Fraunces,Georgia,serif;line-height:1.12;letter-spacing:-.01em;font-weight:600}
a{color:inherit}
img{max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}

/* nav */
nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:20px}
.logo img{height:48px;display:block}
.navlinks{display:flex;gap:30px}
.navlinks a{text-decoration:none;color:var(--ink);font-weight:500;font-size:15px;padding:24px 0;border-bottom:2px solid transparent}
.navlinks a:hover{border-color:var(--orange)}
.navright{display:flex;gap:10px;align-items:center}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:10px;font-weight:600;text-decoration:none;border:1.5px solid transparent;cursor:pointer;font-size:15.5px;font-family:inherit;transition:.15s;white-space:nowrap}
.btn-orange{background:var(--orange);color:#fff}
.btn-orange:hover{background:var(--orange-dark)}
.btn-green{background:var(--green);color:#fff}
.btn-green:hover{background:#163a23}
.btn-ghost{border-color:var(--line);background:#fff;color:var(--ink)}
.btn-ghost:hover{border-color:var(--ink)}
.btn-outline{border-color:var(--orange);color:var(--orange);background:#fff}
.btn-outline:hover{background:var(--peach)}
.btn-sm{padding:9px 16px;font-size:14.5px}

/* hero */
.hero{position:relative;background:linear-gradient(90deg,#FFF8F0 0%,#FFF8F0 42%,rgba(255,248,240,0) 62%),linear-gradient(135deg,#F3D9BE,#E8B98E 55%,#C77B45);overflow:hidden}
.hero .wrap{position:relative;z-index:2;padding-top:56px;padding-bottom:120px}
.kicker{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);font-weight:600;margin-bottom:16px}
.hero h1{font-size:clamp(36px,4.6vw,58px);max-width:640px;margin-bottom:16px;color:var(--ink)}
.hero h1 em{color:var(--orange);font-style:italic}
.hero p.lead{font-size:18.5px;color:#4A4A40;max-width:520px;margin-bottom:28px}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap}
.hero-art{position:absolute;right:0;top:0;bottom:0;width:58%;z-index:1}
.hero-art svg{width:100%;height:100%}

/* search */
.search{position:relative;z-index:5;margin-top:-56px}
.searchbox{background:#fff;border-radius:18px;box-shadow:0 18px 40px -18px rgba(31,42,34,.35);border:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr) auto;align-items:center;padding:10px}
.sfield{display:flex;gap:12px;align-items:center;padding:10px 18px;border-right:1px solid var(--line)}
.sfield:nth-child(4){border-right:0}
.sfield svg{flex-shrink:0;color:var(--orange)}
.sfield label{display:block;font-size:13px;font-weight:600}
.sfield input,.sfield select{border:0;background:transparent;font-family:inherit;font-size:14px;color:var(--muted);width:100%;padding:2px 0;outline:none}
.searchbox .btn{margin:4px 6px;padding:15px 24px}

/* highlights */
.highlights{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:34px auto 0}
.hl{background:var(--peach);border-radius:14px;padding:18px 20px;display:flex;gap:14px;align-items:center}
.hl:nth-child(even){background:var(--sage)}
.hl .ic{width:48px;height:48px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:22px;flex-shrink:0}
.hl b{font-family:Fraunces,serif;font-size:19px;display:block;line-height:1.2}
.hl small{color:var(--muted);font-size:13.5px}

/* featured */
.featured{display:grid;grid-template-columns:1fr 320px;gap:28px;margin-top:48px}
.sec-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}
.sec-head h2{font-size:30px}
.sec-head p{color:var(--muted);font-size:14.5px}
.sec-head a{color:var(--orange);font-weight:600;font-size:14px;text-decoration:none}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.card .ph{height:150px;position:relative;display:grid;place-items:center}
.card .ph .av{width:84px;height:84px;border-radius:50%;background:#fff;display:grid;place-items:center;font-family:Fraunces,serif;font-size:34px;font-weight:700;box-shadow:0 6px 16px -6px rgba(0,0,0,.3)}
.badge{position:absolute;top:10px;left:10px;background:rgba(255,255,255,.95);font-size:12px;font-weight:600;padding:4px 9px;border-radius:999px}
.badge.pro{left:auto;right:10px;background:var(--green);color:#fff}
.card .body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.card h3{font-size:18px}
.card .sub{color:var(--muted);font-size:13.5px}
.tags{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0}
.tags span{background:var(--peach);color:#7A4A26;font-size:12px;padding:3px 9px;border-radius:999px}
.card .foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px}
.card .foot b{font-size:16px}
.card .foot small{color:var(--muted)}

.side{background:var(--peach);border-radius:16px;padding:22px;align-self:start}
.side h3{font-size:22px;margin-bottom:14px}
.side ol{list-style:none;display:grid;gap:12px;margin-bottom:18px}
.side li{background:#fff;border-radius:12px;padding:12px 14px;display:flex;gap:12px;font-size:14px}
.side li b{display:block;font-size:14.5px}
.side li span.n{width:28px;height:28px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:600;font-size:13px;flex-shrink:0}
.side .btn{width:100%;justify-content:center}

/* sections */
section{padding:72px 0}
.center-head{text-align:center;max-width:640px;margin:0 auto 40px}
.center-head h2{font-size:clamp(30px,3.6vw,42px);margin-bottom:10px}
.center-head p{color:var(--muted);font-size:17px}

.services{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px}
.svc .ic{font-size:30px;margin-bottom:10px}
.svc h3{font-size:21px;margin-bottom:6px}
.svc p{color:var(--muted);font-size:15px}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.step{text-align:center;padding:10px}
.step .n{width:46px;height:46px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;font-weight:700;margin:0 auto 12px;font-size:18px}
.step b{display:block;font-size:17px;margin-bottom:4px}
.step p{color:var(--muted);font-size:14.5px}

/* hustle */
.hustle-box{background:var(--green);color:#fff;border-radius:24px;padding:52px;display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
.hustle-box .kicker{color:#F3B98C}
.hustle-box h2{font-size:clamp(32px,4vw,48px);margin-bottom:14px}
.hustle-box p{font-size:17.5px;color:#D5E2D6;margin-bottom:10px}
.hustle-box p.strong{color:#fff;font-weight:600}
.hustle-box .btn{margin-top:14px}
.hustle-list{list-style:none;display:grid;gap:12px}
.hustle-list li{display:flex;gap:14px;align-items:center;background:rgba(255,255,255,.09);border-radius:14px;padding:14px 16px;font-size:14.5px;color:#D5E2D6}
.hustle-list span{font-size:24px}
.hustle-list b{display:block;color:#fff;font-size:16px}

/* plans */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.plan{background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:28px;display:flex;flex-direction:column}
.plan.hot{border-color:var(--green);box-shadow:0 18px 40px -24px rgba(30,74,46,.6)}
.plan .tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--orange);margin-bottom:8px}
.plan h3{font-size:26px;margin-bottom:4px}
.plan .price{color:var(--muted);margin-bottom:16px;font-size:14.5px}
.plan ul{list-style:none;display:grid;gap:9px;margin-bottom:22px;font-size:14.5px}
.plan li::before{content:"✓";color:var(--green);font-weight:700;margin-right:8px}
.plan .btn{margin-top:auto;justify-content:center}

/* faq */
details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 22px;margin-bottom:10px}
summary{font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between}
summary::after{content:"+";color:var(--orange);font-size:22px;line-height:1}
details[open] summary::after{content:"–"}
details p{color:var(--muted);margin-top:8px}

footer{border-top:1px solid var(--line);padding:32px 0;color:var(--muted);font-size:14px;background:#fff}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;align-items:center}
footer img{height:36px}

@media (max-width:980px){
  .navlinks{display:none}
  .hero-art{opacity:.35;width:100%}
  .searchbox{grid-template-columns:1fr 1fr}
  .sfield{border-right:0;border-bottom:1px solid var(--line)}
  .searchbox .btn{grid-column:1/-1;justify-content:center}
  .highlights,.steps{grid-template-columns:1fr 1fr}
  .featured{grid-template-columns:1fr}
  .cards,.services,.plans{grid-template-columns:1fr}
  .hustle-box{grid-template-columns:1fr;padding:30px}
}
@media (max-width:560px){
  .highlights,.steps,.searchbox{grid-template-columns:1fr}
  .navright .btn-ghost{display:none}
}

/* specialties */
.spec-group{margin-bottom:18px}
.spec-group h4{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips a{background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:9px 16px;text-decoration:none;font-weight:500;font-size:14.5px;transition:.15s}
.chips a:hover{border-color:var(--orange);background:var(--peach)}

/* signup page */
.su{max-width:860px;margin:40px auto 80px;padding:0 24px}
.su h1{font-size:clamp(32px,4vw,44px);margin-bottom:8px}
.su .intro{color:var(--muted);font-size:17px;margin-bottom:26px}
.types{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}
.type{border:2px solid var(--line);background:#fff;border-radius:14px;padding:16px;cursor:pointer;text-align:left;font-family:inherit}
.type b{display:block;font-size:16.5px;margin-bottom:2px}
.type small{color:var(--muted);font-size:13.5px}
.type.active{border-color:var(--orange);background:var(--peach)}
.su form{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;display:none}
.su form.active{display:block}
.su h3{font-size:20px;margin:22px 0 12px}
.su h3:first-of-type{margin-top:0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.full{grid-column:1/-1}
.f label{display:block;font-weight:600;font-size:14px;margin-bottom:6px}
.f label .req{color:var(--orange)}
.f label .opt{color:var(--muted);font-weight:400}
.f input,.f select,.f textarea{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;font-family:inherit;font-size:15.5px;background:#FFFDF9;color:var(--ink)}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--orange)}
.f input[type=file]{padding:10px;background:var(--cream)}
.f .hint{font-size:12.5px;color:var(--muted);margin-top:5px}
.checks{display:flex;flex-wrap:wrap;gap:8px}
.checks label{display:flex;align-items:center;gap:6px;font-weight:500;font-size:14px;padding:7px 13px;border:1.5px solid var(--line);border-radius:999px;cursor:pointer;background:#fff}
.checks input{accent-color:var(--orange)}
.checks label:has(input:checked){border-color:var(--orange);background:var(--peach)}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted);margin-top:18px}
.consent input{margin-top:4px;accent-color:var(--orange)}
.su .btn{margin-top:22px}
.err{color:#B3261E;font-size:14px;margin-top:10px;display:none}
.notice{background:var(--sage);border-radius:12px;padding:14px 16px;font-size:14px;color:#2F4A3A;margin-bottom:18px}
@media (max-width:700px){.types,.grid2{grid-template-columns:1fr}}
.f .checks label{display:flex;margin:0;white-space:nowrap}
.f .checks input{width:auto;padding:0;border:0}

/* why join */
.compare{display:grid;grid-template-columns:1fr 1.25fr;gap:20px;align-items:stretch}
.compare .col{border-radius:18px;padding:28px}
.compare h3{font-size:24px;margin-bottom:14px}
.compare ul{list-style:none;display:grid;gap:11px;font-size:15.5px}
.compare .alone{background:#F3EEE7;color:#5E6A61}
.compare .alone li::before{content:"✕";color:#B3261E;font-weight:700;margin-right:10px}
.compare .cheffr{background:var(--green);color:#D5E2D6;box-shadow:0 20px 40px -24px rgba(30,74,46,.7)}
.compare .cheffr h3{color:#fff}
.compare .cheffr b{color:#fff}
.compare .cheffr li::before{content:"✓";color:#F3B98C;font-weight:700;margin-right:10px}
@media (max-width:980px){.compare{grid-template-columns:1fr}}
.plan .amt{font-family:Fraunces,serif;font-size:26px;color:var(--ink)}
.billing{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px;margin-top:18px}
.bt{border:0;background:transparent;padding:10px 20px;border-radius:999px;font-weight:600;font-family:inherit;font-size:15px;cursor:pointer;color:var(--muted)}
.bt.active{background:var(--green);color:#fff}
.bt .save{font-size:11.5px;background:var(--peach);color:var(--orange);padding:2px 8px;border-radius:999px;margin-left:4px}
.plan .py{display:none}
#plans.yearly .plan .pm{display:none}
#plans.yearly .plan .py{display:inline}
.plan s{color:var(--muted);font-size:13px;margin-left:4px}
.msg{display:none;margin-top:12px;font-size:14.5px;padding:10px 14px;border-radius:10px}
.msg.err{background:#FDECEA;color:#B3261E}
.msg.ok{background:var(--sage);color:var(--green)}
.statusbox{border-radius:12px;padding:14px 18px;margin-bottom:18px;font-size:15px}
.statusbox.pend{background:#FFF6DD;color:#7A5B00}
.statusbox.ok{background:var(--sage);color:var(--green)}
.statusbox.bad{background:#FDECEA;color:#B3261E}
.avatar-prev{width:84px;height:84px;border-radius:50%;object-fit:cover;display:block;margin-bottom:8px}
.doc{font-size:13.5px;color:var(--green);margin-bottom:6px}
.filters{display:flex;gap:12px;flex-wrap:wrap}
.cityhint{margin:-8px 0 14px;font-size:.92rem;color:#1F4D3A}.cityhint:empty{display:none}
.filters input{padding:11px 14px;border:1.5px solid var(--line);border-radius:10px;font-family:inherit;font-size:15px;background:#fff;min-width:220px}
.filters select{padding:11px 14px;border:1.5px solid var(--line);border-radius:10px;font-family:inherit;font-size:15px;background:#fff}
.su form a,.su .intro a{color:var(--orange)}

.feebox{max-width:520px;margin:28px auto 0;background:#fff;border:1px solid #E7DFD3;border-radius:18px;padding:22px 24px}
.feebox h3{margin:0 0 6px}
.feebox table{width:100%;border-collapse:collapse;margin:10px 0}
.feebox td{padding:7px 0;border-bottom:1px solid #F0EAE1}
.feebox td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.feebox tr.tot td{font-weight:700}
.feebox .small{font-size:.85rem;opacity:.7;margin:0}
.paybox{margin-top:12px;background:#FFF4EA;border:1px solid #F3D2B3;border-radius:14px;padding:16px 18px}.paybox p{margin:4px 0 12px;opacity:.8}
.tierbox,.refbox{margin-top:12px;background:#fff;border:1px solid #E7DFD3;border-radius:14px;padding:14px 18px;display:grid;gap:6px}
.refbox p{margin:2px 0;opacity:.8;font-size:.92rem}.refrow{display:flex;gap:8px}.refrow input{flex:1;min-width:0;padding:9px 10px;border:1px solid #E7DFD3;border-radius:10px;font-size:.85rem}
.tier{font-size:.72rem;font-weight:600;background:#FFF4EA;color:#B5541B;border-radius:999px;padding:2px 8px;vertical-align:middle;white-space:nowrap}
.stars{font-size:.85rem;color:#B5541B;margin:-2px 0 6px}
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-top:20px}.tiers .t{background:#fff;border:1px solid #E7DFD3;border-radius:18px;padding:20px}.tiers .t.top{border-color:#C9692C;box-shadow:0 8px 24px rgba(201,105,44,.12)}.tiers .t>b{font-size:1.1rem}.tiers .t p{margin:6px 0 0;opacity:.8;font-size:.92rem}
.legal{max-width:820px;margin:0 auto;padding:40px 22px 70px;line-height:1.65}.legal h1{font-family:Fraunces,serif;font-size:2.4rem;margin:0 0 4px}.legal h2{font-family:Fraunces,serif;font-size:1.35rem;margin:34px 0 8px;scroll-margin-top:90px}
.legal .updated{opacity:.6;margin:0 0 18px}.legal .lead{font-size:1.08rem}.legal ul{padding-left:20px}.legal li{margin:6px 0}.legal a{color:#C9692C}
.legal .toc{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:4px 18px;background:#fff;border:1px solid #E7DFD3;border-radius:14px;padding:14px 18px;margin:20px 0}.legal .toc a{text-decoration:none;font-size:.92rem}
footer a{color:inherit}
.kicker{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#C9692C;margin-bottom:8px}
.about-hero{background:linear-gradient(135deg,#1F4D3A,#2F6B50);color:#fff;padding:70px 0 60px;text-align:center}.about-hero .kicker{color:#F7C9A6}.about-hero h1{font-family:Fraunces,serif;font-size:clamp(2rem,4vw,3rem);max-width:760px;margin:0 auto 12px}.about-hero p{max-width:640px;margin:0 auto;opacity:.9;font-size:1.1rem}
.story{display:grid;grid-template-columns:1.6fr 1fr;gap:34px;padding:60px 22px;align-items:start}.story h2,.values-wrap h2,.about-cta h2{font-family:Fraunces,serif;font-size:2rem;margin:0 0 14px}.story-text p{line-height:1.7;margin:0 0 14px}
.story-card{background:#fff;border:1px solid #E7DFD3;border-radius:20px;padding:26px;text-align:center;position:sticky;top:100px}.story-card .quote{font-family:Fraunces,serif;font-size:1.25rem;line-height:1.4;margin:14px 0}
.mission{background:#FFF4EA;padding:56px 0}.mission .wrap{display:grid;grid-template-columns:1fr 1fr;gap:22px}.mcard{background:#fff;border-radius:20px;padding:28px;border:1px solid #F3D2B3}.mcard h2{font-family:Fraunces,serif;font-size:1.5rem;margin:0 0 10px;line-height:1.3}.mcard p{margin:0;line-height:1.65;opacity:.85}
.values-wrap{padding:60px 22px 20px}.values{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.values .v{background:#fff;border:1px solid #E7DFD3;border-radius:18px;padding:20px}.values .v b{font-size:1.05rem}.values .v p{margin:6px 0 0;opacity:.8;line-height:1.55}
.about-cta{text-align:center;padding:40px 22px 70px}.about-cta .ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:16px}
.mission-teaser{display:flex;gap:24px;align-items:center;justify-content:space-between;background:#FFF4EA;border:1px solid #F3D2B3;border-radius:22px;padding:28px 30px;margin-bottom:40px}.mission-teaser h2{font-family:Fraunces,serif;font-size:1.6rem;margin:0 0 8px}.mission-teaser p{margin:0;opacity:.8;max-width:640px}
@media(max-width:800px){.story,.mission .wrap{grid-template-columns:1fr}.story-card{position:static}.mission-teaser{flex-direction:column;align-items:flex-start}}
.founding-bar{background:#1F4D3A;color:#fff;text-align:center;padding:10px 16px;font-size:.93rem}.founding-bar a{color:#F7C9A6;font-weight:600;margin-left:6px}.founding-box{background:#EAF4EE;border-color:#BFDCCB}.founding-box .btn{margin:4px 6px 0 0}
.booknote{font-size:.88rem;opacity:.75;margin:22px 0 0;text-align:center}.booknote a{color:#C9692C}
.langsw{border:1.5px solid #E7DFD3;background:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-size:.85rem;cursor:pointer;color:#2B2B2B;margin-right:10px;white-space:nowrap}.langsw b{color:#C9692C}
.hero .wrap{padding-top:44px;padding-bottom:112px}.hero h1{font-size:clamp(34px,3.9vw,52px);max-width:600px;line-height:1.08}.hero p.lead{font-size:17.5px}
.hero-photo{position:absolute;right:0;top:0;bottom:0;width:58%;z-index:1;background-size:cover;background-position:center;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24%);mask-image:linear-gradient(90deg,transparent 0,#000 24%)}
.stats .hl{background:#fff;border:1px solid var(--line);box-shadow:0 6px 18px -12px rgba(60,40,20,.25)}.stats .hl:nth-child(even){background:#fff}
.stats .hl .ic{background:var(--peach)}.stats .hl:nth-child(even) .ic{background:var(--sage)}.stats .hl b{font-size:26px}
.card .fav{position:absolute;right:12px;bottom:12px;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.92);font-size:18px;line-height:1;cursor:pointer;color:#C9692C}
.card .badge.pro{top:12px}.btn-book{background:#E7F0E2;color:#1F4D3A;border:0;font-weight:600}.btn-book:hover{background:#D6E8CE}
.sidehead{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.sidehead h3{margin:0}.sidehead a{color:var(--orange);font-size:13.5px;font-weight:600;text-decoration:none}
.bk{background:#fff;border-radius:14px;padding:12px;display:flex;gap:12px;align-items:center;margin-bottom:14px;box-shadow:0 6px 18px -12px rgba(60,40,20,.3)}
.bk-img{width:76px;height:76px;border-radius:12px;background:linear-gradient(135deg,#F7C9A6,#E58F5B);display:grid;place-items:center;font-size:36px;flex-shrink:0}
.bk-txt{display:flex;flex-direction:column;gap:2px;font-size:13.5px}.bk-txt b{font-size:15px}.bk-txt small{color:var(--muted)}
.pill{align-self:flex-start;background:#E7F0E2;color:#1F4D3A;font-size:11.5px;font-weight:600;border-radius:999px;padding:2px 9px;margin-bottom:2px}
.side ol{gap:8px}.side li{padding:10px 12px}
.hero h1{font-size:clamp(32px,3.6vw,48px);max-width:720px}
.navlinks a{white-space:nowrap}

/* hero photo */
.hero{background:linear-gradient(90deg,#FFF8F0 0%,#FFF8F0 45%,#FFFFFF 70%)}
.hero-photo-wrap{position:absolute;right:0;top:0;bottom:0;width:52%;z-index:1;display:flex;justify-content:flex-end;align-items:flex-end;pointer-events:none}
.hero-chef{height:100%;width:auto;max-width:100%;object-fit:contain;object-position:right bottom;mix-blend-mode:multiply;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18%);mask-image:linear-gradient(90deg,transparent 0,#000 18%)}
@media (max-width:980px){.hero-photo-wrap{opacity:.18;width:100%}}

.hero{background:#FFF8F0}
.hero-photo-wrap{width:60%;background:url(/hero-plate.webp) center right/cover no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%)}
@media (max-width:980px){.hero-photo-wrap{opacity:.22;width:100%}}
.hero h1{max-width:600px;font-size:clamp(30px,3.5vw,46px)}

/* bookings */
.bkh{font-size:22px;margin:26px 0 12px}
.bklist{display:flex;flex-direction:column;gap:14px}
.bkcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}
.bktop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.bktop small{display:block;color:var(--muted);font-size:13.5px;margin-top:2px}
.bkst{font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:10px;background:var(--sage);color:var(--green);white-space:nowrap}
.bkst.st-requested{background:#FBEBDD;color:#8A3A0C}.bkst.st-declined,.bkst.st-cancelled{background:#F1ECE4;color:#5E6A61}
.bkdet{font-size:14.5px;margin:10px 0;color:#3F4A42;white-space:pre-line}
.bkrow{display:flex;justify-content:space-between;font-size:14px;padding:4px 0;border-top:1px dashed var(--line)}
.bkact{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.bkact input{flex:1 1 200px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;font:inherit}
.bkact .btn{margin-top:0}

/* chat */
.chat{margin-top:12px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#FBF6EE}
.chatlog{max-height:320px;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px}
.bub{max-width:78%;align-self:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px 14px 14px 4px;padding:8px 12px;font-size:14.5px}
.bub.mine{align-self:flex-end;background:var(--green);color:#fff;border-color:var(--green);border-radius:14px 14px 4px 14px}
.bub span{display:block;white-space:pre-wrap;word-wrap:break-word}.bub small{display:block;font-size:11px;opacity:.75;margin-top:2px}
.chatempty{color:var(--muted);font-size:14px;margin:0}
.chatform{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line);background:#fff}
.chatform input{flex:1;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit}.chatform .btn{margin-top:0}
.chatnote{font-size:12px;color:var(--muted);margin:0;padding:0 12px 10px;background:#fff}
.su form.chatform{display:flex;padding:10px;border:0;border-top:1px solid var(--line);border-radius:0}

/* live trip */
.bkact.trip{align-items:center}.tripinfo{font-size:13.5px;color:var(--muted)}
.tripbox{margin-top:12px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#FBF6EE}
.tripbox .tripinfo{margin:0 0 8px;color:var(--green);font-weight:600}
.tripmap{height:260px;border-radius:10px;overflow:hidden}

/* world cuisines */
.world{display:grid;grid-template-columns:1.1fr 1fr;gap:36px;align-items:center;background:linear-gradient(135deg,#FFF3E6,#FBEBDD);border:1px solid var(--line);border-radius:22px;padding:40px}
.world h2{font-size:clamp(28px,3.2vw,40px);margin:8px 0 14px}.world h2 em{color:var(--orange);font-style:italic}
.world p{color:#4A4A40;font-size:16.5px;margin-bottom:14px}.world .btn{margin-top:6px}
.world-chips{display:flex;flex-wrap:wrap;gap:10px}
.world-chips a{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;background:#fff;border:1px solid var(--line);border-radius:999px;font-weight:600;font-size:14.5px;text-decoration:none;color:var(--ink)}
.world-chips a:hover{border-color:var(--orange);color:var(--orange)}
@media (max-width:860px){.world{grid-template-columns:1fr;padding:26px}}

/* specialties redesign */
.spec-wrap{background:#fff;border:1px solid var(--line);border-radius:24px;padding:38px}
.spec-wrap .sec-head h2 em{color:var(--orange);font-style:italic}
.spec-h{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:26px 0 12px}
.dgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.dtile{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--line);border-radius:16px;text-decoration:none;color:var(--ink);background:#FFFDF9;transition:transform .18s,box-shadow .18s,border-color .18s}
.dtile:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(31,42,34,.08);border-color:var(--orange)}
.dico{flex:0 0 48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:24px}
.dtxt{display:flex;flex-direction:column;min-width:0;flex:1}.dtxt b{font-size:15px}.dtxt small{color:var(--muted);font-size:12.5px;line-height:1.35}
.darr{color:var(--orange);font-weight:700;opacity:0;transform:translateX(-4px);transition:.18s}.dtile:hover .darr{opacity:1;transform:none}
.cgrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.ctile{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;border-radius:18px;text-decoration:none;color:var(--ink);transition:transform .18s,background .18s}
.ctile:hover{transform:translateY(-3px);background:#FBF6EE}
.cico{width:78px;height:78px;border-radius:50%;display:grid;place-items:center;font-size:38px;box-shadow:inset 0 0 0 4px #fff,0 6px 16px rgba(31,42,34,.08)}
.ctile b{font-size:14.5px;text-align:center}
.flag{border-radius:3px;vertical-align:-2px;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
@media (max-width:980px){.dgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.cgrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:560px){.spec-wrap{padding:22px}.dgrid{grid-template-columns:1fr}.cgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.cico{width:64px;height:64px;font-size:30px}}

/* recipe calculator */
.rc{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.rc-in,.rc-out{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}
.rc textarea,.rc input{width:100%}
.rc-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.rc-btns .btn{margin-top:0}
.rc-saved{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.rc-saved small{color:var(--muted)}
.rc-chip{border:1px solid var(--line);background:#FBF6EE;border-radius:999px;padding:5px 12px;font:inherit;font-size:13px;cursor:pointer}
.rc-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:12px}.rc-head small{display:block;color:var(--orange);font-weight:600;margin-top:2px}.rc-head .btn{margin-top:0}
.rc-table{width:100%;border-collapse:collapse;font-size:14.5px}.rc-table th{text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:8px 6px;border-bottom:1px solid var(--line)}
.rc-table td{padding:9px 6px;border-bottom:1px dashed var(--line)}.rc-table td:nth-child(2){color:var(--muted)}.rc-table td:nth-child(3){color:var(--green)}
.rc-tt{color:var(--muted);font-weight:400}.rc-empty{color:var(--muted);text-align:center;padding:24px}
.rc-note{font-size:12.5px;color:var(--muted);margin-top:12px}
@media (max-width:860px){.rc{grid-template-columns:1fr}}
@media print{nav,footer,.rc-in,.notice,.intro,.kicker,.rc-head .btn{display:none!important}.rc{display:block}.rc-out{border:0}}

.shop{margin-top:12px;border:1px solid var(--line);border-radius:14px;padding:14px;background:#FFFDF9}
.shop-hint{font-size:13.5px;color:var(--muted);margin:0 0 10px}.shop textarea,.shop input{width:100%}

/* FAQ / help centre */
.help{max-width:780px;margin:0 auto;padding:56px 24px 72px}
.help-head{text-align:center;margin-bottom:28px}
.help-icon{font-size:44px;line-height:1;margin-bottom:10px}
.help h1{font-size:clamp(32px,4.4vw,46px);color:var(--green);font-weight:500;margin-bottom:22px}
.help h1 em,.contact h1 em{font-style:italic;color:var(--orange)}
.help-search{display:flex;align-items:center;gap:8px;max-width:440px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 6px 6px 18px}
.help-search input{flex:1;border:0;outline:0;font:italic 15px Fraunces,Georgia,serif;background:transparent;color:var(--ink);min-width:0}
.help-go{width:32px;height:32px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:15px;flex:none}
.help-tabs{display:flex;justify-content:center;gap:8px;margin-top:18px;flex-wrap:wrap}
.help-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 16px;font:500 14px Inter,sans-serif;cursor:pointer;color:var(--ink)}
.help-tabs button.active{background:var(--green);border-color:var(--green);color:#fff}
.help-list{display:flex;flex-direction:column;gap:12px}
.help-list details{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 3px rgba(31,42,34,.06)}
.help-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;font:italic 500 16px Fraunces,Georgia,serif;color:var(--ink)}
.help-list summary::-webkit-details-marker{display:none}
.help-list summary::after{content:"";flex:none;width:28px;height:28px;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/16px no-repeat;transition:transform .2s}
.help-list details[open] summary::after{transform:rotate(180deg)}
.help-list details p{padding:0 18px 18px;color:var(--muted);font-size:15px}
.help-none{text-align:center;color:var(--muted);margin-top:20px}
.help-cta{margin-top:40px;background:var(--green);color:#fff;border-radius:16px;padding:32px;text-align:center}
.help-cta h2{font-size:28px;margin-bottom:6px}
.help-cta p{opacity:.85;margin-bottom:18px}
.pill-btn{display:inline-flex;align-items:center;gap:12px;background:#FFF6C8;color:var(--green);border:1.5px solid var(--green);border-radius:999px;padding:8px 8px 8px 22px;font:600 16px Inter,sans-serif;text-decoration:none;cursor:pointer}
.pill-btn span{width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center}
.pill-btn:hover{background:#fff}
.pill-btn:disabled{opacity:.6;cursor:wait}

/* contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding-top:56px;padding-bottom:72px;align-items:start}
.contact h1{font-size:clamp(34px,4.6vw,52px);color:var(--green);font-weight:500;margin:6px 0 18px}
.contact-lead{font-size:17px;color:var(--muted);max-width:400px;margin-bottom:28px}
.contact-info h3{font:italic 500 20px Fraunces,Georgia,serif;color:var(--green);margin:22px 0 10px;display:flex;gap:8px;align-items:center}
.contact-lines{list-style:none;display:flex;flex-direction:column;gap:8px;color:var(--ink);font-size:15px}
.contact-lines a{color:var(--green);font-weight:500}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px 32px;box-shadow:0 6px 24px rgba(31,42,34,.06)}
.contact-card .f{margin-bottom:16px}
.contact-card label{display:block;font-weight:500;margin-bottom:6px}
.contact-card input,.contact-card select,.contact-card textarea{width:100%;border:0;background:#F4F4F2;border-radius:10px;padding:12px 14px;font:15px Inter,sans-serif;color:var(--ink)}
.contact-card input:focus,.contact-card select:focus,.contact-card textarea:focus{outline:2px solid var(--green-2)}
.contact-card .hint{font-size:12.5px;color:var(--muted);margin:4px 0 16px}
.contact-card .hint a{color:var(--green)}
.contact-card .msg{margin-top:14px}
@media(max-width:860px){.contact{grid-template-columns:1fr;gap:32px}}

/* social icons */
.social{display:flex;gap:10px;align-items:center}
.social a{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;transition:.15s}
.social a:hover{background:var(--orange)}
.social svg{width:18px;height:18px;fill:currentColor}
.social .soon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--line);color:var(--muted);cursor:default}
.logo{flex:none}
@media(max-width:1280px){.navlinks{gap:20px}}
/* Canadian address */
.grid2 .full{grid-column:1/-1}
.addr-note{font-size:13px;color:var(--muted);background:var(--sage);border-radius:10px;padding:10px 12px;display:flex;gap:8px;align-items:flex-start}
.addr-ok{font:600 12px Inter,sans-serif;color:#1E6B3A;background:#E3F3E7;border-radius:999px;padding:3px 10px;margin-left:8px;vertical-align:middle}
.addr-wait{font:600 12px Inter,sans-serif;color:#8A5A12;background:#FDF0D8;border-radius:999px;padding:3px 10px;margin-left:8px;vertical-align:middle}
.notice.warn{background:#FDF0D8;color:#6B4510}
#addr+.grid2{margin-top:16px}
/* Travel the world – redesign */
.world2{position:relative;display:grid;grid-template-columns:.95fr 1.25fr;gap:44px;align-items:center;background:radial-gradient(120% 140% at 0% 0%,#2F5D3A 0%,#1E4A2E 45%,#163A23 100%);color:#F6EFE3;border-radius:28px;padding:52px;overflow:hidden}
.world2::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='300' viewBox='0 0 600 300'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.06'%3E%3Cellipse cx='300' cy='150' rx='290' ry='140'/%3E%3Cellipse cx='300' cy='150' rx='190' ry='140'/%3E%3Cellipse cx='300' cy='150' rx='90' ry='140'/%3E%3Cpath d='M10 150h580M40 80h520M40 220h520'/%3E%3C/g%3E%3C/svg%3E") right -80px center/720px no-repeat;pointer-events:none}
.world2>*{position:relative}
.world2 .kicker{color:#F2B27E}
.world2 h2{font-size:clamp(30px,3.4vw,44px);margin:10px 0 16px;color:#fff}
.world2 h2 em{color:#F2A167;font-style:italic}
.world2 p{color:#DCE6DA;font-size:16px;margin-bottom:14px;max-width:520px}
.world2-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.world2-ghost{border:1.5px solid rgba(255,255,255,.45);color:#fff;background:transparent}
.world2-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.world2-stamp{position:absolute;right:-6px;bottom:-26px;width:96px;height:96px;border:2px dashed rgba(242,178,126,.7);border-radius:50%;display:grid;place-content:center;text-align:center;font:italic 600 13px/1.15 Fraunces,Georgia,serif;color:#F2B27E;transform:rotate(-12deg)}
.world2-stamp span{font-size:22px;font-style:normal;display:block;margin-bottom:2px}
.world2-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.wtile{display:flex;align-items:center;gap:10px;padding:10px 12px;background:rgba(255,255,255,.96);border-radius:14px;text-decoration:none;color:var(--ink);box-shadow:0 4px 14px rgba(0,0,0,.12);transition:transform .18s,box-shadow .18s}
.wtile:hover{transform:translateY(-3px) rotate(-.5deg);box-shadow:0 10px 22px rgba(0,0,0,.22)}
.wflag{flex:none;width:34px;height:34px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#F3EDE3;box-shadow:inset 0 0 0 2px #fff,0 0 0 1px var(--line);font-size:18px}
.wflag img{width:100%;height:100%;object-fit:cover}
.wname{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.wname b{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wname small{font:italic 12.5px Fraunces,Georgia,serif;color:var(--orange);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1100px){.world2-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){.world2{grid-template-columns:1fr;padding:30px 22px}.world2-stamp{display:none}}
@media (max-width:520px){.world2-grid{grid-template-columns:repeat(2,1fr)}}
.world2{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr)}
.world2-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.world2 p{font-size:15.5px}
@media (max-width:1100px){.world2-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.world2{grid-template-columns:1fr}}
@media (max-width:520px){.world2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.wtile{padding:9px 10px;gap:8px}
.wflag{width:30px;height:30px;font-size:16px}
.wname b{font-size:13.5px;white-space:normal;overflow:visible;overflow-wrap:anywhere}
.wname small{white-space:normal}
.world2-stamp{position:absolute;right:28px;top:22px;bottom:auto;width:84px;height:84px;font-size:12px}
.world2-text{position:static}
.world2{grid-template-columns:minmax(0,.82fr) minmax(0,1.4fr);gap:36px}
.wtile{padding:9px 8px}
.wname b{overflow-wrap:normal;font-size:13px}
/* Share Cheffr / QR code */
.sharebox{display:flex;gap:32px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px 32px;box-shadow:0 6px 24px rgba(31,42,34,.06)}
.share-qr{flex:none;text-align:center}
.share-qr img{display:block;width:180px;height:180px;border-radius:14px;border:1px solid var(--line);padding:8px;background:#fff}
.share-qr small{display:block;margin-top:8px;color:var(--muted);font-size:12.5px}
.share-actions h3{font-size:26px;color:var(--green);margin-bottom:8px}
.share-actions p{color:var(--muted);margin-bottom:16px;max-width:520px}
.share-btns{display:flex;gap:10px;flex-wrap:wrap}
.share-wa{background:#25D366;color:#fff}
.share-wa:hover{background:#1DA851}
.share-msg{margin-top:10px;font-size:14px;color:var(--green);min-height:1em}
.share-modal{position:fixed;inset:0;background:rgba(20,30,22,.55);display:none;align-items:center;justify-content:center;z-index:100;padding:16px}
.share-modal.open{display:flex}
.share-card{position:relative;max-width:760px;width:100%}
.share-card .sharebox{box-shadow:0 20px 60px rgba(0,0,0,.3)}
.share-x{position:absolute;top:10px;right:12px;border:0;background:transparent;font-size:20px;cursor:pointer;color:var(--muted);z-index:1}
@media(max-width:640px){.sharebox{flex-direction:column;text-align:center;padding:22px}.share-btns{justify-content:center}.share-actions p{margin-left:auto;margin-right:auto}}
.share-qr{max-width:200px}
/* online payments */
.bkpaid{margin-top:10px;font:600 14px Inter,sans-serif;color:#1E6B3A;background:#E3F3E7;border-radius:10px;padding:8px 12px;display:inline-block}
.bkunpaid{margin-top:10px;font-size:14px;color:#8A5A12;background:#FDF0D8;border-radius:10px;padding:8px 12px;display:inline-block}
.paynote{display:block;width:100%;color:var(--muted);font-size:12.5px;margin-top:4px}
.bankbox{margin-top:12px}
/* Follow us band */
.followus{background:#13241A;color:#fff;padding:44px 0;margin-top:40px}
.followus h2{font-size:30px;color:#fff;margin-bottom:6px}
.followus p{color:#B9C8BC;margin-bottom:20px}
.follow-icons{display:flex;gap:16px;flex-wrap:wrap}
.follow-icons a,.follow-icons span{width:64px;height:64px;border-radius:14px;background:#fff;color:#13241A;display:grid;place-items:center;box-shadow:0 4px 14px rgba(0,0,0,.25);transition:transform .15s,background .15s}
.follow-icons a:hover{transform:translateY(-3px);background:#FFF6C8}
.follow-icons span.soon{background:rgba(255,255,255,.14);color:rgba(255,255,255,.55);box-shadow:none;cursor:default}
.follow-icons svg{width:26px;height:26px;fill:currentColor}
footer .social{display:none}
/* Our journey timeline */
.journey{padding:56px 24px 20px}
.journey h2{text-align:center;font-size:clamp(30px,4vw,42px);color:var(--green);margin-bottom:24px}
.journey h2 em{color:var(--orange);font-style:italic}
.tl{background:radial-gradient(120% 140% at 0% 0%,#2F5D3A 0%,#1E4A2E 50%,#163A23 100%);border-radius:24px;padding:34px 30px 30px;color:#fff}
.tl-track{position:relative;display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.tl-track::before{content:"";position:absolute;left:7%;right:7%;top:72px;height:3px;background:rgba(255,255,255,.35)}
.tl-dot{position:relative;background:none;border:0;color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;font:inherit;padding:0}
.tl-label{height:56px;display:flex;align-items:flex-end;text-align:center;font-size:12.5px;line-height:1.2;color:#DCE6DA}
.tl-ball{width:22px;height:22px;border-radius:50%;background:#fff;border:4px solid #1E4A2E;box-shadow:0 0 0 2px rgba(255,255,255,.6);transition:.2s;position:relative;z-index:1}
.tl-year{font-size:12px;color:#B9C8BC}
.tl-dot.past .tl-ball{background:#F2A167}
.tl-dot.active .tl-ball{background:#F2A167;transform:scale(1.25);box-shadow:0 0 0 4px rgba(242,161,103,.35)}
.tl-dot.active .tl-label,.tl-dot.active .tl-year{color:#fff;font-weight:700}
.tl-panels{margin-top:30px;min-height:150px}
.tl-panel{display:none;gap:28px;align-items:center;max-width:820px;margin:0 auto;animation:tlIn .35s ease}
.tl-panel.active{display:flex}
.tl-icon{flex:none;width:110px;height:110px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center;font-size:54px}
.tl-panel h3{font:italic 600 26px Fraunces,Georgia,serif;color:#F2A167;margin-bottom:8px}
.tl-panel p{color:#E7EFE5;font-size:17px;line-height:1.6}
.tl-nav{display:flex;justify-content:center;gap:12px;margin-top:20px}
.tl-nav button{width:42px;height:42px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);background:transparent;color:#fff;font-size:18px;cursor:pointer}
.tl-nav button:hover{background:rgba(255,255,255,.12)}
@keyframes tlIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:760px){.tl-track{grid-template-columns:repeat(7,64px);overflow-x:auto;padding-bottom:8px}.tl-track::before{left:32px;right:auto;width:400px}.tl-panel{flex-direction:column;text-align:center}.tl{padding:24px 16px}}
.tl-icon{width:150px;height:150px;background:#2F5D3A center/cover no-repeat;border:4px solid rgba(255,255,255,.85);position:relative;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.tl-icon span{position:absolute;right:-6px;bottom:-6px;width:48px;height:48px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:24px;box-shadow:0 4px 12px rgba(0,0,0,.25)}
/* Gift cards */
#gift{padding-top:30px}
.gift-head{text-align:center;max-width:640px;margin:0 auto 26px}
.gift-head h2,.gift-head h1{font-size:clamp(30px,4vw,44px);margin:8px 0 10px}
.gift-head h2 em{color:var(--orange);font-style:italic}
.gift-head p{color:var(--muted)}
.gift-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:22px;align-items:stretch}
.gift-form{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 6px 24px rgba(31,42,34,.06);display:flex;flex-direction:column;gap:12px}
.gift-form label{font-weight:600;font-size:14px;display:block;margin-bottom:5px}
.gift-form input,.gift-form textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:15px Inter,sans-serif;background:#FCFAF6}
.gift-amounts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.gift-amounts button{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:8px 16px;font:600 14px Inter,sans-serif;cursor:pointer}
.gift-amounts button.on{background:var(--green);border-color:var(--green);color:#fff}
.gift-custom{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--muted)}
.gift-custom input{width:110px}
.gift-info{background:#EEF2EC;border-radius:10px;padding:10px 12px;font-size:13.5px;color:#41524A}
.gift-btn{background:#13241A;color:#fff;justify-content:center}
.gift-btn:hover{background:#000}
.gift-photos{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px;min-height:420px}
.gift-photos div{border-radius:16px;background:#ddd center/cover no-repeat}
@media(max-width:860px){.gift-grid{grid-template-columns:1fr}.gift-photos{min-height:300px}}
.giftpage{padding-top:40px;padding-bottom:60px;max-width:760px}
.gift-done{text-align:center}
.giftcard{max-width:460px;margin:16px auto;background:radial-gradient(120% 140% at 0% 0%,#2F5D3A,#163A23);color:#fff;border-radius:22px;padding:24px 26px;text-align:left;box-shadow:0 18px 40px rgba(22,58,35,.35)}
.gc-top{display:flex;justify-content:space-between;align-items:center}
.gc-top img{height:38px;background:#fff;border-radius:10px;padding:4px 8px}
.gc-top span{font:italic 600 18px Fraunces,Georgia,serif;color:#F2B27E}
.gc-amount{font:700 46px Fraunces,Georgia,serif;margin:18px 0 6px}
.gc-amount small{font-size:16px;font-weight:600;color:#DCE6DA}
.gc-line{color:#DCE6DA}
.gc-msg{font:italic 16px Fraunces,Georgia,serif;margin:10px 0;color:#fff}
.gc-code{margin-top:14px;background:rgba(255,255,255,.12);border:1px dashed rgba(255,255,255,.5);border-radius:12px;padding:10px 14px;display:flex;justify-content:space-between;align-items:center}
.gc-code span{font-size:12px;color:#DCE6DA;text-transform:uppercase;letter-spacing:.08em}
.gc-code b{font:700 20px ui-monospace,Menlo,monospace;letter-spacing:.06em}
.gc-foot{margin-top:12px;font-size:12.5px;color:#B9C8BC}
.gift-next{margin:14px 0 8px;font-weight:600}
.gift-done .share-btns{justify-content:center}
.giftcheck{margin-top:40px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}
.giftcheck-row{display:flex;gap:10px;margin-top:10px}
.giftcheck-row input{flex:1;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:15px Inter,sans-serif}
.giftuse{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}
.giftuse input{border:1px solid var(--line);border-radius:10px;padding:8px 10px;font:14px Inter,sans-serif;width:230px}
.giftres{font-size:13.5px}.giftres.ok{color:#1E6B3A}.giftres.bad{color:#B3261E}
@media print{.followus,.giftcheck,.share-btns,.gift-next,.hint,nav,footer{display:none!important}}

/* Search icon on Discover cooks */
.fsearch{position:relative;display:flex;align-items:center}
.fsearch svg{position:absolute;left:13px;color:var(--muted);pointer-events:none}
.filters .fsearch input{padding-left:40px}
.fbtn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:10px;font-size:15px;cursor:pointer}
.fbtn svg{flex:none}

/* Real cooks coming */
.realcooks{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px dashed #C9D6C4;border-radius:16px;padding:24px}
.realcooks .rc-icon{font-size:42px;line-height:1}
.realcooks h3{font-size:20px;margin-bottom:6px}
.realcooks p{color:var(--muted);margin-bottom:14px}
.rc-btns{display:flex;gap:10px;flex-wrap:wrap}

/* Gift card art and explainer */
.gift-art{position:relative;min-height:400px;display:grid;place-items:center}
.gcard{position:absolute;width:min(360px,80%);aspect-ratio:1.6;border-radius:20px;padding:20px 22px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;box-shadow:0 18px 40px rgba(19,36,26,.28)}
.gcard.front{background:radial-gradient(130% 140% at 0% 0%,#2F6B45,#14321F);transform:rotate(-6deg) translate(-8%,8%)}
.gcard.back{background:radial-gradient(130% 140% at 100% 0%,#E0773A,#A8461C);transform:rotate(7deg) translate(12%,-14%)}
.gc-top{display:flex;align-items:center;justify-content:space-between;font:600 13px Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;opacity:.9;position:relative;z-index:2}
.gc-logo{height:34px;background:#fff;border-radius:8px;padding:3px 6px}
.gc-amt{font:700 44px Fraunces,serif;position:relative;z-index:2}
.gc-bot{display:flex;justify-content:space-between;font-size:13px;opacity:.9;position:relative;z-index:2}
.gc-code{font-family:ui-monospace,monospace;letter-spacing:.06em}
.gc-ribbon{position:absolute;top:0;bottom:0;right:22%;width:22px;background:rgba(255,255,255,.18)}
.gc-bow{position:absolute;right:calc(22% - 16px);top:38%;font-size:40px;z-index:3;filter:drop-shadow(0 3px 4px rgba(0,0,0,.25))}
.gift-art.small{min-height:300px}
.gift-art.small .gcard{width:min(300px,80%)}
.gift-explain{margin-top:56px;max-width:900px;margin-left:auto;margin-right:auto}
.gift-explain h2{font-size:clamp(26px,3.4vw,36px);margin-bottom:12px}
.gift-explain>p{color:#41524A;margin-bottom:10px}
.gift-explain h3{font-size:22px;margin:22px 0 10px}
.gift-why{padding-left:22px;display:grid;gap:8px;color:#41524A}
.gift-why b{color:var(--ink,#1F2A22)}
.gift-mem{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;margin-top:30px}
.gift-mem p{color:#41524A;margin-bottom:12px}
.gift-checks{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:8px}
.gift-checks li{padding-left:28px;position:relative}
.gift-checks li:before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--orange);color:var(--orange);display:grid;place-items:center;font-size:12px;font-weight:700}
@media(max-width:820px){.gift-mem{grid-template-columns:1fr}.gift-art{min-height:300px}}

/* Cooking classes */
#classes{padding:64px 0}
.classes-head{text-align:center;max-width:700px;margin:0 auto 30px}
.classes-head h2{font-size:clamp(28px,3.8vw,42px);margin:8px 0 10px}
.classes-head h2 em{color:var(--orange);font-style:italic}
.classes-head p{color:var(--muted)}
.classes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.class-card{text-align:center}
.class-img{height:170px;border-radius:14px;background:#eee center/cover no-repeat;margin-bottom:14px}
.class-card h3{font-size:19px;margin-bottom:6px}
.class-card p{color:var(--muted);font-size:14.5px}
.classes-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
@media(max-width:860px){.classes-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.classes-grid{grid-template-columns:1fr}}

/* Mailing list */
.mailing{background:#F4F1EC;padding:34px 0;border-top:1px solid var(--line)}
.mailing .wrap{display:grid;grid-template-columns:auto 1fr;gap:10px 24px;align-items:center}
.mailing h2{font:400 28px Fraunces,serif;color:#9C6B5E;margin:0}
.mailing-form{display:flex;gap:10px}
.mailing-form input{flex:1;border:1px solid #D7D2CA;background:#fff;border-radius:4px;padding:12px 14px;font:15px Inter,sans-serif;min-width:0}
.mailing-form .btn{background:#DCD9D4;color:#13241A;border-radius:4px;letter-spacing:.08em;text-transform:uppercase;font-size:13px;padding:12px 22px}
.mailing-form .btn:hover{background:#cfcbc4}
.mailing-msg,.mailing-note{grid-column:2;font-size:13px;margin:0}
.mailing-note{color:var(--muted)}
.mailing-msg:empty{display:none}.mailing-msg.ok{color:#1E6B3A;font-weight:600}.mailing-msg.bad{color:#B3261E}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media(max-width:720px){.mailing .wrap{grid-template-columns:1fr}.mailing-msg,.mailing-note{grid-column:1}}
/* Signature */
.sig{margin:14px 0 6px}
.sig-label{font-weight:700;font-size:14px;margin-bottom:6px}
.sig-area{position:relative;border:1px solid var(--line);border-radius:8px;background:#fff;height:170px}
.sig-canvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair;position:relative;z-index:2}
.sig-typed{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;font:italic 40px "Brush Script MT","Segoe Script","Snell Roundhand",cursive;padding:0 22px;z-index:2;outline:none}
.sig-line{position:absolute;left:20px;right:20px;bottom:42px;border-bottom:1px solid #DDD;z-index:1}
.sig-clear{position:absolute;left:6px;bottom:8px;z-index:3;border:0;background:none;font-size:18px;color:#888;cursor:pointer}
.sig-modes{display:flex;justify-content:flex-end;gap:14px;margin-top:4px}
.sig-modes button{border:0;background:none;font:13px Inter,sans-serif;color:#555;cursor:pointer;padding:2px 0}
.sig-modes button.on{border-bottom:2px solid #1F4D3A;color:#1F4D3A}
.sigcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:18px}
