/* Premier Painting Solutions | DanPro-inspired redesign
   Preserve the underlying Premier styles for contact forms, article layouts,
   SEO pages, carousel, and modal. This file provides the brand-wide visual system. */
:root{
  --ink:#14243a;--ink-2:#253951;--cream:#f8f5ee;--paper:#fffdfa;
  --gold:#bc9250;--gold-dark:#b68b48;--muted:#687386;
  --line:#e5ded3;--shadow:0 16px 46px rgba(8,37,77,.11);
  --radius:17px;--dp-navy:#14243a;--dp-navy-dark:#0d1b2e;
  --dp-accent:#b68b48;--dp-accent-deep:#8b632e;
}
html{scroll-padding-top:90px}
body{background:#fffdfa; color:#1a2b40; overflow-x:clip}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #d1a456;outline-offset:3px}
.topbar{background:linear-gradient(95deg,var(--dp-navy-dark),var(--dp-navy));padding:0;color:white;font-size:.83rem}
.topbar .container{min-height:38px;display:flex;justify-content:space-between;gap:18px;align-items:center}
.topbar a{font-weight:800;text-decoration:none}.topbar a:hover{text-decoration:underline}
.site-header{background:rgba(255,253,249,.98);backdrop-filter:blur(14px);border-bottom:1px solid #ece5db;box-shadow:0 5px 18px rgba(5,34,76,.035);z-index:50}
.site-header .nav{min-height:86px;gap:24px}
.site-header .brand{flex:0 0 auto;display:flex;align-items:center}
.site-header .brand-logo{width:150px;height:78px;max-height:78px;object-fit:contain}
.site-header .nav-links{gap:clamp(12px,1.7vw,24px);font-size:.89rem;color:#24364d;font-weight:750;margin-left:auto}
.site-header .nav-links a{position:relative;white-space:nowrap}
.site-header .nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--dp-accent);transition:right .2s}
.site-header .nav-links a:hover{color:var(--dp-accent)}
.site-header .nav-links a:hover::after{right:0}
.nav-cta,.btn-primary{border:0;border-radius:9px;background:linear-gradient(135deg,#172b44,#263e59);color:#fff;box-shadow:0 8px 22px rgba(13,27,46,.15);white-space:nowrap;font-weight:800}
.nav-cta{font-size:.86rem;padding:12px 17px;transition:transform .2s ease}
.nav-cta:hover,.btn-primary:hover{background:linear-gradient(135deg,#253d57,#14243a);color:#fff;transform:translateY(-1px)}
.btn{border-radius:9px;font-size:.94rem}
.btn-secondary{border-color:#d4c9b8;color:var(--dp-navy)}
.eyebrow{color:var(--dp-accent)}
.section.alt,.page-hero{background:#f8f5ee}
.page-hero{padding:72px 0 58px}
.page-hero h1,.section-head h2{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--dp-navy);font-weight:860;letter-spacing:-.04em}
.page-hero h1{max-width:990px}
.section-head h2{max-width:790px}
.card{border-radius:16px;box-shadow:0 10px 27px rgba(7,41,83,.045)}
.footer{background:var(--dp-navy-dark);color:#e0d9cd}
.footer p,.footer-links{color:#dfd8cb}
.footer h4{color:white}
.footer .brand-logo{width:160px;max-height:90px}
.footer-bottom{border-color:rgba(255,255,255,.15)}
/* Home: full-bleed DanPro-inspired house hero */
.dp-hero{min-height:595px;position:relative;overflow:hidden;background:#ede4d6;isolation:isolate}
.dp-hero-photo{position:absolute;inset:0;z-index:-2;background-image:url('../img/premier-work/exterior-house.webp');background-size:cover;background-position:74% 45%;filter:saturate(1.08)}
.dp-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fffdfa 0%,rgba(255,253,249,.98) 23%,rgba(255,253,249,.92) 38%,rgba(255,253,249,.56) 56%,rgba(255,253,249,.04) 82%)}
.dp-hero-content{min-height:595px;display:flex;align-items:center}
.dp-hero-copy{max-width:590px;padding:68px 0}
.dp-eyebrow{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:900;color:var(--dp-accent);margin:0 0 14px}
.dp-hero h1{font-size:clamp(3.6rem,6.6vw,6.4rem);color:var(--dp-navy);line-height:.92;letter-spacing:-.058em;font-weight:920;margin:0 0 24px}
.dp-hero h1 em{color:var(--dp-accent);font-style:italic}
.dp-hero-desc{max-width:485px;font-size:1.1rem;color:#344258;margin:0 0 27px;line-height:1.55}
.dp-hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.dp-hero-actions .btn{min-height:50px;padding:12px 22px}
.dp-ghost-btn{background:#fff;color:var(--dp-navy);border:1px solid #cfc4b3;box-shadow:none}
.dp-ghost-btn:hover{border-color:var(--dp-accent);transform:translateY(-1px)}
.dp-hero-tags{font-size:.79rem;color:#6a7280;font-weight:750;margin:22px 0 0}
.dp-hero-tags span{padding:0 5px;color:var(--dp-accent)}
.dp-trust{background:linear-gradient(100deg,#102037,#263b52);color:white}
.dp-trust-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-height:138px}
.dp-trust-item{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:3px;position:relative;padding:16px 10px}
.dp-trust-item+.dp-trust-item::before{content:"";position:absolute;left:0;top:26%;bottom:26%;width:1px;background:rgba(255,255,255,.22)}
.dp-trust-symbol{color:#d7b578;line-height:1;font-size:2rem;margin-bottom:7px;font-weight:600}
.dp-trust-item strong{font-size:.94rem;line-height:1.3;font-weight:800}
.dp-trust-item small{font-size:.75rem;line-height:1.4;color:#dbd5c8}
.dp-section{padding:84px 0}
.dp-section-heading{max-width:730px;margin:0 auto 39px}
.dp-centered{text-align:center}
.dp-section-heading h2,.dp-story h2,.dp-feature h2{color:var(--dp-navy);font-size:clamp(2.25rem,4vw,3.42rem);font-weight:880;line-height:1.08;letter-spacing:-.042em;margin:0 0 18px}
.dp-section-heading h2 span,.dp-feature h2 span,.dp-story h2 span{color:var(--dp-accent)}
.dp-section-heading>p:last-child{color:#687386;line-height:1.55;max-width:630px;margin:0 auto;font-size:1rem}
.dp-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.dp-service-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:240px;padding:28px 25px 25px;border:1px solid #e5ded3;border-radius:13px;background:#fff;transition:box-shadow .2s,transform .2s,border-color .2s;overflow:hidden}
.dp-service-card:hover{transform:none;box-shadow:none;border-color:#e6ded2}
.dp-service-icon{width:84px;height:84px;display:block;object-fit:contain;margin:0 auto 11px;flex-shrink:0}.dp-service-accent{display:block;width:28px;height:3px;border-radius:999px;background:var(--dp-accent);margin:0 auto 18px;flex-shrink:0}
.dp-service-card h3{font-size:1.25rem;color:var(--dp-navy);margin:0 0 8px;line-height:1.2}
.dp-service-card p{font-size:.92rem;line-height:1.55;color:#72757b;margin:0 0 8px}
.dp-card-arrow{position:absolute;top:19px;right:20px;font-size:1rem;color:#ac8752}
.dp-section-action{text-align:center;margin-top:32px}
.dp-outline-link{display:inline-flex;align-items:center;gap:14px;padding:11px 22px;border-radius:999px;border:1px solid #d7cbb7;font-size:.94rem;font-weight:800;color:var(--dp-navy);background:#fff;transition:transform .2s,border-color .2s}
.dp-outline-link:hover{transform:translateY(-2px);border-color:var(--dp-accent)}
.dp-work{background:linear-gradient(135deg,#0c1b2f,#223750);color:#fff}
.dp-work .dp-section-heading h2{color:#fff}.dp-work .dp-section-heading>p:last-child{color:#e0d9cd}.dp-work .dp-eyebrow{color:#d7b578}
.dp-project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.dp-project{background:#354e68;border:none;border-radius:13px;overflow:hidden;box-shadow:0 14px 32px rgba(0,10,31,.29);transition:transform .2s,box-shadow .2s}
.dp-project:hover{transform:translateY(-4px);box-shadow:0 19px 38px rgba(0,10,31,.40)}
.dp-project img{width:100%;height:230px;object-fit:cover;object-position:center;border:0}
.dp-project span{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.89rem;font-weight:800;padding:17px 16px;color:white}
.dp-project b{color:#d7ae6a;font-size:1.1rem}
.dp-feature{background:#faf7f1}
.dp-feature-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:65px;align-items:center}
.dp-feature-photo{position:relative}
.dp-feature-photo img{width:100%;height:470px;object-fit:cover;border-radius:16px;box-shadow:var(--shadow)}
.dp-photo-tag{position:absolute;bottom:18px;left:18px;background:#fff;padding:9px 13px;border-radius:9px;color:var(--dp-navy);font-size:.84rem;font-weight:850;box-shadow:var(--shadow)}
.dp-feature-copy h2,.dp-story h2{max-width:600px}
.dp-feature-copy>p:not(.dp-eyebrow),.dp-story-copy>p:not(.dp-eyebrow){font-size:1.03rem;color:#6a7078;line-height:1.7}
.dp-check-list{padding:0;margin:24px 0 28px;display:grid;grid-template-columns:1fr;gap:12px;list-style:none}
.dp-check-list li{padding-left:29px;position:relative;font-weight:730;color:#263b52}
.dp-check-list li::before{content:"✓";position:absolute;left:0;color:var(--dp-accent);font-weight:900}
.dp-story-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:75px;align-items:center}
.dp-story-photo img{width:100%;height:470px;object-fit:cover;object-position:center 42%;border-radius:18px;box-shadow:var(--shadow)}
.dp-values{display:grid;gap:11px;margin:22px 0 27px}
.dp-values p{margin:0;font-size:.95rem;color:#3d4e62;font-weight:700;display:flex;gap:13px}
.dp-values b{color:var(--dp-accent)}
.dp-text-link{font-size:.94rem;color:var(--dp-accent-deep);font-weight:850;text-underline-offset:4px}
.dp-text-link:hover{text-decoration:underline}
.dp-call-band{background:linear-gradient(100deg,#182a40,#31435a);color:#fff;}
.dp-call-inner{min-height:75px;display:flex;align-items:center;justify-content:center;gap:30px}
.dp-call-inner strong{font-size:1.13rem;text-align:center}
.dp-call-inner a{background:#fffdfa;color:#14243a;border-radius:999px;padding:11px 20px;white-space:nowrap;font-weight:900}
.dp-reviews{background:#faf7f1}
.dp-review-shell{margin-top:20px}
.dp-review-shell .review-slider-viewport{overflow:hidden;padding:6px 0 16px}
.dp-review-shell .review-grid{display:flex}
.dp-review-shell .review-card{background:#fff;border:1px solid #e5dfd6;border-radius:14px;box-shadow:0 8px 20px rgba(8,36,76,.055);padding:24px}
.dp-review-shell .review-stars{color:#c3964e;letter-spacing:.1em}
.dp-review-shell blockquote{font-size:.96rem;line-height:1.55;color:#26364a}
.dp-review-shell .review-source{font-weight:850;color:var(--dp-navy)}
.dp-areas{background:#fff}
.dp-area-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}
.dp-area-grid a{border:1px solid #e6ded2;background:#faf7f0;border-radius:11px;padding:19px 15px;display:flex;justify-content:space-between;align-items:center;gap:5px;color:var(--dp-navy);font-weight:790;font-size:.9rem}
.dp-area-grid a:hover{border-color:var(--dp-accent);background:#f2eadb}
.dp-area-grid span{color:var(--dp-accent)}
/* Existing contact workflow and secondary pages stay intact. */
.form,.contact-panel,.contact-grid,.field{min-width:0}
.form input,.form select,.form textarea{max-width:100%;min-width:0}
.contact-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.contact-panel{border-radius:18px}
@media(max-width:1120px){.site-header .nav{gap:15px}.site-header .nav-links{gap:13px;font-size:.83rem}.site-header .brand-logo{width:135px}.site-header .nav-cta{font-size:.82rem;padding:11px 13px}.dp-project img{height:205px}}
@media(max-width:900px){.dp-trust-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dp-trust-item+.dp-trust-item::before{display:none}.dp-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dp-area-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dp-feature-grid,.dp-story-grid{gap:32px}}
@media(max-width:760px){
  .topbar .container{font-size:.7rem;min-height:36px;gap:12px}.dp-hours{display:none}
  .site-header .nav{min-height:72px;position:relative;gap:12px}
  .site-header .brand-logo{width:112px;height:64px;max-height:64px}
  .site-header .mobile-toggle{display:block;margin-left:auto;color:var(--dp-navy);font-size:1.55rem}
  .site-header .nav-links{display:none;position:absolute;top:70px;left:0;right:0;padding:15px;background:#fff;border:1px solid #e8dfd1;box-shadow:0 20px 35px rgba(9,40,82,.12);border-radius:12px;z-index:10;gap:3px;flex-direction:column;align-items:stretch}
  .site-header .nav-links.open{display:flex}
  .site-header .nav-links a{display:block;padding:9px 11px;font-size:.95rem}
  .site-header .nav-links a::after{display:none}
  .site-header .nav-cta{padding:10px 11px;font-size:.8rem;white-space:nowrap}
  .dp-hero,.dp-hero-content{min-height:585px}
  .dp-hero-photo{background-position:62% center}
  .dp-hero-shade{background:linear-gradient(180deg,rgba(255,253,249,.99) 0%,rgba(255,253,249,.93) 43%,rgba(255,253,249,.75) 73%,rgba(255,253,249,.54) 100%)}
  .dp-hero-copy{padding:65px 0 40px;max-width:100%}
  .dp-hero h1{font-size:clamp(3.55rem,12vw,5.25rem)}
  .dp-hero-desc{max-width:570px;font-size:1rem}
  .dp-hero-tags{font-size:.77rem}
  .dp-section{padding:62px 0}
  .dp-section-heading h2,.dp-feature h2,.dp-story h2{font-size:clamp(2.15rem,7vw,3rem)}
  .dp-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .dp-service-card{padding:24px 16px;min-height:225px}
  .dp-feature-grid,.dp-story-grid{grid-template-columns:1fr;gap:30px}
  .dp-feature-photo img,.dp-story-photo img{height:330px}
  .dp-call-inner{padding:18px 0;flex-direction:column;gap:12px}
  .dp-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-grid{grid-template-columns:1fr}
  .page-hero{padding:58px 0 42px}
}
@media(max-width:480px){
  .topbar .container span:first-child{max-width:220px;line-height:1.3}
  .dp-hero h1{font-size:clamp(3.1rem,12vw,4.1rem)}
  .dp-hero-actions .btn{width:100%}
  .dp-hero-tags{display:none}
  .dp-trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dp-trust-item:last-child{grid-column:1/-1}
  .dp-service-grid,.dp-project-grid{grid-template-columns:1fr}
  .dp-service-card{min-height:auto;padding:28px 20px}
  .dp-project img{height:240px}
  .dp-area-grid{grid-template-columns:1fr 1fr}
  .dp-area-grid a{padding:13px 10px;font-size:.78rem}
  .dp-story-photo img{height:340px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.dp-service-card,.dp-project,.nav-cta{transition:none}}

/* Carry the full DanPro-style four-column footer into Premier's visual system. */
.footer .footer-grid{grid-template-columns:1.4fr 1fr 1.1fr 1fr;align-items:start;justify-items:start;text-align:left}
.footer .footer-grid>div:first-child{display:block}
.footer .footer-links{justify-items:start}
.footer .brand{margin-left:0}
.dp-review-shell .review-card blockquote{font-family:inherit}
@media(max-width:900px){.footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}}
@media(max-width:620px){.footer .footer-grid{grid-template-columns:1fr;gap:28px}.footer .footer-grid>div:first-child{display:block}}

/* Center Contact details and the JavaScript-injected social links in the footer.
   Leave the branding, Services and Service Areas columns as they are. */
.footer .footer-grid > div:last-child{width:100%;min-width:0;text-align:center;justify-self:stretch}
.footer .footer-grid > div:last-child .footer-links{justify-items:center;text-align:center}
.footer .footer-grid > div:last-child .footer-social{width:100%;display:flex;justify-content:center}
.footer .footer-grid > div:last-child .footer-social > div{width:100%;align-items:center}

/* Transparent Premier logo variants: readable on light and dark surfaces. */
.site-header .brand-logo{width:165px;height:84px;max-height:84px;object-fit:contain}
.footer .brand-logo{width:215px;max-width:100%;height:auto;max-height:150px;object-fit:contain}
@media(max-width:900px){.site-header .brand-logo{width:145px;height:76px;max-height:76px}}
@media(max-width:620px){.site-header .brand-logo{width:122px;height:70px;max-height:70px}}


/* Keep Services and Service Areas centered within their own footer columns.
   The brand column and separately centered Contact column are unchanged. */
.footer .footer-grid > div:nth-child(2),
.footer .footer-grid > div:nth-child(3){
  width:100%;
  min-width:0;
  justify-self:stretch;
  text-align:center;
}
.footer .footer-grid > div:nth-child(2) .footer-links,
.footer .footer-grid > div:nth-child(3) .footer-links{
  justify-items:center;
  text-align:center;
}


/* PREMIER HERITAGE | navy + warm-ivory + muted-gold preview variant.
   Only presentation changes. Keep original URLs, content, forms and SEO intact. */
:root{
  --ink:#14243a;
  --ink-2:#263b53;
  --cream:#f8f5ee;
  --paper:#fffdfa;
  --gold:#bc9250;
  --gold-dark:#86612c;
  --line:#e5ded3;
  --muted:#68717d;
}
.site-header .nav-links a:hover{color:#86612c}
.site-header .nav-links a::after{background:#bc9250}
.site-header .nav-cta,.btn-primary{background:linear-gradient(135deg,#192c43,#293f58);color:#fff;border-color:transparent}
.site-header .nav-cta:hover,.btn-primary:hover{background:#253b53;color:#fff}
.dp-hero .dp-ghost-btn{background:#fffdfa;border-color:#d5c9b9}
.dp-service-card{background:#fffdfa;border-color:#e6ded2}
.dp-service-card:hover{transform:none;box-shadow:none;border-color:#e6ded2}
.dp-service-accent{background:#b68b48}
.dp-work{background:linear-gradient(135deg,#0c1b2e,#233750)}
.dp-project{background:#354e68;box-shadow:0 14px 32px rgba(0,10,24,.28)}
.dp-project:hover{box-shadow:0 18px 38px rgba(0,10,24,.38)}
.dp-call-band{background:linear-gradient(95deg,#182a40,#31445b);}
.dp-call-inner a{background:#fffdfa;color:#14243a}
.dp-call-inner a:hover{background:#f3e9d9}
.dp-areas .dp-area-grid a,.area-link{border-color:#e4dbce;background:#faf7f0}
.dp-areas .dp-area-grid a:hover,.area-link:hover{border-color:#bc9250;background:#f1e9db}
.dp-review-shell .review-card{border-color:#e5ded3}
.dp-reviews{background:#faf7f1}
.dp-feature{background:#faf7f1}
.footer{background:#0d1b2e}
.form,.service-detail,.resource-card,.faq-item,.card{border-color:#e5ded3}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline-color:#bc9250}

/* Service cards intentionally informational; navigation is in the menu and descriptive links. */
.dp-service-grid .dp-service-card{cursor:default;transform:none;transition:none}
.dp-service-grid .dp-service-card:hover{cursor:default;transform:none;box-shadow:none;border-color:#e6ded2}
.dp-service-grid .dp-card-arrow{display:none}
.dp-call-band{border-top:0;border-bottom:0}


/* Areas We Serve: replace the former inline three-column rule with an
   equivalent desktop grid so existing mobile breakpoints can work. */
.premier-service-area-cards{grid-template-columns:repeat(3,minmax(0,1fr))}

/* MOBILE-ONLY presentation refinements; desktop layout is unchanged. */
@media(max-width:900px){
  .premier-service-area-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .premier-service-area-cards > .card{min-width:0}
}
@media(max-width:620px){
  /* Full-width announcement strip with centered text on narrow devices. */
  .topbar{display:block;width:100%;max-width:100%;margin:0}
  .topbar .container{width:100%;max-width:none;min-height:42px;padding:8px 16px;display:flex;justify-content:center;align-items:center;text-align:center}
  .topbar .container > span:first-child{display:block;max-width:100%;width:100%;margin:0;text-align:center;line-height:1.35;overflow-wrap:break-word}
  .topbar .container > span:last-child{display:none}

  /* Brand logo and tagline: center as a single block in the mobile footer. */
  .footer .footer-grid > div:first-child{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;min-width:0}
  .footer .footer-grid > div:first-child .brand{display:flex;justify-content:center;width:100%;margin:0 auto}
  .footer .footer-grid > div:first-child .brand-logo{margin:0 auto}
  .footer .footer-grid > div:first-child p{max-width:34ch;margin:14px auto 0;text-align:center}

  /* Center both copyright and credentials under the footer divider. */
  .footer .footer-bottom{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px}
  .footer .footer-bottom > span{display:block;max-width:100%;text-align:center;overflow-wrap:break-word}

  /* On phones, show locations as full-width, readable stacked cards. */
  .premier-service-area-cards{grid-template-columns:minmax(0,1fr);gap:16px}
  .premier-service-area-cards > .card{min-width:0;max-width:100%;overflow-wrap:break-word}
  .premier-service-area-cards .text-link{white-space:normal;overflow-wrap:break-word}
}
