/* ============================================================
   TERRA — the pot and planter factory store
   Scoped to body.d-terra. 1rem = 10px.
   ============================================================ */
body.d-terra{
  --te-leaf:#2e7d32;--te-leaf2:#1f5a23;--te-lime:#a4cf45;--te-terra:#d8743c;--te-cream:#f7f8ef;--te-sand:#eef1df;
  --te-ink:#1d2a1e;--te-soft:#4c5a4d;--te-mute:#7f8b7f;--te-line:#dfe5cf;
  --bg-primary:var(--te-cream);--bg-secondary:var(--te-sand);--bg-card:#fff;--bg-inset:#f1f4e6;
  --fg-primary:var(--te-ink);--fg-soft:var(--te-soft);--fg-muted:var(--te-mute);--border-color:var(--te-line);--border-strong:#cdd6b6;
  background:var(--te-cream);color:var(--te-ink);font-family:'Figtree',system-ui,sans-serif
}
body.d-terra :where(h1,h2,h3){font-family:'Bricolage Grotesque',system-ui,sans-serif;font-weight:700;letter-spacing:-.03em;line-height:1.02;color:var(--te-ink)}
body.d-terra :where(em){font-style:normal;color:var(--te-leaf)}
.te-kick{font-size:1.25rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--te-terra);margin-bottom:1.2rem}

body.d-terra .bx-nav{background:rgba(247,248,239,.94)}
body.d-terra .bx-brand-mark{border-radius:12px;background:#fff;padding:2px}
body.d-terra .bx-brand-mark img{object-fit:contain}
body.d-terra .bx-brand-txt b{font-family:'Bricolage Grotesque',sans-serif;font-size:1.95rem;color:var(--te-leaf2)}
body.d-terra .bx-nav-links a{font-size:1.4rem;font-weight:600;color:var(--te-soft)}
body.d-terra .bx-nav-links a::after{background:var(--te-terra)}
body.d-terra .bx-nav-cta{background:var(--te-leaf);border-radius:999px}

/* hero — pots on arched plinths */
.te-hero{position:relative;overflow:hidden;margin-top:var(--nav-h);background:linear-gradient(180deg,var(--te-cream) 0,var(--te-sand) 100%)}
.te-hero::before{content:"";position:absolute;right:-8%;top:-30%;width:62%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(164,207,69,.35),transparent 65%)}
.te-hero-in{position:relative;max-width:var(--max-w);margin:0 auto;padding:7rem 3rem 7rem;display:grid;grid-template-columns:1.05fr .95fr;gap:4rem;align-items:center}
.te-hero-in>*{min-width:0}
.te-chip{display:inline-flex;align-items:center;gap:.8rem;padding:.8rem 1.5rem;border-radius:999px;background:#fff;color:var(--te-leaf2);font-weight:700;font-size:1.3rem;box-shadow:0 6px 18px rgba(46,125,50,.12)}
.te-chip i{color:var(--te-terra)}
.te-hero h1{font-size:clamp(4.4rem,6.4vw,7.8rem);margin-top:2.4rem}
.te-lede{font-size:1.75rem;line-height:1.6;color:var(--te-soft);margin-top:2.4rem;max-width:54ch}
.te-actions{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:3.2rem}
.te-btn{display:inline-flex;align-items:center;gap:.9rem;padding:1.6rem 2.6rem;border-radius:999px;font-family:'Bricolage Grotesque',sans-serif;font-size:1.6rem;font-weight:700;transition:transform .2s var(--ease),background .2s,box-shadow .2s}
.te-btn-main{background:var(--te-leaf);color:#fff;box-shadow:0 14px 28px rgba(46,125,50,.25)}
.te-btn-main:hover{background:var(--te-leaf2);transform:translateY(-2px)}
.te-btn-soft{background:#fff;color:var(--te-ink)}
.te-btn-soft i{color:#16a34a}
.te-btn-soft:hover{transform:translateY(-2px)}
.te-btn-light{background:#fff;color:var(--te-leaf2)}
.te-btn-light i{color:#16a34a}

.te-shelf{position:relative;height:500px}
.te-arch{position:absolute;bottom:0;display:flex;align-items:flex-end;justify-content:center;border-radius:999px 999px 18px 18px;background:#fff;box-shadow:0 30px 60px rgba(29,42,30,.14);overflow:hidden}
.te-arch img{width:100%;height:100%;object-fit:contain;padding:12%}
.te-arch-1{width:44%;height:86%;left:28%;z-index:2;background:linear-gradient(180deg,#fff,#eef5dc)}
.te-arch-2{width:32%;height:58%;left:0;background:linear-gradient(180deg,#fff,#fbe7da)}
.te-arch-3{width:32%;height:64%;right:0;background:linear-gradient(180deg,#fff,#e5f0dd)}
.te-leaf{position:absolute;color:var(--te-leaf);width:70px;transform-origin:50% 100%;animation:te-sway 6s ease-in-out infinite;z-index:3}
.te-leaf svg{width:100%;height:auto}
.te-leaf-1{left:22%;bottom:78%;animation-delay:-1s}
.te-leaf-2{right:20%;bottom:60%;width:54px;color:var(--te-lime);animation-delay:-3s}
@keyframes te-sway{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
@media (prefers-reduced-motion:reduce){.te-leaf{animation:none}}

.te-why{max-width:var(--max-w);margin:0 auto;padding:0 3rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;transform:translateY(-2.8rem);position:relative;z-index:2}
.te-why>div{display:grid;grid-template-columns:auto 1fr;column-gap:1.4rem;align-items:center;padding:2.2rem;border-radius:20px;background:#fff;box-shadow:0 14px 34px rgba(29,42,30,.08)}
.te-why i{grid-row:span 2;width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--te-sand);color:var(--te-leaf);font-size:1.8rem}
.te-why b{font-family:'Bricolage Grotesque',sans-serif;font-size:1.65rem}
.te-why small{font-size:1.3rem;color:var(--te-mute);line-height:1.4}

/* sections */
.te-sec{padding:7rem 3rem 0}
.te-sec>*{max-width:var(--max-w);margin-left:auto;margin-right:auto}
.te-head{margin-bottom:3.6rem;text-align:center}
.te-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;text-align:left}
.te-sec h2{font-size:clamp(3.2rem,4.6vw,5.4rem)}
.te-more{font-weight:700;font-size:1.45rem;color:var(--te-leaf2);display:inline-flex;gap:.8rem;align-items:center;padding:1rem 1.8rem;border-radius:999px;background:#fff}
.te-txt{font-size:1.65rem;line-height:1.7;color:var(--te-soft);margin:1.6rem 0 2.6rem}

.te-ranges{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem}
.te-range{display:grid;grid-template-columns:96px 1fr;grid-template-rows:auto auto auto;column-gap:1.8rem;align-items:center;text-align:left;padding:1.6rem;border-radius:22px;border:1.5px solid var(--te-line);background:#fff;font:inherit;color:inherit;cursor:pointer;transition:border-color .25s,transform .25s var(--ease),box-shadow .25s}
.te-range:hover{border-color:var(--te-leaf);transform:translateY(-3px);box-shadow:0 18px 36px rgba(29,42,30,.08)}
.te-range-img{grid-row:span 3;width:96px;height:96px;border-radius:18px;overflow:hidden;background:var(--te-sand);display:flex;align-items:center;justify-content:center}
.te-range-img img{width:100%;height:100%;object-fit:contain;padding:8px}
.te-range b{font-family:'Bricolage Grotesque',sans-serif;font-size:1.85rem}
.te-range small{font-size:1.3rem;color:var(--te-mute);line-height:1.45}
.te-range em{font-size:1.3rem;font-weight:700;margin-top:.4rem;color:var(--te-terra)}

.te-bar{position:sticky;top:calc(var(--nav-h) + .6rem);z-index:5;display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center;justify-content:space-between;padding:1rem;max-width:calc(var(--max-w) + 2rem);margin:0 auto 2.6rem;border-radius:999px;background:rgba(255,255,255,.96);box-shadow:0 8px 24px rgba(29,42,30,.07);scroll-margin-top:calc(var(--nav-h) + 1rem)}
.te-tabs{display:flex;gap:.6rem;overflow-x:auto;scrollbar-width:none;min-width:0;flex:1 1 520px}
.te-tabs::-webkit-scrollbar{display:none}
.te-tab{flex:none;padding:1rem 1.8rem;border-radius:999px;border:0;background:transparent;font:inherit;font-size:1.4rem;font-weight:700;color:var(--te-soft);cursor:pointer;transition:background .2s,color .2s}
.te-tab:hover{background:var(--te-sand);color:var(--te-ink)}
.te-tab.is-on{background:var(--te-leaf);color:#fff}
.te-find{display:flex;align-items:center;gap:.8rem;flex:0 1 240px;padding:0 1.6rem;border-radius:999px;background:var(--te-cream)}
.te-find i{color:var(--te-mute);font-size:1.3rem}
.te-find input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:1.45rem;padding:1rem 0;color:var(--te-ink)}
.te-find output{font-size:1.2rem;font-weight:700;color:var(--te-terra);white-space:nowrap}
.te-group[hidden]{display:none}
.te-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.8rem}
.te-card{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:#fff;border:1px solid var(--te-line);transition:transform .3s var(--ease),box-shadow .3s}
.te-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(29,42,30,.1)}
.te-card[hidden]{display:none}
.te-card-img{display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:radial-gradient(circle at 50% 60%,#fff 0,#f1f5e4 70%)}
.te-card-img img{width:100%;height:100%;object-fit:contain;padding:10%;transition:transform .6s var(--ease)}
.te-card:hover .te-card-img img{transform:scale(1.06)}
.te-card-img>i{font-size:3.6rem;color:var(--te-leaf)}
.te-card-body{display:flex;flex-direction:column;flex:1;padding:1.4rem 1.6rem 1.6rem}
.te-card h3{font-size:1.65rem;letter-spacing:-.01em;line-height:1.2}
.te-card-cat{font-size:1.15rem;color:var(--te-mute);margin-top:.4rem}
.te-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:1.2rem}
.te-price b{font-family:'Bricolage Grotesque',sans-serif;font-size:2.2rem;color:var(--te-leaf2)}
.te-card-foot a{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--te-leaf);color:#fff;font-size:1.7rem;transition:background .2s,transform .2s}
.te-card-foot a:hover{background:var(--te-terra);transform:scale(1.08)}
.te-none{padding:3rem 0;text-align:center;font-size:1.6rem;color:var(--te-soft)}
.te-none a{color:var(--te-leaf);font-weight:700;text-decoration:underline}
.te-fine{font-size:1.25rem;color:var(--te-mute);margin-top:2rem;text-align:center}

.te-trade{display:flex;align-items:center;justify-content:space-between;gap:4rem;flex-wrap:wrap;padding:5.4rem;border-radius:32px;background:var(--te-leaf2);background-image:radial-gradient(ellipse 50% 90% at 100% 0,rgba(164,207,69,.35),transparent 70%),radial-gradient(ellipse 30% 60% at 0 100%,rgba(216,116,60,.3),transparent 70%);color:#fff}
.te-trade>div{flex:1 1 520px;max-width:720px}
body.d-terra .te-trade h2{color:#fff}
body.d-terra .te-trade h2 em{color:var(--te-lime)}
.te-trade .te-kick{color:#ffd2b6}
.te-trade p:last-child{font-size:1.65rem;line-height:1.65;color:rgba(255,255,255,.8);margin-top:1.4rem}

.te-gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.6rem}
.te-gal-item{padding:0;border:0;border-radius:24px;overflow:hidden;aspect-ratio:16/9;cursor:zoom-in;background:var(--te-sand)}
.te-gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.te-gal-item:hover img{transform:scale(1.04)}

.te-about{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem;align-items:center;padding:5rem;border-radius:32px;background:#fff}
.te-about>*{min-width:0}
.te-logo{display:block;width:160px;height:auto;margin-bottom:2.4rem}
.te-legal{margin-top:1.6rem;font-size:1.3rem;letter-spacing:.06em;color:var(--te-mute)}
.te-prose p{font-size:1.7rem;line-height:1.75;color:var(--te-soft)}
.te-prose p+p{margin-top:1.4rem}
.te-rev{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}
.te-rev blockquote{font-size:1.7rem;line-height:1.55}

.te-contact{display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding:5rem;border-radius:32px;background:var(--te-sand)}
.te-contact>*{min-width:0}
.te-hours{margin-top:2.4rem}
body.d-terra .ci{border-radius:16px;background:#fff}
body.d-terra .ci-ico{background:var(--te-leaf);color:#fff}
body.d-terra .ci-ico.wa{background:#25d366}
body.d-terra .contact-form{border-radius:22px}
body.d-terra .contact-form h3{font-size:2.4rem;margin-bottom:1.6rem}
body.d-terra .cf-field input,body.d-terra .cf-field textarea{border-radius:12px}
body.d-terra .btn-onbiz{background:var(--te-leaf);border-radius:999px}
.te-map{margin-top:3rem}
.te-share{max-width:var(--max-w);margin:4rem auto 0;padding:0 3rem}
body.d-terra .bx-foot{background:var(--te-leaf2);color:rgba(255,255,255,.78);margin-top:8rem}
body.d-terra .bx-foot p,body.d-terra .bx-foot li,body.d-terra .bx-foot a{color:rgba(255,255,255,.72)}
body.d-terra .bx-foot h2{color:var(--te-lime)}
body.d-terra .bx-foot .bx-brand-mark{background:#fff}
body.d-terra .bx-foot .bx-brand-txt b{color:#fff}
body.d-terra .bx-foot .btn-onbiz{background:var(--te-terra)}
body.d-terra .bx-foot .btn-outline{border-color:rgba(255,255,255,.3);color:#fff}
body.d-terra .bx-foot-bottom{border-top-color:rgba(255,255,255,.12)}

@media (max-width:1180px){.te-grid{grid-template-columns:repeat(4,1fr)}.te-ranges{grid-template-columns:1fr 1fr}}
@media (max-width:900px){
  .te-hero-in{grid-template-columns:1fr;padding:5rem 2rem 6rem;gap:3rem}
  .te-shelf{height:360px;max-width:480px;width:100%;justify-self:center}
  .te-why{grid-template-columns:1fr 1fr;transform:none;margin-top:-2rem}
  .te-grid{grid-template-columns:repeat(3,1fr)}
  .te-about,.te-contact{grid-template-columns:1fr;gap:3rem}
}
@media (max-width:640px){
  .te-hero h1{font-size:4.2rem}
  .te-lede{font-size:1.6rem}
  .te-shelf{height:290px}
  .te-why{grid-template-columns:1fr;padding:0 1.6rem}
  .te-sec{padding:6rem 1.6rem 0}
  .te-ranges{grid-template-columns:1fr}
  .te-grid{grid-template-columns:1fr 1fr;gap:1.2rem}
  .te-card h3{font-size:1.45rem}
  .te-price b{font-size:1.9rem}
  .te-bar{border-radius:20px;margin:0 0 2rem}
  .te-find{flex:1 1 100%}
  .te-trade{padding:3.2rem 2rem;border-radius:24px}
  .te-about,.te-contact{padding:2.8rem 1.8rem;border-radius:24px}
  .te-share{padding:0 1.6rem}
}
