/*
Theme Name: Peak Plumbing
Theme URI: https://peakplumbing.example
Author: Peak Plumbing LLC
Description: A full Elementor-ready theme for Peak Plumbing LLC (Woodland, CA). Every page, plus the header and footer, is built from native Elementor containers and widgets, so everything is editable in the Elementor visual editor. Activate the theme and the pages, menu, header and footer are created automatically. Requires the free Elementor plugin.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: peak-plumbing
Tags: elementor, plumbing, business, one-column, custom-menu, custom-logo
*/

/* =========================================================
   1. TOKENS  (colors can be overridden from Elementor > Site Settings > Global Colors
      by creating custom colors with the IDs peaknavy / peakcopper)
   ========================================================= */
:root{
  --navy-700:#081B33;
  --navy-600:var(--e-global-color-peaknavy,#0B2C55);
  --navy-500:#1B4A82;
  --copper:var(--e-global-color-peakcopper,#B8632F);
  --copper-dark:#974E22;
  --copper-light:#E6A878;
  --warm:#F6F2EC;
  --warm-2:#EFE8DE;
  --line:#E6DFD4;
  --tint:#F3E4D6;
  --gray-900:#1E2226;
  --gray-800:#2B3036;
  --gray-600:#6E6E6E;
  --gray-400:#9CA3AF;
  --white:#FFFFFF;
  --radius-lg:20px;
  --radius-md:14px;
  --shadow-sm:0 2px 10px rgba(17,24,39,.06);
  --shadow-md:0 12px 30px -10px rgba(17,24,39,.14);
  --shadow-lg:0 24px 60px -20px rgba(17,24,39,.22);
  --maxw:1220px;
  --font-head:'Plus Jakarta Sans',sans-serif;
  --font-body:'Inter',sans-serif;
}

/* =========================================================
   2. BASE
   ========================================================= */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body.peak-theme{margin:0;background:var(--white);color:var(--gray-800);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
body.peak-theme a{text-decoration:none;color:inherit;}
body.peak-theme img{max-width:100%;display:block;}
body.peak-theme h1,body.peak-theme h2,body.peak-theme h3,body.peak-theme h4{font-family:var(--font-head);margin:0;color:var(--gray-900);letter-spacing:-.01em;}
.peak-main{display:block;}

/* =========================================================
   3. ELEMENTOR NORMALISATION (only touches containers/widgets carrying the .pk class,
      so anything you add yourself in the editor keeps Elementor's normal defaults)
   ========================================================= */
.elementor .e-con.pk{--gap:0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--margin-top:0px;--margin-bottom:0px;gap:0;padding:0;min-width:0;}
.elementor .e-con.pk>.elementor-widget:not(:last-child),
.elementor .e-con.pk>.elementor-widget{margin-block-end:0;margin-bottom:0;--kit-widget-spacing:0px;}
.elementor .e-con.pk>.elementor-widget{width:auto;max-width:100%;}
.elementor-widget-text-editor .elementor-widget-container{color:inherit;font:inherit;}
.elementor-widget-text-editor p{margin:0 0 1em;}
.elementor-widget-text-editor p:last-child{margin-bottom:0;}
.elementor .elementor-heading-title{padding:0;margin:0;font-family:var(--font-head);font-weight:700;color:var(--gray-900);}
.elementor-widget-image img{height:auto;max-width:100%;}

/* layout helpers */
.elementor .e-con.pk.wrap{width:100%;max-width:var(--maxw);margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px;}
.elementor .e-con.pk.sec{padding-top:100px;padding-bottom:100px;width:100%;max-width:none;}
.elementor .e-con.pk.sec-80{padding-top:80px;padding-bottom:80px;}
.elementor .e-con.pk.sec-70{padding-top:70px;padding-bottom:70px;}
.elementor .e-con.pk.bg-warm{background-color:var(--warm);}
.elementor .e-con.pk.bg-warm2{background-color:var(--warm-2);}
.elementor .e-con.pk.about.bg-warm2{background-color:var(--warm-2);}

/* =========================================================
   4. TYPOGRAPHY / BUTTONS / EYEBROW
   ========================================================= */
.elementor .eyebrow .elementor-heading-title{margin-bottom:14px;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:13px;line-height:1.4;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--copper);}
.elementor .eyebrow .elementor-heading-title::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--copper);display:inline-block;flex-shrink:0;}

.elementor .btn{width:auto;}
.elementor .btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:15px 26px;border-radius:100px;font-family:var(--font-body);font-weight:700;font-size:15px;line-height:1.2;border:1.5px solid transparent;white-space:nowrap;fill:currentColor;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease,border-color .15s ease;}
.elementor .btn .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:9px;}
.elementor .btn .elementor-button-icon{margin:0;}
.elementor .btn .elementor-button-icon svg,.elementor .btn .elementor-button-icon i{width:14px;height:14px;font-size:14px;}
.elementor .btn-primary .elementor-button{background:var(--copper);color:#fff;box-shadow:0 10px 24px -8px rgba(184,99,47,.55);}
.elementor .btn-primary .elementor-button:hover,.elementor .btn-primary .elementor-button:focus{background:var(--copper-dark);color:#fff;transform:translateY(-1px);}
.elementor .btn-outline .elementor-button{background:transparent;border-color:rgba(255,255,255,.5);color:#fff;}
.elementor .btn-outline .elementor-button:hover{background:rgba(255,255,255,.12);color:#fff;}
.elementor .btn-outline-dark .elementor-button{background:transparent;border-color:var(--line);color:var(--gray-800);}
.elementor .btn-outline-dark .elementor-button:hover{border-color:var(--copper);color:var(--copper);background:transparent;}
.elementor .btn.nav-btn .elementor-button{padding:11px 20px;font-size:14px;}
.elementor .btn.nav-call .elementor-button{background:transparent;color:var(--gray-900);padding:0;border:0;border-radius:0;font-size:14.5px;box-shadow:none;}
.elementor .btn.nav-call .elementor-button:hover{background:transparent;color:var(--copper);transform:none;}
.elementor .btn.nav-call .elementor-button-icon{color:var(--copper);}
.elementor .btn.learn .elementor-button,.elementor .btn.news-link .elementor-button{background:transparent;color:var(--copper);padding:0;border:0;border-radius:0;box-shadow:none;font-size:13.5px;}
.elementor .btn.learn .elementor-button:hover,.elementor .btn.news-link .elementor-button:hover{background:transparent;color:var(--copper-dark);transform:none;}
.elementor .btn.learn .elementor-button-icon,.elementor .btn.news-link .elementor-button-icon{transition:transform .15s ease;}
.elementor .service-card:hover .btn.learn .elementor-button-icon{transform:translateX(3px);}

.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px;}
.elementor .e-con.pk.hero-ctas{flex-direction:row;flex-wrap:wrap;gap:14px;}

/* reveal-on-scroll (JS only enables it on the live site, never inside the Elementor editor) */
.peak-js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.peak-js .reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.peak-js .reveal{opacity:1;transform:none;transition:none;}}

/* section heads */
.elementor .e-con.pk.section-head{max-width:620px;margin:0 auto 52px;text-align:center;align-items:center;}
.elementor .section-head h2{font-size:clamp(28px,3.4vw,40px);line-height:1.15;}
.elementor .section-head p{margin-top:16px;color:var(--gray-600);font-size:16.5px;line-height:1.6;}
.elementor .e-con.pk.section-head.left{text-align:left;margin:0 0 40px;max-width:none;align-items:flex-start;}

/* =========================================================
   5. HEADER
   ========================================================= */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--warm-2);transition:box-shadow .2s ease;}
.admin-bar .site-header{top:32px;}
@media(max-width:782px){.admin-bar .site-header{top:46px;}}
.site-header.scrolled{box-shadow:var(--shadow-sm);}
.elementor .e-con.pk.nav{flex-direction:row;align-items:center;justify-content:space-between;padding:16px 24px;max-width:var(--maxw);margin:0 auto;width:100%;}
.elementor .nav .logo{flex:0 0 auto;width:auto;}
.elementor .nav .logo img{height:52px;width:auto;border-radius:6px;display:block;}
.elementor .nav .navwrap{width:auto;}
.peak-nav{display:flex;gap:30px;margin:0;padding:0;list-style:none;}
.peak-nav li{margin:0;padding:0;list-style:none;}
.peak-nav a{font-size:14.5px;font-weight:600;color:var(--gray-600);font-family:var(--font-body);}
.peak-nav a:hover,.peak-nav .current-menu-item>a,.peak-nav .current_page_item>a{color:var(--copper);}
.peak-nav-toggle{display:none;background:none;border:0;padding:6px;cursor:pointer;color:var(--gray-900);}
.elementor .e-con.pk.nav-actions{flex-direction:row;align-items:center;gap:16px;width:auto;}

/* =========================================================
   6. HERO
   ========================================================= */
.elementor .e-con.pk.hero{position:relative;display:flex;align-items:center;overflow:hidden;width:100%;max-width:none;}
.elementor .e-con.pk.hero>*{position:relative;z-index:2;}
.elementor .e-con.pk.hero-home{min-height:96vh;background-size:cover;background-position:center 18%;background-repeat:no-repeat;background-color:var(--navy-700);}
.elementor .e-con.pk.hero-home::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(100deg,rgba(9,20,48,.88) 0%,rgba(9,20,48,.72) 42%,rgba(9,20,48,.30) 75%,rgba(9,20,48,.10) 100%);}
.elementor .e-con.pk.hero-sm{min-height:auto;padding:70px 0 50px;background:linear-gradient(120deg,#081B33,#0B2C55);}
.elementor .e-con.pk.hero-sm .hero-sm-inner{max-width:var(--maxw);}
.elementor .e-con.pk.hero-inner{display:grid;grid-template-columns:1.2fr .9fr;gap:40px;align-items:end;padding-top:140px;padding-bottom:60px;}
.elementor .hero-copy h1,.elementor .hero-sm h1{color:#fff;font-weight:800;}
.elementor .hero-copy h1{font-size:clamp(34px,4.6vw,56px);line-height:1.08;max-width:620px;}
.elementor .hero-copy h1 .hl{color:var(--copper-light);}
.elementor .hero .eyebrow .elementor-heading-title{color:var(--copper-light);}
.elementor .hero .eyebrow .elementor-heading-title::before{background:var(--copper-light);}
.elementor .hero-copy .area-line{display:flex;align-items:center;gap:8px;font-weight:600;color:#fff;font-size:15px;margin-top:16px;}
.elementor .hero-copy .area-line.first{margin-top:14px;}
.elementor .hero-copy .area-line svg{color:var(--copper-light);flex-shrink:0;}
.elementor .hero-copy .area-line p{margin:0;}
.elementor .hero-copy .area-line span{display:inline;}
.elementor .hero-sm h1{font-size:clamp(32px,4.4vw,48px);line-height:1.08;max-width:720px;}
.elementor .hero-sm .lead{max-width:560px;}
.elementor .hero-sm .lead p{color:#D4D8DC;font-size:17px;line-height:1.6;margin:18px 0 0;}
.elementor .hero-sm .crumbs p{font-size:13px;color:#B7C0C9;margin-bottom:14px;}
.elementor .hero-sm .crumbs a{color:#B7C0C9;}
.elementor .hero-sm .crumbs a:hover{color:#fff;}
.elementor .hero-sm .hero-ctas{margin-top:30px;}

.elementor .trust-badges .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:14px 26px;margin:44px 0 0;padding:0;list-style:none;}
.elementor .trust-badges .elementor-icon-list-item{display:flex;align-items:center;gap:10px;color:#fff;font-size:13.5px;font-weight:600;margin:0;padding:0;}
.elementor .trust-badges .elementor-icon-list-item a{display:flex;align-items:center;gap:10px;}
.elementor .trust-badges .elementor-icon-list-icon{color:var(--copper-light);font-size:15px;width:auto;}
.elementor .trust-badges .elementor-icon-list-icon i{color:var(--copper-light);font-size:15px;}
.elementor .trust-badges .elementor-icon-list-icon svg{fill:var(--copper-light);width:15px;height:15px;}
.elementor .trust-badges .elementor-icon-list-text{color:#fff;padding:0;}

/* request card */
.elementor .e-con.pk.estimate-card{position:relative;z-index:2;background:#fff;border-radius:var(--radius-lg);padding:30px 28px;box-shadow:var(--shadow-lg);align-self:end;border-top:4px solid var(--copper);}
.elementor .estimate-card h3{font-size:20px;margin-bottom:6px;}
.elementor .estimate-card .sub p{font-size:13.5px;color:var(--gray-600);margin:0 0 20px;}
.elementor .estimate-card .fine p{margin:12px 0 0;font-size:12px;color:var(--gray-400);text-align:center;}
.elementor .estimate-card .fine a{color:var(--navy-600);font-weight:700;}
.elementor .e-con.pk.estimate-card.flat{margin:0;}
.peak-form .field{margin-bottom:14px;}
.peak-form label{display:block;font-size:12.5px;font-weight:700;color:var(--gray-600);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em;}
.peak-form input[type=text],.peak-form input[type=tel],.peak-form textarea{width:100%;padding:12px 14px;border-radius:10px;border:1.5px solid var(--line);font-family:var(--font-body);font-size:14.5px;color:var(--gray-900);background:var(--warm);margin:0;box-shadow:none;}
.peak-form textarea{resize:vertical;}
.peak-form input:focus,.peak-form textarea:focus{outline:none;border-color:var(--copper);background:#fff;}
.peak-form .peak-hp{position:absolute;left:-9999px;opacity:0;height:0;width:0;}
.peak-form button.btn-submit{display:inline-flex;align-items:center;justify-content:center;width:100%;margin-top:6px;padding:15px 26px;border-radius:100px;border:1.5px solid transparent;background:var(--copper);color:#fff;font-family:var(--font-body);font-weight:700;font-size:15px;cursor:pointer;box-shadow:0 10px 24px -8px rgba(184,99,47,.55);transition:background .15s ease,transform .15s ease;}
.peak-form button.btn-submit:hover{background:var(--copper-dark);transform:translateY(-1px);}
.peak-form-note{padding:14px 16px;border-radius:10px;font-size:14px;margin-bottom:14px;}
.peak-form-note.ok{background:#E9F5EC;color:#1F5C33;}
.peak-form-note.err{background:#FBEAEA;color:#8A1F1F;}

/* =========================================================
   7. SERVICES / WHY / ABOUT / HOW / GALLERY
   ========================================================= */
.elementor .services-grid,.elementor .why-grid{display:grid;gap:24px;}
.elementor .e-con.pk.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.elementor .e-con.pk.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.elementor .e-con.pk.service-card{background:#fff;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;border-bottom:3px solid transparent;}
.elementor .service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-bottom-color:var(--copper);}
.elementor .e-con.pk.service-thumb{position:relative;aspect-ratio:4/2.9;overflow:hidden;display:block;}
.elementor .service-thumb .elementor-widget-image,.elementor .service-thumb .elementor-widget-image .elementor-widget-container{height:100%;width:100%;}
.elementor .service-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.elementor .service-card:hover .service-thumb img{transform:scale(1.06);}
.elementor .e-con.pk>.elementor-widget.service-icon{position:absolute;bottom:14px;left:16px;z-index:2;width:48px;height:48px;border-radius:12px;background:var(--copper);color:#fff;box-shadow:0 8px 18px -6px rgba(184,99,47,.6);}
.elementor .ico,.elementor .service-icon .elementor-widget-container,.elementor .why-icon .elementor-widget-container,.elementor .how-num .elementor-widget-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%;}
.elementor .ico{display:inline-flex;}
.elementor .e-con.pk.service-body{padding:24px 22px 26px;display:flex;flex-direction:column;gap:12px;flex:1;}
.elementor .service-card h3{font-size:17px;}
.elementor .service-card .service-body p{font-size:14px;color:var(--gray-600);line-height:1.55;margin:0;}
.elementor .service-body .elementor-widget-text-editor{flex:1;}

.elementor .e-con.pk.why-card{border:1.5px solid var(--line);border-radius:var(--radius-md);padding:28px 24px;transition:border-color .2s ease,box-shadow .2s ease;background:#fff;}
.elementor .why-card:hover{border-color:var(--copper);box-shadow:var(--shadow-sm);}
.elementor .e-con.pk>.elementor-widget.why-icon{width:44px;height:44px;border-radius:12px;background:var(--navy-600);color:var(--copper-light);margin-bottom:16px;flex:0 0 44px;align-self:flex-start;}
.elementor .why-card h3{font-size:16.5px;margin-bottom:8px;}
.elementor .why-card p{font-size:14px;color:var(--gray-600);line-height:1.6;margin:0;}

.elementor .e-con.pk.areas{background:linear-gradient(135deg,#081B33,#0B2C55);color:#fff;}
.elementor .e-con.pk.areas-wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.elementor .areas h2{color:#fff;font-size:clamp(24px,2.8vw,34px);margin-bottom:14px;}
.elementor .areas .eyebrow .elementor-heading-title{color:var(--copper-light);}
.elementor .areas .eyebrow .elementor-heading-title::before{background:var(--copper-light);}
.elementor .areas p{color:#B7C0C9;max-width:440px;line-height:1.65;margin:0 0 26px;}
.elementor .e-con.pk.city-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.elementor .e-con.pk.city-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:16px 18px;font-weight:700;color:#fff;}
.elementor .city-card .elementor-widget-container{display:flex;justify-content:space-between;gap:10px;width:100%;}
.elementor .city-card .elementor-widget-text-editor{width:100%;}
.elementor .city-card .elementor-widget-container>span:first-child{flex:1;}
.elementor .city-card small{font-weight:500;opacity:.7;}
.elementor .e-con.pk.city-card.hub{background:var(--copper);color:#fff;border-color:var(--copper);}
.elementor .city-card.hub small{opacity:.9;}

.elementor .e-con.pk.about{background:var(--warm-2);}
.elementor .e-con.pk.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;}
.elementor .e-con.pk.about-photo{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/4.6;display:block;}
.elementor .about-photo .elementor-widget-image,.elementor .about-photo .elementor-widget-image .elementor-widget-container{height:100%;width:100%;}
.elementor .about-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 60%;}
.elementor .e-con.pk.about-stat{position:absolute;left:20px;bottom:20px;background:#fff;border-radius:14px;padding:14px 18px;box-shadow:var(--shadow-md);width:auto;}
.elementor .about-stat strong{display:block;font-family:var(--font-head);font-size:20px;color:var(--copper);}
.elementor .about-stat span{font-size:11.5px;color:var(--gray-600);}
.elementor .about-copy h2{font-size:clamp(24px,2.8vw,34px);margin-bottom:18px;}
.elementor .about-copy p{font-size:15.5px;line-height:1.75;color:var(--gray-600);margin:0 0 16px;}
.elementor .about-copy strong{color:var(--gray-900);}
.elementor .e-con.pk.about-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0;}
.elementor .about-highlights strong{display:block;font-family:var(--font-head);font-size:24px;color:var(--copper);}
.elementor .about-highlights span{font-size:12.5px;color:var(--gray-600);}


.elementor .e-con.pk.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;position:relative;}
.elementor .how-grid::before{content:"";position:absolute;top:34px;left:16%;right:16%;height:2px;background:repeating-linear-gradient(90deg,var(--copper-light) 0 10px,transparent 10px 20px);z-index:0;}
.elementor .e-con.pk.how-step{position:relative;z-index:1;text-align:center;padding:0 10px;align-items:center;}
.elementor .e-con.pk>.elementor-widget.how-num{width:68px;height:68px;border-radius:50%;background:var(--navy-600);color:var(--copper-light);margin:0 auto 20px;align-self:center;flex:0 0 68px;box-shadow:0 12px 24px -8px rgba(11,44,85,.5),0 0 0 6px #fff;}
.elementor .how-step h3{font-size:18px;margin-bottom:10px;}
.elementor .how-step p{font-size:14.5px;color:var(--gray-600);line-height:1.6;max-width:260px;margin:0 auto;}

.elementor .e-con.pk.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.elementor .e-con.pk.gallery-card{position:relative;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:4/3.2;box-shadow:var(--shadow-sm);display:block;}
.elementor .gallery-card .elementor-widget-image,.elementor .gallery-card .elementor-widget-image .elementor-widget-container{height:100%;width:100%;}
.elementor .gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.elementor .gallery-card:hover img{transform:scale(1.08);}
.elementor .e-con.pk.overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,20,48,0) 40%,rgba(9,20,48,.82) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:20px;opacity:0;transition:opacity .3s ease;}
.elementor .gallery-card:hover .overlay{opacity:1;}
.elementor .overlay .g-tag{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--copper-light);}
.elementor .overlay .g-title{font-family:var(--font-head);font-weight:700;font-size:16px;margin-top:4px;color:#fff;}

/* =========================================================
   8. REVIEWS / TIPS / FAQ / CTA
   ========================================================= */
.elementor .e-con.pk.t-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,360px);gap:20px;overflow-x:auto;padding:6px 6px 16px;scroll-snap-type:x proximity;}
.t-scroll::-webkit-scrollbar{height:6px;}
.t-scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px;}
.elementor .e-con.pk.t-card{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius-md);padding:24px;scroll-snap-align:start;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow-sm);}
.elementor .e-con.pk.t-top{flex-direction:row;align-items:center;gap:12px;}
.t-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-family:var(--font-head);font-size:15px;flex-shrink:0;}
.elementor .t-name-block strong{display:block;font-size:14.5px;color:var(--gray-900);}
.elementor .t-name-block span{font-size:12px;color:var(--gray-400);}
.elementor .stars{color:#D9A441;font-size:14px;letter-spacing:2px;}
.elementor .stars.big{font-size:20px;}
.elementor .t-card p{font-size:14.5px;line-height:1.6;color:var(--gray-800);margin:0;}
.elementor .t-card .elementor-widget-text-editor:nth-of-type(2){flex:1;}
.g-line{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--gray-600);}
.elementor .e-con.pk.news-foot{text-align:center;margin-top:40px;align-items:center;}

.elementor .e-con.pk.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.elementor .e-con.pk.news-card{background:#fff;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;}
.elementor .news-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.elementor .e-con.pk.news-thumb{position:relative;aspect-ratio:16/10.5;overflow:hidden;display:block;}
.elementor .news-thumb .elementor-widget-image,.elementor .news-thumb .elementor-widget-image .elementor-widget-container{height:100%;width:100%;}
.elementor .news-thumb img{width:100%;height:100%;object-fit:cover;}
.elementor .news-thumb .cat{position:absolute;top:14px;left:14px;z-index:2;width:auto;background:var(--copper);color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:6px 12px;border-radius:100px;}
.elementor .e-con.pk.news-body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1;}
.elementor .news-date{font-size:12px;color:var(--gray-400);font-weight:600;}
.elementor .news-body h3{font-size:17px;line-height:1.3;}
.elementor .news-body p{font-size:14px;color:var(--gray-600);line-height:1.55;margin:0;}
.elementor .news-body .elementor-widget-text-editor:nth-of-type(2){flex:1;}

.elementor .e-con.pk.faq-list{max-width:760px;margin:0 auto;width:100%;}
.elementor .e-con.pk.faq-list.left{margin:0;max-width:820px;}
.elementor .faq-list .elementor-accordion .elementor-accordion-item{border:0;border-bottom:1px solid var(--line);}
.elementor .faq-list .elementor-accordion .elementor-tab-title{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;background:none;border:0;cursor:pointer;font-family:var(--font-head);font-size:16.5px;font-weight:700;color:var(--gray-900);flex-direction:row-reverse;margin:0;}
.elementor .faq-list .elementor-accordion .elementor-tab-title a,.elementor .faq-list .elementor-accordion .elementor-accordion-title{color:var(--gray-900);font-family:var(--font-head);font-size:16.5px;font-weight:700;flex:1;text-align:left;}
.elementor .faq-list .elementor-accordion .elementor-tab-title.elementor-active a,.elementor .faq-list .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-title{color:var(--gray-900);}
.elementor .faq-list .elementor-accordion .elementor-accordion-icon{width:28px;height:28px;border-radius:50%;background:var(--tint);color:var(--copper);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;margin:0;order:2;}
.elementor .faq-list .elementor-accordion .elementor-accordion-icon i,.elementor .faq-list .elementor-accordion .elementor-accordion-icon svg{color:inherit;fill:currentColor;width:12px;height:12px;font-size:12px;}
.elementor .faq-list .elementor-accordion .elementor-active .elementor-accordion-icon{background:var(--copper);color:#fff;}
.elementor .faq-list .elementor-accordion .elementor-tab-content{border:0;padding:0 0 22px;color:var(--gray-600);font-size:14.5px;line-height:1.65;max-width:640px;background:none;}
.elementor .faq-list .elementor-accordion .elementor-tab-content p{margin:0;}

.elementor .e-con.pk.final-cta{background:linear-gradient(120deg,#081B33,#0B2C55);border-top:4px solid var(--copper);color:#fff;text-align:center;padding:88px 0;}
.elementor .final-cta .fc-inner{align-items:center;max-width:var(--maxw);}
.elementor .final-cta h2{color:#fff;font-size:clamp(28px,3.8vw,42px);max-width:640px;margin:0 auto;}
.elementor .final-cta p{color:#D4D8DC;margin-top:16px;font-size:16.5px;}
.elementor .final-cta .eyebrow{display:flex;justify-content:center;}
.elementor .final-cta .eyebrow .elementor-heading-title{color:var(--copper-light);}
.elementor .final-cta .eyebrow .elementor-heading-title::before{background:var(--copper-light);}
.elementor .e-con.pk.final-cta .hero-ctas{justify-content:center;margin-top:30px;}
.elementor .e-con.pk.fc-inner{align-items:center;text-align:center;width:100%;}

/* =========================================================
   9. INNER PAGES
   ========================================================= */
.elementor .e-con.pk.svc-sec{border-bottom:1px solid var(--line);}
.elementor .e-con.pk.svc-row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.elementor .e-con.pk.service-thumb.big{border-radius:var(--radius-md);aspect-ratio:4/3.1;box-shadow:var(--shadow-sm);}
.elementor .service-thumb.big.rev{order:2;}
.elementor .svc-copy h2{font-size:clamp(24px,2.8vw,32px);margin-bottom:16px;}
.elementor .svc-copy>.elementor-widget-text-editor p{color:var(--gray-600);font-size:15.5px;line-height:1.7;margin-bottom:14px;}
.elementor .svc-list ul{list-style:none;padding:0;margin:0 0 22px;}
.elementor .svc-list li{position:relative;list-style:none;margin:0 0 10px;padding-left:22px;font-size:15px;color:var(--gray-800);}
.elementor .svc-list li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--copper);}

.elementor .mini-faq .elementor-widget-container{margin-top:8px;padding-top:20px;border-top:1px solid var(--line);}
.elementor .mini-faq .mq{font-weight:700;font-size:14.5px;margin:0 0 4px;color:var(--gray-900);}
.elementor .mini-faq .ma{color:var(--gray-600);font-size:14px;line-height:1.6;margin:0 0 14px;}

.elementor .e-con.pk.sp-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start;}
.elementor .sp-copy h2{font-size:clamp(26px,3vw,34px);margin-bottom:16px;}
.elementor .sp-copy>.elementor-widget-text-editor p{color:var(--gray-600);font-size:15.5px;line-height:1.75;margin-bottom:14px;}
.elementor .sp-list .elementor-icon-list-items{list-style:none;padding:0;margin:22px 0 28px;display:grid;gap:12px;}
.elementor .sp-list .elementor-icon-list-item{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--gray-800);margin:0;padding:0;}
.elementor .sp-list .elementor-icon-list-icon{background:var(--copper);border-radius:50%;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;}
.elementor .sp-list .elementor-icon-list-icon i{color:#fff;font-size:11px;}
.elementor .sp-list .elementor-icon-list-icon svg{fill:#fff;width:11px;height:11px;}
.elementor .sp-list .elementor-icon-list-text{color:var(--gray-800);padding:0;}
.elementor .e-con.pk.sp-photo{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:3/4;position:sticky;top:100px;display:block;}
.elementor .sp-photo .elementor-widget-image,.elementor .sp-photo .elementor-widget-image .elementor-widget-container{height:100%;width:100%;}
.elementor .sp-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;}
.elementor .e-con.pk.sp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.elementor .e-con.pk.sp-step{background:#fff;border-radius:var(--radius-md);padding:26px;box-shadow:var(--shadow-sm);border-top:3px solid var(--copper);}
.elementor .sp-step b{font-family:var(--font-head);color:var(--copper);font-size:13px;letter-spacing:.08em;}
.elementor .sp-step h3{font-size:17px;margin:8px 0;}
.elementor .sp-step p{font-size:14px;color:var(--gray-600);line-height:1.6;margin:0;}
.elementor .e-con.pk.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.elementor .e-con.pk.rel-card{background:#fff;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s;}
.elementor .rel-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.elementor .e-con.pk.rel-img{aspect-ratio:16/10;overflow:hidden;display:block;}
.elementor .rel-img .elementor-widget-image,.elementor .rel-img .elementor-widget-image .elementor-widget-container{height:100%;width:100%;}
.elementor .rel-img img{width:100%;height:100%;object-fit:cover;}
.elementor .e-con.pk.rel-t{padding:16px 18px;font-weight:700;flex-direction:row;justify-content:space-between;align-items:center;color:var(--gray-900);}
.elementor .rel-t a{color:var(--gray-900);}
.elementor .rel-t span{color:var(--copper);display:inline-flex;}

.elementor .e-con.pk.feat-review{background:linear-gradient(135deg,#081B33,#0B2C55);border-radius:20px;padding:48px 56px;color:#fff;position:relative;margin-bottom:40px;border-top:4px solid var(--copper);box-shadow:var(--shadow-lg);}
.elementor .feat-quote{font-family:var(--font-head);font-size:90px;line-height:.6;color:var(--copper-light);opacity:.5;height:40px;}
.elementor .feat-review blockquote{margin:14px 0 26px;font-family:var(--font-head);font-size:clamp(20px,2.4vw,27px);line-height:1.45;font-weight:600;max-width:880px;color:#fff;border:0;padding:0;}
.elementor .e-con.pk.feat-by{flex-direction:row;align-items:center;gap:14px;flex-wrap:wrap;}
.elementor .feat-by strong{display:block;font-size:15px;color:#fff;}
.elementor .feat-by span{font-size:13px;color:#B7C0C9;}
.feat-g{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:13px;background:#fff;color:var(--gray-800);padding:7px 12px;border-radius:100px;}
.elementor .feat-by .elementor-widget-html:last-child{margin-left:auto;}
.elementor .e-con.pk.masonry-grid{display:block;column-count:3;column-gap:20px;}
.elementor .masonry-grid>.t-card{break-inside:avoid;margin-bottom:20px;display:flex;width:100%;}

.elementor .e-con.pk.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.elementor .contact-info h2{font-size:clamp(24px,2.8vw,32px);margin-bottom:24px;}
.elementor .e-con.pk.contact-rows{display:flex;flex-direction:column;gap:20px;margin-bottom:32px;}
.elementor .e-con.pk.contact-row{flex-direction:row;gap:14px;align-items:flex-start;}
.elementor .e-con.pk>.elementor-widget.contact-row-icon,.elementor .contact-row>.elementor-widget.why-icon{margin-bottom:0;}
.elementor .contact-row strong{display:block;font-size:15px;color:var(--gray-900);}
.elementor .contact-row a,.elementor .contact-row span{color:var(--gray-600);font-size:14.5px;}
.elementor .contact-row a:hover{color:var(--copper);}

/* =========================================================
   10. FOOTER
   ========================================================= */
.site-footer{background:var(--gray-900);color:#9AA3AC;padding:60px 0 28px;border-top:4px solid var(--copper);}
.elementor .e-con.pk.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;gap:32px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.08);}
.elementor .e-con.pk.footer-logo{background:#fff;padding:10px 14px;border-radius:10px;display:inline-block;width:auto;margin-bottom:14px;}
.elementor .footer-logo img{height:44px;width:auto;border-radius:5px;}
.elementor .footer-tag .elementor-heading-title{color:#fff;font-weight:700;font-size:15px;margin-bottom:6px;font-family:var(--font-body);}
.elementor .footer-brand p{font-size:13.5px;line-height:1.65;max-width:250px;color:#9AA3AC;margin:0;}
.footer-social{display:flex;gap:10px;margin-top:14px;}
.footer-social a{width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;}
.footer-social a:hover{background:var(--copper);}
.elementor .footer-col h4{color:var(--copper-light);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px;font-weight:700;}
.elementor .footer-col .elementor-widget-text-editor a{display:block;font-size:13.5px;margin-bottom:10px;color:#9AA3AC;}
.elementor .footer-col .elementor-widget-text-editor a:hover{color:#fff;}
.elementor .e-con.pk.footer-bottom{flex-direction:row;justify-content:space-between;align-items:center;padding-top:22px;font-size:12.5px;flex-wrap:wrap;gap:10px;color:#9AA3AC;}
.mobile-call{display:none;position:fixed;bottom:18px;right:18px;z-index:90;width:58px;height:58px;border-radius:50%;background:var(--copper);color:#fff;align-items:center;justify-content:center;box-shadow:0 12px 28px -6px rgba(184,99,47,.55);}

/* generic post/page fallback (non-Elementor content) */
.peak-content{max-width:820px;margin:60px auto;padding:0 24px;font-size:16.5px;line-height:1.75;}
.peak-content h1{font-size:clamp(30px,4vw,44px);margin-bottom:24px;}
.peak-content h2,.peak-content h3{margin:32px 0 12px;}

/* =========================================================
   11. RESPONSIVE
   ========================================================= */
@media (max-width:980px){
  .peak-nav-toggle{display:inline-flex;}
  .elementor .nav .navwrap{position:static;order:3;width:auto;}
  .peak-nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:#fff;border-bottom:1px solid var(--line);padding:10px 24px 18px;box-shadow:var(--shadow-md);}
  .peak-nav.open{display:flex;}
  .peak-nav a{display:block;padding:12px 0;font-size:15px;}
  .elementor .e-con.pk.nav{position:relative;}
  .elementor .nav .nav-actions .nav-call{display:none;}
  .elementor .e-con.pk.hero-inner{grid-template-columns:1fr;padding-top:120px;}
  .elementor .e-con.pk.estimate-card{max-width:420px;}
  .elementor .e-con.pk.services-grid,.elementor .e-con.pk.why-grid{grid-template-columns:repeat(2,1fr);}
  .elementor .e-con.pk.about-grid{grid-template-columns:1fr;}
  .elementor .e-con.pk.gallery-grid{grid-template-columns:repeat(2,1fr);}
  .elementor .e-con.pk.how-grid{grid-template-columns:1fr;gap:44px;}
  .elementor .how-grid::before{display:none;}
  .elementor .e-con.pk.news-grid{grid-template-columns:1fr;}
  .elementor .e-con.pk.footer-grid{grid-template-columns:1fr 1fr 1fr;}
  .elementor .e-con.pk.areas-wrap{grid-template-columns:1fr;}
  .mobile-call{display:flex;}
}
@media (max-width:900px){
  .elementor .e-con.pk.svc-row,.elementor .e-con.pk.sp-grid,.elementor .e-con.pk.contact-grid{grid-template-columns:1fr;gap:32px;}
  .elementor .e-con.pk.sp-photo{position:static;aspect-ratio:4/3;}
  .elementor .e-con.pk.sp-steps,.elementor .e-con.pk.rel-grid{grid-template-columns:1fr;}
  .elementor .service-thumb.big.rev{order:0;}
  .elementor .e-con.pk.masonry-grid{column-count:2;}
  .elementor .e-con.pk.feat-review{padding:34px 26px;}
}
@media (max-width:640px){
  .elementor .e-con.pk.sec{padding-top:64px;padding-bottom:64px;}
  .elementor .e-con.pk.services-grid,.elementor .e-con.pk.why-grid,.elementor .e-con.pk.gallery-grid{grid-template-columns:1fr;}
  .elementor .e-con.pk.about-highlights{gap:8px;}
  .elementor .e-con.pk.footer-grid{grid-template-columns:1fr 1fr;}
  .elementor .e-con.pk.hero-home{min-height:auto;}
  .elementor .e-con.pk.hero-inner{padding-top:110px;padding-bottom:40px;}
  .elementor .e-con.pk.masonry-grid{column-count:1;}
  .elementor .e-con.pk.city-grid{grid-template-columns:1fr 1fr;}
  .elementor .nav .logo img{height:44px;}
  .elementor .nav .nav-actions .nav-btn{display:none;}
}

/* accessibility */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important;}
.screen-reader-text:focus{background:#fff;clip:auto!important;clip-path:none;color:#000;display:block;height:auto;left:8px;padding:12px 20px;top:8px;width:auto;z-index:100000;}
@media (max-width:640px){.elementor .city-card .elementor-widget-container{flex-direction:column;gap:2px;}}
