@keyframes heroDrift{0%{transform:translate(0,0) rotate(0deg)}to{transform:translate(-3%,2%) rotate(1deg)}}@keyframes heroDrift2{0%{transform:translate(0,0)}to{transform:translate(2%,-3%)}}@keyframes heroGlow{0%{opacity:.3;transform:scale(1)}to{opacity:.8;transform:scale(1.15)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}:root{--dark-green:#06362D;--primary-green:#033631;--cal-poly-green:#155332;--warm-gold:#bf9b42;--gold-bright:#FFD500;--cream:#F5F2E8;--off-white:#FAFAF5;--charcoal:#1a1a1a;--text-dark:#0d2920;--text-mid:#4a5e55;--text-light:#E8E4D8;--border-subtle:rgba(21,83,50,0.10);--shadow-sm:0 2px 10px rgba(6,54,45,0.06);--shadow-md:0 6px 24px rgba(6,54,45,0.10);--shadow-lg:0 14px 44px rgba(6,54,45,0.14);--font-display:'Playfair Display', Georgia, serif;--font-heading:'Montserrat', sans-serif;--font-body:'Open Sans', sans-serif;--section-pad:clamp(44px, 6vw, 80px);--container:min(92%, 1200px);--ease:cubic-bezier(0.16, 1, 0.3, 1);--bottom-nav-h:60px}*,::after,::before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:80px;overflow-x:hidden}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:.01ms!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}body,html{background:var(--primary-green);min-height:100%}body{font-family:var(--font-body);color:var(--text-dark);line-height:1.7;overflow-x:hidden;padding-bottom:var(--bottom-nav-h);-webkit-font-smoothing:antialiased}@supports (padding:max(0px)){body{padding-bottom:max(var(--bottom-nav-h),calc(var(--bottom-nav-h) + env(safe-area-inset-bottom)))}}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit}button{border:0;background:0 0;cursor:pointer;font-family:inherit}.container{width:var(--container);margin:0 auto}:where(a,button,[role=button],summary){-webkit-tap-highlight-color:transparent}:where(a,button,[role=button],summary):focus{outline:0}:where(a,button,[role=button],summary):focus-visible{outline:2px solid var(--warm-gold);outline-offset:3px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-d1{transition-delay:.1s}.reveal-d2{transition-delay:.2s}.reveal-d3{transition-delay:.3s}.header{background:var(--primary-green);padding:12px 0;position:sticky;top:0;z-index:200;box-shadow:0 2px 16px rgba(0,0,0,.18)}.header-inner{display:flex;align-items:center;gap:8px}.logo,.logo-icon{display:flex;align-items:center;flex-shrink:0}.logo{gap:10px}.logo-icon{width:36px;height:36px;background:var(--warm-gold);border-radius:3px;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:1.1rem;color:var(--dark-green);position:relative}.logo-text{display:flex;flex-direction:column}.logo-name{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--cream);line-height:1.1}.logo-tagline,.mobile-phone{color:var(--warm-gold);font-family:var(--font-heading)}.logo-tagline{font-weight:400;font-size:.64rem;letter-spacing:.18em;text-transform:uppercase}.mobile-phone{display:flex;align-items:center;gap:5px;font-weight:600;font-size:.92rem}.mobile-phone svg,.mobile-wa{width:14px;height:14px;flex-shrink:0}.mobile-wa{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid rgba(191,155,66,.3);border-radius:50%;background:rgba(191,155,66,.08);color:var(--warm-gold);transition:background .2s;-webkit-tap-highlight-color:transparent;margin-left:auto}.mobile-wa:hover{background:rgba(191,155,66,.18)}.mobile-wa .wa-icon{width:15px;height:15px}.wa-icon{width:14px;height:14px;flex-shrink:0;display:block}.header-wa{display:none;align-items:center;gap:6px;font-family:var(--font-heading);font-weight:600;font-size:.92rem;color:var(--warm-gold);padding:7px 12px;border-radius:8px;border:1px solid rgba(191,155,66,.3);background:rgba(191,155,66,.1);transition:background .2s,border-color .2s;white-space:nowrap}.header-wa:hover{background:rgba(191,155,66,.18);border-color:rgba(191,155,66,.4)}.header-wa-label{line-height:1}.mobile-menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:10px 8px;flex-shrink:0;min-width:40px;min-height:40px;margin-left:auto;-webkit-tap-highlight-color:transparent}.mobile-menu-toggle span{display:block;width:22px;height:2px;background:var(--cream);border-radius:2px;transition:all .3s var(--ease)}body.menu-open .mobile-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}body.menu-open .mobile-menu-toggle span:nth-child(2){opacity:0;transform:scaleX(0)}body.menu-open .mobile-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.desktop-nav,.header-estimate-btn{display:none}@media (min-width:1024px){.header{padding:0}.header-inner{height:72px}.logo-icon{width:40px;height:40px;font-size:1.2rem}.logo-name{font-size:1.1rem}.mobile-menu-toggle,.mobile-phone,.mobile-wa{display:none}.desktop-nav{display:flex;align-items:center;gap:8px;flex:1}.header-wa{display:inline-flex}.desktop-nav-links{display:flex;align-items:center;justify-content:center;flex:1}.desktop-nav-item{position:relative}.desktop-nav-link{height:72px;padding:0 16px;font-weight:500;font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;color:rgba(232,228,216,.75);transition:color .25s;white-space:nowrap;position:relative}.desktop-nav-link::after{content:"";position:absolute;bottom:0;left:16px;right:16px;height:2px;background:var(--warm-gold);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.desktop-nav-link:hover{color:var(--warm-gold)}.desktop-nav-link:hover::after{transform:scaleX(1)}.desktop-nav .header-phone,.desktop-nav-link{display:flex;align-items:center;font-family:var(--font-heading)}.desktop-nav .header-phone{gap:6px;color:var(--warm-gold);font-weight:600;font-size:.84rem;padding:0 12px}.desktop-nav .header-phone svg{width:14px;height:14px}.header-estimate-btn{display:inline-flex;margin-left:8px;padding:10px 18px;font-size:.7rem}}.desktop-nav-item--mega{position:static}.mega-nav{display:none;position:fixed;top:72px;left:0;right:0;background:var(--dark-green);border-top:1px solid rgba(191,155,66,.12);box-shadow:0 12px 40px rgba(0,0,0,.3);z-index:199}.desktop-nav-item--mega:focus-within .mega-nav,.desktop-nav-item--mega:hover .mega-nav{display:block}.mega-nav-inner{width:var(--container);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr) 160px;padding:28px 0 24px}.mega-nav-column{padding:0 20px;border-right:1px solid rgba(232,228,216,.06)}.mega-nav-column:last-child{border-right:none}.mega-nav-label{font-family:var(--font-heading);font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--warm-gold);margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(191,155,66,.15);white-space:nowrap}.mega-nav-column a{display:block;font-family:var(--font-heading);font-size:.82rem;color:rgba(232,228,216,.72);padding:5px 0;transition:color .2s,padding-left .2s}.mega-nav-column a:hover{color:var(--cream);padding-left:4px}.mega-nav-panel .mega-nav-label{border-bottom:none;margin-bottom:8px}.mega-nav-viewall{font-family:var(--font-heading);font-weight:600;font-size:.86rem;letter-spacing:.06em;text-transform:uppercase;color:var(--warm-gold);text-align:center;transition:opacity .2s}.mega-nav-viewall:hover{opacity:.75}.mobile-menu{position:fixed;inset:0;z-index:300;visibility:hidden;overflow:hidden}.mobile-menu[aria-hidden=false]{visibility:visible}.mobile-menu-scrim{position:absolute;inset:0;background:rgba(0,0,0,.55);opacity:0;transition:opacity .35s}.mobile-menu[aria-hidden=false] .mobile-menu-scrim{opacity:1}.mobile-menu-panel{position:absolute;top:0;right:0;width:min(88vw,360px);height:100%;background:var(--dark-green);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .4s var(--ease);overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-menu[aria-hidden=false] .mobile-menu-panel{transform:translateX(0)}.mobile-menu-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 16px;border-bottom:1px solid rgba(232,228,216,.08);flex-shrink:0}.mobile-menu-title{font-family:var(--font-heading);font-weight:700;font-size:.9rem;color:var(--cream);margin-bottom:3px}.mobile-menu-subtitle{font-size:.92rem;color:rgba(232,228,216,.5);line-height:1.4}.mobile-menu-close{width:32px;height:32px;border-radius:50%;background:rgba(232,228,216,.08);color:var(--cream);font-size:1.3rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s}.mobile-menu-close:hover{background:rgba(232,228,216,.14)}.mobile-menu-body{padding:20px;flex:1}.mobile-menu-primary{display:flex;flex-direction:column;gap:2px;margin-bottom:20px}.mobile-menu-groups summary,.mobile-menu-primary a{font-family:var(--font-heading);font-weight:600;padding:10px 12px}.mobile-menu-primary a{display:block;font-size:.9rem;color:var(--cream);border-radius:6px;transition:background .2s,color .2s}.mobile-menu-primary a:hover{background:rgba(191,155,66,.08);color:var(--warm-gold)}.mobile-menu-groups{border-top:1px solid rgba(232,228,216,.08);padding-top:16px;margin-bottom:20px}.mobile-menu-groups details{border-bottom:1px solid rgba(232,228,216,.06);padding:4px 0}.mobile-menu-groups summary{font-size:.92rem;color:rgba(232,228,216,.6);cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;text-transform:uppercase;letter-spacing:.06em}.mobile-menu-groups summary::after{content:"+";font-size:1rem;color:var(--warm-gold);font-weight:300;transition:transform .3s}.mobile-menu-groups details[open] summary::after{transform:rotate(45deg)}.mobile-menu-groups summary::-webkit-details-marker{display:none}.mobile-menu-links{padding:4px 12px 10px;display:flex;flex-direction:column;gap:2px}.mobile-menu-links a{display:block;font-size:.92rem;color:rgba(232,228,216,.7);padding:6px 8px;border-radius:4px;transition:color .2s,background .2s}.mobile-menu-links a:hover{color:var(--warm-gold);background:rgba(191,155,66,.06)}.mobile-menu-cta{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1px solid rgba(232,228,216,.08)}.mobile-menu-cta .btn{width:100%}.section-label{font-family:var(--font-heading);font-weight:700;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--warm-gold);margin-bottom:10px;display:flex;align-items:center;gap:10px}.section-label::before{content:"";width:24px;height:2px;background:var(--warm-gold);flex-shrink:0}.mobile-menu-cta .btn,.section-label--center{justify-content:center}.section-label--center::before{width:20px}.section-label--center::after{content:"";width:20px;height:2px;background:var(--warm-gold);flex-shrink:0}.section-title{font-family:var(--font-display);font-weight:700;font-size:clamp(1.75rem,4.5vw,3rem);line-height:1.1;color:var(--dark-green);margin-bottom:14px}.section-title--light{color:var(--cream)}.section-title--center{text-align:center}.section-subtitle{font-size:clamp(.9rem,2vw,1rem);line-height:1.65;color:var(--text-mid)}.section-subtitle--center{text-align:center;margin:0 auto;max-width:600px}.section-subtitle--light{color:rgba(232,228,216,.78)}.accent{color:var(--warm-gold);font-style:italic}.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-heading);font-weight:600;font-size:.92rem;letter-spacing:.06em;text-transform:uppercase;padding:14px 26px;min-height:48px;border-radius:4px;transition:all .35s var(--ease);white-space:nowrap;cursor:pointer;border:2px solid transparent}.btn-arrow{transition:transform .3s var(--ease)}.btn:hover .btn-arrow,.service-card:hover .service-card-arrow{transform:translateX(4px)}.btn--outline,.btn--primary{border-color:var(--warm-gold)}.btn--primary{background:var(--warm-gold);color:var(--dark-green);font-weight:700;box-shadow:0 4px 16px rgba(191,155,66,.35),inset 0 1px 0 rgba(255,255,255,.2)}.btn--primary:hover{background:var(--gold-bright);border-color:var(--gold-bright);transform:translateY(-2px);box-shadow:0 8px 28px rgba(191,155,66,.45),inset 0 1px 0 rgba(255,255,255,.25)}.btn--outline{background:0 0;color:var(--warm-gold)}.btn--outline:hover{background:var(--warm-gold);color:var(--dark-green)}.btn--outline-light{border-color:var(--cream);color:var(--cream)}.btn--outline-light:hover{background:var(--cream);color:var(--dark-green)}.bottom-nav,.btn--dark{background:var(--primary-green)}.btn--dark{border-color:var(--primary-green);color:var(--cream)}.btn--dark:hover{background:var(--cal-poly-green);border-color:var(--cal-poly-green);transform:translateY(-2px)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:220;border-top:1px solid rgba(191,155,66,.1);box-shadow:0-2px 12px rgba(0,0,0,.18);padding:8px 0 calc(8px + env(safe-area-inset-bottom,0))}.bottom-nav-items{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px minmax(0,1fr);align-items:end;justify-items:center;max-width:380px;margin:0 auto;padding:0 8px;gap:0 4px}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;width:100%;min-height:44px;padding:2px 0;font-family:var(--font-heading);font-weight:600;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(232,228,216,.68);text-align:center;transition:color .2s;-webkit-tap-highlight-color:transparent}.bottom-nav-item svg{flex-shrink:0}.bottom-nav-label{line-height:1.15}.bottom-nav-item.active,.bottom-nav-item:hover,.form-consent a:hover,.form-success-msg a:hover,.legal-address a:hover,.page-hero-breadcrumb a:hover,.page-hero-breadcrumb span,.service-card--cta .service-card-icon svg,a.contact-info-card:hover .contact-info-value{color:var(--warm-gold)}.bottom-nav-cta{grid-column:3;align-self:start;justify-self:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border-radius:50%;background:var(--warm-gold);color:var(--dark-green);display:flex;align-items:center;justify-content:center;transform:translateY(-8px);box-shadow:0 4px 12px rgba(191,155,66,.4);transition:transform .25s,box-shadow .25s}.bottom-nav-cta:hover{transform:translateY(-10px);box-shadow:0 6px 18px rgba(191,155,66,.5)}.bottom-nav-cta svg,.bottom-nav-item svg{width:18px;height:18px}.bottom-nav-cta .bottom-nav-label{display:none}@media (min-width:1024px){.bottom-nav{display:none}}.page-hero{background:var(--primary-green);padding:clamp(90px,14vh,140px)0 clamp(52px,8vh,80px);position:relative;overflow:hidden}.page-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1.5px 1.5px,rgba(191,155,66,.04) 1px,transparent 0);background-size:36px 36px;pointer-events:none}.page-hero .container{position:relative;z-index:2}.page-hero-breadcrumb{font-family:var(--font-heading);font-size:.86rem;font-weight:500;color:rgba(232,228,216,.5);margin-bottom:14px}.page-hero-breadcrumb a{color:rgba(232,228,216,.5);transition:color .3s}.page-hero-title{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,5vw,3.5rem);line-height:1.08;color:var(--cream);margin-bottom:14px}.page-hero-desc{font-size:1.02rem;color:rgba(232,228,216,.88);line-height:1.7;max-width:620px;margin-bottom:26px}.page-hero-actions{display:flex;gap:12px;flex-wrap:wrap}.page-hero--image .page-hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden}.page-hero--image .page-hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.18}.page-hero--image .page-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(3,54,49,.82)0,rgba(3,54,49,.65) 50%,rgba(6,54,45,.55) 100%);pointer-events:none}@media (min-width:1024px){.page-hero--image .page-hero-bg img{opacity:.22}.page-hero--image .page-hero-bg::after{background:linear-gradient(90deg,rgba(3,54,49,.88)0,rgba(3,54,49,.6) 50%,rgba(6,54,45,.3) 100%)}}.page-hero--image .page-hero-title{text-shadow:0 2px 20px rgba(3,54,49,.6)}.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;padding:60px 0;background:var(--primary-green);overflow:hidden}.hero-bg{position:absolute;inset:0;overflow:hidden;background:var(--dark-green)}.hero-bg video,.hero-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.25;display:block}.hero-bg video{opacity:.8;z-index:2;display:block}.hero-bg-layer{position:absolute;inset:-50%;width:200%;height:200%;background:radial-gradient(ellipse 600px 400px at 20% 50%,rgba(21,83,50,.15)0,transparent 70%),radial-gradient(ellipse 500px 500px at 70% 30%,rgba(6,54,45,.12)0,transparent 60%);animation:heroDrift 25s ease-in-out infinite alternate;z-index:1}.hero-bg-layer2{position:absolute;inset:-30%;width:160%;height:160%;background:radial-gradient(ellipse 500px 350px at 60% 40%,rgba(21,83,50,.2)0,transparent 60%);animation:heroDrift2 30s ease-in-out infinite alternate;z-index:1}.hero-bg-light{position:absolute;top:-20%;right:-10%;width:60%;height:80%;background:radial-gradient(ellipse at center,rgba(191,155,66,.06)0,transparent 60%);animation:heroGlow 8s ease-in-out infinite alternate}.hero-bg::after,.hero-pattern{position:absolute;inset:0;pointer-events:none}.hero-bg::after{content:"";z-index:3;background:linear-gradient(175deg,rgba(3,54,49,.25)0,rgba(3,54,49,.2) 40%,rgba(6,54,45,.65) 100%)}.hero-pattern{z-index:3;background-image:radial-gradient(circle at 1.5px 1.5px,rgba(191,155,66,.04) 1px,transparent 0);background-size:36px 36px}.hero-content{position:relative;z-index:4;width:var(--container);margin:0 auto}@media (min-width:1024px){.hero-bg::after{background:linear-gradient(90deg,rgba(3,54,49,.6)0,rgba(3,54,49,.35) 45%,rgba(6,54,45,.08) 100%)}.hero-bg video{display:block}.hero-title{max-width:700px}.hero-desc{max-width:520px}}@media (max-width:767px){.hero{min-height:92svh;align-items:flex-end;padding:110px 0 80px}}}.hero-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(191,155,66,.12);border:1px solid rgba(191,155,66,.25);border-radius:100px;padding:6px 14px;margin-bottom:20px;font-family:var(--font-heading);font-weight:600;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--warm-gold);animation:fadeUp .8s var(--ease) both}.hero-badge svg{width:12px;height:12px;flex-shrink:0}.hero-title{font-family:var(--font-display);font-weight:700;font-size:clamp(2.2rem,7vw,5rem);line-height:1.06;color:var(--cream);margin-bottom:18px;animation:fadeUp .8s .12s var(--ease) both;text-shadow:0 2px 24px rgba(3,54,49,.7),0 1px 4px rgba(0,0,0,.3)}.hero-desc{font-size:clamp(.95rem,2.2vw,1.08rem);line-height:1.7;color:rgba(232,228,216,.88);margin-bottom:30px;max-width:560px;animation:fadeUp .8s .24s var(--ease) both;text-shadow:0 1px 12px rgba(3,54,49,.6)}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;animation:fadeUp .8s .36s var(--ease) both}.hero-credential{display:inline-flex;align-items:center;gap:8px;margin-top:24px;font-family:var(--font-heading);font-weight:600;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cream);animation:fadeUp .8s .48s var(--ease) both;text-shadow:0 1px 8px rgba(3,54,49,.6)}.feature-list svg,.hero-credential-icon{width:14px;height:14px;color:var(--warm-gold);flex-shrink:0;filter:drop-shadow(0 0 3px rgba(191,155,66,.4))}.content-section{padding:var(--section-pad)0}.content-section,.content-section--cream{background:var(--cream)}.content-section--alt,.content-section--off-white{background:var(--off-white)}.split-content{display:grid;grid-template-columns:1fr;gap:40px;align-items:center}@media (min-width:768px){.split-content{grid-template-columns:1fr 1fr;gap:56px}}.split-image{border-radius:10px;overflow:hidden;aspect-ratio:4/3;position:relative}.about-image-wrapper img,.service-card-thumb img,.split-image img{width:100%;height:100%;object-fit:cover}.split-image-badge,.split-text h2{font-weight:700;color:var(--dark-green)}.split-text h2{font-family:var(--font-display);font-size:clamp(1.5rem,3.5vw,2.4rem);line-height:1.12;margin-bottom:14px}.split-text p{font-size:.95rem;color:var(--text-mid);line-height:1.7;margin-bottom:14px}.feature-list{list-style:none;margin:18px 0;display:flex;flex-direction:column;gap:10px}.feature-list li{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;color:var(--text-dark);line-height:1.5}.feature-list svg{width:17px;height:17px;margin-top:2px}.about-intro{padding:var(--section-pad)0;background:var(--off-white)}.about-intro .container{display:grid;gap:36px}@media (min-width:768px){.about-intro .container{grid-template-columns:1fr 1fr;gap:60px;align-items:center}}.about-image-wrapper{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:4/3;background:linear-gradient(135deg,var(--primary-green),var(--cal-poly-green))}.about-accent-box{position:absolute;bottom:16px;left:16px;background:var(--primary-green);color:var(--cream);padding:14px 18px;border-radius:6px;border-left:3px solid var(--warm-gold);box-shadow:0 4px 20px rgba(0,0,0,.3)}.about-accent-box .number{font-family:var(--font-display);font-weight:700;font-size:1.5rem;color:var(--warm-gold);line-height:1}.about-accent-box .label{font-family:var(--font-heading);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;margin-top:3px;opacity:.8}.about-features{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.about-feature{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#fff;border-radius:6px;border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm)}.about-feature-icon{width:32px;height:32px;border-radius:50%;background:var(--primary-green);display:flex;align-items:center;justify-content:center;flex-shrink:0}.about-feature-icon svg{width:15px;height:15px;color:var(--warm-gold)}.about-feature-text{font-family:var(--font-heading);font-weight:600;font-size:.78rem;color:var(--dark-green);line-height:1.25}.services{padding:var(--section-pad)0;background:var(--cream)}.services-header{text-align:center;margin-bottom:28px}.services-grid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width:480px){.services-grid{grid-template-columns:repeat(2,1fr);gap:14px}}@media (min-width:1024px){.services-grid{grid-template-columns:repeat(3,1fr);gap:16px}}.service-card{display:flex;align-items:center;gap:16px;padding:20px 18px;background:#fff;border:1px solid var(--border-subtle);border-left:3px solid var(--warm-gold);border-radius:10px;box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s,border-color .35s;cursor:pointer}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:rgba(191,155,66,.25)}.service-card-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--primary-green),var(--cal-poly-green));display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 3px 10px rgba(6,54,45,.18)}.service-card-icon svg{width:22px;height:22px;color:var(--warm-gold)}.service-card-content{flex:1;min-width:0}.service-card-title{font-family:var(--font-heading);font-weight:700;font-size:.92rem;color:var(--dark-green);line-height:1.2}.service-card-desc{font-size:.84rem;color:#6b7c73;line-height:1.45;margin-top:3px}.service-card-arrow{color:var(--warm-gold);transition:transform .3s var(--ease);flex-shrink:0}.service-card-arrow svg{width:16px;height:16px}.service-card--thumb{flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:hidden;position:relative;height:100%;border-left:none;border-top:3px solid var(--warm-gold)}.service-card-thumb{width:100%;aspect-ratio:16/10;overflow:hidden;background:var(--primary-green)}.service-card-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.service-card--thumb:hover .service-card-thumb img{transform:scale(1.05)}.service-card--thumb .service-card-content{padding:18px 20px 20px;flex:1;display:flex;flex-direction:column}.service-card--thumb .service-card-title{font-size:1rem;margin-bottom:6px}.service-card--thumb .service-card-desc{font-size:.86rem;flex:1}.service-card--cta-tile .service-card-content{padding:18px 20px 20px;flex:1;display:flex;flex-direction:column}.service-card--cta-tile .service-card-title{font-size:1rem;margin-bottom:6px;color:var(--dark-green)}.service-card--cta-tile .service-card-desc{font-size:.86rem;color:var(--text-mid);flex:1;margin-bottom:12px}.service-card--cta{background:linear-gradient(135deg,var(--primary-green),var(--cal-poly-green));border-color:rgba(191,155,66,.3);border-left:3px solid var(--warm-gold);color:var(--cream)}.service-card--cta:hover{border-color:rgba(191,155,66,.55)}.service-card--cta .service-card-icon{background:rgba(191,155,66,.18)}.service-card--cta .service-card-title{color:var(--cream)}.service-card--cta .service-card-desc{color:rgba(232,228,216,.72)}.services-grid{align-items:stretch}.services-grid .service-card{height:100%}.services-tier{margin-bottom:32px}.services-tier-label{font-family:var(--font-heading);font-weight:700;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--warm-gold);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid rgba(191,155,66,.15)}.featured-services{padding:var(--section-pad)0;background:var(--primary-green);position:relative;overflow:hidden}.featured-services::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1.5px 1.5px,rgba(191,155,66,.03) 1px,transparent 0);background-size:40px 40px;pointer-events:none}.featured-grid{display:grid;gap:16px;position:relative;z-index:1;margin-top:32px}@media (min-width:640px){.featured-grid{grid-template-columns:repeat(2,1fr)}.featured-grid .featured-card:first-child{grid-column:1/-1;aspect-ratio:21/9}}.featured-card{border-radius:10px;overflow:hidden;position:relative;aspect-ratio:16/10;cursor:pointer;background:linear-gradient(135deg,var(--primary-green),var(--dark-green));display:block}.featured-card-img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .6s var(--ease)}.featured-card-img--kitchen{background-image:url(/assets/photos/kitchen/IMG_3035.webp)}.featured-card-img--bathroom{background-image:url(/assets/photos/bathroom/IMG_0893.webp)}.featured-card-img--decks{background-image:url(/assets/photos/decks/IMG_4302.webp)}.featured-card:hover .featured-card-img{transform:scale(1.05)}.featured-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(3,30,25,.95)0,rgba(3,30,25,.75) 35%,rgba(6,54,45,.25) 65%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:22px 20px}.featured-card-title{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--cream);line-height:1.15;margin-bottom:8px}.featured-card-text{font-size:.86rem;color:rgba(232,228,216,.8);line-height:1.55;max-width:34ch;margin-bottom:10px}.featured-card-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-heading);font-weight:600;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:var(--warm-gold);transition:gap .3s var(--ease)}.featured-card:hover .featured-card-link{gap:12px}.process{padding:var(--section-pad)0;background:var(--off-white)}.process-header{text-align:center;margin-bottom:36px}.process-steps{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (min-width:768px){.process-steps{grid-template-columns:repeat(4,1fr)}}.process-step{background:#fff;border-radius:10px;padding:24px 20px;border:1px solid var(--border-subtle);transition:all .35s var(--ease);box-shadow:var(--shadow-sm)}.process-step:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.process-step-number{font-family:var(--font-display);font-weight:800;font-size:2rem;color:var(--warm-gold);line-height:1;margin-bottom:10px}.process-step-title{font-family:var(--font-heading);font-weight:700;font-size:.9rem;color:var(--dark-green);margin-bottom:6px;line-height:1.2}.process-step-desc{font-size:.86rem;color:var(--text-mid);line-height:1.55}.filter-tab.active,.filter-tab:hover{background:var(--primary-green);border-color:var(--primary-green);color:var(--cream);transform:translateY(-1px)}.faq-list{margin-top:28px;display:flex;flex-direction:column;gap:10px;max-width:800px;margin-left:auto;margin-right:auto}.faq-item{background:#fff;border-radius:10px;border:1px solid var(--border-subtle);overflow:hidden;transition:box-shadow .3s,border-color .3s}.faq-item.open,.faq-item:hover{box-shadow:var(--shadow-md);border-color:rgba(191,155,66,.2)}.faq-question{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px 24px;border:0;background:0 0;text-align:left;font-family:var(--font-heading);font-weight:600;font-size:.9rem;color:var(--dark-green);gap:14px;min-height:60px;line-height:1.35;cursor:pointer}.faq-question:focus-visible{outline:2px solid var(--warm-gold);outline-offset:-2px}.faq-question span{flex:1}.area-town svg,.faq-chevron{color:var(--warm-gold);flex-shrink:0}.faq-chevron{width:18px;height:18px;transition:transform .3s}.faq-item.open .faq-chevron{transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s}.faq-item.open .faq-answer{max-height:400px;padding:0 24px 20px}.area-snapshot-card p,.faq-answer p{font-size:.92rem;color:var(--text-mid);line-height:1.68}.contact-section::before,.service-area::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1.5px 1.5px,rgba(191,155,66,.025) 1px,transparent 0);background-size:32px 32px;pointer-events:none}.service-area .container{position:relative;z-index:1}.areas-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}@media (min-width:640px){.areas-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.areas-grid{grid-template-columns:repeat(5,1fr)}}.area-card{display:flex;flex-direction:column;padding:20px 18px;background:#fff;border-radius:8px;border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);transition:all .3s var(--ease);min-height:48px}.area-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--warm-gold)}.area-card-name,.area-snapshot-card h3{font-family:var(--font-heading);font-weight:700;font-size:.9rem;color:var(--dark-green);margin-bottom:4px}.area-card-sub{font-size:.86rem;color:var(--text-mid)}.contact-section{padding:var(--section-pad)0;background:var(--primary-green);position:relative}.contact-section::before{background-image:radial-gradient(circle at 1.5px 1.5px,rgba(191,155,66,.03) 1px,transparent 0);background-size:36px 36px}.contact-section .container{position:relative;z-index:1}.contact-info-icon{width:42px;height:42px;background:rgba(191,155,66,.12);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-info-icon svg{width:19px;height:19px;color:var(--warm-gold)}.contact-info-label{font-family:var(--font-heading);font-weight:700;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(232,228,216,.5);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-info-note,.contact-info-value{font-family:var(--font-heading);font-weight:600}.contact-info-value{font-size:.9rem;color:var(--cream);line-height:1.35;overflow-wrap:anywhere;transition:color .2s}a.contact-info-card--wa:hover .contact-info-value{color:#25d366}.contact-info-note{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(191,155,66,.78);line-height:1.2}.contact-info-note::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--warm-gold);box-shadow:0 0 0 2px rgba(191,155,66,.2);flex-shrink:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-group{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.form-label{font-family:var(--font-heading);font-weight:600;font-size:.76rem;color:var(--dark-green);letter-spacing:.03em}.form-input,.form-select,.form-textarea{width:100%;padding:11px 14px;border:1.5px solid rgba(21,83,50,.18);border-radius:5px;font-family:var(--font-body);font-size:.9rem;color:var(--text-dark);background:#fafafa;transition:border-color .25s,box-shadow .25s;outline:0;appearance:none;-webkit-appearance:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--warm-gold);box-shadow:0 0 0 3px rgba(191,155,66,.12);background:#fff}.form-textarea{resize:vertical;min-height:120px}.form-submit{width:100%;justify-content:center;margin-top:6px;font-size:.92rem;min-height:52px}.form-consent{font-size:.72rem;line-height:1.55;color:var(--text-mid);margin:6px 0 14px;padding:10px 14px;background:rgba(21,83,50,.04);border-left:2px solid rgba(191,155,66,.4);border-radius:4px}.form-consent a,.form-success-msg a,.legal-address a{color:var(--cal-poly-green);text-decoration:underline;font-weight:600}.form-submit.is-success{background:var(--cal-poly-green);border-color:var(--cal-poly-green);color:var(--text-light);box-shadow:none;cursor:default}.form-submit.is-success:hover{background:var(--cal-poly-green);transform:none}.form-success-msg{background:rgba(21,83,50,.08);border:1px solid rgba(21,83,50,.15);border-radius:6px;padding:14px 18px;margin-top:12px;font-size:.92rem;color:#155332;line-height:1.55;text-align:center;animation:fadeUp .4s ease both}.form-success-msg a,.legal-address a{font-weight:700}.submit-icon{width:18px;height:18px;flex-shrink:0}.stats-bar{background:var(--dark-green);padding:28px 0;border-top:1px solid rgba(191,155,66,.08);border-bottom:1px solid rgba(191,155,66,.08)}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media (max-width:639.98px){.stats-grid>div:nth-child(5){grid-column:1/-1}}@media (min-width:640px){.stats-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.stats-grid>div{background:rgba(255,255,255,.04);border:1px solid rgba(191,155,66,.12);border-radius:10px;padding:20px 14px;text-align:center;transition:background .3s}@media (min-width:1024px){.stats-grid{gap:14px}.stats-grid>div{padding:22px 18px}}.stats-grid>div:hover{background:rgba(191,155,66,.08)}.stat-num{font-family:var(--font-display);font-weight:700;font-size:clamp(1.6rem,3.5vw,2.4rem);line-height:1;color:var(--warm-gold);margin-bottom:8px}.stat-label{font-family:var(--font-heading);font-weight:600;font-size:clamp(.62rem,1vw,.72rem);letter-spacing:.12em;text-transform:uppercase;color:rgba(232,228,216,.72)}.story-grid{display:grid;gap:32px;align-items:center}@media (min-width:900px){.story-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:52px}}.story-image{border-radius:14px;overflow:hidden;box-shadow:var(--shadow-lg);background:linear-gradient(135deg,var(--primary-green),var(--cal-poly-green));aspect-ratio:4/3}.story-image img{width:100%;height:100%;object-fit:cover}.story-text h2,.testimonial-feature blockquote{font-family:var(--font-display);color:var(--dark-green);margin-bottom:16px}.story-text h2{font-weight:700;font-size:clamp(1.7rem,4vw,2.7rem);line-height:1.12}.story-text p{font-size:.96rem;color:var(--text-mid);line-height:1.75;margin-bottom:14px}.section-title--guides{margin-bottom:24px}.values-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:28px}@media (min-width:640px){.values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.value-card{background:#fff;border:1px solid var(--border-subtle);border-radius:12px;padding:24px 22px;box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s}.value-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.value-card-icon{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--primary-green),var(--cal-poly-green));display:flex;align-items:center;justify-content:center;color:var(--warm-gold);margin-bottom:14px}.faq-list--icons .faq-icon svg,.value-card-icon svg{width:22px;height:22px}.feature-card h3,.value-card h3{font-family:var(--font-heading);font-weight:700;font-size:1rem;color:var(--dark-green);margin-bottom:8px}.feature-card p,.value-card p{font-size:.92rem;color:var(--text-mid);line-height:1.65}.feature-card:hover,.related-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.related-services{padding:clamp(40px,6vw,60px)0;background:var(--off-white)}.related-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:20px}@media (min-width:640px){.related-grid{grid-template-columns:repeat(3,1fr)}}.related-card{display:flex;align-items:center;gap:12px;padding:16px 18px;background:#fff;border-radius:8px;border:1px solid var(--border-subtle);transition:all .3s var(--ease);box-shadow:var(--shadow-sm)}.related-card:hover{transform:translateY(-2px);border-color:var(--warm-gold)}.related-card-name{font-family:var(--font-heading);font-weight:700;font-size:.9rem;color:var(--dark-green);flex:1}.related-card-arrow{color:var(--warm-gold);transition:transform .3s}.mini-list a:hover,.related-card:hover .related-card-arrow{transform:translateX(3px)}.project-hero-img{border-radius:14px;overflow:hidden;margin-top:28px;aspect-ratio:16/9;background:var(--dark-green)}.gallery-item img,.project-hero-img img{width:100%;height:100%;object-fit:cover}.project-detail-stack{margin-top:28px;display:grid;gap:16px}.project-detail-card{background:#fff;border-radius:8px;padding:18px 20px;border:1px solid rgba(21,83,50,.08);box-shadow:var(--shadow-sm)}.project-detail-title{font-family:var(--font-heading);font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--warm-gold);margin-bottom:6px}.project-detail-card p{font-size:.92rem;color:#5a6b63;line-height:1.6;margin:0}.cta-banner{background:var(--primary-green);padding:clamp(40px,6vw,64px)0;text-align:center;position:relative;overflow:hidden}.conversion-rail::before,.cta-banner::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1.5px 1.5px,rgba(191,155,66,.04) 1px,transparent 0);background-size:36px 36px;pointer-events:none}.cta-banner .container{position:relative;z-index:2}.cta-banner h2{font-family:var(--font-display);font-weight:700;font-size:clamp(1.5rem,3.5vw,2.5rem);color:var(--cream);margin-bottom:12px}.cta-banner p{font-size:.95rem;color:rgba(232,228,216,.78);margin-bottom:26px;max-width:500px;margin-left:auto;margin-right:auto;line-height:1.6}.cta-banner-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.guide-content,.legal-content{max-width:740px;margin:0 auto}.guide-content h2,.legal-content h2{font-size:clamp(1.4rem,3vw,2rem);color:var(--dark-green);margin:36px 0 12px}.guide-content p,.legal-content p{font-size:.95rem;color:var(--text-mid);line-height:1.75;margin-bottom:14px}.guide-content ol,.guide-content ul,.legal-content ol,.legal-content ul{padding-left:22px;margin-bottom:14px}.guide-content li,.legal-content li{font-size:.9rem;color:var(--text-mid);line-height:1.7;margin-bottom:6px}.legal-card{background:#fff;border:1px solid var(--border-subtle);border-radius:12px;box-shadow:var(--shadow-sm);padding:clamp(28px,4vw,40px)}.legal-address{display:block;margin-top:14px;padding:18px 20px;background:var(--off-white);border-left:3px solid var(--warm-gold);border-radius:6px;font-style:normal;font-size:.92rem;line-height:1.7;color:var(--text-dark)}.legal-address strong{display:block;color:var(--dark-green);font-size:.96rem;margin-bottom:4px}.legal-address a{font-weight:600}.conversion-rail h3,.guide-content h2,.legal-content h2,.module-card h3{font-family:var(--font-display);font-weight:700}.footer{background:var(--dark-green);padding:56px 0 0;border-top:3px solid var(--warm-gold)}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px;padding-bottom:32px;border-bottom:1px solid rgba(232,228,216,.08)}@media (min-width:768px){.footer-grid{grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:32px 48px}}@media (max-width:767px){.footer-grid>.footer-brand{grid-column:1/-1}}.footer-brand .logo-name{font-family:var(--font-display);font-weight:700;font-size:1.1rem;color:var(--cream)}.footer-brand .logo-tagline,.footer-links a:hover,a.footer-contact-line:hover{color:var(--warm-gold)}.footer-desc{font-size:.84rem;color:rgba(232,228,216,.58);margin-top:12px;line-height:1.6;max-width:300px}.footer-contact{display:flex;flex-direction:column;gap:4px;margin-top:14px;font-style:normal}.footer-contact-line{font-size:.84rem;color:rgba(232,228,216,.7);line-height:1.5;transition:color .2s}.footer-heading{font-family:var(--font-heading);font-weight:700;font-size:.92rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cream);margin-bottom:12px}.footer-links{list-style:none;display:flex;flex-direction:column;gap:8px}.footer-links a{font-size:.86rem;color:rgba(232,228,216,.58);transition:color .25s}.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;padding:20px 0 16px;font-size:.92rem;color:rgba(232,228,216,.42)}.section-flush-top{padding-top:0}.conversion-rail{background:var(--primary-green);border-radius:14px;display:grid;gap:24px;align-items:center;position:relative;overflow:hidden}@media (min-width:768px){.conversion-rail{grid-template-columns:1fr auto;gap:40px}}.conversion-rail-actions,.conversion-rail-copy{position:relative;z-index:1}.conversion-rail h3{color:var(--cream)}.conversion-rail p{color:rgba(232,228,216,.8);line-height:1.6}.conversion-rail-actions{display:flex;flex-wrap:wrap}.service-area-note{text-align:center;font-size:.92rem;color:var(--text-mid);margin-top:20px}.service-area-note a{color:var(--warm-gold);font-weight:600}.content-narrow{max-width:740px}.content-narrow h2,.process-inline h3{font-weight:700;color:var(--dark-green)}.content-narrow h2{font-family:var(--font-display);font-size:clamp(1.5rem,3.5vw,2.4rem);line-height:1.12;margin-bottom:14px}.content-narrow p{font-size:.95rem;color:var(--text-mid);line-height:1.75;margin-bottom:16px}.area-services .service-card{padding:22px 20px;gap:14px}.area-services .service-card-icon{width:42px;height:42px;border-radius:10px}.area-services .service-card-title{font-size:.92rem}.area-services .service-card-desc{font-size:.92rem;margin-top:4px}.areas-grid--compact .area-card{padding:16px 14px;border-left:3px solid var(--warm-gold)}.areas-grid--compact .area-card-name{font-size:.9rem}.process-inline{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}@media (min-width:768px){.process-inline{grid-template-columns:repeat(4,1fr)}}.process-inline .process-step{background:#fff;border-radius:10px;padding:24px 20px;border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);transition:all .35s var(--ease)}.process-inline .process-step:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.process-step-num{font-family:var(--font-display);font-weight:800;font-size:2rem;color:var(--warm-gold);line-height:1;margin-bottom:10px}.process-inline h3{font-family:var(--font-heading);font-size:.92rem;margin-bottom:6px}.process-inline p{font-size:.92rem;color:var(--text-mid);line-height:1.55}.areas-grid--compact{margin-top:16px}@media (min-width:640px){.areas-grid--compact{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.areas-grid--compact{grid-template-columns:repeat(5,1fr)}}.areas-grid--compact .area-card{transition:all .3s var(--ease)}.faq-section .section-title{margin-bottom:20px}.faq-section{padding-top:clamp(36px,5vw,60px)}.expect-block .section-title{margin-bottom:0}.mega-nav-column--cta{border-right:none;padding:0 12px}.contact-page-main{background:var(--cream)}.contact-section--hero{padding-top:clamp(100px,14vh,150px)}.contact-section--hero .page-hero-breadcrumb{margin-bottom:20px}.contact-detail-note{flex-basis:100%;display:inline-flex;align-items:center;gap:6px;margin-top:2px;margin-left:50px;font-family:var(--font-heading);font-weight:600;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--warm-gold)}.contact-detail-note::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--warm-gold);box-shadow:0 0 0 3px rgba(191,155,66,.18);flex-shrink:0}.contact-detail--wa .contact-detail-label,.contact-info-card.contact-info-card--wa .contact-info-icon svg{color:#25d366}.section-intro-center,.text-center{text-align:center}.section-intro-center .section-subtitle{margin-left:auto;margin-right:auto}.center-cta,.center-cta--lg{margin-top:24px;text-align:center}.center-cta--lg{margin-top:28px}.stack-top-16{margin-top:16px}.stack-top-20{margin-top:20px}.stack-top-32{margin-top:32px}.page-hero~main .content-section .section-label,.page-hero~main .content-section .section-title,main>.content-section .section-label,main>.content-section>.container>.reveal:first-child .section-label,main>.content-section>.container>.reveal:first-child .section-title{text-align:center}main>.content-section>.container>.reveal.section-intro-center,main>.content-section>.container>.reveal:has(>.section-label+h2.section-title){text-align:center;margin-left:auto;margin-right:auto;max-width:780px}main>.content-section>.container>.reveal.conversion-rail,main>.content-section>.container>.reveal.split-content{max-width:none;text-align:left}main>.content-section>.container>.reveal:first-child .section-label{display:inline-block}main>.content-section>.container>.split-content .section-label,main>.content-section>.container>.split-content .section-title,main>.content-section>.container>.split-content h2{text-align:left}.expect-block .container>.reveal:first-child,.faq-section .container>.reveal:first-child{text-align:center;max-width:780px;margin-left:auto;margin-right:auto}.expect-block .section-label,.faq-section .section-label{display:inline-block}.faq-section .faq-list{max-width:800px;margin-left:auto;margin-right:auto}main>.content-section .section-intro-center{margin-bottom:32px}main>.content-section{padding:clamp(48px,6vw,88px)0}main>.content-section.content-section--alt{background:var(--off-white)}.faq-section--icons{background:var(--cream)}.faq-list--icons{display:flex;flex-direction:column;gap:14px;max-width:820px;margin:36px auto 0}.faq-list--icons .faq-item{background:#fff;border:1px solid var(--border-subtle);border-radius:14px;box-shadow:0 2px 10px rgba(6,54,45,.05);overflow:hidden;transition:box-shadow .3s,border-color .3s,transform .3s}.faq-list--icons .faq-item.open,.faq-list--icons .faq-item:hover{box-shadow:0 8px 28px rgba(6,54,45,.1);border-color:rgba(191,155,66,.3)}.faq-list--icons .faq-question{display:flex;align-items:center;gap:18px;width:100%;padding:20px 22px;background:0 0;border:0;text-align:left;cursor:pointer;font-family:var(--font-heading);font-weight:700;color:var(--dark-green);font-size:1rem;line-height:1.35}.faq-list--icons .faq-question:focus-visible{outline:2px solid var(--warm-gold);outline-offset:-2px}.faq-list--icons .faq-icon{flex:none;width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,rgba(191,155,66,.18),rgba(191,155,66,.08));display:flex;align-items:center;justify-content:center;color:var(--primary-green);transition:background .3s,transform .3s}.faq-list--icons .faq-item.open .faq-icon,.faq-list--icons .faq-item:hover .faq-icon{background:linear-gradient(135deg,var(--primary-green),var(--cal-poly-green, #0c4a3c));color:var(--warm-gold)}.faq-list--icons .faq-q-text{flex:1;min-width:0}.faq-list--icons .faq-chevron{width:18px;height:18px;color:var(--warm-gold);transition:transform .35s ease;flex-shrink:0}.faq-list--icons .faq-item.open .faq-chevron{transform:rotate(180deg)}.faq-list--icons .faq-answer{max-height:0;overflow:hidden;transition:max-height .45s ease,padding .3s ease;padding:0 22px}.faq-list--icons .faq-item.open .faq-answer{max-height:500px;padding:0 22px 22px 88px}.faq-list--icons .faq-answer p{font-size:.95rem;color:var(--text-mid);line-height:1.7;margin:0}@media (max-width:600px){.faq-list--icons .faq-question{padding:16px 18px;gap:14px;font-size:.95rem}.faq-list--icons .faq-icon{width:42px;height:42px;border-radius:10px}.faq-list--icons .faq-icon svg{width:20px;height:20px}.faq-list--icons .faq-item.open .faq-answer{padding:0 18px 18px}}@media (min-width:1024px){.header-estimate-btn{padding:7px 14px;font-size:.72rem;min-height:36px;letter-spacing:.04em;margin-left:8px;box-shadow:0 2px 10px rgba(191,155,66,.25)}.header-estimate-btn:hover{transform:none;box-shadow:0 4px 14px rgba(191,155,66,.4)}.desktop-nav .header-phone{padding:0 10px;font-size:.82rem}.header-wa{padding:7px 14px;font-size:.75rem;min-height:36px}}.contact-section .contact-grid{display:grid;gap:40px}@media (min-width:992px){.contact-section .contact-grid{grid-template-columns:1fr 1.15fr;gap:48px;align-items:stretch}.contact-section .contact-grid>div:first-child{display:flex;flex-direction:column;min-width:0}.contact-section .contact-grid>div:first-child .contact-info-cards{flex:1;grid-auto-rows:1fr;min-height:0}}.contact-section .section-label{color:var(--warm-gold);display:inline-block;margin-bottom:14px}.contact-section .section-title--light{color:var(--cream);margin-bottom:14px}.contact-section .section-subtitle--light{color:rgba(232,228,216,.75);margin-bottom:32px;max-width:480px}.contact-info-cards{display:grid;grid-template-columns:1fr;gap:10px;margin-top:8px}@media (min-width:560px) and (max-width:991.98px){.contact-info-cards{grid-template-columns:1fr 1fr;gap:14px}}.contact-info-card{display:flex;align-items:center;gap:14px;padding:16px 20px;background:rgba(255,255,255,.04);border-radius:12px;border:1px solid rgba(191,155,66,.15);transition:background .25s,border-color .25s,transform .25s;text-decoration:none}.contact-info-card:hover{background:rgba(191,155,66,.09);border-color:rgba(191,155,66,.35);transform:translateY(-2px)}.contact-info-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.contact-info-card.contact-info-card--wa .contact-info-icon{background:rgba(37,211,102,.16)}.contact-form-wrapper{background:var(--cream);padding:clamp(28px,4vw,44px);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.25),0 0 0 1px rgba(191,155,66,.2)}.contact-form-title{font-family:var(--font-display);font-weight:700;font-size:clamp(1.4rem,2.4vw,1.75rem);color:var(--dark-green);margin-bottom:4px;line-height:1.2}.contact-form-subtitle{font-size:.92rem;color:var(--text-mid);margin-bottom:24px}@media (hover:none),(pointer:coarse){.btn:hover .btn-arrow,.featured-card:hover .featured-card-link,.related-card:hover .related-card-arrow,.service-card:hover .service-card-arrow{transform:none;gap:6px}.btn--primary:hover{background:var(--warm-gold);border-color:var(--warm-gold);transform:none;box-shadow:0 4px 16px rgba(191,155,66,.35),inset 0 1px 0 rgba(255,255,255,.2)}.btn--outline:hover{background:0 0;color:var(--warm-gold)}.btn--outline-light:hover{background:0 0;color:var(--cream)}.btn--dark:hover{background:var(--primary-green);border-color:var(--primary-green);transform:none}.area-card:hover,.faq-item:hover,.faq-list--icons .faq-item:hover,.feature-card:hover,.portfolio-card:hover,.process-inline .process-step:hover,.process-step:hover,.related-card:hover,.service-card:hover,.stats-grid>div:hover,.value-card:hover{transform:none;box-shadow:var(--shadow-sm)}.area-card:hover,.faq-item:hover,.related-card:hover,.service-card:hover{border-color:var(--border-subtle)}.service-card--cta:hover{border-color:rgba(191,155,66,.3)}.area-town:hover,.featured-card:hover .featured-card-img,.gallery-item:hover img,.mini-list a:hover,.portfolio-card:hover img,.service-card--cta-tile:hover .service-card-thumb--cta img,.service-card--thumb:hover .service-card-thumb img{transform:none}.footer-links a:hover,.form-consent a:hover,.form-success-msg a:hover,.legal-address a:hover,.page-hero-breadcrumb a:hover,a.contact-info-card:hover .contact-info-value,a.footer-contact-line:hover{color:inherit}a.contact-info-card--wa:hover .contact-info-value{color:var(--cream)}}.conversion-rail{padding:clamp(36px,5vw,56px)}.conversion-rail-copy{max-width:520px}.conversion-rail h3{font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.15;margin-bottom:12px}.conversion-rail p{font-size:1rem;max-width:none}.conversion-rail-actions{gap:12px;align-items:center}.service-leadform .contact-grid{align-items:stretch}@media (max-width:479.98px){.form-row{grid-template-columns:1fr}.services-grid .service-card--thumb .service-card-thumb{aspect-ratio:3/2}.page-hero-actions{flex-direction:column}.page-hero-actions .btn{width:100%;justify-content:center}}@media (max-width:559.98px){.contact-info-cards{grid-template-columns:1fr!important;gap:10px}.contact-info-card{padding:14px 18px;gap:14px}.contact-info-card .contact-info-icon{width:40px;height:40px;min-width:40px}.contact-info-card .contact-info-icon svg{width:18px;height:18px}.contact-info-value{font-size:.88rem}}@media (min-width:480px) and (max-width:767.98px){.process-inline{grid-template-columns:repeat(2,1fr)}}
@media (max-width:1023.98px){.mobile-wa{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:50%;border:1px solid rgba(191,155,66,.3);background:rgba(191,155,66,.08);color:var(--warm-gold);transition:background .2s,border-color .2s;-webkit-tap-highlight-color:transparent;margin-left:auto;flex-shrink:0}.mobile-wa-label{display:none}.mobile-wa .wa-icon{width:14px;height:14px;flex-shrink:0}.mobile-wa-label{line-height:1}.mobile-wa:hover{background:rgba(191,155,66,.18);border-color:rgba(191,155,66,.4)}}.bottom-nav-items{grid-template-columns:repeat(2,minmax(0,1fr)) 44px repeat(2,minmax(0,1fr));max-width:400px}.map-frame{max-width:960px;margin:0 auto}.map-frame-inner{border-radius:14px;overflow:hidden;box-shadow:0 8px 32px rgba(6,54,45,.12);border:1px solid rgba(191,155,66,.15);border-top:3px solid var(--warm-gold);aspect-ratio:16/9;background:var(--primary-green)}.map-frame-caption{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:14px;font-family:var(--font-heading);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mid);opacity:.7}
@media (max-width:767px){.featured-card:first-child{aspect-ratio:16/9}}@media (max-width:359.98px){.hero-credential{font-size:.62rem;letter-spacing:.06em;gap:5px}}.logo:focus,.logo:focus-visible{outline:none}.form-thanks{background:linear-gradient(135deg,var(--primary-green),var(--dark-green));color:var(--cream);border:1px solid rgba(191,155,66,.3);border-top:3px solid var(--warm-gold);border-radius:14px;padding:clamp(32px,5vw,56px) clamp(24px,4vw,44px);text-align:center;box-shadow:0 14px 44px rgba(6,54,45,.18);animation:fadeUp .6s var(--ease) both}.form-thanks-icon{width:64px;height:64px;margin:0 auto 20px;border-radius:50%;background:rgba(191,155,66,.18);border:2px solid var(--warm-gold);display:flex;align-items:center;justify-content:center;color:var(--warm-gold)}.form-thanks-icon svg{width:30px;height:30px}.form-thanks h3{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2rem);font-weight:700;margin:0 0 10px;color:var(--cream)}.form-thanks p{font-size:.98rem;line-height:1.6;color:rgba(232,228,216,.85);max-width:420px;margin:0 auto 8px}.form-thanks-meta{font-size:.82rem;color:rgba(232,228,216,.6);margin-top:18px;letter-spacing:.02em}.form-thanks-meta a{color:var(--warm-gold);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(191,155,66,.3);transition:border-color .2s}.form-thanks-meta a:hover{border-color:var(--warm-gold)}.form-error-msg{margin-top:14px;padding:12px 16px;background:rgba(220,60,60,.08);border:1px solid rgba(220,60,60,.25);border-radius:8px;color:#c33;font-size:.88rem;font-family:var(--font-heading);font-weight:600}.header-wa,.mobile-wa,.contact-info-card--wa,.header-wa-label,.mobile-wa-label,.wa-icon{display:none!important}