/* ==========================================================================
   Cottrell Cattle Company LLC
   Built for rebuild in Elementor: flex containers only, no CSS grid.
   Every section maps to native Elementor widgets.
   ========================================================================== */

/* --- Brand tokens ------------------------------------------------------- */
:root{
  --red:#B00C0C;
  --red-dark:#8A0909;
  --charcoal:#1F1D1B;
  --charcoal-soft:#4A4642;
  --cream:#FAF6EF;
  --bone:#EFE7DA;
  --gold:#C08A2E;
  --white:#FFFFFF;
  --line:#DED3C2;

  --font-head:'Bitter',Georgia,'Times New Roman',serif;
  --font-body:'Source Sans 3','Source Sans Pro',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;

  --wrap:1180px;
  --gap:32px;
  --radius:4px;
  --shadow:0 2px 18px rgba(31,29,27,.08);
  --shadow-lg:0 10px 40px rgba(31,29,27,.13);
}

/* --- Reset -------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--charcoal);
  font-family:var(--font-body);
  font-size:18px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--red);text-decoration:none;}
a:hover{color:var(--red-dark);text-decoration:underline;}

/* --- Typography --------------------------------------------------------- */
h1,h2,h3,h4,h5,h6{
  font-family:var(--font-head);
  color:var(--charcoal);
  line-height:1.15;
  margin:0 0 .5em;
  font-weight:700;
  letter-spacing:-.01em;
}
h1{font-size:clamp(2.4rem,5.2vw,4rem);}
h2{font-size:clamp(1.9rem,3.6vw,2.9rem);}
h3{font-size:clamp(1.25rem,2vw,1.6rem);}
h4{font-size:1.15rem;}
p{margin:0 0 1.1em;}
p:last-child{margin-bottom:0;}
strong{font-weight:700;color:var(--charcoal);}

.eyebrow{
  font-family:var(--font-body);
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
  margin:0 0 14px;
  display:block;
}
.lead{font-size:1.2rem;color:var(--charcoal-soft);}
.text-center{text-align:center;}
.measure{max-width:720px;}
.measure-center{max-width:720px;margin-left:auto;margin-right:auto;}

/* --- Layout: flex containers only --------------------------------------- */
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px;}
.section{padding:92px 0;}
.section--tight{padding:64px 0;}
.section--cream{background:var(--cream);}
.section--bone{background:var(--bone);}
.section--white{background:var(--white);}
.section--dark{background:var(--charcoal);color:#E8E3DB;}
.section--dark h2,.section--dark h3,.section--dark h4{color:var(--white);}
.section--dark .lead{color:#C9C3B9;}

.row{display:flex;flex-wrap:wrap;gap:var(--gap);}
.row--center{align-items:center;}
.row--middle{align-items:center;justify-content:center;}
.row--between{justify-content:space-between;align-items:center;}
.row--gap-lg{gap:56px;}
.row--gap-sm{gap:18px;}

.col{flex:1 1 0;min-width:0;}
.col-half{flex:1 1 420px;min-width:0;}
.col-third{flex:1 1 300px;min-width:0;}
.col-quarter{flex:1 1 220px;min-width:0;}
.col-two-thirds{flex:2 1 460px;min-width:0;}

.stack{display:flex;flex-direction:column;}
.stack-sm{gap:12px;}
.stack-md{gap:22px;}
.stack-lg{gap:40px;}

.section-head{max-width:760px;margin:0 auto 56px;text-align:center;}
.section-head p{color:var(--charcoal-soft);font-size:1.15rem;margin-bottom:0;}
.section--dark .section-head p{color:#C9C3B9;}
.section-head--left{margin-left:0;text-align:left;}

/* --- Buttons ------------------------------------------------------------ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--font-body);
  font-size:1rem;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;
  padding:17px 34px;
  border-radius:var(--radius);
  border:2px solid transparent;
  cursor:pointer;
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
  text-align:center;
  text-decoration:none;
}
.btn:hover{text-decoration:none;transform:translateY(-2px);}
.btn--primary{background:var(--red);color:var(--white);border-color:var(--red);}
.btn--primary:hover{background:var(--red-dark);border-color:var(--red-dark);color:var(--white);}
.btn--outline{background:transparent;color:var(--charcoal);border-color:var(--charcoal);}
.btn--outline:hover{background:var(--charcoal);color:var(--white);}
.btn--light{background:var(--white);color:var(--red);border-color:var(--white);}
.btn--light:hover{background:var(--bone);color:var(--red-dark);}
.btn--ghost-light{background:transparent;color:var(--white);border-color:rgba(255,255,255,.65);}
.btn--ghost-light:hover{background:var(--white);color:var(--charcoal);}
.btn--sm{padding:12px 22px;font-size:.85rem;}
.btn--block{display:flex;width:100%;}
.btn[aria-disabled="true"],.btn:disabled{
  background:var(--line);border-color:var(--line);color:#8B8377;
  cursor:not-allowed;pointer-events:none;transform:none;
}
.btn-group{display:flex;flex-wrap:wrap;gap:16px;}

/* --- Header ------------------------------------------------------------- */
.site-header{
  position:sticky;top:0;z-index:100;
  background:var(--white);
  border-bottom:1px solid var(--line);
  box-shadow:0 1px 12px rgba(31,29,27,.06);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 24px;max-width:var(--wrap);margin:0 auto;}
.brand{display:flex;align-items:center;flex-shrink:0;}
.brand img{height:56px;width:auto;}
.brand:hover{text-decoration:none;}

.nav{display:flex;align-items:center;gap:30px;}
.nav a{
  font-family:var(--font-body);
  font-size:.95rem;font-weight:600;
  color:var(--charcoal);
  letter-spacing:.02em;
  padding:6px 0;
  border-bottom:2px solid transparent;
  white-space:nowrap;
}
.nav a:hover{color:var(--red);text-decoration:none;border-bottom-color:var(--red);}
.nav a.is-active{color:var(--red);border-bottom-color:var(--red);}
.nav .nav-cta{display:none;} /* mobile drawer only */
.header-cta{flex-shrink:0;}

.nav-toggle{
  display:none;
  flex-direction:column;justify-content:center;gap:5px;
  width:46px;height:46px;padding:10px;
  background:transparent;border:1px solid var(--line);border-radius:var(--radius);
  cursor:pointer;
}
.nav-toggle span{display:block;height:2px;width:100%;background:var(--charcoal);transition:transform .2s ease,opacity .2s ease;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* --- Hero --------------------------------------------------------------- */
.hero{
  position:relative;
  display:flex;align-items:center;
  min-height:640px;
  padding:100px 0;
  background:var(--charcoal) center 42% / cover no-repeat;
  color:var(--white);
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(20,18,16,.86) 0%,rgba(20,18,16,.66) 45%,rgba(20,18,16,.30) 100%);
}
.hero .wrap{position:relative;z-index:1;}
.hero-content{max-width:680px;}
.hero h1{color:var(--white);margin-bottom:20px;text-shadow:0 2px 24px rgba(0,0,0,.35);}
.hero .eyebrow{color:#E6B85C;}
.hero-sub{font-size:1.3rem;line-height:1.55;color:#EDE8E0;margin-bottom:30px;max-width:600px;}
.hero .btn-group{margin-top:34px;}

.hero-checks{list-style:none;margin:0 0 4px;padding:0;display:flex;flex-direction:column;gap:12px;}
.hero-checks li{display:flex;align-items:flex-start;gap:12px;font-size:1.05rem;color:#EDE8E0;}
.hero-checks .tick{
  flex-shrink:0;width:24px;height:24px;border-radius:50%;
  background:var(--red);color:var(--white);
  display:flex;align-items:center;justify-content:center;
  font-size:.75rem;font-weight:700;margin-top:3px;
}

/* --- Page hero (interior pages) ----------------------------------------- */
.page-hero{
  background:var(--bone);
  padding:76px 0 64px;
  border-bottom:1px solid var(--line);
  text-align:center;
}
.page-hero .wrap{max-width:860px;}
.page-hero h1{margin-bottom:16px;}
.page-hero p{font-size:1.2rem;color:var(--charcoal-soft);margin-bottom:0;}

/* --- Trust bar ---------------------------------------------------------- */
.trust-bar{background:var(--red);color:var(--white);padding:20px 0;}
.trust-bar .row{gap:20px;justify-content:space-between;align-items:center;}
.trust-item{
  flex:1 1 200px;
  display:flex;align-items:center;justify-content:center;gap:11px;
  font-size:.95rem;font-weight:600;letter-spacing:.03em;
  text-align:center;
}
.trust-item svg{flex-shrink:0;width:22px;height:22px;fill:none;stroke:#F2C9C9;stroke-width:2;}

/* --- Cards -------------------------------------------------------------- */
.card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:38px 32px;
  display:flex;flex-direction:column;
  box-shadow:var(--shadow);
  transition:transform .2s ease,box-shadow .2s ease;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.card h3{margin-bottom:12px;}
.card p{color:var(--charcoal-soft);}

/* Icon box (maps to Elementor Icon Box widget) */
.icon-box{display:flex;flex-direction:column;gap:16px;padding:0;}
.icon-box .icon{
  width:62px;height:62px;border-radius:50%;
  background:var(--red);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.icon-box .icon svg{width:30px;height:30px;fill:none;stroke:var(--white);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.icon-box h3{margin:0 0 6px;font-size:1.3rem;}
.icon-box p{color:var(--charcoal-soft);margin:0;}
.icon-box--gold .icon{background:var(--gold);}
.icon-box--boxed{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:34px 30px;box-shadow:var(--shadow);
  height:100%;              /* fill the column so side-by-side boxes match */
}
.section--dark .icon-box p{color:#C9C3B9;}
.section--dark .icon-box .icon{background:var(--red);}
/* A boxed card keeps its white background inside a dark section, so its text
   must go back to the light-background colours that the rules above override.
   Without this the headings are white on white and disappear. */
.section--dark .icon-box--boxed{border-color:var(--white);}
.section--dark .icon-box--boxed h3{color:var(--charcoal);}
.section--dark .icon-box--boxed p{color:var(--charcoal-soft);}

/* --- Share / pricing cards ---------------------------------------------- */
.share-card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  display:flex;flex-direction:column;
  overflow:hidden;
  box-shadow:var(--shadow);
  transition:transform .2s ease,box-shadow .2s ease;
}
.share-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.share-card--featured{border:2px solid var(--red);box-shadow:var(--shadow-lg);}
.share-card__flag{
  background:var(--red);color:var(--white);
  font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  text-align:center;padding:9px;
}
.share-card__head{padding:34px 30px 24px;border-bottom:1px solid var(--line);text-align:center;}
.share-card__head h3{margin:0 0 8px;font-size:1.75rem;}
.share-card__price{
  font-family:var(--font-head);font-size:2.5rem;font-weight:700;
  color:var(--red);line-height:1.1;display:block;margin-bottom:6px;
}
.share-card__note{font-size:.9rem;color:var(--charcoal-soft);margin:0;}
.share-card__body{padding:28px 30px;flex:1;display:flex;flex-direction:column;gap:18px;}
.share-card__foot{padding:0 30px 32px;}

.spec-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;}
.spec-list li{
  display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  padding:11px 0;border-bottom:1px dashed var(--line);
  font-size:.96rem;
}
.spec-list li:last-child{border-bottom:none;}
.spec-list .label{color:var(--charcoal-soft);}
.spec-list .value{font-weight:700;text-align:right;}

/* --- Check list (Elementor Icon List) ----------------------------------- */
.check-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px;}
.check-list li{display:flex;align-items:flex-start;gap:13px;color:var(--charcoal-soft);}
.check-list li strong{color:var(--charcoal);}
.check-list .tick{
  flex-shrink:0;width:22px;height:22px;border-radius:50%;
  background:var(--red);color:var(--white);
  display:flex;align-items:center;justify-content:center;
  font-size:.7rem;font-weight:700;margin-top:4px;
}
.check-list--gold .tick{background:var(--gold);}

/* --- Numbered steps ----------------------------------------------------- */
.step{
  display:flex;gap:26px;align-items:flex-start;
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:32px 34px;box-shadow:var(--shadow);
}
.step__num{
  flex-shrink:0;
  width:60px;height:60px;border-radius:50%;
  background:var(--red);color:var(--white);
  font-family:var(--font-head);font-size:1.6rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  line-height:1;
}
.step__body h3{margin:0 0 8px;}
.step__body p{color:var(--charcoal-soft);margin:0;}
.step__body p + p{margin-top:.8em;}

/* --- Media + text split ------------------------------------------------- */
.media-figure{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);position:relative;}
.media-figure img{width:100%;height:100%;object-fit:cover;}
.media-figure--tall img{aspect-ratio:4/5;}
.media-figure--wide img{aspect-ratio:3/2;}
.media-figure--square img{aspect-ratio:1/1;}


/* --- Timeline ----------------------------------------------------------- */
.timeline{display:flex;flex-wrap:wrap;gap:0;}
.timeline__item{
  flex:1 1 240px;
  padding:32px 26px;
  border-left:3px solid var(--line);
  position:relative;
}
.timeline__item:first-child{border-left-color:var(--red);}
.timeline__year{
  font-family:var(--font-head);font-size:2.1rem;font-weight:700;
  color:var(--red);line-height:1;display:block;margin-bottom:10px;
}
.timeline__item h3{font-size:1.2rem;margin-bottom:8px;}
.timeline__item p{color:var(--charcoal-soft);font-size:.98rem;margin:0;}

/* --- Comparison table (flex, not CSS grid) ------------------------------ */

/* --- Cost tally (itemised receipt) -------------------------------------- */
.tally{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:40px 44px;box-shadow:var(--shadow);
}
.tally__head{
  display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:baseline;
  padding-bottom:20px;margin-bottom:8px;border-bottom:2px solid var(--charcoal);
}
.tally__head h3{margin:0;font-size:1.45rem;}
.tally__head span{font-size:.82rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);}
.tally__row{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--line);}
.tally__row:last-of-type{border-bottom:none;}
.tally__label{display:flex;flex-direction:column;gap:3px;}
.tally__label b{font-size:1.08rem;font-weight:700;}
.tally__label small{font-size:.87rem;color:var(--charcoal-soft);}
.tally__amt{font-family:var(--font-head);font-size:1.9rem;font-weight:700;line-height:1;white-space:nowrap;}
.tally__total{
  display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;
  margin-top:12px;padding:26px 30px;background:var(--red);border-radius:var(--radius);color:var(--white);
}
.tally__total b{font-family:var(--font-head);font-size:1.2rem;letter-spacing:.02em;}
.tally__total .big{font-family:var(--font-head);font-size:2.9rem;font-weight:700;line-height:1;}
.tally__foot{
  display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:baseline;
  margin-top:18px;padding-top:18px;border-top:1px dashed var(--line);
}
.tally__foot b{font-size:1.05rem;}
.tally__foot .yield{font-family:var(--font-head);font-size:1.5rem;font-weight:700;color:var(--gold);}

/* --- Fulfilment options strip (Elementor Icon List) --------------------- */
.fulfil{
  background:var(--bone);border:1px solid var(--line);border-left:4px solid var(--red);
  border-radius:var(--radius);padding:10px 24px;
}
.fulfil__item{
  display:flex;align-items:center;gap:14px;
  padding:15px 0;border-bottom:1px dashed var(--line);
}
.fulfil__item:last-child{border-bottom:none;}
.fulfil__icon{
  flex-shrink:0;width:40px;height:40px;border-radius:50%;
  background:var(--red);display:flex;align-items:center;justify-content:center;
}
.fulfil__icon svg{width:21px;height:21px;fill:none;stroke:var(--white);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.fulfil__text{flex:1 1 auto;min-width:0;}
.fulfil__text b{display:block;font-size:1.02rem;font-weight:700;line-height:1.3;}
.fulfil__text small{font-size:.86rem;color:var(--charcoal-soft);}
.fulfil__price{
  flex-shrink:0;font-family:var(--font-head);font-size:1.05rem;font-weight:700;
  letter-spacing:.04em;text-transform:uppercase;color:var(--red);white-space:nowrap;
}
.fulfil__price--muted{color:var(--charcoal-soft);text-transform:none;letter-spacing:0;font-size:.98rem;}

/* --- Head-to-head comparison cards -------------------------------------- */
.mk{
  flex-shrink:0;width:26px;height:26px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:.78rem;font-weight:700;line-height:1;margin-top:2px;
}
.mk--yes{background:var(--red);color:var(--white);}
.mk--no{background:#D8D0C2;color:#6E6659;}

/* Paired rows: each argument is one flex row holding both answers, so the two
   sides can never drift out of line. In Elementor: one container per row with
   two inner columns. */
.vs{max-width:1000px;margin:0 auto;}
.vs__heads,.vs__row{display:flex;gap:22px;align-items:stretch;}
.vs__head,.vs__cell{flex:1 1 0;min-width:0;}
.vs__head{padding:26px 30px;text-align:center;}
.vs__head h3{margin:0 0 4px;font-size:1.4rem;}
.vs__head span{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;}
.vs__head--ours{background:var(--red);color:var(--white);}
.vs__head--ours h3{color:var(--white);}
.vs__head--ours span{color:#F6C9C9;}
.vs__head--theirs{background:var(--bone);}
.vs__head--theirs span{color:var(--charcoal-soft);}
.vs__cell{display:flex;gap:14px;padding:19px 30px;background:var(--white);}
.vs__item b{
  display:block;font-size:.76rem;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--gold);margin-bottom:5px;
}
.vs__item > span{font-size:1.04rem;line-height:1.5;}
.vs__cell--theirs .vs__item > span{color:var(--charcoal-soft);}

/* Two across: the column framing is stitched from the head down to the last row. */
@media (min-width:761px){
  .vs__head--ours{border:2px solid var(--red);border-bottom:none;border-radius:var(--radius) var(--radius) 0 0;}
  .vs__head--theirs{border:1px solid var(--line);border-bottom:none;border-radius:var(--radius) var(--radius) 0 0;}
  .vs__cell--ours{border-left:2px solid var(--red);border-right:2px solid var(--red);box-shadow:var(--shadow-lg);}
  .vs__cell--theirs{border-left:1px solid var(--line);border-right:1px solid var(--line);}
  .vs__row:not(.vs__row--last) .vs__cell{border-bottom:1px solid var(--line);}
  .vs__row--last .vs__cell--ours{border-bottom:2px solid var(--red);border-radius:0 0 var(--radius) var(--radius);}
  .vs__row--last .vs__cell--theirs{border-bottom:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);}
}

/* Stacked: one card per argument, the label said once, each answer tagged. */
@media (max-width:760px){
  .vs__heads{display:none;}
  .vs__row{
    flex-direction:column;gap:0;margin-bottom:16px;overflow:hidden;
    border:1px solid var(--line);border-radius:var(--radius);
    background:var(--white);box-shadow:var(--shadow);
  }
  .vs__row--last{margin-bottom:0;}
  .vs__cell{padding:18px 22px;}
  .vs__cell--ours{border-left:3px solid var(--red);}
  .vs__cell--theirs{border-top:1px solid var(--line);background:var(--cream);}
  .vs__cell--theirs .vs__item b{display:none;}
  .vs__cell--ours .vs__item > span::before{content:"Us: ";font-weight:700;color:var(--red);}
  .vs__cell--theirs .vs__item > span::before{content:"Grocery store: ";font-weight:700;color:var(--charcoal);}
}

/* --- Accordion (Elementor Accordion widget) ----------------------------- */
.accordion{display:flex;flex-direction:column;gap:12px;}
.accordion__item{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.accordion__trigger{
  width:100%;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:22px 26px;
  background:transparent;border:none;cursor:pointer;
  font-family:var(--font-head);font-size:1.1rem;font-weight:700;color:var(--charcoal);
  text-align:left;line-height:1.35;
}
.accordion__trigger:hover{color:var(--red);}
.accordion__icon{
  flex-shrink:0;width:26px;height:26px;border-radius:50%;
  background:var(--bone);color:var(--red);
  display:flex;align-items:center;justify-content:center;
  font-size:1.15rem;font-weight:700;line-height:1;
  transition:transform .22s ease,background-color .22s ease;
}
.accordion__trigger[aria-expanded="true"] .accordion__icon{transform:rotate(45deg);background:var(--red);color:var(--white);}
.accordion__panel{display:none;padding:0 26px 24px;color:var(--charcoal-soft);}
.accordion__panel.is-open{display:block;}

/* --- Forms -------------------------------------------------------------- */
.form-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:40px;box-shadow:var(--shadow);}
.field{display:flex;flex-direction:column;gap:7px;flex:1 1 260px;min-width:0;}
.field label{font-size:.9rem;font-weight:700;letter-spacing:.02em;}
.field .req{color:var(--red);}
.field input,.field select,.field textarea{
  font-family:var(--font-body);font-size:1rem;color:var(--charcoal);
  padding:13px 15px;
  background:var(--cream);
  border:1px solid var(--line);border-radius:var(--radius);
  width:100%;
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(176,12,12,.12);background:var(--white);
}
.field textarea{resize:vertical;min-height:130px;}
.field .hint{font-size:.83rem;color:var(--charcoal-soft);}
.form-note{font-size:.88rem;color:var(--charcoal-soft);}

.sidebar-box{background:var(--bone);border:1px solid var(--line);border-radius:var(--radius);padding:32px 30px;}
.sidebar-box h3{font-size:1.25rem;margin-bottom:16px;}

/* --- Contact tiles ------------------------------------------------------ */
.contact-tile{
  display:flex;flex-direction:column;gap:12px;align-items:flex-start;
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:32px 30px;box-shadow:var(--shadow);
  height:100%;              /* fill the column so side-by-side tiles match */
}
.contact-tile .icon{width:54px;height:54px;border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center;}
.contact-tile .icon svg{width:26px;height:26px;fill:none;stroke:var(--white);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.contact-tile h3{font-size:1.2rem;margin:0;}
.contact-tile a.big{font-family:var(--font-head);font-size:1.45rem;font-weight:700;color:var(--red);line-height:1.25;}
.contact-tile p{margin:0;color:var(--charcoal-soft);font-size:.96rem;}

/* --- Social buttons ----------------------------------------------------- */
.social-row{display:flex;flex-wrap:wrap;gap:16px;}
.social-btn{
  display:flex;align-items:center;gap:14px;
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px 28px;flex:1 1 260px;
  color:var(--charcoal);font-weight:700;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.social-btn:hover{text-decoration:none;color:var(--red);transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--red);}
.social-btn svg{width:30px;height:30px;flex-shrink:0;fill:var(--red);}
.social-btn span small{display:block;font-weight:400;font-size:.85rem;color:var(--charcoal-soft);}

/* --- Inline social marks beside a handle -------------------------------- */
.handle-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.handle-marks{display:inline-flex;align-items:center;gap:7px;}
.handle-marks a{display:inline-flex;align-items:center;justify-content:center;line-height:0;}
.handle-marks svg{width:19px;height:19px;fill:currentColor;transition:opacity .18s ease;}
.handle-marks a:hover svg{opacity:.7;}
.site-footer .handle-marks a{color:#D8D2C8;}
.site-footer .handle-marks a:hover{color:var(--white);}

.tile-marks{display:inline-flex;align-items:center;gap:12px;}
.tile-marks a{display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:50%;background:var(--red);color:var(--white);
  transition:background-color .18s ease,transform .18s ease;}
.tile-marks a:hover{background:var(--red-dark);transform:translateY(-2px);}
.tile-marks svg{width:21px;height:21px;fill:currentColor;}

/* social mark inside a button */
.btn svg{width:18px;height:18px;fill:currentColor;flex-shrink:0;}

/* --- CTA band ----------------------------------------------------------- */
.cta-band{background:var(--red);color:var(--white);padding:76px 0;text-align:center;}
.cta-band h2{color:var(--white);margin-bottom:14px;}
.cta-band p{color:#F6DADA;font-size:1.2rem;max-width:640px;margin:0 auto 30px;}
.cta-band .btn-group{justify-content:center;}
.cta-band-phones{margin-top:26px;font-size:1.05rem;color:#F6DADA;}
.cta-band-phones a{color:var(--white);font-weight:700;border-bottom:1px solid rgba(255,255,255,.5);}
.cta-band-phones a:hover{text-decoration:none;border-bottom-color:var(--white);}

/* --- Badges ------------------------------------------------------------- */
.badge{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  padding:7px 15px;border-radius:100px;
}
.badge--gold{background:var(--gold);color:var(--white);}
.badge--red{background:var(--red);color:var(--white);}
.badge--muted{background:var(--line);color:#6E6659;}

/* --- Terms agreement checkbox ------------------------------------------- */
.agree{
  display:flex;gap:13px;align-items:flex-start;
  background:var(--bone);border:1px solid var(--line);border-left:4px solid var(--red);
  border-radius:var(--radius);padding:18px 20px;margin-top:24px;
}
.agree input[type="checkbox"]{
  margin-top:3px;width:20px;height:20px;flex-shrink:0;accent-color:var(--red);cursor:pointer;
}
.agree label{font-size:.94rem;color:var(--charcoal-soft);line-height:1.55;cursor:pointer;}
.agree label strong{color:var(--charcoal);}
.agree .req{color:var(--red);}

/* --- Shop: product cards, product pages ---------------------------------- */
/* breadcrumb */
  .crumb{font-size:.9rem;color:var(--charcoal-soft);padding:22px 0 0;}
  .crumb a{color:var(--charcoal-soft);}
  .crumb a:hover{color:var(--red);}
  .crumb span{margin:0 8px;opacity:.5;}

  /* product grid (flex, Elementor-safe) */
  .shop-grid{display:flex;flex-wrap:wrap;gap:24px;align-items:stretch;}
  .p-card{
    flex:1 1 260px;min-width:0;display:flex;flex-direction:column;
    background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
    overflow:hidden;box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease;
  }
  .p-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
  .p-card--featured{border:2px solid var(--red);}
  .p-card__media{position:relative;display:block;}
  .p-card__media img{width:100%;aspect-ratio:4/3;object-fit:cover;}
  .p-card__flag{
    position:absolute;top:0;left:0;background:var(--red);color:#fff;
    font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:7px 14px;
  }
  .p-card__flag--muted{background:var(--charcoal);}
  .p-card__body{padding:24px 24px 0;display:flex;flex-direction:column;gap:10px;flex:1;}
  .p-card__body h3{margin:0;font-size:1.3rem;}
  .p-card__price{font-family:var(--font-head);font-size:1.7rem;font-weight:700;color:var(--red);line-height:1;}
  .p-card__price small{display:block;font-family:var(--font-body);font-size:.82rem;font-weight:400;color:var(--charcoal-soft);margin-top:6px;letter-spacing:0;}
  .p-card__desc{font-size:.95rem;color:var(--charcoal-soft);margin:0;}
  .p-card__foot{padding:20px 24px 24px;display:flex;flex-direction:column;gap:10px;}

  /* product page */
  .p-hero{display:flex;flex-wrap:wrap;gap:46px;align-items:flex-start;}
  .p-hero__media{flex:1 1 380px;min-width:0;}
  .p-hero__media img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow-lg);aspect-ratio:4/5;object-fit:cover;}
  .p-thumbs{display:flex;gap:12px;margin-top:12px;}
  .p-thumbs img{flex:1 1 0;min-width:0;aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line);cursor:pointer;}
  .p-thumbs img:hover{border-color:var(--red);}
  .p-hero__info{flex:1 1 380px;min-width:0;}
  .p-hero__info h1{font-size:clamp(1.9rem,3.4vw,2.6rem);margin-bottom:10px;}

  .price-box{background:var(--bone);border:1px solid var(--line);border-left:4px solid var(--red);
    border-radius:var(--radius);padding:24px 26px;margin:22px 0;}
  .price-box__now{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:baseline;}
  .price-box__now b{font-size:1.02rem;}
  .price-box__now .v{font-family:var(--font-head);font-size:2.5rem;font-weight:700;color:var(--red);line-height:1;}
  .price-box__rest{margin-top:16px;padding-top:16px;border-top:1px dashed var(--line);
    display:flex;flex-direction:column;gap:9px;font-size:.95rem;}
  .price-box__rest div{display:flex;justify-content:space-between;gap:12px;}
  .price-box__rest .lbl{color:var(--charcoal-soft);}
  .price-box__rest .val{font-weight:700;text-align:right;}

  .qty-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:22px 0;}
  .qty{display:flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);overflow:hidden;}
  .qty button{width:44px;height:50px;border:none;background:transparent;font-size:1.3rem;
    font-family:var(--font-head);color:var(--charcoal);cursor:pointer;line-height:1;}
  .qty button:hover{background:var(--bone);color:var(--red);}
  .qty input{width:52px;height:50px;border:none;text-align:center;font-family:var(--font-head);
    font-size:1.1rem;font-weight:700;background:transparent;}
  .qty-row .btn{flex:1 1 220px;}

  .p-meta{border-top:1px solid var(--line);margin-top:26px;padding-top:22px;
    display:flex;flex-direction:column;gap:9px;font-size:.92rem;color:var(--charcoal-soft);}
  .p-meta div{display:flex;gap:10px;}
  .p-meta b{color:var(--charcoal);min-width:104px;}

  .stock{display:inline-flex;align-items:center;gap:9px;font-size:.86rem;font-weight:700;
    letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px;}
  .stock::before{content:"";width:9px;height:9px;border-radius:50%;background:#2E7D32;}
  .stock--in{color:#2E7D32;}
  .stock--out{color:#9B9284;}
  .stock--out::before{background:#9B9284;}

  /* cart */
  .cart-table{display:flex;flex-direction:column;border:1px solid var(--line);
    border-radius:var(--radius);overflow:hidden;background:var(--white);}
  .cart-row{display:flex;flex-wrap:wrap;gap:18px;align-items:center;padding:22px 26px;border-bottom:1px solid var(--line);}
  .cart-row:last-child{border-bottom:none;}
  .cart-row--head{background:var(--charcoal);color:#fff;font-size:.76rem;font-weight:700;
    letter-spacing:.14em;text-transform:uppercase;padding-top:15px;padding-bottom:15px;}
  .cart-row img{width:74px;height:74px;object-fit:cover;border-radius:var(--radius);flex-shrink:0;}
  .cart-item{flex:1 1 240px;min-width:0;}
  .cart-item b{display:block;font-family:var(--font-head);font-size:1.1rem;}
  .cart-item small{color:var(--charcoal-soft);font-size:.88rem;}
  .cart-qty{flex:0 0 90px;}
  .cart-amt{flex:0 0 110px;text-align:right;font-family:var(--font-head);font-size:1.25rem;font-weight:700;}
  .cart-summary{background:var(--bone);border:1px solid var(--line);border-radius:var(--radius);padding:30px 32px;}
  .cart-summary h3{margin-bottom:18px;}
  .cart-summary .line{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px dashed var(--line);font-size:.98rem;}
  .cart-summary .line:last-of-type{border-bottom:none;}
  .cart-summary .total{display:flex;justify-content:space-between;align-items:center;gap:14px;
    margin-top:14px;padding:20px 22px;background:var(--red);color:#fff;border-radius:var(--radius);}
  .cart-summary .total b{font-family:var(--font-head);font-size:1.1rem;}
  .cart-summary .total .v{font-family:var(--font-head);font-size:2rem;font-weight:700;line-height:1;}

  .terms{display:flex;gap:13px;align-items:flex-start;background:var(--white);
    border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;margin-top:20px;}
  .terms input{margin-top:4px;width:19px;height:19px;flex-shrink:0;accent-color:var(--red);}
  .terms label{font-size:.93rem;color:var(--charcoal-soft);line-height:1.5;}
  .terms label strong{color:var(--charcoal);}

  /* cart badge in header */

  .dl-badge{display:inline-flex;align-items:center;gap:9px;background:var(--gold);color:#fff;
    font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
    padding:8px 16px;border-radius:100px;}

  @media (max-width:640px){
    .p-hero{gap:30px;}
    .cart-amt{flex:1 1 auto;text-align:left;}
    .price-box{padding:20px 22px;}
  }

/* --- Editable placeholder marker ---------------------------------------- */
/* Stripped for launch (11 Oct 2026), once every number was confirmed. The
   class="editable" spans are left in the HTML as invisible anchors: they mark
   the 60 figures that need re-checking each season. To make them visible again,
   restore the rule below.
.editable{
  border-bottom:2px dotted var(--gold);
  background:rgba(192,138,46,.09);
  padding:0 2px;
}
*/

/* Honeypot: off-screen for people, visible to bots that fill every field. */
.hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden;}

/* --- Footer ------------------------------------------------------------- */
.site-footer{background:var(--charcoal);color:#B9B2A7;padding:72px 0 0;font-size:.97rem;}
.site-footer h3{color:var(--white);font-size:1.05rem;letter-spacing:.04em;margin-bottom:18px;}
.site-footer a{color:#D8D2C8;}
.site-footer a:hover{color:var(--white);text-decoration:none;}
.footer-row{gap:40px;}
.footer-brand{flex:1 1 230px;min-width:0;}
.footer-col-links{flex:1 1 150px;min-width:0;}
.footer-col-contact{flex:1 1 250px;min-width:0;}
.footer-brand img{height:74px;width:auto;margin-bottom:20px;}
.footer-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.footer-social{display:flex;gap:14px;margin-top:20px;}
.footer-social a{
  width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.09);
  display:flex;align-items:center;justify-content:center;
  transition:background-color .18s ease;
}
.footer-social a:hover{background:var(--red);}
.footer-social svg{width:20px;height:20px;fill:#E4DFD7;}
.footer-bottom{
  margin-top:56px;padding:26px 0;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center;
  text-align:center;
  font-size:.88rem;color:#8D867B;
}

/* --- Utilities ---------------------------------------------------------- */
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--red);color:var(--white);padding:12px 20px;font-weight:700;
}
.skip-link:focus{left:0;}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.divider{height:3px;width:64px;background:var(--red);border:none;margin:0 0 24px;}
.divider--center{margin-left:auto;margin-right:auto;}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1024px){
  .nav{
    display:none;
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--white);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    box-shadow:0 14px 30px rgba(31,29,27,.14);
    padding:8px 0;
    max-height:calc(100vh - 90px);
    overflow-y:auto;
  }
  .nav.is-open{display:flex;}
  .nav a{padding:15px 24px;border-bottom:1px solid var(--line);border-left:3px solid transparent;font-size:1.05rem;}
  .nav a:last-child{border-bottom:none;}
  .nav a:hover,.nav a.is-active{border-bottom-color:var(--line);border-left-color:var(--red);background:var(--cream);}
  .nav-toggle{display:flex;}
  .site-header{position:sticky;}
  .header-inner{position:relative;}
  .header-cta{display:none;}
  .nav .nav-cta{
    display:block;
    margin:12px 24px 8px;padding:15px 24px;
    background:var(--red);color:var(--white);text-align:center;
    border-radius:var(--radius);border:none;font-weight:700;
    text-transform:uppercase;letter-spacing:.04em;font-size:.95rem;
  }
  .nav .nav-cta:hover{background:var(--red-dark);color:var(--white);border-left-color:transparent;}
}

@media (max-width:900px){
  .section{padding:68px 0;}
  .section--tight{padding:52px 0;}
  .hero{min-height:auto;padding:80px 0;}
  .hero::before{background:linear-gradient(175deg,rgba(20,18,16,.84) 0%,rgba(20,18,16,.72) 100%);}
  .row--gap-lg{gap:36px;}
  .section-head{margin-bottom:40px;}
  .timeline__item{border-left:3px solid var(--red);flex:1 1 100%;}
}

@media (max-width:640px){
  body{font-size:17px;}
  .wrap{padding:0 18px;}
  .header-inner{padding:12px 18px;}
  .brand img{height:46px;}
  .section{padding:56px 0;}
  .form-card{padding:26px 22px;}
  .card,.icon-box--boxed,.step,.contact-tile,.sidebar-box{padding:26px 22px;}
  .tally{padding:26px 24px;}
  .fulfil{padding:8px 18px;}
  .fulfil__item{gap:12px;}
  .fulfil__icon{width:34px;height:34px;}
  .fulfil__icon svg{width:18px;height:18px;}
  .tally__amt{font-size:1.6rem;}
  .tally__total{padding:22px 24px;}
  .tally__total .big{font-size:2.3rem;}
  .share-card__head,.share-card__body{padding-left:24px;padding-right:24px;}
  .share-card__foot{padding-left:24px;padding-right:24px;}
  .step{flex-direction:column;gap:18px;}
  .btn{width:100%;}
  .btn-group{flex-direction:column;}
  .btn-group .btn{width:100%;}
  .hero-sub{font-size:1.12rem;}
  .cta-band{padding:56px 0;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .trust-item{flex:1 1 100%;justify-content:flex-start;text-align:left;}
}
