:root{
  --green:#0c6b46; --green-2:#13875a; --deep:#073a29; --ink:#24313a;
  --muted:#65727c; --line:#dbe5e2; --soft:#f4f8f6; --card:#ffffff;
  --shadow:0 18px 50px rgba(19,49,39,.08); --radius:18px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;color:var(--ink);font-family:Inter,Arial,sans-serif;background:#f5f8f7}
a{text-decoration:none;color:inherit}
.hero{min-height:240px;position:relative;overflow:hidden;background:linear-gradient(110deg,#eaf4f0 0%,#f7faf9 48%,rgba(233,245,240,.55) 100%);padding:28px clamp(28px,6.7vw,68px) 42px}
.hero:after{content:"";position:absolute;right:0;top:0;width:42%;height:100%;background:linear-gradient(90deg,rgba(9,74,47,.06),rgba(9,74,47,.14)),url('images/hero/slide-1.webp') center/cover;opacity:.86;z-index:0}
.hero:before{content:"";position:absolute;width:460px;height:460px;border-radius:50%;right:21%;top:-230px;background:rgba(43,142,91,.08);z-index:0}
.hero-inner{position:relative;z-index:1;max-width:920px}.eyebrow{color:#3d7662;font-size:11px;font-weight:800;letter-spacing:2px;margin:4px 0 13px}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(30px,3.4vw,42px);line-height:1.15;margin:0 0 9px;letter-spacing:-1.4px}.hero p{margin:0;color:#596770;font-size:14px}
.hero-features{display:flex;gap:45px;margin-top:30px}.feature{display:flex;gap:12px;align-items:center}.feature-icon{width:43px;height:43px;border-radius:50%;background:#fff;display:grid;place-items:center;color:var(--green);box-shadow:0 8px 22px rgba(15,68,48,.08)}.feature b{font-size:12px;display:block}.feature span{font-size:10px;color:#68756f;display:block;margin-top:4px}
.hero-note{position:absolute;z-index:2;right:clamp(35px,6vw,75px);top:67px;width:180px;background:rgba(255,255,255,.91);backdrop-filter:blur(8px);padding:21px;border-radius:14px;box-shadow:var(--shadow);font-size:13px;line-height:1.55}.hero-note i{color:var(--green);margin-bottom:8px}.hero-note:after{content:"";display:block;width:22px;height:2px;background:var(--green);margin-top:12px}
.page{
  width:min(100% - 48px, 1600px);
  max-width:none;
  margin:-5px auto 0;
  position:relative;
  z-index:3;
  padding:0 10px 28px
}
.form-shell{background:#fff;border:1px solid #e3ebe8;border-radius:16px;box-shadow:var(--shadow);padding:16px 12px 18px}
.form-top{display:flex;align-items:center;justify-content:space-between;padding:0 10px 14px}.form-title{display:flex;align-items:center;gap:14px}.title-icon{width:42px;height:42px;border-radius:12px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:20px}.form-title h2{font-family:Manrope;margin:0;font-size:21px;letter-spacing:-.5px}.form-title p{margin:3px 0 0;color:#65717a;font-size:11px}.required-note{font-size:11px;color:#66736e;background:#f4f8f6;border-radius:9px;padding:11px 15px}.required-note i{color:var(--green);margin-right:7px}.required{color:#d74343}
.section{border:1px solid #e2e9e6;border-radius:14px;padding:12px 14px;margin-top:10px;background:linear-gradient(135deg,#fff,#fbfdfc)}
.section-head{display:flex;align-items:center;gap:12px;margin-bottom:13px}.step{width:35px;height:35px;border-radius:50%;background:linear-gradient(135deg,#197c55,#075b3b);color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px;box-shadow:0 6px 15px rgba(12,107,70,.18)}.section-head .head-icon{font-size:22px;color:#28775b}.section-head h3{font-family:Manrope;margin:0;font-size:16px}.section-head p{margin:3px 0 0;font-size:10px;color:#69766f}
.section-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,230px);gap:20px;align-items:start}.fields{display:grid;grid-template-columns:1fr 1fr;gap:13px 22px}.field label{display:block;font-size:11px;font-weight:700;margin:0 0 7px;color:#3b4947}.control{height:37px;border:1px solid #d4dfdb;border-radius:8px;display:flex;align-items:center;background:#fff;overflow:hidden;transition:.2s}.control:focus-within{border-color:#178158;box-shadow:0 0 0 3px rgba(23,129,88,.08)}.control i{width:38px;text-align:center;color:#45645a;font-size:13px}.control input,.control select{width:100%;height:100%;border:0;outline:0;background:transparent;font:500 11px Inter;padding:0 10px 0 0;color:#32423e}.field textarea{width:100%;height:70px;border:1px solid #d4dfdb;border-radius:8px;outline:0;resize:vertical;padding:11px 12px;font:500 11px Inter;color:#32423e}.field textarea:focus{border-color:#178158;box-shadow:0 0 0 3px rgba(23,129,88,.08)}
.help{background:linear-gradient(145deg,#f0f8f5,#f9fbfa);border-radius:12px;padding:14px 15px;color:#52625d}.help h4{margin:0 0 9px;font-size:12px;color:#29453c}.help h4 i{color:#198056;margin-right:7px}.help p{font-size:10px;line-height:1.55;margin:0 0 11px}.help ul{padding:0;margin:0;list-style:none}.help li{font-size:10px;margin:8px 0;line-height:1.35}.help li i{color:#168052;margin-right:7px}
.project .section-grid{grid-template-columns:minmax(0,1fr) 230px}.project .fields{grid-template-columns:1fr}.uploads{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.upload-card{border:1px solid #e2e9e6;border-radius:11px;padding:12px;background:#fff}.upload-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;margin-bottom:10px}.upload-head i:first-child{color:#28775b;font-size:18px;margin-right:8px}.upload-head .help-link{color:#2866a8;font-size:10px}.drop{height:125px;border:1.5px dashed #bdceca;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#5d6d67;cursor:pointer}.drop:hover{border-color:#168052;background:#f7fbf9}.drop i{font-size:24px;color:#2b7a5b;margin-bottom:10px}.drop b{font-size:10px}.drop span{font-size:10px;color:#277456;margin-top:4px}.drop small{font-size:8px;color:#7c8984;margin-top:8px}.consent{display:flex;align-items:flex-start;gap:10px;padding:17px 8px 8px;font-size:10px;color:#4d5b56}.consent input{accent-color:var(--green);margin-top:1px}.actions{display:flex;justify-content:space-between;align-items:center;padding:7px 8px 0}.btn{border:1px solid #d2dfda;background:#fff;color:#42514d;padding:12px 17px;border-radius:8px;font:700 11px Inter;cursor:pointer}.btn i{margin-right:7px}.btn-primary{background:linear-gradient(135deg,#087047,#13865a);border-color:#087047;color:#fff;min-width:210px;box-shadow:0 9px 20px rgba(8,112,71,.18)}
@media(max-width:850px){.hero:after{opacity:.25;width:100%}.hero-note{display:none}.section-grid,.project .section-grid{grid-template-columns:1fr}.help{display:none}.hero-features{gap:20px}.page{width:min(100% - 24px,1600px);padding:0 0 24px}.uploads{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.hero{padding:25px 22px 35px}.hero-features{flex-direction:column;gap:10px}.page{width:100%;padding:0 10px 22px}.fields,.uploads{grid-template-columns:1fr}.form-top{align-items:flex-start;gap:10px}.required-note{white-space:nowrap;padding:8px;font-size:9px}.actions{gap:12px}.btn-primary{min-width:0}}

/* Validation + upload UX patch */
.field-error{display:block;color:#c93636;font-size:10px;font-weight:700;margin-top:5px;line-height:1.35}
.field-invalid .control,.field-invalid textarea,.field-invalid input,.field-invalid select{border-color:#d94444!important;box-shadow:0 0 0 3px rgba(217,68,68,.08)!important}
.upload-card.has-error .drop{border-color:#d94444;background:#fff8f8}
.upload-error{color:#c93636;font-size:10px;font-weight:700;margin-top:8px;line-height:1.4}
.upload-status{display:none;margin-top:9px;font-size:10px;color:#486057;line-height:1.45;word-break:break-word}
.upload-status.is-visible{display:block}.upload-status b{color:#1b6f4d}
.upload-progress{display:none;height:6px;border-radius:10px;background:#e3ebe7;overflow:hidden;margin-top:8px}
.upload-progress.is-visible{display:block}.upload-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,#087047,#25a96d);border-radius:inherit;transition:width .25s ease}
.quote-submit.is-loading{pointer-events:none;opacity:.85}.quote-submit .btn-spinner{display:none;width:15px;height:15px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:quoteSpin .75s linear infinite;vertical-align:-3px;margin-right:7px}
.quote-submit.is-loading .btn-spinner{display:inline-block}@keyframes quoteSpin{to{transform:rotate(360deg)}}
.form-lock{position:fixed;inset:0;background:rgba(7,35,23,.38);z-index:9998;display:none;align-items:center;justify-content:center;backdrop-filter:blur(2px)}
.form-lock.active{display:flex}.form-lock-box{background:#fff;border-radius:16px;padding:24px 30px;box-shadow:0 24px 70px rgba(0,0,0,.22);text-align:center;font-size:13px;font-weight:700;color:#244537}
.form-lock-box .spin{width:38px;height:38px;border:4px solid #dfece5;border-top-color:#087047;border-radius:50%;margin:0 auto 12px;animation:quoteSpin .8s linear infinite}
.form-submit-error{margin:0 0 14px;padding:12px 14px;border:1px solid #efb9b4;background:#fff5f4;color:#b3322c;border-radius:10px;font-size:13px;font-weight:700}.form-submit-error[hidden]{display:none}

/* Small structural utility classes — preserves existing Quote visuals while removing inline presentation. */
.nav-chevron{font-size:8px}
.consent-brand{color:var(--green)}
.btn-arrow{margin-left:8px;margin-right:0}
.form-lock-note{display:block;color:#728078;font-weight:500;margin-top:5px}

/* =========================================================
   GREENBIZ — QUOTE SUCCESS
   Shared Quote module styling. Kept in quote.css so the
   entire Quote module uses one CSS file only.
   ========================================================= */
.quote-success-section{padding:76px 20px 92px;background:linear-gradient(180deg,#fbfefc 0%,#f5faf7 100%)}
.quote-success-card{width:min(820px,100%);margin:0 auto;padding:56px 28px 58px;text-align:center;border:1px solid #e0ece5;border-radius:20px;background:#fff;box-shadow:0 18px 45px rgba(20,78,51,.07)}
.quote-success-icon{width:78px;height:78px;margin:0 auto 22px;display:grid;place-items:center;border-radius:50%;background:#0d8b54;color:#fff;font-size:38px;font-weight:800;line-height:1;box-shadow:0 10px 25px rgba(13,139,84,.18)}
.quote-success-eyebrow{display:inline-flex;align-items:center;gap:9px;margin-bottom:10px;color:#0b8b54;font-size:12px;line-height:1.2;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.quote-success-eyebrow::before{content:"";width:24px;height:2px;border-radius:2px;background:#15965b}
.quote-success-card h1{margin:0;color:#15251f;font-size:clamp(34px,5vw,52px);line-height:1.08;letter-spacing:-.035em}
.quote-success-message{margin:16px auto 0;color:#0d8b54;font-size:18px;line-height:1.5;font-weight:800}
.quote-success-description{max-width:650px;margin:8px auto 0;color:#61736a;font-size:14px;line-height:1.7}
.quote-success-actions{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:28px}
.quote-success-primary,.quote-success-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:9px;text-decoration:none;font-size:13px;font-weight:800;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.quote-success-primary{min-width:220px;background:#0d8b54;color:#fff;box-shadow:0 10px 22px rgba(13,139,84,.17)}
.quote-success-primary:hover{background:#087547;transform:translateY(-1px);box-shadow:0 14px 28px rgba(13,139,84,.22)}
.quote-success-secondary{min-width:160px;border:1px solid #15965b;background:#fff;color:#0d8b54}
.quote-success-secondary:hover{background:#edf8f3;color:#087547;transform:translateY(-1px)}
@media(max-width:720px){
  .quote-success-section{padding:54px 16px 70px}
  .quote-success-card{padding:42px 18px 44px;border-radius:16px}
  .quote-success-icon{width:68px;height:68px;font-size:33px}
  .quote-success-card h1{font-size:clamp(30px,9vw,42px)}
  .quote-success-message{font-size:16px}
  .quote-success-description{font-size:13px}
  .quote-success-actions{flex-direction:column;width:100%}
  .quote-success-primary,.quote-success-secondary{width:min(330px,100%)}
}


/* =========================================================
   GET QUOTE — MOBILE UI AUDIT
   Quote page content only. Existing/frozen hero and navigation untouched.
   ========================================================= */

@media (max-width: 768px) {
  .quote-page,
  .quote-section,
  .quote-container,
  .quote-content {
    min-width: 0;
    max-width: 100%;
    overflow-x: clip;
  }

  .quote-page img,
  .quote-section img,
  .quote-content img {
    max-width: 100%;
    height: auto;
  }

  .quote-page h1,
  .quote-section h1,
  .quote-content h1 {
    font-size: clamp(1.65rem, 7vw, 2.2rem);
    line-height: 1.2;
    overflow-wrap: anywhere;
  }

  .quote-page h2,
  .quote-section h2,
  .quote-content h2 {
    font-size: clamp(1.2rem, 5.5vw, 1.6rem);
    line-height: 1.28;
  }

  .quote-page p,
  .quote-section p,
  .quote-content p {
    font-size: 0.93rem;
    line-height: 1.65;
  }

  .quote-form,
  .quote-card,
  .quote-panel,
  .quote-form-card {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .quote-form-grid,
  .quote-fields,
  .quote-grid {
    grid-template-columns: 1fr;
    min-width: 0;
  }

  .quote-form input,
  .quote-form select,
  .quote-form textarea,
  .quote-form button {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .quote-form textarea {
    min-height: 130px;
    resize: vertical;
  }

  .quote-form-actions,
  .quote-actions {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .quote-form-actions button,
  .quote-actions a,
  .quote-actions button {
    width: 100%;
    min-height: 44px;
  }

  .quote-info-grid,
  .quote-benefits,
  .quote-features {
    grid-template-columns: 1fr;
    min-width: 0;
  }

  .quote-info-card,
  .quote-benefit,
  .quote-feature {
    min-width: 0;
    width: 100%;
  }
}

@media (max-width: 480px) {
  .quote-page h1,
  .quote-section h1,
  .quote-content h1 {
    margin-bottom: 12px;
  }

  .quote-page h2,
  .quote-section h2,
  .quote-content h2 {
    margin-top: 20px;
    margin-bottom: 9px;
  }

  .quote-page p,
  .quote-section p,
  .quote-content p {
    font-size: 0.89rem;
  }

  .quote-form input,
  .quote-form select,
  .quote-form textarea {
    font-size: 14px;
  }

  .quote-form,
  .quote-card,
  .quote-panel,
  .quote-form-card {
    padding: 16px;
  }
}
