:root {
    --red:#ef2525;
    --dark:#101112;
    --ink:#17191c;
    --muted:#697077;
    --line:#e6e8eb;
    --white:#fff;
    --max:1240px
}
* {
    box-sizing:border-box
}
html {
    scroll-behavior:smooth
}
body {
    margin:0;
    font-family:Inter,Arial,sans-serif;
    color:var(--ink);
    background:#fff
}
img {
    max-width:100%;
    display:block
}
a {
    text-decoration:none;
    color:inherit
}
.container {
    width:min(var(--max),calc(100% - 48px));
    margin:auto
}
.site-header {
    position:sticky;
    top:0;
    z-index:50;
    background:rgba(13,14,15,.50);
    color:#fff;
    box-shadow:0 2px 20px #0003;
    transition:background .3s ease,backdrop-filter .3s ease
}
.site-header.scrolled {
    background:rgba(13,14,15,.70);
    backdrop-filter:blur(8px)
}
.nav-wrap {
    height:96px;
    display:flex;
    align-items:center;
    gap:26px;
    transition:height .3s ease
}
.brand {
    width:245px;
    display:grid;
    place-items:center;
    padding:4px 0;
    transition:width .3s ease
}
.brand img {
    max-height:112px;
    width:auto;
    transition:max-height .3s ease
}
.site-header.scrolled .nav-wrap {
    height:70px
}
.site-header.scrolled .brand {
    width:125px
}
.site-header.scrolled .brand img {
    max-height:62px
}
.nav {
    display:flex;
    gap:24px;
    margin-left:auto;
    font-size:14px;
    font-weight:700
}
.nav a:hover {
    color:var(--red)
}
.header-actions {
    display:flex;
    gap:12px;
    align-items:center
}
.phone {
    background:var(--red);
    padding:14px 18px;
    border-radius:7px;
    font-weight:800
}
.btn {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    min-height:48px;
    padding:0 22px;
    border-radius:6px;
    font-weight:800;
    text-transform:uppercase;
    font-size:13px;
    letter-spacing:.02em;
    border:1px solid transparent;
    cursor:pointer
}
.btn-light {
    background:#fff;
    color:#151515
}
.btn-red {
    background:var(--red);
    color:#fff
}
.btn-dark {
    background:#151515;
    color:#fff
}
.btn-outline {
    border-color:#fff;
    color:#fff;
    background:#0004
}
.menu-toggle {
    display:none;
    background:none;
    border:0;
    color:#fff;
    font-size:26px
}
.hero {
    min-height:680px;
    position:relative;
    color:#fff;
    overflow:hidden
}
.hero-bg {
    position:absolute;
    inset:0;
    background:url('../../img/hero-slider/2.jpg') center/cover no-repeat;
    transform:scale(1.01)
}
.hero-shade {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(0,0,0,.83) 0%,rgba(0,0,0,.60) 43%,rgba(0,0,0,.12) 75%)
}
.hero-content {
    position:relative;
    padding-top:95px
}
.eyebrow {
    text-transform:uppercase;
    color:var(--red);
    font-weight:900;
    font-size:13px;
    letter-spacing:.08em;
    margin:0 0 10px
}
.eyebrow.light {
    color:#fff
}
.hero h1 {
    font-size:clamp(46px,6vw,78px);
    line-height:.92;
    text-transform:uppercase;
    letter-spacing:-.055em;
    margin:12px 0 18px;
    max-width:760px
}
.hero h1 span {
    color:var(--red)
}
.hero-copy {
    font-size:19px;
    max-width:520px;
    line-height:1.55
}
.cta-row {
    display:flex;
    gap:14px;
    margin:28px 0 46px
}
.trust-row {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    max-width:100%;
    border-top:1px solid #ffffff44;
    padding-top:22px;
	padding-bottom:22px;
    gap:100px
}
.trust-row>div {
    display:flex;
    gap:10px;
    font-size:26px
}
.trust-row span {
    display:flex;
    flex-direction:column;
    font-size:20px
}
.trust-row small {
    opacity:.8;
    margin-top:3px
}
.section {
    padding:76px 0
}
.section-head {
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:40px;
    margin-bottom:30px
}
.section-head h2,.lead-section h2 {
    font-size:clamp(30px,4vw,48px);
    line-height:1;
    text-transform:uppercase;
    letter-spacing:-.04em;
    margin:0
}
.section-head>p {
    max-width:420px;
    color:var(--muted);
    line-height:1.6
}
.service-grid {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:16px
}
.card {
    border:1px solid var(--line);
    border-radius:9px;
    overflow:hidden;
    box-shadow:0 8px 24px #0000000d;
    background:#fff
}
.card img {
    width:100%;
    height:150px;
    object-fit:cover
}
.card div {
    padding:17px
}
.card h3 {
    text-transform:uppercase;
    font-size:15px;
    margin:0 0 8px
}
.card p {
    color:var(--muted);
    font-size:13px;
    line-height:1.5;
    margin:0
}
.offer {
    position:relative;
    background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.68) 48%,rgba(0,0,0,.48) 100%),url('../../img/portfolio/31.webp') center/cover no-repeat;
    color:#fff
}
.offer-grid {
    min-height:330px;
    display:grid;
    grid-template-columns:1.25fr .8fr .8fr;
    align-items:stretch
}
.offer-photo {
    background:transparent
}
.offer-main,.offer-side {
    padding:48px 36px;
    display:flex;
    flex-direction:column;
    justify-content:center
}
.offer-main {
    border-right:1px solid #ffffff55
}
.brush {
    color:#fff;
    background:var(--red);
    font-weight:900;
    font-style:italic;
    text-transform:uppercase;
    width:max-content;
    padding:7px 18px;
    transform:rotate(-2deg)
}
.offer h2 {
    font-size:42px;
    text-transform:uppercase;
    line-height:1.05;
    margin:10px 0
}
.pricing {
    display:grid;
    grid-template-columns:auto 1fr;
    align-items:end;
    gap:2px 20px
}
.pricing s {
    font-size:20px
}
.pricing span {
    font-size:15px
}
.pricing strong {
    grid-column:2;
    font-size:50px;
    color:var(--red);
    line-height:.9
}
.offer-side h3 {
    text-transform:uppercase;
    font-size:27px
}
.offer-side h3 span {
    color:var(--red)
}
.offer-side p {
    font-size:13px;
    margin-bottom:24px
}
.gallery {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px
}
.gallery img {
    width:100%;
    height:230px;
    object-fit:cover;
    border-radius:7px;
    cursor:pointer;
    transition:.25s
}
.gallery img:hover {
    transform:translateY(-3px);
    box-shadow:0 12px 30px #0002
}
.stats {
    background:#17191b;
    color:#fff;
    padding:28px 0
}
.stats-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr)
}
.stats-grid div {
    padding:6px 28px;
    border-right:1px solid #ffffff18;
    display:flex;
    flex-direction:column
}
.stats strong {
    font-size:23px
}
.stats span {
    font-size:12px;
    opacity:.8;
    margin-top:4px
}
.lead-section {
    padding:76px 0;
    background:#f6f7f8
}
.lead-grid {
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:70px
}
.rating {
    display:flex;
    gap:22px;
    align-items:center;
    margin:22px 0
}
.rating span,.stars {
    color:#ffb400;
    letter-spacing:3px
}
.rating span {
    font-size:25px
}
.rating strong {
    font-size:25px
}
.review-card {
    background:#fff;
    padding:24px;
    border-radius:9px;
    display:flex;
    gap:16px;
    box-shadow:0 10px 35px #0000000c
}
.avatar {
    width:45px;
    height:45px;
    flex:0 0 45px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#777;
    color:#fff;
    font-weight:800
}
.review-card p {
    color:var(--muted);
    line-height:1.55
}
.review-note {
    font-size:11px;
    color:#999
}
.form-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-top:25px
}
.form-grid input,.form-grid select,.form-grid textarea {
    width:100%;
    padding:15px;
    border:1px solid #dfe2e5;
    border-radius:5px;
    background:#fff;
    font:inherit
}
.form-grid select,.form-grid textarea {
    grid-column:1/-1
}
.form-grid textarea {
    min-height:110px;
    resize:vertical
}
.form-btn {
    width:100%;
    margin-top:12px;
    border:0
}
footer {
    background:#0e0f10;
    color:#fff;
    padding:38px 0 18px
}
.footer-grid {
    display:grid;
    grid-template-columns:130px 1fr auto;
    align-items:center;
    gap:30px
}
.footer-grid img {
    max-height:100px
}
.footer-grid p {
    color:#aaa
}
.footer-grid a {
    font-weight:700
}
.copyright {
    border-top:1px solid #ffffff18;
    margin-top:25px;
    padding-top:18px;
    color:#777;
    font-size:12px
}
.floating-call {
    display:none;
    position:fixed;
    right:18px;
    bottom:18px;
    width:58px;
    height:58px;
    border-radius:50%;
    background:var(--red);
    color:#fff;
    z-index:60;
    place-items:center;
    font-size:24px;
    box-shadow:0 8px 25px #0005
}
@media(max-width:1050px) {
    .nav {
        display:none;
        position:absolute;
        top:96px;
        left:0;
        right:0;
        background:#111;
        padding:22px 24px;
        flex-direction:column
    }
    .nav.open {
        display:flex
    }
    .menu-toggle {
        display:block;
        margin-left:auto
    }
    .header-actions .btn {
        display:none
    }
    .service-grid {
        grid-template-columns:repeat(3,1fr)
    }
    .offer-grid {
        grid-template-columns:1fr 1fr
    }
    .offer-photo {
        min-height:320px;
        grid-row:1/3
    }
    .offer-main {
        border-right:0;
        border-bottom:1px solid #ffffff44
    }
    .gallery {
        grid-template-columns:repeat(2,1fr)
    }
}
@media(max-width:720px) {
    .container {
        width:min(100% - 28px,var(--max))
    }
    .nav-wrap {
        height:88px
    }
    .brand {
        width:165px
    }
    .brand img {
        max-height:82px
    }
    .site-header.scrolled .nav-wrap {
        height:62px
    }
    .site-header.scrolled .brand {
        width:98px
    }
    .site-header.scrolled .brand img {
        max-height:54px
    }
    .phone {
        padding:11px 12px;
        font-size:12px
    }
    .hero {
        min-height:650px
    }
    .hero-content {
        padding-top:70px
    }
    .hero h1 {
        font-size:45px
    }
    .hero-shade {
        background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.46))
    }
    .cta-row {
        flex-direction:column;
        align-items:flex-start
    }
    .trust-row {
        grid-template-columns:1fr 1fr
    }
    .section {
        padding:55px 0
    }
    .section-head {
        align-items:flex-start;
        flex-direction:column;
        gap:15px
    }
    .service-grid {
        grid-template-columns:1fr 1fr
    }
    .offer-grid {
        grid-template-columns:1fr
    }
    .offer-photo {
        min-height:260px;
        grid-row:auto
    }
    .offer-main,.offer-side {
        padding:35px 24px
    }
    .gallery {
        grid-template-columns:1fr
    }
    .stats-grid {
        grid-template-columns:1fr 1fr;
        gap:20px
    }
    .stats-grid div {
        padding:8px
    }
    .lead-grid {
        grid-template-columns:1fr;
        gap:50px
    }
    .form-grid {
        grid-template-columns:1fr
    }
    .form-grid select,.form-grid textarea {
        grid-column:auto
    }
    .footer-grid {
        grid-template-columns:1fr
    }
    .footer-grid img {
        width:110px
    }
    .floating-call {
        display:grid
    }
}
@media(max-width:460px) {
    .header-actions .phone {
        display:none
    }
    .service-grid {
        grid-template-columns:1fr
    }
    .hero h1 {
        font-size:39px
    }
    .pricing strong {
        font-size:44px
    }
}
/* Revision 2: visual match to approved mockup */
.hero-bg {
    background-image:url('../../img/generated/hero-example.webp');
    background-position:center center
}
.card img {
    height:150px;
    object-fit:cover
}
.gallery-item {
    display:block;
    overflow:hidden;
    border-radius:7px;
    position:relative
}
.gallery-item:after {
    content:'+';
    position:absolute;
    right:12px;
    bottom:12px;
    width:34px;
    height:34px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:rgba(239,37,37,.94);
    color:#fff;
    font-size:22px;
    font-weight:700;
    opacity:0;
    transform:scale(.85);
    transition:.2s
}
.gallery-item:hover:after {
    opacity:1;
    transform:scale(1)
}
.gallery-item img {
    transition:.3s
}
.gallery-item:hover img {
    transform:scale(1.035)
}
.stats-grid div.stat-item {
    padding:6px 28px;
    border-right:1px solid #ffffff18;
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:18px
}
.stat-icon {
    width:48px;
    height:48px;
    flex:0 0 48px;
    color:var(--red);
    display:grid;
    place-items:center
}
.stat-icon svg {
    width:42px;
    height:42px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round
}
.stat-copy {
    display:flex;
    flex-direction:column
}
.lead-grid {
    grid-template-columns:.8fr 1.05fr .42fr;
    gap:45px;
    align-items:stretch
}
.contact-benefits {
    min-height:360px;
    background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.72)),url('../../img/generated/contact-side.jpg') center/cover no-repeat;
    color:#fff;
    padding:28px 22px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    gap:18px;
    border-radius:8px;
    overflow:hidden
}
.benefit {
    display:flex;
    align-items:center;
    gap:10px;
    font-size:13px;
    text-transform:uppercase
}
.benefit span {
    width:28px;
    height:28px;
    border-radius:50%;
    background:var(--red);
    display:grid;
    place-items:center;
    font-size:16px;
    font-weight:900;
    box-shadow:0 4px 12px #0004
}
.lightbox {
    position:fixed;
    inset:0;
    z-index:1000;
    background:rgba(0,0,0,.93);
    display:none;
    align-items:center;
    justify-content:center;
    padding:34px
}
.lightbox.open {
    display:flex
}
.lightbox img {
    max-width:min(1200px,90vw);
    max-height:88vh;
    object-fit:contain;
    box-shadow:0 18px 60px #000
}
.lightbox button {
    position:absolute;
    border:0;
    background:rgba(255,255,255,.12);
    color:#fff;
    cursor:pointer;
    width:48px;
    height:48px;
    border-radius:50%;
    font-size:34px;
    line-height:1;
    display:grid;
    place-items:center
}
.lightbox-close {
    right:22px;
    top:22px
}
.lightbox-prev {
    left:22px;
    top:50%;
    transform:translateY(-50%)
}
.lightbox-next {
    right:22px;
    top:50%;
    transform:translateY(-50%)
}
@media(max-width:1050px) {
    .lead-grid {
        grid-template-columns:1fr 1fr
    }
    .contact-benefits {
        grid-column:1/-1;
        min-height:230px;
        flex-direction:row;
        align-items:flex-end;
        justify-content:flex-start
    }
    .stats-grid div.stat-item {
        padding:6px 16px
    }
    .stat-icon {
        width:40px;
        height:40px;
        flex-basis:40px
    }
    .stat-icon svg {
        width:36px;
        height:36px
    }
}
@media(max-width:720px) {
    .lead-grid {
        grid-template-columns:1fr
    }
    .contact-benefits {
        grid-column:auto;
        min-height:300px;
        flex-direction:column;
        align-items:flex-start;
        justify-content:flex-end
    }
    .stats-grid div.stat-item {
        padding:8px;
        gap:10px
    }
    .stat-icon {
        width:36px;
        height:36px;
        flex-basis:36px
    }
    .stat-icon svg {
        width:32px;
        height:32px
    }
    .lightbox {
        padding:18px
    }
    .lightbox-prev {
        left:8px
    }
    .lightbox-next {
        right:8px
    }
    .lightbox-close {
        right:10px;
        top:10px
    }
}
/* V4 refinements: oversized original logo, truly translucent sticky menu, mockup-style offer */
.site-header {
    background:rgba(13,14,15,.50)!important;
    box-shadow:0 2px 20px rgba(0,0,0,.18);
    -webkit-backdrop-filter:none;
    backdrop-filter:none
}
.site-header.scrolled {
    background:rgba(13,14,15,.70)!important;
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px)
}
.nav-wrap {
    height:118px
}
.brand {
    width:330px;
    align-self:stretch;
    display:flex;
    align-items:center
}
.brand img {
    width:100%;
    max-height:142px;
    object-fit:contain
}
.site-header.scrolled .nav-wrap {
    height:70px
}
.site-header.scrolled .brand {
    width:135px
}
.site-header.scrolled .brand img {
    max-height:62px
}
.offer {
    min-height:30px;
    background-image:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.74) 31%,rgba(0,0,0,.26) 58%,rgba(0,0,0,.08) 100%),url('../../img/portfolio/31.webp');
    background-position:center 54%;
    background-size:cover;
    background-repeat:no-repeat;
    display:flex;
    align-items:center
}
.offer-content {
    padding-top:62px;
    padding-bottom:62px
}
.offer-kicker {
    margin:0 0 8px;
    color:var(--red);
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-size:14px
}
.offer h2 {
    margin:0 0 14px;
    color:#fff;
    font-size:clamp(44px,5.2vw,68px);
    line-height:.92;
    text-transform:none;
    letter-spacing:-.045em;
    max-width:620px
}
.offer h2 span {
    color:var(--red);
    font-size:1.16em
}
.offer-copy {
    color:#fff;
    font-size:16px;
    line-height:1.5;
    margin:0 0 24px;
    max-width:540px
}
.offer .btn {
    width:max-content
}
@media(max-width:1050px) {
    .nav {
        top:118px;
        background:rgba(17,17,17,.92)
    }
    .site-header.scrolled .nav {
        top:70px
    }
    .brand {
        width:285px
    }
    .offer {
        min-height:390px;
        background-position:58% center
    }
}
@media(max-width:720px) {
    .nav-wrap {
        height:100px
    }
    .brand {
        width:220px
    }
    .brand img {
        max-height:96px
    }
    .site-header.scrolled .nav-wrap {
        height:62px
    }
    .site-header.scrolled .brand {
        width:105px
    }
    .site-header.scrolled .brand img {
        max-height:52px
    }
    .nav {
        top:100px
    }
    .site-header.scrolled .nav {
        top:62px
    }
    .offer {
        min-height:430px;
        background-image:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.48)),url('../../img/portfolio/31.webp');
        background-position:60% center
    }
    .offer-content {
        padding-top:50px;
        padding-bottom:50px
    }
    .offer h2 {
        font-size:46px
    }
    .offer-copy br {
        display:none
    }
}
/* V5: transparent overlay header + mockup offer composition */
.site-header {
    position:fixed;
    top:0;
    left:0;
    right:0;
    width:100%;
    background:rgba(10,11,12,.38)!important;
    box-shadow:none;
    border-bottom:1px solid rgba(255,255,255,.12);
    z-index:100
}
.site-header.scrolled {
    background:rgba(10,11,12,.70)!important;
    box-shadow:0 5px 22px rgba(0,0,0,.20);
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px)
}
.nav-wrap {
    height:126px
}
.brand {
    width:350px;
    transform:translateY(10px);
    transition:width .3s ease,transform .3s ease
}
.brand img {
    max-height:150px
}
.site-header.scrolled .brand {
    width:135px;
    transform:translateY(0)
}
.site-header.scrolled .brand img {
    max-height:62px
}
.hero-content {
    padding-top:185px
}
.offer {
    min-height:360px;
    display:grid;
    grid-template-columns:25% 20% 20%;
    background:#111;
    color:#fff;
    align-items:stretch;
    justify-content:center
}
.offer-photo {
    min-height:360px;
    background:linear-gradient(90deg,rgba(0,0,0,.03),rgba(0,0,0,.20)),url('../../img/portfolio/31.webp') center/cover no-repeat
}
.offer-main {
    padding:38px 34px;
    background:linear-gradient(135deg,#171717,#0e0e0e);
    border-right:1px solid rgba(255,255,255,.55);
    display:flex;
    flex-direction:column;
    justify-content:center
}
.offer-main .brush {
    font-size:20px;
    padding:7px 20px;
    margin-bottom:14px
}
.offer-main h2 {
    font-size:38px;
    line-height:1.03;
    margin:0 0 22px;
    text-transform:uppercase;
    letter-spacing:-.035em;
    color:#fff
}
.offer-main .pricing {
    display:grid;
    grid-template-columns:auto 1fr;
    column-gap:20px;
    align-items:end
}
.offer-main .pricing s {
    font-size:20px;
    font-weight:800
}
.offer-main .pricing span {
    font-size:16px;
    text-align:center
}
.offer-main .pricing strong {
    grid-column:2;
    font-size:48px;
    color:var(--red);
    line-height:.9;
    text-align:center
}
.offer-side {
    padding:32px 28px;
    background:#111;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:24px
}
.offer-firepit-card {
    display:grid;
    grid-template-columns:60% 40%;
    border:1px solid #555;
    border-radius:7px;
    overflow:hidden;
    background:#151515;
    min-height:242px
}
.offer-firepit-card img {
    width:100%;
    height:100%;
    object-fit:cover
}
.offer-firepit-card>div {
    padding:18px 14px;
    display:flex;
    flex-direction:column;
    justify-content:center
}
.offer-side h3 {
    margin:0 0 12px;
    font-size:21px;
    line-height:1.08;
    text-transform:uppercase;
    color:#fff
}
.offer-side h3 span {
    color:var(--red)
}
.offer-side p {
    margin:0;
    color:#ddd;
    font-size:11px
}
.offer-side .btn {
    width:100%
}
@media(max-width:1050px) {
    .nav {
        top:126px
    }
    .site-header.scrolled .nav {
        top:70px
    }
    .brand {
        width:300px
    }
    .hero-content {
        padding-top:170px
    }
    .offer {
        grid-template-columns:1fr 1fr
    }
    .offer-photo {
        grid-column:1/-1;
        min-height:310px
    }
    .offer-main,.offer-side {
        min-height:300px
    }
}
@media(max-width:720px) {
    .site-header {
        background:rgba(10,11,12,.48)!important
    }
    .nav-wrap {
        height:108px
    }
    .brand {
        width:235px;
        transform:translateY(7px)
    }
    .brand img {
        max-height:100px
    }
    .site-header.scrolled .nav-wrap {
        height:62px
    }
    .site-header.scrolled .brand {
        width:105px;
        transform:none
    }
    .nav {
        top:108px
    }
    .site-header.scrolled .nav {
        top:62px
    }
    .hero-content {
        padding-top:150px
    }
    .offer {
        grid-template-columns:1fr
    }
    .offer-photo {
        grid-column:auto;
        min-height:260px
    }
    .offer-main,.offer-side {
        min-height:auto;
        padding:34px 24px
    }
    .offer-main h2 {
        font-size:34px
    }
    .offer-main .pricing strong {
        font-size:44px
    }
}


/* SEO content sections */
.service-link{display:inline-block;margin-top:12px;color:var(--red);font-size:12px;font-weight:800;text-transform:uppercase}
.seo-copy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.seo-copy-grid>div{border-top:3px solid var(--red);padding:22px 20px;background:#f7f8f9}.seo-copy-grid h3{margin:0 0 10px;text-transform:uppercase;font-size:17px}.seo-copy-grid p,.faq-grid p{color:var(--muted);line-height:1.65;margin:0}.faq-section{background:#f6f7f8}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.faq-grid details{background:#fff;border:1px solid var(--line);border-radius:7px;padding:18px 20px}.faq-grid summary{cursor:pointer;font-weight:800}.faq-grid details p{padding-top:12px}.local-seo{padding-top:68px;padding-bottom:68px}@media(max-width:720px){.seo-copy-grid,.faq-grid{grid-template-columns:1fr}}

/* Service landing pages */
.service-page-hero{padding:190px 0 90px;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.42)),url('../../img/generated/hero-example.webp') center/cover no-repeat;color:#fff}.service-page-hero h1{font-size:clamp(42px,6vw,72px);text-transform:uppercase;line-height:.95;max-width:850px;margin:12px 0 18px}.service-page-hero p:not(.eyebrow){max-width:650px;font-size:18px;line-height:1.6}.service-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.service-page-grid img{width:100%;border-radius:9px}.service-page-grid h2{font-size:clamp(30px,4vw,48px);text-transform:uppercase;margin:0 0 18px}.service-page-grid p{color:var(--muted);line-height:1.7}@media(max-width:720px){.service-page-hero{padding:145px 0 65px}.service-page-grid{grid-template-columns:1fr}}


/* Reviews carousel */
.review-carousel { position: relative; overflow: hidden; }
.review-track { position: relative; min-height: 190px; }
.review-slide { position: absolute; inset: 0; opacity: 0; transform: translateX(24px); pointer-events: none; transition: opacity .4s ease, transform .4s ease; }
.review-slide.active { position: relative; opacity: 1; transform: translateX(0); pointer-events: auto; }
.review-card { min-height: 170px; }
.review-placeholder { border: 1px dashed #d5d9dd; box-shadow: none; }
.review-placeholder p { font-style: italic; }
.review-controls { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 16px; }
.review-prev, .review-next { width: 38px; height: 38px; border-radius: 50%; border: 1px solid #dfe2e5; background: #fff; color: #17191c; font-size: 25px; line-height: 1; cursor: pointer; transition: .2s; }
.review-prev:hover, .review-next:hover { background: var(--red); color: #fff; border-color: var(--red); }
.review-dots { display: flex; gap: 8px; }
.review-dots button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: #c9cdd1; cursor: pointer; transition: .2s; }
.review-dots button.active { width: 24px; border-radius: 8px; background: var(--red); }
@media (max-width:720px) { .review-track { min-height: 220px; } .review-card { min-height: 200px; } }
