:root{
    --green:#1F4D3A; --green-d:#163528; --brown:#7A5230; --brown-d:#5f3f23;
    --silver:#A6A8AA; --silver-d:#7E8082; --steel:#5C6066;
    --cream:#F4EFE6; --paper:#FBF8F2; --ink:#2A2620; --muted:#5E574C;
    --line:#E0D7C6; --warm-line:#D8C9AE;
    --maxw:1120px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
    color:var(--ink); background:var(--paper); line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.display{
    font-family:'Archivo','Inter',sans-serif; font-weight:800;
    letter-spacing:-0.02em; line-height:1.05;
  }
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px}
  .eyebrow{
    font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
    color:var(--brown);
  }
  a{color:inherit}

  /* ---------- HEADER ---------- */
  header{
    position:sticky; top:0; z-index:50; background:rgba(251,250,247,.92);
    backdrop-filter:blur(8px); border-bottom:1px solid var(--line);
  }
  .nav{display:flex; align-items:center; justify-content:space-between; height:74px}
  .brand{display:flex; align-items:center; gap:11px; text-decoration:none}
  .brand img{height:42px; display:block}
  .brand .wm{display:flex; flex-direction:column; line-height:1}
  .brand .wm b{font-family:'Archivo',sans-serif; font-weight:800; font-size:18px; letter-spacing:.02em; color:var(--green)}
  .brand .wm span{font-size:10.5px; font-weight:700; letter-spacing:.24em; color:var(--brown); margin-top:3px}
  .nav-links{display:none; gap:30px; align-items:center}
  @media(min-width:760px){ .nav-links{display:flex} }
  .nav-links a{font-size:14px; font-weight:600; color:var(--muted); text-decoration:none; transition:color .2s}
  .nav-links a:hover{color:var(--green)}
  .btn{
    display:inline-block; background:var(--green); color:#fff; text-decoration:none;
    font-weight:700; font-size:14px; padding:11px 20px; border-radius:6px;
    transition:transform .15s, background .2s;
  }
  .btn:hover{background:var(--green-d); transform:translateY(-1px)}
  .btn-lg{font-size:16px; padding:15px 30px}
  .nav-cta-btn{font-size:13px; padding:9px 15px}
  @media(min-width:760px){ .nav-cta-btn{font-size:14px; padding:11px 20px} }

  /* ---------- HERO ---------- */
  .hero{
    position:relative; overflow:hidden;
    background:
      radial-gradient(1200px 500px at 78% -10%, rgba(31,77,58,.07), transparent 60%),
      linear-gradient(180deg, var(--paper) 0%, var(--cream) 100%);
    border-bottom:1px solid var(--line);
  }
  .hero-grid{
    display:grid; grid-template-columns:1fr; gap:40px; align-items:center;
    padding:64px 0 72px;
  }
  @media(min-width:900px){ .hero-grid{grid-template-columns:1.25fr .75fr; padding:88px 0 96px} }
  .hero h1{font-size:clamp(34px,5vw,58px); color:var(--ink)}
  .hero h1 .accent{color:var(--green)}
  .hero .lede{font-size:clamp(17px,2vw,20px); color:var(--muted); margin:22px 0 14px; max-width:34em}
  .hero .hook{
    font-size:clamp(18px,2vw,21px); font-weight:700; color:var(--ink);
    border-left:4px solid var(--brown); padding-left:16px; margin:26px 0 32px; max-width:30em;
  }
  .hero-cta-row{display:flex; gap:14px; flex-wrap:wrap; align-items:center}
  .ghost{
    display:inline-block; text-decoration:none; font-weight:700; font-size:14px;
    color:var(--green); padding:14px 4px; border-bottom:2px solid transparent; transition:border-color .2s;
  }
  .ghost:hover{border-color:var(--green)}
  .hero-badge{
    display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600;
    color:var(--green); background:rgba(31,77,58,.08); padding:6px 14px; border-radius:100px; margin-bottom:22px;
  }
  .hero-badge .dot{width:7px; height:7px; border-radius:50%; background:var(--green)}
  .hero-art{display:flex; justify-content:center; align-items:center}
  .hero-art img{width:min(280px,72vw); height:auto; filter:drop-shadow(0 18px 40px rgba(31,77,58,.18))}

  /* ---------- TRUST STRIP ---------- */
  .strip{background:var(--green); color:#fff}
  .strip-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:0}
  @media(min-width:760px){ .strip-grid{grid-template-columns:repeat(4,1fr)} }
  .strip-item{padding:26px 20px; text-align:center; border-right:1px solid rgba(255,255,255,.12)}
  .strip-item:last-child{border-right:none}
  .strip-num{font-family:'Archivo',sans-serif; font-weight:800; font-size:clamp(22px,3vw,30px); letter-spacing:-.02em}
  .strip-lab{font-size:12.5px; color:rgba(255,255,255,.78); margin-top:4px; font-weight:500}
  @media(max-width:759px){ .strip-item:nth-child(2){border-right:none} .strip-item:nth-child(1),.strip-item:nth-child(2){border-bottom:1px solid rgba(255,255,255,.12)} }

  /* ---------- FOUNDER NOTE ---------- */
  .founder{background:var(--paper)}
  .founder-grid{display:grid; grid-template-columns:1fr; gap:38px; align-items:start}
  @media(min-width:860px){ .founder-grid{grid-template-columns:1.05fr .95fr; gap:44px} }
  .founder .note p{font-size:18px; color:var(--ink); line-height:1.65; margin-bottom:16px}
  .founder .note .lead{font-size:21px; color:var(--ink); font-weight:600; line-height:1.5}
  .founder .sig{font-family:'Archivo',sans-serif; font-weight:800; font-style:italic; font-size:22px; color:var(--green); margin-top:8px}
  .founder .sig-role{font-size:13px; color:var(--muted); margin-top:2px}

  /* Masonry photo gallery beside founder note */
  .photo-gallery{
    columns:2;
    column-gap:8px;
  }
  .photo-gallery button{
    display:block; width:100%; padding:0; border:0; background:none;
    cursor:pointer; overflow:hidden; position:relative;
    break-inside:avoid; -webkit-column-break-inside:avoid;
    margin:0 0 8px; border-radius:8px;
  }
  .photo-gallery button:focus-visible{outline:2px solid var(--green); outline-offset:2px}
  .photo-gallery button.is-tall img{height:158px}
  .photo-gallery button.is-mid img{height:128px}
  .photo-gallery button.is-wide img{height:108px}
  .photo-gallery button.is-short img{height:88px}
  .photo-gallery img{
    width:100%; object-fit:cover; display:block;
    border-radius:8px;
    transition:transform .45s ease, filter .35s ease;
  }
  .photo-gallery button:hover img{transform:scale(1.045); filter:brightness(1.04)}
  @media(min-width:860px){
    .photo-gallery button.is-tall img{height:172px}
    .photo-gallery button.is-mid img{height:138px}
    .photo-gallery button.is-wide img{height:116px}
    .photo-gallery button.is-short img{height:94px}
  }

  .gallery-lightbox{
    position:fixed; inset:0; z-index:100;
    background:rgba(26,22,18,.92);
    display:flex; align-items:center; justify-content:center;
    padding:48px 64px;
  }
  .gallery-lightbox[hidden]{display:none}
  .gallery-lightbox img{
    max-width:min(960px,100%); max-height:85vh;
    object-fit:contain; border-radius:6px;
    box-shadow:0 20px 60px rgba(0,0,0,.4);
  }
  .gallery-lightbox-close{
    position:absolute; top:16px; right:20px;
    background:none; border:0; color:#fff; font-size:36px; line-height:1;
    cursor:pointer; opacity:.85; padding:8px;
  }
  .gallery-lightbox-close:hover{opacity:1}
  .gallery-lightbox-nav{
    position:absolute; top:50%; transform:translateY(-50%);
    background:rgba(255,255,255,.1); border:0; color:#fff;
    font-size:42px; line-height:1; width:48px; height:48px;
    border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center;
  }
  .gallery-lightbox-nav:hover{background:rgba(255,255,255,.2)}
  .gallery-lightbox-nav.prev{left:16px}
  .gallery-lightbox-nav.next{right:16px}
  @media(max-width:600px){
    .gallery-lightbox{padding:56px 12px 24px}
    .gallery-lightbox-nav{width:40px; height:40px; font-size:32px}
  }

  /* ---------- SECTIONS ---------- */
  section{padding:78px 0}
  .sec-head{max-width:40em; margin-bottom:46px}
  .sec-head h2{font-size:clamp(26px,3.4vw,38px); margin:12px 0 16px}
  .sec-head p{font-size:17px; color:var(--muted)}

  /* who / what cards */
  .cards{display:grid; grid-template-columns:1fr; gap:22px}
  @media(min-width:760px){ .cards{grid-template-columns:repeat(3,1fr)} }
  .card{
    background:var(--cream); border:1px solid var(--warm-line); border-radius:14px; padding:28px;
    transition:transform .18s, box-shadow .18s;
  }
  .card:hover{transform:translateY(-3px); box-shadow:0 14px 34px rgba(122,82,48,.12)}
  .card .ico{
    width:44px; height:44px; border-radius:10px; background:#fff; border:1px solid var(--warm-line);
    display:flex; align-items:center; justify-content:center; margin-bottom:16px;
  }
  .card h3{font-size:19px; margin-bottom:8px; color:var(--green)}
  .card p{font-size:15px; color:var(--muted)}

  /* process */
  .proc{background:var(--cream); border-top:3px solid var(--silver); border-bottom:1px solid var(--line)}
  .proc .eyebrow{color:var(--silver-d)}
  .steps{display:grid; grid-template-columns:1fr; gap:2px; background:var(--line); border:1px solid var(--line); border-radius:12px; overflow:hidden}
  @media(min-width:680px){ .steps{grid-template-columns:repeat(3,1fr)} }
  @media(min-width:1000px){ .steps{grid-template-columns:repeat(6,1fr)} }
  .step{background:var(--paper); padding:24px 18px; position:relative}
  .step .n{
    font-family:'Archivo',sans-serif; font-weight:800; font-size:13px; color:var(--green-d);
    background:var(--silver); width:26px; height:26px; border-radius:50%;
    display:flex; align-items:center; justify-content:center; margin-bottom:12px;
    box-shadow:inset 0 0 0 1px var(--silver-d);
  }
  .step h3{font-size:15px; margin-bottom:5px; letter-spacing:-.01em}
  .step p{font-size:12.5px; color:var(--muted); line-height:1.45}
  .proc-foot{margin-top:26px; font-size:15px; color:var(--muted); text-align:center; max-width:48em; margin-left:auto; margin-right:auto}
  .proc-foot strong{color:var(--ink)}

  /* proof */
  .proof-grid{display:grid; grid-template-columns:1fr; gap:24px}
  @media(min-width:820px){ .proof-grid{grid-template-columns:repeat(3,1fr)} }
  .proof{padding:4px 0}
  .proof h3{font-size:18px; color:var(--green); margin-bottom:8px; display:flex; gap:9px; align-items:baseline}
  .proof h3 .bar{width:22px; height:3px; background:var(--brown); display:inline-block; border-radius:2px; flex:none; position:relative; top:-4px}
  .proof p{font-size:15px; color:var(--muted)}

  /* guarantee */
  .guar{background:var(--green); color:#fff}
  .guar .wrap{display:grid; grid-template-columns:1fr; gap:26px; align-items:center}
  @media(min-width:820px){ .guar .wrap{grid-template-columns:auto 1fr; gap:50px} }
  .guar .mark{font-family:'Archivo',sans-serif; font-weight:800; font-size:clamp(40px,7vw,72px); color:rgba(255,255,255,.16); line-height:.8; white-space:nowrap}
  .guar h2{font-size:clamp(22px,3vw,30px); margin-bottom:12px}
  .guar p{font-size:17px; color:rgba(255,255,255,.85); max-width:40em}

  /* CTA */
  .cta{background:var(--paper)}
  .cta-box{
    background:var(--brown); border-radius:16px; padding:clamp(34px,5vw,60px);
    text-align:center; color:#fff;
    background-image:linear-gradient(135deg, #7a4f25 0%, #8A5A2B 60%, #93612f 100%);
  }
  .cta-box h2{font-size:clamp(26px,3.6vw,40px); color:#fff; margin-bottom:14px}
  .cta-box p{font-size:18px; color:rgba(255,255,255,.9); max-width:34em; margin:0 auto 30px}
  .btn-cream{background:#fff; color:var(--brown)}
  .btn-cream:hover{background:var(--cream); color:var(--brown-d,#6f4720)}
  .cta-sub{margin-top:18px; font-size:14px; color:rgba(255,255,255,.78)}

  /* footer */
  footer{background:var(--green-d); color:rgba(255,255,255,.7); padding:46px 0 38px; font-size:14px}
  .foot-grid{display:flex; flex-wrap:wrap; gap:26px; justify-content:space-between; align-items:center}
  footer img{height:34px; opacity:.95}
  .foot-meta{display:flex; gap:26px; flex-wrap:wrap}
  .foot-meta span{display:block}
  .foot-meta b{color:#fff; font-weight:600}
  .foot-legal{margin-top:26px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); font-size:12.5px; color:rgba(255,255,255,.5)}

  :focus-visible{outline:3px solid var(--brown); outline-offset:2px; border-radius:4px}
  @media(prefers-reduced-motion:reduce){*{transition:none!important; scroll-behavior:auto!important}}
/* ---------- CONTACT PAGE / FORM ---------- */
.contact-hero{
  background:linear-gradient(180deg, var(--paper) 0%, var(--cream) 100%);
  border-bottom:1px solid var(--line); padding:56px 0 46px;
}
.contact-hero h1{font-size:clamp(30px,4.4vw,46px); color:var(--ink); margin-bottom:14px}
.contact-hero h1 .accent{color:var(--green)}
.contact-hero p{font-size:18px; color:var(--muted); max-width:34em}
.contact-wrap{display:grid; grid-template-columns:1fr; gap:44px; padding:60px 0 80px}
@media(min-width:900px){ .contact-wrap{grid-template-columns:1.15fr .85fr; gap:60px} }
.form-card{background:#fff; border:1px solid var(--warm-line); border-radius:16px; padding:clamp(24px,4vw,40px); box-shadow:0 10px 30px rgba(122,82,48,.06)}
.field{margin-bottom:20px}
.field label{display:block; font-size:14px; font-weight:700; color:var(--ink); margin-bottom:7px}
.field label .req{color:var(--brown)}
.field input, .field textarea, .field select{
  width:100%; font-family:inherit; font-size:15px; color:var(--ink);
  padding:12px 14px; border:1.5px solid var(--line); border-radius:9px; background:var(--paper);
  transition:border-color .18s, box-shadow .18s;
}
.field input:focus, .field textarea:focus, .field select:focus{
  outline:none; border-color:var(--green); box-shadow:0 0 0 3px rgba(31,77,58,.12);
}
.field textarea{resize:vertical; min-height:120px}
.field-row{display:grid; grid-template-columns:1fr; gap:0}
@media(min-width:560px){ .field-row{grid-template-columns:1fr 1fr; gap:18px} }
.file-field{
  border:1.5px dashed var(--warm-line); border-radius:10px; background:var(--cream);
  padding:18px; text-align:center;
}
.file-field label{cursor:pointer; margin:0}
.file-field .ff-title{font-weight:700; color:var(--brown); font-size:14px}
.file-field .ff-sub{font-size:12.5px; color:var(--muted); margin-top:3px; font-weight:500}
.file-field input[type=file]{margin-top:10px; font-size:13px; width:100%}
.form-submit{width:100%; border:none; cursor:pointer; margin-top:6px}
.form-note{font-size:12.5px; color:var(--muted); margin-top:14px; text-align:center}
.form-error{font-size:14px; color:#8a3b2b; background:#f8e8e4; border-radius:8px; padding:12px 14px; margin-top:14px; font-weight:600}
/* Honeypot: visually hidden but present in DOM for bots */
.hp-field{
  position:absolute !important; left:-10000px !important; top:auto !important;
  width:1px !important; height:1px !important; overflow:hidden !important;
  opacity:0 !important; pointer-events:none !important;
}
.contact-aside .block{margin-bottom:30px}
.contact-aside .eyebrow{margin-bottom:10px; display:block}
.contact-aside h3{font-family:'Archivo',sans-serif; font-size:19px; color:var(--green); margin-bottom:6px}
.contact-aside p, .contact-aside a{font-size:16px; color:var(--muted); text-decoration:none; line-height:1.6}
.contact-aside a:hover{color:var(--green)}
.contact-aside .big{font-size:19px; font-weight:700; color:var(--ink)}
.success-banner{
  display:none; background:var(--green); color:#fff; border-radius:12px; padding:22px 24px; margin-bottom:26px;
}
.success-banner.show{display:block}
.success-banner h3{font-family:'Archivo',sans-serif; color:#fff; font-size:20px; margin-bottom:6px}
.success-banner p{color:rgba(255,255,255,.9); font-size:15px}
