/* ============================================================
   Global Roots Canada — brand palette: terracotta + brown + cream
   ============================================================ */
:root{
  --terra:#C6432A; --terra-deep:#A6371E; --terra-soft:#E9C7B4;
  --brown:#492B1F; --brown-2:#3A2118; --brown-soft:#6E4A38;
  --cream:#FAF4EA; --cream-2:#F2E7D5; --ink:#33211A; --ink-soft:#6B564A;
  --line:#E7D9C6; --gold:#D98A2B; --wrap:1120px;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Inter','Segoe UI',system-ui,-apple-system,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; background:var(--cream); color:var(--ink); font-family:var(--sans); font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased}
img{max-width:100%; display:block}
a{color:var(--terra); text-decoration:none} a:hover{color:var(--terra-deep)}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 24px}
h1,h2,h3{font-family:var(--serif); font-weight:600; line-height:1.08; letter-spacing:-.01em; color:var(--brown); margin:0 0 .4em}
h1{font-size:clamp(2.6rem,6vw,4.5rem)} h2{font-size:clamp(1.8rem,3.4vw,2.7rem)} h3{font-size:1.32rem}
p{margin:0 0 1.1em; max-width:64ch}
.lead{font-size:1.22rem; color:var(--ink-soft); max-width:60ch}
.eyebrow{font-family:var(--sans); font-weight:700; font-size:.82rem; color:var(--terra); letter-spacing:.06em; text-transform:uppercase; margin:0 0 .7em}
.btn{display:inline-block; font-family:var(--sans); font-weight:600; font-size:1rem; padding:.82em 1.55em; border-radius:999px; border:2px solid var(--terra); cursor:pointer; transition:.15s}
.btn-primary{background:var(--terra); color:#fff} .btn-primary:hover{background:var(--terra-deep); border-color:var(--terra-deep); color:#fff}
.btn-ghost{background:transparent; color:var(--terra)} .btn-ghost:hover{background:var(--terra); color:#fff}
.textlink{font-weight:600; color:var(--brown); border-bottom:2px solid var(--terra); padding-bottom:1px}
.textlink:hover{color:var(--terra); border-color:var(--brown)}
.nav{position:sticky; top:0; z-index:50; background:rgba(250,244,234,.9); backdrop-filter:saturate(1.2) blur(7px); border-bottom:1px solid var(--line)}
.nav .wrap{display:flex; align-items:center; justify-content:space-between; height:76px}
.brand{display:flex; align-items:center; gap:12px}
.brand img{height:56px; width:auto}
.brand .bt{font-family:var(--serif); font-weight:600; font-size:1.24rem; color:var(--brown); line-height:1.05}
.brand .bt small{display:block; font-family:var(--sans); font-weight:500; font-size:.64rem; color:var(--ink-soft); letter-spacing:.04em; margin-top:2px; text-transform:uppercase}
.navlinks{display:flex; align-items:center; gap:26px; font-weight:500; font-size:.98rem}
.navlinks a{color:var(--ink-soft)} .navlinks a:hover,.navlinks a.active{color:var(--terra)}
.navlinks a.active{border-bottom:2px solid var(--terra); padding-bottom:4px}
.navlinks a.nav-cta{color:#fff} .navlinks a.nav-cta:hover{color:#fff}
.nav-cta{margin-left:4px}
.navtoggle{display:none; background:none; border:0; font-size:1.6rem; color:var(--terra); cursor:pointer}
.hero{position:relative; padding:80px 0 62px; overflow:hidden}
.hero::before{content:""; position:absolute; right:-140px; top:-90px; width:520px; height:520px; background:radial-gradient(circle, rgba(198,67,42,.10), transparent 68%); pointer-events:none}
.hero .wrap{display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; position:relative}
.hero h1 .terra{color:var(--terra)}
.hero-cta{display:flex; gap:16px; flex-wrap:wrap; margin-top:26px; align-items:center}
.harvest{background:var(--brown); color:var(--cream); border-radius:20px; padding:30px 30px 34px; box-shadow:0 26px 50px -26px rgba(58,33,24,.6); position:relative; overflow:hidden}
.harvest .htitle{font-family:var(--sans); font-weight:700; font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:var(--terra-soft); margin-bottom:15px}
.harvest ul{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:9px 10px; position:relative}
.harvest li{font-family:var(--serif); font-size:1.14rem; line-height:1; padding:9px 14px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15)}
.harvest li.hot{background:var(--terra); border-color:var(--terra)}
.harvest li em{font-style:italic; color:var(--terra-soft)}
section{padding:66px 0}
.section-alt{background:var(--cream-2)}
.section-brown{background:var(--brown); color:var(--cream)}
.section-brown h2{color:#fff} .section-brown p{color:#e7d3c6}
.sec-head{max-width:60ch; margin-bottom:34px}
.rule{width:54px; height:3px; background:var(--terra); border:0; margin:0 0 22px}
.options{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
.option{background:#fff; border:1px solid var(--line); border-radius:16px; padding:28px 24px; position:relative; transition:.15s}
.option:hover{transform:translateY(-3px); box-shadow:0 18px 34px -22px rgba(58,33,24,.35)}
.option.feature{background:var(--brown); color:var(--cream); border-color:var(--brown)}
.option.feature h3{color:#fff} .option.feature .price{color:var(--terra-soft)}
.option .tag{position:absolute; top:-12px; left:24px; background:var(--terra); color:#fff; font-family:var(--sans); font-weight:700; font-size:.7rem; letter-spacing:.03em; padding:5px 12px; border-radius:999px; text-transform:uppercase}
.option.feature .tag{background:var(--gold); color:var(--brown-2)}
.option h3{margin-bottom:.3em}
.option .price{font-family:var(--serif); font-size:1.55rem; color:var(--terra); margin:.2em 0 .55em}
.option ul{margin:.4em 0 0; padding-left:1.1em; color:var(--ink-soft)} .option.feature ul{color:#e7d3c6}
.option li{margin:.4em 0}
.cropgroups{display:grid; grid-template-columns:repeat(2,1fr); gap:40px 48px}
.cropgroup h3{color:var(--terra); font-size:1.5rem}
.croplist{list-style:none; margin:0; padding:0; border-top:2px solid var(--terra-soft)}
.croplist li{padding:14px 0; border-bottom:1px solid var(--line)}
.croplist .cn{font-family:var(--serif); font-size:1.24rem; color:var(--brown)}
.croplist .alt{font-style:italic; color:var(--terra); font-size:1rem; margin-left:2px}
.croplist .desc{color:var(--ink-soft); font-size:.97rem; margin-top:3px}
.featurerow{display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-top:10px}
.feat h3{color:var(--terra)} .feat p{font-size:1rem; color:var(--ink-soft)}
.section-brown .feat h3{color:var(--gold)} .section-brown .feat p{color:#e7d3c6}
.brandmoment{display:grid; grid-template-columns:.8fr 1.2fr; gap:48px; align-items:center}
.brandmoment .logobox{background:var(--cream-2); border-radius:20px; padding:44px; text-align:center; border:1px solid var(--line)}
.brandmoment .logobox img{max-height:230px; margin:0 auto}
.contactgrid{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start}
.contact-info .ci{display:flex; gap:12px; margin:0 0 16px; align-items:flex-start}
.contact-info .ci b{color:var(--brown); display:block; font-family:var(--sans)}
.form{background:#fff; border:1px solid var(--line); border-radius:18px; padding:30px}
.form label{display:block; font-weight:600; font-size:.9rem; margin:0 0 5px; color:var(--brown)}
.form input,.form select,.form textarea{width:100%; font-family:var(--sans); font-size:1rem; padding:11px 13px; border:1px solid var(--line); border-radius:10px; background:var(--cream); margin-bottom:16px; color:var(--ink)}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--terra); border-color:var(--terra); background:#fff}
.form textarea{min-height:120px; resize:vertical}
.band{background:var(--terra); color:#fff; border-radius:24px; padding:54px 44px; text-align:center; position:relative; overflow:hidden}
.band h2{color:#fff} .band p{color:#ffe6dc; margin:0 auto; text-align:center}
.band .btn-ghost{color:#fff; border-color:#fff} .band .btn-ghost:hover{background:#fff; color:var(--terra)}
footer{background:var(--brown); color:#e0cdc0; padding:52px 0 28px; margin-top:24px}
footer a{color:#fff} footer a:hover{color:var(--gold)}
.footgrid{display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:34px; margin-bottom:32px; align-items:start}
.footgrid img{max-width:300px; margin-bottom:6px}
footer h4{font-family:var(--sans); font-weight:600; color:#fff; font-size:.95rem; margin:0 0 14px}
footer ul{list-style:none; margin:0; padding:0} footer li{margin:.5em 0}
footer p{color:#c9b3a5; font-size:.96rem}
.footbase{border-top:1px solid rgba(255,255,255,.13); padding-top:20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:.85rem; color:#b39a8c}
:focus-visible{outline:3px solid var(--terra); outline-offset:2px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{transition:none!important}}
@media (max-width:900px){
  .hero .wrap,.options,.cropgroups,.featurerow,.contactgrid,.footgrid,.brandmoment{grid-template-columns:1fr}
  .hero .wrap{gap:34px} .cropgroups{gap:30px} .brand .bt small{display:none}
  .navlinks{position:fixed; inset:76px 0 auto 0; flex-direction:column; align-items:flex-start; gap:0; background:var(--cream); border-bottom:1px solid var(--line); padding:8px 24px 18px; display:none}
  .navlinks.open{display:flex} .navlinks a{padding:12px 0; width:100%; border-bottom:1px solid var(--line)}
  .navlinks a.active{border-bottom:1px solid var(--line)} .nav-cta{margin:12px 0 0} .navtoggle{display:block}
}

/* ---- photos ---- */
.photoband{display:grid; grid-template-columns:repeat(4,1fr); gap:18px}
.photoband figure{margin:0}
.photoband img{width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:14px; box-shadow:0 16px 30px -20px rgba(58,33,24,.55)}
.photoband figcaption{font-family:var(--serif); font-size:1.06rem; color:var(--brown); margin-top:10px; line-height:1.2}
.photoband figcaption em{font-style:italic; color:var(--terra)}
.heroshot{border-radius:20px; box-shadow:0 26px 50px -26px rgba(58,33,24,.6); width:100%; aspect-ratio:4/5; object-fit:cover}
.farmshot{width:100%; border-radius:20px; object-fit:cover; box-shadow:0 22px 44px -26px rgba(58,33,24,.5)}
@media (max-width:900px){ .photoband{grid-template-columns:repeat(2,1fr); gap:14px} }
