.inner-page { background: #fff; }
.inner-page .inner-header { height: 82px; margin-bottom: 0; position: sticky; top: 0; background: rgba(29,34,27,.97); border-bottom-color: rgba(218,199,174,.22); box-shadow: 0 12px 32px rgba(16,18,14,.14); }
.inner-page .inner-header.scrolled { height: 72px; }
.inner-main { overflow: hidden; }
.inner-shell { width: min(100% - 96px, 1376px); margin-inline: auto; }

.page-hero { position: relative; min-height: clamp(520px, 62vw, 760px); margin: 0; display: flex; align-items: flex-end; overflow: hidden; border-radius: 0; background-color: #292d25; background-image: linear-gradient(90deg, rgba(18,21,17,.7), rgba(18,21,17,.28) 58%, rgba(18,21,17,.06)), var(--page-image); background-position: center; background-size: cover; color: #fff; box-shadow: 0 22px 54px rgba(42,35,27,.14); }
.page-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(11,13,10,.66), transparent 55%), radial-gradient(circle at 82% 12%, rgba(255,255,255,.12), transparent 28%); pointer-events: none; }
.page-hero::after { content: none; }
.page-hero .inner-hero-wave { height: 74px; bottom: -1px; color: #eee6da; }
.page-hero-content { position: relative; z-index: 1; width: min(calc(100% - 96px), 1376px); min-width: 0; margin: 0 auto; padding: clamp(76px, 9vw, 132px) 0 clamp(78px, 8vw, 116px); }
.page-kicker { display: none; }
.page-hero h1 { max-width: 920px; margin: 0; font-family: var(--serif); font-size: clamp(58px, 8.4vw, 124px); font-weight: 400; line-height: .84; letter-spacing: -.05em; text-shadow: 0 10px 35px rgba(0,0,0,.24); }
.contact-hero h1 { max-width: none; font-size: clamp(54px,7.5vw,108px); }
.contact-hero h1 span { display: block; white-space: nowrap; }
.page-hero .hero-summary { width: min(100%, 650px); max-width: 100%; margin: 30px 0 0; overflow-wrap: anywhere; color: rgba(255,255,255,.88); font-size: clamp(18px, 1.6vw, 23px); line-height: 1.55; }
.page-hero-actions { margin-top: 36px; display: flex; flex-wrap: wrap; gap: 14px; }
.page-hero-actions .button { border-radius: 999px; }

.content-band { position: relative; padding-block: clamp(84px, 9vw, 138px); background: #f7f3ec; }
.content-band.light { background: #fff; }
.content-band.limestone { background-color: #eee6da; background-image: linear-gradient(to bottom, #eee6da 0, #eee6da 108px, rgba(238,230,218,.96) 150px, rgba(238,230,218,0) 270px), radial-gradient(circle at 9% 16%, rgba(255,255,255,.86), transparent 29%), radial-gradient(circle at 90% 82%, rgba(139,157,112,.13), transparent 32%), repeating-linear-gradient(90deg, transparent 0 139px, rgba(91,72,48,.022) 139px 140px), repeating-linear-gradient(0deg, transparent 0 89px, rgba(91,72,48,.02) 89px 90px); }
.section-intro { max-width: 850px; margin-bottom: clamp(48px, 6vw, 82px); }
.section-intro h2, .split-copy h2, .cta-panel h2 { margin: 0; font-family: var(--serif); font-size: clamp(44px, 5.2vw, 76px); font-weight: 400; line-height: .94; letter-spacing: -.035em; }
.section-intro p, .split-copy > p { max-width: 660px; margin: 25px 0 0; color: var(--ink-soft); font-size: 18px; }

.split-feature { display: grid; grid-template-columns: minmax(0,.88fr) minmax(480px,1.12fr); align-items: center; gap: clamp(50px, 8vw, 120px); }
.split-feature.reverse { grid-template-columns: minmax(480px,1.12fr) minmax(0,.88fr); }
.split-feature.reverse .split-media { order: -1; }
.split-media { min-height: clamp(430px, 48vw, 660px); position: relative; overflow: hidden; border-radius: clamp(28px, 4vw, 52px); box-shadow: 0 28px 68px rgba(61,49,35,.17); }
.split-media img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.split-media::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.54); border-radius: inherit; box-shadow: inset 0 1px rgba(255,255,255,.45); pointer-events: none; }
.split-copy .button { margin-top: 34px; border-radius: 999px; }
.detail-list { margin: 34px 0 0; padding: 0; display: grid; gap: 0; list-style: none; }
.detail-list li { padding: 18px 0; display: flex; gap: 16px; align-items: center; border-top: 1px solid rgba(75,63,48,.16); color: var(--ink-soft); }
.detail-list li::before { content: ""; width: 9px; height: 9px; flex: 0 0 auto; border: 2px solid #b85532; transform: rotate(45deg); }

.value-grid, .service-page-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
.value-card, .service-page-card { position: relative; min-height: 290px; padding: clamp(28px, 3vw, 44px); overflow: hidden; border: 1px solid rgba(92,73,49,.14); border-radius: 28px; background: rgba(255,255,255,.78); box-shadow: 0 18px 46px rgba(59,48,35,.09), inset 0 1px white; }
.value-card span { color: #a94727; font-size: 11px; font-weight: 600; letter-spacing: .14em; }
.value-card h3, .service-page-card h2 { margin: 54px 0 14px; font-family: var(--serif); font-size: clamp(30px, 3vw, 43px); font-weight: 400; line-height: 1; }
.value-card p, .service-page-card p { margin: 0; color: var(--ink-soft); }

/* Service area: quiet, location-specific editorial photography with a refined stone finish. */
.service-cities { isolation: isolate; overflow: hidden; background-color: #fbfaf7; background-image: radial-gradient(circle at 8% 14%, rgba(222,208,185,.2), transparent 29%), radial-gradient(circle at 92% 78%, rgba(119,132,92,.08), transparent 28%), repeating-linear-gradient(90deg, transparent 0 159px, rgba(91,72,48,.018) 159px 160px); }
.service-cities::before { content: ""; position: absolute; z-index: -1; top: 10%; right: -12%; width: min(620px,46vw); aspect-ratio: 1; border: 1px solid rgba(139,109,72,.1); border-radius: 50%; box-shadow: 0 0 0 46px rgba(139,109,72,.025), 0 0 0 92px rgba(139,109,72,.018); pointer-events: none; }
.service-cities .section-intro { max-width: none; display: grid; grid-template-columns: minmax(0,1.1fr) minmax(320px,.55fr); align-items: end; gap: clamp(42px,8vw,130px); }
.service-cities .section-intro p { margin: 0 0 5px; padding-left: 24px; position: relative; line-height: 1.7; }
.service-cities .section-intro p::before { content: ""; position: absolute; left: 0; top: .35em; bottom: .3em; width: 2px; border-radius: 2px; background: linear-gradient(#b04b2a, #d6b77e 58%, #7c8563); }
.service-city-grid { gap: clamp(16px,1.6vw,24px); }
.service-city-grid .location-card { min-height: clamp(360px,32vw,460px); padding: clamp(30px,3vw,42px); display: flex; flex-direction: column; justify-content: flex-end; isolation: isolate; border: 1px solid rgba(255,255,255,.6); border-radius: 30px; background-color: #343a32; background-image: var(--city-image); background-size: cover; background-position: center; box-shadow: 0 26px 62px rgba(55,45,33,.17), inset 0 1px rgba(255,255,255,.46); transition: transform .45s ease, box-shadow .45s ease; }
.service-city-grid .location-card::before { content: ""; position: absolute; z-index: -1; inset: 0; border-radius: inherit; background: linear-gradient(180deg, rgba(20,24,21,.04) 0%, rgba(20,24,21,.12) 30%, rgba(19,23,20,.9) 100%), linear-gradient(112deg, rgba(32,36,30,.38), transparent 58%); }
.service-city-grid .location-card::after { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(255,255,255,.26); border-radius: 22px; box-shadow: inset 0 0 0 1px rgba(36,30,23,.13); pointer-events: none; }
.service-city-grid .location-card:hover { transform: translateY(-7px); box-shadow: 0 34px 76px rgba(55,45,33,.23), inset 0 1px rgba(255,255,255,.5); }
.service-city-grid .location-card > span { width: max-content; margin-bottom: auto; padding: 9px 13px 8px; border: 1px solid rgba(255,255,255,.32); border-radius: 999px; background: rgba(24,29,25,.25); color: rgba(255,255,255,.9); box-shadow: inset 0 1px rgba(255,255,255,.12); backdrop-filter: blur(9px); -webkit-backdrop-filter: blur(9px); font-size: 10px; letter-spacing: .16em; }
.service-city-grid .location-card h3 { margin: 0 0 13px; color: #fff; font-size: clamp(34px,3vw,45px); text-shadow: 0 2px 18px rgba(0,0,0,.25); }
.service-city-grid .location-card p { max-width: 350px; color: rgba(255,255,255,.78); line-height: 1.62; text-shadow: 0 1px 12px rgba(0,0,0,.3); }
.service-city-cta { width: max-content; min-height: 46px; margin-top: 22px; padding: 11px 13px 11px 19px; display: inline-flex; align-items: center; gap: 12px; border: 1px solid rgba(255,255,255,.5); border-radius: 999px; background: linear-gradient(135deg, rgba(249,237,215,.97), rgba(216,186,134,.95)); color: #25271f; box-shadow: 0 14px 28px rgba(8,10,8,.26), inset 0 1px rgba(255,255,255,.72); font-size: 12px; font-weight: 700; letter-spacing: .035em; text-shadow: none; transition: transform .28s ease, box-shadow .28s ease, background .28s ease; }
.service-city-cta svg { width: 25px; height: 25px; padding: 5px; flex: 0 0 auto; border-radius: 50%; background: rgba(38,42,32,.1); fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; transition: transform .28s ease, background .28s ease; }
.service-city-cta:hover, .service-city-cta:focus-visible { background: linear-gradient(135deg, #fff3dd, #e3c48f); box-shadow: 0 17px 34px rgba(8,10,8,.32), inset 0 1px #fff; outline: none; transform: translateY(-2px); }
.service-city-cta:hover svg, .service-city-cta:focus-visible svg { background: rgba(38,42,32,.15); transform: translateX(2px); }
.location-jacksonville { --city-image: url("/wp-content/uploads/smart-pavers-optimized/city-jacksonville.webp"); background-position: 58% center; }
.location-ponte-vedra { --city-image: url("/wp-content/uploads/smart-pavers-optimized/city-ponte-vedra.webp"); background-position: 57% center; }
.location-st-augustine { --city-image: url("/wp-content/uploads/smart-pavers-optimized/city-st-augustine.webp"); background-position: 58% center; }
.service-page-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.service-page-card { min-height: 520px; padding: 10px 10px 34px; display: flex; flex-direction: column; }
.service-page-card img { width: 100%; height: 340px; object-fit: cover; border-radius: 21px; }
.service-page-card h2 { margin: 27px 22px 10px; }
.service-page-card p { margin-inline: 22px; }
.service-page-card .card-link { width: max-content; margin: auto 22px 0; padding-top: 25px; color: var(--terracotta); font-weight: 600; }
.additional-services { margin-top: clamp(56px, 7vw, 94px); }
.additional-services .section-intro { margin-bottom: clamp(36px, 5vw, 58px); }
.service-area-examples { margin: clamp(40px, 5vw, 62px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; list-style: none; }
.service-area-examples li { min-height: 72px; padding: 18px 20px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(91,72,48,.15); border-radius: 18px; background: rgba(255,255,255,.72); color: var(--ink); box-shadow: 0 12px 28px rgba(61,49,35,.07), inset 0 1px #fff; font-family: var(--serif); font-size: clamp(22px, 2vw, 30px); text-align: center; }

.gallery-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; align-items: stretch; }
.gallery-item { min-width: 0; margin: 0; position: relative; overflow: hidden; border: 6px solid rgba(255,255,255,.82); border-radius: 26px; background: white; box-shadow: 0 20px 48px rgba(58,47,35,.12); }
.gallery-open { width: 100%; aspect-ratio: 4 / 3; padding: 0; display: block; overflow: hidden; border: 0; background: #e9e3d9; cursor: zoom-in; }
.gallery-open:focus-visible { outline: 3px solid #c85c35; outline-offset: -5px; }
.gallery-item img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .55s ease, filter .55s ease; }
.gallery-open:hover img, .gallery-open:focus-visible img { transform: scale(1.025); filter: brightness(.94); }
.gallery-more-toggle { display: none; }
.lightbox-open { overflow: hidden; }
.project-lightbox { width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(16,18,15,.94); color: #fff; }
.project-lightbox::backdrop { background: rgba(10,11,9,.84); backdrop-filter: blur(10px); }
.project-lightbox-shell { width: 100%; height: 100%; padding: 34px clamp(20px,4vw,64px); display: grid; grid-template-columns: 58px minmax(0,1fr) 58px; align-items: center; gap: clamp(16px,3vw,42px); }
.project-lightbox figure { min-width: 0; max-width: 1500px; margin: auto; display: flex; flex-direction: column; align-items: center; }
.project-lightbox figure img { max-width: 100%; max-height: calc(100dvh - 150px); display: block; object-fit: contain; border-radius: 12px; box-shadow: 0 32px 90px rgba(0,0,0,.48); }
.project-lightbox figcaption { width: 100%; padding-top: 17px; display: flex; justify-content: flex-end; color: rgba(255,255,255,.82); font-size: 13px; letter-spacing: .02em; }
.lightbox-count { color: rgba(255,255,255,.52); white-space: nowrap; }
.lightbox-close, .lightbox-nav { width: 52px; height: 52px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; cursor: pointer; backdrop-filter: blur(12px); transition: background .25s, border-color .25s, transform .25s; }
.lightbox-close:hover, .lightbox-nav:hover, .lightbox-close:focus-visible, .lightbox-nav:focus-visible { border-color: rgba(255,255,255,.58); background: rgba(255,255,255,.16); outline: none; transform: scale(1.05); }
.lightbox-close svg, .lightbox-nav svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.lightbox-close { position: fixed; z-index: 2; top: 24px; right: 28px; }
.project-placeholder { min-height: 280px; display: grid; place-items: center; border: 1px dashed rgba(122,93,56,.3); border-radius: 26px; background: rgba(255,255,255,.42); color: #886d4d; text-align: center; }

.stats-row { margin-top: 56px; padding-top: 34px; display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; border-top: 1px solid rgba(81,67,49,.18); }
.stats-row strong { display: block; font-family: var(--serif); font-size: clamp(34px,4vw,56px); font-weight: 400; line-height: 1; }
.stats-row span { color: var(--ink-soft); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }

/* Projects proof: bright white, with the depth and paver detailing of the index. */
.projects-proof { isolation: isolate; overflow: hidden; background-color: #fff; background-image: radial-gradient(circle at 10% 18%, rgba(231,218,197,.24), transparent 28%), radial-gradient(circle at 90% 80%, rgba(135,149,111,.1), transparent 30%); }
.projects-proof::before { content: ""; position: absolute; z-index: -1; right: -10%; bottom: -42%; width: min(760px,60vw); aspect-ratio: 1; border: 44px solid rgba(116,98,72,.045); border-radius: 50%; box-shadow: 0 0 0 1px rgba(102,82,58,.045), inset 0 0 0 1px rgba(102,82,58,.04); -webkit-mask-image: linear-gradient(145deg, #000, transparent 72%); mask-image: linear-gradient(145deg, #000, transparent 72%); pointer-events: none; }
.projects-proof::after { content: ""; position: absolute; z-index: -1; left: -7%; top: 19%; width: 42%; height: 210px; opacity: .32; background-image: linear-gradient(30deg, rgba(105,84,58,.075) 12%, transparent 12.5%, transparent 87%, rgba(105,84,58,.075) 87.5%), linear-gradient(150deg, rgba(105,84,58,.075) 12%, transparent 12.5%, transparent 87%, rgba(105,84,58,.075) 87.5%); background-size: 74px 42px; transform: rotate(-6deg); -webkit-mask-image: radial-gradient(ellipse, #000, transparent 72%); mask-image: radial-gradient(ellipse, #000, transparent 72%); pointer-events: none; }
.projects-proof .inner-shell { position: relative; z-index: 1; }
.projects-proof .proof-intro { max-width: none; margin-bottom: clamp(46px,5vw,70px); display: grid; grid-template-columns: minmax(0,1.05fr) minmax(360px,.72fr); align-items: end; gap: clamp(54px,9vw,150px); }
.projects-proof .proof-intro p { max-width: 590px; margin: 0 0 7px; padding-left: 27px; position: relative; font-size: 18px; line-height: 1.72; }
.projects-proof .proof-intro p::before { content: ""; position: absolute; left: 0; top: .35em; bottom: .28em; width: 2px; border-radius: 2px; background: linear-gradient(#b44e2c, #d6b77e 58%, #7d8767); }
.projects-proof .stats-row { margin-top: 0; padding: 9px 0 0; position: relative; overflow: hidden; gap: 0; border: 1px solid rgba(91,71,47,.14); border-radius: 36px; background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(249,247,243,.96)); box-shadow: 0 28px 72px rgba(61,49,35,.11), inset 0 1px #fff; }
.projects-proof .stats-row::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 9px; background-image: linear-gradient(180deg, rgba(255,255,255,.25), rgba(47,38,28,.07)), repeating-linear-gradient(90deg, #b69b73 0 54px, #675640 54px 56px, #d1b990 56px 110px, #695741 110px 112px, #91764f 112px 166px, #675640 166px 168px); box-shadow: 0 2px 7px rgba(58,45,30,.16); opacity: .78; }
.projects-proof .stats-row > div { min-height: 250px; padding: clamp(34px,3.5vw,50px); position: relative; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto 1fr auto; column-gap: 22px; align-items: start; border-right: 1px solid rgba(91,72,48,.12); transition: background .35s ease, transform .35s ease; }
.projects-proof .stats-row > div:last-child { border-right: 0; }
.projects-proof .stats-row > div:hover { z-index: 1; background: rgba(244,239,230,.42); transform: translateY(-3px); }
.projects-proof .stats-row svg { width: 52px; height: 52px; grid-column: 2; justify-self: end; fill: none; stroke: #71785d; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 7px 10px rgba(70,60,45,.08)); }
.projects-proof .stats-row strong { grid-column: 1; grid-row: 1 / 3; align-self: center; color: var(--ink); font-size: clamp(48px,5vw,72px); letter-spacing: -.04em; }
.projects-proof .stats-row span { grid-column: 1 / -1; align-self: end; padding-top: 28px; color: #786d5f; font-size: 11px; font-weight: 600; letter-spacing: .11em; }

.cta-wrap { padding: clamp(40px,5vw,78px) clamp(12px,2vw,28px) clamp(100px,10vw,150px); background: #fff; }
.cta-panel { width: min(100%, 1376px); min-height: 420px; margin: auto; padding: clamp(44px,7vw,96px); position: relative; display: flex; flex-direction: column; justify-content: center; overflow: hidden; border-radius: clamp(30px,4vw,56px); background: linear-gradient(110deg, rgba(25,29,23,.9), rgba(25,29,23,.48)), url("/wp-content/uploads/smart-pavers-optimized/contact-driveway-background.webp") center / cover; color: white; box-shadow: 0 32px 80px rgba(36,31,24,.2); }
.cta-panel p { max-width: 580px; margin: 22px 0 0; color: rgba(255,255,255,.82); font-size: 18px; }
.cta-panel .button { width: max-content; margin-top: 30px; border-radius: 999px; }

.service-detail-hero { --page-image: url("/wp-content/uploads/smart-pavers-optimized/ppros9.webp"); }
.service-detail-hero.driveways { background-position: center 76%; }
.service-detail-hero.patios { --page-image: url("/wp-content/uploads/smart-pavers-optimized/ppros2.webp"); }
.service-detail-hero.pools { --page-image: url("/wp-content/uploads/smart-pavers-optimized/ppros8.webp"); }
.service-detail-hero.walkways { --page-image: url("/wp-content/uploads/smart-pavers-optimized/client-walkway-hero.webp"); }
.service-detail-hero.outdoor-kitchens { --page-image: url("/wp-content/uploads/smart-pavers-optimized/gallery-patio-firepit-seating.webp"); background-position: center 58%; }
.service-detail-hero.fire-pits { --page-image: url("/wp-content/uploads/smart-pavers-optimized/featured-patio-4.webp"); background-position: center 58%; }
.service-detail-hero.paver-sealing { --page-image: url("/wp-content/uploads/smart-pavers-optimized/featured-driveway-5.webp"); background-position: center 70%; }
.service-detail-hero.turf-installation { --page-image: url("/wp-content/uploads/smart-pavers-optimized/client-turf.webp"); background-position: center 56%; }
.walkway-cta-panel { background: linear-gradient(110deg, rgba(18,47,76,.92), rgba(18,47,76,.5)), url("/wp-content/uploads/smart-pavers-optimized/client-walkway.webp") center 58% / cover; }
.walkway-shared-contact { background-image: linear-gradient(90deg, rgba(13,39,64,.6) 0%, rgba(13,39,64,.34) 43%, rgba(13,39,64,.1) 100%), linear-gradient(0deg, rgba(13,39,64,.2) 0%, transparent 66%), url("/wp-content/uploads/smart-pavers-optimized/client-walkway-contact.webp"); background-position: center, center, center 58%; }
.process-mini { counter-reset: inner-step; display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; }
.process-mini article { counter-increment: inner-step; padding: 30px; border-top: 1px solid rgba(87,70,49,.22); }
.process-mini article::before { content: "0" counter(inner-step); color: #a94727; font-size: 11px; letter-spacing: .14em; }
.process-mini h3 { margin: 34px 0 10px; font-family: var(--serif); font-size: 28px; font-weight: 400; }
.process-mini p { color: var(--ink-soft); }

/* About process: one continuous, architectural sequence on a clean white field. */
.about-process { isolation: isolate; overflow: hidden; background: #fff; }
.about-process::before { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(circle at 10% 16%, rgba(213,191,157,.15), transparent 27%), radial-gradient(circle at 91% 84%, rgba(139,157,112,.1), transparent 28%); pointer-events: none; }
.about-process::after { content: ""; position: absolute; z-index: -1; right: -110px; bottom: -150px; width: 520px; height: 360px; opacity: .32; background-image: linear-gradient(30deg, rgba(109,88,60,.08) 12%, transparent 12.5%, transparent 87%, rgba(109,88,60,.08) 87.5%), linear-gradient(150deg, rgba(109,88,60,.08) 12%, transparent 12.5%, transparent 87%, rgba(109,88,60,.08) 87.5%); background-size: 74px 42px; transform: rotate(-8deg); -webkit-mask-image: radial-gradient(circle, #000, transparent 70%); mask-image: radial-gradient(circle, #000, transparent 70%); pointer-events: none; }
.about-process .inner-shell { position: relative; }
.about-process .section-intro { max-width: none; margin-bottom: clamp(46px,5vw,68px); display: grid; grid-template-columns: minmax(0,1.15fr) minmax(320px,.75fr); align-items: end; gap: clamp(50px,9vw,150px); }
.about-process .section-intro p { margin: 0 0 5px; padding-left: 28px; position: relative; }
.about-process .section-intro p::before { content: ""; position: absolute; left: 0; top: .3em; bottom: .25em; width: 2px; border-radius: 2px; background: linear-gradient(#c65b36, #d6b77e); }
.about-process .process-mini { position: relative; gap: 0; overflow: hidden; border: 1px solid rgba(99,78,52,.14); border-radius: 34px; background: linear-gradient(135deg, rgba(250,248,244,.97), rgba(255,255,255,.95) 52%, rgba(244,239,231,.78)); box-shadow: 0 26px 70px rgba(63,51,37,.1), inset 0 1px #fff; }
.about-process .process-mini::before { content: ""; position: absolute; top: 65px; left: 7%; right: 7%; height: 1px; background: linear-gradient(90deg, rgba(174,92,54,.18), rgba(115,111,78,.3) 50%, rgba(174,92,54,.18)); }
.about-process .process-mini article { position: relative; min-height: 330px; padding: 38px clamp(24px,2.4vw,38px) 38px; border-top: 0; border-right: 1px solid rgba(91,72,48,.11); transition: background .35s ease, transform .35s ease; }
.about-process .process-mini article:last-child { border-right: 0; }
.about-process .process-mini article::before { content: none; }
.about-process .process-mini article:hover { z-index: 1; background: rgba(255,255,255,.68); transform: translateY(-4px); }
.process-step-top { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; }
.process-step-top span { min-width: 46px; height: 30px; padding-inline: 12px; display: grid; place-items: center; border: 1px solid rgba(169,71,39,.3); border-radius: 999px; background: #fff; color: #a94727; box-shadow: 0 8px 22px rgba(72,55,37,.08); font-size: 10px; font-weight: 600; letter-spacing: .16em; }
.process-step-top svg { width: 49px; height: 49px; padding: 10px; border: 1px solid rgba(93,78,58,.15); border-radius: 14px; background: rgba(248,244,237,.92); fill: none; stroke: #656a51; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; box-shadow: inset 0 1px #fff; }
.about-process .process-mini h3 { margin: 52px 0 14px; font-size: clamp(30px,2.6vw,40px); line-height: 1; }
.about-process .process-mini p { margin: 0; max-width: 260px; line-height: 1.7; }

/* About values: a single tailored stone composition rather than loose cards. */
.about-values { isolation: isolate; overflow: hidden; background-color: #eee6da; background-image: radial-gradient(circle at 8% 12%, rgba(255,255,255,.9), transparent 28%), radial-gradient(circle at 92% 82%, rgba(119,132,92,.15), transparent 31%), linear-gradient(122deg, rgba(211,182,137,.13), transparent 42%), repeating-linear-gradient(90deg, transparent 0 139px, rgba(91,72,48,.024) 139px 140px), repeating-linear-gradient(0deg, transparent 0 89px, rgba(91,72,48,.021) 89px 90px); }
.about-values::before { content: ""; position: absolute; z-index: -1; right: -9%; top: -18%; width: min(720px,58vw); aspect-ratio: 1; border: 54px solid rgba(110,93,66,.055); border-radius: 50%; box-shadow: 0 0 0 2px rgba(255,255,255,.34), inset 0 0 0 2px rgba(89,73,51,.035); -webkit-mask-image: linear-gradient(135deg, #000, transparent 72%); mask-image: linear-gradient(135deg, #000, transparent 72%); pointer-events: none; }
.about-values::after { content: ""; position: absolute; z-index: -1; left: -5%; bottom: 7%; width: 48%; height: 1px; background: linear-gradient(90deg, transparent, rgba(177,134,79,.45), rgba(112,118,82,.18), transparent); transform: rotate(-7deg); pointer-events: none; }
.about-values .inner-shell { position: relative; z-index: 1; }
.about-values .values-intro { max-width: none; margin-bottom: clamp(48px,6vw,78px); display: grid; grid-template-columns: minmax(0,1.05fr) minmax(340px,.7fr); align-items: end; gap: clamp(48px,9vw,145px); }
.about-values .values-intro p { max-width: 530px; margin: 0 0 7px; padding-left: 27px; position: relative; font-size: 18px; line-height: 1.72; }
.about-values .values-intro p::before { content: ""; position: absolute; left: 0; top: .35em; bottom: .3em; width: 2px; border-radius: 2px; background: linear-gradient(#b44e2c, #d6b77e 58%, #7e8767); }
.about-values .value-grid { position: relative; gap: 0; overflow: hidden; border: 1px solid rgba(90,70,46,.17); border-radius: 38px; background: linear-gradient(137deg, rgba(255,255,255,.92), rgba(249,245,237,.86) 55%, rgba(239,230,216,.88)); box-shadow: 0 30px 78px rgba(62,49,34,.14), inset 0 1px rgba(255,255,255,.92); }
.about-values .value-grid::before { content: ""; position: absolute; z-index: 2; left: 0; right: 0; top: 0; height: 9px; background-image: linear-gradient(180deg, rgba(255,255,255,.26), rgba(48,39,29,.08)), repeating-linear-gradient(90deg, #b59a72 0 54px, #66543e 54px 56px, #d0b78f 56px 110px, #685640 110px 112px, #927650 112px 166px, #66543e 166px 168px); box-shadow: 0 2px 7px rgba(59,46,31,.18), inset 0 1px rgba(255,255,255,.36); opacity: .8; }
.about-values .value-card { min-height: 370px; padding: clamp(42px,4vw,58px) clamp(30px,3.2vw,50px) 48px; overflow: visible; border: 0; border-right: 1px solid rgba(91,72,48,.13); border-radius: 0; background: transparent; box-shadow: none; transition: background .35s ease, transform .35s ease; }
.about-values .value-card:last-child { border-right: 0; }
.about-values .value-card::before { content: ""; position: absolute; left: clamp(30px,3.2vw,50px); right: clamp(30px,3.2vw,50px); bottom: 0; height: 3px; border-radius: 3px 3px 0 0; background: linear-gradient(90deg, #a94727, #d1ae73 56%, rgba(118,130,91,.62)); opacity: 0; transform: scaleX(.35); transform-origin: left; transition: opacity .35s ease, transform .35s ease; }
.about-values .value-card:hover { z-index: 1; background: rgba(255,255,255,.5); transform: translateY(-4px); }
.about-values .value-card:hover::before { opacity: 1; transform: scaleX(1); }
.value-card-top { min-height: 66px; display: flex; align-items: center; justify-content: space-between; }
.about-values .value-card-top span { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(169,71,39,.24); border-radius: 50%; background: rgba(255,255,255,.72); color: #a94727; box-shadow: 0 10px 24px rgba(74,56,36,.08), inset 0 1px white; font-family: var(--serif); font-size: 16px; font-weight: 500; letter-spacing: 0; }
.value-card-top svg { width: 62px; height: 62px; fill: none; stroke: #626b51; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 7px 10px rgba(77,66,50,.08)); }
.value-card-top .value-icon { overflow: visible; }
.value-icon .value-icon-node { fill: #f5eee2; stroke: #a94727; stroke-width: 1.5; }
.value-icon .value-icon-accent { stroke: #a94727; }
.value-icon .value-icon-guide { stroke: #a99169; }
.about-values .value-card h3 { margin: 58px 0 15px; font-size: clamp(32px,3vw,44px); }
.about-values .value-card p { max-width: 330px; line-height: 1.72; }

.contact-intake { isolation: isolate; overflow: hidden; }
.contact-intake::before { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(circle at 7% 22%, rgba(255,255,255,.72), transparent 29%), radial-gradient(circle at 87% 72%, rgba(182,117,70,.11), transparent 28%); pointer-events: none; }
.contact-intake::after { content: ""; position: absolute; z-index: -1; left: -180px; bottom: -190px; width: 680px; height: 420px; opacity: .28; background-image: linear-gradient(30deg, rgba(100,82,58,.1) 12%, transparent 12.5%, transparent 87%, rgba(100,82,58,.1) 87.5%), linear-gradient(150deg, rgba(100,82,58,.1) 12%, transparent 12.5%, transparent 87%, rgba(100,82,58,.1) 87.5%); background-size: 78px 45px; transform: rotate(7deg); -webkit-mask-image: radial-gradient(circle, #000, transparent 70%); mask-image: radial-gradient(circle, #000, transparent 70%); pointer-events: none; }
.contact-page-layout { display: grid; grid-template-columns: minmax(320px,.82fr) minmax(520px,1.18fr); gap: clamp(54px,8vw,118px); align-items: center; }
.contact-details { padding: 30px 0; }
.contact-details h2 { margin: 0; font-family: var(--serif); font-size: clamp(44px,5vw,72px); font-weight: 400; line-height: .94; }
.contact-details > p { max-width: 520px; margin: 26px 0 0; color: var(--ink-soft); font-size: 18px; line-height: 1.7; }
.contact-details address { margin-top: 38px; display: grid; gap: 0; font-style: normal; }
.contact-details address a { font-family: var(--sans); font-size: inherit; }
.contact-method { padding: 20px 0; display: flex; align-items: center; gap: 17px; border-top: 1px solid rgba(81,66,48,.15); color: var(--ink); transition: color .25s ease, transform .25s ease; }
.contact-method:hover, .contact-method:focus-visible { color: #a94727; transform: translateX(4px); }
.contact-method svg { width: 45px; height: 45px; padding: 11px; flex: 0 0 auto; border: 1px solid rgba(169,71,39,.2); border-radius: 50%; background: rgba(255,255,255,.58); fill: none; stroke: #a94727; stroke-width: 1.45; stroke-linecap: round; stroke-linejoin: round; box-shadow: inset 0 1px #fff, 0 8px 20px rgba(77,57,36,.06); }
.contact-method span { display: grid; gap: 4px; }
.contact-method small { color: #7b6e5d; font-size: 10px; font-weight: 600; letter-spacing: .11em; text-transform: uppercase; }
.contact-method strong { font-family: var(--serif); font-size: clamp(21px,2vw,28px); font-weight: 400; line-height: 1.12; }
.service-note { padding-top: 20px; display: flex; align-items: center; gap: 10px; color: #676b54; font-size: 13px; }
.service-note i { width: 8px; height: 8px; border-radius: 50%; background: #88906b; box-shadow: 0 0 0 5px rgba(136,144,107,.12); }
.inner-page .contact-intake .estimate-form { position: relative; overflow: hidden; padding: clamp(34px,4vw,54px); border: 1px solid rgba(117,91,58,.14); border-radius: 38px; background: linear-gradient(145deg, rgba(255,255,255,.97), rgba(252,249,244,.94)); box-shadow: 0 34px 80px rgba(66,52,36,.15), inset 0 1px #fff; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.contact-intake .estimate-form::before { content: ""; position: absolute; top: 0; left: 44px; right: 44px; height: 3px; border-radius: 0 0 4px 4px; background: linear-gradient(90deg, #b34f2e, #d7b579 56%, #7c8662); }
.contact-intake .estimate-form::after { content: ""; position: absolute; right: -42px; bottom: -48px; width: 210px; height: 130px; opacity: .22; background: repeating-linear-gradient(90deg, rgba(98,79,55,.14) 0 1px, transparent 1px 52px), repeating-linear-gradient(0deg, rgba(98,79,55,.12) 0 1px, transparent 1px 34px); transform: rotate(-9deg); pointer-events: none; }
.form-intro { position: relative; z-index: 1; grid-column: 1 / -1; margin-bottom: 10px; }
.form-intro h3 { margin: 0; font-family: var(--serif); font-size: clamp(30px,3vw,42px); font-weight: 400; line-height: 1; }
.form-intro p { margin: 9px 0 0; color: #786d5f; font-size: 14px; }
.contact-intake .field, .contact-intake .estimate-form .button, .contact-intake .form-status { position: relative; z-index: 1; }
.contact-intake .field { gap: 9px; }
.contact-intake .field label { color: #5d564d; font-size: 10px; }
.contact-intake .field input, .contact-intake .field select, .contact-intake .field textarea { padding: 14px 16px; border: 1px solid rgba(89,72,51,.18); border-radius: 13px; background: rgba(250,248,244,.86); font: 500 15px/1.4 var(--sans); transition: border-color .22s, background .22s, box-shadow .22s; }
.contact-intake .field textarea { min-height: 132px; }
.contact-intake .field input:focus, .contact-intake .field select:focus, .contact-intake .field textarea:focus { border-color: rgba(169,71,39,.62); background: #fff; box-shadow: 0 0 0 4px rgba(169,71,39,.08); }
.contact-intake .estimate-form .button { min-height: 52px; padding-inline: 25px; border-radius: 999px; box-shadow: 0 12px 28px rgba(157,67,37,.2); }

.legal-wrap { width: min(100% - 48px, 900px); margin: auto; padding: clamp(80px,9vw,130px) 0 150px; }
.legal-wrap h1 { margin: 0 0 22px; font-family: var(--serif); font-size: clamp(50px,7vw,86px); font-weight: 400; line-height: .94; }
.legal-wrap .updated { color: #8a7255; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.legal-wrap h2 { margin: 54px 0 14px; font-family: var(--serif); font-size: 34px; font-weight: 400; }
.legal-wrap p, .legal-wrap li { color: var(--ink-soft); }

/* Terms: an architectural limestone reading surface inspired by the index page. */
.terms-page { background: #eee7dc; }
.legal-main { position: relative; isolation: isolate; overflow: hidden; background-color: #eee7dc; background-image: radial-gradient(circle at 8% 10%, rgba(255,255,255,.86), transparent 29%), radial-gradient(circle at 91% 77%, rgba(125,139,98,.12), transparent 30%), linear-gradient(118deg, rgba(205,174,128,.1), transparent 45%), repeating-linear-gradient(90deg, transparent 0 159px, rgba(91,72,48,.024) 159px 160px), repeating-linear-gradient(0deg, transparent 0 99px, rgba(91,72,48,.021) 99px 100px); }
.legal-main::before { content: ""; position: absolute; z-index: -1; top: 80px; right: -250px; width: min(780px,62vw); aspect-ratio: 1; border: 68px solid rgba(112,96,70,.045); border-radius: 50%; box-shadow: 0 0 0 2px rgba(255,255,255,.34), inset 0 0 0 2px rgba(89,73,51,.025); -webkit-mask-image: linear-gradient(135deg,#000,transparent 74%); mask-image: linear-gradient(135deg,#000,transparent 74%); pointer-events: none; }
.legal-main::after { content: ""; position: absolute; z-index: -1; left: -8%; bottom: 10%; width: 55%; height: 1px; background: linear-gradient(90deg, transparent, rgba(176,126,70,.4), rgba(111,122,84,.18), transparent); transform: rotate(-7deg); pointer-events: none; }
.premium-legal { width: min(100% - 72px, 1120px); padding: clamp(90px,9vw,138px) 0 clamp(110px,11vw,170px); }
.legal-header { position: relative; padding: clamp(42px,5vw,68px) clamp(30px,5vw,70px) clamp(44px,5vw,64px); display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 42px; overflow: hidden; border: 1px solid rgba(93,73,49,.15); border-radius: 38px 38px 0 0; background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(250,247,241,.84) 58%, rgba(240,232,219,.9)); box-shadow: 0 30px 76px rgba(62,49,34,.13), inset 0 1px rgba(255,255,255,.95); }
.legal-header::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 10px; background-image: linear-gradient(180deg,rgba(255,255,255,.2),rgba(48,39,29,.09)), repeating-linear-gradient(90deg,#b59a72 0 58px,#66543e 58px 60px,#d0b78f 60px 118px,#685640 118px 120px,#927650 120px 178px,#66543e 178px 180px); box-shadow: 0 2px 8px rgba(59,46,31,.16); opacity: .82; }
.legal-header::after { content: ""; position: absolute; right: clamp(30px,5vw,70px); bottom: 0; width: min(260px,30%); height: 3px; background: linear-gradient(90deg,#a94727,#d1ae73 58%,#7c8563); }
.premium-legal .legal-header h1 { margin: 0; font-size: clamp(58px,7.6vw,96px); letter-spacing: -.045em; }
.premium-legal .legal-header .updated { margin: 0 0 8px; padding-left: 22px; border-left: 1px solid rgba(151,102,56,.42); white-space: nowrap; }
.legal-sections { counter-reset: legal-section; position: relative; padding: clamp(34px,4vw,54px) clamp(28px,5vw,70px) clamp(48px,6vw,78px); border: 1px solid rgba(93,73,49,.13); border-top: 0; border-radius: 0 0 38px 38px; background: rgba(255,255,255,.68); box-shadow: 0 34px 80px rgba(62,49,34,.11), inset 0 1px rgba(255,255,255,.8); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.legal-sections::before { content: ""; position: absolute; top: 48px; bottom: 72px; left: clamp(48px,6.8vw,94px); width: 1px; background: linear-gradient(transparent,rgba(142,106,65,.26) 7%,rgba(142,106,65,.26) 93%,transparent); }
.legal-section { counter-increment: legal-section; position: relative; min-height: 160px; padding: clamp(30px,3vw,42px) 0 clamp(34px,3.4vw,48px) clamp(72px,8vw,112px); border-bottom: 1px solid rgba(92,74,52,.13); }
.legal-section:last-child { border-bottom: 0; }
.legal-section::before { content: counter(legal-section,decimal-leading-zero); position: absolute; left: 0; top: clamp(34px,3.2vw,46px); width: 43px; height: 43px; display: grid; place-items: center; border: 1px solid rgba(169,71,39,.24); border-radius: 50%; background: #faf7f1; color: #a94727; box-shadow: 0 9px 23px rgba(72,55,37,.08), inset 0 1px white; font-family: var(--serif); font-size: 14px; }
.premium-legal .legal-section h2 { margin: 0 0 13px; color: #252720; font-size: clamp(29px,3vw,38px); line-height: 1.05; }
.premium-legal .legal-section p { max-width: 760px; margin: 0; font-size: 17px; line-height: 1.8; }
.premium-legal .legal-section a { color: #a94727; font-weight: 600; text-decoration: underline; text-decoration-color: rgba(169,71,39,.3); text-underline-offset: 4px; transition: color .2s, text-decoration-color .2s; }
.premium-legal .legal-section a:hover, .premium-legal .legal-section a:focus-visible { color: #7f351f; text-decoration-color: currentColor; }
.privacy-page .legal-header h1 { white-space: nowrap; }
.accessibility-list { max-width: 780px; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 30px; list-style: none; }
.accessibility-list li { position: relative; padding: 13px 16px 13px 39px; border: 1px solid rgba(99,78,52,.12); border-radius: 12px; background: rgba(250,247,241,.7); line-height: 1.5; box-shadow: inset 0 1px rgba(255,255,255,.78); }
.accessibility-list li::before { content: ""; position: absolute; left: 16px; top: 19px; width: 9px; height: 5px; border-left: 2px solid #7b8462; border-bottom: 2px solid #7b8462; transform: rotate(-45deg); }

.inner-footer { margin-top: 68px; }
.inner-page.has-shared-contact .inner-footer { margin-top: 0; }
.inner-shared-contact { width: 100%; margin: 0; border-radius: 0; }
.footer-legal a { color: inherit; }

@media (max-width: 900px) {
  .inner-shell, .page-hero-content { width: min(calc(100% - 40px), 720px); }
  .page-hero { min-height: 590px; margin: 0; background-position: 62% center; }
  .page-hero h1 { font-size: clamp(52px,14vw,84px); }
  .contact-hero h1 { font-size: clamp(42px,10.5vw,72px); }
  .split-feature, .split-feature.reverse, .contact-page-layout { grid-template-columns: 1fr; }
  .contact-page-layout { gap: 50px; }
  .split-feature.reverse .split-media { order: 0; }
  .value-grid { grid-template-columns: 1fr; }
  .service-cities .section-intro { grid-template-columns: 1fr; gap: 25px; }
  .service-cities .section-intro p { max-width: 620px; }
  .service-city-grid .location-card { min-height: 390px; }
  .legal-header { grid-template-columns: 1fr; gap: 24px; }
  .premium-legal .legal-header .updated { white-space: normal; }
  .service-page-grid { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .process-mini { grid-template-columns: repeat(2,1fr); }
  .about-process .section-intro { grid-template-columns: 1fr; gap: 26px; }
  .about-process .section-intro p { max-width: 620px; }
  .about-process .process-mini article { border-bottom: 1px solid rgba(91,72,48,.11); }
  .about-process .process-mini article:nth-child(2n) { border-right: 0; }
  .about-process .process-mini article:nth-last-child(-n+2) { border-bottom: 0; }
  .about-process .process-mini::before { display: none; }
  .about-values .values-intro { grid-template-columns: 1fr; gap: 28px; }
  .about-values .values-intro p { max-width: 620px; }
  .about-values .value-card { min-height: 300px; border-right: 0; border-bottom: 1px solid rgba(91,72,48,.13); }
  .about-values .value-card:last-child { border-bottom: 0; }
  .about-values .value-card h3 { margin-top: 38px; }
  .about-values .value-card p { max-width: 620px; }
  .stats-row { grid-template-columns: 1fr; }
  .projects-proof .proof-intro { grid-template-columns: 1fr; gap: 28px; }
  .projects-proof .proof-intro p { max-width: 620px; }
  .projects-proof .stats-row > div { min-height: 210px; border-right: 0; border-bottom: 1px solid rgba(91,72,48,.12); }
  .projects-proof .stats-row > div:last-child { border-bottom: 0; }
}

@media (max-width: 720px) {
  .service-area-examples { grid-template-columns: 1fr; gap: 10px; }

  .inner-page[data-page="about"] .page-hero-content { top: -32px; }

  .inner-page[data-page="services"] .page-hero-content,
  .inner-page[data-page="services"] .section-intro,
  .inner-page[data-page="services"] .service-page-card,
  .inner-page[data-page="services"] .split-copy { text-align: center; }

  .inner-page[data-page="services"] .page-hero h1,
  .inner-page[data-page="services"] .page-hero .hero-summary,
  .inner-page[data-page="services"] .section-intro h2,
  .inner-page[data-page="services"] .section-intro > p,
  .inner-page[data-page="services"] .split-copy h2,
  .inner-page[data-page="services"] .split-copy > p { margin-inline: auto; }

  .inner-page[data-page="services"] .page-hero-actions { justify-content: center; }
  .inner-page[data-page="services"] .service-page-grid,
  .inner-page[data-page="services"] .detail-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inner-page[data-page="services"] .detail-list { max-width: 520px; margin-inline: auto; gap: 12px; }
  .inner-page[data-page="services"] .detail-list li { min-height: 112px; padding: 16px 12px; flex-direction: column; justify-content: center; gap: 10px; text-align: center; border: 1px solid rgba(92,73,49,.14); border-radius: 18px; background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(247,242,234,.9)); box-shadow: 0 13px 28px rgba(59,48,35,.08), inset 0 1px #fff; }
  .inner-page[data-page="services"] .detail-list li::before { margin-inline: auto; }
  .inner-page[data-page="services"] .page-hero-actions .button,
  .inner-page[data-page="services"] .split-copy .button,
  .inner-page[data-page="services"] .cta-panel .button { width: min(100%, 280px); justify-content: center; margin-inline: auto; text-align: center; }

  .inner-page[data-page="about"] .page-hero-content,
  .inner-page[data-page="about"] .split-copy,
  .inner-page[data-page="about"] .section-intro,
  .inner-page[data-page="about"] .values-intro,
  .inner-page[data-page="about"] .process-mini article,
  .inner-page[data-page="about"] .value-card { text-align: center; }

  .inner-page[data-page="about"] .page-hero h1,
  .inner-page[data-page="about"] .page-hero .hero-summary,
  .inner-page[data-page="about"] .split-copy h2,
  .inner-page[data-page="about"] .split-copy > p,
  .inner-page[data-page="about"] .section-intro h2,
  .inner-page[data-page="about"] .section-intro > p,
  .inner-page[data-page="about"] .values-intro h2,
  .inner-page[data-page="about"] .values-intro > p,
  .inner-page[data-page="about"] .process-mini article > p,
  .inner-page[data-page="about"] .value-card > p { margin-inline: auto; }

  .inner-page[data-page="about"] .detail-list { margin-inline: auto; }
  .inner-page[data-page="about"] .detail-list li { justify-content: center; text-align: center; }
  .inner-page[data-page="about"] .process-step-top,
  .inner-page[data-page="about"] .value-card-top { justify-content: center; }
  .inner-page[data-page="about"] .about-process .section-intro p,
  .inner-page[data-page="about"] .about-values .values-intro p { padding-left: 0; }
  .inner-page[data-page="about"] .about-process .section-intro p::before,
  .inner-page[data-page="about"] .about-values .values-intro p::before { left: 50%; top: auto; bottom: -18px; width: 72px; height: 2px; transform: translateX(-50%); }

  .inner-page[data-page="projects"] .projects-proof .proof-intro {
    text-align: center;
  }
  .inner-page[data-page="projects"] .projects-proof .proof-intro h2,
  .inner-page[data-page="projects"] .projects-proof .proof-intro p {
    margin-inline: auto;
  }
  .inner-page[data-page="projects"] .projects-proof .proof-intro p {
    padding: 0 0 22px;
  }
  .inner-page[data-page="projects"] .projects-proof .proof-intro p::before {
    left: 50%;
    top: auto;
    bottom: 0;
    width: 72px;
    height: 2px;
    transform: translateX(-50%);
  }
}

@media (max-width: 600px) {
  body.inner-page { background-color: #183a5d; }
  .inner-page .inner-header { height: 72px; }
  .page-hero { min-height: 440px; align-items: flex-start; border-radius: 0; }
  .page-hero .inner-hero-wave { height: 50px; }
  .page-hero-content { top: 0; width: 100%; max-width: 100%; padding: 58px 18px 86px; }
  .page-hero h1 { font-size: 52px; line-height: .9; }
  .contact-hero h1 { font-size: clamp(42px,10.5vw,52px); }
  .page-hero .hero-summary { width: 100%; max-width: 100%; font-size: 17px; }
  .inner-shell { width: calc(100% - 36px); }
  .content-band { padding-block: 74px; }
  .section-intro h2, .split-copy h2, .cta-panel h2 { font-size: 42px; }
  .split-media { min-height: 360px; border-radius: 28px; }
  .service-page-card img { height: 260px; }
  .process-mini { grid-template-columns: 1fr; }
  .driveway-expectations .process-mini,
  .walkway-process .process-mini { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .driveway-expectations .process-mini article,
  .walkway-process .process-mini article { min-width: 0; padding: 22px 14px 24px; }
  .driveway-expectations .process-mini article { text-align: center; }
  .walkway-process .process-mini article { text-align: center; }
  .driveway-expectations .process-mini h3,
  .walkway-process .process-mini h3 { margin-top: 24px; font-size: clamp(22px, 6.7vw, 27px); line-height: 1.02; }
  .driveway-expectations .process-mini p,
  .walkway-process .process-mini p { font-size: 13px; line-height: 1.5; }
  .driveway-expectations .process-mini p { max-width: 160px; margin-inline: auto; }
  .walkway-process .process-mini p { max-width: 160px; margin-inline: auto; }
  .about-process .section-intro p { padding-left: 20px; }
  .about-process .process-mini { border-radius: 26px; }
  .about-process .process-mini article { min-height: 0; padding: 30px 26px 34px; border-right: 0; border-bottom: 1px solid rgba(91,72,48,.11); }
  .about-process .process-mini article:nth-last-child(-n+2) { border-bottom: 1px solid rgba(91,72,48,.11); }
  .about-process .process-mini article:last-child { border-bottom: 0; }
  .about-process .process-mini h3 { margin-top: 32px; }
  .about-values .value-grid { border-radius: 28px; }
  .about-values .value-card { min-height: 280px; padding: 38px 25px 36px; }
  .about-values .value-card::before { left: 25px; right: 25px; }
  .about-values .value-card h3 { margin-top: 34px; font-size: 34px; }
  .value-card-top svg { width: 54px; height: 54px; }
  .service-city-grid .location-card { min-height: 350px; padding: 28px 26px; border-radius: 26px; }
  .service-city-grid .location-card::after { inset: 8px; border-radius: 19px; }
  .service-city-grid .location-card h3 { font-size: 36px; }
  .premium-legal { width: calc(100% - 28px); padding-block: 56px 90px; }
  .legal-header { padding: 42px 24px 36px; border-radius: 27px 27px 0 0; }
  .premium-legal .legal-header h1 { font-size: 54px; }
  .terms-page .legal-header h1 {
    width: 100%;
    justify-self: center;
    text-align: center;
  }
  .legal-sections { padding: 24px 22px 36px; border-radius: 0 0 27px 27px; }
  .legal-sections::before { display: none; }
  .legal-section { min-height: 0; padding: 30px 0 34px 58px; }
  .legal-section::before { top: 31px; width: 37px; height: 37px; font-size: 12px; }
  .premium-legal .legal-section h2 { font-size: 30px; }
  .premium-legal .legal-section p { font-size: 16px; line-height: 1.72; }
  .privacy-page .legal-header h1 { font-size: clamp(43px,13.2vw,54px); white-space: nowrap; }
  .accessibility-list { grid-template-columns: 1fr; gap: 9px; }
  .accessibility-list li { padding: 12px 14px 12px 37px; font-size: 15px; }
  .projects-proof .stats-row { border-radius: 28px; }
  .projects-proof .stats-row > div { min-height: 190px; padding: 32px 25px 28px; }
  .projects-proof .stats-row strong { font-size: 52px; }
  .projects-proof .stats-row svg { width: 46px; height: 46px; }
  .contact-details { padding: 0; }
  .contact-details h2 { font-size: 46px; }
  .contact-details > p { font-size: 17px; }
  .contact-method { align-items: flex-start; }
  .contact-method strong { font-size: 22px; }
  .inner-page .contact-intake .estimate-form { padding: 34px 22px 28px; border-radius: 27px; }
  .contact-intake .estimate-form::before { left: 24px; right: 24px; }
  .form-intro h3 { font-size: 32px; }

  /* Contact: use the centered, compact mobile rhythm established on the index page. */
  .inner-page[data-page="contact"] .page-hero-content,
  .inner-page[data-page="contact"] .contact-details,
  .inner-page[data-page="contact"] .form-intro,
  .inner-page[data-page="contact"] .contact-next-steps .section-intro,
  .inner-page[data-page="contact"] .contact-next-steps .process-mini article {
    text-align: center;
  }
  .inner-page[data-page="contact"] .page-hero h1,
  .inner-page[data-page="contact"] .page-hero .hero-summary,
  .inner-page[data-page="contact"] .contact-details > p,
  .inner-page[data-page="contact"] .contact-next-steps .section-intro h2,
  .inner-page[data-page="contact"] .contact-next-steps .process-mini p {
    margin-inline: auto;
  }
  .inner-page[data-page="contact"] .page-hero { min-height: 320px; }
  .inner-page[data-page="contact"] .page-hero-content { padding: 58px 22px 62px; }
  .inner-page[data-page="contact"] .page-hero h1 { font-size: clamp(40px, 10.5vw, 46px); line-height: .92; }
  .inner-page[data-page="contact"] .page-hero .hero-summary { max-width: 345px; margin-top: 22px; font-size: 16px; line-height: 1.52; }
  .inner-page[data-page="contact"] .contact-page-layout { gap: 40px; }
  .inner-page[data-page="contact"] .contact-details h2 { font-size: 42px; line-height: .96; }
  .inner-page[data-page="contact"] .contact-details > p { max-width: 350px; font-size: 16px; line-height: 1.62; }
  .inner-page[data-page="contact"] .contact-details address { max-width: 360px; margin: 32px auto 0; }
  .inner-page[data-page="contact"] .contact-method {
    padding: 22px 12px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    text-align: center;
  }
  .inner-page[data-page="contact"] .contact-method:hover,
  .inner-page[data-page="contact"] .contact-method:focus-visible { transform: translateY(-2px); }
  .inner-page[data-page="contact"] .contact-method span { justify-items: center; }
  .inner-page[data-page="contact"] .service-note { justify-content: center; }
  .inner-page[data-page="contact"] .contact-intake .estimate-form { text-align: center; }
  .inner-page[data-page="contact"] .contact-intake .estimate-form {
    grid-template-columns: 1fr;
  }
  .inner-page[data-page="contact"] .contact-intake .field {
    grid-column: 1 / -1;
  }
  .inner-page[data-page="contact"] .contact-intake .field label { text-align: center; }
  .inner-page[data-page="contact"] .contact-intake .field input,
  .inner-page[data-page="contact"] .contact-intake .field select,
  .inner-page[data-page="contact"] .contact-intake .field textarea {
    text-align: center;
    text-align-last: center;
  }
  .inner-page[data-page="contact"] .contact-intake .estimate-form .button {
    width: min(100%, 290px);
    margin-inline: auto;
    justify-content: center;
  }
  .inner-page[data-page="contact"] .contact-next-steps .section-intro { margin-bottom: 34px; }
  .inner-page[data-page="contact"] .contact-next-steps .section-intro h2 { font-size: 40px; line-height: .96; }
  .inner-page[data-page="contact"] .contact-next-steps .process-mini {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .inner-page[data-page="contact"] .contact-next-steps .process-mini article {
    min-width: 0;
    padding: 22px 13px 24px;
  }
  .inner-page[data-page="contact"] .contact-next-steps .process-mini h3 {
    margin-top: 24px;
    font-size: clamp(22px, 6.6vw, 27px);
    line-height: 1.02;
  }
  .inner-page[data-page="contact"] .contact-next-steps .process-mini p {
    max-width: 160px;
    font-size: 13px;
    line-height: 1.5;
  }
  .cta-panel { min-height: 460px; padding: 34px 26px; }
  .gallery-grid { grid-template-columns: 1fr; }
  .project-lightbox { background: #10120f; }
  .project-lightbox-shell { position: relative; height: 100dvh; padding: 0; display: block; }
  .project-lightbox figure { width: 100vw; max-width: none; height: 100dvh; margin: 0; display: block; }
  .project-lightbox figure img { width: 100%; max-width: none; height: 100%; max-height: none; border-radius: 0; object-fit: contain; box-shadow: none; }
  .project-lightbox figcaption { width: auto; padding: 8px 12px; position: fixed; z-index: 3; left: 50%; bottom: max(14px, env(safe-area-inset-bottom)); border: 1px solid rgba(255,255,255,.16); border-radius: 999px; background: rgba(16,18,15,.7); font-size: 11px; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); transform: translateX(-50%); }
  .lightbox-close { width: 42px; height: 42px; top: max(12px, env(safe-area-inset-top)); right: 12px; background: rgba(16,18,15,.66); }
  .lightbox-nav { width: 40px; height: 48px; position: fixed; z-index: 3; top: 50%; border-radius: 999px; background: rgba(16,18,15,.58); transform: translateY(-50%); }
  .lightbox-nav:hover, .lightbox-nav:focus-visible { transform: translateY(-50%) scale(1.05); }
  .lightbox-prev { left: 10px; }
  .lightbox-next { right: 10px; }

  /* About: carry the centered, two-column mobile rhythm established on the index page. */
  .inner-page[data-page="about"] .page-hero { min-height: 300px; background-position: 58% center; }
  .inner-page[data-page="about"] .page-hero-content { top: 0; padding: 48px 22px 72px; text-align: center; }
  .inner-page[data-page="about"] .page-hero h1,
  .inner-page[data-page="about"] .page-hero .hero-summary { margin-inline: auto; }
  .inner-page[data-page="about"] .page-hero h1 { max-width: 350px; font-size: clamp(38px, 10vw, 46px); line-height: .92; }
  .inner-page[data-page="about"] .page-hero .hero-summary { max-width: 350px; margin-top: 22px; font-size: 16px; line-height: 1.5; }
  .inner-page[data-page="about"] .content-band { padding-block: 66px; }
  .inner-page[data-page="about"] .split-feature { gap: 36px; }
  .inner-page[data-page="about"] .split-copy,
  .inner-page[data-page="about"] .section-intro { text-align: center; }
  .inner-page[data-page="about"] .split-copy h2,
  .inner-page[data-page="about"] .split-copy > p,
  .inner-page[data-page="about"] .section-intro h2,
  .inner-page[data-page="about"] .section-intro > p { margin-inline: auto; }
  .inner-page[data-page="about"] .split-copy h2,
  .inner-page[data-page="about"] .section-intro h2 { font-size: 39px; line-height: .96; }
  .inner-page[data-page="about"] .split-copy > p,
  .inner-page[data-page="about"] .section-intro > p { max-width: 350px; font-size: 16px; line-height: 1.62; }
  .inner-page[data-page="about"] .detail-list { max-width: 360px; margin: 28px auto 0; }
  .inner-page[data-page="about"] .detail-list li { min-height: 62px; padding: 14px 8px; justify-content: center; gap: 12px; text-align: center; font-size: 14px; line-height: 1.45; }
  .inner-page[data-page="about"] .split-media { min-height: 310px; border-radius: 25px; }
  .inner-page[data-page="about"] .about-process .section-intro { margin-bottom: 34px; }
  .inner-page[data-page="about"] .about-process .section-intro p,
  .inner-page[data-page="about"] .about-values .values-intro p { padding-left: 0; }
  .inner-page[data-page="about"] .about-process .section-intro p::before,
  .inner-page[data-page="about"] .about-values .values-intro p::before { left: 50%; top: auto; bottom: -18px; width: 72px; height: 2px; transform: translateX(-50%); }
  .inner-page[data-page="about"] .about-process .process-mini { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .inner-page[data-page="about"] .about-process .process-mini article,
  .inner-page[data-page="about"] .about-process .process-mini article:nth-last-child(-n+2),
  .inner-page[data-page="about"] .about-process .process-mini article:last-child { min-height: 225px; padding: 20px 12px 22px; overflow: hidden; border: 1px solid rgba(99,78,52,.15); border-radius: 22px; background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(246,240,231,.88)); box-shadow: 0 17px 36px rgba(63,51,37,.11), inset 0 1px #fff; text-align: center; }
  .inner-page[data-page="about"] .process-step-top { justify-content: center; gap: 0; }
  .inner-page[data-page="about"] .process-step-top span { min-width: 40px; height: 28px; padding-inline: 9px; }
  .inner-page[data-page="about"] .process-step-top svg { display: none; }
  .inner-page[data-page="about"] .about-process .process-mini h3 { margin: 20px 0 10px; font-size: 27px; }
  .inner-page[data-page="about"] .about-process .process-mini p { max-width: 170px; margin-inline: auto; font-size: 12px; line-height: 1.48; }
  .inner-page[data-page="about"] .about-values { padding-block: 58px; }
  .inner-page[data-page="about"] .about-values .values-intro { margin-bottom: 34px; text-align: center; }
  .inner-page[data-page="about"] .about-values .value-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inner-page[data-page="about"] .about-values .value-card { min-height: 244px; padding: 24px 13px 26px; text-align: center; }
  .inner-page[data-page="about"] .about-values .value-card:first-child { border-right: 1px solid rgba(91,72,48,.13); }
  .inner-page[data-page="about"] .about-values .value-card:last-child { min-height: 210px; grid-column: 1 / -1; padding-inline: 30px; }
  .inner-page[data-page="about"] .value-card-top { min-height: 48px; justify-content: center; gap: 0; }
  .inner-page[data-page="about"] .about-values .value-card-top span { width: 35px; height: 35px; margin-inline: auto; font-size: 14px; }
  .inner-page[data-page="about"] .about-values .value-card-top svg { display: none; }
  .inner-page[data-page="about"] .about-values .value-card h3 { margin: 21px 0 10px; font-size: 25px; }
  .inner-page[data-page="about"] .about-values .value-card p { max-width: 320px; margin-inline: auto; font-size: 12.5px; line-height: 1.5; }
  .inner-page[data-page="about"] .cta-wrap { padding: 34px 8px 92px; }
  .inner-page[data-page="about"] .cta-panel { min-height: 420px; padding: 34px 22px; align-items: center; text-align: center; border-radius: 28px; }
  .inner-page[data-page="about"] .cta-panel h2 { font-size: 39px; }
  .inner-page[data-page="about"] .cta-panel p { margin-inline: auto; font-size: 16px; }
  .inner-page[data-page="about"] .cta-panel .button { margin-inline: auto; }

  /* Services: echo the index page's centered, compact two-column mobile rhythm. */
  .inner-page[data-page="services"] .page-hero-content { padding-inline: 22px; text-align: center; }
  .inner-page[data-page="services"] .page-hero h1 { max-width: 350px; font-size: clamp(40px, 10.5vw, 46px); line-height: .92; }
  .inner-page[data-page="services"] .page-hero .hero-summary { max-width: 330px; margin-top: 20px; font-size: 16px; line-height: 1.5; }
  .inner-page[data-page="services"] .page-hero-actions { margin-top: 25px; }
  .inner-page[data-page="services"] .content-band { padding-block: 62px; }
  .inner-page[data-page="services"] .section-intro { margin-bottom: 34px; }
  .inner-page[data-page="services"] .section-intro h2 { max-width: 350px; font-size: 36px; line-height: .98; }
  .inner-page[data-page="services"] .split-copy h2 { font-size: 39px; line-height: .96; }
  .inner-page[data-page="services"] .section-intro > p,
  .inner-page[data-page="services"] .split-copy > p { max-width: 350px; font-size: 16px; line-height: 1.58; }
  .inner-page[data-page="services"] .service-page-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .inner-page[data-page="services"] .service-page-card { min-height: 370px; padding: 7px 7px 20px; border-radius: 22px; }
  .inner-page[data-page="services"] .service-page-card img { height: 148px; border-radius: 16px; }
  .inner-page[data-page="services"] .service-page-card h2 { margin: 18px 8px 8px; font-size: 27px; }
  .inner-page[data-page="services"] .service-page-card p { margin-inline: 8px; font-size: 12px; line-height: 1.48; }
  .inner-page[data-page="services"] .service-page-card .card-link { margin: auto auto 0; padding: 16px 4px 0; font-size: 11px; white-space: nowrap; }
  .inner-page[data-page="services"] .split-feature,
  .inner-page[data-page="services"] .split-feature.reverse { gap: 36px; }
  .inner-page[data-page="services"] .split-media { min-height: 310px; border-radius: 25px; }
  .inner-page[data-page="services"] .detail-list { max-width: 360px; margin-top: 28px; }
  .inner-page[data-page="services"] .detail-list li { min-height: 112px; padding: 16px 10px; gap: 10px; font-size: 12px; line-height: 1.42; }
  /* Service-detail values: one tailored panel, matching the cleaner About composition. */
  .patio-values .value-grid,
  .pool-values .value-grid {
    counter-reset: service-value;
    position: relative;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    padding-top: 8px;
    overflow: hidden;
    border: 1px solid rgba(99, 78, 52, .15);
    border-radius: 28px;
    background: linear-gradient(138deg, rgba(255, 255, 255, .98), rgba(249, 245, 238, .94) 56%, rgba(241, 233, 221, .84));
    box-shadow: 0 24px 54px rgba(63, 51, 37, .12), inset 0 1px #fff;
  }
  .patio-values .value-grid::before,
  .pool-values .value-grid::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0 0 auto;
    height: 8px;
    background-image: linear-gradient(180deg, rgba(255, 255, 255, .24), rgba(48, 39, 29, .08)), repeating-linear-gradient(90deg, #b69b73 0 38px, #675640 38px 40px, #d1b990 40px 78px, #695741 78px 80px, #91764f 80px 118px, #675640 118px 120px);
    box-shadow: 0 2px 7px rgba(58, 45, 30, .16);
    opacity: .78;
  }
  .patio-values .value-card,
  .pool-values .value-card {
    counter-increment: service-value;
    min-width: 0;
    min-height: 292px;
    padding: 31px 15px 28px;
    display: flex;
    flex-direction: column;
    align-items: center;
    border: 0;
    border-bottom: 1px solid rgba(91, 72, 48, .12);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    text-align: center;
  }
  .patio-values .value-card:first-child,
  .pool-values .value-card:first-child { border-right: 1px solid rgba(91, 72, 48, .12); }
  .patio-values .value-card::before,
  .pool-values .value-card::before {
    content: "0" counter(service-value);
    width: 48px;
    height: 48px;
    margin-bottom: 13px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(169, 71, 39, .27);
    border-radius: 50%;
    background: rgba(255, 255, 255, .84);
    color: #a94727;
    box-shadow: 0 9px 22px rgba(72, 55, 37, .08), inset 0 1px #fff;
    font-family: var(--serif);
    font-size: 17px;
  }
  .patio-values .value-card:last-child,
  .pool-values .value-card:last-child {
    width: auto;
    min-height: 250px;
    grid-column: 1 / -1;
    justify-self: stretch;
    border-bottom: 0;
  }
  .patio-values .value-card span,
  .pool-values .value-card span { font-size: 9px; letter-spacing: .16em; }
  .patio-values .value-card h3,
  .pool-values .value-card h3 { margin: 18px 0 11px; font-size: clamp(23px, 6.8vw, 28px); }
  .patio-values .value-card p,
  .pool-values .value-card p { max-width: 270px; margin-inline: auto; font-size: 12.5px; line-height: 1.5; }
  .inner-page[data-page="services"] .split-copy .button { margin-top: 28px; }
  .inner-page[data-page="services"] .cta-wrap { padding-inline: 8px; padding-bottom: 92px; }
  .inner-page[data-page="services"] .cta-panel { min-height: 420px; padding: 34px 22px; align-items: center; text-align: center; border-radius: 28px; }
  .inner-page[data-page="services"] .cta-panel h2 { font-size: 39px; }
  .inner-page[data-page="services"] .cta-panel p,
  .inner-page[data-page="services"] .cta-panel .button { margin-inline: auto; }

  /* Service area: center the full mobile story while preserving the editorial desktop layout. */
  .inner-page[data-page="service-area"] .page-hero-content,
  .inner-page[data-page="service-area"] .split-copy,
  .inner-page[data-page="service-area"] .service-cities .section-intro,
  .inner-page[data-page="service-area"] .location-card,
  .inner-page[data-page="service-area"] .cta-panel {
    text-align: center;
  }
  .inner-page[data-page="service-area"] .page-hero h1,
  .inner-page[data-page="service-area"] .page-hero .hero-summary,
  .inner-page[data-page="service-area"] .split-copy h2,
  .inner-page[data-page="service-area"] .split-copy > p,
  .inner-page[data-page="service-area"] .service-cities .section-intro h2,
  .inner-page[data-page="service-area"] .service-cities .section-intro > p,
  .inner-page[data-page="service-area"] .location-card p,
  .inner-page[data-page="service-area"] .cta-panel p {
    margin-inline: auto;
  }
  .inner-page[data-page="service-area"] .page-hero { min-height: 300px; }
  .inner-page[data-page="service-area"] .page-hero-content { padding: 48px 22px 72px; }
  .inner-page[data-page="service-area"] .page-hero h1 { max-width: 350px; font-size: clamp(40px, 10.5vw, 46px); line-height: .92; }
  .inner-page[data-page="service-area"] .page-hero .hero-summary { max-width: 345px; margin-top: 22px; font-size: 16px; line-height: 1.52; }
  .inner-page[data-page="service-area"] .content-band { padding-block: 64px; }
  .inner-page[data-page="service-area"] .split-feature { gap: 36px; }
  .inner-page[data-page="service-area"] .split-copy h2,
  .inner-page[data-page="service-area"] .service-cities .section-intro h2 { max-width: 350px; font-size: 39px; line-height: .96; }
  .inner-page[data-page="service-area"] .split-copy > p,
  .inner-page[data-page="service-area"] .service-cities .section-intro > p { max-width: 350px; font-size: 16px; line-height: 1.62; }
  .inner-page[data-page="service-area"] .split-copy address { margin-top: 26px !important; text-align: center; }
  .inner-page[data-page="service-area"] .split-copy .button {
    width: min(100%, 240px);
    margin: 28px auto 0;
    justify-content: center;
    text-align: center;
  }
  .inner-page[data-page="service-area"] .service-map { min-height: 360px; border-radius: 25px; }
  .inner-page[data-page="service-area"] .map-label {
    left: 50%;
    right: auto;
    bottom: 14px;
    min-width: min(250px, calc(100% - 32px));
    padding: 47px 16px 14px;
    transform: translateX(-50%);
    justify-items: center;
    text-align: center;
  }
  .inner-page[data-page="service-area"] .map-label > span {
    left: 50%;
    top: 14px;
    transform: translateX(-50%) rotate(-45deg);
  }
  .inner-page[data-page="service-area"] .service-cities .section-intro { gap: 22px; margin-bottom: 34px; }
  .inner-page[data-page="service-area"] .service-cities .section-intro > p { padding: 0 0 22px; }
  .inner-page[data-page="service-area"] .service-cities .section-intro > p::before {
    left: 50%;
    top: auto;
    bottom: 0;
    width: 72px;
    height: 2px;
    transform: translateX(-50%);
  }
  .inner-page[data-page="service-area"] .service-city-grid { gap: 16px; }
  .inner-page[data-page="service-area"] .service-city-grid .location-card {
    min-height: 340px;
    padding: 26px 22px;
    align-items: center;
  }
  .inner-page[data-page="service-area"] .service-city-grid .location-card > span { margin-inline: auto; }
  .inner-page[data-page="service-area"] .service-city-grid .location-card h3 { font-size: 34px; line-height: 1; }
  .inner-page[data-page="service-area"] .service-city-grid .location-card p { max-width: 300px; font-size: 14px; line-height: 1.55; }
  .inner-page[data-page="service-area"] .service-city-cta { margin: 20px auto 0; justify-content: center; }
  .inner-page[data-page="service-area"] .cta-wrap { padding-inline: 8px; padding-bottom: 92px; }
  .inner-page[data-page="service-area"] .cta-panel {
    min-height: 410px;
    padding: 34px 22px;
    align-items: center;
    border-radius: 28px;
  }
  .inner-page[data-page="service-area"] .cta-panel h2 { font-size: 39px; line-height: .96; }
  .inner-page[data-page="service-area"] .cta-panel p { max-width: 330px; font-size: 16px; }
  .inner-page[data-page="service-area"] .cta-panel .button {
    width: min(100%, 250px);
    margin-inline: auto;
    justify-content: center;
  }

  /* Projects: centered mobile editorial hierarchy with a compact expandable gallery. */
  .inner-page[data-page="projects"] .page-hero-content,
  .inner-page[data-page="projects"] .content-band.limestone .section-intro,
  .inner-page[data-page="projects"] .projects-proof .proof-intro {
    text-align: center;
  }
  .inner-page[data-page="projects"] .page-hero h1,
  .inner-page[data-page="projects"] .page-hero .hero-summary,
  .inner-page[data-page="projects"] .content-band.limestone .section-intro h2,
  .inner-page[data-page="projects"] .content-band.limestone .section-intro > p,
  .inner-page[data-page="projects"] .projects-proof .proof-intro h2,
  .inner-page[data-page="projects"] .projects-proof .proof-intro > p {
    margin-inline: auto;
  }
  .inner-page[data-page="projects"] .page-hero-content { padding-inline: 22px; }
  .inner-page[data-page="projects"] .page-hero h1 { max-width: 350px; font-size: clamp(40px, 10.5vw, 46px); line-height: .92; }
  .inner-page[data-page="projects"] .page-hero .hero-summary { max-width: 345px; margin-top: 22px; font-size: 16px; line-height: 1.52; }
  .inner-page[data-page="projects"] .page-hero-actions { margin-top: 26px; justify-content: center; }
  .inner-page[data-page="projects"] .page-hero-actions .button {
    width: min(100%, 270px);
    margin-inline: auto;
    justify-content: center;
    text-align: center;
  }
  .inner-page[data-page="projects"] .content-band { padding-block: 64px; }
  .inner-page[data-page="projects"] .content-band.limestone .section-intro { margin-bottom: 34px; }
  .inner-page[data-page="projects"] .content-band.limestone .section-intro h2,
  .inner-page[data-page="projects"] .projects-proof .proof-intro h2 { max-width: 350px; font-size: 39px; line-height: .96; }
  .inner-page[data-page="projects"] .content-band.limestone .section-intro > p,
  .inner-page[data-page="projects"] .projects-proof .proof-intro > p { max-width: 350px; font-size: 16px; line-height: 1.62; }
  .inner-page[data-page="projects"] .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
  }
  .inner-page[data-page="projects"] .gallery-item {
    border-width: 4px;
    border-radius: 19px;
    box-shadow: 0 14px 31px rgba(58,47,35,.12);
  }
  .inner-page[data-page="projects"] .gallery-open { aspect-ratio: 4 / 3; }
  .inner-page[data-page="projects"] .gallery-grid:not(.gallery-expanded) .gallery-item:nth-child(n+5) { display: none; }
  .inner-page[data-page="projects"] .gallery-grid.gallery-expanded .gallery-item:nth-child(n+5) {
    display: block;
    animation: project-gallery-in .42s cubic-bezier(.22,1,.36,1) both;
  }
  .inner-page[data-page="projects"] .gallery-more-toggle {
    width: min(100%, 196px);
    min-height: 54px;
    margin: 26px auto 0;
    padding: 8px 10px 8px 21px;
    display: grid;
    grid-template-columns: auto 36px;
    justify-content: center;
    align-items: center;
    gap: 12px;
    border: 1px solid rgba(117,91,55,.2);
    border-radius: 999px;
    background: linear-gradient(135deg, #fffdf9, #eadbc5);
    color: #30342a;
    box-shadow: 0 14px 30px rgba(64,51,35,.12), inset 0 1px rgba(255,255,255,.92);
    cursor: pointer;
  }
  .inner-page[data-page="projects"] .gallery-more-toggle span {
    font: 700 13px/1 var(--sans);
    letter-spacing: .025em;
  }
  .inner-page[data-page="projects"] .gallery-more-toggle svg {
    width: 36px;
    height: 36px;
    padding: 10px;
    fill: none;
    stroke: #fff8ec;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
    border-radius: 50%;
    background: linear-gradient(145deg, #c9522c, #9d3d20);
    box-shadow: 0 8px 18px rgba(137,56,31,.22);
    transition: transform .3s ease;
  }
  .inner-page[data-page="projects"] .gallery-more-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
  .inner-page[data-page="projects"] .projects-proof .proof-intro { gap: 22px; margin-bottom: 0; }
  .inner-page[data-page="projects"] .projects-proof .proof-intro > p { padding: 0 0 22px; }
}

@keyframes project-gallery-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}

/* Blue brand accents shared by the inner-page compositions. */
.page-hero { background-color: #183a5d; }
.content-band, .content-band.limestone, .service-cities, .about-values, .terms-page, .legal-main { background-color: #edf4f9; }
.content-band.limestone { background-image: linear-gradient(to bottom, #edf4f9 0, #edf4f9 108px, rgba(237,244,249,.96) 150px, rgba(237,244,249,0) 270px), radial-gradient(circle at 9% 16%, rgba(255,255,255,.88), transparent 29%), radial-gradient(circle at 90% 82%, rgba(103,142,185,.13), transparent 32%); }
.service-cities { background-image: radial-gradient(circle at 8% 14%, rgba(185,211,232,.22), transparent 29%), radial-gradient(circle at 92% 78%, rgba(103,142,185,.1), transparent 28%); }
.service-cities .section-intro p::before, .about-process .section-intro p::before, .about-values .values-intro p::before, .projects-proof .proof-intro p::before, .contact-intake .estimate-form::before { background: linear-gradient(#3166a0, #79a7cf 58%, #183a5d); }
.service-city-cta { background: linear-gradient(135deg, #f2f8fc, #a9c8e2); color: #17324d; }
.service-city-cta:hover, .service-city-cta:focus-visible { background: linear-gradient(135deg, #fff, #c8deef); }
.process-mini article::before, .process-step-top span, .contact-method:hover, .contact-method:focus-visible, .legal-section::before, .premium-legal .legal-section a { color: #3166a0; }
.detail-list li::before { border-color: #3166a0; }
.value-card span { color: #3166a0; }
.process-step-top span, .contact-method svg, .legal-section::before { border-color: rgba(49,102,160,.28); }
.process-step-top svg, .value-card-top svg { stroke: #517da6; }
.contact-method svg, .value-icon .value-icon-accent, .value-icon .value-icon-node { stroke: #3166a0; }
.value-icon .value-icon-node { fill: #e7f1f8; }
.about-values .value-card::before, .legal-header::after { background: linear-gradient(90deg, #3166a0, #79a7cf 56%, #183a5d); }
.about-values .value-card-top span { border-color: rgba(49,102,160,.24); color: #3166a0; }
.contact-intake .field input:focus, .contact-intake .field select:focus, .contact-intake .field textarea:focus { border-color: rgba(49,102,160,.62); box-shadow: 0 0 0 4px rgba(49,102,160,.09); }
.contact-intake .estimate-form .button { box-shadow: 0 12px 28px rgba(37,82,127,.23); }
.inner-page[data-page="projects"] .gallery-more-toggle svg { background: linear-gradient(145deg, #3d75ad, #25527f); }

/* Paver Smarts: an editorial extension of the approved Smart Pavers system. */
.paver-smarts-hero { --page-image: url("/wp-content/uploads/smart-pavers-optimized/gallery-estate-driveway-wide.webp"); min-height: clamp(500px, 55vw, 690px); }
.article-hero { --page-image: url("/wp-content/uploads/smart-pavers-optimized/gallery-driveway-gray-angle.webp"); min-height: clamp(570px, 62vw, 760px); }
.paver-smarts-hero::before, .article-hero::before { background: linear-gradient(90deg, rgba(11,31,51,.88), rgba(15,42,68,.54) 58%, rgba(15,42,68,.18)), linear-gradient(0deg, rgba(7,20,33,.72), transparent 62%); }
.blog-eyebrow { width: max-content; max-width: 100%; margin-bottom: 24px; display: inline-flex; align-items: center; gap: 10px; color: #d5e8f7; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.blog-eyebrow::before { content: ""; width: 36px; height: 1px; background: currentColor; opacity: .68; }
.blog-eyebrow.dark { color: #3166a0; }
.article-hero h1 { max-width: 1100px; font-size: clamp(52px, 7.4vw, 106px); }
.article-byline { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 10px 26px; color: rgba(255,255,255,.74); font-size: 12px; letter-spacing: .05em; }
.article-byline > * + * { position: relative; }
.article-byline > * + *::before { content: ""; width: 3px; height: 3px; position: absolute; left: -15px; top: 50%; border-radius: 50%; background: #9bc0df; }

.blog-section-intro { max-width: none; display: grid; grid-template-columns: minmax(0,1.15fr) minmax(320px,.6fr); align-items: end; gap: clamp(44px,8vw,120px); }
.blog-section-intro p { margin: 0 0 7px; padding-left: 24px; border-left: 2px solid rgba(49,102,160,.34); line-height: 1.72; }
.blog-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; }
.blog-card { overflow: hidden; border: 1px solid rgba(49,102,160,.15); border-radius: 34px; background: rgba(255,255,255,.84); box-shadow: 0 28px 70px rgba(25,61,95,.12), inset 0 1px white; }
.blog-card-featured { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1.16fr) minmax(400px,.84fr); }
.blog-card-media { min-height: 500px; position: relative; overflow: hidden; }
.blog-card-media::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.42); border-radius: 33px 0 0 33px; pointer-events: none; }
.blog-card-media img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; transition: transform .7s cubic-bezier(.22,1,.36,1); }
.blog-card:hover .blog-card-media img { transform: scale(1.025); }
.blog-card-copy { padding: clamp(40px,5vw,76px); display: flex; flex-direction: column; justify-content: center; }
.blog-card-meta { display: flex; flex-wrap: wrap; gap: 9px 22px; color: #557a9d; font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.blog-card-meta time { color: #7b858c; }
.blog-card-copy h2 { margin: 28px 0 18px; font-family: var(--serif); font-size: clamp(38px,4.1vw,58px); font-weight: 400; line-height: .98; letter-spacing: -.035em; }
.blog-card-copy h2 a { color: #1b3349; }
.blog-card-copy > p { margin: 0; color: var(--ink-soft); font-size: 16px; line-height: 1.7; }
.blog-card:not(.blog-card-featured) .blog-card-media { min-height: 290px; display: block; }
.blog-card:not(.blog-card-featured) .blog-card-media::after { border-radius: 33px 33px 0 0; }
.blog-card:not(.blog-card-featured) .blog-card-copy { padding: 34px; }
.blog-card:not(.blog-card-featured) .blog-card-copy h2 { font-size: clamp(32px,3vw,42px); }
.blog-read-link { width: max-content; max-width: 100%; margin-top: 30px; display: inline-flex; align-items: center; gap: 12px; color: #255c91; font-size: 13px; font-weight: 600; }
.blog-read-link svg { width: 30px; height: 30px; padding: 7px; border-radius: 50%; background: #3166a0; fill: none; stroke: white; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: transform .25s; }
.blog-read-link:hover svg, .blog-read-link:focus-visible svg { transform: translateX(4px); }

.blog-topic-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid rgba(49,102,160,.14); border-radius: 34px; background: rgba(237,244,249,.6); box-shadow: 0 24px 58px rgba(25,61,95,.08); }
.blog-topic-grid article { min-height: 280px; padding: 38px 34px; border-right: 1px solid rgba(49,102,160,.12); border-bottom: 1px solid rgba(49,102,160,.12); }
.blog-topic-grid article:nth-child(3n) { border-right: 0; }
.blog-topic-grid article:nth-last-child(-n+3) { border-bottom: 0; }
.blog-topic-grid span { color: #4e7ba7; font-family: var(--serif); font-size: 16px; }
.blog-topic-grid h3 { margin: 54px 0 14px; font-family: var(--serif); font-size: 34px; font-weight: 400; line-height: 1; }
.blog-topic-grid p { margin: 0; color: var(--ink-soft); font-size: 14px; line-height: 1.65; }

.article-band { padding-block: clamp(72px,8vw,120px); }
.article-layout { width: min(calc(100% - 96px), 1240px); margin-inline: auto; display: grid; grid-template-columns: 220px minmax(0,820px); justify-content: center; gap: clamp(50px,7vw,100px); }
.article-rail { position: sticky; top: 110px; align-self: start; padding: 25px 0; border-top: 1px solid rgba(49,102,160,.26); border-bottom: 1px solid rgba(49,102,160,.18); }
.article-rail > span { color: #3166a0; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.article-rail nav { margin-top: 18px; display: grid; gap: 13px; }
.article-rail a { color: #51626f; font-size: 13px; line-height: 1.35; }
.article-rail a:hover, .article-rail a:focus-visible { color: #245d92; }
.article-content { min-width: 0; color: #35424b; font-size: 18px; line-height: 1.8; }
.article-content > p, .article-content section > p { margin: 0 0 24px; }
.article-content a:not(.button):not(.blog-read-link) { color: #245f96; font-weight: 600; text-decoration: underline; text-decoration-color: rgba(36,95,150,.28); text-underline-offset: 4px; }
.article-content h2 { margin: 64px 0 22px; color: #18344d; font-family: var(--serif); font-size: clamp(38px,4vw,54px); font-weight: 400; line-height: 1; letter-spacing: -.03em; }
.article-content h3 { margin: 42px 0 14px; color: #294b68; font-family: var(--serif); font-size: 30px; font-weight: 400; line-height: 1.08; }
.article-content ul { margin: 0 0 28px; padding-left: 23px; }
.article-content li { margin: 10px 0; padding-left: 7px; }
.article-lead { margin-bottom: 42px; padding: 36px 38px; border: 1px solid rgba(49,102,160,.18); border-radius: 24px; background: rgba(255,255,255,.82); box-shadow: 0 18px 42px rgba(25,61,95,.08); }
.article-deck { margin: 0 0 14px !important; color: #3166a0; font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.article-answer { margin: 0 !important; color: #29404f; font-family: var(--serif); font-size: clamp(23px,2.4vw,31px); line-height: 1.35; }
.article-table-wrap { margin: 26px 0 38px; overflow-x: auto; border: 1px solid rgba(49,102,160,.16); border-radius: 20px; background: rgba(255,255,255,.74); box-shadow: 0 18px 42px rgba(25,61,95,.07); }
.article-content table { width: 100%; min-width: 680px; border-collapse: collapse; font-size: 14px; line-height: 1.55; }
.article-content th, .article-content td { padding: 19px 20px; vertical-align: top; border-bottom: 1px solid rgba(49,102,160,.11); text-align: left; }
.article-content thead th { background: #214d75; color: white; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.article-content tbody th { width: 150px; color: #244e72; font-weight: 700; }
.article-content tr:last-child th, .article-content tr:last-child td { border-bottom: 0; }
.article-figure { margin: 52px 0; }
.article-figure img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 26px; box-shadow: 0 24px 55px rgba(25,61,95,.15); }
.article-figure figcaption { margin-top: 12px; color: #6c7b84; font-size: 12px; text-align: center; }
.article-callout { margin: 34px 0 42px; padding: 30px 32px; border-left: 4px solid #4d83b2; border-radius: 0 20px 20px 0; background: #dfeef8; }
.article-callout > strong { color: #1f4f77; font-size: 14px; letter-spacing: .03em; }
.article-callout p { margin: 10px 0 0; font-size: 16px; line-height: 1.7; }
.article-check-list { padding: 0 !important; display: grid; gap: 12px; list-style: none; }
.article-check-list li { margin: 0; padding: 16px 18px 16px 48px; position: relative; border: 1px solid rgba(49,102,160,.12); border-radius: 14px; background: rgba(255,255,255,.65); }
.article-check-list li::before { content: ""; width: 10px; height: 6px; position: absolute; left: 20px; top: 24px; border-left: 2px solid #3166a0; border-bottom: 2px solid #3166a0; transform: rotate(-45deg); }
.article-quote-checklist { margin-top: 70px; padding: clamp(34px,5vw,58px); border-radius: 30px; background: white; box-shadow: 0 26px 64px rgba(25,61,95,.1); }
.article-quote-checklist h2 { margin-top: 0; }
.article-quote-checklist ol { margin: 34px 0 0; padding: 0; counter-reset: quote-question; display: grid; gap: 0; list-style: none; }
.article-quote-checklist li { counter-increment: quote-question; margin: 0; padding: 20px 0 20px 58px; position: relative; border-top: 1px solid rgba(49,102,160,.12); }
.article-quote-checklist li::before { content: counter(quote-question,decimal-leading-zero); width: 38px; height: 38px; position: absolute; left: 0; top: 22px; display: grid; place-items: center; border: 1px solid rgba(49,102,160,.25); border-radius: 50%; color: #3166a0; font-family: var(--serif); font-size: 13px; }
.article-quote-checklist li strong, .article-quote-checklist li span { display: block; }
.article-quote-checklist li strong { color: #263f53; }
.article-quote-checklist li span { margin-top: 5px; color: #63727c; font-size: 15px; line-height: 1.55; }
.article-faq details { border-top: 1px solid rgba(49,102,160,.16); }
.article-faq details:last-child { border-bottom: 1px solid rgba(49,102,160,.16); }
.article-faq summary { padding: 22px 44px 22px 0; position: relative; color: #244c6f; font-family: var(--serif); font-size: 24px; cursor: pointer; list-style: none; }
.article-faq summary::-webkit-details-marker { display: none; }
.article-faq summary::after { content: "+"; position: absolute; right: 8px; top: 18px; color: #3166a0; font-family: var(--sans); font-size: 28px; font-weight: 300; }
.article-faq details[open] summary::after { content: "–"; }
.article-faq details p { margin: 0 0 24px; padding-right: 44px; font-size: 16px; }
.article-close { margin-top: 74px; padding-top: 54px; border-top: 3px solid #3166a0; }
.article-actions { margin-top: 32px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 28px; }
.article-actions .blog-read-link { margin-top: 0; }

@media (min-width: 1101px) and (max-width: 1320px) {
  .site-header { padding-inline: 24px; }
  .site-header .brand img { width: 130px; }
  .site-nav { margin-left: 22px; gap: 15px; }
  .site-nav a { gap: 7px; font-size: 13px; }
  .site-nav .nav-icon { width: 19px; height: 19px; }
  .header-cta { padding-inline: 18px; font-size: 12px; }
}

@media (max-width: 900px) {
  .blog-section-intro, .blog-grid, .blog-card-featured, .article-layout { grid-template-columns: 1fr; }
  .blog-card-featured { grid-column: auto; }
  .blog-section-intro { gap: 28px; }
  .blog-section-intro p { padding: 0 0 0 22px; }
  .blog-card-media { min-height: 390px; }
  .blog-card-media::after { border-radius: 33px 33px 0 0; }
  .blog-topic-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .blog-topic-grid article:nth-child(3n) { border-right: 1px solid rgba(49,102,160,.12); }
  .blog-topic-grid article:nth-child(2n) { border-right: 0; }
  .blog-topic-grid article:nth-last-child(-n+3) { border-bottom: 1px solid rgba(49,102,160,.12); }
  .blog-topic-grid article:nth-last-child(-n+2) { border-bottom: 0; }
  .article-layout { width: min(calc(100% - 48px),820px); }
  .article-rail { display: none; }
}

@media (max-width: 600px) {
  .paver-smarts-hero, .article-hero { min-height: 510px; }
  .paver-smarts-hero .page-hero-content, .article-hero .page-hero-content { padding-top: 68px; }
  .paver-smarts-hero h1 { font-size: 58px; }
  .article-hero h1 { font-size: clamp(43px,12vw,56px); }
  .blog-eyebrow { margin-bottom: 18px; font-size: 9px; letter-spacing: .12em; }
  .article-byline { gap: 7px 20px; font-size: 10px; }
  .article-byline > * + *::before { left: -11px; }
  .blog-card { border-radius: 24px; }
  .blog-card-media { min-height: 245px; }
  .blog-card-media::after { border-radius: 23px 23px 0 0; }
  .blog-card-copy { padding: 30px 24px 34px; }
  .blog-card-copy h2 { margin-top: 20px; font-size: 37px; }
  .blog-topic-grid { grid-template-columns: 1fr; border-radius: 24px; }
  .blog-topic-grid article, .blog-topic-grid article:nth-child(3n), .blog-topic-grid article:nth-child(2n), .blog-topic-grid article:nth-last-child(-n+2) { min-height: 230px; border-right: 0; border-bottom: 1px solid rgba(49,102,160,.12); }
  .blog-topic-grid article:last-child { border-bottom: 0; }
  .blog-topic-grid h3 { margin-top: 38px; }
  .article-layout { width: calc(100% - 30px); }
  .article-content { font-size: 17px; line-height: 1.72; }
  .article-content h2 { margin-top: 52px; font-size: 39px; }
  .article-content h3 { font-size: 28px; }
  .article-lead { padding: 27px 23px; border-radius: 20px; }
  .article-answer { font-size: 24px; }
  .article-table-wrap { margin-inline: -2px; }
  .article-content th, .article-content td { padding: 16px; }
  .article-figure { margin: 42px 0; }
  .article-figure img { aspect-ratio: 4/3; border-radius: 20px; }
  .article-callout { padding: 25px 22px; }
  .article-quote-checklist { padding: 30px 22px; border-radius: 24px; }
  .article-quote-checklist li { padding-left: 50px; }
  .article-faq summary { font-size: 22px; }
  .article-actions { align-items: flex-start; flex-direction: column; }
}
