/* Farmington-specific visual layer.
   Purpose: keep shared engineering patterns while giving this site its own layout, rhythm and visual identity. */

:root{
  --farm-forest:#123d3c;
  --farm-forest-2:#1f5552;
  --farm-copper:#d7643a;
  --farm-amber:#e0b35d;
  --farm-paper:#fbf8f1;
  --farm-mint:#eaf3f0;
  --farm-blue:#e7f3f5;
}

/* Header polish */
.site-header{box-shadow:0 8px 22px rgba(18,61,60,.045)}
.header-inner{min-height:78px}
.desktop-nav>a,.nav-dropdown-toggle{position:relative}
.desktop-nav>a:after,.nav-dropdown-toggle:after{content:"";position:absolute;left:0;right:0;bottom:20px;height:2px;background:var(--copper);transform:scaleX(0);transform-origin:left;transition:.18s ease}
.desktop-nav>a:hover:after,.desktop-nav>a[aria-current="page"]:after,.nav-dropdown-toggle:hover:after{transform:scaleX(1)}

/* Farmington homepage hero: diagnostic console rather than another mountain/house illustration. */
.farm-hero{position:relative;overflow:hidden;padding:86px 0 78px;background:linear-gradient(108deg,#fbf8f1 0%,#fff 48%,#edf6f4 100%)}
.farm-hero:before{content:"";position:absolute;left:-110px;bottom:-190px;width:410px;height:410px;border:1px solid rgba(18,61,60,.08);border-radius:50%;box-shadow:0 0 0 52px rgba(224,179,93,.055),0 0 0 106px rgba(18,61,60,.035)}
.farm-hero:after{content:"84025";position:absolute;right:3.5vw;top:30px;color:rgba(18,61,60,.038);font-size:clamp(6rem,16vw,15rem);font-weight:950;line-height:1;letter-spacing:-.08em;pointer-events:none}
.farm-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,.88fr);gap:72px;align-items:center}
.farm-hero-copy h1{margin-top:15px;max-width:720px}
.farm-hero-copy .hero-lead{max-width:660px}
.farm-proof-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:27px}
.farm-proof-row span{padding:8px 11px;border-radius:8px;background:#fff;border:1px solid var(--line);color:#53686a;font-size:.8rem;font-weight:850;box-shadow:0 4px 14px rgba(18,61,60,.035)}

.symptom-finder{position:relative;padding:28px;border:1px solid rgba(18,61,60,.13);border-radius:28px;background:#fff;box-shadow:0 26px 70px rgba(18,61,60,.14)}
.symptom-finder:before{content:"";position:absolute;inset:9px;border:1px dashed rgba(18,61,60,.08);border-radius:21px;pointer-events:none}
.finder-topline{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.finder-topline span{font-size:.7rem;font-weight:950;text-transform:uppercase;letter-spacing:.1em;color:var(--copper-dark)}
.finder-topline strong{padding:7px 10px;border-radius:7px;background:var(--farm-forest);color:#fff;font-size:.8rem;letter-spacing:.04em}
.symptom-finder h2{position:relative;font-size:clamp(1.75rem,3.1vw,2.55rem);margin-bottom:10px;max-width:410px}
.symptom-finder>p{position:relative;color:var(--muted);max-width:450px}
.finder-grid{position:relative;display:grid;gap:10px;margin-top:22px}
.finder-grid a{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;transition:.18s ease}
.finder-grid a:hover{transform:translateX(4px);border-color:#bed2cd;box-shadow:var(--soft-shadow)}
.finder-grid a>b{font-size:1.2rem;color:var(--copper-dark)}
.finder-grid strong,.finder-grid small{display:block;line-height:1.2}
.finder-grid small{margin-top:3px;color:var(--muted);font-size:.76rem}
.finder-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center}
.finder-icon svg{width:23px;height:23px;fill:currentColor}
.finder-icon.cool{background:#e6f3f5;color:#3d7883}.finder-icon.heat{background:#fff0e9;color:var(--copper-dark)}.finder-icon.air{background:#eaf3ec;color:#4a7460}.finder-icon.repair{background:#f5efe1;color:#8a6730}
.finder-all{position:relative;display:inline-flex;margin-top:18px;color:var(--copper-dark);font-weight:900;text-decoration:none;font-size:.88rem}
.finder-all:hover{text-decoration:underline}

.fast-path-band{background:var(--farm-forest);color:#fff}
.fast-path-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.fast-path-grid>div{padding:23px 24px;border-right:1px solid rgba(255,255,255,.12)}
.fast-path-grid>div:last-child{border-right:0}
.fast-path-grid small,.fast-path-grid span{display:block}
.fast-path-grid small{color:#e7c979;font-size:.67rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.fast-path-grid a{display:inline-block;margin-top:3px;color:#fff;font-size:1.05rem;font-weight:900;text-decoration:none}
.fast-path-grid a:hover{text-decoration:underline}
.fast-path-grid span{margin-top:3px;color:#b9cecb;font-size:.76rem}

.farm-services-section{background:#fff}
.farm-section-head{display:grid;grid-template-columns:1.1fr .75fr;gap:70px;align-items:end}
.farm-section-head>p{color:var(--muted);margin-bottom:0}
.service-mosaic{display:grid;grid-template-columns:.9fr 1.35fr;gap:18px;align-items:stretch}
.service-feature-card{position:relative;overflow:hidden;padding:34px;border-radius:24px;background:linear-gradient(145deg,var(--farm-forest),#1d504d);color:#fff;box-shadow:var(--shadow)}
.service-feature-card:after{content:"";position:absolute;right:-70px;bottom:-90px;width:230px;height:230px;border-radius:50%;border:42px solid rgba(255,255,255,.05)}
.service-kicker{display:block;color:#e8c77d;font-size:.7rem;font-weight:950;text-transform:uppercase;letter-spacing:.1em}
.service-feature-icon{width:58px;height:58px;margin:22px 0 20px;border-radius:17px;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#f3b58e}
.service-feature-icon svg{width:31px;height:31px;fill:currentColor}
.service-feature-card h3{font-size:2rem;max-width:420px}
.service-feature-card h3 a{text-decoration:none}
.service-feature-card p{color:#cedcda;max-width:490px}
.service-feature-card ul{position:relative;z-index:1;margin:22px 0 24px;padding:0;list-style:none}
.service-feature-card li{padding:8px 0;border-top:1px solid rgba(255,255,255,.13);color:#e5eeed}
.service-feature-card .text-link{position:relative;z-index:1;color:#ffd4be}
.service-mosaic-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.service-mini-card{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:13px;padding:18px;border:1px solid var(--line);border-radius:17px;background:#fff;text-decoration:none;transition:.18s ease}
.service-mini-card:hover{transform:translateY(-3px);box-shadow:var(--soft-shadow);border-color:#c7d8d4}
.service-mini-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--cream);color:var(--copper-dark)}
.service-mini-icon svg{width:24px;height:24px;fill:currentColor}
.service-mini-card strong,.service-mini-card small{display:block;line-height:1.2}
.service-mini-card small{margin-top:4px;color:var(--muted);font-size:.79rem}
.service-mini-card>b{color:var(--copper-dark);font-size:1.1rem}

.search-intent-section{background:var(--farm-forest);color:#fff}
.dark-centered-intro p{color:#bdd1ce}
.intent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.intent-grid a{position:relative;min-height:190px;padding:24px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(255,255,255,.035);text-decoration:none;transition:.18s ease}
.intent-grid a:hover{background:rgba(255,255,255,.075);transform:translateY(-3px)}
.intent-grid a>span{display:block;color:#e9c471;font-size:.72rem;font-weight:950}
.intent-grid strong{display:block;margin-top:24px;font-size:1.12rem}
.intent-grid small{display:block;margin-top:8px;color:#bdd0cd;line-height:1.55}

.farm-local-section{background:linear-gradient(180deg,#fbfaf5,#edf4f1)}
.farm-local-grid{display:grid;grid-template-columns:1.05fr .82fr;gap:78px;align-items:center}
.farm-local-grid>div>p{color:var(--muted);max-width:690px}
.local-service-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:25px 0}
.local-service-links a{padding:15px 16px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.75);text-decoration:none}
.local-service-links strong,.local-service-links span{display:block}
.local-service-links strong{color:var(--pine)}
.local-service-links span{margin-top:3px;color:var(--muted);font-size:.78rem}
.local-service-links a:hover{background:#fff;box-shadow:var(--soft-shadow)}
.season-board{overflow:hidden;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.season-board-head{padding:25px 25px 20px;background:var(--farm-paper)}
.season-board-head small,.season-board-head strong{display:block}
.season-board-head small{color:var(--copper-dark);font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.1em}
.season-board-head strong{margin-top:4px;font-size:1.35rem;color:var(--pine)}
.season-board-row{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center;padding:18px 25px;border-top:1px solid var(--line)}
.season-board-row>span{width:44px;height:44px;border-radius:13px;display:grid;place-items:center}
.season-board-row svg{width:23px;height:23px;fill:currentColor}
.season-board-row>span.cool{background:#e6f3f5;color:#3d7883}.season-board-row>span.heat{background:#fff0e9;color:var(--copper-dark)}.season-board-row>span.air{background:#eaf3ec;color:#4a7460}
.season-board-row strong,.season-board-row small{display:block}
.season-board-row small{margin-top:3px;color:var(--muted)}
.season-board-footer{padding:14px 25px;background:var(--farm-forest);color:#d8e5e3;font-size:.78rem;font-weight:850}

.farm-process-section{background:#173f3e;color:#fff}
.process-heading>p{color:#c1d3d0}
.farm-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.farm-process-grid>div{padding:26px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.03)}
.farm-process-grid>div>span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--copper);font-weight:950;margin-bottom:18px}
.farm-process-grid p{color:#bdd0cd;margin-bottom:0}
.farm-faq-section{background:#fff}

/* Service-page differentiation and clarity. */
.service-hero-panel{justify-content:flex-start;min-height:0;background:linear-gradient(150deg,#163f3e,#255b57)}
.service-hero-panel>strong{font-size:1.25rem}
.service-hero-panel>p{margin-bottom:14px}
.service-hero-panel .service-panel-signals{display:grid;gap:7px;margin-top:7px}
.service-hero-panel .service-panel-signals span{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-top:1px solid rgba(255,255,255,.12);color:#d9e5e3;font-size:.84rem}
.service-hero-panel .service-panel-signals span:before{content:"✓";color:#edca7e;font-weight:950}

/* Mobile / tablet */
@media(max-width:1080px){
  .farm-hero-grid{grid-template-columns:1fr;gap:38px}
  .symptom-finder{max-width:760px}
  .farm-section-head,.farm-local-grid{grid-template-columns:1fr;gap:34px}
  .service-mosaic{grid-template-columns:1fr}
  .intent-grid{grid-template-columns:repeat(2,1fr)}
  .fast-path-grid{grid-template-columns:repeat(2,1fr)}
  .fast-path-grid>div:nth-child(2){border-right:0}
  .fast-path-grid>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}
}

@media(max-width:760px){
  .farm-hero{padding:52px 0 48px}
  .farm-hero:after{font-size:8rem;right:-18px;top:20px}
  .symptom-finder{padding:21px;border-radius:20px}
  .finder-grid a{grid-template-columns:40px 1fr auto;padding:12px}
  .farm-proof-row span{font-size:.74rem}
  .fast-path-grid{grid-template-columns:1fr}
  .fast-path-grid>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)!important}
  .fast-path-grid>div:last-child{border-bottom:0!important}
  .service-mosaic-list,.local-service-links,.intent-grid,.farm-process-grid{grid-template-columns:1fr}
  .service-feature-card{padding:27px}
  .service-feature-card h3{font-size:1.65rem}
  .intent-grid a{min-height:auto}
  .farm-section-head{display:block}
  .farm-section-head>p{margin-top:14px}
}

@media(max-width:470px){
  .farm-hero-copy h1{font-size:clamp(2.45rem,13vw,3.5rem)}
  .symptom-finder h2{font-size:1.65rem}
  .finder-topline{align-items:flex-start}
  .service-mini-card{grid-template-columns:44px 1fr auto;padding:15px}
  .season-board-row{padding:16px 18px}
  .season-board-head,.season-board-footer{padding-left:18px;padding-right:18px}
}
