/* ==========================================================================
   CLEVER LAND BUYERS LLC
   Shared stylesheet. Palette and type matched to the prior Carrot build.
   Original implementation, no third-party theme code.
   ========================================================================== */
:root{
  --primary:#ba8200;
  --primary-hover:#875e00;
  --primary-light:#ffb407;
  --secondary:#4774AF;
  --secondary-light:#dce7f5;
  --secondary-dark:#204170;
  --link:#ed8a00;
  --link-hover:#ba6c00;
  --button:#fa9f1e;
  --button-hover:#e08505;
  --body:#373a3c;
  --muted:#6b7073;
  --line:#dcdcdc;
  --grayish:#f4f4f4;
  --font-body:'Source Sans 3','Source Sans Pro',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --font-head:'Open Sans',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --wrap:1140px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
body{
  margin:0; background:#fff; color:var(--body);
  font-family:var(--font-body); font-size:17px; line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; height:auto; display:block}
h1,h2,h3,h4{font-family:var(--font-head); font-weight:800; line-height:1.22; margin:0; color:#2b2e30}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}
a{color:var(--link); text-decoration:none}
a:hover{color:var(--link-hover); text-decoration:underline}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 20px}
.skip{position:absolute; left:-9999px}
.skip:focus{left:8px; top:8px; z-index:99; background:#fff; padding:10px 14px; border:2px solid var(--secondary-dark)}

/* ---------------- utility header ---------------- */
.util{padding:18px 0 14px; background:#fff}
.util .wrap{display:flex; align-items:flex-start; justify-content:space-between; gap:20px; flex-wrap:wrap}
.logo{display:block; text-decoration:none}
.logo:hover{text-decoration:none}
.logo .co{
  font-family:var(--font-head); font-weight:800; font-size:29px;
  color:var(--primary); line-height:1.15; letter-spacing:-.01em; display:block;
}
.logo .tag{font-size:15px; color:var(--body); margin-top:3px; display:block}
.util-right{text-align:right}
.util-links{margin-bottom:6px; font-size:14.5px}
.util-links a{margin-left:16px; font-weight:600}
.util-links a.plain{color:var(--body)}
.util-links a.plain:hover{color:var(--link)}
.callus{font-family:var(--font-head); font-size:19px; color:#2b2e30; font-weight:400}
.callus b{font-weight:800; font-size:25px; letter-spacing:-.01em}
.callus a{color:#2b2e30}
.callus a:hover{color:var(--link); text-decoration:none}

/* ---------------- nav ---------------- */
nav.bar{background:var(--primary)}
nav.bar .wrap{display:flex; align-items:center; gap:6px; flex-wrap:wrap}
#navlinks{display:flex; align-items:center; flex-wrap:wrap}
nav.bar a{
  font-family:var(--font-head); font-weight:600; font-size:15.5px;
  color:#fff; padding:14px 16px; display:block;
}
nav.bar a:hover{background:var(--primary-hover); color:#fff; text-decoration:none}
nav.bar a.active{background:var(--primary-hover)}
.navtoggle{
  display:none; background:none; border:0; color:#fff; font-family:var(--font-head);
  font-weight:600; font-size:15.5px; padding:14px 16px; cursor:pointer;
}
@media(max-width:820px){
  nav.bar .wrap{flex-direction:column; align-items:stretch; padding:0}
  .navtoggle{display:block; text-align:left; width:100%}
  #navlinks{display:none; flex-direction:column; padding-bottom:8px}
  #navlinks.open{display:flex}
  nav.bar a{padding:11px 20px}
  .util .wrap{flex-direction:column}
  .util-right{text-align:left}
  .util-links a{margin-left:0; margin-right:16px}
}

/* ---------------- hero ---------------- */
/* Hero photo: assets/hero-land.jpg
   Aerial parcel patchwork by Nathan Ellen-Johnson, Pexels License (free for
   commercial use). To swap in your own drone shot, replace that file with a
   wide crop about 1700px across and under 250KB. The gradient below it stays
   as the fallback colour while the image loads. */
.hero{
  position:relative;
  background:
    url("hero-land.jpg") center 42% / cover no-repeat,
    linear-gradient(to bottom, #8aa25c 0%, #6f8a49 100%);
  padding:52px 0 60px;
}
.hero::before{content:""; position:absolute; inset:0; background:rgba(18,24,16,.42)}
.hero .wrap{position:relative; z-index:2}
.hero-grid{display:grid; gap:26px; align-items:start}
@media(min-width:960px){.hero-grid{grid-template-columns:1fr 1fr; gap:34px}}
.pitchwrap{position:relative}
.pitch{background:rgba(0,0,0,.78); color:#fff; padding:30px}
.pitch h1{color:#fff; font-size:clamp(27px,3.3vw,35px); margin-bottom:16px}
.pitch p{color:#e8e6e2; font-size:16.5px}
.pitch h3{color:#fff; font-size:clamp(19px,2.3vw,24px); margin:20px 0 10px}
.pitch .fine{font-size:15.5px; color:#dedbd6; margin-bottom:0}
.arrow{display:none}
@media(min-width:960px){
  .arrow{display:block; position:absolute; right:-64px; top:150px; width:78px; z-index:3; pointer-events:none}
}

/* page banner (interior pages) */
.banner{
  background:linear-gradient(to bottom,#a9c6d8 0%,#9caf6b 55%,#6f8a49 100%);
  position:relative; padding:40px 0;
}
.banner::before{content:""; position:absolute; inset:0; background:rgba(20,22,18,.40)}
.banner .wrap{position:relative; z-index:2}
.banner h1{color:#fff; font-size:clamp(25px,3.4vw,34px); max-width:900px}

/* ---------------- forms ---------------- */
.formcard{background:#f1f1f1; border:1px solid #e0e0e0; padding:24px 24px 26px; box-shadow:0 2px 10px rgba(0,0,0,.16)}
.formcard h3{font-size:22px; color:#2b2e30; margin-bottom:10px}
.formcard .intro{font-size:15.5px; color:#4a4e50; margin-bottom:18px}
.frow{display:grid; gap:14px; margin-bottom:14px}
@media(min-width:520px){.frow.two{grid-template-columns:1fr 1fr}}
.f label.top{display:block; font-family:var(--font-head); font-weight:700; font-size:14.5px; color:#2b2e30; margin-bottom:5px}
.f label.top .req{color:#c0392b}
.f input, .f textarea, .f select{
  width:100%; font-family:var(--font-body); font-size:16px; color:var(--body);
  background:#fff; border:1px solid #c8c8c8; padding:10px 11px; border-radius:2px; -webkit-appearance:none;
}
.f textarea{min-height:110px; resize:vertical}
.f select{
  appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,#6b7073 50%),
                   linear-gradient(135deg,#6b7073 50%,transparent 50%);
  background-position:calc(100% - 18px) 50%, calc(100% - 12px) 50%;
  background-size:6px 6px, 6px 6px; background-repeat:no-repeat; padding-right:38px;
}
.f input[type="radio"]{width:auto; padding:0; -webkit-appearance:radio; appearance:radio}
.f input:focus, .f textarea:focus, .f select:focus{outline:2px solid var(--secondary); border-color:var(--secondary)}
.f .sub{display:block; font-size:13px; color:var(--muted); margin-top:4px}
.btn{
  display:block; width:100%; font-family:var(--font-head); font-weight:700; font-size:18px;
  color:#fff; background:var(--button); border:1px solid var(--button);
  padding:14px 18px; border-radius:3px; cursor:pointer; text-align:center; transition:background .15s ease;
}
.btn:hover{background:var(--button-hover); border-color:var(--button-hover)}
.btn:focus-visible{outline:3px solid var(--secondary-dark); outline-offset:2px}
.hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}

/* ---------------- content ---------------- */
section{padding:52px 0}
.center{text-align:center}
h2.big{font-size:clamp(25px,3.4vw,33px); line-height:1.25; margin-bottom:18px}
h3.mid{font-size:clamp(20px,2.6vw,25px); color:var(--primary); margin-bottom:16px}
.lede{font-size:18px}
.narrow{max-width:860px; margin:0 auto}
.strongline{font-family:var(--font-head); font-weight:700; font-size:19px; color:#2b2e30}
.reasons{margin:0 0 1.05em; padding-left:0; list-style:none}
.reasons li{position:relative; padding-left:30px; margin-bottom:12px; font-size:17px}
.reasons li::before{content:""; position:absolute; left:2px; top:9px; width:9px; height:9px; background:var(--primary); transform:rotate(45deg)}
.numsteps{counter-reset:n; list-style:none; padding:0; margin:0 0 1.4em}
.numsteps li{counter-increment:n; position:relative; padding-left:52px; margin-bottom:18px; font-size:17px; min-height:36px}
.numsteps li::before{
  content:counter(n); position:absolute; left:0; top:-2px; width:36px; height:36px;
  background:var(--primary); color:#fff; font-family:var(--font-head); font-weight:800;
  border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:17px;
}
.callout{background:var(--secondary-light); border-left:5px solid var(--secondary); padding:18px 22px; margin:0 0 1.3em}
.gray{background:var(--grayish); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.lookgrid{display:grid; grid-template-columns:repeat(2,1fr); gap:10px 22px; margin:0 0 26px; padding:0; list-style:none}
@media(min-width:700px){.lookgrid{grid-template-columns:repeat(4,1fr)}}
.lookgrid li{position:relative; padding-left:26px; font-family:var(--font-head); font-weight:600; font-size:16px; color:#2b2e30}
.lookgrid li::before{content:"\2713"; position:absolute; left:0; top:-1px; color:var(--primary); font-weight:800}
.tel{color:var(--link); font-weight:700; white-space:nowrap}

/* comparison table */
.tablewrap{overflow-x:auto; margin:0 0 1.4em}
table.compare{width:100%; border-collapse:collapse; min-width:640px; font-size:16px}
table.compare th, table.compare td{border:1px solid var(--line); padding:13px 15px; vertical-align:top; text-align:left}
table.compare thead th{background:var(--secondary-dark); color:#fff; font-family:var(--font-head); font-weight:700}
table.compare thead th:first-child{background:#2b2e30}
table.compare tbody th{background:var(--grayish); font-family:var(--font-head); font-weight:700; width:23%}
table.compare td:last-child{background:#fbf3e2; font-weight:600}

/* faq */
.qa{border-bottom:1px solid var(--line); padding:22px 0}
.qa:first-of-type{border-top:1px solid var(--line)}
.qa h3{font-size:19px; color:#2b2e30; margin-bottom:10px}
.qa h3 .q{color:var(--primary); margin-right:6px}

/* testimonial slots */
.tnote{background:var(--grayish); border:1px dashed #c3c3c3; padding:26px; text-align:center; color:var(--muted)}

/* band */
.band{background:var(--secondary-dark); color:#eef2f7}
.band h2,.band h3{color:#fff}
.band .lede{color:#cfdaea}
.band-grid{display:grid; gap:30px; align-items:center}
@media(min-width:960px){.band-grid{grid-template-columns:1fr 1fr; gap:44px}}
.callline{font-family:var(--font-head); font-weight:800; font-size:clamp(19px,2.4vw,24px); color:#fff; margin-top:20px}
.callline a{color:var(--primary-light)}

/* contact info block */
.infobox{background:var(--grayish); border:1px solid var(--line); padding:24px}
.infobox h2{font-size:22px; margin-bottom:12px}
.infobox address{font-style:normal; font-size:17px; line-height:1.8}

/* footer */
footer{background:#2b2e30; color:#c7cacb; padding:44px 0 34px; font-size:15.5px}
footer p{margin-bottom:1em}
.footlinks{margin:18px 0 14px; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:8px 22px}
.footlinks a{color:var(--primary-light); font-weight:600; font-size:15px}
.copy{border-top:1px solid #43474a; padding-top:16px; margin-top:18px; font-size:14px; color:#9a9ea0}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto} *{transition:none !important}}
