/*
 * COMSENSE — homepage.css
 * Loaded ONLY on the front page (functions.php → 'comsense-homepage').
 * Contains every homepage section: hero, stats, offers, featured projects,
 * quality, process, more-services, reviews, quote form.
 * Shared tokens/buttons/section headers live in global.css.
 * ============================================================ */

/* ── HERO ── */
#hero{min-height:100vh;display:grid;grid-template-columns:1fr 490px;padding-top:70px;overflow:hidden}
.hero-l{background:var(--green-800);padding:130px 72px 130px 60px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
/* kitchen photo clearly visible, with a dark green wash for text legibility */
.hero-l::before{content:'';position:absolute;inset:0;background-image:var(--hero-bg);background-size:cover;background-position:center;pointer-events:none;animation:ken-burns 38s ease-in-out infinite alternate}
.hero-l::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,rgba(10,24,18,.82) 0%,rgba(11,27,18,.55) 48%,rgba(11,27,18,.28) 100%)}
.hero-l > *{position:relative;z-index:1}
.hero-eyebrow{font-size:.72rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--amber);margin-bottom:40px;display:flex;align-items:center;gap:14px}
.hero-eyebrow::before{content:'';width:28px;height:1px;background:var(--amber);opacity:.7}
.hero-l h1{font-family:var(--serif);font-size:clamp(3rem,5.5vw,5rem);font-weight:300;line-height:1.05;color:#fff;margin-bottom:34px;letter-spacing:-.005em}
.hero-l h1 em{font-style:italic;color:var(--amber);font-weight:400}
.hero-l p{font-size:1.05rem;color:rgba(255,255,255,.6);line-height:1.95;max-width:490px;margin-bottom:52px;font-weight:300}
.hero-btns{display:flex;gap:32px;flex-wrap:wrap;align-items:center}
.hero-meta{margin-top:72px;padding-top:32px;border-top:1px solid rgba(192,168,116,.16);display:flex;flex-wrap:wrap;align-items:center;gap:18px;font-size:.74rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.42)}
.hero-meta-sep{width:3px;height:3px;border-radius:50%;background:rgba(192,168,116,.5)}
.hero-r{background:#fff;display:flex;flex-direction:column;justify-content:center;padding:96px 56px;box-shadow:-20px 0 60px rgba(10,24,18,.13);z-index:2}
.hero-form-title{font-family:var(--serif);font-size:1.85rem;font-weight:400;color:var(--green-700);margin-bottom:6px;letter-spacing:-.005em}
.hero-form-sub{font-size:.79rem;color:var(--text-mut);margin-bottom:34px;letter-spacing:.01em}

@keyframes ken-burns{0%{transform:scale(1) translate(0,0)}100%{transform:scale(1.09) translate(-1.5%,-1%)}}
@keyframes h-fade-up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes h-fade-right{from{opacity:0;transform:translateX(36px)}to{opacity:1;transform:translateX(0)}}
@keyframes h-fade{from{opacity:0}to{opacity:1}}
.hero-eyebrow{animation:h-fade-up 1.3s cubic-bezier(.2,.7,.2,1) .2s both}
.hero-l h1{animation:h-fade-up 1.5s cubic-bezier(.2,.7,.2,1) .45s both}
.hero-l p{animation:h-fade-up 1.4s cubic-bezier(.2,.7,.2,1) .8s both}
.hero-btns{animation:h-fade-up 1.4s cubic-bezier(.2,.7,.2,1) 1.15s both}
.hero-meta{animation:h-fade 1.4s cubic-bezier(.2,.7,.2,1) 1.55s both}
.hero-r{animation:h-fade-right 1.5s cubic-bezier(.2,.7,.2,1) .55s both}

/* Form field styles are shared — see "SHARED FORMS" in global.css */

/* ── STATS BAR ── */
.stats-bar{background:var(--cream-2);display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.stat-item{padding:44px 24px;text-align:center;border-right:1px solid var(--line-2)}
.stat-item:last-child{border:none}
.stat-num{font-family:var(--serif);font-size:2.6rem;color:var(--green-700);line-height:1;font-weight:300;letter-spacing:-.005em}
.stat-num em{color:var(--amber);font-style:normal;font-weight:300}
.stat-lbl{font-size:.74rem;color:var(--text-mut);margin-top:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase}

/* ── OFFERS ── */
#offers{padding:140px 0;background:var(--cream)}
.offers-intro{font-size:.97rem;color:var(--text-mut);max-width:540px;margin:22px auto 0;line-height:1.9;font-weight:300}
.offers-key-message{font-family:var(--sans);font-size:1.06rem;color:var(--green-700);font-weight:500;line-height:1.7;max-width:660px;margin:30px auto 0;letter-spacing:-.005em}
.offers-key-message em{font-style:italic;color:var(--amber);font-weight:400}
.offer-cards{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible;padding:28px 0}
.oc{display:flex;flex-direction:column;position:relative;border:1px solid var(--line-2);background:#fff;border-radius:2px;transition:transform .75s cubic-bezier(.2,.7,.2,1),box-shadow .75s cubic-bezier(.2,.7,.2,1),border-color .75s cubic-bezier(.2,.7,.2,1)}
.oc:hover{transform:translateY(-3px);box-shadow:0 28px 70px rgba(10,24,18,.1)}
.oc.featured{z-index:2;border-top:2px solid var(--amber);box-shadow:0 24px 60px rgba(10,24,18,.08)}
.oc.featured:hover{box-shadow:0 34px 90px rgba(10,24,18,.13)}
.oc-badge{position:absolute;top:-1px;left:50%;transform:translateX(-50%);font-size:.6rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;padding:6px 16px 7px;white-space:nowrap;z-index:3;border-radius:0 0 4px 4px;background:var(--amber);color:var(--green-800)}
.oc-head{padding:48px 36px 24px;text-align:center}
.oc-body{padding:0 36px 40px;flex:1;display:flex;flex-direction:column}
.oc-tag{display:inline-block;font-size:.62rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;margin-bottom:18px;color:var(--amber)}
.oc-name{font-family:var(--serif);font-size:1.55rem;margin-bottom:14px;line-height:1.2;font-weight:400;color:var(--green-700)}
.oc-desc{font-size:.84rem;line-height:1.75;font-weight:300;max-width:280px;margin:0 auto;color:var(--text-mut)}
.oc-list{list-style:none;flex:1;margin:30px 0;padding-top:24px;border-top:1px solid var(--line-3)}
.oc-list li{padding:14px 0;position:relative;padding-left:26px;font-size:.78rem;color:var(--text-2);line-height:1.55;font-weight:400}
.oc-list li::before{content:'';position:absolute;left:0;top:25px;width:16px;height:1px;background:var(--amber)}
.oc-list li strong{display:block;color:var(--green-700);font-weight:500;font-size:.88rem;margin-bottom:5px;line-height:1.35;letter-spacing:-.002em}
.oc-btn{display:block;width:100%;text-align:center;padding:17px;border-radius:2px;font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;border:none;cursor:pointer;transition:background .25s ease;font-family:inherit;text-decoration:none;background:#F0EBE0;color:var(--green-700)}
.oc-btn:hover{background:#E5DDCC}
.feat-btn{background:var(--green-700);color:#fff}.feat-btn:hover{background:var(--green-800)}
.flat-btn{background:#fff;color:var(--green-700);border:1px solid var(--green-700)}.flat-btn:hover{background:var(--green-700);color:#fff}

/* ── TRUST ROW ── */
.trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:88px;padding:36px 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.trust-item{padding:0 28px;display:flex;align-items:flex-start;gap:12px;position:relative}
.trust-item:not(:last-child)::after{content:'';position:absolute;right:0;top:18%;height:64%;width:1px;background:var(--line-2)}
.trust-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.trust-icon svg{width:22px;height:22px;fill:var(--amber)}
.trust-title{font-size:.86rem;font-weight:500;color:var(--green-700);margin-bottom:2px;letter-spacing:.01em}
.trust-sub{font-size:.78rem;color:var(--text-mut);line-height:1.5;font-weight:300}

/* ── FEATURED PROJECTS (staggered editorial gallery) ── */
#featured-projects{padding:140px 0;background:#fff}
/* two columns × three cards — each column a vertical accordion.
   The hovered card (or the auto-randomly .is-active card) expands. */
.fp-grid{display:flex;flex-direction:column;gap:16px}
.fp-row{display:flex;gap:16px;height:340px}
.fp-card{
  position:relative;overflow:hidden;flex:1 1 0;min-width:0;border-radius:3px;
  background:var(--green-800);text-decoration:none;display:block;
  transition:flex-grow .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s cubic-bezier(.2,.7,.2,1)
}
.fp-card:hover,.fp-card.is-active{flex-grow:2.8;box-shadow:0 30px 70px rgba(10,24,18,.3);z-index:3}
.fp-card img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .6s;display:block;filter:saturate(.82) brightness(.78)}
.fp-card:hover img,.fp-card.is-active img{transform:scale(1.05);filter:saturate(1.04) brightness(1)}
.fp-vlabel{display:none}

/* light sweep when a card activates */
.fp-card::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(120deg,transparent 32%,rgba(255,255,255,.16) 50%,transparent 68%);transform:translateX(-130%)}
.fp-card:hover::after,.fp-card.is-active::after{transform:translateX(130%);transition:transform 1.1s cubic-bezier(.25,.8,.35,1)}

/* corner arrow badge */
.fp-arrow{position:absolute;top:16px;right:16px;z-index:3;width:42px;height:42px;border-radius:50%;background:rgba(248,244,238,.14);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.28);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.7) rotate(-12deg);transition:opacity .45s,transform .45s,background .3s}
.fp-arrow svg{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fp-card:hover .fp-arrow,.fp-card.is-active .fp-arrow{opacity:1;transform:scale(1) rotate(0);background:var(--amber)}
.fp-card:hover .fp-arrow svg,.fp-card.is-active .fp-arrow svg{stroke:var(--green-900)}

/* overlay — project name always visible, details reveal on activate */
.fp-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:30px 30px;color:#fff;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,24,18,0) 38%,rgba(10,24,18,.45) 70%,rgba(10,24,18,.9) 100%);transition:background .55s}
.fp-card:hover .fp-overlay,.fp-card.is-active .fp-overlay{background:linear-gradient(180deg,rgba(10,24,18,.12) 0%,rgba(10,24,18,.42) 44%,rgba(10,24,18,.93) 100%)}
.fp-name{font-family:var(--serif);font-size:1.42rem;font-weight:400;letter-spacing:-.005em;line-height:1.18;position:relative;padding-bottom:16px;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.fp-name::after{content:'';position:absolute;left:0;bottom:6px;width:28px;height:2px;background:var(--amber);transition:width .55s cubic-bezier(.2,.7,.2,1)}
.fp-card:hover .fp-name::after,.fp-card.is-active .fp-name::after{width:62px}

.fp-reveal{max-height:0;opacity:0;overflow:hidden;transform:translateY(8px);transition:max-height .55s cubic-bezier(.2,.7,.2,1),opacity .45s ease,transform .55s cubic-bezier(.2,.7,.2,1)}
.fp-card:hover .fp-reveal,.fp-card.is-active .fp-reveal{max-height:140px;opacity:1;transform:none}
.fp-desc{font-size:.82rem;color:rgba(255,255,255,.82);font-weight:300;letter-spacing:.02em;line-height:1.55}
.fp-cta{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--amber)}
.fp-cta svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s}
.fp-card:hover .fp-cta svg,.fp-card.is-active .fp-cta svg{transform:translateX(4px)}
.fp-card:hover .fp-name,.fp-card.is-active .fp-name{transform:translateY(-2px)}
.fp-reveal .fp-desc{transform:translateY(8px);opacity:0;transition:transform .5s cubic-bezier(.2,.7,.2,1) .05s,opacity .4s ease .05s}
.fp-card:hover .fp-reveal .fp-desc,.fp-card.is-active .fp-reveal .fp-desc{transform:none;opacity:1}
.fp-reveal .fp-cta{transform:translateY(8px);opacity:0;transition:transform .5s cubic-bezier(.2,.7,.2,1) .16s,opacity .4s ease .16s}
.fp-card:hover .fp-reveal .fp-cta,.fp-card.is-active .fp-reveal .fp-cta{transform:none;opacity:1}

.fp-cta-wrap{margin-top:96px;text-align:center;display:flex;justify-content:center;gap:32px;flex-wrap:wrap;align-items:center}
.fp-view-all{font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--green-700);text-decoration:none;padding:17px 38px;background:transparent;border:1px solid var(--green-700);border-radius:2px;transition:background .25s ease,color .25s ease}
.fp-view-all:hover{background:var(--green-700);color:#fff}

/* ── QUALITY ── */
#quality{padding:140px 0;background:#fff}
.q-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.q-card{position:relative;background:var(--cream-2);border:1px solid var(--line-2);border-radius:2px;overflow:hidden;display:flex;flex-direction:column;transition:transform .75s cubic-bezier(.2,.7,.2,1),box-shadow .75s cubic-bezier(.2,.7,.2,1),border-color .75s cubic-bezier(.2,.7,.2,1)}
.q-card:hover{box-shadow:0 22px 60px rgba(10,24,18,.08);transform:translateY(-2px);border-color:#D5C9AF}
.q-img-wrap{aspect-ratio:16/10;overflow:hidden}
.q-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1);display:block}
.q-card:hover .q-img-wrap img{transform:scale(1.04)}
.q-body{padding:38px 38px 36px;flex:1;display:flex;flex-direction:column}
.q-tag{font-size:.62rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--amber);margin-bottom:18px}
.q-title{font-family:var(--serif);font-size:1.55rem;font-weight:400;color:var(--green-700);margin-bottom:18px;letter-spacing:-.005em;line-height:1.22}
.q-desc{font-size:.88rem;color:var(--text-mut);line-height:1.78;font-weight:400;margin-bottom:28px;flex:1}
.q-desc strong{color:var(--green-700);font-weight:500}
.q-link{font-family:var(--sans);font-size:.74rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--green-700);text-decoration:none;display:inline-flex;align-items:center;gap:10px;padding:0 0 8px;border-bottom:1px solid var(--amber);align-self:flex-start;transition:gap .3s ease,color .25s ease}
.q-card:hover .q-link{gap:14px;color:var(--green-800)}
.q-link svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ── PROCESS ── */
#process{padding:140px 0;background:var(--cream)}
.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:48px;margin-top:90px}
.proc-step{display:flex;flex-direction:column;padding-top:32px;border-top:1px solid var(--line);position:relative}
.proc-step::before{content:'';position:absolute;top:-1px;left:0;width:32px;height:2px;background:var(--amber);transition:width .4s cubic-bezier(.2,.7,.2,1)}
.proc-step:hover::before{width:64px}
.proc-num{font-family:var(--serif);font-size:2.8rem;font-weight:300;font-style:italic;color:var(--amber);line-height:1;margin-bottom:40px;letter-spacing:.02em}
.proc-title{font-family:var(--serif);font-size:1.4rem;font-weight:400;color:var(--green-700);margin-bottom:16px;letter-spacing:-.005em;line-height:1.3}
.proc-desc{font-size:.86rem;color:var(--text-mut);line-height:1.75}
.proc-cta-wrap{text-align:center;margin-top:96px;display:flex;justify-content:center;gap:32px;flex-wrap:wrap;align-items:center}
.proc-note{font-size:.82rem;color:var(--text-mut);font-style:italic;font-weight:300}

/* ── MORE SERVICES (dark) ── */
#more-services{padding:140px 0;background:var(--green-800);position:relative}
#more-services .section-eyebrow{color:var(--amber)}
#more-services .section-eyebrow::before,#more-services .section-eyebrow::after{background:var(--amber)}
#more-services .section-title{color:#fff}
#more-services .section-title em{color:var(--amber)}
.ms-divider{width:48px;height:2px;background:var(--amber);margin:24px auto 0;opacity:.85}
.ms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:80px}
.ms-card{background:rgba(255,255,255,.04);border:1px solid rgba(192,168,116,.18);border-radius:4px;overflow:hidden;text-decoration:none;transition:transform .7s cubic-bezier(.2,.7,.2,1),background .7s,border-color .7s,box-shadow .7s;display:block}
.ms-card:hover{transform:translateY(-4px);border-color:rgba(192,168,116,.45);background:rgba(255,255,255,.06);box-shadow:0 22px 60px rgba(0,0,0,.18)}
.ms-img{aspect-ratio:4/3;overflow:hidden}
.ms-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1);display:block}
.ms-card:hover .ms-img img{transform:scale(1.04)}
.ms-body{padding:32px 30px 30px}
.ms-title{font-family:var(--serif);font-size:1.5rem;font-weight:400;color:#fff;margin-bottom:14px;letter-spacing:-.005em;line-height:1.22}
.ms-desc{font-size:.86rem;color:rgba(255,255,255,.65);line-height:1.7;font-weight:300;margin-bottom:20px}
.ms-more{font-family:var(--sans);font-size:.76rem;font-weight:600;color:var(--amber);letter-spacing:.04em;display:inline-flex;align-items:center;gap:8px}
.ms-more svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s ease}
.ms-card:hover .ms-more svg{transform:translateX(4px)}

/* ── REVIEWS ── */
#reviews{padding:140px 0;background:var(--cream-2)}
.rv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.rv-card{padding:0 44px;position:relative;display:flex;flex-direction:column}
.rv-card:not(:last-child){border-right:1px solid var(--line-2)}
.rv-stars{display:flex;gap:3px;margin-bottom:24px;color:var(--amber)}
.rv-stars svg{width:13px;height:13px;fill:currentColor}
.rv-text{font-family:var(--serif);font-size:1.1rem;line-height:1.65;font-style:italic;font-weight:400;margin-bottom:32px;flex:1;color:var(--green-700)}
.rv-author{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.rv-name{font-size:.86rem;font-weight:500;font-family:var(--serif);letter-spacing:.005em;color:var(--green-700)}
.rv-src{font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--text-mut)}
.rv-card[data-rv]{transition:opacity 1.3s cubic-bezier(.2,.7,.2,1),transform 1.3s cubic-bezier(.2,.7,.2,1)}

/* ── AWARDS (luxury minimal) ── */
#awards{padding:90px 0;background:var(--cream-2)}
#awards .page-wrap{max-width:1320px}
.aw-head{text-align:center;margin-bottom:52px}
.aw-head .section-eyebrow{justify-content:center}
.aw-title{font-family:var(--serif);font-size:clamp(1.6rem,2.6vw,2.1rem);font-weight:300;color:var(--green-700);line-height:1.16;letter-spacing:-.005em;margin-top:14px}
.aw-title em{font-style:italic;color:var(--amber);font-weight:400}
.aw-row{display:flex;align-items:flex-start;justify-content:center;flex-wrap:wrap}
.aw-badge{display:flex;flex-direction:column;align-items:center;gap:18px;padding:0 26px;text-decoration:none;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.aw-badge:not(:last-child){border-right:1px solid var(--line-2)}
.aw-badge-img{height:135px;display:flex;align-items:center;justify-content:center}
.aw-badge-img img{height:100%;width:auto;max-width:185px;object-fit:contain;display:block;filter:saturate(.9);transition:filter .4s}
.aw-badge:hover{transform:translateY(-6px)}
.aw-badge:hover .aw-badge-img img{filter:saturate(1.05)}
.aw-cap{font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-mut);max-width:190px;line-height:1.45;text-align:center}
@media(max-width:740px){
  .aw-row{gap:36px 30px}
  .aw-badge{padding:0;border-right:none !important}
  .aw-badge-img{height:130px}
}

/* ── QUOTE FORM ── */
#quoteform{padding:100px 0;background:var(--cream)}
.lf-wrap{display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 20px 70px rgba(10,24,18,.1);border:1px solid var(--line);max-width:1160px;margin:0 auto}
.lf-left{padding:56px 52px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;background:var(--green-700)}
.lf-left::before{content:'';position:absolute;inset:0;background:url('https://comsensekitchencabinets.com/wp-content/uploads/2025/07/IMG_6446-HDR-Enhanced-NR-890x664.jpg') center/cover;opacity:.09;pointer-events:none}
.lf-left>*{position:relative;z-index:1}
.lf-title{font-size:2rem;margin-bottom:12px;line-height:1.15;font-family:var(--serif);color:#fff;font-weight:400}
.lf-sub{font-size:.88rem;line-height:1.75;margin-bottom:26px;font-weight:300;color:rgba(255,255,255,.52)}
.lf-bens{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:32px}
.lf-bens li{font-size:.84rem;padding-left:20px;position:relative;line-height:1.5;color:rgba(255,255,255,.72)}
.lf-bens li::before{content:'✓';position:absolute;left:0;font-weight:700;color:var(--amber-lt)}
.lf-locs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.lf-loc{border-radius:9px;padding:12px 8px;text-align:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15)}
.lf-loc strong{display:block;font-size:.78rem;font-weight:700;margin-bottom:2px;color:#fff}
.lf-loc span{display:block;font-size:.63rem;margin-bottom:3px;color:rgba(255,255,255,.4)}
.lf-loc a{font-size:.68rem;font-weight:600;color:var(--amber-lt)}
.lf-right{padding:56px 52px}
.lf-form-title{font-size:1.55rem;margin-bottom:4px;font-family:var(--serif);color:var(--green-700);font-weight:400}
.lf-form-sub{font-size:.78rem;margin-bottom:22px;color:var(--text-mut)}
.f-helper{margin-top:14px;text-align:center;font-size:.85rem;color:var(--text-mut)}
.f-helper a{color:var(--green-700);text-decoration:none;font-weight:500;border-bottom:1px solid var(--amber);padding-bottom:1px;transition:color .2s}
.f-helper a:hover{color:var(--green-800)}
/* Quote/hero form field styles are shared — see "SHARED FORMS" in global.css */

/* ── HOMEPAGE RESPONSIVE ── */
@media(max-width:1040px){
  #hero{grid-template-columns:1fr}
  .hero-r{padding:52px 36px;box-shadow:none;border-top:1px solid var(--line)}
  .hero-l{padding:96px 36px 52px}
  .stats-bar{grid-template-columns:1fr 1fr}
  .trust-row{grid-template-columns:1fr 1fr}
  .offer-cards{grid-template-columns:1fr;gap:16px;padding:0}
  .oc.featured{margin:0}
  .oc-badge{position:relative;display:inline-block;top:0;transform:none;margin-bottom:14px}
  .oc,.oc.featured{border-radius:12px}
  .rv-grid{grid-template-columns:1fr}
  .rv-card{padding:0;border-right:none !important;margin-bottom:40px}
  .lf-wrap{grid-template-columns:1fr}
  .fp-row{height:300px}
  .q-grid{grid-template-columns:1fr}
  .proc-grid{grid-template-columns:repeat(2,1fr);gap:36px}
  .ms-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .hero-l,.hero-r{padding:72px 22px 44px}
  .hero-btns{flex-direction:column;align-items:stretch}
  .stats-bar{grid-template-columns:1fr 1fr}
  .lf-left,.lf-right{padding:36px 24px}
  .f-row,.lf-locs,.mf-row{grid-template-columns:1fr}
  .fp-grid{flex-direction:column;gap:14px}
  .fp-row{flex-direction:column;height:auto;gap:14px}
  .fp-card{flex:none;height:280px}
  .fp-card img{filter:none}
  .fp-overlay{background:linear-gradient(180deg,rgba(10,24,18,0) 30%,rgba(10,24,18,.5) 66%,rgba(10,24,18,.92) 100%)}
  .fp-reveal{max-height:150px;opacity:1;transform:none}
  .fp-reveal .fp-desc,.fp-reveal .fp-cta{opacity:1;transform:none}
  .fp-arrow{display:none}
  .proc-grid{grid-template-columns:1fr;gap:44px}
  .ms-grid{grid-template-columns:1fr;gap:18px}
  #offers,#featured-projects,#quality,#process,#more-services,#reviews{padding:84px 0}
  .proc-cta-wrap,.fp-cta-wrap{flex-direction:column;gap:20px}
  .q-body{padding:30px 26px 28px}
  .ms-body{padding:26px 24px 26px}
}

/* Offer cards: whole card links to its service page; button stays clickable on top */
.oc-stretch{position:absolute;inset:0;z-index:1;border-radius:inherit}
.oc-btn{position:relative;z-index:2}
