/* Pinnacle Custom Painting - design system (light default) */
:root{
  --bg:#0d1b2a; --bg-2:#0a1523; --panel:#13273f; --panel-2:#18314e;
  --text:#eef3f9; --muted:#9fb2c8; --accent:#4a2fb0; --accent-2:#9b86ee; --accent-soft:rgba(120,90,230,.20); --accent-green:#46c079; --accent-green-soft:rgba(70,192,121,.16);
  --line:rgba(255,255,255,.10); --line-2:rgba(255,255,255,.18);
  --ease:cubic-bezier(0.22, 1, 0.36, 1);
}
[data-theme="light"]{
  --bg:#f5f8fc; --bg-2:#eaf0f8; --panel:#ffffff; --panel-2:#eef3fa;
  --text:#0d1b2a; --muted:#4a5b72; --accent:#2b0f7a; --accent-2:#3a1b9e; --accent-soft:rgba(43,15,120,.10); --accent-green:#16803f; --accent-green-soft:rgba(22,128,63,.14);
  --line:rgba(10,22,42,.12); --line-2:rgba(10,22,42,.20);
}
*{box-sizing:border-box; overflow-wrap:break-word}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%; overflow-x:hidden; max-width:100%}
body{margin:0; background:var(--bg); color:var(--text);
  font-family:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size:18px; line-height:1.55; -webkit-font-smoothing:antialiased; overflow-x:hidden;
  transition:background .5s var(--ease), color .5s var(--ease);}
[data-dys="on"] body, body[data-dys="on"]{font-family:"Lexend", ui-sans-serif, system-ui, sans-serif !important; letter-spacing:.01em;}
h1,h2,h3,h4{margin:0; line-height:1.02; letter-spacing:-.02em; font-weight:800;}
p{margin:0}
a{color:var(--accent-2); text-decoration:none}
img{display:block; max-width:100%}
button{font-family:inherit}
::selection{background:var(--accent); color:#fff}
:focus-visible{outline:2px solid var(--accent-2); outline-offset:3px; border-radius:4px}
@keyframes kenburns{from{transform:scale(1.03) translateY(0)}to{transform:scale(1.16) translateY(-1.5%)}}
@keyframes grainshift{0%{background-position:0 0}25%{background-position:-30px -20px}50%{background-position:-52px 16px}75%{background-position:16px -36px}100%{background-position:0 0}}
@keyframes rollacross{0%{left:-14%}100%{left:100%}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulseDot{0%,100%{opacity:.4}50%{opacity:1}}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important}
}

/* ---------- header: MOBILE-FIRST (compact header is the default; desktop nav is added back only on wide screens) ---------- */
/* default = phone/tablet state, applied with NO media query so it works even if queries never resolve */
#pcp-nav{display:none !important;}
#pcp-burger{display:grid !important;}
#pcp-contact{display:none !important;}
#pcp-header a[data-i18n="cta_short"]{display:none !important;}
#pcp-header > div{flex-wrap:nowrap !important;}
#pcp-header a[aria-label="Pinnacle Custom Painting home"]{min-width:0 !important; flex-shrink:1 !important;}
#pcp-header a[aria-label="Pinnacle Custom Painting home"] img{height:clamp(22px,4.6vw,38px) !important; width:auto !important; max-width:46vw !important;}
/* wide screens: restore the full desktop header */
@media (min-width:1041px){
  #pcp-nav{display:flex !important;}
  #pcp-burger{display:none !important;}
  #pcp-contact{display:block !important;}
  #pcp-header a[data-i18n="cta_short"]{display:inline-flex !important;}
  #pcp-header a[aria-label="Pinnacle Custom Painting home"] img{height:38px !important; max-width:none !important;}
}
/* tablet (nav already hidden): allow the contact pill back when there's room */
@media (min-width:620px) and (max-width:1040px){
  #pcp-contact{display:block !important;}
  .pcp-phone-txt{display:none !important;}
}
@media (max-width:860px){
  #pcp-about-grid{grid-template-columns:1fr !important;}
  #pcp-contact-grid{grid-template-columns:1fr !important;}
  .svc-row{grid-template-columns:1fr !important;}
}
@media (max-width:720px){
  .pcp-stats-grid{grid-template-columns:1fr 1fr !important;}
}
@media (max-width:640px){
  #pcp-footer-grid{grid-template-columns:1fr !important;}
  .form-two{grid-template-columns:1fr !important;}
}
@media (max-width:520px){
  .pcp-stats-grid{grid-template-columns:1fr 1fr !important;}
}

/* offset anchor targets below the fixed header */
section[id]{scroll-margin-top:96px}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}

/* equal-height service cards */
a[href^="services.html#"]{display:flex!important; height:100%}
a[href^="services.html#"] > article.pcp-card{display:flex; flex-direction:column; width:100%; height:100%}
a[href^="services.html#"] > article.pcp-card > div:last-child{display:flex; flex-direction:column; flex:1}
a[href^="services.html#"] .pcp-arrow{margin-top:auto!important; padding-top:16px}
