/* Practice Perfect hybrid visual system — Services page derived */
:root{--pp-navy:#0d2b55;--pp-blue:#1477ff;--pp-green:#4f8f45;--pp-mint:#eff6ed;--pp-softblue:#eef5fb;--pp-line:#dce6ec}
body:not(.services-page){font-family:Inter,Arial,sans-serif}
body:not(.services-page) .hero h1,body:not(.services-page) .subhero h1,body:not(.services-page) .section h2,body:not(.services-page) .section-heading h2,body:not(.services-page) .copy-block h2,body:not(.services-page) .feature-card h3,body:not(.services-page) .process-card h3,body:not(.services-page) .price-card h3,body:not(.services-page) .pricing-subhead h2,body:not(.services-page) .mini-price h3,body:not(.services-page) .custom-card h3,body:not(.services-page) .inline-cta h3,body:not(.services-page) .contact-panel h2{font-family:Inter,Arial,sans-serif;font-weight:700;letter-spacing:-.035em}
body:not(.services-page) .hero h1,body:not(.services-page) .subhero h1{letter-spacing:-.045em}
body:not(.services-page) .eyebrow{color:var(--pp-green)}body:not(.services-page) .eyebrow:after{background:linear-gradient(90deg,var(--pp-green),var(--pp-blue))}
body:not(.services-page) .nav nav a.active,body:not(.services-page) .nav nav a:hover{color:var(--pp-blue);border-bottom-color:var(--pp-green)}
body:not(.services-page) .btn-primary{background:linear-gradient(135deg,var(--pp-green),#3f7d36);color:#fff;box-shadow:0 8px 20px rgba(79,143,69,.2)}
body:not(.services-page) .btn-secondary{color:var(--pp-navy);border-color:#a9c5ee}
body:not(.services-page) .subhero{background:linear-gradient(120deg,#fbfdfb 0%,#f2f8f2 50%,#edf5ff 100%)}
body:not(.services-page) .subhero h1 span,body:not(.services-page) .hero h1 span{color:var(--pp-blue)}
body:not(.services-page) .page-section.alt{background:linear-gradient(180deg,#f8fbf8,#eef6ec 55%,#eef5fb)}
body:not(.services-page) .feature-card,body:not(.services-page) .process-card,body:not(.services-page) .price-card,body:not(.services-page) .mini-price{border-color:var(--pp-line);box-shadow:0 8px 26px rgba(13,43,85,.06)}
body:not(.services-page) .feature-card{position:relative;overflow:hidden}body:not(.services-page) .feature-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--pp-green),var(--pp-blue))}
body:not(.services-page) .feature-icon{background:linear-gradient(145deg,var(--pp-mint),var(--pp-softblue));color:var(--pp-navy);border-radius:50%}
body:not(.services-page) .process-card .num,body:not(.services-page) .mini-price strong{color:var(--pp-blue)}
body:not(.services-page) .check-list b{background:var(--pp-mint);color:var(--pp-green)}
body:not(.services-page) .inline-cta,body:not(.services-page) .contact-panel{background:linear-gradient(120deg,var(--pp-navy),#174c70 70%,#1265b7)}
body:not(.services-page) .custom-card{background:linear-gradient(135deg,var(--pp-navy),#174c70)}body:not(.services-page) .custom-card:after{background:rgba(79,143,69,.22)}
.page-hero-photo{position:absolute;inset:0}.page-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.page-hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f2f8f2 0%,rgba(242,248,242,.2) 28%,rgba(13,43,85,.04) 100%)}
.visual-story{display:grid;grid-template-columns:1.06fr .94fr;gap:18px;align-items:stretch}.story-image{position:relative;min-height:420px;border-radius:16px;overflow:hidden;box-shadow:0 16px 42px rgba(13,43,85,.12);background:#e9f1f6}.story-image img{width:100%;height:100%;object-fit:cover;display:block}.story-image .image-badge{position:absolute;right:0;bottom:0;width:44%;padding:22px;background:rgba(13,43,85,.92);color:#fff}.story-image .image-badge b{display:block;color:#8bc679;font-size:11px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:6px}.story-image .image-badge strong{font-size:21px;line-height:1.2}.story-copy{border:1px solid var(--pp-line);border-radius:16px;padding:28px;background:linear-gradient(180deg,#fff,#f7fbf7);display:flex;flex-direction:column;justify-content:center}.story-copy h2{font-size:36px!important;margin:10px 0 12px!important;color:var(--pp-navy)}.story-copy p{color:#5e7289;line-height:1.7;margin:0}.visual-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.visual-tile{position:relative;min-height:250px;border-radius:14px;overflow:hidden;background:#eaf2f8;border:1px solid var(--pp-line)}.visual-tile img{width:100%;height:100%;object-fit:cover;display:block}.visual-tile .tile-label{position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.94);padding:10px 12px;border-radius:9px;color:var(--pp-navy);font-size:12px;font-weight:800;box-shadow:0 8px 24px rgba(13,43,85,.12)}
.metric-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.metric{padding:18px;border-radius:12px;background:#fff;border:1px solid var(--pp-line)}.metric b{display:block;color:var(--pp-blue);font-size:20px;margin-bottom:4px}.metric span{font-size:11px;color:#667b91}.metric:nth-child(2) b{color:var(--pp-green)}
@media(max-width:980px){.visual-story{grid-template-columns:1fr}.story-image{min-height:340px}.visual-pair{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.visual-pair,.metric-strip{grid-template-columns:1fr}.story-image .image-badge{width:70%}.story-copy{padding:22px}}

/* Purposeful non-photographic visuals to avoid repeated imagery */
.graphic-only{background:
 radial-gradient(circle at 78% 28%,rgba(20,119,255,.18),transparent 25%),
 radial-gradient(circle at 30% 72%,rgba(79,143,69,.18),transparent 28%),
 linear-gradient(135deg,#f7fbff 0%,#edf6ec 48%,#e8f2fb 100%);
 border:1px solid var(--pp-line)}
.graphic-only:before{content:"";position:absolute;inset:16% 12%;border:1px solid rgba(13,43,85,.10);border-radius:22px;
 background:linear-gradient(90deg,transparent 49.7%,rgba(20,119,255,.10) 50%,transparent 50.3%),
 linear-gradient(transparent 49.7%,rgba(79,143,69,.10) 50%,transparent 50.3%)}
.funnel-visual,.system-visual{min-height:390px;border-radius:16px;overflow:hidden;box-shadow:0 16px 42px rgba(13,43,85,.12);
 border:1px solid var(--pp-line);background:linear-gradient(145deg,#0d2b55,#164d7b);padding:28px;color:#fff}
.funnel-title{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:#98cf86;font-weight:800;margin-bottom:22px}
.funnel-row{display:flex;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.funnel-row:last-child{border-bottom:0}.funnel-row>span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
 background:rgba(79,143,69,.22);border:1px solid rgba(152,207,134,.45);font-size:11px;font-weight:800}
.funnel-row b,.funnel-row small{display:block}.funnel-row b{font-size:16px}.funnel-row small{margin-top:4px;color:#c9d9e8;font-size:11px}
.system-visual{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:10px;min-height:360px}
.system-node{text-align:center;padding:20px 10px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.system-node span{width:38px;height:38px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;
 background:rgba(79,143,69,.22);color:#a5d493;font-weight:800;font-size:11px}
.system-node b,.system-node small{display:block}.system-node b{font-size:15px}.system-node small{color:#c8d7e5;font-size:10px;margin-top:5px}
.system-arrow{color:#5fa8ff;font-size:20px}
@media(max-width:760px){.system-visual{grid-template-columns:1fr;gap:8px}.system-arrow{transform:rotate(90deg);text-align:center}.funnel-visual,.system-visual{min-height:auto}}

/* Ultrawide image handling — preserves normal desktop/mobile layouts */
@media (min-width:1700px){
  body:not(.services-page) .hero-photo,
  body:not(.services-page) .page-hero-photo,
  body:not(.services-page) .story-image{
    background:#eef3f6;
  }
  body:not(.services-page) .hero-photo img,
  body:not(.services-page) .page-hero-photo img{
    object-fit:contain;
    object-position:center;
  }
  body:not(.services-page) .story-image img{
    object-fit:contain;
    object-position:center;
    background:#eef3f6;
  }
  body:not(.services-page) .subhero-visual{
    max-width:820px;
    justify-self:end;
    width:100%;
    margin-right:0;
  }
}

/* Custom line icons for feature cards */
.feature-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
