/* GreenGo Roofing design system — scoped from the source site (styles.css + interior.css). */
:root{--ink: #142019;--forest: #173c2a;--forest-2: #0d2b1d;--green: #35a832;--lime: #9ada27;--orange: #f28c18;--sand: #f4efe4;--cream: #fbf9f4;--line: #d8ddcf;--white: #fff;--shadow: 0 24px 70px rgba(20,32,25, .14);--radius: 22px;--shell: min(1240px, calc(100vw - 40px))}
*{box-sizing: border-box}
html{scroll-behavior: smooth}
body, body #page-container{margin: 0;color: var(--ink);background: var(--cream);font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;line-height: 1.55}
#page-container img{max-width: 100%;display: block}
#page-container a{color: inherit;text-decoration: none}
#page-container button, #page-container input, #page-container select, #page-container textarea{font: inherit}
#page-container .shell{width: var(--shell);margin-inline: auto}
#page-container .topbar{background: var(--forest-2);color: #e9f1e5;font-size: .78rem;letter-spacing: .035em}
#page-container .topbar-inner{min-height: 34px;display: flex;align-items: center;justify-content: space-between;gap: 20px}
#page-container .topbar p{margin: 0}
#page-container .topbar a{font-weight: 800}
#page-container .phone-dot{display: inline-block;width: 7px;height: 7px;margin-right: 7px;background: var(--lime);border-radius: 50%;box-shadow: 0 0 0 4px rgba(154,218,39, .16)}
#page-container .button{display: inline-flex;min-height: 50px;align-items: center;justify-content: center;gap: 14px;padding: 0 22px;border-radius: 999px;font-size: .88rem;font-weight: 850;letter-spacing: .005em;transition: transform .2s, background .2s, color .2s;border: 1px solid transparent}
#page-container .button:hover{transform: translateY(-2px)}
#page-container .button-primary{color: #123019;background: var(--lime);box-shadow: 0 14px 30px rgba(154,218,39, .18)}
#page-container .button-primary:hover{background: #b3ec48}
#page-container .button-ghost{color: #fff;border-color: rgba(255,255,255, .45);background: rgba(255,255,255, .04)}
#page-container .button-dark{color: #fff;background: var(--forest)}
#page-container .button-light{color: var(--forest);background: #fff}
#page-container .hero{position: relative;min-height: 700px;display: grid;align-items: center;overflow: hidden;color: #fff;background-color: #193528}
#page-container .hero-grid{position: relative;z-index: 2;display: grid;grid-template-columns: minmax(0,1.25fr) minmax(330px, .55fr);gap: 80px;align-items: end;padding-block: 92px 105px}
#page-container .hero-copy{max-width: 780px}
#page-container .eyebrow{margin: 0 0 15px;color: #5c7b65;font-size: .75rem;font-weight: 900;letter-spacing: .16em;text-transform: uppercase}
#page-container .eyebrow-light{color: var(--lime)}
#page-container .hero h1{margin: 0;max-width: 820px;font-size: clamp(3.2rem, 6vw, 6.4rem);line-height: .94;letter-spacing: -.055em;text-wrap: balance}
#page-container .hero-lede{max-width: 680px;margin: 28px 0 0;color: #e2ebe4;font-size: clamp(1rem, 1.45vw, 1.22rem)}
#page-container .hero-actions{margin-top: 34px;display: flex;gap: 12px;flex-wrap: wrap}
#page-container .hero-checks{list-style: none;margin: 27px 0 0;padding: 0;display: flex;flex-wrap: wrap;gap: 12px 26px;color: #dce8de;font-size: .82rem;font-weight: 700}
#page-container .hero-checks li::before{content: "✓";color: var(--lime);margin-right: 8px}
#page-container .hero-card{align-self: end;padding: 24px;background: rgba(255,255,255, .94);color: var(--ink);border-radius: var(--radius);box-shadow: var(--shadow)}
#page-container .hero-card-top{display: flex;gap: 16px;align-items: flex-start}
#page-container .award-mark{width: 43px;height: 43px;flex: 0 0 auto;display: grid;place-items: center;border-radius: 50%;color: #fff;background: var(--orange)}
#page-container .hero-card h2{margin: 2px 0 0;font-size: 1.35rem;line-height: 1.12;letter-spacing: -.025em}
#page-container .micro{margin: 0;color: #708078;text-transform: uppercase;font-size: .64rem;font-weight: 900;letter-spacing: .13em}
#page-container .hero-proof-grid{margin: 23px 0 18px;padding: 20px 0;display: grid;grid-template-columns: 1fr 1fr;gap: 18px;border-top: 1px solid var(--line);border-bottom: 1px solid var(--line)}
#page-container .hero-proof-grid div{display: flex;flex-direction: column}
#page-container .hero-proof-grid strong{color: var(--forest);font-size: 1.35rem;line-height: 1}
#page-container .hero-proof-grid span{margin-top: 5px;color: #617067;font-size: .69rem;line-height: 1.2}
#page-container .hero-card a{color: var(--forest);font-size: .78rem;font-weight: 900}
#page-container .hero-card a span{float: right}
#page-container .proof-kicker{display: block;margin-bottom: 6px;color: var(--orange);font-size: .7rem;font-weight: 900;letter-spacing: .14em;text-transform: uppercase}
#page-container .achievements{position: relative;z-index: 3;padding-block: 72px;background: #fff;border-bottom: 1px solid var(--line)}
#page-container .achievements-head{display: grid;grid-template-columns: 1.15fr .85fr;gap: 70px;align-items: end}
#page-container .achievements-head h2{max-width: 720px;margin: 8px 0 0;color: var(--forest);font-size: clamp(2.1rem,3.6vw,3.9rem);line-height: 1;letter-spacing: -.05em;text-wrap: balance}
#page-container .achievements-head p{max-width: 520px;margin: 0;color: #66736b}
#page-container .achievement-grid{margin-top: 38px;display: grid;grid-template-columns: repeat(6,1fr);gap: 12px}
#page-container .achievement-card{min-width: 0;min-height: 238px;padding: 22px 15px 19px;display: flex;flex-direction: column;align-items: center;justify-content: space-between;gap: 18px;border: 1px solid var(--line);border-radius: 16px;background: #fbfcf8;text-align: center}
#page-container .achievement-card img{width: 100%;height: 118px;object-fit: contain}
#page-container .achievement-card strong{display: block;color: var(--forest);font-size: .84rem;line-height: 1.2}
#page-container .achievement-card span{display: block;margin-top: 5px;color: #6c776f;font-size: .67rem;line-height: 1.35}
#page-container .section-pad{padding-block: 120px}
#page-container .section-heading{margin-bottom: 48px}
#page-container .section-heading h2, #page-container .decision-copy h2, #page-container .award-copy h2, #page-container .estimate-copy h2{margin: 0;font-size: clamp(2.3rem, 4.2vw, 4.5rem);line-height: .98;letter-spacing: -.052em;text-wrap: balance}
#page-container .split-heading{display: grid;grid-template-columns: 1.4fr .6fr;gap: 80px;align-items: end}
#page-container .split-heading p{margin: 0;color: #68746c;font-size: 1rem}
#page-container .centered{text-align: center;max-width: 850px;margin-inline: auto}
#page-container .services{background: var(--cream)}
#page-container .service-grid{display: grid;grid-template-columns: repeat(12, 1fr);gap: 18px}
#page-container .service-card{position: relative;min-height: 310px;grid-column: span 4;padding: 27px;overflow: hidden;background: #fff;border: 1px solid #e1e4da;border-radius: var(--radius);transition: transform .25s, box-shadow .25s, border-color .25s}
#page-container .service-card:hover{transform: translateY(-6px);box-shadow: var(--shadow);border-color: transparent}
#page-container .service-card.featured{min-height: 385px;grid-column: span 6;background: var(--forest);color: #fff}
#page-container .service-card:nth-child(2){grid-column: span 3}
#page-container .service-card:nth-child(3){grid-column: span 3;background: #eef5e7}
#page-container .service-card:nth-child(4){grid-column: span 5}
#page-container .service-card.image-card{min-height: 360px;grid-column: span 7;padding: 0;border: 0;color: #fff}
#page-container .service-number{position: absolute;top: 22px;right: 24px;color: #aab6ad;font-size: .73rem;font-weight: 900;letter-spacing: .1em}
#page-container .featured .service-number{color: rgba(255,255,255, .45)}
#page-container .service-content{position: relative;z-index: 2;height: 100%;display: flex;flex-direction: column;align-items: flex-start}
#page-container .service-label{margin: 0 0 14px;color: var(--orange);font-size: .66rem;font-weight: 900;letter-spacing: .13em;text-transform: uppercase}
#page-container .service-card h3{margin: auto 0 12px;font-size: clamp(1.65rem, 2.8vw, 2.8rem);line-height: 1;letter-spacing: -.04em}
#page-container .service-card p:not(.service-label){margin: 0;max-width: 420px;color: #66736b;font-size: .88rem}
#page-container .service-card.featured p:not(.service-label){color: #d5e2d8}
#page-container .service-card span{margin-top: 24px;color: var(--green);font-weight: 900;font-size: .8rem}
#page-container .service-card.featured span{color: var(--lime)}
#page-container .photo-service-card{padding: 0;border: 0;color: #fff;background: var(--forest)}
#page-container .photo-service-card img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;transition: transform .5s ease}
#page-container .photo-service-card::after{content: "";position: absolute;inset: 0;z-index: 1;background: linear-gradient(0deg, rgba(7,29,19, .96) 0%, rgba(7,29,19, .76) 48%, rgba(7,29,19, .2) 100%)}
#page-container .photo-service-card:hover img{transform: scale(1.045)}
#page-container .photo-service-card .service-content{padding: 27px}
#page-container .photo-service-card .service-number{z-index: 3;color: rgba(255,255,255, .7)}
#page-container .photo-service-card p:not(.service-label), #page-container .photo-service-card.featured p:not(.service-label){color: #e2ebe4}
#page-container .photo-service-card span, #page-container .photo-service-card.featured span{color: var(--lime)}
#page-container .photo-service-card h3{white-space: nowrap}
#page-container .service-card:nth-child(2) h3, #page-container .service-card:nth-child(3) h3{font-size: clamp(1.45rem,2.05vw,2rem)}
#page-container .image-card img{width: 100%;height: 100%;object-fit: cover}
#page-container .image-card-overlay{position: absolute;inset: 0;z-index: 2;padding: 28px;display: flex;flex-direction: column;align-items: flex-start;justify-content: flex-end;background: linear-gradient(0deg, rgba(9,29,20, .92), rgba(9,29,20, .05) 75%)}
#page-container .image-card-overlay h3{margin: 0 0 12px}
#page-container .image-card-overlay p:not(.service-label){color: #e2ebe4}
#page-container .image-card-overlay span{color: var(--lime)}
#page-container .decision-section{background: #fff}
#page-container .decision-grid{display: grid;grid-template-columns: 1fr 1fr;gap: 90px;align-items: center}
#page-container .decision-image{position: relative;min-height: 680px}
#page-container .decision-image img{width: 100%;height: 680px;object-fit: cover;border-radius: var(--radius)}
#page-container .image-note{position: absolute;right: -28px;bottom: 36px;width: 245px;padding: 22px;background: var(--orange);color: #fff;border-radius: 15px;box-shadow: var(--shadow)}
#page-container .image-note span{display: block;font-size: .68rem;font-weight: 900;text-transform: uppercase;letter-spacing: .14em}
#page-container .image-note strong{display: block;margin-top: 5px;font-size: 1.35rem;line-height: 1.1}
#page-container .decision-copy .lead{margin: 26px 0 30px;color: #647068;font-size: 1rem}
#page-container .layer-list{list-style: none;margin: 0;padding: 0;border-top: 1px solid var(--line)}
#page-container .layer-list li{display: grid;grid-template-columns: 42px 1fr;gap: 16px;padding: 19px 0;border-bottom: 1px solid var(--line)}
#page-container .layer-list li span{width: 34px;height: 34px;display: grid;place-items: center;border-radius: 50%;color: var(--forest);background: #eaf6df;font-size: .72rem;font-weight: 900}
#page-container .layer-list strong{font-size: .98rem}
#page-container .layer-list p{margin: 3px 0 0;color: #6a746e;font-size: .8rem}
#page-container .decision-actions{margin-top: 30px;display: flex;gap: 25px;align-items: center}
#page-container .decision-actions p{margin: 0;font-size: .75rem;color: #68756d}
#page-container .decision-actions p strong{color: var(--ink)}
#page-container .roof-types{background: #eef0e8}
#page-container .roof-type-grid{display: grid;grid-template-columns: repeat(3,1fr);gap: 18px}
#page-container .roof-type{position: relative;min-height: 510px;overflow: hidden;border-radius: var(--radius);color: #fff;box-shadow: 0 10px 30px rgba(20,32,25, .1)}
#page-container .roof-type img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;transition: transform .6s ease}
#page-container .roof-type:hover img{transform: scale(1.045)}
#page-container .roof-type div{position: absolute;inset: 0;display: flex;flex-direction: column;justify-content: flex-end;padding: 28px;background: linear-gradient(0deg, rgba(9,28,19, .92), transparent 72%)}
#page-container .roof-type span{color: var(--lime);font-size: .64rem;font-weight: 900;letter-spacing: .14em;text-transform: uppercase}
#page-container .roof-type h3{margin: 5px 0 6px;font-size: 2.15rem;line-height: 1;letter-spacing: -.04em}
#page-container .roof-type p{margin: 0;color: #dce8de;font-size: .78rem}
#page-container .authority-story{background: #f8f7f2}
#page-container .authority-layout{display: grid;grid-template-columns: minmax(330px, .82fr) minmax(0,1.18fr);gap: clamp(65px,8vw,125px);align-items: start}
#page-container .authority-rail{position: sticky;top: 145px;align-self: start}
#page-container .authority-rail h2{max-width: 520px;margin: 0 0 30px;color: var(--forest);font-size: clamp(2.6rem,4.3vw,4.7rem);line-height: .98;letter-spacing: -.052em;text-wrap: balance}
#page-container .authority-rail blockquote{margin: 0;padding: 30px 30px 28px;color: #415047;background: #fff;border-left: 5px solid var(--orange);box-shadow: 0 18px 50px rgba(20,32,25, .08);font-size: 1.05rem;font-style: italic;line-height: 1.75}
#page-container .authority-rail blockquote cite{display: block;margin-top: 18px;color: var(--forest);font-size: .62rem;font-style: normal;font-weight: 900;letter-spacing: .13em;text-transform: uppercase}
#page-container .authority-stats{margin-top: 22px;display: grid;grid-template-columns: 1fr 1fr;gap: 14px}
#page-container .authority-stats div{min-height: 128px;padding: 22px;display: flex;flex-direction: column;justify-content: center;background: #eef0e8;border: 1px solid #dfe3d8}
#page-container .authority-stats strong{color: var(--forest);font-size: 2rem;line-height: 1;letter-spacing: -.045em}
#page-container .authority-stats span{margin-top: 8px;color: #b56b14;font-size: .62rem;font-weight: 900;letter-spacing: .11em;line-height: 1.35;text-transform: uppercase}
#page-container .authority-content{padding-top: 5px}
#page-container .authority-content h3{max-width: 800px;margin: 0 0 25px;color: var(--forest);font-size: clamp(2.25rem,3.7vw,4rem);line-height: 1.04;letter-spacing: -.045em;text-wrap: balance}
#page-container .authority-content p{color: #66736b;font-size: 1rem;line-height: 1.82}
#page-container .authority-content .authority-lead{color: #3f4f46;font-size: 1.08rem}
#page-container .authority-callout{margin: 38px 0;padding: 32px 34px;background: #fff;border: 1px solid var(--line);box-shadow: 0 12px 34px rgba(20,32,25, .05)}
#page-container .authority-callout span{color: var(--orange);font-size: .63rem;font-weight: 900;letter-spacing: .14em;text-transform: uppercase}
#page-container .authority-callout h4{margin: 9px 0 10px;color: var(--forest);font-size: 1.6rem;line-height: 1.15;letter-spacing: -.025em}
#page-container .authority-callout p{margin: 0;color: #68746c;font-size: .9rem}
#page-container .authority-details{margin: 36px 0;border-top: 1px solid var(--line)}
#page-container .authority-details div{display: grid;grid-template-columns: 48px 1fr;gap: 16px;align-items: start;padding: 20px 0;border-bottom: 1px solid var(--line)}
#page-container .authority-details span{width: 38px;height: 38px;display: grid;place-items: center;color: var(--forest);background: #e4f4d9;border-radius: 50%;font-size: .66rem;font-weight: 950}
#page-container .authority-details p{margin: 0;color: #6a756e;font-size: .86rem}
#page-container .authority-details strong{display: block;margin-bottom: 3px;color: var(--ink);font-size: 1rem}
#page-container .authority-content .authority-close{padding-top: 8px;color: var(--ink);font-weight: 800}
#page-container .authority-actions{margin-top: 28px;display: flex;align-items: center;gap: 26px}
#page-container .authority-phone{color: var(--forest);border-bottom: 1px solid #94a59a;font-size: .83rem;font-weight: 900}
#page-container .award-story{background: var(--forest-2);color: #fff;overflow: hidden}
#page-container .award-grid{display: grid;grid-template-columns: .8fr 1.2fr;gap: 90px;align-items: center}
#page-container .award-copy p:not(.eyebrow){color: #d0ddd3}
#page-container .credentials-list{margin: 30px 0;display: flex;flex-wrap: wrap;gap: 8px}
#page-container .credentials-list span{padding: 8px 12px;border: 1px solid rgba(255,255,255, .2);border-radius: 999px;color: #e6eee8;font-size: .68rem;font-weight: 800}
#page-container .text-link{display: inline-flex;gap: 14px;color: var(--forest);font-size: .82rem;font-weight: 900}
#page-container .light-link{color: var(--lime)}
#page-container .award-photo{position: relative}
#page-container .award-photo img{width: 100%;aspect-ratio: 1.5;object-fit: cover;border-radius: var(--radius)}
#page-container .award-caption{position: absolute;left: -50px;bottom: 28px;padding: 18px 22px;color: var(--ink);background: #fff;border-radius: 12px;box-shadow: var(--shadow);font-size: .8rem}
#page-container .award-caption strong{color: var(--green)}
#page-container .process{background: #fff}
#page-container .process-track{position: relative;display: grid;grid-template-columns: repeat(4, 1fr);gap: 24px}
#page-container .process-track::before{content: "";position: absolute;top: 24px;left: 7%;right: 7%;height: 1px;background: #cad4c4}
#page-container .process-step{position: relative;padding: 0 18px}
#page-container .process-step span{position: relative;z-index: 2;width: 49px;height: 49px;display: grid;place-items: center;margin-bottom: 25px;color: var(--forest);background: #eaf6df;border: 6px solid #fff;border-radius: 50%;font-size: .7rem;font-weight: 950}
#page-container .process-step h3{margin: 0 0 10px;font-size: 1.18rem;line-height: 1.15}
#page-container .process-step p{margin: 0;color: #6c776f;font-size: .78rem}
#page-container .project-gallery{position: relative;background: var(--forest-2);padding: 10px}
#page-container .gallery-grid{display: grid;min-height: 760px;grid-template-columns: 1.2fr .8fr .8fr;grid-template-rows: 1fr 1fr;gap: 10px}
#page-container .gallery-grid figure{position: relative;margin: 0;overflow: hidden}
#page-container .gallery-grid img{width: 100%;height: 100%;object-fit: cover;transition: transform .65s ease}
#page-container .gallery-grid figure:hover img{transform: scale(1.04)}
#page-container .gallery-tall{grid-row: 1 / 3}
#page-container .gallery-wide{grid-column: 2 / 4}
#page-container .gallery-grid figcaption{position: absolute;left: 16px;bottom: 16px;padding: 8px 11px;border-radius: 7px;color: #fff;background: rgba(7,27,18, .76);backdrop-filter: blur(8px);font-size: .7rem;font-weight: 800}
#page-container .gallery-cta{position: absolute;left: 50%;bottom: 36px;transform: translateX(-50%)}
#page-container .specials{background: #eef0e8}
#page-container .specials-card{padding: 48px;display: grid;grid-template-columns: .75fr 1.25fr;gap: 55px;background: #fff;border-radius: var(--radius);box-shadow: 0 15px 50px rgba(20,32,25, .08)}
#page-container .specials-intro h2{margin: 0 0 18px;font-size: clamp(2rem,3.5vw,3.6rem);line-height: 1;letter-spacing: -.05em}
#page-container .specials-intro p:not(.eyebrow){color: #6b766f}
#page-container .offer-grid{display: grid;grid-template-columns: repeat(3,1fr);align-self: stretch;border: 1px solid var(--line);border-radius: 17px;overflow: hidden}
#page-container .offer-grid div{min-height: 270px;padding: 25px 20px;display: flex;flex-direction: column;justify-content: center;text-align: center;background: #f8f8f3}
#page-container .offer-grid div + div{border-left: 1px solid var(--line)}
#page-container .offer-grid .offer-featured{color: #fff;background: var(--forest)}
#page-container .offer-card{position: relative;overflow: hidden}
#page-container .offer-card::before{content: "";position: absolute;width: 96px;height: 96px;right: -48px;top: -48px;border: 1px solid rgba(230,126,34, .2);border-radius: 50%;box-shadow: 0 0 0 16px rgba(230,126,34, .045)}
#page-container .offer-grid .offer-kicker{color: var(--orange);font-size: .65rem;font-weight: 900;letter-spacing: .15em;text-transform: uppercase}
#page-container .offer-grid strong{margin: 10px 0 12px;color: var(--forest);font-size: 3.35rem;line-height: .9;letter-spacing: -.055em}
#page-container .offer-grid strong small{display: block;margin-bottom: 7px;color: var(--orange);font-size: .58rem;font-weight: 950;letter-spacing: .16em;text-transform: uppercase}
#page-container .offer-grid .offer-featured strong{color: #fff}
#page-container .offer-grid p{margin: 0;color: #657168;font-size: .72rem}
#page-container .offer-featured p{color: #d8e4da}
#page-container .offer-grid .offer-expiry{margin-top: 20px;padding-top: 13px;border-top: 1px solid rgba(23,60,42, .12);color: #728078;font-size: .56rem;font-weight: 850;letter-spacing: .08em;text-transform: uppercase}
#page-container .offer-grid .offer-featured .offer-expiry{color: #c5d8ca;border-top-color: rgba(255,255,255, .16)}
#page-container .offer-note{grid-column: 2;margin: -42px 0 0;color: #8a938d;font-size: .62rem;text-align: center}
#page-container .estimate{padding-block: 110px;color: #fff;background: linear-gradient(125deg, #0c2c1d, #1b5134)}
#page-container .estimate-grid{display: grid;grid-template-columns: .85fr 1.15fr;gap: 90px;align-items: center}
#page-container .estimate-copy p:not(.eyebrow){color: #d5e2d8;max-width: 560px}
#page-container .contact-lines{margin-top: 38px;display: grid;gap: 15px}
#page-container .contact-lines a{display: flex;flex-direction: column}
#page-container .contact-lines span{color: var(--lime);font-size: .65rem;text-transform: uppercase;letter-spacing: .14em;font-weight: 900}
#page-container .contact-lines strong{margin-top: 2px;font-size: 1.2rem}
#page-container .estimate-form{position: relative;padding: 34px;display: grid;gap: 16px;color: var(--ink);background: #fff;border-radius: var(--radius);box-shadow: var(--shadow)}
#page-container .estimate-form label{color: #59675e;font-size: .68rem;font-weight: 850;letter-spacing: .03em}
#page-container .estimate-form input, #page-container .estimate-form select, #page-container .estimate-form textarea{width: 100%;padding: 12px 13px;color: var(--ink);background: #f7f8f4;border: 1px solid #d8ded2;border-radius: 9px;outline: none}
#page-container .estimate-form input:focus, #page-container .estimate-form select:focus, #page-container .estimate-form textarea:focus{border-color: var(--green);box-shadow: 0 0 0 3px rgba(53,168,50, .12)}
#page-container .estimate-form textarea{resize: vertical}
#page-container .form-note{margin: -3px 0 0;color: #8b948e;font-size: .6rem;text-align: center}
#page-container .site-footer{padding: 75px 0 25px;color: #dce6df;background: #081b12}
#page-container .footer-grid{display: grid;grid-template-columns: 1.6fr repeat(3,1fr);gap: 50px}
#page-container .footer-brand img{width: 245px;filter: brightness(1.06)}
#page-container .footer-brand p{max-width: 360px;color: #97a89d;font-size: .76rem}
#page-container .footer-brand .license-line{color: #73877a;font-size: .63rem}
#page-container .footer-grid h2{margin: 0 0 8px;color: var(--lime);font-size: .68rem;letter-spacing: .14em;text-transform: uppercase}
#page-container .footer-grid a{color: #abb9b0;font-size: .76rem}
#page-container .footer-grid a:hover{color: #fff}
#page-container .footer-bottom{margin-top: 55px;padding-top: 20px;display: flex;justify-content: space-between;border-top: 1px solid rgba(255,255,255, .1);color: #63776a;font-size: .65rem}
@media (max-width: 1120px){#page-container .hero-grid{grid-template-columns: 1fr .55fr;gap: 35px}
#page-container .achievement-grid{grid-template-columns: repeat(3,1fr)}
}
@media (max-width: 820px){:root{--shell: min(100% - 28px, 680px)}
#page-container .topbar p{display: none}
#page-container .topbar-inner{justify-content: center}
#page-container .hero{min-height: auto}
#page-container .hero-grid{grid-template-columns: 1fr;padding-block: 82px 55px}
#page-container .hero h1{font-size: clamp(3rem, 13vw, 5.2rem)}
#page-container .hero-card{max-width: 510px}
#page-container .achievements-head{grid-template-columns: 1fr;gap: 18px}
#page-container .section-pad{padding-block: 82px}
#page-container .split-heading, #page-container .decision-grid, #page-container .authority-layout, #page-container .award-grid, #page-container .specials-card, #page-container .estimate-grid{grid-template-columns: 1fr;gap: 40px}
#page-container .authority-rail{position: static}
#page-container .service-card, #page-container .service-card.featured, #page-container .service-card:nth-child(2), #page-container .service-card:nth-child(3), #page-container .service-card:nth-child(4), #page-container .service-card.image-card{grid-column: span 12}
#page-container .service-card{min-height: 280px}
#page-container .photo-service-card h3{white-space: normal}
#page-container .decision-image, #page-container .decision-image img{min-height: 500px;height: 500px}
#page-container .image-note{right: 16px}
#page-container .roof-type-grid{grid-template-columns: 1fr}
#page-container .roof-type{min-height: 420px}
#page-container .award-grid{display: flex;flex-direction: column-reverse}
#page-container .award-caption{left: 18px}
#page-container .process-track{grid-template-columns: 1fr 1fr}
#page-container .process-track::before{display: none}
#page-container .gallery-grid{min-height: 900px;grid-template-columns: 1fr 1fr;grid-template-rows: 1fr 1fr 1fr}
#page-container .gallery-tall{grid-row: 1 / 3}
#page-container .gallery-wide{grid-column: 1 / 3}
#page-container .specials-card{padding: 30px}
#page-container .offer-note{grid-column: 1;margin: 0}
#page-container .footer-grid{grid-template-columns: 1.5fr 1fr 1fr}
#page-container .footer-brand{grid-column: 1 / -1}
}
@media (max-width: 540px){#page-container .hero-actions, #page-container .decision-actions, #page-container .authority-actions{align-items: stretch;flex-direction: column}
#page-container .hero-actions .button, #page-container .decision-actions .button{width: 100%}
#page-container .hero-checks{display: grid}
#page-container .hero-card{padding: 20px}
#page-container .achievement-grid{grid-template-columns: 1fr 1fr}
#page-container .achievement-card{min-height: 215px}
#page-container .split-heading{gap: 20px}
#page-container .decision-image, #page-container .decision-image img{min-height: 420px;height: 420px}
#page-container .authority-stats{grid-template-columns: 1fr}
#page-container .authority-callout{padding: 26px 22px}
#page-container .authority-actions .button{width: 100%}
#page-container .authority-phone{align-self: center}
#page-container .process-track{grid-template-columns: 1fr;gap: 38px}
#page-container .gallery-grid{min-height: 1100px;grid-template-columns: 1fr;grid-template-rows: repeat(4,1fr)}
#page-container .gallery-tall, #page-container .gallery-wide{grid-row: auto;grid-column: auto}
#page-container .offer-grid{grid-template-columns: 1fr}
#page-container .offer-grid div{min-height: 190px}
#page-container .offer-grid div + div{border-left: 0;border-top: 1px solid var(--line)}
#page-container .estimate-form{padding: 25px 20px}
#page-container .footer-grid{grid-template-columns: 1fr 1fr}
#page-container .footer-bottom{gap: 12px;flex-direction: column}
}
@media (prefers-reduced-motion: reduce){*, *::before, *::after{scroll-behavior: auto !important;transition-duration: .01ms !important;animation-duration: .01ms !important;animation-iteration-count: 1 !important}
}
/* --- Interior pages (scoped from interior.css) --- */
body:not(.home) #page-container{background: #fbf9f4}
body:not(.home) #page-container .interior-hero{position: relative;min-height: 560px;display: grid;align-items: end;overflow: hidden;color: #fff;background-color: var(--forest-2)}
body:not(.home) #page-container .interior-hero::after{content: "";position: absolute;inset: 0;background: linear-gradient(90deg, rgba(7,27,18, .95), rgba(7,27,18, .72) 52%, rgba(7,27,18, .15)), linear-gradient(0deg, rgba(7,27,18, .65), transparent 55%)}
body:not(.home) #page-container .interior-hero .shell{position: relative;z-index: 2;padding-block: 88px 74px}
body:not(.home) #page-container .breadcrumbs{margin: 0 0 52px;display: flex;gap: 8px;align-items: center;color: #c4d2c7;font-size: .7rem;font-weight: 750}
body:not(.home) #page-container .breadcrumbs a{color: var(--lime)}
body:not(.home) #page-container .interior-hero h1{max-width: 880px;margin: 0;font-size: clamp(3rem,6vw,6.1rem);line-height: .94;letter-spacing: -.055em;text-wrap: balance}
body:not(.home) #page-container .interior-hero .hero-dek{max-width: 680px;margin: 24px 0 0;color: #e1e9e3;font-size: clamp(1rem,1.5vw,1.22rem)}
body:not(.home) #page-container .interior-hero .hero-actions{margin-top: 31px}
body:not(.home) #page-container .mini-proof{background: #fff;border-bottom: 1px solid var(--line)}
body:not(.home) #page-container .mini-proof .shell{min-height: 92px;display: grid;grid-template-columns: repeat(4,1fr);gap: 24px;align-items: center}
body:not(.home) #page-container .mini-proof .gg-items div{display: flex;gap: 11px;align-items: center;color: #68756d;font-size: .72rem}
body:not(.home) #page-container .mini-proof strong{color: var(--forest);font-size: .8rem}
body:not(.home) #page-container .mini-proof span{width: 34px;height: 34px;display: grid;place-items: center;flex: 0 0 auto;color: var(--forest);background: #eaf6df;border-radius: 50%;font-size: .64rem;font-weight: 950}
body:not(.home) #page-container .mini-proof p{margin: 0}
body:not(.home) #page-container .achievements{background: #f7f8f3}
body:not(.home) #page-container .achievement-card{background: #fff}
body:not(.home) #page-container .content-grid{display: grid;grid-template-columns: minmax(0,1.05fr) minmax(330px, .65fr);gap: 86px;align-items: center}
body:not(.home) #page-container .content-grid.reverse{grid-template-columns: minmax(330px, .65fr) minmax(0,1.05fr)}
body:not(.home) #page-container .content-grid.reverse .content-media{order: 2}
body:not(.home) #page-container .content-copy h2, body:not(.home) #page-container .page-heading h2{margin: 0 0 21px;font-size: clamp(2.3rem,4.4vw,4.7rem);line-height: .98;letter-spacing: -.052em;text-wrap: balance}
body:not(.home) #page-container .content-copy p, body:not(.home) #page-container .page-heading p{color: #657168}
body:not(.home) #page-container .source-detail{background: #eef5e8;border-top: 1px solid #dbe6d5;border-bottom: 1px solid #dbe6d5}
body:not(.home) #page-container .source-detail .content-grid{align-items: center}
body:not(.home) #page-container .source-detail-list{background: #fff;border: 1px solid #d7e0d4;border-radius: 24px;padding: clamp(26px, 4vw, 46px);box-shadow: 0 18px 50px rgba(20, 56, 39, .08)}
body:not(.home) #page-container .source-detail-list .check-list{margin: 0}
body:not(.home) #page-container .content-media{position: relative}
body:not(.home) #page-container .content-media img{width: 100%;min-height: 520px;object-fit: cover;border-radius: var(--radius)}
body:not(.home) #page-container .media-chip{position: absolute;right: 20px;bottom: 20px;max-width: 260px;padding: 16px 18px;background: #fff;border-radius: 12px;box-shadow: var(--shadow);font-size: .75rem}
body:not(.home) #page-container .media-chip strong{display: block;color: var(--forest);font-size: 1rem}
body:not(.home) #page-container .check-list{list-style: none;margin: 27px 0 0;padding: 0;display: grid;gap: 12px}
body:not(.home) #page-container .check-list li{display: grid;grid-template-columns: 28px 1fr;gap: 11px;align-items: start;color: #546158;font-size: .86rem}
body:not(.home) #page-container .check-list li::before{content: "✓";width: 25px;height: 25px;display: grid;place-items: center;color: var(--forest);background: #e6f5dc;border-radius: 50%;font-weight: 950}
body:not(.home) #page-container .dark-panel{color: #fff;background: var(--forest-2)}
body:not(.home) #page-container .dark-panel .page-heading p{color: #c9d5cc}
body:not(.home) #page-container .card-grid{display: grid;grid-template-columns: repeat(3,1fr);gap: 18px}
body:not(.home) #page-container .info-card{min-height: 250px;padding: 28px;background: #fff;border: 1px solid var(--line);border-radius: 18px}
body:not(.home) #page-container .dark-panel .info-card{background: #153a28;border-color: rgba(255,255,255, .12)}
body:not(.home) #page-container .info-card .card-no{color: var(--orange);font-size: .66rem;font-weight: 900;letter-spacing: .14em}
body:not(.home) #page-container .info-card h3{margin: 42px 0 10px;font-size: 1.45rem;line-height: 1.1;letter-spacing: -.03em}
body:not(.home) #page-container .info-card p{margin: 0;color: #67736b;font-size: .78rem}
body:not(.home) #page-container .dark-panel .info-card p{color: #c8d5cb}
body:not(.home) #page-container .photo-info-card{position: relative;min-height: 330px;padding: 0;overflow: hidden;border: 0;background: #153a28;isolation: isolate;transition: transform .3s ease, box-shadow .3s ease}
body:not(.home) #page-container .photo-info-card::after{content: "";position: absolute;inset: 0;z-index: 1;background: linear-gradient(0deg, rgba(6,25,16, .96) 0%, rgba(6,25,16, .76) 50%, rgba(6,25,16, .18) 100%);transition: background .35s ease}
body:not(.home) #page-container .photo-info-card img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;transition: transform .6s cubic-bezier(.2, .7, .2,1), filter .35s ease}
body:not(.home) #page-container .photo-info-card .info-card-content{position: relative;z-index: 2;min-height: 330px;padding: 28px;display: flex;flex-direction: column;justify-content: flex-end}
body:not(.home) #page-container .photo-info-card h3{margin: 12px 0 10px;color: #fff;transform: translateY(0);transition: transform .3s ease}
body:not(.home) #page-container .dark-panel .photo-info-card p{color: #d7e2da}
body:not(.home) #page-container .photo-info-card:hover{transform: translateY(-7px);box-shadow: 0 24px 54px rgba(0,0,0, .24)}
body:not(.home) #page-container .photo-info-card:hover img{transform: scale(1.075);filter: saturate(1.08)}
body:not(.home) #page-container .photo-info-card:hover::after{background: linear-gradient(0deg, rgba(6,25,16, .97) 0%, rgba(6,25,16, .66) 53%, rgba(6,25,16, .08) 100%)}
body:not(.home) #page-container .photo-info-card:hover h3{transform: translateY(-3px)}
body:not(.home) #page-container .step-grid{display: grid;grid-template-columns: repeat(4,1fr);gap: 0;border: 1px solid var(--line);border-radius: 18px;overflow: hidden}
body:not(.home) #page-container .step-card{min-height: 250px;padding: 27px;background: #fff}
body:not(.home) #page-container .step-card + .step-card{border-left: 1px solid var(--line)}
body:not(.home) #page-container .step-card span{display: block;color: var(--green);font-size: .72rem;font-weight: 950}
body:not(.home) #page-container .step-card h3{margin: 48px 0 10px;font-size: 1.25rem;line-height: 1.12}
body:not(.home) #page-container .step-card p{margin: 0;color: #67736b;font-size: .75rem}
body:not(.home) #page-container .faq-wrap{max-width: 900px;margin-inline: auto}
body:not(.home) #page-container .faq-wrap .page-heading{text-align: center}
body:not(.home) #page-container .related{background: #eef0e8}
body:not(.home) #page-container .related-grid{display: grid;grid-template-columns: repeat(3,1fr);gap: 18px}
body:not(.home) #page-container .related-card{position: relative;min-height: 310px;padding: 26px;display: flex;flex-direction: column;justify-content: flex-end;overflow: hidden;color: #fff;border-radius: 18px}
body:not(.home) #page-container .related-card img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;transition: transform .5s ease}
body:not(.home) #page-container .related-card:hover img{transform: scale(1.04)}
body:not(.home) #page-container .related-card::after{content: "";position: absolute;inset: 0;background: linear-gradient(0deg, rgba(8,29,19, .92), transparent 76%)}
body:not(.home) #page-container .related-card span, body:not(.home) #page-container .related-card h3{position: relative;z-index: 2}
body:not(.home) #page-container .related-card span{color: var(--lime);font-size: .65rem;font-weight: 900;letter-spacing: .12em;text-transform: uppercase}
body:not(.home) #page-container .related-card h3{margin: 6px 0 0;font-size: 1.55rem;line-height: 1.05}
body:not(.home) #page-container .page-cta{padding-block: 90px;color: #fff;background: var(--orange)}
body:not(.home) #page-container .page-cta .shell{display: grid;grid-template-columns: 1fr auto;gap: 40px;align-items: center}
body:not(.home) #page-container .page-cta h2{max-width: 760px;margin: 0;font-size: clamp(2.2rem,4vw,4rem);line-height: 1;letter-spacing: -.05em}
body:not(.home) #page-container .page-cta p{margin: 12px 0 0;color: #fff5e8}
body:not(.home) #page-container .landing-grid{display: grid;grid-template-columns: repeat(2,1fr);gap: 18px}
body:not(.home) #page-container .landing-card{min-height: 330px;padding: 30px;display: flex;flex-direction: column;justify-content: flex-end;background: #fff;border: 1px solid var(--line);border-radius: 18px;transition: transform .2s, box-shadow .2s}
body:not(.home) #page-container .landing-card:hover{transform: translateY(-5px);box-shadow: var(--shadow)}
body:not(.home) #page-container .landing-card .eyebrow{margin-bottom: auto}
body:not(.home) #page-container .landing-card h3{margin: 0 0 12px;font-size: 2rem;line-height: 1;letter-spacing: -.04em}
body:not(.home) #page-container .landing-card p{margin: 0;color: #68746d;font-size: .82rem}
body:not(.home) #page-container .landing-card strong{margin-top: 20px;color: var(--green);font-size: .78rem}
body:not(.home) #page-container .photo-landing-card{position: relative;padding: 0;overflow: hidden;color: #fff;border: 0;background: var(--forest);isolation: isolate}
body:not(.home) #page-container .photo-landing-card::after{content: "";position: absolute;inset: 0;z-index: 1;background: linear-gradient(0deg, rgba(6,26,17, .97) 0%, rgba(6,26,17, .72) 52%, rgba(6,26,17, .12) 100%);transition: background .35s ease}
body:not(.home) #page-container .photo-landing-card img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;transition: transform .65s cubic-bezier(.2, .7, .2,1), filter .35s ease}
body:not(.home) #page-container .landing-card-content{position: relative;z-index: 2;min-height: 330px;padding: 30px;display: flex;flex-direction: column;justify-content: flex-end}
body:not(.home) #page-container .landing-card-content .eyebrow{margin-bottom: auto;color: var(--lime)}
body:not(.home) #page-container .photo-landing-card h3{color: #fff;transition: transform .3s ease}
body:not(.home) #page-container .photo-landing-card p{color: #dbe6de}
body:not(.home) #page-container .photo-landing-card strong{color: var(--lime)}
body:not(.home) #page-container .photo-landing-card:hover img{transform: scale(1.065);filter: saturate(1.08)}
body:not(.home) #page-container .photo-landing-card:hover::after{background: linear-gradient(0deg, rgba(6,26,17, .98) 0%, rgba(6,26,17, .62) 55%, rgba(6,26,17, .07) 100%)}
body:not(.home) #page-container .photo-landing-card:hover h3{transform: translateY(-3px)}
body:not(.home) #page-container .page-band{padding: 28px 0;background: #eaf6df}
body:not(.home) #page-container .page-band .shell{display: flex;justify-content: space-between;gap: 30px;align-items: center}
body:not(.home) #page-container .page-band strong{color: var(--forest);font-size: 1.05rem}
body:not(.home) #page-container .page-band p{margin: 0;color: #58705f;font-size: .76rem}
body:not(.home) #page-container .gallery-page-grid{display: grid;grid-template-columns: repeat(12,1fr);gap: 14px}
body:not(.home) #page-container .gallery-categories{display: flex;flex-wrap: wrap;gap: 10px;margin: -8px 0 32px}
body:not(.home) #page-container .gallery-categories span{padding: 9px 14px;border: 1px solid #cfd9cc;border-radius: 999px;background: #fff;color: var(--forest);font-size: .72rem;font-weight: 900;letter-spacing: .05em;text-transform: uppercase}
body:not(.home) #page-container .gallery-page-grid figure{grid-column: span 4;margin: 0;min-height: 340px;overflow: hidden;border-radius: 16px}
body:not(.home) #page-container .gallery-page-grid figure:nth-child(1), body:not(.home) #page-container .gallery-page-grid figure:nth-child(6){grid-column: span 8}
body:not(.home) #page-container .gallery-page-grid img{width: 100%;height: 100%;object-fit: cover}
body:not(.home) #page-container .gallery-service-grid{display: grid;grid-template-columns: repeat(3,1fr);gap: 20px;margin-top: 42px}
body:not(.home) #page-container .gallery-service-card{display: block;min-width: 0;padding: 0 0 25px;overflow: hidden;color: var(--ink);background: #fff;border: 1px solid var(--line);border-radius: 18px;text-decoration: none;box-shadow: 0 14px 34px rgba(20,56,39, .06);transition: transform .2s ease, box-shadow .2s ease}
body:not(.home) #page-container .gallery-service-card:hover{transform: translateY(-4px);box-shadow: 0 20px 42px rgba(20,56,39, .12)}
body:not(.home) #page-container .gallery-service-card img{width: 100%;height: 245px;object-fit: cover}
body:not(.home) #page-container .gallery-service-card span, body:not(.home) #page-container .gallery-service-card h3, body:not(.home) #page-container .gallery-service-card p, body:not(.home) #page-container .gallery-service-card strong{margin-inline: 24px}
body:not(.home) #page-container .gallery-service-card span{display: block;margin-top: 22px;color: var(--orange);font-size: .64rem;font-weight: 900;letter-spacing: .12em;text-transform: uppercase}
body:not(.home) #page-container .gallery-service-card h3{margin-top: 7px;margin-bottom: 10px;color: var(--forest);font-size: 1.6rem;line-height: 1.05;letter-spacing: -.035em}
body:not(.home) #page-container .gallery-service-card p{min-height: 64px;color: #68746d;font-size: .78rem}
body:not(.home) #page-container .gallery-service-card strong{display: block;margin-top: 20px;color: var(--green);font-size: .75rem}
body:not(.home) #page-container .portfolio-intro{display: grid;grid-template-columns: minmax(0,1fr) auto;gap: 45px;align-items: end;margin-bottom: 42px}
body:not(.home) #page-container .portfolio-intro h2{max-width: 760px;margin: 8px 0 14px;font-size: clamp(2.2rem,4vw,4rem);line-height: 1;letter-spacing: -.05em}
body:not(.home) #page-container .portfolio-intro p:not(.eyebrow){max-width: 730px;margin: 0;color: #66736a;font-size: .86rem}
body:not(.home) #page-container .portfolio-actions{display: flex;flex-direction: column;align-items: flex-start;gap: 15px}
body:not(.home) #page-container .portfolio-back{color: var(--green);font-size: .74rem;font-weight: 900;text-decoration: none}
body:not(.home) #page-container .portfolio-back:hover{text-decoration: underline}
body:not(.home) #page-container .portfolio-photo-grid{display: grid;grid-template-columns: repeat(3, minmax(0,1fr));gap: 14px}
body:not(.home) #page-container .portfolio-photo-grid figure{margin: 0;overflow: hidden;background: #fff;border: 1px solid var(--line);border-radius: 15px}
body:not(.home) #page-container .portfolio-photo-grid img{width: 100%;height: 270px;display: block;object-fit: cover;transition: transform .35s ease}
body:not(.home) #page-container .portfolio-photo-grid figure:hover img{transform: scale(1.025)}
body:not(.home) #page-container .portfolio-photo-grid figcaption{min-height: 62px;padding: 12px 14px 14px;color: #4f5d55;font-size: .72rem;font-weight: 750;line-height: 1.35}
body:not(.home) #page-container .portfolio-photo-grid figcaption span{display: block;margin-bottom: 3px;color: var(--orange);font-size: .58rem;font-weight: 900;letter-spacing: .12em;text-transform: uppercase}
body:not(.home) #page-container .review-grid, body:not(.home) #page-container .offer-page-grid, body:not(.home) #page-container .blog-grid{display: grid;grid-template-columns: repeat(3,1fr);gap: 18px}
body:not(.home) #page-container .review-card, body:not(.home) #page-container .offer-page-card, body:not(.home) #page-container .blog-card{padding: 28px;background: #fff;border: 1px solid var(--line);border-radius: 18px}
body:not(.home) #page-container .review-card strong, body:not(.home) #page-container .offer-page-card strong{display: block;color: var(--forest);font-size: 1.3rem}
body:not(.home) #page-container .review-card p, body:not(.home) #page-container .offer-page-card p, body:not(.home) #page-container .blog-card p{color: #67736b;font-size: .8rem}
body:not(.home) #page-container .review-card a{color: var(--green);font-weight: 900;text-decoration: none}
body:not(.home) #page-container .review-card a:hover{text-decoration: underline}
body:not(.home) #page-container .review-intro{display: grid;grid-template-columns: minmax(0,1fr) 260px;gap: 44px;align-items: end;margin-bottom: 34px}
body:not(.home) #page-container .review-intro .page-heading{margin-bottom: 0}
body:not(.home) #page-container .google-rating{display: flex;flex-direction: column;align-items: flex-start;gap: 3px;padding: 24px;color: var(--ink);text-decoration: none;background: #fff;border: 1px solid var(--line);border-radius: 18px;box-shadow: 0 14px 34px rgba(20,50,36, .08);transition: transform .25s ease, box-shadow .25s ease}
body:not(.home) #page-container .google-rating:hover{transform: translateY(-4px);box-shadow: 0 18px 42px rgba(20,50,36, .14)}
body:not(.home) #page-container .google-rating .google-wordmark{color: #4285f4;font-size: .86rem;font-weight: 900;letter-spacing: .02em}
body:not(.home) #page-container .google-rating strong{color: var(--forest);font-size: 2.4rem;line-height: 1}
body:not(.home) #page-container .google-rating small{color: #67736b;font-weight: 800}
body:not(.home) #page-container .review-stars{color: #f3ad22;letter-spacing: .12em;font-size: 1rem}
body:not(.home) #page-container .customer-review-grid{align-items: stretch}
body:not(.home) #page-container .google-review{position: relative;display: flex;min-height: 260px;flex-direction: column;overflow: hidden;transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease}
body:not(.home) #page-container .google-review::before{content: '“';position: absolute;top: 24px;right: 24px;color: rgba(39,145,76, .12);font-family: Georgia, serif;font-size: 5rem;line-height: .8}
body:not(.home) #page-container .google-review:hover{transform: translateY(-6px);border-color: rgba(39,145,76, .45);box-shadow: 0 18px 38px rgba(20,50,36, .12)}
body:not(.home) #page-container .google-review blockquote{position: relative;z-index: 1;margin: 22px 0 30px;color: var(--forest);font-family: Georgia, serif;font-size: 1.04rem;line-height: 1.65}
body:not(.home) #page-container .google-review .reviewer{margin-top: auto;padding-top: 17px;border-top: 1px solid var(--line)}
body:not(.home) #page-container .google-review .reviewer strong{font-size: 1rem}
body:not(.home) #page-container .google-review .reviewer span{display: block;margin-top: 4px;color: #758078;font-size: .72rem;font-weight: 800;letter-spacing: .04em;text-transform: uppercase}
body:not(.home) #page-container .reviews-source{display: flex;align-items: center;justify-content: space-between;gap: 24px;margin-top: 34px;padding: 24px 28px;background: #eef5ee;border-radius: 18px}
body:not(.home) #page-container .reviews-source p{margin: 0;color: #55655a}
body:not(.home) #page-container .yelp-reviews-block{margin-top: 90px;padding-top: 72px;border-top: 1px solid var(--line)}
body:not(.home) #page-container .yelp-rating{border-top: 4px solid #d32323}
body:not(.home) #page-container .yelp-rating .yelp-wordmark{color: #d32323;font-size: 1.05rem;font-weight: 950;letter-spacing: -.03em}
body:not(.home) #page-container .yelp-rating .yelp-stars{color: #d32323}
body:not(.home) #page-container .yelp-review{border-top: 3px solid rgba(211,35,35, .76)}
body:not(.home) #page-container .yelp-review::before{color: rgba(211,35,35, .1)}
body:not(.home) #page-container .yelp-review:hover{border-color: rgba(211,35,35, .6)}
body:not(.home) #page-container .source-badge{position: relative;z-index: 1;align-self: flex-start;padding: 5px 9px;color: #fff;background: #d32323;border-radius: 999px;font-size: .64rem;font-weight: 900;letter-spacing: .07em;text-transform: uppercase}
body:not(.home) #page-container .yelp-source{background: #fff1f0}
body:not(.home) #page-container .offer-page-card .amount{color: var(--orange);font-size: 3.5rem;line-height: 1;letter-spacing: -.055em}
body:not(.home) #page-container .specials-section{background: linear-gradient(180deg, #f7faf6 0%, #fff 45%)}
body:not(.home) #page-container .specials-intro{display: grid;grid-template-columns: minmax(0,1fr) 310px;gap: 46px;align-items: end;margin-bottom: 38px}
body:not(.home) #page-container .specials-intro .page-heading{margin-bottom: 0}
body:not(.home) #page-container .specials-note{display: grid;grid-template-columns: 68px 1fr;gap: 16px;align-items: center;padding: 22px 24px;color: #fff;background: var(--forest);border-radius: 18px;box-shadow: 0 18px 40px rgba(20,50,36, .14)}
body:not(.home) #page-container .specials-note span{color: #b9e55d;font-size: 3rem;font-weight: 950;line-height: 1}
body:not(.home) #page-container .specials-note p{margin: 0;color: rgba(255,255,255, .76);font-size: .72rem;line-height: 1.45}
body:not(.home) #page-container .specials-note strong{color: #fff;font-size: .86rem}
body:not(.home) #page-container .specials-grid{align-items: stretch}
body:not(.home) #page-container .special-card{position: relative;display: flex;min-height: 430px;flex-direction: column;overflow: hidden;border-top: 5px solid var(--green);box-shadow: 0 12px 32px rgba(20,50,36, .07);transition: transform .35s ease, box-shadow .35s ease, background-color .35s ease, color .35s ease, border-color .35s ease}
body:not(.home) #page-container .special-card:hover{transform: translateY(-6px);box-shadow: 0 20px 44px rgba(20,50,36, .14)}
body:not(.home) #page-container .special-card::after{content: '';position: absolute;right: -42px;bottom: -48px;width: 145px;height: 145px;border: 22px solid rgba(39,145,76, .055);border-radius: 50%;pointer-events: none;transition: border-color .35s ease, transform .35s ease}
body:not(.home) #page-container .special-card:hover::after, body:not(.home) #page-container .special-card:focus-within::after{transform: scale(1.16) rotate(8deg)}
body:not(.home) #page-container .special-top{min-height: 118px}
body:not(.home) #page-container .special-label{display: block;margin-bottom: 13px;color: var(--green);font-size: .68rem;font-weight: 950;letter-spacing: .1em;text-transform: uppercase;transition: color .35s ease}
body:not(.home) #page-container .special-card .amount{display: flex;gap: 8px;align-items: baseline;color: var(--forest);font-size: clamp(2.8rem,4vw,4rem);transition: color .35s ease}
body:not(.home) #page-container .special-card .amount small{color: var(--orange);font-family: Arial, sans-serif;font-size: .92rem;letter-spacing: .04em;text-transform: uppercase;transition: color .35s ease}
body:not(.home) #page-container .special-card h3{margin: 8px 0 10px;color: var(--forest);font-size: 1.45rem;line-height: 1.08;transition: color .35s ease}
body:not(.home) #page-container .special-card p{margin: 0 0 18px;font-size: .78rem;line-height: 1.6;transition: color .35s ease}
body:not(.home) #page-container .special-card ul{margin: 0 0 26px;padding: 0;list-style: none}
body:not(.home) #page-container .special-card li{position: relative;padding: 7px 0 7px 22px;color: #536259;border-bottom: 1px solid #edf1ed;font-size: .74rem;font-weight: 750;transition: color .35s ease, border-color .35s ease}
body:not(.home) #page-container .special-card li::before{content: '✓';position: absolute;left: 0;color: var(--green);font-weight: 950;transition: color .35s ease}
body:not(.home) #page-container .special-card a{position: relative;z-index: 1;margin-top: auto;color: var(--green);font-size: .76rem;font-weight: 950;text-decoration: none;transition: color .35s ease}
body:not(.home) #page-container .special-card a:hover{text-decoration: underline}
body:not(.home) #page-container .special-forest{color: #fff;background: var(--forest);border-color: #b9e55d}
body:not(.home) #page-container .special-forest .special-label, body:not(.home) #page-container .special-forest .amount, body:not(.home) #page-container .special-forest h3, body:not(.home) #page-container .special-forest a{color: #fff}
body:not(.home) #page-container .special-forest p, body:not(.home) #page-container .special-forest li{color: rgba(255,255,255, .76)}
body:not(.home) #page-container .special-forest li{border-color: rgba(255,255,255, .12)}
body:not(.home) #page-container .special-forest li::before{color: #b9e55d}
body:not(.home) #page-container .special-forest::after{border-color: rgba(185,229,93, .08)}
body:not(.home) #page-container .special-orange{border-color: var(--orange)}
body:not(.home) #page-container .special-orange .special-label{color: var(--orange)}
body:not(.home) #page-container .special-light{background: #f3f7f1}
body:not(.home) #page-container .referral-card{border-color: #b9e55d;background: linear-gradient(145deg, #fff 0%, #f2f9e8 100%)}
body:not(.home) #page-container .special-card:not(.special-forest):hover, body:not(.home) #page-container .special-card:not(.special-forest):focus-within{color: #fff;background: var(--forest);border-color: #b9e55d}
body:not(.home) #page-container .special-card:not(.special-forest):hover .special-label, body:not(.home) #page-container .special-card:not(.special-forest):focus-within .special-label{color: #b9e55d}
body:not(.home) #page-container .special-card:not(.special-forest):hover .amount, body:not(.home) #page-container .special-card:not(.special-forest):hover h3, body:not(.home) #page-container .special-card:not(.special-forest):hover a, body:not(.home) #page-container .special-card:not(.special-forest):focus-within .amount, body:not(.home) #page-container .special-card:not(.special-forest):focus-within h3, body:not(.home) #page-container .special-card:not(.special-forest):focus-within a{color: #fff}
body:not(.home) #page-container .special-card:not(.special-forest):hover .amount small, body:not(.home) #page-container .special-card:not(.special-forest):focus-within .amount small{color: #b9e55d}
body:not(.home) #page-container .special-card:not(.special-forest):hover p, body:not(.home) #page-container .special-card:not(.special-forest):hover li, body:not(.home) #page-container .special-card:not(.special-forest):focus-within p, body:not(.home) #page-container .special-card:not(.special-forest):focus-within li{color: rgba(255,255,255, .78)}
body:not(.home) #page-container .special-card:not(.special-forest):hover li, body:not(.home) #page-container .special-card:not(.special-forest):focus-within li{border-color: rgba(255,255,255, .13)}
body:not(.home) #page-container .special-card:not(.special-forest):hover li::before, body:not(.home) #page-container .special-card:not(.special-forest):focus-within li::before{color: #b9e55d}
body:not(.home) #page-container .special-card:not(.special-forest):hover::after, body:not(.home) #page-container .special-card:not(.special-forest):focus-within::after{border-color: rgba(185,229,93, .1)}
body:not(.home) #page-container .special-forest:hover, body:not(.home) #page-container .special-forest:focus-within{color: var(--ink);background: #fff;border-color: var(--green)}
body:not(.home) #page-container .special-forest:hover .special-label, body:not(.home) #page-container .special-forest:focus-within .special-label{color: var(--green)}
body:not(.home) #page-container .special-forest:hover .amount, body:not(.home) #page-container .special-forest:hover h3, body:not(.home) #page-container .special-forest:hover a, body:not(.home) #page-container .special-forest:focus-within .amount, body:not(.home) #page-container .special-forest:focus-within h3, body:not(.home) #page-container .special-forest:focus-within a{color: var(--forest)}
body:not(.home) #page-container .special-forest:hover .amount small, body:not(.home) #page-container .special-forest:focus-within .amount small{color: var(--orange)}
body:not(.home) #page-container .special-forest:hover p, body:not(.home) #page-container .special-forest:hover li, body:not(.home) #page-container .special-forest:focus-within p, body:not(.home) #page-container .special-forest:focus-within li{color: #536259}
body:not(.home) #page-container .special-forest:hover li, body:not(.home) #page-container .special-forest:focus-within li{border-color: #edf1ed}
body:not(.home) #page-container .special-forest:hover li::before, body:not(.home) #page-container .special-forest:focus-within li::before{color: var(--green)}
body:not(.home) #page-container .special-forest:hover::after, body:not(.home) #page-container .special-forest:focus-within::after{border-color: rgba(39,145,76, .055)}
body:not(.home) #page-container .specials-disclaimer{display: flex;align-items: center;justify-content: space-between;gap: 30px;margin-top: 34px;padding: 28px 30px;background: #eef5ee;border-radius: 18px}
body:not(.home) #page-container .specials-disclaimer p{max-width: 760px;margin: 0;color: #55655a;font-size: .78rem}
body:not(.home) #page-container .specials-disclaimer strong{color: var(--forest)}
body:not(.home) #page-container .finance-overview{padding: 76px 0;color: #fff;background: linear-gradient(125deg, #113522 0%, #1b5935 70%, #2e7d46 100%)}
body:not(.home) #page-container .finance-hero-grid{display: grid;grid-template-columns: minmax(0,1fr) 360px;gap: 70px;align-items: center}
body:not(.home) #page-container .finance-copy h2{max-width: 760px;margin: 10px 0 20px;color: #fff;font-size: clamp(2.5rem,5vw,5rem);line-height: .98;letter-spacing: -.055em}
body:not(.home) #page-container .finance-copy p:not(.eyebrow){max-width: 720px;color: rgba(255,255,255, .76)}
body:not(.home) #page-container .finance-actions{display: flex;flex-wrap: wrap;gap: 20px;align-items: center;margin-top: 30px}
body:not(.home) #page-container .finance-phone{color: #fff;font-size: .76rem;font-weight: 900;text-decoration: none}
body:not(.home) #page-container .finance-highlight{padding: 34px;background: #fff;border: 1px solid rgba(255,255,255, .3);border-radius: 22px;box-shadow: 0 26px 60px rgba(0,0,0, .2)}
body:not(.home) #page-container .finance-kicker{color: var(--orange);font-size: .68rem;font-weight: 950;letter-spacing: .12em;text-transform: uppercase}
body:not(.home) #page-container .finance-highlight strong{display: block;margin: 12px 0 10px;color: var(--forest);font-size: clamp(3rem,5vw,4.5rem);line-height: .9;letter-spacing: -.065em}
body:not(.home) #page-container .finance-highlight p{margin: 0;color: #647168;font-size: .72rem}
body:not(.home) #page-container .finance-heading{max-width: 840px}
body:not(.home) #page-container .finance-facts{display: grid;grid-template-columns: repeat(4,1fr);gap: 14px}
body:not(.home) #page-container .finance-facts article{min-height: 210px;padding: 24px;background: #fff;border: 1px solid var(--line);border-radius: 18px;transition: transform .25s ease, background-color .25s ease, box-shadow .25s ease}
body:not(.home) #page-container .finance-facts article:hover{transform: translateY(-5px);background: #f0f7ee;box-shadow: 0 16px 34px rgba(20,50,36, .1)}
body:not(.home) #page-container .finance-facts span{color: var(--green);font-size: 2.25rem;font-weight: 950;letter-spacing: -.045em}
body:not(.home) #page-container .finance-facts h3{margin: 20px 0 8px;color: var(--forest);font-size: 1.05rem}
body:not(.home) #page-container .finance-facts p{margin: 0;color: #69756d;font-size: .72rem}
body:not(.home) #page-container .finance-benefits{background: #f5f8f3}
body:not(.home) #page-container .finance-marketplace-card{padding: 38px;background: #fff;border: 1px solid var(--line);border-radius: 22px;box-shadow: 0 18px 46px rgba(20,50,36, .09)}
body:not(.home) #page-container .finance-marketplace-label{color: var(--orange);font-size: .68rem;font-weight: 950;letter-spacing: .12em;text-transform: uppercase}
body:not(.home) #page-container .finance-marketplace-card h3{margin: 12px 0;color: var(--forest);font-size: 2.2rem;line-height: 1}
body:not(.home) #page-container .finance-marketplace-card p{color: #5e6b63;font-size: .8rem}
body:not(.home) #page-container .lender-chips{display: flex;flex-wrap: wrap;gap: 8px;margin: 24px 0 18px}
body:not(.home) #page-container .lender-chips span{padding: 8px 11px;color: var(--forest);background: #eef5ee;border-radius: 999px;font-size: .66rem;font-weight: 850}
body:not(.home) #page-container .finance-marketplace-card small{color: #829087}
body:not(.home) #page-container .finance-process{display: grid;grid-template-columns: repeat(2,1fr);gap: 16px}
body:not(.home) #page-container .finance-process article{display: grid;grid-template-columns: 58px 1fr;gap: 20px;padding: 28px;background: #fff;border: 1px solid var(--line);border-radius: 18px}
body:not(.home) #page-container .finance-process article span{display: grid;width: 52px;height: 52px;place-items: center;color: #fff;background: var(--green);border-radius: 50%;font-weight: 950}
body:not(.home) #page-container .finance-process h3{margin: 2px 0 7px;color: var(--forest);font-size: 1.25rem}
body:not(.home) #page-container .finance-process p{margin: 0;color: #69756d;font-size: .76rem}
body:not(.home) #page-container .finance-disclosure{padding: 62px 0;color: #fff;background: var(--forest)}
body:not(.home) #page-container .finance-disclosure .shell{display: grid;grid-template-columns: minmax(0,1fr) auto;gap: 50px;align-items: center}
body:not(.home) #page-container .finance-disclosure h2{margin: 9px 0 12px;color: #fff;font-size: clamp(2rem,4vw,3.6rem);line-height: 1}
body:not(.home) #page-container .finance-disclosure p:not(.eyebrow){max-width: 900px;margin: 0;color: rgba(255,255,255, .73);font-size: .75rem}
body:not(.home) #page-container .blog-card time{color: var(--orange);font-size: .68rem;font-weight: 850;text-transform: uppercase;letter-spacing: .1em}
body:not(.home) #page-container .blog-card h3{margin: 22px 0 10px;font-size: 1.55rem;line-height: 1.1}
body:not(.home) #page-container .contact-detail-grid{display: grid;grid-template-columns: 1fr;gap: 12px;margin-top: 30px}
body:not(.home) #page-container .contact-detail{min-width: 0;padding: 18px 20px;display: grid;grid-template-columns: 76px minmax(0,1fr) 24px;gap: 14px;align-items: center;color: var(--ink);background: #fff;border: 1px solid var(--line);border-radius: 14px;box-shadow: 0 8px 24px rgba(20,56,39, .05)}
body:not(.home) #page-container a.contact-detail{transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease}
body:not(.home) #page-container a.contact-detail::after{content: "\2192";color: var(--green);font-size: 1.15rem;font-weight: 900}
body:not(.home) #page-container a.contact-detail:hover{transform: translateY(-2px);border-color: #a9c79d;box-shadow: 0 12px 30px rgba(20,56,39, .09)}
body:not(.home) #page-container .contact-detail span{color: var(--orange);font-size: .65rem;font-weight: 900;text-transform: uppercase;letter-spacing: .12em}
body:not(.home) #page-container .contact-detail strong{min-width: 0;display: block;margin: 0;color: var(--forest);font-size: 1rem;line-height: 1.35;overflow-wrap: anywhere}
body:not(.home) #page-container .contact-detail[href^="tel:"] strong{white-space: nowrap;font-size: 1.15rem}
body:not(.home) #page-container .contact-detail:not(a){grid-template-columns: 76px minmax(0,1fr)}
body:not(.home) #page-container .legal-copy{max-width: 880px}
body:not(.home) #page-container .legal-copy h2{margin: 42px 0 12px;font-size: 1.65rem}
body:not(.home) #page-container .legal-copy p, body:not(.home) #page-container .legal-copy li{color: #5f6c64;font-size: .84rem}
@media (max-width: 900px){body:not(.home) #page-container .finance-hero-grid{grid-template-columns: 1fr;gap: 36px}
body:not(.home) #page-container .finance-facts{grid-template-columns: 1fr 1fr}
body:not(.home) #page-container .finance-disclosure .shell{grid-template-columns: 1fr}
body:not(.home) #page-container .specials-intro{grid-template-columns: 1fr}
body:not(.home) #page-container .review-intro{grid-template-columns: 1fr}
body:not(.home) #page-container .mini-proof .shell{grid-template-columns: 1fr 1fr;padding-block: 22px}
body:not(.home) #page-container .content-grid, body:not(.home) #page-container .content-grid.reverse{grid-template-columns: 1fr;gap: 45px}
body:not(.home) #page-container .content-grid.reverse .content-media{order: initial}
body:not(.home) #page-container .card-grid, body:not(.home) #page-container .related-grid, body:not(.home) #page-container .review-grid, body:not(.home) #page-container .offer-page-grid, body:not(.home) #page-container .blog-grid{grid-template-columns: 1fr 1fr}
body:not(.home) #page-container .step-grid{grid-template-columns: 1fr 1fr}
body:not(.home) #page-container .step-card:nth-child(3){border-left: 0;border-top: 1px solid var(--line)}
body:not(.home) #page-container .step-card:nth-child(4){border-top: 1px solid var(--line)}
body:not(.home) #page-container .page-cta .shell{grid-template-columns: 1fr}
body:not(.home) #page-container .gallery-page-grid figure, body:not(.home) #page-container .gallery-page-grid figure:nth-child(1), body:not(.home) #page-container .gallery-page-grid figure:nth-child(6){grid-column: span 6}
body:not(.home) #page-container .gallery-service-grid{grid-template-columns: 1fr 1fr}
body:not(.home) #page-container .portfolio-intro{grid-template-columns: 1fr;gap: 24px}
body:not(.home) #page-container .portfolio-photo-grid{grid-template-columns: 1fr 1fr}
}
@media (max-width: 560px){body:not(.home) #page-container .finance-facts, body:not(.home) #page-container .finance-process{grid-template-columns: 1fr}
body:not(.home) #page-container .finance-overview{padding: 58px 0}
body:not(.home) #page-container .specials-disclaimer{align-items: flex-start;flex-direction: column}
body:not(.home) #page-container .reviews-source{align-items: flex-start;flex-direction: column}
body:not(.home) #page-container .interior-hero{min-height: 520px}
body:not(.home) #page-container .breadcrumbs{margin-bottom: 36px}
body:not(.home) #page-container .mini-proof .shell, body:not(.home) #page-container .card-grid, body:not(.home) #page-container .related-grid, body:not(.home) #page-container .review-grid, body:not(.home) #page-container .offer-page-grid, body:not(.home) #page-container .blog-grid, body:not(.home) #page-container .landing-grid, body:not(.home) #page-container .contact-detail-grid{grid-template-columns: 1fr}
body:not(.home) #page-container .gallery-service-grid{grid-template-columns: 1fr}
body:not(.home) #page-container .portfolio-photo-grid{grid-template-columns: 1fr}
body:not(.home) #page-container .portfolio-photo-grid img{height: 260px}
body:not(.home) #page-container .step-grid{grid-template-columns: 1fr}
body:not(.home) #page-container .step-card + .step-card{border-left: 0;border-top: 1px solid var(--line)}
body:not(.home) #page-container .content-media img{min-height: 390px}
body:not(.home) #page-container .gallery-page-grid figure, body:not(.home) #page-container .gallery-page-grid figure:nth-child(1), body:not(.home) #page-container .gallery-page-grid figure:nth-child(6){grid-column: span 12}
body:not(.home) #page-container .contact-detail{grid-template-columns: 62px minmax(0,1fr) 20px;padding: 16px;gap: 10px}
body:not(.home) #page-container .contact-detail:not(a){grid-template-columns: 62px minmax(0,1fr)}
body:not(.home) #page-container .contact-detail strong{font-size: .9rem}
}
