.concept-two { --green:#0d421b; --ink:#101713; --muted:#566159; --line:#e3e7e2; --soft:#f7f8f6; --header-height:88px; margin:0; color:var(--ink); background:#fff; font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
.concept-two * { box-sizing:border-box; }
.concept-two h1,.concept-two h2,.concept-two h3,.concept-two p { overflow-wrap:normal; }
.concept-header { position:sticky; top:0; z-index:100; width:100%; height:var(--header-height); display:grid; grid-template-columns:210px minmax(600px,1fr) auto; align-items:center; gap:clamp(22px,3vw,54px); padding:0 clamp(30px,4.7vw,76px); overflow:visible; background:rgba(255,255,255,.98); border-bottom:1px solid var(--line); box-shadow:none; backdrop-filter:blur(14px); transition:transform 180ms ease,box-shadow 180ms ease,height 180ms ease; }
.concept-header.is-hidden:not(.is-menu-open):not(:focus-within) { transform:translateY(calc(-100% - 20px)); }
.concept-header.is-floating { --header-height:76px; background:rgba(255,255,255,.96); box-shadow:0 12px 32px rgba(17,47,25,.08); }
.concept-header .brand { align-self:center; width:fit-content; }
.concept-header .brand img,.concept-header.is-floating .brand img { width:124px; height:auto; max-height:84px; object-fit:contain; transform:none; }
.concept-header .site-nav { position:static; display:flex; justify-content:center; align-items:center; gap:clamp(24px,2.9vw,48px); color:var(--ink); font-size:clamp(.89rem,1vw,1rem); font-weight:650; white-space:nowrap; }
.concept-header .site-nav a { display:inline-flex; align-items:center; gap:7px; padding:31px 0 29px; transition:color 160ms ease; }
.concept-header.is-floating .site-nav a { padding-block:25px 23px; }
.concept-header .site-nav a::after { display:none; }
.concept-header .site-nav a:hover,.concept-header .site-nav a:focus-visible { color:var(--green); }
.services-nav-link svg { width:10px; height:7px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.header-actions { display:flex; align-items:center; justify-content:flex-end; gap:clamp(18px,2.2vw,34px); white-space:nowrap; }
.header-phone { display:inline-flex; align-items:center; gap:11px; color:var(--green); font-size:clamp(.93rem,1.1vw,1.07rem); font-weight:750; }
.header-phone svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.concept-header .header-quote { min-width:128px; min-height:48px; padding:0 22px; border:0; border-radius:3px; color:#fff; background:var(--green); font-size:.9rem; font-weight:700; box-shadow:none; }
.concept-header .menu-button { display:none; }

.concept-main { width:100%; }
.concept-hero { display:grid; grid-template-columns:42% 58%; height:520px; min-height:0; background:#fff; overflow:hidden; }
.concept-hero-copy { position:relative; z-index:2; min-width:0; align-self:stretch; display:flex; flex-direction:column; justify-content:center; padding:30px 0 0 clamp(38px,4.7vw,76px); background:linear-gradient(90deg,#fff 0%,#fff 67%,rgba(255,255,255,.92) 82%,rgba(255,255,255,0) 100%); }
.concept-eyebrow { display:block; margin:0 0 17px; color:var(--green); font-size:.78rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.concept-hero h1 { max-width:660px; margin:0 0 14px; color:#07110b; font-family:Georgia,"Times New Roman",serif; font-size:clamp(3.45rem,4.2vw,4.55rem); line-height:.95; letter-spacing:-.035em; }
.concept-hero-copy>p { max-width:570px; margin:0 0 18px; font-size:clamp(1.02rem,1.2vw,1.25rem); line-height:1.52; }
.concept-hero-actions { display:flex; gap:24px; margin:0 0 28px; }
.concept-primary,.concept-secondary { min-height:50px; display:inline-flex; align-items:center; justify-content:center; padding:0 30px; border-radius:3px; font-size:.9rem; font-weight:750; }
.concept-primary { color:#fff; background:var(--green); border:1px solid var(--green); }
.concept-secondary { gap:13px; color:var(--green); background:#fff; border:1px solid var(--green); }
.concept-secondary svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.concept-trust-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); max-width:760px; margin-top:auto; min-height:88px; border-top:1px solid var(--line); }
.concept-trust-row>div { display:flex; align-items:center; gap:14px; padding:17px 21px; border-right:1px solid var(--line); font-size:.75rem; line-height:1.35; }
.concept-trust-row>div:first-child { padding-left:0; }
.concept-trust-row>div:last-child { border-right:0; }
.concept-rating span { color:#f0a000; font-size:1.2rem; letter-spacing:.08em; white-space:nowrap; }
.concept-trust-row b { font-weight:700; }
.trust-icon { width:37px; height:37px; flex:0 0 37px; object-fit:contain; }
.trust-icon-home { width:43px; height:37px; flex-basis:43px; }
.trust-icon-craft { width:44px; height:38px; flex-basis:44px; }
.concept-hero-media { min-width:0; overflow:hidden; }
.concept-hero-media img { width:100%; height:520px; object-fit:cover; object-position:52% 24%; }

.concept-services { min-height:124px; display:grid; grid-template-columns:70px minmax(0,1fr) 70px; align-items:stretch; background:linear-gradient(#fff,#fafbfa); border-block:1px solid var(--line); }
.services-viewport { min-width:0; overflow:hidden; }
.services-track { height:100%; display:grid; grid-auto-flow:column; grid-auto-columns:33.333333%; transition:transform 420ms ease; }
.concept-service { min-width:0; display:grid; grid-template-columns:110px 1fr; align-items:center; gap:22px; padding:22px 34px; border-right:1px solid var(--line); }
.concept-service img { width:88px; height:72px; object-fit:contain; }
.concept-service h2 { margin:0 0 8px; color:#151c17; font-family:inherit; font-size:.94rem; font-weight:800; }
.concept-service p { margin:0; color:#374239; font-size:.76rem; line-height:1.45; }
.strip-arrow { align-self:center; justify-self:center; width:42px; height:42px; overflow:hidden; border:1px solid #ced5cf; border-radius:50%; color:var(--green); background:#fff; font-size:1.75rem; font-weight:300; cursor:pointer; }
.carousel-dots { grid-column:2; display:flex; justify-content:center; gap:6px; height:0; position:relative; top:-12px; z-index:2; }
.carousel-dots button { width:8px; height:8px; padding:0; border:1px solid #b7c1b9; border-radius:50%; background:#fff; cursor:pointer; }
.carousel-dots button.active { border-color:var(--green); background:var(--green); }

.concept-services-open { padding:34px clamp(28px,4.6vw,74px) 38px; background:#f5f8f1; border-block:1px solid var(--line); }
.services-open-heading { position:relative; display:flex; flex-direction:column; align-items:center; margin:0 auto 24px; text-align:center; }
.services-open-heading .concept-eyebrow { margin-bottom:6px; }
.services-open-heading h2 { margin:0; color:#0a3216; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,2.7vw,2.8rem); line-height:1; letter-spacing:-.025em; }
.services-open-heading>a { position:absolute; right:0; bottom:2px; color:var(--green); font-size:.78rem; font-weight:800; }
.services-open-heading>a span { margin-left:8px; font-size:1rem; }
.services-open-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.service-open-card { position:relative; min-width:0; min-height:140px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:18px 14px 14px; overflow:hidden; border:1px solid #dbe3d7; border-radius:4px; background:#fff; box-shadow:0 8px 24px rgba(12,54,24,.035); text-align:center; transition:transform 170ms ease,border-color 170ms ease,box-shadow 170ms ease; }
.service-open-card:hover,.service-open-card:focus-visible { transform:translateY(-3px); border-color:#9caf93; box-shadow:0 13px 28px rgba(12,54,24,.09); outline:none; }
.service-open-card img { width:78px; height:64px; object-fit:contain; }
.service-open-card h3 { max-width:150px; margin:0; color:#123d20; font-family:inherit; font-size:.74rem; font-weight:800; line-height:1.2; }

.concept-projects { padding:20px clamp(34px,4.6vw,74px) 18px; background:#fff; }
.concept-section-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:13px; }
.concept-section-head h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:1.5rem; }
.concept-section-head a { color:var(--green); font-size:.83rem; font-weight:750; }
.concept-section-head a span { margin-left:10px; font-size:1.15rem; }
.projects-head-actions { display:flex; align-items:center; gap:8px; }
.projects-head-actions a { margin-right:8px; }
.projects-head-actions button,.review-controls button { width:30px; height:30px; display:grid; place-items:center; padding:0; border:1px solid #ccd4ce; border-radius:50%; color:var(--green); background:#fff; font-size:1.1rem; cursor:pointer; }
.projects-viewport { overflow:hidden; }
.concept-project-grid { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 54px)/4); gap:18px; transition:transform 440ms ease; }
.concept-project-grid a { min-width:0; }
.concept-project-grid img { width:100%; aspect-ratio:2/1; object-fit:cover; border-radius:3px; }
.concept-project-grid strong { display:block; margin-top:7px; font-size:.82rem; }

.concept-proof { display:grid; grid-template-columns:.7fr 1.15fr 1fr .95fr 1.15fr; min-height:238px; border-block:1px solid var(--line); background:#fff; }
.concept-proof>div,.concept-proof>article { min-width:0; border-right:1px solid var(--line); }
.concept-proof>article { display:flex; flex-direction:column; justify-content:center; padding:28px 31px; }
.concept-proof h2 { margin:0 0 15px; font-family:Georgia,"Times New Roman",serif; font-size:1.38rem; line-height:1.15; }
.proof-image img,.proof-family img { width:100%; height:100%; object-fit:cover; }
.proof-image img { object-position:58% center; }
.proof-list ul { display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.proof-list li { position:relative; padding-left:25px; font-size:.75rem; }
.proof-list li::before { content:"✓"; position:absolute; left:0; top:-2px; width:15px; height:15px; display:grid; place-items:center; color:#fff; background:var(--green); border-radius:50%; font-size:.65rem; font-weight:900; }
.google-word { color:#4285f4; font-size:1.7rem; letter-spacing:-.04em; font-weight:650; }
.google-stars { color:#f0a000; font-size:1.3rem; letter-spacing:.08em; }
.google-review p,.family-story p { margin:8px 0; font-size:.75rem; line-height:1.55; }
.google-review>strong { font-size:.74rem; }
.google-review a,.family-story a { margin-top:11px; color:var(--green); font-size:.75rem; font-weight:800; }
.reviewer-row { display:flex; align-items:center; gap:9px; min-height:38px; }
.reviewer-row img { width:34px; height:34px; flex:0 0 34px; border:2px solid #edf1ed; border-radius:50%; object-fit:cover; }
.reviewer-row strong { font-size:.74rem; }
.review-controls { display:flex; align-items:center; gap:8px; margin-top:10px; }
.review-controls button { width:25px; height:25px; font-size:.95rem; }
.review-position { min-width:34px; color:var(--muted); font-size:.68rem; text-align:center; }

.concept-quote { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; padding:54px clamp(34px,4.7vw,76px); background:#f8f8f6; }
.concept-quote-copy h2 { max-width:500px; margin:0 0 15px; color:#102016; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.4rem,3.5vw,4rem); line-height:1; }
.concept-quote-copy>p { max-width:500px; color:var(--muted); font-size:.9rem; line-height:1.6; }
.concept-quote-copy ul { display:grid; gap:8px; margin:22px 0; padding:0; list-style:none; font-size:.8rem; font-weight:700; }
.concept-quote-copy li::before { content:"✓"; margin-right:9px; color:var(--green); }
.concept-quote-copy>a { display:inline-block; color:var(--green); }
.concept-quote-copy small,.concept-quote-copy strong { display:block; }
.concept-quote-copy small { margin-bottom:3px; }
.concept-form { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; align-content:start; padding:24px; border:1px solid #e0e5e1; border-radius:7px; background:rgba(255,255,255,.86); box-shadow:0 14px 40px rgba(18,66,27,.06); }
.concept-form label { color:#263129; font-size:.7rem; font-weight:760; letter-spacing:.01em; }
.concept-form input,.concept-form select,.concept-form textarea { width:100%; min-height:42px; margin-top:6px; padding:11px 12px; border:1px solid #cbd4cd; border-radius:4px; outline:none; background:#fff; color:#172019; font:500 .78rem/1.35 inherit; transition:border-color 150ms ease,box-shadow 150ms ease; }
.concept-form input:focus,.concept-form select:focus,.concept-form textarea:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(13,66,27,.1); }
.concept-form textarea { resize:vertical; }
.concept-form-wide { grid-column:1/-1; }
.concept-email { grid-column:1/3; }
.concept-service-field { grid-column:3/5; }
.concept-upload { grid-column:1/3; align-self:end; min-height:45px; display:flex; align-items:center; justify-content:center; border:1px dashed #aeb8b0; border-radius:3px; background:#fff; cursor:pointer; }
.concept-upload input { width:auto; min-height:0; max-width:150px; margin:0 0 0 10px; padding:0; border:0; font-size:.65rem; box-shadow:none; }
.concept-form button { grid-column:3/-1; min-height:45px; align-self:end; border:0; border-radius:3px; color:#fff; background:var(--green); font-weight:800; cursor:pointer; }
.concept-form .form-status { margin:0; }

.concept-footer { display:grid; grid-template-columns:1.35fr 1fr 1fr 1fr 1fr; align-items:start; gap:clamp(26px,3vw,48px); padding:26px clamp(34px,4.7vw,76px) 22px; color:#dbe6dd; background:#0c2916; }
.concept-footer>div:first-child img { width:86px; }
.concept-footer p { max-width:330px; color:#9cb0a0; font-size:.76rem; line-height:1.55; }
.concept-footer h2 { margin:0 0 14px; color:#fff; font-family:inherit; font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; }
.concept-footer a,.concept-footer span { display:block; margin:7px 0; color:#b9c8bd; font-size:.78rem; }
.footer-concept-quote { display:inline-flex!important; min-height:42px; align-items:center; justify-content:center; padding:0 20px; color:#0c2916!important; background:#fff; border-radius:3px; font-weight:800; }
.concept-footer .concept-copyright { display:block; margin-top:9px; color:#789082; font-size:.67rem; line-height:1.35; }
.concept-footer .concept-copyright span { display:inline; margin:0; color:inherit; font-size:inherit; }

@media (max-width:1180px) {
  .concept-header { grid-template-columns:160px 1fr auto; gap:22px; padding-inline:28px; }
  .concept-header .site-nav { gap:22px; }
  .header-phone span { display:none; }
  .concept-hero { grid-template-columns:48% 52%; }
  .concept-hero h1 { font-size:4.4rem; }
  .concept-trust-row { grid-template-columns:1fr 1fr; }
  .concept-service { grid-template-columns:75px 1fr; padding-inline:20px; }
  .concept-service img { width:65px; }
  .concept-proof { grid-template-columns:.7fr 1.3fr 1fr; }
  .proof-family { grid-column:1; }
  .family-story { grid-column:2/4; }
}

@media (min-width:901px) and (max-width:1180px) {
  .concept-two { --header-height:74px; }
  .concept-header,.concept-header.is-floating { height:var(--header-height); grid-template-columns:1fr auto; padding:0 24px; }
  .concept-header .brand img,.concept-header.is-floating .brand img { width:94px; max-height:70px; }
  .concept-header .menu-button { display:inline-flex; align-items:center; justify-content:center; grid-column:2; grid-row:1; width:44px; height:44px; border-color:#d9e0da; border-radius:50%; }
  .concept-header .site-nav { position:absolute; top:100%; left:0; right:0; display:none; flex-direction:column; align-items:stretch; gap:0; padding:10px 24px 20px; background:#fff; border-block:1px solid var(--line); box-shadow:0 18px 30px rgba(17,47,25,.1); }
  .concept-header .site-nav.is-open { display:flex; }
  .concept-header .site-nav a,.concept-header.is-floating .site-nav a { justify-content:space-between; padding:15px 4px; border-bottom:1px solid #edf0ec; }
  .header-actions { display:none; }
  .concept-hero { grid-template-columns:52% 48%; height:520px; }
  .concept-hero-copy { height:520px; padding:34px 28px 0 clamp(30px,4vw,52px); }
  .concept-hero h1 { font-size:clamp(3.1rem,4.7vw,3.55rem); }
  .concept-hero-copy>p { margin-bottom:14px; font-size:.95rem; }
  .concept-hero-actions { gap:12px; margin-bottom:18px; }
  .concept-primary,.concept-secondary { min-height:46px; padding-inline:20px; }
  .concept-trust-row { grid-template-columns:repeat(4,minmax(0,1fr)); width:100%; max-width:none; min-height:86px; }
  .concept-trust-row>div { gap:7px; padding:11px 8px; font-size:.61rem; }
  .concept-trust-row>div:first-child { padding-left:0; }
  .concept-rating span { font-size:.82rem; }
  .trust-icon { width:29px; height:29px; flex-basis:29px; }
  .trust-icon-craft { width:34px; height:29px; flex-basis:34px; }
  .trust-icon-home { width:34px; height:29px; flex-basis:34px; }
  .concept-hero-media,.concept-hero-media img { height:520px; min-height:0; }
}

@media (min-width:901px) and (max-width:1100px) {
  .concept-quote { gap:38px; padding-inline:34px; }
  .concept-form { grid-template-columns:1fr 1fr; padding:20px; }
  .concept-form label,.concept-email,.concept-service-field { grid-column:auto; }
  .concept-form-wide { grid-column:1/-1!important; }
  .concept-upload { grid-column:1; }
  .concept-form button { grid-column:2; }
}

@media (min-width:901px) and (max-width:1400px) {
  .concept-trust-row { grid-template-columns:repeat(2,minmax(0,1fr)); min-height:108px; }
  .concept-trust-row>div { gap:9px; padding:9px 12px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); font-size:.66rem; }
  .concept-trust-row>div:first-child { padding-left:12px; }
  .concept-trust-row>div:nth-child(2n) { border-right:0; }
  .concept-trust-row>div:nth-last-child(-n+2) { border-bottom:0; }
  .concept-rating span { font-size:.9rem; }
}

@media (min-width:1401px) and (max-width:1800px) {
  .concept-trust-row { grid-template-columns:1.35fr repeat(3,minmax(0,1fr)); }
  .concept-trust-row>div { gap:7px; padding:14px 8px; font-size:.64rem; }
  .concept-trust-row>div:first-child { padding-left:0; }
  .concept-rating span { font-size:.88rem; }
  .trust-icon { width:29px; height:29px; flex-basis:29px; }
  .trust-icon-craft { width:34px; height:29px; flex-basis:34px; }
  .trust-icon-home { width:34px; height:29px; flex-basis:34px; }
}

@media (max-width:900px) {
  .concept-two { --header-height:74px; }
  .concept-header,.concept-header.is-floating { height:var(--header-height); grid-template-columns:1fr auto; padding:0 18px; }
  .concept-header .brand img,.concept-header.is-floating .brand img { width:92px; max-height:69px; }
  .concept-header .menu-button { display:inline-flex; align-items:center; justify-content:center; grid-column:2; grid-row:1; width:44px; height:44px; border-color:#d9e0da; border-radius:50%; }
  .concept-header .site-nav { position:absolute; top:100%; left:0; right:0; display:none; flex-direction:column; align-items:stretch; gap:0; padding:10px 20px 20px; background:#fff; border-block:1px solid var(--line); box-shadow:0 18px 30px rgba(17,47,25,.1); }
  .concept-header .site-nav.is-open { display:flex; }
  .concept-header .site-nav a,.concept-header.is-floating .site-nav a { justify-content:space-between; padding:15px 4px; border-bottom:1px solid #edf0ec; }
  .header-actions { display:none; }
  .concept-hero { grid-template-columns:1fr; height:auto; overflow:visible; }
  .concept-hero-copy { padding:60px 24px 0; }
  .concept-hero h1 { font-size:clamp(3.2rem,12vw,5.2rem); }
  .concept-hero-media { min-height:520px; }
  .concept-hero-media img { height:520px; }
  .concept-services { grid-template-columns:52px minmax(0,1fr) 52px; padding:12px 0; }
  .services-track { grid-auto-columns:100%; }
  .concept-service { grid-template-columns:80px 1fr; border-right:0; }
  .strip-arrow { display:block; width:36px; height:36px; }
  .concept-project-grid { grid-auto-columns:calc((100% - 18px)/2); }
  .concept-proof { grid-template-columns:1fr 1fr; }
  .concept-proof>div,.concept-proof>article { min-height:260px; }
  .family-story { grid-column:auto; }
  .concept-quote { grid-template-columns:1fr; }
  .concept-footer { grid-template-columns:1fr 1fr; }
}

@media (max-width:1180px) {
  .services-open-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:560px) {
  .concept-hero-copy { padding:48px 18px 0; }
  .concept-hero h1 { font-size:3.45rem; }
  .concept-hero-copy>p { font-size:1rem; }
  .concept-hero-actions { flex-direction:column; gap:10px; }
  .concept-primary,.concept-secondary { width:100%; }
  .concept-trust-row { grid-template-columns:1fr 1fr; margin-top:18px; }
  .concept-trust-row>div { padding:15px 8px; font-size:.67rem; }
  .concept-rating span { font-size:.85rem; }
  .concept-hero-media { min-height:390px; }
  .concept-hero-media img { height:390px; }
  .concept-services { grid-template-columns:42px minmax(0,1fr) 42px; padding-inline:0; }
  .concept-service { grid-template-columns:70px 1fr; padding:18px 8px; }
  .concept-projects { padding:28px 16px; }
  .concept-project-grid { grid-auto-columns:100%; gap:20px; }
  .concept-project-grid img { aspect-ratio:1.7/1; }
  .concept-proof { grid-template-columns:1fr; }
  .concept-proof>div,.concept-proof>article { min-height:auto; border-right:0; border-bottom:1px solid var(--line); }
  .proof-image,.proof-family { height:330px; }
  .concept-proof>article { padding:32px 24px; }
  .concept-quote { gap:28px; padding:48px 18px; }
  .concept-form { grid-template-columns:1fr; }
  .concept-form label,.concept-form-wide,.concept-email,.concept-service-field,.concept-upload,.concept-form button { grid-column:1; }
  .concept-form input:not([type="file"]),.concept-form select,.concept-form textarea { font-size:16px; }
  .review-controls button { width:44px; height:44px; }
  .concept-services-open { padding:30px 16px 32px; }
  .services-open-heading { align-items:flex-start; margin-bottom:20px; text-align:left; }
  .services-open-heading>a { position:static; margin-top:10px; }
  .services-open-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .service-open-card { min-height:136px; padding-inline:9px; }
  .service-open-card h3 { font-size:.7rem; }
  .concept-footer { grid-template-columns:1fr 1fr; gap:22px 28px; padding:25px 22px 20px; }
  .concept-footer>div:first-child { grid-column:1/-1; }
  .concept-footer>div:nth-child(5) { grid-column:1/-1; }
}

@media (max-width:360px) {
  .concept-hero h1 { font-size:3rem; }
}

/* Interaction polish */
.concept-two :where(a,button,input,select,textarea):focus-visible { outline:3px solid rgba(220,165,39,.62); outline-offset:3px; }
.concept-primary,.concept-secondary,.concept-header .header-quote,.concept-form button,.footer-concept-quote,.header-phone,.projects-head-actions button,.review-controls button { transition:transform 170ms ease,background-color 170ms ease,color 170ms ease,border-color 170ms ease,box-shadow 170ms ease; }
.concept-primary:hover,.concept-primary:focus-visible,.concept-header .header-quote:hover,.concept-header .header-quote:focus-visible,.concept-form button:hover,.concept-form button:focus-visible { transform:translateY(-2px); background:#082f14; border-color:#082f14; box-shadow:0 10px 22px rgba(13,66,27,.18); }
.concept-secondary:hover,.concept-secondary:focus-visible { transform:translateY(-2px); color:#fff; background:var(--green); box-shadow:0 10px 22px rgba(13,66,27,.14); }
.header-phone:hover,.header-phone:focus-visible { transform:translateY(-1px); color:#082f14; }
.concept-header .site-nav a::before { content:""; position:absolute; left:0; right:0; bottom:23px; height:2px; background:var(--green); transform:scaleX(0); transform-origin:center; transition:transform 170ms ease; }
.concept-header .site-nav a { position:relative; }
.concept-header .site-nav a:hover::before,.concept-header .site-nav a:focus-visible::before { transform:scaleX(1); }
.concept-project-grid a { transition:transform 180ms ease,color 180ms ease; }
.concept-project-grid img { transition:transform 260ms ease,box-shadow 180ms ease; }
.concept-project-grid a:hover,.concept-project-grid a:focus-visible { color:var(--green); transform:translateY(-3px); }
.concept-project-grid a:hover img,.concept-project-grid a:focus-visible img { transform:scale(1.025); box-shadow:0 12px 28px rgba(12,54,24,.14); }
.projects-head-actions button:hover,.projects-head-actions button:focus-visible,.review-controls button:hover,.review-controls button:focus-visible { color:#fff; background:var(--green); border-color:var(--green); transform:translateY(-1px); }
.concept-form input:hover,.concept-form select:hover,.concept-form textarea:hover { border-color:#9bab9f; }
.concept-form input:focus,.concept-form select:focus,.concept-form textarea:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(13,66,27,.1); }
.concept-footer a { transition:color 160ms ease,transform 160ms ease; }
.concept-footer a:hover,.concept-footer a:focus-visible { color:#fff; transform:translateX(2px); }
.services-open-heading>a,.google-review>a,.family-story>a { transition:color 160ms ease,transform 160ms ease; }
.services-open-heading>a:hover,.services-open-heading>a:focus-visible,.google-review>a:hover,.google-review>a:focus-visible,.family-story>a:hover,.family-story>a:focus-visible { color:#061f0d; transform:translateX(3px); }

@media (max-width:900px) {
  .concept-header .site-nav a::before { display:none; }
}

@media (prefers-reduced-motion:reduce) {
  .concept-header,.concept-two * { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
  .concept-two :where(a,button):hover { transform:none!important; }
}
