/* ---------- Cleanpath: inner-page components ---------- */

/* Services dropdown */
.nav-drop{position:relative;display:flex;align-items:center;}
.nav-drop-trigger::after{content:"";display:inline-block;width:6px;height:6px;margin-left:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.6;}
.nav-drop-menu{position:absolute;top:100%;left:-18px;min-width:290px;padding:12px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:grid;gap:2px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s;z-index:60;}
.nav-drop:hover .nav-drop-menu,.nav-drop:focus-within .nav-drop-menu{opacity:1;visibility:visible;transform:translateY(0);}
.nav-drop-menu a{display:block;padding:10px 13px;border-radius:9px;font-size:14.5px;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap;transition:background .18s,color .18s;}
.nav-drop-menu a:hover{background:var(--stone);color:var(--mint-deep);}

.mnav-label{display:block;margin:14px 0 2px;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);}
.mobile-nav a.mnav-sub{padding-left:14px;font-size:15px;}

/* Breadcrumbs */
.crumbs{display:flex;flex-wrap:wrap;gap:7px;align-items:center;font-size:13px;color:var(--ink-soft);margin:0 0 22px;}
.crumbs a{color:var(--ink-soft);text-decoration:none;}
.crumbs a:hover{color:var(--mint-deep);text-decoration:underline;}
.crumbs span[aria-hidden]{opacity:.45;}
.crumbs [aria-current]{color:var(--ink);font-weight:600;}

/* Inner page hero */
.page-hero{position:relative;padding:calc(var(--header-h) + 58px) 0 62px;background:var(--stone);border-bottom:1px solid var(--border);overflow:hidden;}
.page-hero::after{content:"";position:absolute;right:-90px;top:-90px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(109,214,194,.32),transparent 68%);pointer-events:none;}
.page-hero .container{position:relative;z-index:2;}
.page-hero .eyebrow{display:inline-block;margin:0 0 16px;padding:7px 15px;border-radius:999px;background:var(--navy-soft);color:var(--mint-deep);font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;}
.page-hero h1{font-family:var(--font-d);font-size:clamp(31px,4.6vw,52px);line-height:1.1;font-weight:700;color:var(--ink);margin:0;max-width:19ch;letter-spacing:-.015em;}
.page-hero .lead{max-width:60ch;margin:20px 0 0;font-size:clamp(16.5px,1.5vw,19px);line-height:1.65;color:var(--ink-soft);text-wrap:pretty;}
.page-hero .hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}
.hero-facts{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0;padding:0;list-style:none;}
.hero-facts li{padding:8px 15px;border-radius:999px;background:var(--white);border:1px solid var(--border);font-size:13.5px;font-weight:600;color:var(--ink);}

/* Article body */
.page-body{padding:74px 0 84px;}
.page-body.alt{background:var(--stone);}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 314px;gap:56px;align-items:start;}
.prose{max-width:74ch;}
.prose>*:first-child{margin-top:0;}
.prose h2{font-family:var(--font-d);font-size:clamp(23px,2.5vw,32px);line-height:1.2;font-weight:700;color:var(--ink);margin:52px 0 16px;letter-spacing:-.01em;}
.prose h3{font-family:var(--font-d);font-size:clamp(18px,1.8vw,21px);font-weight:700;color:var(--ink);margin:34px 0 11px;}
.prose p,.prose li{font-size:16.5px;line-height:1.78;color:var(--ink-soft);text-wrap:pretty;}
.prose p{margin:0 0 17px;}
.prose strong{color:var(--ink);font-weight:700;}
.prose a{color:var(--mint-deep);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.prose a:hover{color:var(--navy-deep);}
.prose ul,.prose ol{margin:0 0 20px;padding-left:22px;display:grid;gap:9px;}
.prose ul{list-style:none;padding-left:0;}
.prose ul li{position:relative;padding-left:27px;}
.prose ul li::before{content:"";position:absolute;left:2px;top:.68em;width:9px;height:9px;border-radius:50%;background:var(--mint);}
.prose blockquote{margin:26px 0;padding:24px 28px;background:var(--stone);border-radius:var(--radius-md);border:1px solid var(--border);}
.prose blockquote p{margin:0;font-size:17.5px;color:var(--ink);font-style:normal;}
.prose blockquote cite{display:block;margin-top:11px;font-size:13.5px;font-style:normal;color:var(--ink-soft);}
.prose figure{margin:30px 0;}
.prose figure img{width:100%;border-radius:var(--radius-lg);display:block;}
.prose figcaption{margin-top:10px;font-size:13.5px;color:var(--ink-soft);}

/* Callout */
.notice{margin:28px 0;padding:24px 26px;border-radius:var(--radius-md);background:var(--navy-soft);border:1px solid #c6e6e0;}
.notice h3{margin:0 0 8px;font-family:var(--font-d);font-size:17px;font-weight:700;color:var(--navy-deep);}
.notice p{margin:0;font-size:15.5px;line-height:1.7;color:#2c5a58;}

/* Sidebar */
.side{display:grid;gap:18px;position:sticky;top:calc(var(--header-h) + 22px);}
.side-card{padding:26px;border-radius:var(--radius-lg);background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow-sm);}
.side-card--dark{background:var(--navy-deep);border-color:var(--navy-deep);color:var(--white);}
.side-card h3{margin:0 0 12px;font-family:var(--font-d);font-size:16.5px;font-weight:700;color:var(--ink);}
.side-card--dark h3{color:var(--white);}
.side-card p{margin:0 0 16px;font-size:14.5px;line-height:1.68;color:var(--ink-soft);}
.side-card--dark p{color:rgba(255,255,255,.76);}
.side-card .btn{width:100%;justify-content:center;}
.side-price{font-family:var(--font-d);font-size:34px;font-weight:700;color:var(--mint);line-height:1;margin:0 0 6px;}
.side-links{display:grid;gap:1px;margin:0;padding:0;list-style:none;}
.side-links a{display:block;padding:10px 0;font-size:14.5px;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--border);}
.side-links li:last-child a{border-bottom:0;}
.side-links a:hover{color:var(--mint-deep);}
.toc{counter-reset:toc;}
.toc a::before{counter-increment:toc;content:counter(toc,decimal-leading-zero);margin-right:10px;color:var(--mint-deep);font-variant-numeric:tabular-nums;}

/* Tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:20px;}
.tile{display:flex;flex-direction:column;padding:28px;border-radius:var(--radius-lg);background:var(--white);border:1px solid var(--border);text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;}
.tile:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift);border-color:var(--mint);}
.tile-num{font-family:var(--font-d);font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--mint-deep);margin:0 0 14px;}
.tile h3{margin:0 0 10px;font-family:var(--font-d);font-size:19px;font-weight:700;color:var(--ink);line-height:1.28;}
.tile p{margin:0;font-size:15px;line-height:1.66;color:var(--ink-soft);}
.tile-more{margin-top:18px;font-size:14px;font-weight:700;color:var(--mint-deep);}
.tile-more::after{content:" →";}

/* Comparison table */
.cmp-wrap{margin:30px 0;overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--white);}
.cmp{width:100%;border-collapse:collapse;min-width:560px;}
.cmp th,.cmp td{padding:15px 20px;text-align:left;font-size:15px;line-height:1.6;border-bottom:1px solid var(--border);vertical-align:top;}
.cmp thead th{background:var(--stone);font-family:var(--font-d);font-size:13px;font-weight:700;letter-spacing:.05em;color:var(--ink);text-transform:uppercase;}
.cmp tbody th{font-weight:700;color:var(--ink);width:31%;}
.cmp td{color:var(--ink-soft);}
.cmp .col-us{background:rgba(109,214,194,.11);color:var(--ink);font-weight:600;}
.cmp tr:last-child th,.cmp tr:last-child td{border-bottom:0;}

/* Section headings on inner pages */
.sec-head{max-width:64ch;margin:0 0 38px;}
.sec-head .eyebrow{display:inline-block;margin:0 0 14px;font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--mint-deep);}
.sec-head h2{font-family:var(--font-d);font-size:clamp(26px,3.2vw,40px);line-height:1.16;font-weight:700;color:var(--ink);margin:0;letter-spacing:-.015em;}
.sec-head p{margin:16px 0 0;font-size:17px;line-height:1.68;color:var(--ink-soft);}

/* CTA band */
.cta-band{padding:74px 0;background:var(--navy-abyss);color:var(--white);text-align:center;}
.cta-band h2{font-family:var(--font-d);font-size:clamp(26px,3.4vw,42px);line-height:1.14;font-weight:700;margin:0 auto;max-width:24ch;letter-spacing:-.015em;}
.cta-band p{margin:18px auto 0;max-width:56ch;font-size:17px;line-height:1.68;color:rgba(255,255,255,.74);}
.cta-band .row{display:flex;flex-wrap:wrap;gap:13px;justify-content:center;margin-top:32px;}
.cta-band .btn-ghost{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.4);}
.cta-band .btn-ghost:hover{background:rgba(255,255,255,.12);border-color:var(--white);}

/* Post list */
.posts{display:grid;gap:16px;}
.post{display:grid;grid-template-columns:118px minmax(0,1fr);gap:26px;padding:26px 28px;border-radius:var(--radius-lg);background:var(--white);border:1px solid var(--border);text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.post:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);}
.post-date{font-size:13px;font-weight:700;letter-spacing:.05em;color:var(--mint-deep);text-transform:uppercase;}
.post h3{margin:0 0 8px;font-family:var(--font-d);font-size:20px;font-weight:700;color:var(--ink);line-height:1.28;}
.post p{margin:0;font-size:15px;line-height:1.66;color:var(--ink-soft);}

/* Key-value spec rows */
.kv{display:grid;gap:0;margin:26px 0;border-top:1px solid var(--border);}
.kv div{display:grid;grid-template-columns:minmax(140px,32%) minmax(0,1fr);gap:20px;padding:14px 0;border-bottom:1px solid var(--border);}
.kv dt{font-size:14.5px;font-weight:700;color:var(--ink);}
.kv dd{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink-soft);}

/* Job cards */
.jobs{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;}
.job{border-radius:var(--radius-lg);overflow:hidden;background:var(--white);border:1px solid var(--border);transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.job:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift);}
.job img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.job-body{padding:22px 24px 26px;}
.job-body h3{margin:0 0 8px;font-family:var(--font-d);font-size:18px;font-weight:700;color:var(--ink);}
.job-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:0;list-style:none;}
.job-meta li{padding:5px 11px;border-radius:999px;background:var(--stone);font-size:12.5px;font-weight:600;color:var(--ink-soft);}
.job-body p{margin:0;font-size:15px;line-height:1.66;color:var(--ink-soft);}

/* Area index */
.area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:14px;}
.area-link{display:flex;flex-direction:column;gap:5px;padding:20px 22px;border-radius:var(--radius-md);background:var(--white);border:1px solid var(--border);text-decoration:none;transition:transform .25s var(--ease),border-color .25s,box-shadow .25s;}
.area-link:hover{transform:translateY(-4px);border-color:var(--mint);box-shadow:var(--shadow-sm);}
.area-link strong{font-family:var(--font-d);font-size:17px;font-weight:700;color:var(--ink);}
.area-link span{font-size:13.5px;color:var(--ink-soft);}
.area-plain{display:flex;flex-wrap:wrap;gap:9px;margin:0;padding:0;list-style:none;}
.area-plain li{padding:8px 15px;border-radius:999px;background:var(--white);border:1px solid var(--border);font-size:14px;color:var(--ink-soft);}

@media (max-width:1020px){
  .layout{grid-template-columns:1fr;gap:44px;}
  .side{position:static;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));}
}
@media (max-width:640px){
  .page-hero{padding:calc(var(--header-h) + 34px) 0 44px;}
  .page-body{padding:52px 0 60px;}
  .prose h2{margin:40px 0 14px;}
  .post{grid-template-columns:1fr;gap:12px;}
  .kv div{grid-template-columns:1fr;gap:4px;}
}

/* Homepage hero lead (moved out of the H1) */
.hero-lead{font-size:clamp(17px,1.7vw,20px);line-height:1.55;font-weight:600;color:var(--navy-deep);max-width:46ch;margin:0 0 16px;text-wrap:pretty;}
@media (max-width:900px){ .hero-lead{max-width:54ch;} }

/* Google review CTA */
.g-review{max-width:520px;margin:34px auto 0;padding:30px 32px 32px;border-radius:var(--radius-lg);background:var(--white);border:1px solid var(--border);box-shadow:var(--shadow-sm);text-align:center;}
.g-stars{display:flex;gap:6px;justify-content:center;margin:0 0 18px;color:#f5a623;font-size:23px;line-height:1;}
.g-review .btn{width:100%;justify-content:center;}
.g-note{margin:14px 0 0;font-size:13.5px;line-height:1.6;color:var(--ink-soft);}
.fb-g-link{display:inline-block;margin-top:11px;font-size:14.5px;font-weight:700;color:inherit;text-decoration:underline;text-underline-offset:3px;}
