/* Industry landing pages (pool builders, HVAC, roofing, dental, property management).
   One stylesheet for all five so they cannot drift apart. Shared foundation (tokens,
   nav, footer, buttons, .section-tag, .section-h2, .vital-pulse) lives in /styles.css.
   Section styles follow marketing-attribution-home-services.html. */
body{--content-max:1100px;}

/* HEADER */
.page-header{padding:72px calc(48px + var(--edge-r)) 80px calc(48px + var(--edge-l));text-align:center;position:relative;overflow:hidden;}
.page-header::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 70% 100% at 50% 0%,black 10%,transparent 100%);}
.page-header::after{content:"";position:absolute;pointer-events:none;
  width:700px;height:700px;top:-250px;left:50%;transform:translateX(-50%);
  background:radial-gradient(circle,rgba(229,93,41,0.07) 0%,transparent 65%);}
.page-h1{font-family:var(--font-d);font-size:clamp(48px,6vw,88px);color:var(--white);
  line-height:.95;letter-spacing:.02em;margin-bottom:20px;position:relative;z-index:2;}
.page-h1 em{color:var(--orange);font-style:normal;}
.page-sub{font-size:18px;color:var(--muted);max-width:620px;margin:0 auto 32px;
  line-height:1.75;position:relative;z-index:2;}
.header-cta{position:relative;z-index:2;display:inline-flex;}

/* INTRO */
.ind-intro{max-width:760px;margin:0 auto;padding:72px 24px 0;text-align:center;}
.ind-intro p{font-size:18px;color:var(--muted);line-height:1.75;margin-bottom:18px;}
.ind-intro strong{color:var(--white);}

/* SECTIONS */
.section{padding:80px 48px;}
.section-inner{max-width:1100px;margin:0 auto;}
.section.alt{background:var(--bg2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.section-label{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--orange);margin-bottom:14px;}
.section-label::before{content:"";display:block;width:18px;height:2px;background:var(--orange);border-radius:2px;}

/* WHAT WE SET UP */
.build-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;}
.phil-card{background:var(--bg3);border:1px solid var(--line);border-radius:14px;
  padding:22px 24px;display:flex;align-items:flex-start;gap:16px;
  transition:border-color .2s,transform .2s;}
.phil-card:hover{border-color:var(--orange-border);transform:translateY(-2px);}
.phil-icon{width:40px;height:40px;border-radius:10px;flex-shrink:0;
  background:var(--orange-dim);border:1px solid var(--orange-border);
  display:flex;align-items:center;justify-content:center;}
.phil-title{font-size:15px;font-weight:700;color:var(--white);margin-bottom:5px;}
.phil-desc{font-size:15px;color:var(--muted);line-height:1.65;}

/* HOW IT WORKS */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px;}
.step{background:var(--bg3);border:1px solid var(--line2);border-radius:14px;padding:26px 24px;}
.step-num{font-family:var(--font-d);font-size:44px;color:var(--orange);line-height:1;margin-bottom:10px;}
.step-title{font-size:16px;font-weight:700;color:var(--white);margin-bottom:8px;}
.step-desc{font-size:15px;color:var(--muted);line-height:1.65;}

/* PILOT */
.pilot{max-width:820px;margin:0 auto;background:var(--bg3);border:1px solid var(--orange-border);
  border-radius:18px;padding:40px 44px;text-align:center;}
.pilot .section-label{justify-content:center;}
.pilot-h2{font-family:var(--font-d);font-size:clamp(32px,3.6vw,48px);color:var(--white);
  line-height:.97;letter-spacing:.02em;margin-bottom:16px;}
.pilot-h2 em{color:var(--orange);font-style:normal;}
.pilot p{font-size:16.5px;color:var(--muted);line-height:1.75;}
.pilot p + p{margin-top:12px;}
.pilot strong{color:var(--white);}

/* PROOF: case study card + logo wall (tiles match /portfolio) */
.case-card{display:flex;flex-direction:column;gap:8px;background:var(--bg3);border:1px solid var(--line2);
  border-radius:16px;padding:26px 28px;text-decoration:none;max-width:760px;transition:border-color .2s,transform .2s;}
.case-card:hover{border-color:var(--orange-border);transform:translateY(-2px);}
.case-kicker{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);}
.case-name{font-family:var(--font-d);font-size:32px;color:var(--white);letter-spacing:.02em;line-height:1;}
.case-desc{font-size:15.5px;color:var(--muted);line-height:1.7;}
.case-more{font-size:14px;font-weight:600;color:var(--blue-bright);}
.logo-wall{list-style:none;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:14px;--cols:4;margin-top:8px;}
.logo-wall > li{flex:0 0 calc((100% - (var(--cols) - 1) * 14px) / var(--cols));}
.logo-tile{position:relative;background:#F4F4F6;border:1px solid var(--line2);border-radius:12px;aspect-ratio:12/5;}
.logo-tile img{position:absolute;inset:16px 22px;width:calc(100% - 44px);height:calc(100% - 32px);object-fit:contain;display:block;}
@media(max-width:860px){.logo-wall{--cols:3;}}
@media(max-width:600px){.logo-wall{--cols:2;gap:10px;}.logo-wall > li{flex-basis:calc((100% - 10px) / 2);}
  .logo-tile img{inset:12px 14px;width:calc(100% - 28px);height:calc(100% - 24px);}.case-card{padding:22px 20px;}}

/* FAQ */
.faq-list{max-width:800px;margin:36px auto 0;display:flex;flex-direction:column;gap:12px;}
.faq-item{background:var(--bg3);border:1px solid var(--line);border-radius:14px;padding:0 22px;}
.faq-item summary{cursor:pointer;list-style:none;padding:18px 0;font-size:16px;font-weight:700;color:var(--white);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item p{font-size:15px;color:var(--muted);line-height:1.7;padding:0 0 18px;}

/* OTHER INDUSTRIES */
.related{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}
.related a{display:inline-flex;align-items:center;background:var(--bg3);border:1px solid var(--line2);
  border-radius:100px;padding:10px 18px;font-size:14px;font-weight:600;color:var(--text);
  text-decoration:none;transition:border-color .2s,color .2s;}
.related a:hover{border-color:var(--orange-border);color:var(--white);}

/* FINAL CTA */
.final{padding:80px calc(48px + var(--edge-r)) 80px calc(48px + var(--edge-l));text-align:center;border-top:1px solid var(--line);position:relative;overflow:hidden;}
.final::before{content:"";position:absolute;width:700px;height:700px;
  top:50%;left:50%;transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(229,93,41,0.05) 0%,transparent 65%);
  pointer-events:none;}
.final-inner{max-width:580px;margin:0 auto;position:relative;z-index:2;}
.final-h2{font-family:var(--font-d);font-size:clamp(36px,4vw,56px);color:var(--white);
  line-height:.97;letter-spacing:.02em;margin-bottom:16px;}
.final-sub{font-size:17px;color:var(--muted);line-height:1.7;margin-bottom:36px;}
/* 26px: .btn-primary carries a 10px extrusion that takes no layout space. */
.final-note{margin-top:26px;font-size:13px;color:var(--muted);}
.final-note a{color:var(--text);text-decoration:none;border-bottom:1px solid var(--line2);}

/* REVEAL */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease);}
.page-header .reveal{animation:revealFallback 0s .8s forwards;}

/* RESPONSIVE */
@media(max-width:959px){.steps{grid-template-columns:1fr;}}
@media(max-width:860px){
  .build-grid{grid-template-columns:1fr;}
  .page-header{padding:64px calc(24px + var(--edge-r)) 56px calc(24px + var(--edge-l));}
  .section{padding:56px 24px;}
  .ind-intro{padding-top:48px;}
  .pilot{padding:32px 24px;}
  .final{padding:56px calc(24px + var(--edge-r)) 56px calc(24px + var(--edge-l));}
}
@media(max-width:600px){
  .page-header{padding:44px calc(18px + var(--edge-r)) 40px calc(18px + var(--edge-l));}
  .page-h1{font-size:clamp(38px,11vw,60px);}
  .section{padding:48px 18px;}
  .pilot{padding:28px 20px;}
  .final{padding:48px calc(18px + var(--edge-r)) 48px calc(18px + var(--edge-l));}
}
