/* SEO landing pages and internal service links */

.svc-location-links {
    display: flex;
    gap: 10px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.svc-location-links a {
    color: var(--text-mid);
    font-size: 0.78rem;
    font-weight: 700;
    text-decoration: none;
}

.svc-location-links a:hover { color: var(--gold); }

.service-hero {
    min-height: min(76vh, 680px);
    display: flex;
    align-items: flex-end;
    position: relative;
    overflow: hidden;
    background: center / cover no-repeat;
    color: #fff;
}

.service-hero--brisbane {
    background-image: url('/images/web/projects/20260427_181613.jpg');
}

.service-hero--gold-coast {
    background-image: url('/images/web/projects/20260428_102658.jpg');
}

.service-hero--kitchen {
    background-image: url('/images/web/projects/enhanced/ai-539576_0.jpg');
}

.service-hero--carpentry {
    background-image: url('/images/web/projects/enhanced/13-meetfresh-shopfit-complete.jpg');
}

.service-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(9, 12, 17, 0.88), rgba(9, 12, 17, 0.56) 60%, rgba(9, 12, 17, 0.28));
}

.service-hero__content {
    position: relative;
    z-index: 1;
    max-width: 760px;
    padding-top: 150px;
    padding-bottom: 72px;
}

.service-hero__eyebrow {
    color: var(--gold-light);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.service-hero h1 {
    max-width: 750px;
    font-size: clamp(2.5rem, 7vw, 5rem);
    line-height: 1.02;
    font-weight: 900;
    letter-spacing: 0;
    margin-bottom: 22px;
}

.service-hero__lead {
    max-width: 620px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 1.08rem;
    line-height: 1.75;
    margin-bottom: 30px;
}

.service-hero__actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.service-trust {
    background: var(--dark);
    color: #fff;
}

.service-trust__grid {
    min-height: 86px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center;
    gap: 20px;
}

.service-trust__item strong,
.service-trust__item span { display: block; }

.service-trust__item strong {
    color: var(--gold-light);
    font-size: 0.82rem;
}

.service-trust__item span {
    color: rgba(255, 255, 255, 0.58);
    font-size: 0.75rem;
}

.service-intro,
.service-detail,
.service-faq,
.service-areas { padding: 88px 0; }

.service-intro__grid,
.service-detail__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(300px, 0.95fr);
    gap: 64px;
    align-items: center;
}

.service-copy h2,
.service-section-head h2 {
    color: var(--black);
    font-size: clamp(2rem, 5vw, 3.2rem);
    line-height: 1.1;
    font-weight: 850;
    letter-spacing: 0;
    margin-bottom: 20px;
}

.service-copy p,
.service-section-head p {
    color: var(--text-mid);
    margin-bottom: 18px;
}

.service-photo {
    aspect-ratio: 4 / 3;
    width: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.service-figure { margin: 0; }
.service-figure figcaption,
.image-note { color: var(--text-mid); font-size: 0.75rem; line-height: 1.55; margin-top: 8px; }
.footer .image-note { color: rgba(255, 255, 255, 0.5); }

.svc-minor a { color: var(--gold-dark); display: inline-block; font-size: 0.82rem; font-weight: 750; margin-top: 8px; text-decoration: none; }

.legal-page { background: #f7f7f5; }
.legal-header { background: var(--dark); color: #fff; padding: 150px 0 64px; }
.legal-header__inner { max-width: 780px; }
.legal-header h1 { font-size: clamp(2.6rem, 6vw, 4.4rem); line-height: 1.05; letter-spacing: 0; margin: 10px 0 18px; }
.legal-header p { color: #d7d9df; font-size: 1rem; }
.legal-header .legal-updated { color: #aeb4be; font-size: 0.82rem; margin-top: 16px; }
.legal-content { max-width: 820px; padding-top: 72px; padding-bottom: 88px; }
.legal-content section + section { border-top: 1px solid rgba(0, 0, 0, 0.1); margin-top: 34px; padding-top: 34px; }
.legal-content h2 { color: var(--black); font-size: 1.35rem; letter-spacing: 0; margin-bottom: 12px; }
.legal-content p { color: var(--text-mid); line-height: 1.75; margin-bottom: 12px; }
.legal-content a { color: #725700; font-weight: 700; }

@media (max-width: 768px) {
    .legal-header { padding: 120px 0 46px; }
    .legal-content { padding-top: 48px; padding-bottom: 64px; }
}

.scope-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 40px;
}

.scope-item {
    padding: 24px;
    border: 1px solid rgba(0, 0, 0, 0.09);
    border-radius: 8px;
    background: #fff;
}

.scope-item h3 {
    color: var(--black);
    font-size: 1.05rem;
    margin-bottom: 8px;
}

.scope-item p {
    color: var(--text-mid);
    font-size: 0.9rem;
    line-height: 1.65;
}

.service-detail { background: var(--bg-alt); }

.service-checklist {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 28px;
    margin-top: 24px;
    list-style: none;
}

.service-checklist li {
    position: relative;
    padding-left: 20px;
    color: var(--text-mid);
}

.service-checklist li::before {
    content: '';
    position: absolute;
    top: 0.7em;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--gold);
}

.service-areas { background: #fff; }

.area-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.area-list span {
    padding: 9px 14px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 6px;
    color: var(--text-mid);
    font-size: 0.84rem;
    font-weight: 650;
}

.faq-list {
    max-width: 860px;
    margin-top: 34px;
}

.faq-item {
    padding: 24px 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.faq-item:last-child { border-bottom: 1px solid rgba(0, 0, 0, 0.1); }

.faq-item h3 {
    color: var(--black);
    font-size: 1.05rem;
    margin-bottom: 8px;
}

.faq-item p { color: var(--text-mid); }

.service-cta {
    padding: 72px 0;
    background: var(--black);
    color: #fff;
}

.service-cta__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 36px;
}

.service-cta h2 {
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    line-height: 1.15;
    margin-bottom: 10px;
}

.service-cta p { color: rgba(255, 255, 255, 0.62); }

@media (max-width: 768px) {
    .service-hero { min-height: 640px; }
    .service-hero__content { padding-top: 140px; padding-bottom: 52px; }
    .service-hero h1 { font-size: 2.55rem; }
    .service-hero__lead { font-size: 0.96rem; }
    .service-hero__actions { flex-direction: column; }
    .service-hero__actions .btn { width: 100%; text-align: center; }
    .service-trust__grid { grid-template-columns: 1fr 1fr; padding: 22px 28px; }
    .service-intro,
    .service-detail,
    .service-faq,
    .service-areas { padding: 60px 0; }
    .service-intro__grid,
    .service-detail__grid { grid-template-columns: 1fr; gap: 34px; }
    .scope-grid { grid-template-columns: 1fr; }
    .service-checklist { grid-template-columns: 1fr; }
    .service-cta__inner { flex-direction: column; align-items: flex-start; }
}
