@import url('./home.css');

/* One visual system for all existing service, sector, guide and project pages. */
:root { --primary:#142124; --accent:#c4233f; --accent-dark:#a51c34; --accent-light:#c4233f; --text:#152125; --muted:#536264; --surface:#edf0eb; --surface-2:#f7f8f5; --border:#d3dcd5; --white:#fff; --radius:4px; --radius-lg:4px; --max:1280px; --header-h:88px; --font:Arial,Helvetica,sans-serif; }
html { max-width:100%; scroll-padding-top:25px; }
body { overflow-wrap:break-word; }
[hidden] { display:none !important; }
button { font-family:inherit; }
a { text-underline-offset:4px; }
main a:not(.button):not(.btn):not(.dp-project-tile):not(.service-photo):hover { text-decoration:underline; }
h1 { font-size:clamp(34px,3.7vw,52px); font-weight:700; }
h2 { font-size:clamp(26px,2.4vw,34px); font-weight:700; }
h3 { font-size:21px; }
p { line-height:1.75; }
p+p { margin-top:15px; }
em { font-style:normal; }
ul,ol { padding-left:21px; }
li { padding-left:2px; margin-block:7px; }
figure { min-width:0; }
figcaption { color:var(--muted); font-size:12px; line-height:1.6; padding-top:11px; }
img { height:auto; }
svg { max-width:100%; }
.dp-anchor { display:block; position:relative; scroll-margin-top:24px; }
.dp-honeypot { display:none !important; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:46px; padding:12px 23px; border:1px solid transparent; border-radius:4px; background:var(--accent); color:#fff; font:700 13px/1.4 var(--font); text-align:center; text-decoration:none; cursor:pointer; }
.btn:hover { background:var(--accent-dark); text-decoration:none; }
.btn--primary { background:var(--accent); color:#fff; }
.btn--outline,.btn--ghost,.dp-button-secondary { border-color:#53676a; background:var(--dark); color:#fff; }
.btn--outline:hover,.btn--ghost:hover,.dp-button-secondary:hover { background:#2c4246; color:#fff; }
.btn--whatsapp,.btn--wa { color:#fff; background:var(--dark); border-color:#53676a; }
.btn--whatsapp:hover,.btn--wa:hover { color:#fff; background:#2c4246; }
.btn:disabled,.button:disabled { cursor:wait; opacity:.65; }
.btn--sm { min-height:42px; padding:10px 18px; }
.dp-nav-group { position:relative; }
.dp-nav-group>summary { cursor:pointer; display:flex; align-items:center; gap:9px; list-style:none; padding-block:24px; }
.dp-nav-group>summary::-webkit-details-marker { display:none; }
.dp-nav-dropdown { position:absolute; top:64px; left:-20px; min-width:265px; padding:12px; background:#f7f8f5; color:var(--ink); border:1px solid var(--line); box-shadow:0 12px 25px #00000018; display:grid; }
.dp-nav-dropdown>a { display:block; padding:11px 12px; }
.dp-nav-dropdown>a:hover { background:#e7ece5; }
.dp-nav-dropdown strong { display:block; font-size:13px; font-weight:600; }
.dp-nav-dropdown span { display:block; color:var(--muted); font-size:11px; font-weight:400; margin-top:3px; }
.dp-nav-services .dp-nav-dropdown { width:560px; grid-template-columns:1fr 1fr; }
.dp-nav-dropdown a[aria-current=page] { box-shadow:inset 2px 0 var(--accent); background:#edf0eb; }
.primary-nav { gap:26px; }
.dp-page-hero { background:var(--dark); color:white; padding:35px 0 48px; }
.breadcrumb,.pv-hero__breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:9px; font-size:11px; color:#becdc5; line-height:1.7; margin-bottom:26px; }
.breadcrumb a,.pv-hero__breadcrumb a { color:#e6ede8; }
.breadcrumb-current { color:#c0cdc5; }
.breadcrumb-sep { color:#8fa49a; }
.dp-hero-grid { display:grid; grid-template-columns:1.12fr 1fr; gap:55px; align-items:center; }
.dp-hero-grid--text { grid-template-columns:1fr!important; }
.dp-hero-grid--text .dp-hero-copy { max-width:960px; }
.dp-hero-grid--text h1 { max-width:960px; }
.dp-hero-copy { min-width:0; }
.dp-hero-copy h1 { max-width:760px; line-height:1.1; margin-bottom:22px; }
.dp-hero-copy .hero-sub,.dp-hero-copy .pv-hero__lede { color:#d8e2db; font-size:16px; line-height:1.75; max-width:650px; }
.dp-hero-copy p a { text-decoration:underline; color:#fff; }
.dp-hero-copy .label,.dp-hero-copy .eyebrow,.dp-hero-copy .hero-kicker { color:#c3d0c5; display:block; font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.13em; margin-bottom:15px; }
.dp-hero-copy em,.dp-home .hero h1 em { color:#fff; font-style:normal; }
.dp-hero-copy .hero-actions,.dp-hero-copy .pv-hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.dp-hero-copy .btn--outline,.dp-hero-copy .btn--ghost { color:#fff; border-color:#91a49a; }
.dp-hero-copy .btn--outline:hover,.dp-hero-copy .btn--ghost:hover { background:#2c4246; }
.dp-hero-copy .meta,.article-meta { display:flex; flex-wrap:wrap; gap:15px; margin-top:22px; color:#b7c9bb; font-size:11px; }
.dp-hero-copy .hero-metas { font-size:11px; margin-top:25px; color:#c7d3c9; }
.dp-hero-photo { align-self:stretch; display:flex; flex-direction:column; justify-content:center; min-height:320px; }
.dp-hero-photo>a { display:block; }
.dp-hero-photo img { width:100%; height:350px; object-fit:cover; object-position:center 42%; border-radius:3px; }
.dp-hero-photo figcaption { color:#d5dfd6; font-size:11px; }
.dp-hero-photo--contain img { object-fit:contain; background:#e7ece4; padding:18px; }
.dp-hero-notes,.dp-brief { padding:28px; border:1px solid #52625a; background:#ffffff04; border-radius:4px; }
.dp-hero-notes h2,.dp-brief h2 { font-size:24px; margin-bottom:17px; }
.dp-hero-notes h3 { font-size:20px; margin-bottom:14px; }
.dp-hero-notes .guide-summary { background:transparent; border:0; padding:0; }
.dp-hero-notes p,.dp-brief p,.dp-hero-notes li,.dp-brief li { color:#d8e2d8; font-size:14px; line-height:1.75; }
.dp-brief ul { margin-block:20px; }
.dp-brief .eyebrow { color:#c5d2c7; font-size:10px; }
.dp-hero-extra { margin-top:27px; max-width:950px; }
.dp-hero-extra p,.dp-hero-extra li { color:#d8e2d8; }
.dp-hero-extra h2 { font-size:24px; }
.dp-hero-extra .label { color:#c5d5ca; }
.dp-hero-notes .measure-item { border-bottom:1px solid #4c6055; padding-block:14px; }
.dp-hero-notes .measure-item:last-child { border-bottom:0; }
.dp-hero-notes .measure-item h2 { font-size:21px; margin-bottom:8px; }
.pv-hero__brand { width:245px; display:block; margin-bottom:25px; }
.pv-hero__brand img { width:100%; height:auto; }
.pv-hero__destination { display:block; font-size:11px; color:#c4d5c6; margin-top:14px; }
.pv-hero__products { display:flex; flex-wrap:wrap; gap:18px; border-top:1px solid #52665a; margin-top:20px; padding-top:14px; font-size:11px; }
.pv-hero__products a { text-decoration:underline; }
.pv-hero__button { display:inline-flex; gap:15px; align-items:center; justify-content:center; min-height:46px; border-radius:4px; background:var(--accent); color:#fff; font-size:13px; font-weight:700; padding:12px 22px; }
.pv-hero__button--secondary { background:transparent; border:1px solid #8ea298; }
.pv-hero__button:hover { background:var(--accent-dark); color:#fff; }
.pv-hero__button--secondary:hover { background:#2c4246; }
.section--sm { padding-block:42px; }
.section--surface { background:var(--surface); }
.section--dark { background:var(--dark-2); color:#fff; }
.section--dark p,.section--dark li { color:#d2dfd4; }
.section--dark .label { color:#c5d5ca; }
.section--dark .btn--outline { color:#fff; border-color:#8c9f94; }
.section-head { margin-bottom:30px; max-width:790px; }
.section-head h2 { margin-bottom:16px; }
.section-head p { color:var(--muted); font-size:15px; line-height:1.75; max-width:760px; }
.section-head--center { text-align:center; margin-inline:auto; }
.section-head--center p { margin-inline:auto; }
.label { display:block; font-size:10px; text-transform:uppercase; font-weight:600; letter-spacing:.13em; color:#66766a; margin-bottom:12px; }
.dp-grid { display:grid; gap:27px; align-items:start; }
.dp-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.dp-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.dp-card { min-width:0; border-top:1px solid #c2cfc3; padding:23px 0 8px; background:transparent; border-radius:0; }
a.dp-card { display:block; }
.dp-card h3 { font-size:20px; line-height:1.25; margin-bottom:12px; }
.dp-card p,.dp-card li { color:var(--muted); font-size:14px; line-height:1.75; }
.dp-card p a { text-decoration:underline; color:var(--ink); }
.dp-card .related-card-link { display:inline-flex; align-items:center; color:var(--red); font-size:12px; font-weight:600; margin-top:17px; padding-block:4px; }
.dp-card .card-tag { color:var(--red); font-size:10px; font-weight:600; display:block; margin-bottom:12px; }
.card-number { font-size:12px; color:var(--red); margin-bottom:12px; display:block; }
.dp-split { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:52px; align-items:start; }
.dp-split>* { min-width:0; }
.dp-split h2 { margin-bottom:20px; }
.dp-split h3 { margin-bottom:14px; }
.dp-split p,.dp-split li { color:var(--muted); font-size:15px; line-height:1.8; }
.dp-split p a { text-decoration:underline; color:var(--ink); }
.section--dark .dp-split p,.section--dark .dp-split li,.section--dark .dp-card p,.section--dark .dp-card li { color:#d2dfd4; }
.intro-aside,.project-summary,.guide-summary,.advice-panel,.info-panel,.panel { padding:27px; border:1px solid var(--border); border-radius:4px; background:#fff; }
.intro-aside h3,.panel h2 { font-size:21px; line-height:1.25; margin-bottom:18px; }
.aside-stat { display:grid; grid-template-columns:82px minmax(0,1fr); gap:18px; padding-block:17px; border-top:1px solid var(--line); }
.aside-stat-num { font-size:22px; line-height:1.2; color:var(--red); font-weight:700; letter-spacing:-.03em; }
.aside-stat-label { font-size:12px; line-height:1.7; color:var(--muted); }
.feature-list,.scope-list,.why-tick-list,.brief-list { list-style:none; padding:0; margin:20px 0; }
.feature-list li,.scope-list li,.why-tick-list li,.brief-list li { position:relative; padding-left:17px; font-size:14px; }
.feature-list li:before,.scope-list li:before,.why-tick-list li:before,.brief-list li:before { content:'—'; position:absolute; left:0; color:var(--red); }
.process-step { border-top:1px solid var(--border); padding-top:22px; }
.process-step-num,.step-num { font-size:12px; color:var(--red); margin-bottom:12px; }
.process-step h3 { font-size:19px; margin-bottom:12px; }
.process-step p { color:var(--muted); font-size:14px; line-height:1.75; }
.cta-strip { text-align:left; }
.cta-strip h2 { max-width:800px; margin-bottom:18px; }
.cta-strip p { max-width:850px; margin-bottom:24px; font-size:15px; }
.cta-actions { display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.faq-item { border-bottom:1px solid var(--border); padding-block:21px; }
.faq-q { font-size:17px; font-weight:600; color:var(--ink); margin-bottom:11px; }
.faq-a,.faq-body { color:var(--muted); font-size:14px; line-height:1.8; }
.faq-a p { margin-top:10px; }
.faq-accordion details,.dp-faq { border-top:1px solid var(--border); padding-block:18px; }
.faq-accordion summary,.dp-faq summary { cursor:pointer; font-size:16px; font-weight:600; }
.faq-accordion details p,.dp-faq .faq-a { padding-top:13px; font-size:14px; color:var(--muted); line-height:1.8; }
.faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; }
.table-scroll { max-width:100%; overflow:auto; margin-block:25px; border:1px solid var(--border); }
table { width:100%; min-width:600px; border-collapse:collapse; font-size:13px; text-align:left; }
th,td { padding:15px; border-bottom:1px solid var(--border); vertical-align:top; }
th { background:#e5ebe3; color:var(--ink); font-weight:600; }
td { color:var(--muted); line-height:1.7; }
.section--dark th { background:#283d34; color:#fff; }
.section--dark td { color:#d9e3da; }
dl { margin:0; }
dl>div { border-bottom:1px solid var(--line); padding-block:12px; }
dt { font-weight:600; font-size:12px; color:var(--ink); }
dd { margin:5px 0 0; color:var(--muted); font-size:13px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px 16px; }
.form-field,.field { min-width:0; margin-bottom:12px; }
.form-field--full { grid-column:1/-1; }
label { color:var(--ink); font-size:12px; }
label span { color:var(--muted); font-weight:400; }
input,select,textarea { font-size:14px; }
.form-field input,.form-field select,.form-field textarea { width:100%; }
.dp-form-options { border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding-block:13px; margin-bottom:18px; }
.dp-form-options summary { font-size:13px; font-weight:600; cursor:pointer; }
.dp-form-options summary span { font-size:11px; font-weight:400; color:var(--muted); }
.dp-form-options>div { padding-top:17px; }
.dp-required { color:var(--red); }
.dp-optional { color:var(--muted); font-size:11px; font-weight:400; }
.dp-enquiry .form-privacy,.form-privacy,.form-help { font-size:11px; color:var(--muted); line-height:1.6; margin-top:15px; }
.form-privacy a,.form-help a,.form-note a { text-decoration:underline; }
.dp-form-status { font-size:13px; margin-top:16px; font-weight:600; line-height:1.7; }
.dp-form-status[data-error=true] { color:#a51c34; }
.quote-layout { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:55px; align-items:start; }
.quote-layout>* { min-width:0; }
.quote-copy h2 { margin-bottom:22px; }
.quote-copy p,.quote-copy li { font-size:14px; line-height:1.8; }
.quote-copy .label { color:#c7d9cb; }
.quote-form { background:#fff; color:var(--ink); padding:28px; border:1px solid var(--line); border-radius:4px; }
.quote-form h3 { font-size:23px; margin-bottom:13px; }
.quote-form>p { font-size:13px; color:var(--muted); margin-bottom:20px; }
.quote-form p,.quote-form li,.quote-form .form-privacy,.quote-form .form-help { color:var(--muted); }
.quote-form .btn { margin-top:5px; }
.dp-enquiry-note { margin-top:22px; font-size:12px!important; }
.dp-enquiry-note a { text-decoration:underline; }
.dp-enquiry .dp-anchor { position:absolute; }
.dp-case .feature { padding-block:35px 10px; margin:0 auto; }
.feature>img { width:100%; max-height:550px; object-fit:cover; margin-bottom:22px; }
.supporting-grid { gap:20px; margin-top:15px; }
.supporting-grid img,.gallery-card img { width:100%; height:280px; object-fit:cover; border-radius:3px; }
.dp-contain { object-fit:contain!important; }
.dp-case .content-grid { display:grid; grid-template-columns:minmax(0,2.3fr) minmax(0,1fr); gap:55px; padding-block:35px; align-items:start; }
.dp-case .content-grid h2 { margin-bottom:18px; }
.dp-case .content-grid p,.dp-case .content-grid li { font-size:15px; color:var(--muted); line-height:1.8; }
.dp-case .content-grid section+section,.dp-case .content-grid .faq-section { margin-top:35px; }
.dp-case .content-grid .result { padding:25px; border-left:2px solid var(--accent); background:#edf0eb; }
.seo-line { font-size:12px!important; margin-top:30px; color:var(--muted); }
.more-projects { padding-block:25px 35px; }
.more-projects>h2 { font-size:26px; margin-bottom:22px; }
.dp-case .cta { border-top:1px solid var(--border); padding-block:35px; display:grid; grid-template-columns:1.3fr 1fr; gap:40px; align-items:center; }
.dp-case .cta h2 { margin-bottom:16px; }
.dp-case .cta p { color:var(--muted); font-size:14px; }
.dp-case .panel h2 { font-size:23px; }
.image-placeholder { display:none; }
.estate-feature-image img { max-height:450px; width:100%; object-fit:contain; }
.estate-feature-image { background:#e9eee7; padding:20px; border-radius:3px; }
.illustration-stack { display:grid; gap:24px; }
.illustration-card img { width:100%; border-radius:3px; }
.art-card img,.gallery-card img { object-fit:contain; background:#fff; }
.label-card-body { padding-top:18px; }
.label-card-body h3 { margin-bottom:13px; }
.label-card-purpose { margin-top:14px; color:var(--muted); font-size:13px; }
.asset-gallery img { max-height:260px; }
.finish-card p,.system-card p,.guidance-card p { color:var(--muted); font-size:14px; }
.project-proof img { max-height:440px; width:100%; object-fit:cover; }
.proof-images img { width:100%; height:300px; object-fit:cover; }
.proof-images figure { min-width:0; }
.product-card img { width:100%; max-height:290px; object-fit:contain; }
.proof-bar { display:flex; flex-wrap:wrap; justify-content:center; gap:20px; border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding-block:20px; margin-block:20px; font-size:12px; }
.brief-row { padding-block:15px; border-bottom:1px solid var(--border); }
.brief-row strong { display:block; margin-bottom:5px; }
.spec-grid .dp-card { padding-top:16px; }
.subnav,.tag-list { display:flex; flex-wrap:wrap; gap:12px; }
.tag-list span { font-size:12px; }
.content-body { padding-block:45px; }
.content-body .container { max-width:950px; }
.content-body h2 { font-size:25px; margin:33px 0 17px; }
.content-body p,.content-body li { color:var(--muted); font-size:15px; }
.content-body a { color:var(--red); text-decoration:underline; }
.dp-legal .dp-page-hero .dp-hero-grid { grid-template-columns:1fr; }
.dp-legal .dp-brief { display:none; }
.thank-you-main,.thank-you-card { text-align:center; }
.dp-thank-you main { padding-block:65px; }
.thank-you-card { max-width:750px; margin:auto; padding:35px; }
.thank-you-card h1 { margin-bottom:20px; }
.thank-you-card>p { color:var(--muted); margin-bottom:25px; }
.thank-you-actions { display:flex; justify-content:center; gap:15px; flex-wrap:wrap; }
.success-mark { width:56px; height:56px; border:1px solid #748b78; border-radius:50%; display:grid; place-items:center; margin:0 auto 22px; color:#2e633b; font-size:27px; }
.dp-error { max-width:1000px; margin:auto; }
.dp-error h1 { margin-bottom:25px; }
.dp-error .button { margin-block:25px 35px; }
.dp-error h2 { font-size:24px; }
.dp-cookie-banner { position:fixed; z-index:100; left:24px; bottom:22px; width:min(520px,calc(100vw - 48px)); padding:21px; background:#fff; color:var(--ink); border:1px solid #b8c6b7; border-radius:4px; box-shadow:0 8px 35px #00000026; }
.dp-cookie-banner h2 { font-size:17px; margin-bottom:9px; }
.dp-cookie-banner p { font-size:12px; line-height:1.65; color:var(--muted); }
.dp-cookie-banner a { text-decoration:underline; }
.dp-cookie-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; align-items:center; }
.dp-cookie-actions .btn { font-size:11px; padding:10px 15px; min-height:42px; }
.dp-cookie-close { border:0; background:none; color:var(--muted); font-size:11px; padding:10px; }
.dp-consent-visible .mobile-contact { visibility:hidden; }
.dp-form-visible .mobile-contact { visibility:hidden; }
.dp-local-note { background:#e9ece7; color:#455b4d; font-size:10px; line-height:1.5; padding:7px 20px; text-align:center; }
.footer-top { grid-template-columns:1.2fr 1.1fr 1fr 1.2fr; gap:42px; }
.footer h2 { color:#fff; font-size:12px; font-weight:600; margin:12px 0 14px; letter-spacing:0; }
.footer ul { font-size:11px; line-height:1.9; }
.footer li { padding:0; margin:5px 0; }
.footer p { color:#c0d0c4; font-size:12px; }
.footer .dp-footer-contact { margin-top:20px; }
.dp-footer-contact a svg { display:inline; vertical-align:middle; width:14px; height:14px; }
.dp-footer-guides { border-top:1px solid #526158; padding-top:21px; margin-top:28px; display:flex; gap:30px; flex-wrap:wrap; font-size:11px; color:#c1d3c6; }
.dp-footer-guides span { color:#e8eee9; }
.footer-bottom { font-size:10px; color:#b4c5b9; }
.footer-bottom nav { flex-wrap:wrap; gap:17px; }
.footer-bottom button { padding:0; border:0; background:none; color:inherit; font-size:inherit; text-decoration:underline; }
.dp-home .hero-copy { width:49%; padding-block:54px 50px; min-height:555px; }
.dp-home .hero h1 { font-size:46px; max-width:570px; }
.dp-home .hero h1 br { display:none; }
.dp-home .hero h1 span,.dp-home .hero h1 em { display:block; font-size:24px; line-height:1.25; letter-spacing:-.025em; max-width:480px; margin-top:12px; }
.dp-home .hero-intro { font-size:15px; }
.dp-home .section-head { max-width:800px; }
.dp-home .section-heading>p { font-size:14px; }
.dp-service-directory { display:grid; grid-template-columns:1fr 1fr; gap:0 40px; }
.dp-service-directory details { border-top:1px solid #c4d0c4; padding-block:17px; }
.dp-service-directory summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:25px; font-size:17px; font-weight:600; line-height:1.4; }
.dp-service-directory summary::-webkit-details-marker { display:none; }
.dp-service-directory summary>span { color:var(--red); font-weight:400; font-size:20px; }
.dp-service-directory details>div { padding-block:16px 7px; }
.dp-service-directory p { font-size:14px; color:var(--muted); }
.dp-directory-links { display:flex; flex-wrap:wrap; gap:14px; margin-top:15px; }
.dp-directory-links a { color:var(--red); font-size:12px; font-weight:600; display:inline-flex; align-items:center; gap:12px; }
.dp-projects-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.dp-project-tile { min-width:0; display:block; }
.dp-project-tile img { width:100%; height:250px; object-fit:cover; border-radius:3px; margin-bottom:14px; }
.dp-project-tile span { font-size:10px; color:var(--muted); display:block; margin-bottom:7px; }
.dp-project-tile h3 { display:flex; justify-content:space-between; font-size:19px; }
.dp-home #sectors { background:#edf0eb; }
.dp-home #sectors .container>div:not(.section-head) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.dp-home #sectors .container>div:not(.section-head)>a { padding-top:19px; border-top:1px solid var(--border); }
.dp-home #sectors h3 { font-size:19px; margin-bottom:11px; }
.dp-home #sectors p { font-size:14px; color:var(--muted); }
.dp-home #sectors svg { width:28px; height:28px; }
.dp-home #why .why-right { max-width:850px; }
.dp-home #why h2 { margin-bottom:19px; }
.dp-home #why p { color:var(--muted); font-size:15px; }
.dp-home #why .btn-arrow { display:inline-flex; align-items:center; gap:15px; color:var(--red); font-size:13px; font-weight:600; }
.dp-home #why .btn-arrow-circle { font-size:19px; }
.dp-home-more { background:#edf0eb; }
.dp-home-more>.container>section { padding:0 0 30px; }
.dp-home-more>.container>section>.container { width:100%; }
.dp-home-more .about-layout,.dp-home-more .about-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:45px; }
.dp-home-more h2 { margin-bottom:20px; }
.dp-home-more p { color:var(--muted); font-size:14px; }
.dp-home-more .stat-grid,.dp-home-more .stats-grid { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.stat-block { border-top:1px solid var(--border); padding-top:15px; }
.stat-num { font-size:30px; font-weight:700; color:var(--ink); }
.stat-label { font-size:12px; color:var(--muted); }
.dp-home-supplement { border-top:1px solid #bfcfc0; padding-block:18px; }
.dp-home-supplement>summary { cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:25px; font-weight:600; font-size:17px; list-style:none; }
.dp-home-supplement>summary::-webkit-details-marker { display:none; }
.dp-home-supplement>summary span { color:var(--red); }
.dp-home-supplement>div>section { padding-block:30px 10px; }
.dp-home-supplement .container { width:100%; }
.dp-home-supplement .audience-grid,.dp-home-supplement .secondary-grid,.dp-home-supplement .outcomes-grid { display:grid; grid-template-columns:1fr 1fr; gap:25px; }
.dp-home-supplement h3 { font-size:19px; margin-bottom:13px; }
.dp-home-supplement .audience-card,.dp-home-supplement .secondary-card,.dp-home-supplement .outcome-item { border-top:1px solid var(--border); padding-top:20px; }
.dp-home-supplement .agency-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:40px; }
.dp-home-supplement .agency-panel { padding:20px; border:1px solid var(--border); }
.dp-home-supplement .outcome-icon,.dp-home-supplement .audience-icon,.dp-home-supplement .secondary-icon { display:none; }
.testimonials-layout { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.testimonials-pair { display:block; }
.testimonial-card { border-top:1px solid var(--border); padding-top:23px; }
.testimonial-card .quote-mark { display:none; }
.testimonial-card .stars { color:var(--red); font-size:14px; letter-spacing:.12em; margin-bottom:15px; }
.testimonial-quote { font-size:18px; color:var(--ink); }
.testimonial-author { margin-top:20px; font-size:12px; }
.author-name { display:block; font-weight:600; }
.author-role { display:block; color:var(--muted); margin-top:5px; }
.dp-home #faq .faq-split { display:grid; grid-template-columns:.8fr 1.4fr; gap:60px; }
.dp-home .faq-intro p { color:var(--muted); font-size:14px; margin-top:15px; }
.faq-phone-btn { display:inline-block; border-bottom:1px solid var(--border); padding-block:7px; font-size:13px; margin-top:20px; }
.dp-home #faq .faq-body { color:var(--muted); padding-top:12px; }
.dp-home #faq details { border-top:1px solid var(--border); padding-block:17px; }
.dp-home #faq summary { cursor:pointer; font-size:16px; font-weight:600; }

@media (max-width:1100px) {
  .dp-hero-grid { gap:35px; }
  .dp-hero-copy h1 { font-size:42px; }
  .dp-hero-photo img { height:325px; }
  .dp-split,.quote-layout,.dp-case .content-grid { gap:35px; }
  .primary-nav { gap:20px; }
  .dp-home .hero h1 { font-size:40px; }
  .dp-home .hero-copy { width:51%; }
}
@media (max-width:850px) {
  .dp-nav-group>summary { padding-block:13px; }
  .dp-nav-dropdown,.dp-nav-services .dp-nav-dropdown { position:static; width:100%; min-width:0; grid-template-columns:1fr; padding:0 0 10px 16px; background:transparent; color:white; border:0; box-shadow:none; }
  .dp-nav-dropdown a { padding:10px 0; }
  .dp-nav-dropdown span { color:#bccfc1; }
  .dp-nav-dropdown>a:hover { background:transparent; color:#fff; }
  .dp-nav-dropdown a[aria-current=page] { background:transparent; box-shadow:none; color:#fff; }
  .dp-page-hero { padding-block:27px 38px; }
  .dp-hero-grid { grid-template-columns:1fr 1fr; gap:27px; }
  .dp-hero-copy h1 { font-size:36px; }
  .dp-hero-copy .hero-sub,.dp-hero-copy .pv-hero__lede { font-size:14px; }
  .dp-hero-photo img { height:330px; }
  .dp-hero-copy .hero-actions { gap:10px; }
  .dp-hero-copy .btn { font-size:12px; padding-inline:16px; }
  .dp-brief { padding:20px; }
  .dp-brief h2 { font-size:22px; }
  .dp-grid--three { grid-template-columns:1fr 1fr; }
  .dp-split,.quote-layout,.dp-case .content-grid { grid-template-columns:1fr; }
  .intro-aside { max-width:700px; }
  .dp-hero-notes .availability-panel h2 { font-size:23px; }
  .dp-projects-grid { grid-template-columns:1fr 1fr; }
  .dp-project-tile img { height:240px; }
  .dp-home #sectors .container>div:not(.section-head) { grid-template-columns:1fr 1fr; }
  .dp-home-more .about-layout,.dp-home-more .about-grid { grid-template-columns:1fr; }
  .dp-home #faq .faq-split { gap:35px; }
  .footer-top>div:first-child { grid-column:auto; }
  .footer-top { grid-template-columns:1fr 1fr; gap:30px; }
  .dp-home .hero h1 { font-size:36px; }
  .dp-home .hero h1 span,.dp-home .hero h1 em { font-size:21px; }
}
@media (max-width:600px) {
  .dp-page-hero { padding-block:23px 32px; }
  .breadcrumb,.pv-hero__breadcrumb { font-size:10px; margin-bottom:23px; }
  .dp-hero-grid { grid-template-columns:1fr; gap:28px; }
  .dp-hero-copy h1 { font-size:34px; line-height:1.13; margin-bottom:19px; }
  .dp-hero-copy .hero-sub,.dp-hero-copy .pv-hero__lede { font-size:14px; }
  .dp-hero-copy .hero-actions { margin-top:23px; }
  .dp-hero-photo { min-height:0; }
  .dp-hero-photo img { height:265px; }
  .dp-hero-photo--contain img { height:300px; padding:13px; }
  .dp-hero-photo figcaption { font-size:10px; }
  .dp-hero-notes,.dp-brief { padding:21px; }
  .dp-brief h2 { font-size:23px; }
  .dp-brief ul { margin-block:15px; }
  .pv-hero__brand { width:220px; margin-bottom:23px; }
  .pv-hero__products { gap:13px; font-size:10px; }
  .dp-grid--two,.dp-grid--three,.faq-grid,.dp-service-directory { grid-template-columns:1fr; }
  .dp-grid { gap:16px; }
  .section--sm { padding-block:32px; }
  .section-head { margin-bottom:23px; }
  .section-head h2 { font-size:28px; }
  .section-head p,.dp-split p,.dp-split li { font-size:14px; }
  .section-head--center { text-align:left; }
  .dp-card { padding-block:19px 7px; }
  .dp-card h3 { font-size:20px; }
  .dp-split { gap:27px; }
  .intro-aside,.project-summary,.panel { padding:22px; }
  .aside-stat { grid-template-columns:68px minmax(0,1fr); gap:14px; }
  .dp-case .content-grid { padding-block:26px; gap:25px; }
  .dp-case .content-grid section+section { margin-top:28px; }
  .dp-case .cta { grid-template-columns:1fr; gap:23px; padding-block:30px; }
  .dp-case .feature { padding-top:20px; }
  .supporting-grid { grid-template-columns:1fr; }
  .supporting-grid img { height:250px; }
  .quote-layout { gap:27px; }
  .quote-form { padding:22px 17px; }
  .form-grid { grid-template-columns:1fr; gap:0; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .form-field--full { grid-column:auto; }
  .quote-copy h2 { font-size:29px; }
  .dp-cookie-banner { left:12px; bottom:12px; width:calc(100vw - 24px); padding:18px; }
  .dp-cookie-actions { gap:8px; }
  .dp-cookie-actions .btn { font-size:11px; padding-inline:13px; }
  .footer-top { grid-template-columns:1fr 1fr; gap:23px; }
  .footer-top>div:first-child { grid-column:1/-1; }
  .footer-top>div:last-child { grid-column:1/-1; }
  .footer-top>div:last-child ul { display:grid; grid-template-columns:1fr 1fr; gap:3px 20px; }
  .dp-footer-guides { gap:12px; flex-direction:column; }
  .footer-bottom { line-height:1.8; }
  .dp-projects-grid { grid-template-columns:1fr; gap:26px; }
  .dp-project-tile img { height:245px; }
  .dp-home .hero-copy { width:100%; min-height:0; padding-top:32px; padding-bottom:0; }
  .dp-home .hero h1 { font-size:37px; }
  .dp-home .hero h1 span,.dp-home .hero h1 em { font-size:20px; max-width:330px; }
  .dp-home .hero-intro { font-size:13px; }
  .dp-home .hero-media { height:245px; }
  .dp-home #sectors .container>div:not(.section-head) { grid-template-columns:1fr; }
  .dp-home #sectors h3 { font-size:20px; }
  .dp-home-supplement .audience-grid,.dp-home-supplement .secondary-grid,.dp-home-supplement .outcomes-grid,.dp-home-supplement .agency-grid { grid-template-columns:1fr; gap:20px; }
  .dp-home-more .stat-grid,.dp-home-more .stats-grid { gap:20px; }
  .testimonials-layout { grid-template-columns:1fr; gap:24px; }
  .testimonial-quote { font-size:16px; }
  .dp-home #faq .faq-split { grid-template-columns:1fr; gap:25px; }
  .dp-service-directory summary { font-size:16px; }
  .thank-you-card { padding:20px 0; }
}
