/*
 * PAM Site Kit — styles that sit on top of the Divi 5 module settings.
 * Colours, fonts, sizes, buttons and backgrounds live in each Divi module.
 * This file only adds what Divi's settings panels cannot do on their own.
 */
:root {
  --pam-pink:#ED145C; --pam-deep:#C80F4E; --pam-ember:#7A0B2E; --pam-black:#000; --pam-ink:#262626;
  --pam-muted:#555B61; --pam-frost:#F1F5F8; --pam-line:#D5DEE5; --pam-white:#fff;
  --pam-head:Montserrat,"Helvetica Neue",Arial,sans-serif; --pam-body:"Source Sans 3","Segoe UI",Roboto,Arial,sans-serif;
}
html { scroll-behavior:smooth; scroll-padding-top:110px; }
body.pam-site { font-family:var(--pam-body); color:var(--pam-ink); font-size:18px; line-height:1.6; -webkit-font-smoothing:antialiased; }
body.pam-site #main-content, body.pam-site #page-container { background:#fff; }
body.pam-site h1, body.pam-site h2, body.pam-site h3 { text-wrap:balance; padding-bottom:0; margin:0 0 .6em; }
body.pam-site .et_pb_text p { padding-bottom:0; margin:0 0 1em; }
body.pam-site .et_pb_text p:last-child { margin-bottom:0; }
body.pam-site a:hover { text-decoration-thickness:2px; }
body.pam-site :focus-visible { outline:3px solid var(--pam-pink); outline-offset:3px; border-radius:4px; }

/* Heading widths from the design */
body.pam-site .pam-hero__text h1 { max-width:16ch; }
body.pam-site .pam-hero__lede { max-width:36rem; }
body.pam-site .pam-intro h2, body.pam-site .pam-section--quote h2 { max-width:24ch; }
body.pam-site .pam-intro p { max-width:64ch; }
body.pam-site .pam-page-hero__text h1 { max-width:22ch; margin-bottom:.3em; }
body.pam-site .pam-page-hero__text p { max-width:40rem; }
body.pam-site .pam-band__text h2 { max-width:14ch; }

/* Spacing between stacked rows inside one section */
body.pam-site .pam-intro + .et_pb_row { margin-top:2.5rem; }
body.pam-site .pam-services-row + .pam-services-row { margin-top:2.25rem; }
body.pam-site .pam-btnrow { margin-top:2.5rem; }
body.pam-site .pam-buttons .et_pb_column { display:flex; flex-wrap:wrap; gap:.75rem; }
body.pam-site .pam-buttons .et_pb_button_module_wrapper { margin:0 !important; }
body.pam-site .et_pb_button_module_wrapper { margin-top:1.75rem; }
body.pam-site .pam-btnrow .et_pb_button_module_wrapper, body.pam-site .pam-hero__call { margin-top:0; }
body.pam-site .et_pb_button { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:48px; line-height:1.2 !important; transition:background-color .15s ease,border-color .15s ease,color .15s ease; }
body.pam-site .et_pb_button::after { display:none; }
body.pam-site .pam-hero__call.et_pb_button::before, body.pam-site .pam-hero__call .et_pb_button::before { position:static; opacity:1; margin:0; font-size:18px; }

/* Vertically centred two-column rows on desktop */
@media (min-width:981px) {
  body.pam-site .pam-vcenter, body.pam-site .pam-contact-row { display:flex; align-items:center; }
  body.pam-site .pam-contact-row { align-items:flex-start; }
}

/* 1. Home hero flame */
body.pam-site .pam-hero { position:relative; overflow:hidden; isolation:isolate; }
body.pam-site .pam-hero::before {
  content:""; position:absolute; z-index:0; pointer-events:none; bottom:-140px;
  right:max(-8rem, calc((100% - 1200px) / 2 - 8rem)); width:min(58vw,860px); aspect-ratio:3/4;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 800' preserveAspectRatio='xMidYMax meet'%3E%3Cdefs%3E%3ClinearGradient id='pamFlameG' x1='0.3' y1='0' x2='0.55' y2='1'%3E%3Cstop offset='0' stop-color='%23ED145C'/%3E%3Cstop offset='0.5' stop-color='%23C80F4E'/%3E%3Cstop offset='0.78' stop-color='%237A0B2E'/%3E%3Cstop offset='1' stop-color='%23000000'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url%28%23pamFlameG%29' d='M300 800C140 800 40 690 40 560c0-120 80-190 140-270 50-70 60-140 35-230 105 60 165 160 155 270 50-40 70-100 60-160 90 90 130 200 130 310 0 180-110 320-260 320z'/%3E%3C/svg%3E") center bottom/contain no-repeat;
}
body.pam-site .pam-hero > .et_pb_row { position:relative; z-index:1; }
@media (max-width:980px) {
  body.pam-site .pam-hero::before { bottom:-60px; right:50%; transform:translateX(50%); width:min(130vw,720px); }
}
body.pam-site .pam-cred { margin-bottom:.6rem !important; }
body.pam-site .pam-cred .et_pb_blurb_content { display:flex; align-items:center; gap:.6rem; max-width:none; }
body.pam-site .pam-cred .et_pb_main_blurb_image { margin:0 !important; width:auto !important; }
body.pam-site .pam-cred .et-pb-icon-circle { padding:6px !important; }
body.pam-site .pam-cred .et_pb_blurb_container { padding:0 !important; }
body.pam-site .pam-cred .et_pb_module_header { padding:0; margin:0; }
body.pam-site .pam-hero__text { margin-bottom:1.5rem !important; }
body.pam-site .pam-cred:last-of-type { margin-bottom:2rem !important; }

@media (min-width:981px) {
  body.pam-site .pam-hero .pam-vcenter > .et_pb_column:first-child { width:52% !important; margin-right:5.5% !important; }
  body.pam-site .pam-hero .pam-vcenter > .et_pb_column:last-child { width:42.5% !important; }
  body.pam-site .pam-hero .et_pb_button_module_wrapper { display:inline-block; vertical-align:middle; margin:0 1.25rem 0 0 !important; }
  body.pam-site .pam-hero__note { display:inline-block !important; vertical-align:middle; max-width:22rem; margin:0 !important; }
}
body.pam-site .pam-hero__note { margin-top:.75rem !important; }

/* 2. Portrait with the flame curve */
body.pam-site .pam-photo img { border-radius:140px 18px 18px 18px; aspect-ratio:9/11; object-fit:cover; width:100%; }
body.pam-site .pam-card-img { margin-bottom:1.5rem !important; }
body.pam-site .pam-card-img img { width:100%; aspect-ratio:4/3; object-fit:cover; }

/* 3. Tick list */
body.pam-site .pam-checklist ul { list-style:none !important; padding:0 !important; margin:1.5rem 0 0; display:grid; gap:.6rem; }
body.pam-site .pam-checklist li { position:relative; padding-left:2.1rem; font-weight:600; line-height:1.6; }
body.pam-site .pam-checklist li::before {
  content:""; position:absolute; left:0; top:.15em; width:1.4rem; height:1.4rem; border-radius:50%;
  background:var(--pam-deep) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12.5 4 4 8-9' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/70% no-repeat;
}

/* 4. Equipment grid — icon circles on Blurbs */
body.pam-site .pam-service { position:relative; padding-left:4.5rem !important; min-height:3.5rem; margin-bottom:0 !important; }
body.pam-site .pam-service::before {
  content:""; position:absolute; left:0; top:-.25rem; width:3.4rem; height:3.4rem; border-radius:50%;
  background:var(--pam-frost) var(--pam-icon) center/60% no-repeat;
}
body.pam-site .pam-frost .pam-service::before { background-color:#fff; }
body.pam-site .pam-service .et_pb_blurb_content { max-width:none; }
body.pam-site .pam-service .et_pb_module_header { padding-bottom:0; margin-bottom:.3rem; }
body.pam-site .pam-service--furnace { --pam-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzgwRjRFIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSIxMSIgeT0iNSIgd2lkdGg9IjI2IiBoZWlnaHQ9IjM4IiByeD0iMyIvPjxwYXRoIGQ9Ik0xMSAxN2gyNk0xNiAxMWg2Ii8+PHBhdGggZD0iTTI0IDM2Yy00IDAtNi0yLjUtNi01LjUgMC0zLjUgMy01IDMtOC41IDIuNSAxLjUgMy41IDMuNSAzIDYgMS0xIDItMi41IDItNCAyLjUgMiA0IDQuMyA0IDYuNSAwIDMtMiA1LjUtNiA1LjV6Ii8+PC9zdmc+Cg=="); }
body.pam-site .pam-service--ac { --pam-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzgwRjRFIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSI1IiB5PSIxMCIgd2lkdGg9IjM4IiBoZWlnaHQ9IjI4IiByeD0iMyIvPjxjaXJjbGUgY3g9IjE4IiBjeT0iMjQiIHI9IjgiLz48cGF0aCBkPSJNMTggMTZ2MTZNMTAgMjRoMTZNMTIuNSAxOC41bDExIDExTTIzLjUgMTguNWwtMTEgMTEiLz48cGF0aCBkPSJNMzEgMTdoN00zMSAyMmg3TTMxIDI3aDdNMzEgMzJoNyIvPjwvc3ZnPgo="); }
body.pam-site .pam-service--heatpump { --pam-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzgwRjRFIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSI1IiB5PSI5IiB3aWR0aD0iMzgiIGhlaWdodD0iMzAiIHJ4PSIzIi8+PGNpcmNsZSBjeD0iMjAiIGN5PSIyNCIgcj0iOSIvPjxwYXRoIGQ9Ik0yMCAxNWMzIDMgMyA2IDAgOXMtMyA2IDAgOU0xMSAyNGMzLTMgNi0zIDkgMHM2IDMgOSAwIi8+PHBhdGggZD0iTTM0IDE2djE2Ii8+PHBhdGggZD0iTTM4IDE2djE2Ii8+PC9zdmc+Cg=="); }
body.pam-site .pam-service--ductless { --pam-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzgwRjRFIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSI0IiB5PSIxMCIgd2lkdGg9IjQwIiBoZWlnaHQ9IjE1IiByeD0iNCIvPjxwYXRoIGQ9Ik04IDIwaDMyIi8+PHBhdGggZD0iTTE0IDMwYzAgMy0yIDQtMiA3TTI0IDMwYzAgMy0yIDQtMiA3TTM0IDMwYzAgMy0yIDQtMiA3Ii8+PC9zdmc+Cg=="); }
body.pam-site .pam-service--water { --pam-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzgwRjRFIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cmVjdCB4PSIxMiIgeT0iNyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjM0IiByeD0iMTAiLz48cGF0aCBkPSJNMTIgMTVoMjRNMTggNDV2LTRNMzAgNDV2LTQiLz48cGF0aCBkPSJNMjQgMjJjLTMgNC00LjUgNi00LjUgOGE0LjUgNC41IDAgMCAwIDkgMGMwLTItMS41LTQtNC41LTh6Ii8+PC9zdmc+Cg=="); }
body.pam-site .pam-service--boiler { --pam-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzgwRjRFIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNiAzNmM0LTMgOC0zIDEyIDBzOCAzIDEyIDAgOC0zIDEyIDBNNiA0MmM0LTMgOC0zIDEyIDBzOCAzIDEyIDAgOC0zIDEyIDAiLz48cmVjdCB4PSIxNCIgeT0iNCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjI0IiByeD0iMyIvPjxwYXRoIGQ9Ik0yNCAyMmMtMyAwLTQuNS0xLjgtNC41LTQgMC0yLjUgMi4yLTMuNSAyLjItNiAyIDEgMi44IDIuNSAyLjQgNC41LjgtLjcgMS41LTEuOCAxLjUtMyAyIDEuNSAzIDMuMiAzIDQuOCAwIDItMS42IDMuNy00LjYgMy43eiIvPjwvc3ZnPgo="); }
body.pam-site .pam-service--fireplace { --pam-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzgwRjRFIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNNCA0Mmg0ME04IDQyVjE0aDMydjI4Ii8+PHBhdGggZD0iTTQgOGg0MHY2SDR6Ii8+PHBhdGggZD0iTTE1IDQyVjI2YTkgOSAwIDAgMSAxOCAwdjE2Ii8+PHBhdGggZD0iTTI0IDQwYy0zIDAtNC41LTEuOC00LjUtNCAwLTIuNSAyLjItMy41IDIuMi02IDIgMSAyLjggMi41IDIuNCA0LjUuOC0uNyAxLjUtMS44IDEuNS0zIDIgMS41IDMgMy4yIDMgNC44IDAgMi0xLjYgMy43LTQuNiAzLjd6Ii8+PC9zdmc+Cg=="); }
body.pam-site .pam-service--thermostat { --pam-icon: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzgwRjRFIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48Y2lyY2xlIGN4PSIyNCIgY3k9IjI0IiByPSIxOCIvPjxjaXJjbGUgY3g9IjI0IiBjeT0iMjQiIHI9IjExIi8+PHBhdGggZD0iTTI0IDEzdjRNMzUgMjRoLTRNMjQgMzV2LTRNMTMgMjRoNCIvPjxwYXRoIGQ9Ik0yNCAyNGw1LTUiLz48L3N2Zz4K"); }

/* 5. Quote marks on testimonials */
body.pam-site .pam-bigquote, body.pam-site .pam-review { position:relative; }
body.pam-site .pam-bigquote .et_pb_testimonial_description, body.pam-site .pam-review .et_pb_testimonial_description { margin:0 !important; }
body.pam-site .pam-bigquote::before, body.pam-site .pam-review::before { content:"\201C"; display:block; font-family:Georgia,serif; color:var(--pam-pink); }
body.pam-site .pam-bigquote::before { font-size:6rem; line-height:.8; height:3.5rem; text-align:center; }
body.pam-site .pam-review::before { font-size:4rem; line-height:1; height:2.25rem; }
body.pam-site .pam-bigquote .et_pb_testimonial_portrait, body.pam-site .pam-review .et_pb_testimonial_portrait { display:none !important; }
body.pam-site .pam-bigquote .et_pb_testimonial_author, body.pam-site .pam-review .et_pb_testimonial_author { margin-top:1rem; display:inline; }
body.pam-site .pam-bigquote .et_pb_testimonial_meta, body.pam-site .pam-review .et_pb_testimonial_meta { display:inline; }
body.pam-site .pam-bigquote .et_pb_testimonial_meta::before, body.pam-site .pam-review .et_pb_testimonial_meta::before { content:", "; }
body.pam-site .pam-bigquote .et_pb_testimonial_description_inner { width:100% !important; }
body.pam-site .pam-reviews-feature { margin-bottom:1.5rem; }
body.pam-site .pam-reviews { margin-bottom:3rem; }
body.pam-site .pam-reviews .et_pb_column { display:flex; }
body.pam-site .pam-reviews .pam-review { flex:1; }

/* 6. Inner-page hero: gradient stripe + flame badge */
body.pam-site .pam-page-hero { position:relative; overflow:hidden; }
body.pam-site .pam-page-hero::after { content:""; position:absolute; left:0; right:0; bottom:0; height:6px; background:linear-gradient(90deg,var(--pam-pink),var(--pam-ember) 60%,var(--pam-black)); }
body.pam-site .pam-page-hero::before {
  content:""; position:absolute; right:max(40px, calc((100% - 1200px) / 2)); top:50%; width:180px; height:180px;
  transform:translateY(-50%); opacity:.9; background:var(--pam-badge) center/contain no-repeat;
}
@media (max-width:767px) {
  body.pam-site .pam-page-hero::before { width:88px; height:88px; top:1.5rem; transform:none; opacity:.5; }
  body.pam-site .pam-page-hero__text { padding-right:70px; }
}

/* 7. Mission band columns */
body.pam-site .pam-mission .et_pb_text p { margin:0; }

/* 8. Quote band stripe + big phone */
body.pam-site .pam-band { position:relative; }
body.pam-site .pam-band::before { content:""; position:absolute; left:0; right:0; top:0; height:6px; z-index:2; background:linear-gradient(90deg,var(--pam-pink),var(--pam-ember) 60%,var(--pam-black)); }
body.pam-site .pam-band__phone .et_pb_blurb_content, body.pam-site .pam-header__phone .et_pb_blurb_content { display:flex; align-items:center; gap:.75rem; max-width:none; }
body.pam-site .pam-band__phone .et_pb_main_blurb_image, body.pam-site .pam-header__phone .et_pb_main_blurb_image { margin:0 !important; width:auto !important; }
body.pam-site .pam-band__phone .et-pb-icon-circle { padding:13px !important; }
body.pam-site .pam-band__phone .et_pb_blurb_container, body.pam-site .pam-header__phone .et_pb_blurb_container { padding:0 !important; }
body.pam-site .pam-band__phone .et_pb_module_header, body.pam-site .pam-header__phone .et_pb_module_header { padding:0; margin:0; }
body.pam-site .pam-band__phone .et_pb_module_header a, body.pam-site .pam-header__phone .et_pb_module_header a { color:inherit; text-decoration:none; }
body.pam-site .pam-band__phone:hover .et_pb_module_header, body.pam-site .pam-header__phone:hover .et_pb_module_header { color:var(--pam-deep) !important; }
body.pam-site .pam-band__phone { margin:.5rem 0 .5rem !important; }

/* 9. FAQ toggles */
body.pam-site .pam-faq.et_pb_toggle { border:0 !important; border-bottom:1px solid var(--pam-line) !important; margin:0 !important; background:transparent !important; padding:0 !important; }
body.pam-site .pam-faq.et_pb_toggle:first-child { border-top:1px solid var(--pam-line) !important; }
body.pam-site .pam-faq .et_pb_toggle_title { padding:1.35rem 3.5rem 1.35rem 0 !important; }
body.pam-site .pam-faq .et_pb_toggle_title::before { display:none !important; }
body.pam-site .pam-faq .et_pb_toggle_title::after {
  content:""; position:absolute; right:0; top:50%; margin-top:-1rem; width:2rem; height:2rem; border-radius:50%;
  background:var(--pam-frost) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6v12M6 12h12' stroke='%23C80F4E' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") center/60% no-repeat; transition:transform .2s ease;
}
body.pam-site .pam-faq.et_pb_toggle_open .et_pb_toggle_title::after { transform:rotate(45deg); }
body.pam-site .pam-faq .et_pb_toggle_title:hover { color:var(--pam-deep) !important; }
body.pam-site .pam-faq .et_pb_toggle_content { padding:0 0 1.25rem !important; max-width:68ch; }
body.pam-site .pam-faq .et_pb_toggle_content p { margin:0 0 1em; padding:0; }
body.pam-site .pam-faq .et_pb_toggle_content p:last-child { margin-bottom:0; }

/* 10. Gallery: 3 / 2 / 1 columns */
body.pam-site .pam-gallery .et_pb_gallery_items { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
body.pam-site .pam-gallery .et_pb_gallery_item { width:auto !important; margin:0 !important; clear:none !important; float:none !important; }
body.pam-site .pam-gallery .et_pb_gallery_image img { border-radius:12px; width:100%; aspect-ratio:1/1; object-fit:cover; }
@media (max-width:980px) { body.pam-site .pam-gallery .et_pb_gallery_items { grid-template-columns:repeat(2,1fr); } }
@media (max-width:479px) { body.pam-site .pam-gallery .et_pb_gallery_items { grid-template-columns:1fr; } }
body.pam-site .pam-after-gallery { margin-top:2.5rem; }

/* 11. Contact page */
body.pam-site .pam-info .et_pb_blurb_content { max-width:none; text-align:left; }
body.pam-site .pam-info .et_pb_blurb_content { display:grid; grid-template-columns:auto 1fr; column-gap:.5rem; align-items:center; }
body.pam-site .pam-info .et_pb_main_blurb_image { margin:0 !important; width:auto !important; }
body.pam-site .pam-info .et_pb_blurb_container { display:contents; }
body.pam-site .pam-info .et_pb_module_header { padding:0; margin:0 0 .25rem; }
body.pam-site .pam-info .et_pb_blurb_description { grid-column:1 / -1; }
body.pam-site .pam-contact__phone { font-family:var(--pam-head); font-weight:800; font-size:1.6rem; color:#000 !important; text-decoration:none; }
body.pam-site .pam-contact__intro { margin-bottom:1.5rem !important; }
body.pam-site .pam-map iframe { display:block; width:100%; height:clamp(320px,45vw,460px); border:0; border-radius:20px; background:var(--pam-frost); }

/* 12. Quote card + Forminator (free) form */
body.pam-site .pam-quote__head h2 { margin-bottom:.35rem; }
body.pam-site .pam-quote__head p { margin:0 0 .25rem; }
body.pam-site .pam-quote .forminator-ui.forminator-custom-form { margin:0 !important; padding:0 !important; background:none !important; }
body.pam-site .pam-quote .forminator-row { display:flex; flex-wrap:wrap; gap:.9rem 1rem; margin:0 0 .9rem !important; }
body.pam-site .pam-quote .forminator-row::before, body.pam-site .pam-quote .forminator-row::after { display:none; }
body.pam-site .pam-quote .forminator-col { flex:1 1 160px; min-width:0; width:auto !important; max-width:none !important; padding:0 !important; margin:0 !important; float:none !important; }
body.pam-site .pam-quote .forminator-field { display:flex; flex-direction:column; gap:.35rem; margin:0 !important; }
body.pam-site .pam-quote .forminator-label { font-family:var(--pam-head) !important; font-size:.9rem !important; font-weight:600 !important; color:#000 !important; line-height:1.3 !important; margin:0 !important; padding:0 !important; }
body.pam-site .pam-quote .forminator-required { color:var(--pam-deep) !important; }
body.pam-site .pam-quote .pam-form__req-note, body.pam-site .pam-quote .forminator-merge-tags p { font-size:.9rem; color:var(--pam-muted); margin:.25rem 0 0; padding:0; }
body.pam-site .pam-quote .forminator-input, body.pam-site .pam-quote .forminator-textarea,
body.pam-site .pam-quote select.forminator-select, body.pam-site .pam-quote .forminator-select2 + .select2-container .select2-selection--single {
  width:100% !important; min-height:48px !important; height:auto !important; padding:.7rem .85rem !important;
  border:1.5px solid #9AA7B1 !important; border-radius:10px !important; background:#fff !important;
  font-family:var(--pam-body) !important; font-size:1rem !important; color:var(--pam-ink) !important; box-shadow:none !important;
}
body.pam-site .pam-quote .select2-selection__rendered { padding:0 !important; line-height:1.5 !important; color:var(--pam-ink) !important; }
body.pam-site .pam-quote .select2-selection__arrow { height:100% !important; right:.6rem !important; }
body.pam-site .pam-quote .forminator-textarea { min-height:96px !important; resize:vertical; }
body.pam-site .pam-quote .forminator-input:focus, body.pam-site .pam-quote .forminator-textarea:focus, body.pam-site .pam-quote select.forminator-select:focus,
body.pam-site .pam-quote .select2-container--focus .select2-selection {
  outline:none !important; border-color:var(--pam-deep) !important; box-shadow:0 0 0 3px rgba(237,20,92,.25) !important;
}
body.pam-site .pam-quote .forminator-button-submit {
  width:100% !important; min-height:52px; margin:.35rem 0 0 !important; padding:.8rem 1.6rem !important; border-radius:999px !important;
  background:var(--pam-deep) !important; border:2px solid var(--pam-deep) !important; color:#fff !important;
  font-family:var(--pam-head) !important; font-weight:600 !important; font-size:1.05rem !important; line-height:1.2 !important;
  cursor:pointer; box-shadow:none !important; transition:background-color .15s ease,border-color .15s ease;
}
body.pam-site .pam-quote .forminator-button-submit:hover { background:var(--pam-ember) !important; border-color:var(--pam-ember) !important; }
body.pam-site .pam-quote .forminator-error-message { color:#8A0B33 !important; background:none !important; padding:0 !important; font-size:.9rem !important; }
body.pam-site .pam-quote .forminator-response-message { border-radius:12px !important; padding:1rem 1.15rem !important; }
body.pam-site .pam-quote .forminator-response-message.forminator-success { background:#EAF6EE !important; color:#1E4D2B !important; }
body.pam-site .pam-quote .forminator-response-message.forminator-error { background:#FDECEF !important; color:#8A0B33 !important; border:1px solid #F5B8C8 !important; }
body.pam-site .pam-quote .forminator-response-message p { color:inherit !important; margin:0; }

/* 13. Header (Theme Builder) */
body.pam-site .pam-topbar-row .et_pb_column { margin-bottom:0 !important; }
body.pam-site .pam-topbar__item { margin:0 !important; }
body.pam-site .pam-topbar__item .et_pb_blurb_content { display:flex; align-items:center; gap:.45rem; max-width:none; }
body.pam-site .pam-topbar__right .et_pb_blurb_content { justify-content:flex-end; }
body.pam-site .pam-topbar__item .et_pb_main_blurb_image { margin:0 !important; width:auto !important; }
body.pam-site .pam-topbar__item .et_pb_blurb_container { padding:0 !important; }
body.pam-site .pam-topbar__item .et_pb_module_header { padding:0; margin:0; }
body.pam-site .pam-header-row { display:flex; align-items:center; gap:1.5rem; }
body.pam-site .pam-header-row > .et_pb_column { margin:0 !important; }
body.pam-site .pam-header-row > .et_pb_column:first-child { flex:1 1 auto; width:auto !important; }
body.pam-site .pam-header-row > .et_pb_column:last-child { flex:0 0 auto; width:auto !important; display:flex; align-items:center; gap:1rem; }
body.pam-site .pam-header-row > .et_pb_column:last-child > * { margin:0 !important; }
body.pam-site .pam-header__phone .et-pb-icon-circle { padding:9px !important; }
body.pam-site .pam-header__phone .et_pb_module_header { white-space:nowrap; }
body.pam-site .pam-menu .et_pb_menu__wrap { justify-content:flex-end; }
body.pam-site .pam-menu .et-menu > li { padding-left:.2rem; padding-right:.2rem; }
body.pam-site .pam-menu .et-menu > li > a { padding:.6rem .8rem !important; border-radius:6px; position:relative; }
body.pam-site .pam-menu .et-menu > li > a:hover { color:var(--pam-deep) !important; opacity:1; }
body.pam-site .pam-menu .et-menu > li.current-menu-item > a::after {
  content:""; position:absolute; left:.8rem; right:.8rem; bottom:.2rem; height:3px; border-radius:3px; background:var(--pam-pink);
}
@media (max-width:1180px) { body.pam-site .pam-header__cta, body.pam-site .pam-header__cta + * { display:none !important; } body.pam-site .et_pb_button_module_wrapper:has(.pam-header__cta) { display:none !important; } }
@media (max-width:980px) {
  body.pam-site .pam-header-row { gap:.5rem; }
  body.pam-site .pam-header-row > .et_pb_column:first-child { order:0; }
  body.pam-site .pam-menu .et_mobile_nav_menu { margin-left:.5rem; }
  body.pam-site .pam-menu .et_mobile_menu { border-top:0; box-shadow:0 16px 24px -16px rgba(0,0,0,.25); }
  body.pam-site .pam-menu .et_mobile_menu li a { font-size:1.125rem; padding:.9rem 5%; border-bottom:1px solid var(--pam-frost); }
}
@media (max-width:420px) {
  body.pam-site .pam-header__phone .et_pb_module_header { font-size:15px !important; }
  body.pam-site .pam-header__phone .et-pb-icon-circle { padding:7px !important; }
}

/* 14. Footer (Theme Builder) */
body.pam-site .pam-footer a { color:#fff; text-decoration:none; }
body.pam-site .pam-footer a:hover { color:var(--pam-pink); text-decoration:underline; }
body.pam-site .pam-footer h2 { font-size:1rem !important; margin-bottom:1rem; }
@media (min-width:981px) {
  body.pam-site .pam-footer-row { display:grid; grid-template-columns:1.4fr 1.2fr .8fr .7fr; gap:2.5rem; }
  body.pam-site .pam-footer-row > .et_pb_column { width:auto !important; margin:0 !important; }
}
body.pam-site .pam-footer__logo { display:inline-block; margin-bottom:1.25rem !important; }
body.pam-site .pam-footer__item .et_pb_blurb_content { display:flex; gap:.6rem; align-items:flex-start; max-width:none; }
body.pam-site .pam-footer__item .et_pb_main_blurb_image { margin:.2rem 0 0 !important; width:auto !important; }
body.pam-site .pam-footer__item .et_pb_blurb_container { padding:0 !important; }
body.pam-site .pam-footer__menu { list-style:none !important; margin:0 !important; padding:0 !important; display:grid; gap:.6rem; }
body.pam-site .pam-footer__menu li { padding:0; }
body.pam-site .pam-footer-bottom p { margin:0; }

/* 15. Mobile call bar */
body.pam-site .pam-mobile-cta { display:none; }
@media (max-width:782px) {
  body.pam-site { padding-bottom:calc(72px + env(safe-area-inset-bottom)); }
  body.pam-site .pam-mobile-cta {
    display:grid; grid-template-columns:1fr 1.4fr; gap:.5rem; position:fixed; z-index:99999; left:0; right:0; bottom:0;
    padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom)); background:#fff; box-shadow:0 -8px 24px rgba(0,0,0,.12);
  }
  body.pam-site .pam-mobile-cta a {
    display:flex; align-items:center; justify-content:center; gap:.45rem; min-height:52px; border-radius:999px;
    font-family:var(--pam-head); font-weight:700; font-size:1rem; text-decoration:none !important; color:#fff !important;
  }
  body.pam-site .pam-mobile-cta svg { width:18px; height:18px; }
  body.pam-site .pam-mobile-cta__call { background:#000; }
  body.pam-site .pam-mobile-cta__quote { background:var(--pam-deep); }
}
