/* Section Line Ag — site.css */
:root{
  --ground:#F2EEE6; --card:#FFFFFF; --ink:#2B1F16; --ink-2:#4E4036; --ink-3:#7C6E60;
  --rule:#D9CFBF; --rule-soft:#E8E1D4; --wheat:#F4D98C; --gold:#9A6B1F; --soil:#2B1F16; --soil-2:#3B2A1E;
  --on-soil:#F2EEE6; --on-soil-2:rgba(242,238,230,.75); --green:#4F6B3A; --green-tint:#E9EBDD; --warn-tint:#FBF0D3;
  --photo-a:#7E6A3E; --photo-b:#A98A4A; --photo-c:#C9A55A; --photo-d:#3B2A1E;
  --display:"DM Serif Display",Georgia,"Times New Roman",serif;
  --body:"Karla","Segoe UI",Helvetica,Arial,sans-serif;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ground:#1A1310; --card:#241B15; --ink:#F2EEE6; --ink-2:#D3C8B8; --ink-3:#9C8E7E;
    --rule:#3E3128; --rule-soft:#2F2520; --gold:#E0B95C; --soil:#120D0A; --soil-2:#1F1712;
    --green:#A9C48E; --green-tint:#243021; --warn-tint:#3A2E14;
    --photo-a:#4A3D22; --photo-b:#6B5630; --photo-c:#8E7442; --photo-d:#1A1310;
  }
}
:root[data-theme="dark"]{
  --ground:#1A1310; --card:#241B15; --ink:#F2EEE6; --ink-2:#D3C8B8; --ink-3:#9C8E7E;
  --rule:#3E3128; --rule-soft:#2F2520; --gold:#E0B95C; --soil:#120D0A; --soil-2:#1F1712;
  --green:#A9C48E; --green-tint:#243021; --warn-tint:#3A2E14;
  --photo-a:#4A3D22; --photo-b:#6B5630; --photo-c:#8E7442; --photo-d:#1A1310;
}
*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.08;margin:0;text-wrap:balance}
h1{font-size:clamp(2.2rem,4.4vw,3.9rem);letter-spacing:-.005em}
h2{font-size:clamp(1.9rem,3.4vw,2.7rem)}
h3{font-size:1.35rem}
em{font-style:italic}
p{margin:0}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.eyebrow{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--gold)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem 1.5rem;font-weight:700;font-size:1rem;border:1.5px solid transparent;cursor:pointer;font-family:var(--body);text-decoration:none;transition:transform .12s ease,background .12s ease;border-radius:2px}
.btn:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--wheat);outline-offset:2px}
.btn-wheat{background:var(--wheat);color:#2B1F16;border-color:var(--wheat)}
.btn-wheat:hover{transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--rule)}
.btn-ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn-block{width:100%}

/* top bar over the photo */
.top{position:sticky;top:0;z-index:20;background:var(--soil);color:var(--on-soil)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:68px}
.logo{font-family:var(--display);font-size:1.5rem;text-decoration:none;letter-spacing:.01em;color:var(--on-soil)}
.logo em{color:var(--wheat)}
.top nav{display:flex;gap:1.6rem;font-size:.95rem;font-weight:500}
.top nav a{text-decoration:none;color:var(--on-soil-2)}
.top nav a:hover{color:var(--on-soil)}
.top .right{display:flex;align-items:center;gap:.9rem}
.top .phone{text-decoration:none;color:var(--on-soil);font-weight:700;border:1.5px solid rgba(242,238,230,.5);padding:.55rem .9rem;border-radius:2px;white-space:nowrap}
@media(max-width:960px){.top nav{display:none}}
@media(max-width:560px){.top .phone{display:none}}

/* hero */
.hero{position:relative;color:#fff;padding:48px 0 80px;overflow:hidden;background:#3B2A1E url(../img/field-dusk.jpg) center 40%/cover no-repeat}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(43,31,22,.5),rgba(43,31,22,.05) 60%),linear-gradient(180deg,rgba(43,31,22,0),rgba(43,31,22,.55));pointer-events:none}
.hero .photo-note{position:absolute;top:14px;right:24px;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:rgba(255,255,255,.6);z-index:1}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start}
@media(max-width:960px){.hero .wrap{grid-template-columns:1fr}}
.hero-copy{display:flex;flex-direction:column;gap:1.1rem;padding-top:8px}
.hero-copy .eyebrow{color:var(--wheat)}
.hero-copy h1{text-shadow:0 2px 24px rgba(43,31,22,.35)}
.hero-copy .lede{font-size:1.25rem;line-height:1.5;max-width:31em;color:rgba(255,255,255,.92)}
.hero-cta{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center;margin-top:.3rem}
.hero-cta .sub{font-size:.92rem;color:rgba(255,255,255,.8)}
.hero-proof{display:flex;flex-wrap:wrap;gap:1.6rem 2.2rem;margin-top:1rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.3)}
.proof{display:flex;flex-direction:column;gap:.05rem}
.proof b{font-family:var(--display);font-weight:400;font-size:1.9rem;line-height:1}
.proof span{font-size:.8rem;color:rgba(255,255,255,.75)}

/* calculator card \2014 dark soil */
.calc{background:var(--soil);color:var(--on-soil);border-radius:2px;box-shadow:0 30px 60px -30px rgba(43,31,22,.6);overflow:hidden}
.calc-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:18px 24px 0}
.calc-head h3{font-size:1.35rem}
.calc-head .legal{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--on-soil-2);white-space:nowrap}
.calc-body{padding:14px 24px 24px;display:grid;gap:14px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:480px){.row{grid-template-columns:1fr}}
label.f{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;font-weight:700;letter-spacing:.02em;color:var(--on-soil-2)}
label.f small{font-weight:400;text-transform:none;letter-spacing:0}
.calc input,.calc select{font:inherit;font-size:1.05rem;color:var(--on-soil);background:transparent;border:0;border-bottom:2px solid rgba(244,217,140,.6);padding:.55rem 0;width:100%;border-radius:0}
.calc select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--wheat) 50%),linear-gradient(135deg,var(--wheat) 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 6px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:24px}
.calc select option{color:#2B1F16}
.calc input::placeholder{color:rgba(242,238,230,.4)}
.calc input:focus,.calc select:focus{border-bottom-color:var(--wheat)}
.result{display:none;border-top:1px solid rgba(242,238,230,.18);margin-top:6px;padding-top:18px;gap:14px}
.result.show{display:grid}
.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}
.stat{display:flex;flex-direction:column;gap:.1rem}
.stat.big{grid-column:1/-1}
.stat .k{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--on-soil-2);font-weight:700}
.stat .v{font-family:var(--display);font-size:1.6rem;line-height:1.1;font-variant-numeric:tabular-nums}
.stat.big .v{font-size:3rem;color:var(--wheat)}
.stat .s{font-size:.8rem;color:var(--on-soil-2)}
.note{font-size:.78rem;color:var(--on-soil-2);line-height:1.4}
.flag{display:none;font-size:.86rem;padding:.6rem .8rem;background:rgba(244,217,140,.12);border-left:3px solid var(--wheat)}
.flag.show{display:block}
.lead{border-top:1px solid rgba(242,238,230,.18);padding-top:18px;display:grid;gap:14px}
.lead h3{font-size:1.3rem}
.lead .sub{font-size:.92rem;color:var(--on-soil-2)}
.consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.76rem;color:var(--on-soil-2);line-height:1.4}
.consent input{width:auto;margin-top:.2rem;accent-color:var(--wheat)}
.consent a{color:var(--wheat)}
.thanks{display:none;padding:20px;border:1px solid rgba(244,217,140,.5);text-align:center}
.thanks.show{display:block}
.thanks b{font-family:var(--display);font-weight:400;font-size:1.4rem;display:block;margin-bottom:.3rem;color:var(--wheat)}

/* sections */
section{padding:80px 0}
section.tight{padding:60px 0}
.sec-head{display:grid;gap:.7rem;max-width:44em;margin-bottom:40px}
.sec-head p{color:var(--ink-2);font-size:1.1rem}

/* John \2014 overlapping card */
.john-wrap{margin-top:-40px;position:relative;z-index:2;padding-bottom:0;scroll-margin-top:84px}
.john{display:grid;grid-template-columns:260px 1fr;gap:40px;background:var(--card);padding:40px 44px;box-shadow:0 30px 60px -30px rgba(43,31,22,.5);border-radius:2px}
@media(max-width:860px){.john{grid-template-columns:1fr}}
.jm{background:url(../img/john-mcgillicuddy.jpg) center 30%/cover no-repeat;filter:saturate(.92)}
.portrait{width:260px;max-width:100%;aspect-ratio:11/13;display:block;border-radius:2px}
.hero-john{display:flex;align-items:center;gap:1rem;margin-top:.4rem;padding:.9rem 1rem;background:rgba(43,31,22,.45);border:1px solid rgba(244,217,140,.35);border-radius:2px;max-width:34em;text-decoration:none;color:#fff}
.hero-john .face{width:72px;height:72px;border-radius:50%;flex-shrink:0;border:2px solid var(--wheat)}
.hero-john .who{display:flex;flex-direction:column;gap:.15rem;line-height:1.3}
.hero-john .k{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--wheat)}
.hero-john .n{font-family:var(--display);font-size:1.3rem}
.hero-john .t{font-size:.9rem;color:rgba(255,255,255,.85)}
.hero-john .t u{text-decoration:underline;text-underline-offset:3px}
.john-copy{display:grid;gap:1rem;align-content:center}
.john-copy .name{font-family:var(--display);font-size:2.1rem;line-height:1.1}
.john-copy .title{color:var(--ink-3);font-size:.95rem}
.john-copy p{font-size:1.08rem;color:var(--ink-2);max-width:40em}
.john-copy .more{font-weight:700;color:var(--gold);text-decoration:none}
.creds{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 32px;margin:0;padding:0;list-style:none}
@media(max-width:900px){.creds{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.creds{grid-template-columns:1fr}}
.creds li{font-size:.98rem;color:var(--ink-2);padding-top:.6rem;border-top:1px solid var(--rule)}
.creds li b{color:var(--ink);font-weight:700}
.john-more{display:grid;gap:18px;padding-top:48px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.steps{grid-template-columns:1fr}}
.step{display:grid;gap:.5rem;align-content:start;padding-top:1rem;border-top:2px solid var(--ink)}
.step .n{font-family:var(--display);font-size:1.1rem;color:var(--gold)}
.step .when{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:700}
.step p{font-size:.95rem;color:var(--ink-2)}
.step .doc{font-size:.86rem;padding-top:.5rem;border-top:1px solid var(--rule-soft);color:var(--ink)}

.guar{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--card);box-shadow:0 20px 50px -30px rgba(43,31,22,.4);border-radius:2px}
@media(max-width:860px){.guar{grid-template-columns:1fr}}
.guar-item{padding:30px 32px;display:grid;gap:.6rem;align-content:start;border-right:1px solid var(--rule-soft)}
.guar-item:last-child{border-right:0}
.guar-item h3{font-size:1.35rem}
.guar-item p{font-size:.95rem;color:var(--ink-2)}
@media(max-width:860px){.guar-item{border-right:0;border-bottom:1px solid var(--rule-soft)}.guar-item:last-child{border-bottom:0}}
/* compare */
.cmp{background:var(--soil);color:var(--on-soil)}
.cmp .sec-head p{color:var(--on-soil-2)}
.tbl-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;min-width:680px;font-size:.96rem}
th,td{text-align:left;padding:16px 18px;border-bottom:1px solid rgba(242,238,230,.15);vertical-align:top}
tr:last-child td{border-bottom:0}
th{font-family:var(--display);font-weight:400;font-size:1.15rem}
td:first-child{font-weight:700;width:22%}
td.us{color:var(--wheat)}
td.them{color:var(--on-soil-2)}
th.us{color:var(--wheat)}

/* example */
.example{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
@media(max-width:860px){.example{grid-template-columns:1fr}}
.ledger{background:var(--card);border-radius:2px;box-shadow:0 20px 50px -30px rgba(43,31,22,.4);font-size:1rem}
.ledger div{display:flex;justify-content:space-between;gap:1rem;padding:14px 22px;border-bottom:1px solid var(--rule-soft);font-variant-numeric:tabular-nums}
.ledger div:last-child{border-bottom:0}
.ledger .lab{color:var(--ink-2)}
.ledger .tot{background:var(--wheat);color:#2B1F16;font-weight:700;font-family:var(--display);font-size:1.2rem}
.ledger .tot .lab{color:#2B1F16;font-family:var(--body);font-size:1rem}
.ledger .neg{color:var(--gold)}

/* services */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media(max-width:860px){.svc{grid-template-columns:1fr}}
.svc article{display:grid;gap:.7rem;align-content:start;padding-top:1rem;border-top:2px solid var(--ink)}
.svc .eyebrow{color:var(--ink-3)}
.svc p{font-size:.96rem;color:var(--ink-2)}
.svc a{font-weight:700;font-size:.95rem;color:var(--gold);text-decoration:none}

/* faq */
.faq{display:grid;border-top:1px solid var(--rule)}
details{border-bottom:1px solid var(--rule)}
summary{cursor:pointer;padding:20px 0;font-family:var(--display);font-size:1.25rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--gold);font-family:var(--body);font-weight:400}
details[open] summary::after{content:"\2013"}
details p{padding:0 0 20px;color:var(--ink-2);max-width:60em}

/* final */
.final{background:linear-gradient(180deg,var(--photo-d),var(--soil));color:var(--on-soil);padding:72px 0}
.final .wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
@media(max-width:860px){.final .wrap{grid-template-columns:1fr}}
.final .eyebrow{color:var(--wheat)}
.final p{color:var(--on-soil-2)}
.final .phone-big{font-family:var(--display);font-size:2rem;color:var(--on-soil);text-decoration:none}
.final .mini{display:grid;gap:14px}
.final input{font:inherit;font-size:1.05rem;color:var(--on-soil);background:transparent;border:0;border-bottom:2px solid rgba(244,217,140,.6);padding:.6rem 0;width:100%;border-radius:0}
.final input::placeholder{color:rgba(242,238,230,.45)}

footer{padding:36px 0 56px;font-size:.84rem;color:var(--ink-3)}
footer .wrap{display:grid;gap:14px}
footer .cols{display:flex;flex-wrap:wrap;gap:1.2rem 2.2rem}
footer a{color:var(--ink-2);text-decoration:none}
.disc{max-width:70em;line-height:1.5}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
