*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:var(--font-sans),-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{scroll-behavior:smooth}body{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));color:rgb(46 59 67/var(--tw-text-opacity,1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11"}body,h1,h2,h3,h4{--tw-text-opacity:1}h1,h2,h3,h4{color:rgb(18 48 71/var(--tw-text-opacity,1));text-wrap:balance}:focus-visible{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000);--tw-ring-opacity:1;--tw-ring-color:rgb(14 124 123/var(--tw-ring-opacity,1));--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff}.container-content{margin-left:auto;margin-right:auto;width:100%;max-width:1200px;padding-left:1.25rem;padding-right:1.25rem}@media (min-width:640px){.container-content{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:1024px){.container-content{padding-left:2rem;padding-right:2rem}}.eyebrow{font-size:.75rem;line-height:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;--tw-text-opacity:1;color:rgb(10 93 92/var(--tw-text-opacity,1))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.z-50{z-index:50}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-last{order:9999}.mx-auto{margin-left:auto;margin-right:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-full{height:100%}.max-h-\[240px\]{max-height:240px}.max-h-\[320px\]{max-height:320px}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-5{width:1.25rem}.w-8{width:2rem}.w-full{width:100%}.min-w-0{min-width:0}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-\[540px\]{max-width:540px}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.scroll-mt-24{scroll-margin-top:6rem}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-y-1{row-gap:.25rem}.gap-y-7{row-gap:1.75rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.875rem}.border{border-width:1px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-t{border-top-width:1px}.border-navy\/10{border-color:rgb(18 48 71/.1)}.border-navy\/15{border-color:rgb(18 48 71/.15)}.border-teal\/20{border-color:rgb(14 124 123/.2)}.border-teal\/30{border-color:rgb(14 124 123/.3)}.bg-gold\/15{background-color:rgb(196 154 86/.15)}.bg-navy{--tw-bg-opacity:1;background-color:rgb(18 48 71/var(--tw-bg-opacity,1))}.bg-navy\/5{background-color:rgb(18 48 71/.05)}.bg-sand{--tw-bg-opacity:1;background-color:rgb(244 239 231/var(--tw-bg-opacity,1))}.bg-slate\/10{background-color:rgb(46 59 67/.1)}.bg-teal{--tw-bg-opacity:1;background-color:rgb(14 124 123/var(--tw-bg-opacity,1))}.bg-teal\/10{background-color:rgb(14 124 123/.1)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/10{background-color:rgb(255 255 255/.1)}.bg-white\/90{background-color:rgb(255 255 255/.9)}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-navy{--tw-gradient-from:#123047 var(--tw-gradient-from-position);--tw-gradient-to:rgb(18 48 71/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-navy-900\/55{--tw-gradient-from:rgb(13 37 54/0.55) var(--tw-gradient-from-position);--tw-gradient-to:rgb(13 37 54/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-navy-900\/95{--tw-gradient-from:rgb(13 37 54/0.95) var(--tw-gradient-from-position);--tw-gradient-to:rgb(13 37 54/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-0\%{--tw-gradient-from-position:0%}.via-navy{--tw-gradient-to:rgb(18 48 71/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#123047 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-transparent{--tw-gradient-to:rgb(0 0 0/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),transparent var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-\[42\%\]{--tw-gradient-via-position:42%}.to-navy\/5{--tw-gradient-to:rgb(18 48 71/0.05) var(--tw-gradient-to-position)}.to-teal\/15{--tw-gradient-to:rgb(14 124 123/0.15) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.to-100\%{--tw-gradient-to-position:100%}.object-cover{-o-object-fit:cover;object-fit:cover}.object-\[70\%_center\]{-o-object-position:70% center;object-position:70% center}.object-\[center_15\%\]{-o-object-position:center 15%;object-position:center 15%}.object-\[center_20\%\]{-o-object-position:center 20%;object-position:center 20%}.object-\[center_25\%\]{-o-object-position:center 25%;object-position:center 25%}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.pt-0\.5{padding-top:.125rem}.pt-3{padding-top:.75rem}.pt-5{padding-top:1.25rem}.text-center{text-align:center}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-display{font-size:clamp(2.25rem,1.4rem + 3.6vw,3.75rem);line-height:1.05;letter-spacing:-.02em}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-danger{--tw-text-opacity:1;color:rgb(180 35 24/var(--tw-text-opacity,1))}.text-gold{--tw-text-opacity:1;color:rgb(196 154 86/var(--tw-text-opacity,1))}.text-gold\/25{color:rgb(196 154 86/.25)}.text-navy{--tw-text-opacity:1;color:rgb(18 48 71/var(--tw-text-opacity,1))}.text-sand\/90{color:rgb(244 239 231/.9)}.text-sand\/95{color:rgb(244 239 231/.95)}.text-slate{--tw-text-opacity:1;color:rgb(46 59 67/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(74 90 100/var(--tw-text-opacity,1))}.text-slate-600\/80{color:rgb(74 90 100/.8)}.text-slate-600\/90{color:rgb(74 90 100/.9)}.text-teal{--tw-text-opacity:1;color:rgb(14 124 123/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/70{color:rgb(255 255 255/.7)}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-card{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-card{--tw-shadow:0 1px 2px rgba(18,48,71,0.04),0 8px 24px -12px rgba(18,48,71,0.18);--tw-shadow-colored:0 1px 2px var(--tw-shadow-color),0 8px 24px -12px var(--tw-shadow-color)}.shadow-lift{--tw-shadow:0 2px 6px rgba(18,48,71,0.06),0 18px 40px -20px rgba(18,48,71,0.28);--tw-shadow-colored:0 2px 6px var(--tw-shadow-color),0 18px 40px -20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-inset{--tw-ring-inset:inset}.ring-gold\/40{--tw-ring-color:rgb(196 154 86/0.4)}.ring-navy\/10{--tw-ring-color:rgb(18 48 71/0.1)}.ring-navy\/15{--tw-ring-color:rgb(18 48 71/0.15)}.ring-teal\/10{--tw-ring-color:rgb(14 124 123/0.1)}.ring-white\/20{--tw-ring-color:rgb(255 255 255/0.2)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-sm{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-colors{transition-duration:.15s}:root{--font-sans:system-ui}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.placeholder\:text-slate-600\/80::-moz-placeholder{color:rgb(74 90 100/.8)}.placeholder\:text-slate-600\/80::placeholder{color:rgb(74 90 100/.8)}.hover\:bg-navy\/5:hover{background-color:rgb(18 48 71/.05)}.hover\:bg-sand:hover{--tw-bg-opacity:1;background-color:rgb(244 239 231/var(--tw-bg-opacity,1))}.hover\:bg-teal-700:hover{--tw-bg-opacity:1;background-color:rgb(10 93 92/var(--tw-bg-opacity,1))}.hover\:bg-white\/20:hover{background-color:rgb(255 255 255/.2)}.hover\:text-teal:hover{--tw-text-opacity:1;color:rgb(14 124 123/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}.focus\:absolute:focus{position:absolute}.focus\:left-4:focus{left:1rem}.focus\:top-4:focus{top:1rem}.focus\:z-\[100\]:focus{z-index:100}.focus\:rounded-lg:focus{border-radius:.5rem}.focus\:border-teal:focus{--tw-border-opacity:1;border-color:rgb(14 124 123/var(--tw-border-opacity,1))}.focus\:bg-navy:focus{--tw-bg-opacity:1;background-color:rgb(18 48 71/var(--tw-bg-opacity,1))}.focus\:px-4:focus{padding-left:1rem;padding-right:1rem}.focus\:py-2:focus{padding-top:.5rem;padding-bottom:.5rem}.focus\:text-white:focus{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-teal:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(14 124 123/var(--tw-ring-opacity,1))}.focus-visible\:ring-white:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-navy:focus-visible{--tw-ring-offset-color:#123047}.focus-visible\:ring-offset-teal:focus-visible{--tw-ring-offset-color:#0E7C7B}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:hover\:bg-teal:hover:disabled{--tw-bg-opacity:1;background-color:rgb(14 124 123/var(--tw-bg-opacity,1))}@media (min-width:640px){.sm\:max-h-\[280px\]{max-height:280px}.sm\:max-h-\[360px\]{max-height:360px}.sm\:max-h-none{max-height:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:gap-5{gap:1.25rem}.sm\:gap-6{gap:1.5rem}.sm\:object-\[75\%_center\]{-o-object-position:75% center;object-position:75% center}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:p-7{padding:1.75rem}.sm\:p-8{padding:2rem}.sm\:py-12{padding-top:3rem;padding-bottom:3rem}.sm\:py-20{padding-top:5rem;padding-bottom:5rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-\[2rem\]{font-size:2rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:leading-tight{line-height:1.25}}@media (min-width:1024px){.lg\:order-none{order:0}.lg\:col-start-1{grid-column-start:1}.lg\:col-start-2{grid-column-start:2}.lg\:row-span-5{grid-row:span 5/span 5}.lg\:row-start-1{grid-row-start:1}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:h-\[72px\]{height:72px}.lg\:max-h-none{max-height:none}.lg\:min-h-\[100\%\]{min-height:100%}.lg\:min-h-\[340px\]{min-height:340px}.lg\:min-h-full{min-height:100%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1\.05fr_0\.95fr\]{grid-template-columns:1.05fr .95fr}.lg\:grid-cols-\[1fr_1fr_1\.05fr\]{grid-template-columns:1fr 1fr 1.05fr}.lg\:grid-cols-\[minmax\(0\2c 1\.15fr\)_minmax\(0\2c 0\.85fr\)\]{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.lg\:grid-cols-\[minmax\(0\2c 1\.1fr\)_minmax\(0\2c 1\.9fr\)\]{grid-template-columns:minmax(0,1.1fr) minmax(0,1.9fr)}.lg\:grid-cols-\[minmax\(0\2c 1\.35fr\)_minmax\(0\2c 1fr\)\]{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.lg\:items-start{align-items:flex-start}.lg\:items-center{align-items:center}.lg\:items-stretch{align-items:stretch}.lg\:gap-10{gap:2.5rem}.lg\:gap-5{gap:1.25rem}.lg\:gap-6{gap:1.5rem}.lg\:gap-8{gap:2rem}.lg\:gap-x-12{-moz-column-gap:3rem;column-gap:3rem}.lg\:gap-y-4{row-gap:1rem}.lg\:self-center{align-self:center}.lg\:self-stretch{align-self:stretch}.lg\:justify-self-end{justify-self:end}.lg\:from-navy-900\/20{--tw-gradient-from:rgb(13 37 54/0.2) var(--tw-gradient-from-position);--tw-gradient-to:rgb(13 37 54/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.lg\:object-right{-o-object-position:right;object-position:right}.lg\:p-6{padding:1.5rem}.lg\:py-12{padding-top:3rem;padding-bottom:3rem}.lg\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}.lg\:py-16{padding-top:4rem;padding-bottom:4rem}.lg\:py-24{padding-top:6rem;padding-bottom:6rem}.lg\:py-8{padding-top:2rem;padding-bottom:2rem}}

/* Static Hostinger layer: small additions after removing Next.js runtime */
html { scroll-behavior: smooth; }
body { min-height: 100%; }
.mobile-menu-panel {
  border-top: 1px solid rgba(18, 48, 71, 0.10);
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(10px);
}

/* Phone CTAs become available automatically after a verified number is configured. */
.site-phone-pending a[href^="tel:"] {
  display: none !important;
}

.site-phone-pending p:has(a[href^="tel:"]) {
  display: none !important;
}

.site-phone-pending .gfr-mobile-sticky-request {
  flex-basis: 100%;
}

.gfr-header-mobile-phone {
  display: none;
}

.gfr-header-mobile-promo-badge,
.gfr-header-desktop-promo-badge,
.gfr-header-desktop-promo-phone {
  display: none;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  line-height: 1;
}

.gfr-header-mobile-promo-badge img,
.gfr-header-desktop-promo-badge img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.mobile-menu-panel nav {
  display: grid;
  gap: 2px;
  padding: 12px 20px 16px;
}
.mobile-menu-panel a {
  display: block;
  border-radius: 12px;
  padding: 12px 10px;
  color: #123047;
  font-weight: 600;
  text-decoration: none;
}
.mobile-menu-panel a:hover,
.mobile-menu-panel a:focus {
  background: rgba(14, 124, 123, 0.08);
  color: #0E7C7B;
}
.header-services-menu {
  position: relative;
}
.header-services-menu summary {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  list-style: none;
  cursor: pointer;
  border-radius: 0.375rem;
  color: #2e3b43;
  font-size: 0.875rem;
  font-weight: 500;
  transition: color 0.15s ease;
}
.header-services-menu summary:hover,
.header-services-menu summary:focus-visible {
  color: #0E7C7B;
}
.header-services-menu summary::-webkit-details-marker {
  display: none;
}
.header-services-summary::after {
  content: "";
  width: 0.45rem;
  height: 0.45rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  transition: transform 0.15s ease;
}
.header-services-menu[open] .header-services-summary::after {
  transform: rotate(-135deg) translateY(-1px);
}
.header-services-panel {
  position: absolute;
  top: calc(100% + 0.75rem);
  left: 0;
  z-index: 60;
  display: grid;
  min-width: 16rem;
  gap: 0.2rem;
  border: 1px solid rgba(18, 48, 71, 0.1);
  border-radius: 1rem;
  background: #fff;
  padding: 0.5rem;
  box-shadow: 0 14px 32px -18px rgba(18, 48, 71, 0.3);
}
.header-services-panel a {
  display: block;
  border-radius: 0.75rem;
  padding: 0.7rem 0.85rem;
  color: #123047;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
}
.header-services-panel a:hover,
.header-services-panel a:focus-visible {
  background: rgba(14, 124, 123, 0.08);
  color: #0E7C7B;
}
@media (min-width: 1024px) {
  .header-services-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 35rem;
  }
}
.mobile-menu-submenu {
  border-radius: 12px;
}
.mobile-menu-submenu summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 12px;
  padding: 12px 10px;
  color: #123047;
  font-weight: 600;
  list-style: none;
  cursor: pointer;
}
.mobile-menu-submenu summary::-webkit-details-marker {
  display: none;
}
.mobile-menu-submenu summary::after {
  content: "";
  width: 0.45rem;
  height: 0.45rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.15s ease;
}
.mobile-menu-submenu[open] summary::after {
  transform: rotate(-135deg);
}
.mobile-menu-submenu-links {
  display: grid;
  gap: 2px;
  padding: 0 0 4px 12px;
}
.mobile-menu-submenu-links a {
  padding-top: 10px;
  padding-bottom: 10px;
}
.mobile-menu-submenu summary:hover,
.mobile-menu-submenu summary:focus-visible {
  background: rgba(14, 124, 123, 0.08);
  color: #0E7C7B;
}
.menu-toggle-icon {
  position: relative;
  display: inline-flex;
  width: 1.25rem;
  height: 1rem;
}
.menu-toggle-icon span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transform-origin: center;
  transition: transform 0.2s ease, opacity 0.2s ease, top 0.2s ease;
}
.menu-toggle-icon span:nth-child(1) {
  top: 0;
}
.menu-toggle-icon span:nth-child(2) {
  top: calc(50% - 1px);
}
.menu-toggle-icon span:nth-child(3) {
  top: calc(100% - 2px);
}
.js-menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(1) {
  top: calc(50% - 1px);
  transform: rotate(45deg);
}
.js-menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(2) {
  opacity: 0;
}
.js-menu-toggle[aria-expanded="true"] .menu-toggle-icon span:nth-child(3) {
  top: calc(50% - 1px);
  transform: rotate(-45deg);
}
.form-status {
  margin-top: 14px;
  border-radius: 14px;
  padding: 12px 14px;
  font-size: 14px;
  line-height: 1.45;
}
.form-status--success {
  background: rgba(14, 124, 123, 0.10);
  color: #123047;
  border: 1px solid rgba(14, 124, 123, 0.22);
}
.form-status--error {
  background: rgba(185, 28, 28, 0.08);
  color: #7f1d1d;
  border: 1px solid rgba(185, 28, 28, 0.18);
}
input[aria-invalid="true"] {
  border-color: #b91c1c !important;
  box-shadow: 0 0 0 3px rgba(185, 28, 28, 0.10);
}
@media (min-width: 1024px) {
  .mobile-menu-panel { display: none !important; }
}

.service-card-head {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.trust-bar-icon {
  width: 3rem;
  height: 3rem;
}

.trust-bar-item {
  align-items: flex-start;
}

.trust-bar-item + .trust-bar-item {
  margin-top: 0.35rem;
}

@media (min-width: 640px) {
  .trust-bar-item + .trust-bar-item {
    margin-top: 0;
  }

  .trust-bar-icon {
    width: 2.75rem;
    height: 2.75rem;
  }
}

.service-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 6rem;
  height: 6rem;
  margin-left: 0;
  margin-right: 0;
  flex-shrink: 0;
}

.service-card-icon img {
  display: block;
  width: 6rem;
  height: 6rem;
  object-fit: contain;
}

.service-card-title {
  font-size: 1.375rem;
  line-height: 1.25;
  margin: 0;
}

.service-card-description {
  flex: 0 0 auto;
}

.photo-examples-grid {
  display: grid;
  gap: 1rem;
}

.photo-example-card {
  overflow: hidden;
  border: 1px solid rgba(18, 48, 71, 0.10);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(18, 48, 71, 0.04), 0 8px 24px -12px rgba(18, 48, 71, 0.18);
}

.photo-example-media {
  aspect-ratio: 4 / 3;
  background: #f4efe7;
}

.photo-example-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.photo-example-caption {
  padding: 0.875rem 1rem 1rem;
  font-size: 0.9375rem;
  line-height: 1.4;
  font-weight: 600;
  color: #123047;
}

.page-home .gfr-real-work-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.page-home .gfr-real-work-proof-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.52rem 0.9rem;
  border-radius: 999px;
  border: 1px solid rgba(14, 124, 123, 0.16);
  background: rgba(14, 124, 123, 0.08);
  color: #0a5d5c;
  font-size: 0.84rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  cursor: default;
}

.page-home .gfr-real-work-proof-badge .gfr-icon {
  width: 0.95rem;
  height: 0.95rem;
  flex-shrink: 0;
}

.page-home .gfr-real-work-gallery-shell {
  margin-top: 1.75rem;
}

.page-home .gfr-real-work-gallery-track {
  display: flex;
  gap: 0.875rem;
  overflow-x: auto;
  padding-bottom: 0.3rem;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.page-home .gfr-real-work-gallery-track::-webkit-scrollbar {
  display: none;
}

.page-home .gfr-real-work-card {
  min-width: clamp(17rem, 88vw, 24rem);
  flex: 0 0 auto;
  scroll-snap-align: start;
  border-radius: 1.25rem;
  border: 1px solid rgba(18, 48, 71, 0.1);
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(18, 48, 71, 0.05), 0 18px 34px -26px rgba(18, 48, 71, 0.28);
  overflow: hidden;
  cursor: default;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.page-home .gfr-real-work-card:hover,
.page-home .gfr-real-work-card:focus-within {
  transform: translateY(-2px);
  border-color: rgba(14, 124, 123, 0.28);
  box-shadow: 0 18px 34px -24px rgba(18, 48, 71, 0.22);
}

.page-home .gfr-real-work-card-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.page-home .gfr-real-work-card-link:focus-visible {
  outline: 3px solid rgba(14, 124, 123, 0.34);
  outline-offset: -3px;
  border-radius: 1.25rem;
}

.page-home .gfr-real-work-media {
  position: relative;
  width: 100%;
  min-height: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #dfe8ec;
}

.page-home .gfr-real-work-media::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 48%;
  background: linear-gradient(180deg, rgba(10, 23, 33, 0) 0%, rgba(10, 23, 33, 0.08) 24%, rgba(10, 23, 33, 0.72) 100%);
  pointer-events: none;
}

.page-home .gfr-real-work-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--gfr-real-work-object-position-mobile, center center);
  display: block;
}

.page-home .gfr-real-work-caption {
  position: absolute;
  inset: auto 0 0 0;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  gap: 0.75rem;
  padding: 1rem 1rem 0.95rem;
  color: #ffffff;
}

.page-home .gfr-real-work-caption-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #ffffff;
  flex-shrink: 0;
}

.page-home .gfr-real-work-caption-icon .gfr-icon {
  width: 1rem;
  height: 1rem;
}

.page-home .gfr-real-work-caption h3 {
  margin: 0;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
}

.page-home .gfr-real-work-caption p {
  margin: 0.2rem 0 0;
  color: rgba(245, 247, 249, 0.88);
  font-size: 0.82rem;
  line-height: 1.45;
}

.page-home .gfr-real-work-card-link:hover .gfr-real-work-caption h3,
.page-home .gfr-real-work-card-link:focus-visible .gfr-real-work-caption h3 {
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.72);
  text-underline-offset: 0.16em;
}

.page-home .gfr-real-work-mobile-controls {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  margin-top: 1rem;
}

.page-home .gfr-real-work-mobile-status {
  flex: 1 1 auto;
  min-width: 0;
}

.page-home .gfr-real-work-mobile-counter {
  margin: 0;
  color: #4a5a64;
  font-size: 0.88rem;
  text-align: center;
}

.page-home .gfr-real-work-mobile-counter strong {
  color: #123047;
  font-weight: 600;
}

.page-home .gfr-real-work-nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 999px;
  border: 1px solid rgba(18, 48, 71, 0.14);
  background: #ffffff;
  color: #123047;
  box-shadow: 0 10px 22px -18px rgba(18, 48, 71, 0.35);
  transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

.page-home .gfr-real-work-nav-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(14, 124, 123, 0.28);
  background: #f8fbfb;
}

.page-home .gfr-real-work-nav-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  transform: none;
}

.page-home .gfr-real-work-nav-btn .gfr-icon {
  width: 1rem;
  height: 1rem;
}

.page-home .gfr-real-work-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  margin-top: 0.65rem;
}

.page-home .gfr-real-work-dot {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  border: 0;
  background: rgba(18, 48, 71, 0.18);
  padding: 0;
  transition: transform 180ms ease, background-color 180ms ease;
}

.page-home .gfr-real-work-dot.is-active {
  background: #0e7c7b;
  transform: scale(1.18);
}

.page-home .gfr-real-work-provenance {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  max-width: 60rem;
  margin-top: 1rem;
  color: #5b6a74;
  font-size: 0.84rem;
  line-height: 1.6;
}

.page-home .gfr-real-work-provenance-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #0e7c7b;
  flex-shrink: 0;
  margin-top: 0.1rem;
}

.page-home .gfr-real-work-provenance-icon .gfr-icon {
  width: 1rem;
  height: 1rem;
}

@media (min-width: 640px) {
  .photo-examples-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
  }
}

@media (min-width: 768px) {
  .page-home .gfr-real-work-media img {
    object-position: var(--gfr-real-work-object-position, center center);
  }

  .page-home .gfr-real-work-gallery-track {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    overflow: visible;
    padding-bottom: 0;
    scroll-snap-type: none;
  }

  .page-home .gfr-real-work-card {
    min-width: 0;
  }

  .page-home .gfr-real-work-mobile-controls {
    display: none;
  }
}

@media (min-width: 1024px) {
  .photo-examples-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .page-home .gfr-real-work-gallery-track {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: clamp(12rem, 17vw, 16rem) clamp(12rem, 17vw, 16rem) clamp(11rem, 15vw, 14rem);
    gap: 1rem;
  }

  .page-home .gfr-real-work-card,
  .page-home .gfr-real-work-media {
    height: 100%;
  }

  .page-home .gfr-real-work-card-link {
    height: 100%;
  }

  .page-home .gfr-real-work-card--featured {
    grid-column: 1 / 8;
    grid-row: 1 / 3;
  }

  .page-home .gfr-real-work-gallery-track > .gfr-real-work-card:not(.gfr-real-work-card--featured):nth-child(2) {
    grid-column: 8 / 13;
    grid-row: 1 / 2;
  }

  .page-home .gfr-real-work-gallery-track > .gfr-real-work-card:not(.gfr-real-work-card--featured):nth-child(3) {
    grid-column: 8 / 13;
    grid-row: 2 / 3;
  }

  .page-home .gfr-real-work-gallery-track > .gfr-real-work-card:not(.gfr-real-work-card--featured):nth-child(4) {
    grid-column: 1 / 4;
    grid-row: 3 / 4;
  }

  .page-home .gfr-real-work-gallery-track > .gfr-real-work-card:not(.gfr-real-work-card--featured):nth-child(5) {
    grid-column: 4 / 7;
    grid-row: 3 / 4;
  }

  .page-home .gfr-real-work-gallery-track > .gfr-real-work-card:not(.gfr-real-work-card--featured):nth-child(6) {
    grid-column: 7 / 10;
    grid-row: 3 / 4;
  }

  .page-home .gfr-real-work-gallery-track > .gfr-real-work-card:not(.gfr-real-work-card--featured):nth-child(7) {
    grid-column: 10 / 13;
    grid-row: 3 / 4;
  }

  .page-home .gfr-real-work-gallery-track > .gfr-real-work-card:not(.gfr-real-work-card--featured):nth-child(8) {
    grid-column: 1 / 5;
    grid-row: auto;
  }

  .page-home .gfr-real-work-gallery-track > .gfr-real-work-card:not(.gfr-real-work-card--featured):nth-child(9) {
    grid-column: 5 / 9;
    grid-row: auto;
  }

  .page-home .gfr-real-work-gallery-track > .gfr-real-work-card:not(.gfr-real-work-card--featured):nth-child(10) {
    grid-column: 9 / 13;
    grid-row: auto;
  }

  .page-home .gfr-real-work-caption {
    padding: 1.1rem 1.1rem 1rem;
  }
}

.faq-list {
  width: 100%;
  max-width: 62rem;
}

.faq-item {
  width: 100%;
  overflow: hidden;
  align-self: start;
  border: 1px solid rgba(18, 48, 71, 0.10);
  border-radius: 1rem;
  background: linear-gradient(180deg, #ffffff 0%, #fcfdfd 100%);
  box-shadow: 0 8px 20px -24px rgba(18, 48, 71, 0.24);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.faq-item + .faq-item {
  margin-top: 0.75rem;
}

.faq-item:hover {
  border-color: rgba(18, 48, 71, 0.18);
  box-shadow: 0 12px 28px -24px rgba(18, 48, 71, 0.28);
}

.faq-item[open] {
  background: linear-gradient(180deg, #ffffff 0%, #f8fdfc 100%);
  border-color: rgba(14, 124, 123, 0.42);
  box-shadow: 0 18px 36px -28px rgba(14, 124, 123, 0.42), 0 14px 28px -24px rgba(18, 48, 71, 0.24);
}

.faq-summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  cursor: pointer;
  padding: 1rem 1rem 0.95rem;
}

.faq-summary::-webkit-details-marker {
  display: none;
}

.faq-summary:focus-visible {
  outline: 2px solid #0E7C7B;
  outline-offset: 2px;
}

.faq-question {
  flex: 1 1 auto;
  min-width: 0;
  display: block;
  font-size: 0.98rem;
  line-height: 1.4;
  font-weight: 600;
  color: #123047;
}

.faq-toggle-icon {
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
  padding: 0.28rem;
  border-radius: 999px;
  background: rgba(14, 124, 123, 0.10);
  color: #0E7C7B;
  transition: transform 200ms ease, background-color 180ms ease, color 180ms ease;
}

.faq-item[open] .faq-toggle-icon {
  transform: rotate(180deg);
  background: rgba(14, 124, 123, 0.16);
  color: #0a5d5c;
}

.faq-answer {
  padding: 0.95rem 1rem 1rem;
  border-top: 1px solid rgba(14, 124, 123, 0.12);
  font-size: 0.92rem;
  line-height: 1.6;
  color: #4a5a64;
}

@media (min-width: 640px) {
  .faq-summary {
    padding: 1rem 1rem 0.95rem;
  }

  .faq-answer {
    padding: 0.95rem 1rem 1rem;
  }
}

.testimonials-grid {
  display: grid;
  gap: 1rem;
}

.testimonial-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  height: 100%;
  border: 1px solid rgba(18, 48, 71, 0.10);
  border-radius: 1.25rem;
  background: #ffffff;
  padding: 1.25rem;
  box-shadow: 0 1px 2px rgba(18, 48, 71, 0.03), 0 8px 24px -18px rgba(18, 48, 71, 0.16);
}

.testimonial-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.testimonial-avatar-image,
.testimonial-avatar-placeholder {
  width: 72px;
  height: 72px;
  border-radius: 9999px;
  flex-shrink: 0;
}

.testimonial-avatar-image {
  object-fit: cover;
  border: 1px solid rgba(18, 48, 71, 0.08);
}

.testimonial-avatar-placeholder {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #123047;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.testimonial-rating {
  flex-shrink: 0;
}

.testimonial-stars {
  display: inline-flex;
  align-items: center;
  gap: 0.125rem;
  color: #C49A56;
}

.testimonial-quote-mark {
  color: rgba(14, 124, 123, 0.18);
  font-size: 2.5rem;
  line-height: 1;
  font-weight: 700;
}

.testimonial-quote {
  font-size: 0.975rem;
  line-height: 1.7;
  color: #4a5a64;
}

.testimonial-name {
  margin-top: auto;
  font-size: 1rem;
  line-height: 1.35;
  font-weight: 700;
  color: #123047;
}

.testimonial-location {
  font-size: 0.9rem;
  line-height: 1.5;
  color: #4a5a64;
}

.page-home .gfr-section-head {
  max-width: 44rem;
}

.page-home #testimonials .gfr-section-head {
  padding-top: 0.25rem;
  padding-bottom: 1rem;
}

.page-home #testimonials .gfr-aggregate-rating {
  text-align: center;
}

.page-home .gfr-trust-stars {
  display: inline-flex;
  justify-content: center;
  gap: 0.18rem;
  margin-right: 0.45rem;
  vertical-align: middle;
  color: #c49a56;
}

.page-home .gfr-trust-stars .gfr-icon {
  width: 0.95rem;
  height: 0.95rem;
}

.page-home .gfr-section-head .eyebrow + h2 {
  margin-top: 0.5rem;
}

.page-home .gfr-section-head p {
  margin-top: 0.75rem;
}

.page-home .gfr-reviews-viewport {
  touch-action: pan-y;
  overflow-x: hidden;
}

.page-home .gfr-reviews-track {
  will-change: transform;
}

.page-home .gfr-review-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  background: #ffffff;
  border: 1px solid rgba(18, 48, 71, 0.10);
  border-radius: 1.25rem;
  padding: 1.5rem;
  position: relative;
  box-shadow: 0 1px 2px rgba(18, 48, 71, 0.04), 0 12px 28px -22px rgba(18, 48, 71, 0.25);
  overflow: hidden;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

@media (min-width: 1024px) {
  .page-home .gfr-review-card {
    width: calc((100% - 2rem) / 3);
  }
}

.page-home .gfr-review-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(to right, rgba(14, 124, 123, 0.55), rgba(196, 154, 86, 0.55));
}

.page-home .gfr-review-card .gfr-review-quote-mark {
  position: absolute;
  top: 1rem;
  right: 1rem;
  color: rgba(14, 124, 123, 0.15);
  width: 2.25rem;
  height: 2.25rem;
}

.page-home .gfr-review-top {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.page-home .gfr-review-avatar {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 999px;
  background: rgba(14, 124, 123, 0.12);
  color: #0a5d5c;
  font-size: 0.85rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.page-home .gfr-review-avatar-image {
  display: block;
  object-fit: cover;
  background: #fff;
  border: 1px solid rgba(18, 48, 71, 0.08);
}

.page-home .gfr-review-stars {
  color: #c49a56;
  font-size: 0.9rem;
  letter-spacing: 1px;
  line-height: 1;
}

.page-home .gfr-review-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.25rem;
}

.page-home .gfr-review-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  background: rgba(18, 48, 71, 0.06);
  color: #0a5d5c;
  margin-top: 0.25rem;
  align-self: flex-start;
}

.page-home .gfr-review-badge--source {
  background: rgba(196, 154, 86, 0.12);
  color: #6d5a35;
}

.page-home .gfr-review-source-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.page-home .gfr-review-source-label {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.65rem;
  border-radius: 999px;
  background: rgba(18, 48, 71, 0.06);
  color: #123047;
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  cursor: default;
}

.page-home .gfr-review-text {
  font-size: 0.95rem;
  color: #2e3b43;
  line-height: 1.55;
  margin: 0.75rem 0 1rem;
  flex-grow: 1;
}

.page-home .gfr-review-meta {
  font-size: 0.85rem;
  color: #4a5a64;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: auto;
}

.page-home .gfr-review-meta strong {
  color: #123047;
  font-weight: 600;
}

.page-home .gfr-review-meta .gfr-icon {
  width: 0.9rem;
  height: 0.9rem;
  color: #0E7C7B;
}

.page-home .gfr-review-source-link-wrap {
  margin-top: 0.7rem;
}

.page-home .gfr-review-source-link {
  color: #0E7C7B;
  font-size: 0.82rem;
  font-weight: 600;
  text-decoration: none;
}

.page-home .gfr-review-source-link:hover {
  text-decoration: underline;
}

.page-home .gfr-reviews-action {
  margin-top: 1.25rem;
  padding: 1rem 1rem 0;
  display: grid;
  justify-items: center;
  gap: 1rem;
  border-top: 1px solid rgba(18, 48, 71, 0.08);
}

.page-home .gfr-reviews-controls-bottom {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas:
    "prev dots next"
    "prev counter next";
  align-items: center;
  width: 100%;
  column-gap: 0.9rem;
  row-gap: 0.35rem;
}

@media (min-width: 640px) {
  .page-home .gfr-reviews-controls-bottom {
    width: auto;
    max-width: 22rem;
    column-gap: 1rem;
  }
}

.page-home .gfr-reviews-prev {
  grid-area: prev;
  justify-self: start;
}

.page-home .gfr-reviews-next {
  grid-area: next;
  justify-self: end;
}

.page-home .gfr-review-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 999px;
  border: 1px solid rgba(18, 48, 71, 0.14);
  background: #ffffff;
  color: #123047;
  box-shadow: 0 10px 22px -18px rgba(18, 48, 71, 0.35);
  cursor: pointer;
  transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease, color 180ms ease;
}

.page-home .gfr-review-btn:hover {
  transform: translateY(-1px);
  background: #f8fbfb;
  border-color: rgba(14, 124, 123, 0.28);
  color: #123047;
}

.page-home .gfr-review-btn:disabled,
.page-home .gfr-reviews-prev:disabled,
.page-home .gfr-reviews-next:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  transform: none;
}

.page-home .gfr-review-btn .gfr-icon {
  width: 1rem;
  height: 1rem;
}

.page-home .gfr-reviews-dots {
  grid-area: dots;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-width: 0;
}

.page-home .gfr-reviews-dot {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  background: rgba(18, 48, 71, 0.20);
  border: 0;
  padding: 0;
  cursor: pointer;
  transition: transform 180ms ease, background-color 180ms ease;
}

.page-home .gfr-reviews-dot.is-active {
  background: #0E7C7B;
  transform: scale(1.18);
}

.page-home .gfr-reviews-indicator {
  grid-area: counter;
  margin: 0;
  color: #4a5a64;
  font-size: 0.88rem;
  text-align: center;
}

.page-home .gfr-reviews-indicator strong {
  color: #123047;
  font-weight: 600;
}

.page-home .gfr-reviews-cta {
  display: flex;
  justify-content: center;
}

.page-home .gfr-reviews-cta .js-scroll-form {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 3.5rem;
  padding: 0.95rem 1.4rem;
  border: 0;
  border-radius: 0.95rem;
  background: #0E7C7B;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 12px 28px -18px rgba(18, 48, 71, 0.38);
  transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, color 180ms ease;
}

.page-home .gfr-reviews-cta .js-scroll-form:hover {
  transform: translateY(-1px);
  background: #0a5d5c;
  box-shadow: 0 16px 30px -18px rgba(18, 48, 71, 0.34);
}

.page-home .gfr-reviews-cta .js-scroll-form .gfr-icon {
  width: 1rem;
  height: 1rem;
  transition: transform 180ms ease;
}

.page-home .gfr-reviews-cta .js-scroll-form:hover .gfr-icon {
  transform: translateX(0.22rem);
}

.page-home .gfr-reviews-disclosure {
  margin-top: 1rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: #5b6972;
}

.page-home .gfr-reviews-section-sep {
  margin-top: 2rem;
  height: 1px;
  background: linear-gradient(90deg, rgba(18, 48, 71, 0) 0%, rgba(18, 48, 71, 0.10) 18%, rgba(18, 48, 71, 0.10) 82%, rgba(18, 48, 71, 0) 100%);
}

@media (hover: hover) and (pointer: fine) {
  .page-home .gfr-review-card:hover {
    transform: translateY(-2px);
    border-color: rgba(14, 124, 123, 0.32);
    box-shadow: 0 16px 34px -24px rgba(18, 48, 71, 0.30);
  }
}

@media (hover: none) {
  .page-home .gfr-review-card:hover {
    transform: none;
  }
}

@media (min-width: 640px) {
  .testimonials-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
  }

  .testimonial-card {
    padding: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .testimonials-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.floating-call-button {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 60;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 9999px;
  background: #0E7C7B;
  color: #ffffff;
  box-shadow: 0 14px 32px rgba(18, 48, 71, 0.22);
  transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
  animation: floating-call-pulse 3.8s ease-in-out infinite;
}

.floating-call-button:hover,
.floating-call-button:focus-visible {
  background: #0a5d5c;
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 18px 36px rgba(18, 48, 71, 0.28);
}

.floating-call-button svg {
  width: 26px;
  height: 26px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

@keyframes floating-call-pulse {
  0%, 82%, 100% {
    transform: scale(1);
    box-shadow: 0 14px 32px rgba(18, 48, 71, 0.22), 0 0 0 0 rgba(14, 124, 123, 0);
  }

  88% {
    transform: scale(1.04);
    box-shadow: 0 16px 34px rgba(18, 48, 71, 0.24), 0 0 0 8px rgba(14, 124, 123, 0.12);
  }

  94% {
    transform: scale(1);
    box-shadow: 0 14px 32px rgba(18, 48, 71, 0.22), 0 0 0 14px rgba(14, 124, 123, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .floating-call-button {
    animation: none;
    transition: background-color 180ms ease, box-shadow 180ms ease;
  }

  .floating-call-button:hover,
  .floating-call-button:focus-visible {
    transform: none;
  }
}

@media (min-width: 1024px) {
  .floating-call-button {
    right: 24px;
    bottom: 24px;
  }
}

/* Gas Fireplace Repair & Service — scoped page styles */
.page-gas-fireplace-repair .gfr-honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.page-gas-fireplace-repair .gfr-hero {
  min-height: 520px;
}

.page-gas-fireplace-repair header[data-gfr-header] {
  transition: background-color 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}
.page-gas-fireplace-repair header[data-gfr-header] img,
.page-gas-fireplace-repair header[data-gfr-header] a,
.page-gas-fireplace-repair header[data-gfr-header] button {
  transition: transform 200ms ease, box-shadow 180ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}
.page-gas-fireplace-repair header[data-gfr-header].gfr-header-scrolled {
  background: rgba(255, 255, 255, 0.96);
  border-color: rgba(18, 48, 71, 0.14);
  box-shadow: 0 14px 32px -26px rgba(18, 48, 71, 0.42);
}
@media (min-width: 1024px) {
  .page-gas-fireplace-repair header[data-gfr-header].gfr-header-scrolled img {
    transform: scale(0.92);
  }
}

.page-gas-fireplace-repair .gfr-hero-media {
  background: linear-gradient(135deg, #0d2536 0%, #123047 55%, #0e7c7b 100%);
}

.page-gas-fireplace-repair .gfr-breadcrumb ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

.page-gas-fireplace-repair .gfr-problem-card {
  font-size: 0.95rem;
  line-height: 1.45;
  color: #2e3b43;
}

.page-gas-fireplace-repair .gfr-reviews-viewport {
  touch-action: pan-y;
}

.page-gas-fireplace-repair .gfr-reviews-track {
  will-change: transform;
}

.page-gas-fireplace-repair .gfr-review-card {
  width: 100%;
}

@media (min-width: 1024px) {
  .page-gas-fireplace-repair .gfr-review-card {
    width: calc((100% - 2rem) / 3);
  }
}

.page-gas-fireplace-repair .gfr-reviews-prev:disabled,
.page-gas-fireplace-repair .gfr-reviews-next:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.page-gas-fireplace-repair .gfr-form-success.hidden,
.page-gas-fireplace-repair .gfr-lead-form.hidden {
  display: none !important;
}
.page-gas-fireplace-repair .gfr-form-success {
  opacity: 0;
  transform: translateY(0.5rem);
  transition: opacity 240ms ease, transform 240ms ease;
}
.page-gas-fireplace-repair .gfr-form-success.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.gfr-form-success {
  position: relative;
  overflow: hidden;
  margin-top: 1.75rem;
  border: 1px solid rgba(14, 124, 123, 0.14);
  border-radius: 1.25rem;
  background:
    radial-gradient(circle at top right, rgba(196, 154, 86, 0.14), transparent 34%),
    linear-gradient(180deg, rgba(14, 124, 123, 0.06) 0%, rgba(14, 124, 123, 0.02) 100%);
  box-shadow: 0 14px 34px -28px rgba(18, 48, 71, 0.28);
  padding: 1.125rem 1rem;
}
.gfr-form-success::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(196, 154, 86, 0.95) 0%, rgba(14, 124, 123, 0.4) 100%);
}
.gfr-form-success-head {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
}
.gfr-form-success-body {
  min-width: 0;
  flex: 1 1 auto;
}
.gfr-form-success-eyebrow {
  margin-bottom: 0.45rem;
  color: #8a6a30;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.gfr-form-success-copy {
  margin-top: 0.375rem;
}
.gfr-form-success-note {
  margin-top: 0.7rem;
  color: #4a5a64;
  font-size: 0.93rem;
  line-height: 1.65;
}
.gfr-form-success-points {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.9rem;
}
.gfr-form-success-point {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 2rem;
  padding: 0.35rem 0.7rem;
  border: 1px solid rgba(18, 48, 71, 0.08);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  color: #123047;
  font-size: 0.76rem;
  font-weight: 600;
  line-height: 1.25;
}
.gfr-form-success-point::before {
  content: "";
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 999px;
  background: linear-gradient(180deg, #c49a56 0%, #0e7c7b 100%);
  flex-shrink: 0;
}
.gfr-form-success-cta {
  margin-top: 1rem;
  padding-left: 3.5rem;
  color: #4a5a64;
  font-size: 0.92rem;
  line-height: 1.55;
}
.gfr-success-icon {
  width: 2.5rem;
  height: 2.5rem;
  flex: 0 0 2.5rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, rgba(232, 246, 245, 0.95) 0%, rgba(220, 241, 240, 0.88) 100%);
  border: 1px solid rgba(14, 124, 123, 0.08);
  color: #0E7C7B;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
.gfr-success-icon .gfr-icon {
  width: 1.125rem;
  height: 1.125rem;
}
.page-gas-fireplace-repair .gfr-success-icon {
  background: rgba(14, 124, 123, 0.12);
  color: #0E7C7B;
}
.page-gas-fireplace-repair .gfr-success-icon .gfr-icon {
  width: 1.125rem;
  height: 1.125rem;
}
@media (max-width: 639px) {
  .gfr-form-success {
    margin-top: 1.25rem;
    padding: 1rem 0.9375rem;
  }

  .gfr-form-success-head {
    gap: 0.75rem;
  }

  .gfr-form-success-cta {
    padding-left: 0;
  }

  .gfr-form-success-point {
    width: 100%;
    justify-content: flex-start;
  }
}

.page-gas-fireplace-repair .gfr-mobile-sticky {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 55;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
  background: rgba(255, 255, 255, 0.98);
  border-top: 1px solid rgba(18, 48, 71, 0.12);
  box-shadow: 0 -8px 24px rgba(18, 48, 71, 0.08);
  backdrop-filter: blur(8px);
}

.page-gas-fireplace-repair .gfr-mobile-sticky-inner {
  display: flex;
  gap: 10px;
  max-width: 520px;
  margin: 0 auto;
}

.page-gas-fireplace-repair .gfr-mobile-sticky-call {
  background: #0e7c7b;
}

.page-gas-fireplace-repair .gfr-mobile-sticky-request {
  background: #123047;
  color: #fff;
}
.page-gas-fireplace-repair .gfr-mobile-sticky-icon {
  width: 1rem;
  height: 1rem;
  margin-right: 0.45rem;
  flex-shrink: 0;
}

.page-gas-fireplace-repair.gfr-sticky-active .floating-call-button {
  display: none;
}

@media (min-width: 1024px) {
  .page-gas-fireplace-repair .gfr-mobile-sticky {
    display: none !important;
  }
}

.page-gas-fireplace-repair.has-mobile-sticky {
  padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
}

@media (min-width: 1024px) {
  .page-gas-fireplace-repair.has-mobile-sticky {
    padding-bottom: 0;
  }
}

.page-gas-fireplace-repair input[aria-invalid="true"],
.page-gas-fireplace-repair textarea[aria-invalid="true"] {
  border-color: #b91c1c !important;
  box-shadow: 0 0 0 3px rgba(185, 28, 28, 0.1);
}

@media (prefers-reduced-motion: reduce) {
  .page-gas-fireplace-repair .gfr-reviews-track {
    transition: none !important;
  }
}

/* ============================================================
   Gas Fireplace Repair & Service — Visual Redesign v2
   All rules scoped under .page-gas-fireplace-repair
   ============================================================ */

/* Icon system */
.page-gas-fireplace-repair .gfr-icon {
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.page-gas-fireplace-repair .gfr-icon--image {
  display: block;
  object-fit: contain;
}
.page-gas-fireplace-repair .gfr-icon--lg { width: 1.5rem; height: 1.5rem; }
.page-gas-fireplace-repair .gfr-icon--xl { width: 2rem; height: 2rem; }
.page-gas-fireplace-repair .gfr-icon-tile {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.75rem;
  background: linear-gradient(180deg, rgba(237, 248, 248, 0.98) 0%, rgba(226, 243, 243, 0.92) 100%);
  border: 1px solid rgba(14, 124, 123, 0.10);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 8px 18px -16px rgba(18, 48, 71, 0.24);
  color: #0E7C7B;
  flex-shrink: 0;
}
.page-gas-fireplace-repair .gfr-icon-tile .gfr-icon--image {
  width: 34px;
  height: 34px;
  object-fit: contain;
}
.page-gas-fireplace-repair .gfr-icon-tile--lg {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 0.875rem;
}
.page-gas-fireplace-repair .gfr-icon-tile--navy {
  background: rgba(18, 48, 71, 0.08);
  color: #123047;
}
.page-gas-fireplace-repair .gfr-icon-tile--gold {
  background: rgba(196, 154, 86, 0.14);
  color: #8a6a30;
}
.page-gas-fireplace-repair .gfr-icon-tile--warning {
  background: rgba(196, 154, 86, 0.20);
  color: #7a5520;
}

/* Hero polish */
.page-gas-fireplace-repair .gfr-hero { min-height: 560px; }
@media (min-width: 1024px) {
  .page-gas-fireplace-repair .gfr-hero { min-height: 640px; }
}
.page-gas-fireplace-repair .gfr-hero-media {
  background: linear-gradient(135deg, #0d2536 0%, #123047 55%, #0e7c7b 100%);
}
.page-gas-fireplace-repair .gfr-hero-media picture,
.page-gas-fireplace-repair .gfr-hero-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 65% center;
}
@media (min-width: 1024px) {
  .page-gas-fireplace-repair .gfr-hero-media img {
    object-position: right center;
  }
}

/* Dryer Vent Repair & Installation: give mobile hero a wider, less face-cropped framing */
.page-dryer-vent-repair-installation .gfr-hero {
  min-height: 500px;
}
.page-dryer-vent-repair-installation .gfr-hero-media picture,
.page-dryer-vent-repair-installation .gfr-hero-media img {
  object-position: 80% 24%;
}
@media (min-width: 1024px) {
  .page-dryer-vent-repair-installation .gfr-hero {
    min-height: 640px;
  }
  .page-dryer-vent-repair-installation .gfr-hero-media img {
    object-position: right center;
  }
}

.page-gas-fireplace-repair .gfr-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  width: max-content;
  max-width: 100%;
  gap: 0.5rem;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  background: rgba(196, 154, 86, 0.18);
  color: #f1d9a8;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.page-gas-fireplace-repair .gfr-hero-eyebrow::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: #c49a56;
}

/* Trust row (hero) */
.page-gas-fireplace-repair .gfr-trust-row {
  display: grid;
  gap: 0.5rem;
  padding: 0.75rem 0;
  border-top: 1px solid rgba(244, 239, 231, 0.18);
  border-bottom: 1px solid rgba(244, 239, 231, 0.18);
  margin-top: 0.25rem;
}
@media (min-width: 640px) {
  .page-gas-fireplace-repair .gfr-trust-row {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1rem;
    align-items: stretch;
  }
}
.page-gas-fireplace-repair .gfr-trust-item {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  color: rgba(244, 239, 231, 0.95);
  font-size: 0.85rem;
  line-height: 1.35;
}
@media (min-width: 640px) {
  .page-gas-fireplace-repair .gfr-trust-item + .gfr-trust-item {
    padding-left: 1rem;
    border-left: 1px solid rgba(244, 239, 231, 0.18);
  }
}
.page-gas-fireplace-repair .gfr-trust-item .gfr-icon-tile {
  background: rgba(255, 255, 255, 0.10);
  color: #f1d9a8;
}
.page-gas-fireplace-repair .gfr-trust-stars {
  display: inline-flex;
  align-items: center;
  gap: 1px;
  color: #c49a56;
}
.page-gas-fireplace-repair .gfr-trust-stars .gfr-icon { width: 0.95rem; height: 0.95rem; }
.page-gas-fireplace-repair .gfr-trust-strong { color: #fff; font-weight: 600; }
.page-gas-fireplace-repair .gfr-trust-secondary {
  color: rgba(244, 239, 231, 0.82);
  font-size: 0.8rem;
}

/* Form panel polish (scoped only, no logic changes) */
.page-gas-fireplace-repair .gfr-callback-form-wrap {
  background: #ffffff;
  border-radius: 1.25rem;
  border: 1px solid rgba(18, 48, 71, 0.10);
  box-shadow:
    0 1px 2px rgba(18, 48, 71, 0.06),
    0 24px 60px -28px rgba(18, 48, 71, 0.35);
  position: relative;
}
.page-gas-fireplace-repair .gfr-callback-form-wrap::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: 1.25rem;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(14, 124, 123, 0.18), rgba(196, 154, 86, 0.10) 60%, transparent 90%);
  -webkit-mask: linear-gradient(#000, #000) content-box, linear-gradient(#000, #000);
  mask: linear-gradient(#000, #000) content-box, linear-gradient(#000, #000);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  padding: 1px;
}
.page-gas-fireplace-repair .gfr-callback-form-wrap > * { position: relative; }
.page-gas-fireplace-repair .gfr-input {
  transition: border-color 150ms ease, box-shadow 150ms ease;
}
.page-gas-fireplace-repair .gfr-input:focus {
  outline: none;
  border-color: #0E7C7B;
  box-shadow: 0 0 0 3px rgba(14, 124, 123, 0.18);
}
.page-gas-fireplace-repair .gfr-submit-btn {
  letter-spacing: 0.005em;
  box-shadow: 0 8px 22px -10px rgba(14, 124, 123, 0.55);
}
.page-gas-fireplace-repair .gfr-submit-btn:hover { box-shadow: 0 10px 24px -10px rgba(10, 93, 92, 0.65); }
.page-gas-fireplace-repair .gfr-optional-panel {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transform: translateY(-0.25rem);
  transition: max-height 210ms ease, opacity 190ms ease, transform 190ms ease;
}
.page-gas-fireplace-repair .gfr-optional-panel.is-visible {
  max-height: 14rem;
  opacity: 1;
  transform: translateY(0);
}

/* Emergency safety strip */
.page-gas-fireplace-repair .gfr-safety-strip {
  background: linear-gradient(180deg, #fbf5e8 0%, #f4efe7 100%);
  border-top: 1px solid rgba(196, 154, 86, 0.35);
  border-bottom: 1px solid rgba(196, 154, 86, 0.35);
}
.page-gas-fireplace-repair .gfr-safety-strip .gfr-safety-inner {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0.75rem 0;
}
.page-gas-fireplace-repair .gfr-safety-strip .gfr-safety-text {
  font-size: 0.875rem;
  line-height: 1.55;
  color: #4a5a64;
  margin: 0;
}
.page-gas-fireplace-repair .gfr-safety-strip .gfr-safety-label {
  font-weight: 600;
  color: #123047;
}

/* Section heading rhythm */
.page-gas-fireplace-repair .gfr-section-head { max-width: 44rem; }
.page-gas-fireplace-repair #problems .gfr-section-head { margin-top: 1rem; }
.page-gas-fireplace-repair #how-it-works { padding-bottom: 2rem; }
.page-gas-fireplace-repair #how-it-works .gfr-section-head { padding-top: 1rem; }
.page-gas-fireplace-repair #services { padding-bottom: 2rem; }
.page-gas-fireplace-repair #services .container-content { padding-bottom: 1rem; }
.page-gas-fireplace-repair #services .gfr-section-head { padding-top: 1rem; }
.page-gas-fireplace-repair #services + section .gfr-section-head { padding-top: 1rem; }
.page-gas-fireplace-repair #service-areas { padding-bottom: 2rem; }
.page-gas-fireplace-repair #service-areas .container-content { padding-bottom: 1rem; }
.page-gas-fireplace-repair #service-areas .gfr-section-head { padding-top: 1rem; }
.page-gas-fireplace-repair #reviews .gfr-section-head {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.page-gas-fireplace-repair #reviews .gfr-aggregate-rating {
  text-align: center;
}
.page-gas-fireplace-repair #reviews .gfr-trust-stars {
  display: inline-flex;
  justify-content: center;
}
.page-gas-fireplace-repair .gfr-section-head .eyebrow + h2 { margin-top: 0.5rem; }
.page-gas-fireplace-repair .gfr-section-head p { margin-top: 0.75rem; }

/* Symptom cards (Problems) */
.page-gas-fireplace-repair .gfr-symptom-grid {
  display: grid;
  gap: 0.875rem;
  grid-template-columns: 1fr;
  margin-top: 2rem;
}
@media (min-width: 640px) {
  .page-gas-fireplace-repair .gfr-symptom-grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1024px) {
  .page-gas-fireplace-repair .gfr-symptom-grid { grid-template-columns: repeat(3, 1fr); }
}
.page-gas-fireplace-repair .gfr-symptom-card {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  padding: 1.25rem 1.25rem 1.1rem;
  background: #ffffff;
  border: 1px solid rgba(18, 48, 71, 0.10);
  border-radius: 1rem;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
  text-align: left;
  list-style: none;
}
.page-gas-fireplace-repair .gfr-symptom-card:hover {
  transform: translateY(-2px);
  border-color: rgba(14, 124, 123, 0.40);
  box-shadow: 0 14px 30px -18px rgba(18, 48, 71, 0.22);
}
.page-gas-fireplace-repair .gfr-symptom-card-head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.page-gas-fireplace-repair .gfr-symptom-card-head .gfr-icon-tile {
  flex-shrink: 0;
  width: auto;
  height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.page-gas-fireplace-repair .gfr-symptom-card-head .gfr-icon {
  width: 65px;
  height: 65px;
}
.page-gas-fireplace-repair .gfr-symptom-card-head .gfr-icon--image {
  width: 65px;
  height: 65px;
}
.page-gas-fireplace-repair .gfr-service-card .gfr-icon {
  width: 65px;
  height: 65px;
}
.page-gas-fireplace-repair .gfr-service-card .gfr-icon-tile {
  flex-shrink: 0;
  width: auto;
  height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.page-gas-fireplace-repair .gfr-service-card .gfr-icon--image {
  width: 65px;
  height: 65px;
}
.page-gas-fireplace-repair .gfr-symptom-card .gfr-symptom-title {
  font-size: 1rem;
  font-weight: 600;
  color: #123047;
  line-height: 1.3;
  margin: 0;
}
.page-gas-fireplace-repair .gfr-symptom-card .gfr-symptom-desc {
  font-size: 0.875rem;
  color: #4a5a64;
  line-height: 1.5;
  margin: 0;
}
.page-gas-fireplace-repair .gfr-symptom-extra.hidden { display: none; }
.page-gas-fireplace-repair .gfr-symptom-toolbar {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  align-items: flex-start;
  margin-top: 1.25rem;
  margin-bottom: 1rem;
}
@media (min-width: 640px) {
  .page-gas-fireplace-repair .gfr-symptom-toolbar {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0;
  }
}
.page-gas-fireplace-repair .gfr-symptom-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.375rem;
  width: 100%;
  font-size: 0.875rem;
  font-weight: 600;
  color: #0E7C7B;
  background: #f8fbfb;
  border: 1px solid rgba(14, 124, 123, 0.14);
  border-radius: 0.875rem;
  cursor: pointer;
  padding: 0.875rem 1rem;
}
.page-gas-fireplace-repair .gfr-symptom-toggle:hover { text-decoration: underline; }
.page-gas-fireplace-repair .gfr-symptom-toggle .gfr-icon { transition: transform 200ms ease; width: 1rem; height: 1rem; }
.page-gas-fireplace-repair .gfr-symptom-toggle[aria-expanded="true"] .gfr-icon { transform: rotate(180deg); }
.page-gas-fireplace-repair .gfr-symptom-note {
  font-size: 0.85rem;
  color: #4a5a64;
  max-width: 30rem;
  margin-top: 0.25rem;
  width: 100%;
}
@media (min-width: 640px) {
  .page-gas-fireplace-repair .gfr-symptom-toggle {
    display: inline-flex;
    width: auto;
    justify-content: flex-start;
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0.25rem 0;
  }
  .page-gas-fireplace-repair .gfr-symptom-note {
    width: auto;
  }
}

/* Conversion strip (mid CTA) */
.page-gas-fireplace-repair .gfr-conversion-strip {
  background: linear-gradient(135deg, #0E7C7B 0%, #0a5d5c 100%);
  color: #fff;
  border-radius: 1.25rem;
  margin-bottom: 1.5rem;
  padding: 1.5rem 1.5rem;
  display: grid;
  gap: 1rem;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.page-gas-fireplace-repair .gfr-conversion-strip::after {
  content: "";
  position: absolute;
  right: -3rem; top: -3rem;
  width: 12rem; height: 12rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  pointer-events: none;
}
@media (min-width: 768px) {
  .page-gas-fireplace-repair .gfr-conversion-strip {
    grid-template-columns: 1fr auto;
    gap: 2rem;
    padding: 1.5rem 2rem;
  }
}
.page-gas-fireplace-repair .gfr-conversion-strip .gfr-strip-eyebrow {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #f1d9a8;
  display: inline-block;
}
.page-gas-fireplace-repair .gfr-conversion-strip .gfr-strip-title {
  font-size: 1.25rem;
  line-height: 1.35;
  color: #fff;
  font-weight: 600;
  margin-top: 0.5rem;
}
.page-gas-fireplace-repair .gfr-conversion-strip .gfr-strip-sub {
  font-size: 0.95rem;
  color: rgba(244, 239, 231, 0.92);
  line-height: 1.5;
  margin-top: 0.5rem;
}
.page-gas-fireplace-repair .gfr-conversion-strip .gfr-strip-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  background: #fff;
  color: #0E7C7B;
  font-weight: 600;
  padding: 0.875rem 1.5rem;
  border-radius: 0.875rem;
  white-space: nowrap;
  transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, color 180ms ease;
  border: 0;
  cursor: pointer;
  font-size: 1rem;
}
.page-gas-fireplace-repair .gfr-conversion-strip .gfr-strip-cta:hover {
  transform: translateY(-1px);
  background: #f4efe7;
  box-shadow: 0 12px 30px -16px rgba(0, 0, 0, 0.35);
}
.page-gas-fireplace-repair .gfr-conversion-strip .gfr-strip-cta .gfr-icon,
.page-gas-fireplace-repair .js-scroll-form .gfr-icon {
  transition: transform 180ms ease;
}
@media (hover: hover) and (pointer: fine) {
  .page-gas-fireplace-repair .gfr-conversion-strip .gfr-strip-cta:hover .gfr-icon,
  .page-gas-fireplace-repair .js-scroll-form:hover .gfr-icon {
    transform: translateX(0.22rem);
  }
}

/* Process — 3 step row + connectors */
.page-gas-fireplace-repair .gfr-process-grid {
  display: grid;
  gap: 1rem;
  margin-top: 2rem;
}
@media (min-width: 1024px) {
  .page-gas-fireplace-repair .gfr-process-grid {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1.25rem;
    position: relative;
  }
  .page-gas-fireplace-repair .gfr-process-grid::before {
    content: "";
    position: absolute;
    left: 6%;
    right: 6%;
    top: 2.85rem;
    height: 2px;
    background: repeating-linear-gradient(to right, rgba(14, 124, 123, 0.35) 0 8px, transparent 8px 14px);
    pointer-events: none;
    z-index: 0;
  }
}
.page-gas-fireplace-repair .gfr-step-card {
  background: #ffffff;
  border: 1px solid rgba(18, 48, 71, 0.10);
  border-radius: 1.25rem;
  padding: 1.5rem;
  position: relative;
  z-index: 1;
  box-shadow: 0 1px 2px rgba(18, 48, 71, 0.04), 0 12px 28px -22px rgba(18, 48, 71, 0.30);
}
.page-gas-fireplace-repair .gfr-step-head {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  margin-bottom: 0.875rem;
}
.page-gas-fireplace-repair .gfr-step-number {
  font-size: 1.5rem;
  font-weight: 700;
  color: #0E7C7B;
  letter-spacing: -0.02em;
  background: #fff;
  border: 1px solid rgba(14, 124, 123, 0.30);
  width: 3rem;
  height: 3rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.page-gas-fireplace-repair .gfr-step-number--image {
  padding: 0;
  overflow: visible;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  width: 3.5rem;
  height: 3.5rem;
}
.page-gas-fireplace-repair .gfr-step-number--image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.page-gas-fireplace-repair .gfr-step-card h3 {
  font-size: 1.05rem;
  font-weight: 600;
  color: #123047;
  line-height: 1.3;
}
.page-gas-fireplace-repair .gfr-step-card p {
  font-size: 0.9rem;
  line-height: 1.55;
  color: #4a5a64;
  margin: 0;
}
.page-gas-fireplace-repair .gfr-process-note {
  margin-top: 1.5rem;
  padding: 0.875rem 1rem;
  border-left: 3px solid rgba(14, 124, 123, 0.5);
  background: rgba(14, 124, 123, 0.06);
  border-radius: 0 0.5rem 0.5rem 0;
  color: #2e3b43;
  font-size: 0.9rem;
  line-height: 1.55;
  max-width: 42rem;
}

/* Comparison — neutral vs ours */
.page-gas-fireplace-repair .gfr-compare-grid {
  display: grid;
  gap: 1.5rem;
  margin-top: 2rem;
  margin-bottom: 1rem;
}
@media (min-width: 1024px) {
  .page-gas-fireplace-repair .gfr-compare-grid { grid-template-columns: 1fr 1fr; gap: 1.25rem; }
}
.page-gas-fireplace-repair .gfr-compare-col {
  border-radius: 1.25rem;
  padding: 1.5rem;
}
.page-gas-fireplace-repair .gfr-compare-col h3 {
  font-size: 1.05rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
}
.page-gas-fireplace-repair .gfr-compare-col ul {
  list-style: none;
  display: grid;
  gap: 0.625rem;
  margin: 0;
  padding: 0;
}
.page-gas-fireplace-repair .gfr-compare-col li {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  font-size: 0.9rem;
  line-height: 1.5;
}
.page-gas-fireplace-repair .gfr-compare-col li .gfr-icon {
  width: 1.1rem;
  height: 1.1rem;
  margin-top: 2px;
  flex-shrink: 0;
}
.page-gas-fireplace-repair .gfr-compare-col--neutral {
  background: rgba(46, 59, 67, 0.05);
  border: 1px solid rgba(46, 59, 67, 0.12);
  color: #4a5a64;
}
.page-gas-fireplace-repair .gfr-compare-col--neutral h3 { color: #4a5a64; }
.page-gas-fireplace-repair .gfr-compare-col--neutral .gfr-icon { color: #94a3b1; }
.page-gas-fireplace-repair .gfr-compare-col--ours {
  background: linear-gradient(180deg, rgba(14, 124, 123, 0.08) 0%, rgba(14, 124, 123, 0.04) 100%);
  border: 1px solid rgba(14, 124, 123, 0.30);
  color: #2e3b43;
  position: relative;
  box-shadow: 0 10px 30px -20px rgba(14, 124, 123, 0.35);
}
.page-gas-fireplace-repair .gfr-compare-col--ours .gfr-compare-tag {
  position: absolute;
  top: -0.7rem;
  left: 1.5rem;
  background: #0E7C7B;
  color: #fff;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 0.3rem 0.65rem;
  border-radius: 999px;
}
.page-gas-fireplace-repair .gfr-compare-col--ours h3 { color: #123047; }
.page-gas-fireplace-repair .gfr-compare-col--ours .gfr-icon { color: #0E7C7B; }
.page-gas-fireplace-repair .gfr-compare-final {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px dashed rgba(14, 124, 123, 0.35);
  font-weight: 600;
  color: #123047;
}

/* Scope: split layout */
.page-gas-fireplace-repair .gfr-scope-split {
  display: grid;
  gap: 1.5rem;
  margin-top: 2rem;
  align-items: start;
}
@media (min-width: 1024px) {
  .page-gas-fireplace-repair .gfr-scope-split {
    grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
    gap: 2rem;
  }
}
.page-gas-fireplace-repair .gfr-service-grid {
  display: grid;
  gap: 0.875rem;
  grid-template-columns: 1fr;
}
@media (min-width: 640px) {
  .page-gas-fireplace-repair .gfr-service-grid { grid-template-columns: 1fr 1fr; }
}
.page-gas-fireplace-repair .gfr-service-card {
  background: #ffffff;
  border: 1px solid rgba(18, 48, 71, 0.10);
  border-radius: 1rem;
  padding: 1.125rem 1.125rem 1rem;
  display: flex;
  gap: 0.875rem;
  align-items: flex-start;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.page-gas-fireplace-repair .gfr-service-card:hover {
  border-color: rgba(14, 124, 123, 0.35);
  box-shadow: 0 12px 26px -18px rgba(18, 48, 71, 0.25);
  transform: translateY(-2px);
}
.page-gas-fireplace-repair .gfr-service-card h4 {
  font-size: 0.95rem;
  font-weight: 600;
  color: #123047;
  line-height: 1.3;
}
.page-gas-fireplace-repair .gfr-service-card p {
  font-size: 0.85rem;
  color: #4a5a64;
  line-height: 1.5;
  margin: 0.35rem 0 0;
}
.page-gas-fireplace-repair .gfr-scope-media {
  position: relative;
  border-radius: 1.25rem;
  overflow: hidden;
  background: linear-gradient(135deg, #123047 0%, #0e7c7b 100%);
  aspect-ratio: 4 / 5;
  box-shadow: 0 18px 40px -22px rgba(18, 48, 71, 0.40);
}
.page-gas-fireplace-repair .gfr-scope-media > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.page-gas-fireplace-repair .gfr-scope-media-tag {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  background: rgba(255, 255, 255, 0.94);
  color: #123047;
  padding: 0.5rem 0.75rem;
  border-radius: 0.625rem;
  font-size: 0.78rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  box-shadow: 0 6px 18px -8px rgba(0, 0, 0, 0.35);
}
.page-gas-fireplace-repair .gfr-scope-notice {
  margin-top: 1.5rem;
  padding: 0.875rem 1rem;
  background: rgba(196, 154, 86, 0.10);
  border: 1px solid rgba(196, 154, 86, 0.30);
  border-radius: 0.75rem;
  font-size: 0.85rem;
  color: #4a5a64;
  line-height: 1.55;
}
.page-gas-fireplace-repair .gfr-scope-notice strong { color: #123047; }

/* Diagnostic checklist panel */
.page-gas-fireplace-repair .gfr-checklist-panel {
  margin-top: 2.5rem;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbfb 100%);
  border: 1px solid rgba(18, 48, 71, 0.12);
  border-radius: 1.25rem;
  padding: 1.5rem;
  box-shadow: 0 1px 2px rgba(18, 48, 71, 0.04), 0 16px 36px -28px rgba(18, 48, 71, 0.25);
}
@media (min-width: 768px) {
  .page-gas-fireplace-repair .gfr-checklist-panel { padding: 1.75rem 2rem; }
}
.page-gas-fireplace-repair .gfr-checklist-head {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
}
.page-gas-fireplace-repair .gfr-checklist-head h3 {
  font-size: 1.15rem;
  color: #123047;
  font-weight: 600;
}
.page-gas-fireplace-repair .gfr-checklist-head p {
  font-size: 0.9rem;
  color: #4a5a64;
  line-height: 1.55;
  margin-top: 0.3rem;
  max-width: 38rem;
}
.page-gas-fireplace-repair .gfr-checklist-items {
  display: grid;
  gap: 0.625rem 1.5rem;
  grid-template-columns: 1fr;
  margin-top: 0.75rem;
}
@media (min-width: 640px) {
  .page-gas-fireplace-repair .gfr-checklist-items { grid-template-columns: 1fr 1fr; }
}
.page-gas-fireplace-repair .gfr-checklist-items li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.9rem;
  color: #2e3b43;
  line-height: 1.5;
}
.page-gas-fireplace-repair .gfr-checklist-items li .gfr-icon {
  color: #0E7C7B;
  width: 1.05rem;
  height: 1.05rem;
  margin-top: 3px;
  flex-shrink: 0;
}
.page-gas-fireplace-repair .gfr-checklist-note {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px dashed rgba(18, 48, 71, 0.12);
  font-size: 0.85rem;
  color: #4a5a64;
  line-height: 1.55;
}

/* Why Choose — rating panel + 2x2 benefits */
.page-gas-fireplace-repair .gfr-why-grid {
  display: grid;
  gap: 1.5rem;
  margin-top: 2rem;
  align-items: start;
}
@media (min-width: 1024px) {
  .page-gas-fireplace-repair .gfr-why-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
    gap: 2rem;
  }
}
.page-gas-fireplace-repair .gfr-rating-panel {
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg, #ffffff 0%, #fbf9f3 100%);
  border: 1px solid rgba(196, 154, 86, 0.30);
  border-radius: 1.25rem;
  padding: 1.6rem 1.6rem 1.5rem;
  box-shadow: 0 1px 2px rgba(18, 48, 71, 0.04), 0 18px 38px -28px rgba(18, 48, 71, 0.25);
  height: 100%;
}
.page-gas-fireplace-repair .gfr-rating-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  align-self: flex-start;
  padding: 0.5rem 0.8rem;
  border-radius: 999px;
  background: rgba(196, 154, 86, 0.10);
  border: 1px solid rgba(196, 154, 86, 0.20);
}
.page-gas-fireplace-repair .gfr-rating-badge-text {
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #6d5a35;
}
.page-gas-fireplace-repair .gfr-rating-stars {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: #c49a56;
}
.page-gas-fireplace-repair .gfr-rating-stars .gfr-icon { width: 1.4rem; height: 1.4rem; }
.page-gas-fireplace-repair .gfr-rating-metric {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.75rem;
  margin-top: 1.15rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(18, 48, 71, 0.08);
  text-align: center;
}
@media (min-width: 640px) {
  .page-gas-fireplace-repair .gfr-rating-metric {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: end;
    gap: 1.1rem;
    text-align: left;
  }
}
.page-gas-fireplace-repair .gfr-rating-value-wrap {
  display: flex;
  align-items: end;
  justify-content: center;
}
@media (min-width: 640px) {
  .page-gas-fireplace-repair .gfr-rating-value-wrap {
    justify-content: flex-start;
  }
}
.page-gas-fireplace-repair .gfr-rating-value {
  font-size: 2.5rem;
  font-weight: 700;
  color: #123047;
  line-height: 1;
  letter-spacing: -0.02em;
}
.page-gas-fireplace-repair .gfr-rating-of { font-size: 1.05rem; color: #4a5a64; font-weight: 500; margin-left: 0.4rem; }
.page-gas-fireplace-repair .gfr-rating-meta,
.page-gas-fireplace-repair .gfr-rating-volume {
  font-size: 0.9rem;
  color: #4a5a64;
  margin: 0;
  line-height: 1.55;
}
.page-gas-fireplace-repair .gfr-rating-meta strong,
.page-gas-fireplace-repair .gfr-rating-volume strong { color: #123047; font-weight: 600; }
.page-gas-fireplace-repair .gfr-rating-copy {
  margin-top: 1rem;
  max-width: 28rem;
  line-height: 1.65;
}
.page-gas-fireplace-repair .gfr-rating-points {
  display: grid;
  gap: 0.65rem;
  margin-top: auto;
  padding-top: 1.15rem;
}
.page-gas-fireplace-repair .gfr-rating-points span {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.88rem;
  color: #123047;
  font-weight: 500;
}
.page-gas-fireplace-repair .gfr-rating-points .gfr-icon {
  width: 1rem;
  height: 1rem;
  color: #0E7C7B;
  flex-shrink: 0;
}
.page-gas-fireplace-repair .gfr-match-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
  margin-top: 1rem;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(18, 48, 71, 0.10);
  border-radius: 1rem;
  background: #f8fbfb;
}
.page-gas-fireplace-repair .gfr-match-strip-title {
  color: #123047;
  font-size: 0.88rem;
  font-weight: 600;
  margin-right: 0.2rem;
}
.page-gas-fireplace-repair .gfr-match-strip-item {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.6rem;
  border-radius: 999px;
  background: rgba(14, 124, 123, 0.08);
  color: #0a5d5c;
  font-size: 0.78rem;
  font-weight: 600;
  cursor: default;
  transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease;
  border: 1px solid transparent;
}

.page-gas-fireplace-repair .gfr-benefit-grid {
  display: grid;
  gap: 0.875rem;
  grid-template-columns: 1fr;
  align-items: stretch;
}
@media (min-width: 640px) {
  .page-gas-fireplace-repair .gfr-benefit-grid { grid-template-columns: 1fr 1fr; }
}
.page-gas-fireplace-repair .gfr-benefit-card {
  height: 100%;
  background: #ffffff;
  border: 1px solid rgba(18, 48, 71, 0.10);
  border-radius: 1rem;
  padding: 1.25rem;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.page-gas-fireplace-repair .gfr-benefit-card:hover {
  border-color: rgba(14, 124, 123, 0.35);
  transform: translateY(-2px);
  box-shadow: 0 14px 30px -20px rgba(18, 48, 71, 0.25);
}
.page-gas-fireplace-repair .gfr-benefit-card .gfr-icon {
  width: 65px;
  height: 65px;
}
.page-gas-fireplace-repair .gfr-benefit-card .gfr-icon-tile {
  flex-shrink: 0;
  width: auto;
  height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.page-gas-fireplace-repair .gfr-benefit-card .gfr-icon--image {
  width: 65px;
  height: 65px;
}
.page-gas-fireplace-repair .gfr-benefit-card h3 {
  font-size: 1rem;
  color: #123047;
  font-weight: 600;
  margin-top: 0.875rem;
  line-height: 1.3;
}
.page-gas-fireplace-repair .gfr-benefit-card p {
  font-size: 0.875rem;
  color: #4a5a64;
  line-height: 1.55;
  margin: 0.4rem 0 0;
}

/* Reviews v2 */
.page-gas-fireplace-repair .gfr-reviews-head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.page-gas-fireplace-repair .gfr-reviews-controls-top {
  display: none;
  gap: 0.5rem;
}
@media (min-width: 1024px) {
  .page-gas-fireplace-repair .gfr-reviews-controls-top { display: inline-flex; }
}
.page-gas-fireplace-repair .gfr-reviews-action {
  margin-top: 1.25rem;
  padding: 1rem 1rem 0;
  display: grid;
  justify-items: center;
  gap: 1rem;
  border-top: 1px solid rgba(18, 48, 71, 0.08);
}
.page-gas-fireplace-repair .gfr-reviews-controls-bottom {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas:
    "prev dots next"
    "prev counter next";
  align-items: center;
  width: 100%;
  column-gap: 0.9rem;
  row-gap: 0.35rem;
}
@media (min-width: 640px) {
  .page-gas-fireplace-repair .gfr-reviews-controls-bottom {
    width: auto;
    max-width: 22rem;
    column-gap: 1rem;
  }
}
.page-gas-fireplace-repair .gfr-reviews-prev { grid-area: prev; justify-self: start; }
.page-gas-fireplace-repair .gfr-reviews-next { grid-area: next; justify-self: end; }
.page-gas-fireplace-repair .gfr-review-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 999px;
  border: 1px solid rgba(18, 48, 71, 0.14);
  background: #ffffff;
  color: #123047;
  box-shadow: 0 10px 22px -18px rgba(18, 48, 71, 0.35);
  cursor: pointer;
  transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease, color 180ms ease;
}
.page-gas-fireplace-repair .gfr-review-btn:hover {
  transform: translateY(-1px);
  background: #f8fbfb;
  border-color: rgba(14, 124, 123, 0.28);
  color: #123047;
}
.page-gas-fireplace-repair .gfr-review-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  transform: none;
}
.page-gas-fireplace-repair .gfr-review-btn .gfr-icon {
  width: 1rem;
  height: 1rem;
}
.page-gas-fireplace-repair .gfr-reviews-dots {
  grid-area: dots;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-width: 0;
}
.page-gas-fireplace-repair .gfr-reviews-dot {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  background: rgba(18, 48, 71, 0.20);
  border: 0;
  padding: 0;
  cursor: pointer;
  transition: transform 180ms ease, background-color 180ms ease;
}
.page-gas-fireplace-repair .gfr-reviews-dot.is-active {
  background: #0E7C7B;
  transform: scale(1.18);
}
.page-gas-fireplace-repair .gfr-reviews-indicator {
  grid-area: counter;
  margin: 0;
  color: #4a5a64;
  font-size: 0.88rem;
  text-align: center;
}
.page-gas-fireplace-repair .gfr-reviews-indicator strong { color: #123047; font-weight: 600; }
.page-gas-fireplace-repair .gfr-reviews-cta .js-scroll-form {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 3.5rem;
  padding: 0.95rem 1.4rem;
  border: 0;
  border-radius: 0.95rem;
  background: #0E7C7B;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 12px 28px -18px rgba(18, 48, 71, 0.38);
  transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, color 180ms ease;
}
.page-gas-fireplace-repair .gfr-reviews-cta .js-scroll-form:hover {
  transform: translateY(-1px);
  background: #0a5d5c;
  box-shadow: 0 16px 30px -18px rgba(18, 48, 71, 0.34);
}
.page-gas-fireplace-repair .gfr-reviews-cta .js-scroll-form .gfr-icon {
  width: 1rem;
  height: 1rem;
  transition: transform 180ms ease;
}
.page-gas-fireplace-repair .gfr-reviews-cta .js-scroll-form:hover .gfr-icon {
  transform: translateX(0.22rem);
}

.page-gas-fireplace-repair .gfr-review-card {
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid rgba(18, 48, 71, 0.10);
  border-radius: 1.25rem;
  padding: 1.5rem;
  position: relative;
  box-shadow: 0 1px 2px rgba(18, 48, 71, 0.04), 0 12px 28px -22px rgba(18, 48, 71, 0.25);
  overflow: hidden;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.page-gas-fireplace-repair .gfr-review-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(to right, rgba(14, 124, 123, 0.55), rgba(196, 154, 86, 0.55));
}
.page-gas-fireplace-repair .gfr-review-card .gfr-review-quote-mark {
  position: absolute;
  top: 1rem;
  right: 1rem;
  color: rgba(14, 124, 123, 0.15);
  width: 2.25rem;
  height: 2.25rem;
}
.page-gas-fireplace-repair .gfr-review-top {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}
.page-gas-fireplace-repair .gfr-review-avatar {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 999px;
  background: rgba(14, 124, 123, 0.12);
  color: #0a5d5c;
  font-size: 0.85rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.page-gas-fireplace-repair .gfr-review-avatar-image {
  display: block;
  object-fit: cover;
  background: #fff;
  border: 1px solid rgba(18, 48, 71, 0.08);
}
.page-gas-fireplace-repair .gfr-review-stars {
  color: #c49a56;
  font-size: 0.9rem;
  letter-spacing: 1px;
  line-height: 1;
}
.page-gas-fireplace-repair .gfr-review-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  background: rgba(18, 48, 71, 0.06);
  color: #0a5d5c;
  margin-top: 0.25rem;
  align-self: flex-start;
}
.page-gas-fireplace-repair .gfr-review-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.25rem;
}
.page-gas-fireplace-repair .gfr-review-badge--source {
  background: rgba(196, 154, 86, 0.12);
  color: #6d5a35;
}
.page-gas-fireplace-repair .gfr-review-source-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.75rem;
}
.page-gas-fireplace-repair .gfr-review-source-label {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.65rem;
  border-radius: 999px;
  background: rgba(18, 48, 71, 0.06);
  color: #123047;
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  cursor: default;
}
.page-gas-fireplace-repair .gfr-review-text {
  font-size: 0.95rem;
  color: #2e3b43;
  line-height: 1.55;
  margin: 0.75rem 0 1rem;
  flex-grow: 1;
}
.page-gas-fireplace-repair .gfr-review-meta {
  font-size: 0.85rem;
  color: #4a5a64;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: auto;
}
.page-gas-fireplace-repair .gfr-review-meta strong { color: #123047; font-weight: 600; }
.page-gas-fireplace-repair .gfr-review-meta .gfr-icon {
  width: 0.9rem;
  height: 0.9rem;
  color: #0E7C7B;
}
.page-gas-fireplace-repair .gfr-review-source-link-wrap {
  margin-top: 0.7rem;
}
.page-gas-fireplace-repair .gfr-review-source-link {
  color: #0E7C7B;
  font-size: 0.82rem;
  font-weight: 600;
  text-decoration: none;
}
.page-gas-fireplace-repair .gfr-review-source-link:hover {
  text-decoration: underline;
}

.page-gas-fireplace-repair .gfr-reviews-cta {
  display: flex;
  justify-content: center;
}
.page-gas-fireplace-repair .gfr-reviews-disclosure {
  margin-top: 1rem;
  font-size: 0.82rem;
  line-height: 1.55;
  color: #5b6972;
}
.page-gas-fireplace-repair .gfr-reviews-section-sep {
  margin-top: 2rem;
  height: 1px;
  background: linear-gradient(90deg, rgba(18, 48, 71, 0) 0%, rgba(18, 48, 71, 0.10) 18%, rgba(18, 48, 71, 0.10) 82%, rgba(18, 48, 71, 0) 100%);
}

/* Mobile reviews: scroll snap if track is wider than viewport (fallback) */
@media (max-width: 1023.98px) {
  .page-gas-fireplace-repair .gfr-reviews-viewport {
    overflow-x: hidden;
  }
}

/* Service Areas — split + map */
.page-gas-fireplace-repair .gfr-areas-grid {
  display: grid;
  gap: 1.5rem;
  margin-top: 2rem;
  align-items: start;
}
.page-gas-fireplace-repair .service-areas-map {
  width: 100%;
  max-width: 28.75rem;
  margin: 0 auto;
  padding: 0.375rem;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(18, 48, 71, 0.10);
  border-radius: 1.375rem;
  box-shadow: 0 14px 34px rgba(18, 48, 71, 0.08);
}
.page-gas-fireplace-repair .service-areas-map picture,
.page-gas-fireplace-repair .service-areas-map img {
  display: block;
  width: 100%;
}
.page-gas-fireplace-repair .service-areas-map img {
  height: auto;
  object-fit: contain;
  object-position: center;
  border-radius: 1rem;
  transform-origin: center center;
  transition: transform 220ms ease;
}

.page-gas-fireplace-repair .gfr-region-list {
  display: grid;
  gap: 0.875rem;
}
.page-gas-fireplace-repair .gfr-region-card {
  background: #ffffff;
  border: 1px solid rgba(18, 48, 71, 0.10);
  border-radius: 1rem;
  padding: 1rem 1.125rem;
  display: flex;
  gap: 0.875rem;
  align-items: flex-start;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}
.page-gas-fireplace-repair .gfr-region-card:hover {
  border-color: rgba(14, 124, 123, 0.30);
  box-shadow: 0 8px 22px -16px rgba(18, 48, 71, 0.25);
  transform: translateY(-2px);
}
.page-gas-fireplace-repair .gfr-region-card h3 {
  font-size: 0.95rem;
  color: #123047;
  font-weight: 600;
}
.page-gas-fireplace-repair .gfr-region-card p {
  font-size: 0.85rem;
  color: #4a5a64;
  line-height: 1.5;
  margin: 0.2rem 0 0;
}
.page-gas-fireplace-repair .gfr-areas-cta {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(18, 48, 71, 0.10);
  font-size: 0.9rem;
  color: #4a5a64;
}
.page-gas-fireplace-repair .gfr-areas-cta a {
  color: #0E7C7B;
  font-weight: 600;
  text-decoration: none;
}
.page-gas-fireplace-repair .gfr-areas-cta a:hover { text-decoration: underline; }
@media (min-width: 1024px) {
  .page-gas-fireplace-repair .gfr-areas-grid {
    grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr);
    gap: 2rem;
  }
  .page-gas-fireplace-repair .service-areas-map {
    max-width: 40rem;
    margin: 0;
    min-height: clamp(31rem, 38vw, 35rem);
    padding: 0.625rem;
    border-radius: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .page-gas-fireplace-repair .service-areas-map picture {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }
  .page-gas-fireplace-repair .service-areas-map img {
    width: 112%;
    max-width: none;
    transform: translate(-1.5%, 2.5%) scale(1.03);
  }
}
@media (max-width: 1023.98px) {
  .page-gas-fireplace-repair .gfr-areas-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .page-gas-fireplace-repair .service-areas-map {
    max-width: 29.5rem;
    padding: 0.5rem;
  }
  .page-gas-fireplace-repair .service-areas-map img {
    width: 104%;
    max-width: none;
    transform: translate(-0.75%, 1.25%);
  }
}

/* FAQ v2 — groups + view more */
.page-gas-fireplace-repair .gfr-faq-wrap { margin-top: 1.75rem; max-width: 62rem; }
.page-gas-fireplace-repair .gfr-faq-group + .gfr-faq-group { margin-top: 1.5rem; }
.page-gas-fireplace-repair .gfr-faq-group-title {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #0a5d5c;
  margin-bottom: 0.75rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.page-gas-fireplace-repair .gfr-faq-group-title::after {
  content: "";
  display: inline-block;
  height: 1px;
  width: 3rem;
  background: rgba(14, 124, 123, 0.35);
}
.page-gas-fireplace-repair .gfr-faq-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: start;
  align-content: flex-start;
}
@media (min-width: 1024px) {
  .page-gas-fireplace-repair .gfr-faq-list {
    column-gap: 0.9rem;
    row-gap: 0.8rem;
  }
}
.page-gas-fireplace-repair .gfr-faq-item {
  width: 100%;
  align-self: start;
  margin-top: 0;
  overflow: hidden;
  background: linear-gradient(180deg, #ffffff 0%, #fcfdfd 100%);
  border: 1px solid rgba(18, 48, 71, 0.10);
  border-radius: 1rem;
  padding: 0 1rem;
  box-shadow: 0 8px 20px -24px rgba(18, 48, 71, 0.24);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}
.page-gas-fireplace-repair .gfr-faq-list > .gfr-faq-item + .gfr-faq-item {
  margin-top: 0;
}
@media (min-width: 1024px) {
  .page-gas-fireplace-repair .gfr-faq-item {
    width: calc(50% - 0.45rem);
  }
}
.page-gas-fireplace-repair .gfr-faq-item:hover {
  border-color: rgba(18, 48, 71, 0.18);
  box-shadow: 0 12px 28px -24px rgba(18, 48, 71, 0.28);
}
.page-gas-fireplace-repair .gfr-faq-item[open] {
  background: linear-gradient(180deg, #ffffff 0%, #f8fdfc 100%);
  border-color: rgba(14, 124, 123, 0.42);
  box-shadow: 0 18px 36px -28px rgba(14, 124, 123, 0.42), 0 14px 28px -24px rgba(18, 48, 71, 0.24);
}
.page-gas-fireplace-repair .gfr-faq-item summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  padding: 1rem 0 0.95rem;
  cursor: pointer;
  font-size: 0.98rem;
  font-weight: 600;
  color: #123047;
  line-height: 1.4;
}
.page-gas-fireplace-repair .gfr-faq-item summary::-webkit-details-marker { display: none; }
.page-gas-fireplace-repair .gfr-faq-question {
  flex: 1 1 auto;
  min-width: 0;
}
.page-gas-fireplace-repair .gfr-faq-toggle-icon {
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
  padding: 0.28rem;
  border-radius: 999px;
  background: rgba(14, 124, 123, 0.10);
  color: #0E7C7B;
  transition: transform 200ms ease, background-color 180ms ease, color 180ms ease;
}
.page-gas-fireplace-repair .gfr-faq-item[open] .gfr-faq-toggle-icon {
  background: rgba(14, 124, 123, 0.16);
  color: #0a5d5c;
}
.page-gas-fireplace-repair .gfr-faq-item[open] .gfr-faq-toggle-icon { transform: rotate(180deg); }
.page-gas-fireplace-repair .gfr-faq-item .gfr-faq-body {
  padding: 0.95rem 0 1rem;
  border-top: 1px solid rgba(14, 124, 123, 0.12);
  color: #4a5a64;
  font-size: 0.92rem;
  line-height: 1.6;
}
@media (min-width: 1024px) {
  .page-gas-fireplace-repair .gfr-faq-item:not([open]) {
    min-height: 4.85rem;
  }
  .page-gas-fireplace-repair .gfr-faq-item:not([open]) summary {
    min-height: 4.85rem;
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
  }
  .page-gas-fireplace-repair .gfr-faq-item summary,
  .page-gas-fireplace-repair .gfr-faq-item[open] summary {
    min-height: 4.85rem;
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
  }
}
.page-gas-fireplace-repair .gfr-faq-more-wrap {
  margin-top: 1rem;
  margin-bottom: 1rem;
  display: flex;
  justify-content: center;
}
.page-gas-fireplace-repair .gfr-faq-more {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: linear-gradient(180deg, #ffffff 0%, #f6fbfb 100%);
  border: 1px solid rgba(14, 124, 123, 0.28);
  color: #0a5d5c;
  padding: 0.8rem 1.35rem;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  box-shadow: 0 10px 24px -24px rgba(18, 48, 71, 0.35);
  transition: transform 150ms ease, background-color 150ms ease, border-color 150ms ease, color 150ms ease, box-shadow 150ms ease;
}
.page-gas-fireplace-repair .gfr-faq-more:hover {
  background: rgba(14, 124, 123, 0.08);
  border-color: rgba(14, 124, 123, 0.42);
  box-shadow: 0 14px 28px -24px rgba(18, 48, 71, 0.36);
  transform: translateY(-1px);
}
.page-gas-fireplace-repair .gfr-faq-more .gfr-icon { transition: transform 200ms ease; width: 1rem; height: 1rem; }
.page-gas-fireplace-repair .gfr-faq-more[aria-expanded="true"] .gfr-icon { transform: rotate(180deg); }
.page-gas-fireplace-repair .gfr-faq-hidden.is-hidden { display: none; }

/* Final CTA polish */
.page-gas-fireplace-repair .gfr-final-cta { position: relative; overflow: hidden; }
.page-gas-fireplace-repair .gfr-final-cta .container-content {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.page-gas-fireplace-repair .gfr-final-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(60% 60% at 80% 30%, rgba(14, 124, 123, 0.25) 0%, transparent 60%),
              radial-gradient(40% 40% at 10% 90%, rgba(196, 154, 86, 0.18) 0%, transparent 60%);
  pointer-events: none;
}
.page-gas-fireplace-repair .gfr-final-cta-rating {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.5rem 0.75rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  margin-top: 1rem;
}
.page-gas-fireplace-repair .gfr-final-cta-reassurance {
  margin-top: 0.8rem;
  color: rgba(244, 239, 231, 0.96);
  font-size: 0.95rem;
  font-weight: 600;
}
.page-gas-fireplace-repair .gfr-final-cta-rating .gfr-icon { color: #c49a56; width: 0.95rem; height: 0.95rem; }
.page-gas-fireplace-repair .gfr-final-cta-rating-text {
  font-size: 0.85rem;
  color: rgba(244, 239, 231, 0.95);
}
.page-gas-fireplace-repair .gfr-final-cta-rating-text:not(.gfr-final-cta-rating-text--current) {
  display: none;
}
.page-gas-fireplace-repair .gfr-final-cta-rating-text strong { color: #fff; font-weight: 600; }

@media (hover: hover) and (pointer: fine) {
  .page-gas-fireplace-repair .gfr-step-card,
  .page-gas-fireplace-repair .gfr-review-card {
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
  }
  .page-gas-fireplace-repair .gfr-step-card:hover,
  .page-gas-fireplace-repair .gfr-review-card:hover {
    transform: translateY(-2px);
    border-color: rgba(14, 124, 123, 0.32);
    box-shadow: 0 16px 34px -24px rgba(18, 48, 71, 0.30);
  }
  .page-gas-fireplace-repair .gfr-match-strip-item:hover {
    background: rgba(14, 124, 123, 0.12);
    border-color: rgba(14, 124, 123, 0.18);
    transform: translateY(-1px);
  }
}

@media (hover: none) {
  .page-gas-fireplace-repair .gfr-symptom-card:hover,
  .page-gas-fireplace-repair .gfr-service-card:hover,
  .page-gas-fireplace-repair .gfr-benefit-card:hover,
  .page-gas-fireplace-repair .gfr-region-card:hover,
  .page-gas-fireplace-repair .gfr-step-card:hover,
  .page-gas-fireplace-repair .gfr-review-card:hover {
    transform: none;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .page-gas-fireplace-repair header[data-gfr-header],
  .page-gas-fireplace-repair header[data-gfr-header] img,
  .page-gas-fireplace-repair .gfr-symptom-card,
  .page-gas-fireplace-repair .gfr-service-card,
  .page-gas-fireplace-repair .gfr-step-card,
  .page-gas-fireplace-repair .gfr-benefit-card,
  .page-gas-fireplace-repair .gfr-review-card,
  .page-gas-fireplace-repair .gfr-region-card,
  .page-gas-fireplace-repair .gfr-strip-cta,
  .page-gas-fireplace-repair .gfr-strip-cta .gfr-icon,
  .page-gas-fireplace-repair .gfr-optional-panel,
  .page-gas-fireplace-repair .gfr-form-success,
  .page-gas-fireplace-repair .gfr-faq-item,
  .page-gas-fireplace-repair .gfr-faq-toggle-icon,
  .page-gas-fireplace-repair .gfr-symptom-toggle .gfr-icon,
  .page-gas-fireplace-repair .gfr-faq-more .gfr-icon {
    transition: none !important;
  }
}

/* Gas fireplace: real service work gallery */
.page-gas-fireplace-repair .gfr-real-work-section {
  padding-top: 1.75rem;
  padding-bottom: 1.5rem;
}

.page-gas-fireplace-repair .gfr-real-work-section .gfr-section-head {
  max-width: 46rem;
}

.page-gas-fireplace-repair .gfr-real-work-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.page-gas-fireplace-repair .gfr-real-work-proof-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.52rem 0.9rem;
  border-radius: 999px;
  border: 1px solid rgba(14, 124, 123, 0.16);
  background: rgba(14, 124, 123, 0.08);
  color: #0a5d5c;
  font-size: 0.84rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  cursor: default;
}

.page-gas-fireplace-repair .gfr-real-work-proof-badge .gfr-icon {
  width: 0.95rem;
  height: 0.95rem;
  flex-shrink: 0;
}

.page-gas-fireplace-repair .gfr-real-work-microcopy {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-top: 1rem;
  color: #123047;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.5;
}

.page-gas-fireplace-repair .gfr-real-work-microcopy-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #0e7c7b;
  flex-shrink: 0;
}

.page-gas-fireplace-repair .gfr-real-work-microcopy-icon .gfr-icon {
  width: 1rem;
  height: 1rem;
}

.page-gas-fireplace-repair .gfr-real-work-gallery-shell {
  margin-top: 1.75rem;
}

.page-gas-fireplace-repair .gfr-real-work-gallery-track {
  display: flex;
  gap: 0.875rem;
  overflow-x: auto;
  padding-bottom: 0.3rem;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.page-gas-fireplace-repair .gfr-real-work-gallery-track::-webkit-scrollbar {
  display: none;
}

.page-gas-fireplace-repair .gfr-real-work-card {
  min-width: clamp(17rem, 88vw, 24rem);
  flex: 0 0 auto;
  scroll-snap-align: start;
  border-radius: 1.25rem;
  border: 1px solid rgba(18, 48, 71, 0.1);
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(18, 48, 71, 0.05), 0 18px 34px -26px rgba(18, 48, 71, 0.28);
  overflow: hidden;
  cursor: default;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.page-gas-fireplace-repair .gfr-real-work-card:hover {
  transform: translateY(-2px);
  border-color: rgba(14, 124, 123, 0.28);
  box-shadow: 0 18px 34px -24px rgba(18, 48, 71, 0.22);
}

.page-gas-fireplace-repair .gfr-real-work-media {
  position: relative;
  width: 100%;
  min-height: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #dfe8ec;
}

.page-gas-fireplace-repair .gfr-real-work-media::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 48%;
  background: linear-gradient(180deg, rgba(10, 23, 33, 0) 0%, rgba(10, 23, 33, 0.08) 24%, rgba(10, 23, 33, 0.72) 100%);
  pointer-events: none;
}

.page-gas-fireplace-repair .gfr-real-work-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--gfr-real-work-object-position-mobile, center center);
  display: block;
}

.page-gas-fireplace-repair .gfr-real-work-caption {
  position: absolute;
  inset: auto 0 0 0;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  gap: 0.75rem;
  padding: 1rem 1rem 0.95rem;
  color: #ffffff;
}

.page-gas-fireplace-repair .gfr-real-work-caption-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #ffffff;
  flex-shrink: 0;
}

.page-gas-fireplace-repair .gfr-real-work-caption-icon .gfr-icon {
  width: 1rem;
  height: 1rem;
}

.page-gas-fireplace-repair .gfr-real-work-caption h3 {
  margin: 0;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
}

.page-gas-fireplace-repair .gfr-real-work-caption p {
  margin: 0.2rem 0 0;
  color: rgba(245, 247, 249, 0.88);
  font-size: 0.82rem;
  line-height: 1.45;
}

.page-gas-fireplace-repair .gfr-real-work-mobile-controls {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  margin-top: 1rem;
}

.page-gas-fireplace-repair .gfr-real-work-mobile-status {
  flex: 1 1 auto;
  min-width: 0;
}

.page-gas-fireplace-repair .gfr-real-work-mobile-counter {
  margin: 0;
  color: #4a5a64;
  font-size: 0.88rem;
  text-align: center;
}

.page-gas-fireplace-repair .gfr-real-work-mobile-counter strong {
  color: #123047;
  font-weight: 600;
}

.page-gas-fireplace-repair .gfr-real-work-nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 999px;
  border: 1px solid rgba(18, 48, 71, 0.14);
  background: #ffffff;
  color: #123047;
  box-shadow: 0 10px 22px -18px rgba(18, 48, 71, 0.35);
  transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

.page-gas-fireplace-repair .gfr-real-work-nav-btn:hover {
  transform: translateY(-1px);
  border-color: rgba(14, 124, 123, 0.28);
  background: #f8fbfb;
}

.page-gas-fireplace-repair .gfr-real-work-nav-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  transform: none;
}

.page-gas-fireplace-repair .gfr-real-work-nav-btn .gfr-icon {
  width: 1rem;
  height: 1rem;
}

.page-gas-fireplace-repair .gfr-real-work-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  margin-top: 0.65rem;
}

.page-gas-fireplace-repair .gfr-real-work-dot {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  border: 0;
  background: rgba(18, 48, 71, 0.18);
  padding: 0;
  transition: transform 180ms ease, background-color 180ms ease;
}

.page-gas-fireplace-repair .gfr-real-work-dot.is-active {
  background: #0e7c7b;
  transform: scale(1.18);
}

.page-gas-fireplace-repair .gfr-real-work-provenance {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  max-width: 60rem;
  margin-top: 1rem;
  color: #5b6a74;
  font-size: 0.84rem;
  line-height: 1.6;
}

.page-gas-fireplace-repair .gfr-real-work-provenance-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #0e7c7b;
  flex-shrink: 0;
  margin-top: 0.1rem;
}

.page-gas-fireplace-repair .gfr-real-work-provenance-icon .gfr-icon {
  width: 1rem;
  height: 1rem;
}

.page-gas-fireplace-repair .gfr-real-work-cta {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
  padding: 1.25rem;
  border-radius: 1.25rem;
  border: 1px solid rgba(196, 154, 86, 0.26);
  background: linear-gradient(135deg, #123047 0%, #183b54 56%, #1d4a62 100%);
  box-shadow: 0 20px 34px -28px rgba(18, 48, 71, 0.35);
}

.page-gas-fireplace-repair .gfr-real-work-cta-copy h3 {
  margin: 0.3rem 0 0;
  color: #ffffff;
  font-size: 1.45rem;
  line-height: 1.25;
}

.page-gas-fireplace-repair .gfr-real-work-cta-copy p {
  margin: 0.55rem 0 0;
  color: rgba(245, 239, 228, 0.92);
  line-height: 1.6;
}

.page-gas-fireplace-repair .gfr-real-work-cta-copy .gfr-real-work-cta-price {
  display: inline-flex;
  width: fit-content;
  margin-top: 0.85rem;
  padding: 0.45rem 0.7rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.page-gas-fireplace-repair .gfr-real-work-cta-eyebrow {
  margin: 0;
  color: #f3d7a1;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.page-gas-fireplace-repair .gfr-real-work-cta .gfr-strip-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  align-self: center;
  min-height: 3.5rem;
  padding: 0.95rem 1.4rem;
  border: 0;
  border-radius: 0.95rem;
  background: #ffffff;
  color: #123047;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 12px 28px -18px rgba(0, 0, 0, 0.38);
  transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, color 180ms ease;
}

.page-gas-fireplace-repair .gfr-real-work-cta .gfr-strip-cta:hover {
  transform: translateY(-1px);
  background: #f4efe7;
  box-shadow: 0 16px 30px -18px rgba(0, 0, 0, 0.34);
}

.page-gas-fireplace-repair .gfr-real-work-cta .gfr-strip-cta .gfr-icon {
  width: 1rem;
  height: 1rem;
  transition: transform 180ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .page-gas-fireplace-repair .gfr-real-work-cta .gfr-strip-cta:hover .gfr-icon {
    transform: translateX(0.22rem);
  }
}

@media (min-width: 768px) {
  .page-gas-fireplace-repair .gfr-real-work-section {
    padding-top: 2rem;
    padding-bottom: 1.75rem;
  }

  .page-gas-fireplace-repair .gfr-real-work-media img {
    object-position: var(--gfr-real-work-object-position, center center);
  }

  .page-gas-fireplace-repair .gfr-real-work-gallery-track {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    overflow: visible;
    padding-bottom: 0;
    scroll-snap-type: none;
  }

  .page-gas-fireplace-repair .gfr-real-work-card {
    min-width: 0;
  }

  .page-gas-fireplace-repair .gfr-real-work-mobile-controls {
    display: none;
  }

  .page-gas-fireplace-repair .gfr-real-work-cta {
    padding: 1.45rem 1.5rem;
  }

  .page-gas-fireplace-repair .gfr-real-work-cta .gfr-strip-cta {
    width: auto;
  }
}

@media (min-width: 1024px) {
  .page-gas-fireplace-repair .gfr-real-work-section {
    padding-top: 2.25rem;
    padding-bottom: 1.5rem;
  }

  .page-gas-fireplace-repair .gfr-real-work-gallery-track {
    grid-template-columns: repeat(15, minmax(0, 1fr));
    grid-template-rows: clamp(11.75rem, 16vw, 16rem) clamp(11.75rem, 16vw, 16rem) clamp(10.5rem, 14vw, 14rem);
  }

  .page-gas-fireplace-repair .gfr-real-work-card,
  .page-gas-fireplace-repair .gfr-real-work-media {
    height: 100%;
  }

  .page-gas-fireplace-repair .gfr-real-work-card--featured {
    grid-column: 1 / 10;
    grid-row: 1 / 3;
  }

  .page-gas-fireplace-repair .gfr-real-work-card--stack-top {
    grid-column: 10 / 16;
    grid-row: 1 / 2;
  }

  .page-gas-fireplace-repair .gfr-real-work-card--stack-bottom {
    grid-column: 10 / 16;
    grid-row: 2 / 3;
  }

  .page-gas-fireplace-repair .gfr-real-work-card--row-left {
    grid-column: 1 / 6;
    grid-row: 3 / 4;
  }

  .page-gas-fireplace-repair .gfr-real-work-card--row-center {
    grid-column: 6 / 11;
    grid-row: 3 / 4;
  }

  .page-gas-fireplace-repair .gfr-real-work-card--row-right {
    grid-column: 11 / 16;
    grid-row: 3 / 4;
  }

  .page-gas-fireplace-repair .gfr-real-work-caption {
    padding: 1.1rem 1.1rem 1rem;
  }

  .page-gas-fireplace-repair .gfr-real-work-cta {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.5rem;
    padding: 1.5rem 1.75rem;
  }
}

.page-gas-fireplace-repair .gfr-real-work-section + section[aria-labelledby="why-heading"] {
  padding-top: 1.75rem;
}

@media (min-width: 1024px) {
  .page-gas-fireplace-repair .gfr-real-work-section + section[aria-labelledby="why-heading"] {
    padding-top: 2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-gas-fireplace-repair .gfr-real-work-card,
  .page-gas-fireplace-repair .gfr-real-work-nav-btn,
  .page-gas-fireplace-repair .gfr-real-work-dot,
  .page-gas-fireplace-repair .gfr-real-work-cta .gfr-strip-cta,
  .page-gas-fireplace-repair .gfr-real-work-cta .gfr-strip-cta .gfr-icon {
    transition: none;
  }
}

/* Gas fireplace: service options */
.page-gas-fireplace-repair .service-pricing-teaser {
  display: grid;
  gap: 0.85rem;
  max-width: 40rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 1.1rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.09), rgba(14, 124, 123, 0.14));
  backdrop-filter: blur(10px);
}

.page-gas-fireplace-repair .service-pricing-teaser__title {
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
}

.page-gas-fireplace-repair .service-pricing-teaser__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.page-gas-fireplace-repair .service-pricing-teaser__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  min-height: 2.75rem;
  padding: 0.6rem 0.85rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.11);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: rgba(244, 239, 231, 0.96);
  font-size: 0.84rem;
  line-height: 1.3;
}

.page-gas-fireplace-repair .service-pricing-teaser__chip strong {
  color: #ffffff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
}

.page-gas-fireplace-repair .service-pricing-teaser__chip--priority {
  background: rgba(14, 124, 123, 0.18);
  border-color: rgba(196, 154, 86, 0.28);
}

.page-gas-fireplace-repair .service-pricing-teaser__link {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 2.75rem;
  color: #ffffff;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
}

.page-gas-fireplace-repair .service-pricing-teaser__link .gfr-icon {
  width: 1rem;
  height: 1rem;
  transition: transform 180ms ease;
}

.page-gas-fireplace-repair .service-pricing-teaser__link:hover .gfr-icon {
  transform: translateX(4px);
}

.page-gas-fireplace-repair .service-options {
  position: relative;
}

.page-gas-fireplace-repair .service-options .container-content {
  display: grid;
  gap: 1.5rem;
}

.page-gas-fireplace-repair .service-options__emphasis {
  display: grid;
  gap: 0.45rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(14, 124, 123, 0.12);
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(14, 124, 123, 0.06), rgba(14, 124, 123, 0.03));
}

.page-gas-fireplace-repair .service-options__emphasis-primary {
  color: #123047;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.45;
}

.page-gas-fireplace-repair .service-options__emphasis-secondary {
  color: #0a5d5c;
  font-size: 0.92rem;
  font-weight: 600;
}

.page-gas-fireplace-repair .service-options__timing-line {
  margin: -0.35rem 0 0;
  color: #123047;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.45;
}

.page-gas-fireplace-repair .service-options__shared-value {
  display: grid;
  gap: 0.8rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(18, 48, 71, 0.08);
  border-radius: 1rem;
  background: #f9fbfc;
}

.page-gas-fireplace-repair .service-options__shared-value-label {
  color: #123047;
  font-size: 0.85rem;
  font-weight: 700;
}

.page-gas-fireplace-repair .service-options__shared-items {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.page-gas-fireplace-repair .service-options__shared-item {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.5rem 0.75rem;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid rgba(18, 48, 71, 0.08);
  color: #4a5a64;
  font-size: 0.84rem;
  font-weight: 600;
}

.page-gas-fireplace-repair .service-options__shared-item--strong {
  color: #123047;
}

.page-gas-fireplace-repair .service-options__shared-item .gfr-icon {
  width: 0.95rem;
  height: 0.95rem;
  color: #0e7c7b;
  flex-shrink: 0;
}

.page-gas-fireplace-repair .service-options__fieldset {
  min-width: 0;
}

.page-gas-fireplace-repair .service-options__grid {
  display: grid;
  gap: 1rem;
}

.page-gas-fireplace-repair .service-option-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
  padding: 1.35rem;
  border: 1px solid rgba(18, 48, 71, 0.12);
  border-radius: 1.35rem;
  background: #ffffff;
  box-shadow: 0 14px 34px -28px rgba(18, 48, 71, 0.24);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
  cursor: pointer;
}

.page-gas-fireplace-repair .service-option-card--priority {
  background: linear-gradient(180deg, rgba(14, 124, 123, 0.08), rgba(255, 255, 255, 1) 32%);
  border-color: rgba(14, 124, 123, 0.26);
  box-shadow: 0 18px 38px -28px rgba(14, 124, 123, 0.26);
}

.page-gas-fireplace-repair .service-option-card--selected {
  border-color: rgba(14, 124, 123, 0.56);
  box-shadow: 0 22px 42px -28px rgba(14, 124, 123, 0.35);
}

.page-gas-fireplace-repair .service-option-card__radio {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}

.page-gas-fireplace-repair .service-option-card:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(14, 124, 123, 0.16), 0 22px 42px -28px rgba(14, 124, 123, 0.35);
}

.page-gas-fireplace-repair .service-option-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.page-gas-fireplace-repair .service-option-card__label {
  color: #123047;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.page-gas-fireplace-repair .service-option-card__badge {
  display: inline-flex;
  align-items: center;
  min-height: 1.9rem;
  margin-top: 0.5rem;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  background: rgba(18, 48, 71, 0.06);
  color: #4a5a64;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-gas-fireplace-repair .service-option-card--priority .service-option-card__badge {
  background: rgba(14, 124, 123, 0.14);
  color: #0a5d5c;
}

.page-gas-fireplace-repair .service-option-card__price-wrap {
  display: grid;
  justify-items: end;
  gap: 0.2rem;
  text-align: right;
}

.page-gas-fireplace-repair .service-option-card__price {
  color: #123047;
  font-size: 2.45rem;
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: -0.03em;
}

.page-gas-fireplace-repair .service-option-card--priority .service-option-card__price {
  color: #0a5d5c;
  font-size: 2.7rem;
}

.page-gas-fireplace-repair .service-option-card__timing {
  color: #4a5a64;
  font-size: 0.83rem;
  font-weight: 600;
  line-height: 1.35;
}

.page-gas-fireplace-repair .service-option-card__title {
  color: #123047;
  font-size: 1.28rem;
  font-weight: 700;
  line-height: 1.2;
}

.page-gas-fireplace-repair .service-option-card__support {
  color: #2e3b43;
  font-size: 0.95rem;
  line-height: 1.6;
}

.page-gas-fireplace-repair .service-option-card__secondary {
  color: #4a5a64;
  font-size: 0.88rem;
  line-height: 1.55;
}

.page-gas-fireplace-repair .service-option-card__included {
  display: grid;
  gap: 0.6rem;
}

.page-gas-fireplace-repair .service-option-card__included li {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  color: #123047;
  font-size: 0.9rem;
  line-height: 1.5;
}

.page-gas-fireplace-repair .service-option-card__included .gfr-icon {
  width: 0.95rem;
  height: 0.95rem;
  color: #0e7c7b;
  flex-shrink: 0;
  margin-top: 0.2rem;
}

.page-gas-fireplace-repair .service-option-card__included-item--premium {
  margin: 0.15rem 0;
  padding: 0.6rem 0.7rem;
  border: 1px solid rgba(196, 154, 86, 0.32);
  border-radius: 0.85rem;
  background: rgba(250, 241, 223, 0.72);
  color: #123047;
  font-weight: 700;
}

.page-gas-fireplace-repair .service-option-card__included-item--premium .gfr-icon {
  color: #c49a56;
}

.page-gas-fireplace-repair .service-option-card__footer {
  display: grid;
  gap: 0.7rem;
  margin-top: auto;
}

.page-gas-fireplace-repair .service-option-card__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  width: 100%;
  min-height: 3rem;
  padding: 0.85rem 1rem;
  border-radius: 0.95rem;
  border: 1px solid rgba(14, 124, 123, 0.26);
  background: #ffffff;
  color: #123047;
  font-size: 0.95rem;
  font-weight: 700;
  text-align: center;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.page-gas-fireplace-repair .service-option-card__cta .gfr-icon {
  width: 1rem;
  height: 1rem;
  transition: transform 180ms ease;
}

.page-gas-fireplace-repair .service-option-card__cta:hover .gfr-icon {
  transform: translateX(4px);
}

.page-gas-fireplace-repair .service-option-card--priority .service-option-card__cta,
.page-gas-fireplace-repair .service-option-card--selected .service-option-card__cta {
  background: #0e7c7b;
  border-color: #0e7c7b;
  color: #ffffff;
}

.page-gas-fireplace-repair .service-option-card__selected {
  display: none;
  align-items: center;
  gap: 0.45rem;
  color: #0a5d5c;
  font-size: 0.82rem;
  font-weight: 700;
}

.page-gas-fireplace-repair .service-option-card__selected::before {
  content: "";
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  background: #0e7c7b;
  flex-shrink: 0;
}

.page-gas-fireplace-repair .service-option-card--selected .service-option-card__selected {
  display: inline-flex;
}

.page-gas-fireplace-repair .service-options__clarification {
  display: grid;
  gap: 0.45rem;
}

.page-gas-fireplace-repair .service-options__confidence {
  color: #123047;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.45;
}

.page-gas-fireplace-repair .service-options__clarification-copy {
  color: #4a5a64;
  font-size: 0.92rem;
  line-height: 1.6;
}

.page-gas-fireplace-repair .service-options__availability {
  color: #6b7a84;
  font-size: 0.82rem;
  line-height: 1.55;
}

.page-gas-fireplace-repair .service-options__helper {
  display: grid;
  gap: 1rem;
  align-items: center;
  padding: 1.15rem 1.1rem;
  border: 1px solid rgba(18, 48, 71, 0.08);
  border-radius: 1.1rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(244, 239, 231, 0.48));
}

.page-gas-fireplace-repair .service-options__helper-title {
  color: #123047;
  font-size: 1rem;
  font-weight: 700;
}

.page-gas-fireplace-repair .service-options__helper-copy {
  margin-top: 0.35rem;
  color: #4a5a64;
  font-size: 0.92rem;
  line-height: 1.6;
}

.page-gas-fireplace-repair .service-options__helper-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  min-height: 3rem;
  padding: 0.85rem 1.1rem;
  border-radius: 0.95rem;
  border: 1px solid rgba(18, 48, 71, 0.12);
  background: #123047;
  color: #ffffff;
  font-size: 0.95rem;
  font-weight: 700;
}

.page-gas-fireplace-repair .service-options__helper-cta .gfr-icon {
  width: 1rem;
  height: 1rem;
  transition: transform 180ms ease;
}

.page-gas-fireplace-repair .service-options__helper-cta:hover .gfr-icon {
  transform: translateX(4px);
}

.page-gas-fireplace-repair .service-options__form-wrap {
  display: grid;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transform: translateY(-8px);
  transition: max-height 210ms ease, opacity 210ms ease, transform 210ms ease, margin-top 210ms ease;
}

.page-gas-fireplace-repair .service-options__form-wrap.is-visible {
  max-height: 80rem;
  opacity: 1;
  transform: translateY(0);
}

.page-gas-fireplace-repair .service-options__trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.page-gas-fireplace-repair .service-options__trust span {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: #4a5a64;
  font-size: 0.83rem;
  font-weight: 600;
}

.page-gas-fireplace-repair .service-options__trust .gfr-icon {
  width: 0.95rem;
  height: 0.95rem;
  color: #0e7c7b;
}

.page-gas-fireplace-repair .gfr-service-option-chip {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.85rem;
  margin-bottom: 1rem;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(14, 124, 123, 0.18);
  border-radius: 1rem;
  background: linear-gradient(180deg, rgba(14, 124, 123, 0.06), rgba(14, 124, 123, 0.02));
}

.page-gas-fireplace-repair .gfr-service-option-chip-primary {
  color: #123047;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.35;
}

.page-gas-fireplace-repair .gfr-service-option-chip-secondary {
  margin-top: 0.2rem;
  color: #4a5a64;
  font-size: 0.82rem;
  line-height: 1.5;
}

.page-gas-fireplace-repair .gfr-service-option-change {
  min-height: 2.75rem;
  color: #0e7c7b;
  font-size: 0.84rem;
  font-weight: 700;
  white-space: nowrap;
}

.page-gas-fireplace-repair .gfr-service-option-picker {
  position: relative;
  margin-bottom: 1rem;
}

.page-gas-fireplace-repair .gfr-service-option-picker-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.9rem;
  width: 100%;
  min-height: 4.5rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(18, 48, 71, 0.12);
  border-radius: 1rem;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfc 100%);
  color: #123047;
  text-align: left;
  transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.page-gas-fireplace-repair .gfr-service-option-picker.is-selected .gfr-service-option-picker-trigger {
  border-color: rgba(14, 124, 123, 0.3);
  background: linear-gradient(180deg, rgba(14, 124, 123, 0.06), rgba(14, 124, 123, 0.02));
}

.page-gas-fireplace-repair .gfr-service-option-picker-trigger:hover {
  border-color: rgba(14, 124, 123, 0.24);
}

.page-gas-fireplace-repair .gfr-service-option-picker-trigger:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(14, 124, 123, 0.16);
}

.page-gas-fireplace-repair .gfr-service-option-picker-copy {
  min-width: 0;
}

.page-gas-fireplace-repair .gfr-service-option-picker-label {
  color: #4a5a64;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-gas-fireplace-repair .gfr-service-option-picker-title {
  margin-top: 0.2rem;
  color: #123047;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.35;
}

.page-gas-fireplace-repair .gfr-service-option-picker-subtitle {
  margin-top: 0.25rem;
  color: #4a5a64;
  font-size: 0.82rem;
  line-height: 1.5;
}

.page-gas-fireplace-repair .gfr-service-option-picker-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 999px;
  background: rgba(18, 48, 71, 0.06);
  color: #0e7c7b;
  flex-shrink: 0;
}

.page-gas-fireplace-repair .gfr-service-option-picker-icon .gfr-icon {
  width: 1rem;
  height: 1rem;
  transition: transform 180ms ease;
}

.page-gas-fireplace-repair .gfr-service-option-picker.is-open .gfr-service-option-picker-icon .gfr-icon {
  transform: rotate(180deg);
}

.page-gas-fireplace-repair .gfr-service-option-picker-menu {
  position: absolute;
  top: calc(100% + 0.45rem);
  left: 0;
  right: 0;
  z-index: 10;
  display: grid;
  gap: 0.55rem;
  padding: 0.75rem;
  border: 1px solid rgba(18, 48, 71, 0.12);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 24px 44px -30px rgba(18, 48, 71, 0.35);
}

.page-gas-fireplace-repair .gfr-service-option-picker-menu-title {
  margin: 0 0 0.2rem;
  color: #123047;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.page-gas-fireplace-repair .gfr-service-option-picker-menu.hidden,
.page-gas-fireplace-repair .gfr-service-option-picker-menu[hidden] {
  display: none;
}

.page-gas-fireplace-repair .gfr-service-option-picker-option {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.7rem;
  width: 100%;
  min-height: 3.6rem;
  padding: 0.85rem 0.9rem;
  border: 1px solid rgba(18, 48, 71, 0.1);
  border-radius: 0.9rem;
  background: #ffffff;
  color: #123047;
  text-align: left;
  transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.page-gas-fireplace-repair .gfr-service-option-picker-option:hover,
.page-gas-fireplace-repair .gfr-service-option-picker-option.is-active {
  border-color: rgba(14, 124, 123, 0.34);
  background: rgba(14, 124, 123, 0.06);
}

.page-gas-fireplace-repair .gfr-service-option-picker-option.is-active {
  box-shadow: 0 0 0 1px rgba(14, 124, 123, 0.26), 0 14px 24px -22px rgba(14, 124, 123, 0.45);
}

.page-gas-fireplace-repair .gfr-service-option-picker-option--priority {
  background: linear-gradient(180deg, rgba(14, 124, 123, 0.08), #ffffff 100%);
}

.page-gas-fireplace-repair .gfr-service-option-picker-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  border: 1px solid rgba(18, 48, 71, 0.16);
  border-radius: 999px;
  color: transparent;
  flex-shrink: 0;
}

.page-gas-fireplace-repair .gfr-service-option-picker-check .gfr-icon {
  width: 0.82rem;
  height: 0.82rem;
}

.page-gas-fireplace-repair .gfr-service-option-picker-option.is-active .gfr-service-option-picker-check {
  border-color: #0e7c7b;
  background: #0e7c7b;
  color: #ffffff;
}

.page-gas-fireplace-repair .gfr-service-option-picker-option-main {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
  margin-right: auto;
}

.page-gas-fireplace-repair .gfr-service-option-picker-option-main strong {
  color: #123047;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.3;
}

.page-gas-fireplace-repair .gfr-service-option-picker-option-main span {
  color: #4a5a64;
  font-size: 0.78rem;
  line-height: 1.45;
}

.page-gas-fireplace-repair .gfr-service-option-picker-option-meta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.8rem;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: rgba(18, 48, 71, 0.06);
  color: #0a5d5c;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  flex-shrink: 0;
}

.page-gas-fireplace-repair .service-options__final-reminder {
  display: grid;
  gap: 0.35rem;
  margin-top: 1rem;
  margin-bottom: 1rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.08);
}

.page-gas-fireplace-repair .service-options__final-reminder-primary {
  color: #ffffff;
  font-size: 0.96rem;
  font-weight: 700;
  line-height: 1.4;
}

.page-gas-fireplace-repair .service-options__final-reminder-secondary {
  color: rgba(244, 239, 231, 0.92);
  font-size: 0.82rem;
  line-height: 1.5;
}

.page-gas-fireplace-repair .service-options__final-reminder-link {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 2.75rem;
  color: #ffffff;
  font-size: 0.86rem;
  font-weight: 700;
  text-decoration: none;
}

.page-gas-fireplace-repair .service-options__final-reminder-link .gfr-icon {
  width: 1rem;
  height: 1rem;
  transition: transform 180ms ease;
}

.page-gas-fireplace-repair .service-options__final-reminder-link:hover .gfr-icon {
  transform: translateX(4px);
}

.page-gas-fireplace-repair .service-options__final-reminder--selected {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(14, 124, 123, 0.35);
}

@media (min-width: 768px) {
  .page-gas-fireplace-repair .service-options__helper {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}

@media (min-width: 1024px) {
  .page-gas-fireplace-repair .service-options__grid {
    grid-template-columns: minmax(0, 0.48fr) minmax(0, 0.52fr);
    gap: 1.4rem;
  }

  .page-gas-fireplace-repair .service-option-card--priority {
    transform: translateY(-0.35rem);
  }
}

@media (max-width: 767.98px) {
  .page-gas-fireplace-repair .service-pricing-teaser {
    padding: 0.95rem 0.95rem 1rem;
  }

  .page-gas-fireplace-repair .service-pricing-teaser__chip {
    width: 100%;
    justify-content: space-between;
  }

  .page-gas-fireplace-repair .service-option-card {
    padding: 1.15rem;
  }

  .page-gas-fireplace-repair .service-option-card__header {
    flex-direction: column;
  }

  .page-gas-fireplace-repair .service-option-card__price-wrap {
    justify-items: start;
    text-align: left;
  }

  .page-gas-fireplace-repair .service-options__shared-items {
    flex-direction: column;
  }

  .page-gas-fireplace-repair .service-options__shared-item {
    width: 100%;
  }

  .page-gas-fireplace-repair .service-options__helper-cta,
  .page-gas-fireplace-repair .service-option-card__cta {
    width: 100%;
  }

  .page-gas-fireplace-repair .gfr-service-option-chip {
    flex-direction: column;
  }

  .page-gas-fireplace-repair .gfr-service-option-picker-trigger {
    padding: 0.9rem;
  }

  .page-gas-fireplace-repair .gfr-service-option-picker-menu {
    position: static;
    margin-top: 0.55rem;
    box-shadow: none;
  }

  .page-gas-fireplace-repair .gfr-service-option-picker-option {
    flex-direction: column;
    align-items: flex-start;
  }

  .page-gas-fireplace-repair .gfr-service-option-picker-check {
    position: absolute;
    top: 0.85rem;
    right: 0.85rem;
  }

  .page-gas-fireplace-repair .gfr-service-option-picker-option {
    position: relative;
    padding-right: 2.8rem;
  }
}

@media (hover: hover) and (pointer: fine) {
  .page-gas-fireplace-repair .service-option-card:hover {
    transform: translateY(-2px);
    border-color: rgba(14, 124, 123, 0.3);
    box-shadow: 0 22px 38px -28px rgba(18, 48, 71, 0.32);
  }

  .page-gas-fireplace-repair .service-option-card--priority:hover {
    transform: translateY(-0.5rem);
  }

  .page-gas-fireplace-repair .service-option-card__cta:hover {
    border-color: rgba(14, 124, 123, 0.4);
    background: rgba(14, 124, 123, 0.08);
  }

  .page-gas-fireplace-repair .service-option-card--priority .service-option-card__cta:hover,
  .page-gas-fireplace-repair .service-option-card--selected .service-option-card__cta:hover {
    background: #0a5d5c;
    border-color: #0a5d5c;
  }
}

/* Dryer Vent Cleaning Florida — aggressive paid-traffic experiment */
.page-dryer-vent-cleaning-florida .florida-hero {
  min-height: 720px;
}

.page-dryer-vent-cleaning-florida .florida-hero .gfr-hero-media img {
  object-position: 56% center;
}

.page-dryer-vent-cleaning-florida .florida-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(8, 28, 42, 0.96) 0%, rgba(18, 48, 71, 0.86) 38%, rgba(18, 48, 71, 0.42) 64%, rgba(18, 48, 71, 0.18) 100%),
    linear-gradient(0deg, rgba(8, 28, 42, 0.74) 0%, rgba(8, 28, 42, 0.08) 44%, rgba(8, 28, 42, 0.18) 100%);
}

.page-dryer-vent-cleaning-florida .florida-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  order: 6;
}

.page-dryer-vent-cleaning-florida .florida-hero p.order-3 {
  font-weight: 400;
}

.page-dryer-vent-cleaning-florida .florida-hero-primary,
.page-dryer-vent-cleaning-florida .florida-hero-phone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 3.25rem;
  border-radius: 0.85rem;
  padding: 0.85rem 1.05rem;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.2;
}

.page-dryer-vent-cleaning-florida .florida-hero-primary {
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: #0e7c7b;
  color: #ffffff;
  box-shadow: 0 18px 38px -28px rgba(0, 0, 0, 0.5);
}

.page-dryer-vent-cleaning-florida .florida-hero-primary:hover {
  background: #0a5d5c;
}

.page-dryer-vent-cleaning-florida .florida-hero-phone {
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

.page-dryer-vent-cleaning-florida .florida-hero-primary .gfr-icon,
.page-dryer-vent-cleaning-florida .florida-hero-phone .gfr-icon {
  width: 1.05rem;
  height: 1.05rem;
  flex-shrink: 0;
}

.page-dryer-vent-cleaning-florida .gfr-static-service-option {
  margin-bottom: 1rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(14, 124, 123, 0.18);
  border-radius: 0.95rem;
  background: linear-gradient(180deg, rgba(14, 124, 123, 0.07) 0%, rgba(18, 48, 71, 0.035) 100%);
}

.page-dryer-vent-cleaning-florida .gfr-static-service-option__eyebrow {
  color: #0a5d5c;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.page-dryer-vent-cleaning-florida .gfr-static-service-option__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 0.3rem;
  color: #123047;
}

.page-dryer-vent-cleaning-florida .gfr-static-service-option__row strong,
.page-dryer-vent-cleaning-florida .gfr-static-service-option__row span {
  font-weight: 700;
}

.page-dryer-vent-cleaning-florida .gfr-static-service-option__meta {
  margin-top: 0.2rem;
  color: #4a5a64;
  font-size: 0.85rem;
  line-height: 1.45;
}

.page-dryer-vent-cleaning-florida .gfr-form-legal-copy {
  font-size: 0.68rem;
  line-height: 1.35;
}

.page-dryer-vent-cleaning-florida .florida-hero-trust {
  order: 8;
}

.page-dryer-vent-cleaning-florida .florida-hero-form-wrap {
  order: 6;
}

.page-dryer-vent-cleaning-florida .florida-mobile-hero-call {
  order: 4;
}

.page-dryer-vent-cleaning-florida .florida-mobile-hero-rating {
  order: 5;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  justify-content: stretch;
  gap: 0.95rem;
  width: 100%;
  max-width: 39rem;
  margin: 0.1rem 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #ffffff;
  box-shadow: none;
}

.page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__content {
  min-width: 0;
  text-align: left;
}

.page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__row {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.38rem;
  margin-top: 0;
}

.page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__score {
  color: #ffffff;
  font-size: 2.15rem;
  font-weight: 700;
  line-height: 1;
}

.page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__outof {
  max-width: 3rem;
  color: rgba(244, 239, 231, 0.92);
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.12;
}

.page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__stars {
  color: #f2a900;
  font-size: 1.08rem;
  letter-spacing: 0.03em;
  line-height: 1;
  white-space: nowrap;
}

.page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__total {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.22rem;
  margin-top: 0.22rem;
  color: rgba(244, 239, 231, 0.86);
  font-size: 0.72rem;
  line-height: 1.25;
  text-align: left;
}

.page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__brand-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  border-radius: 999px;
  background: #ffffff;
  box-shadow: 0 8px 18px -15px rgba(0, 0, 0, 0.7);
  font-family: Arial, sans-serif;
  font-size: 0.63rem;
  font-weight: 700;
  line-height: 1;
}

.page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__brand-icon--google {
  color: #4285f4;
}

.page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__brand-icon--yelp {
  color: #d32323;
  font-size: 0.95rem;
  font-weight: 800;
  transform: rotate(18deg);
}

.page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__brand-name {
  color: rgba(255, 255, 255, 0.92);
  font-weight: 600;
}

.page-dryer-vent-cleaning-florida .florida-mobile-hero-social-proof {
  display: grid;
  gap: 0.28rem;
  justify-items: end;
  min-width: 9.5rem;
}

.page-dryer-vent-cleaning-florida .florida-mobile-hero-avatars {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-start;
  padding-right: 0.12rem;
}

.page-dryer-vent-cleaning-florida .florida-mobile-hero-avatars img {
  width: 2.15rem;
  height: 2.15rem;
  border: 2px solid rgba(255, 255, 255, 0.92);
  border-radius: 999px;
  object-fit: cover;
  box-shadow: 0 10px 20px -16px rgba(0, 0, 0, 0.85);
}

.page-dryer-vent-cleaning-florida .florida-mobile-hero-avatars img + img {
  margin-right: -0.68rem;
}

.page-dryer-vent-cleaning-florida .florida-mobile-hero-quotes {
  position: relative;
  width: 10.4rem;
  min-height: 2.15rem;
  overflow: hidden;
  text-align: right;
}

.page-dryer-vent-cleaning-florida .florida-mobile-hero-quote {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.18;
  opacity: 0;
  transform: translateY(0.25rem);
  animation: floridaHeroQuoteCycle calc(var(--hero-review-count, 15) * 3s) ease-in-out infinite;
  animation-delay: calc(var(--hero-review-index, 0) * 3s);
}

.page-dryer-vent-cleaning-florida .florida-mobile-hero-quote:only-child {
  position: static;
  opacity: 1;
  transform: none;
  animation: none;
}

.page-dryer-vent-cleaning-florida .florida-hero-trust .gfr-icon-tile {
  color: #f1d9a8;
}

.page-dryer-vent-cleaning-florida .florida-hero-credential-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  order: 6;
  margin-top: 0.85rem;
  padding: 5px 0;
  overflow: visible;
  border: 0;
  border-radius: 1.1rem;
  background: #ffffff;
  box-shadow: none;
}

.page-dryer-vent-cleaning-florida .florida-hero-credential-strip img {
  width: min(31%, 7.2rem);
  max-width: 7.2rem;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 12px 18px rgba(0, 0, 0, 0.26));
}

.page-dryer-vent-cleaning-florida .florida-hero-credential-strip .florida-hero-credential-combined {
  width: 100%;
  max-width: 100%;
  max-height: none;
  object-fit: contain;
}

.page-dryer-vent-cleaning-florida .florida-form-badges {
  margin-top: 1rem;
  padding: 0.85rem;
  border: 1px solid rgba(244, 239, 231, 0.18);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 16px 34px -30px rgba(18, 48, 71, 0.45);
}

.page-dryer-vent-cleaning-florida .florida-form-badges img {
  width: 100%;
  max-height: 96px;
  object-fit: contain;
}

.page-dryer-vent-cleaning-florida .florida-form-badges p,
.page-dryer-vent-cleaning-florida .florida-disclaimer {
  margin-top: 0.7rem;
  color: #4a5a64;
  font-size: 0.82rem;
  line-height: 1.55;
}

.page-dryer-vent-cleaning-florida .service-option-card__price,
.page-dryer-vent-cleaning-florida .gfr-service-option-picker-menu-title {
  font-weight: 700;
}

.page-dryer-vent-cleaning-florida .florida-warning-grid {
  gap: 0.9rem;
}

.page-dryer-vent-cleaning-florida .florida-warning-grid .gfr-symptom-card {
  min-height: 10.5rem;
  padding: 1rem;
}

.page-dryer-vent-cleaning-florida .florida-warning-grid .gfr-symptom-card-head {
  gap: 0.8rem;
}

.page-dryer-vent-cleaning-florida .florida-inline-cta {
  display: grid;
  gap: 1rem;
  align-items: center;
  margin-top: 1.5rem;
  padding: 1.1rem;
  border: 1px solid rgba(14, 124, 123, 0.18);
  border-radius: 1rem;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbfb 100%);
  box-shadow: 0 16px 32px -28px rgba(18, 48, 71, 0.28);
}

.page-dryer-vent-cleaning-florida .florida-inline-cta--sand {
  background: #ffffff;
}

.page-dryer-vent-cleaning-florida .florida-inline-cta p {
  color: #123047;
  font-weight: 400;
  line-height: 1.5;
}

.page-dryer-vent-cleaning-florida .florida-inline-cta > p {
  font-weight: 700;
}

.page-dryer-vent-cleaning-florida #comparison .florida-inline-cta > p {
  font-weight: 400;
}

.page-dryer-vent-cleaning-florida .florida-strong-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 3.1rem;
  border-radius: 0.8rem;
  padding: 0.8rem 1rem;
  background: #0e7c7b;
  color: #ffffff;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.2;
  box-shadow: 0 16px 34px -28px rgba(18, 48, 71, 0.55);
  transition: background-color 150ms ease, transform 150ms ease;
}

.page-dryer-vent-cleaning-florida .florida-strong-cta:hover {
  background: #0a5d5c;
  transform: translateY(-1px);
}

.page-dryer-vent-cleaning-florida .florida-strong-cta .gfr-icon {
  width: 1.05rem;
  height: 1.05rem;
  flex-shrink: 0;
}

.page-dryer-vent-cleaning-florida .florida-cta-support {
  margin-top: 0.75rem;
  color: #4a5a64;
  font-size: 0.92rem;
  line-height: 1.55;
}

.page-dryer-vent-cleaning-florida .florida-proof-card-grid {
  display: grid;
  gap: 1rem;
  margin-top: 1.75rem;
}

.page-dryer-vent-cleaning-florida .florida-proof-card {
  display: grid;
  gap: 0.7rem;
  padding: 1.25rem;
  border: 1px solid rgba(18, 48, 71, 0.1);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 12px 28px -26px rgba(18, 48, 71, 0.3);
}

.page-dryer-vent-cleaning-florida .florida-card-head {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.page-dryer-vent-cleaning-florida .florida-card-head .gfr-icon-tile {
  flex-shrink: 0;
  width: auto;
  height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.page-dryer-vent-cleaning-florida .florida-card-head .gfr-icon,
.page-dryer-vent-cleaning-florida .florida-card-head .gfr-icon--image {
  width: 65px;
  height: 65px;
}

.page-dryer-vent-cleaning-florida .florida-proof-card h3 {
  color: #123047;
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.35;
}

.page-dryer-vent-cleaning-florida .florida-proof-card p {
  color: #4a5a64;
  line-height: 1.65;
}

.page-dryer-vent-cleaning-florida .florida-comparison-table {
  overflow: hidden;
  margin-top: 1.75rem;
  border: 1px solid rgba(18, 48, 71, 0.12);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 18px 42px -34px rgba(18, 48, 71, 0.32);
}

.page-dryer-vent-cleaning-florida .florida-comparison-head,
.page-dryer-vent-cleaning-florida .florida-comparison-row {
  display: grid;
  grid-template-columns: 1fr;
}

.page-dryer-vent-cleaning-florida .florida-comparison-head span {
  padding: 0.95rem 1rem;
  background: #123047;
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.page-dryer-vent-cleaning-florida .florida-comparison-row span {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 1rem;
  border-top: 1px solid rgba(18, 48, 71, 0.08);
  color: #2e3b43;
  line-height: 1.55;
}

.page-dryer-vent-cleaning-florida .florida-comparison-row span:last-child {
  background: rgba(14, 124, 123, 0.06);
  color: #123047;
  font-weight: 650;
}

.page-dryer-vent-cleaning-florida .florida-comparison-row .gfr-icon {
  width: 1.05rem;
  height: 1.05rem;
  margin-top: 0.2rem;
  color: #0e7c7b;
}

.page-dryer-vent-cleaning-florida .florida-proof-split {
  display: grid;
  gap: 1.5rem;
  align-items: center;
}

.page-dryer-vent-cleaning-florida .florida-badge-panel,
.page-dryer-vent-cleaning-florida .florida-local-photo,
.page-dryer-vent-cleaning-florida .florida-homeadvisor-panel {
  overflow: hidden;
  border: 1px solid rgba(18, 48, 71, 0.1);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 18px 42px -34px rgba(18, 48, 71, 0.32);
}

.page-dryer-vent-cleaning-florida .florida-badge-panel {
  padding: 0.85rem;
  background: #f8fbfb;
}

.page-dryer-vent-cleaning-florida .florida-badge-panel figcaption {
  display: none;
}

.page-dryer-vent-cleaning-florida .florida-badge-panel-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
  align-items: center;
}

.page-dryer-vent-cleaning-florida .florida-badge-panel-grid img {
  width: 100%;
  max-height: 8.4rem;
  object-fit: contain;
  border-radius: 50%;
  background: #ffffff;
  filter: drop-shadow(0 10px 16px rgba(18, 48, 71, 0.18));
}

.page-dryer-vent-cleaning-florida .florida-badge-panel-combined {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 0.85rem;
}

.page-dryer-vent-cleaning-florida .florida-badge-panel figcaption {
  margin: 0.75rem 0.25rem 0.15rem;
  color: #4a5a64;
  font-size: 0.88rem;
  line-height: 1.6;
}

.page-dryer-vent-cleaning-florida .florida-video-panel {
  overflow: hidden;
  padding: clamp(0.85rem, 2vw, 1.4rem);
  border: 1px solid rgba(18, 48, 71, 0.1);
  border-radius: 0.75rem;
  background: #ffffff;
  box-shadow: 0 18px 42px -34px rgba(18, 48, 71, 0.32);
}

.page-dryer-vent-cleaning-florida .florida-video-carousel {
  margin-top: 1.35rem;
}

.page-dryer-vent-cleaning-florida .florida-video-slide {
  display: grid;
  align-items: center;
  gap: 1.25rem;
  max-width: 52rem;
  margin: 0 auto;
}

.page-dryer-vent-cleaning-florida .florida-video-slide[hidden] {
  display: none;
}

.page-dryer-vent-cleaning-florida .florida-video-frame {
  position: relative;
  width: min(100%, 22rem);
  aspect-ratio: 9 / 16;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 0.65rem;
  background: #0b2235;
  box-shadow: 0 16px 34px -24px rgba(18, 48, 71, 0.7);
}

.page-dryer-vent-cleaning-florida .florida-video-poster {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  color: #ffffff;
}

.page-dryer-vent-cleaning-florida .florida-video-poster[hidden],
.page-dryer-vent-cleaning-florida .florida-proof-video[hidden] {
  display: none;
}

.page-dryer-vent-cleaning-florida .florida-video-poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 240ms ease;
}

.page-dryer-vent-cleaning-florida .florida-video-poster:hover img {
  transform: scale(1.015);
}

.page-dryer-vent-cleaning-florida .florida-video-play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  place-items: center;
  width: 4rem;
  height: 4rem;
  padding-left: 0.2rem;
  border: 2px solid rgba(255, 255, 255, 0.86);
  border-radius: 999px;
  background: rgba(11, 34, 53, 0.78);
  box-shadow: 0 16px 34px -18px rgba(0, 0, 0, 0.8);
  font-size: 1.25rem;
  line-height: 1;
  transform: translate(-50%, -50%);
  transition: background-color 160ms ease, transform 160ms ease;
}

.page-dryer-vent-cleaning-florida .florida-video-poster:hover .florida-video-play-icon,
.page-dryer-vent-cleaning-florida .florida-video-poster:focus-visible .florida-video-play-icon {
  background: #0e7c7b;
  transform: translate(-50%, -50%) scale(1.04);
}

.page-dryer-vent-cleaning-florida .florida-video-play-label {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  padding: 0.72rem 0.9rem;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 0.5rem;
  background: rgba(11, 34, 53, 0.82);
  box-shadow: 0 16px 30px -24px rgba(0, 0, 0, 0.9);
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
}

.page-dryer-vent-cleaning-florida .florida-video-copy {
  max-width: 26rem;
  margin: 0 auto;
  text-align: center;
}

.page-dryer-vent-cleaning-florida .florida-video-kicker {
  color: #0a5d5c;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.page-dryer-vent-cleaning-florida .florida-video-copy h3 {
  margin-top: 0.45rem;
  color: #123047;
  font-size: clamp(1.35rem, 1.1rem + 0.8vw, 1.75rem);
  font-weight: 700;
  line-height: 1.2;
}

.page-dryer-vent-cleaning-florida .florida-video-copy > p:last-child {
  margin-top: 0.65rem;
  color: #4a5a64;
  font-size: 1rem;
  line-height: 1.6;
}

.page-dryer-vent-cleaning-florida .florida-video-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  margin-top: 1rem;
}

.page-dryer-vent-cleaning-florida .florida-video-arrow {
  display: inline-grid;
  flex: 0 0 2.75rem;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid rgba(18, 48, 71, 0.15);
  border-radius: 999px;
  background: #ffffff;
  color: #123047;
  transition: background-color 150ms ease, color 150ms ease;
}

.page-dryer-vent-cleaning-florida .florida-video-arrow:hover:not(:disabled) {
  background: #0e7c7b;
  color: #ffffff;
}

.page-dryer-vent-cleaning-florida .florida-video-arrow:disabled {
  cursor: default;
  opacity: 0.38;
}

.page-dryer-vent-cleaning-florida .florida-video-arrow .gfr-icon {
  width: 1.15rem;
  height: 1.15rem;
}

.page-dryer-vent-cleaning-florida .florida-video-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
}

.page-dryer-vent-cleaning-florida .florida-video-dot {
  display: grid;
  place-items: center;
  width: 1.8rem;
  height: 2.75rem;
}

.page-dryer-vent-cleaning-florida .florida-video-dot::before {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  background: rgba(18, 48, 71, 0.28);
  content: '';
  transition: width 150ms ease, background-color 150ms ease;
}

.page-dryer-vent-cleaning-florida .florida-video-dot.is-active::before {
  width: 1.2rem;
  background: #0e7c7b;
}

.page-dryer-vent-cleaning-florida .florida-video-counter {
  min-width: 2.9rem;
  color: #4a5a64;
  font-size: 0.82rem;
  font-weight: 700;
  text-align: center;
}

.page-dryer-vent-cleaning-florida #reviews .gfr-section-head {
  display: grid;
  justify-items: center;
  max-width: 52rem;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.page-dryer-vent-cleaning-florida .gfr-aggregate-rating-card {
  display: grid;
  justify-items: center;
  gap: 0.75rem;
  width: min(100%, 35rem);
  margin-top: 1.25rem;
  padding: 1.2rem 1rem;
  border: 1px solid rgba(18, 48, 71, 0.1);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 18px 38px -34px rgba(18, 48, 71, 0.32);
}

.page-dryer-vent-cleaning-florida .gfr-aggregate-rating-brand {
  color: #123047;
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
}

.page-dryer-vent-cleaning-florida .gfr-aggregate-rating-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.65rem 1rem;
}

.page-dryer-vent-cleaning-florida .gfr-aggregate-rating-score {
  color: #5f6368;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}

.page-dryer-vent-cleaning-florida .gfr-aggregate-rating-outof {
  color: #5f6368;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.18;
  text-align: left;
}

.page-dryer-vent-cleaning-florida .gfr-aggregate-rating-card .gfr-trust-stars {
  display: inline-flex;
  gap: 0.2rem;
  color: #f4b000;
}

.page-dryer-vent-cleaning-florida .gfr-aggregate-rating-card .gfr-trust-stars .gfr-icon {
  width: 2.25rem;
  height: 2.25rem;
  fill: currentColor;
  stroke: currentColor;
}

.page-dryer-vent-cleaning-florida .gfr-aggregate-rating-total {
  color: #4a5a64;
  font-size: 1rem;
  line-height: 1.45;
  text-align: center;
}

.page-dryer-vent-cleaning-florida .florida-proof-video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #0b2235;
}

@media (min-width: 768px) {
  .page-dryer-vent-cleaning-florida .florida-video-slide {
    grid-template-columns: minmax(17rem, 20rem) minmax(0, 1fr);
    gap: clamp(1.5rem, 4vw, 3.5rem);
  }

  .page-dryer-vent-cleaning-florida .florida-video-frame {
    width: 100%;
  }

  .page-dryer-vent-cleaning-florida .florida-video-copy {
    margin: 0;
    text-align: left;
  }
}

.page-dryer-vent-cleaning-florida .florida-work-grid {
  display: grid;
  gap: 1rem;
  margin-top: 1.75rem;
}

.page-dryer-vent-cleaning-florida .florida-work-card {
  overflow: hidden;
  border: 1px solid rgba(18, 48, 71, 0.1);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 14px 34px -30px rgba(18, 48, 71, 0.3);
}

.page-dryer-vent-cleaning-florida .florida-work-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.page-dryer-vent-cleaning-florida .florida-work-card--featured img {
  aspect-ratio: 4 / 3;
}

.page-dryer-vent-cleaning-florida .florida-work-caption {
  padding: 1rem;
}

.page-dryer-vent-cleaning-florida .florida-work-caption h3 {
  color: #123047;
  font-size: 1rem;
  font-weight: 700;
}

.page-dryer-vent-cleaning-florida .florida-work-caption p {
  margin-top: 0.35rem;
  color: #4a5a64;
  font-size: 0.9rem;
  line-height: 1.55;
}

.page-dryer-vent-cleaning-florida .florida-inline-cta-title {
  display: block;
  margin-bottom: 0.35rem;
  color: #123047;
  font-size: 1rem;
  font-weight: 700;
}

.page-dryer-vent-cleaning-florida .florida-check-grid {
  display: grid;
  gap: 0.85rem;
  margin-top: 1.75rem;
}

.page-dryer-vent-cleaning-florida .florida-check-card {
  display: grid;
  gap: 0.7rem;
  padding: 1rem;
  border: 1px solid rgba(18, 48, 71, 0.1);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 14px 30px -28px rgba(18, 48, 71, 0.28);
}

.page-dryer-vent-cleaning-florida .florida-check-card .gfr-icon-tile {
  flex-shrink: 0;
}

.page-dryer-vent-cleaning-florida .florida-check-card h3 {
  color: #123047;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
}

.page-dryer-vent-cleaning-florida .florida-check-card p {
  color: #4a5a64;
  font-size: 0.9rem;
  line-height: 1.55;
}

.page-dryer-vent-cleaning-florida .gfr-step-number--fallback-icon .gfr-icon {
  width: 1.35rem;
  height: 1.35rem;
}

.page-dryer-vent-cleaning-florida .florida-local-photo img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: 56% center;
}

.page-dryer-vent-cleaning-florida .florida-mini-proof {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: 0.65rem;
  margin-top: 1.25rem;
}

.page-dryer-vent-cleaning-florida .florida-mini-proof span {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  width: 100%;
  min-height: 2.35rem;
  padding: 0.45rem 0.8rem;
  border: 1px solid rgba(14, 124, 123, 0.18);
  border-radius: 999px;
  background: rgba(14, 124, 123, 0.06);
  color: #123047;
  font-size: 0.84rem;
  font-weight: 700;
}

.page-dryer-vent-cleaning-florida .florida-mini-proof .gfr-icon {
  width: 0.95rem;
  height: 0.95rem;
  color: #0e7c7b;
}

.page-dryer-vent-cleaning-florida .florida-homeadvisor-panel {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
  padding: 1.25rem;
  align-items: center;
}

.page-dryer-vent-cleaning-florida .florida-homeadvisor-panel h3 {
  margin-top: 0.35rem;
  color: #123047;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.25;
}

.page-dryer-vent-cleaning-florida .florida-homeadvisor-panel p {
  margin-top: 0.55rem;
  color: #4a5a64;
  line-height: 1.65;
}

.page-dryer-vent-cleaning-florida .florida-homeadvisor-badge-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
  align-items: center;
  margin-top: 0.25rem;
}

.page-dryer-vent-cleaning-florida .florida-homeadvisor-badge-grid img {
  width: 100%;
  max-height: 7.5rem;
  object-fit: contain;
}

.page-dryer-vent-cleaning-florida .florida-commitment-card {
  display: grid;
  gap: 1.25rem;
  padding: 1.25rem;
  border: 1px solid rgba(14, 124, 123, 0.16);
  border-radius: 1rem;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbfb 100%);
  box-shadow: 0 18px 38px -32px rgba(18, 48, 71, 0.3);
}

.page-dryer-vent-cleaning-florida .florida-commitment-card p:not(.eyebrow) {
  margin-top: 0.75rem;
  color: #4a5a64;
  line-height: 1.65;
}

@media (min-width: 640px) {
  .page-dryer-vent-cleaning-florida .florida-proof-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-dryer-vent-cleaning-florida .florida-work-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .page-dryer-vent-cleaning-florida .florida-inline-cta {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .page-dryer-vent-cleaning-florida .florida-comparison-head,
  .page-dryer-vent-cleaning-florida .florida-comparison-row {
    grid-template-columns: 1fr 1fr;
  }

  .page-dryer-vent-cleaning-florida .florida-comparison-head span + span,
  .page-dryer-vent-cleaning-florida .florida-comparison-row span + span {
    border-left: 1px solid rgba(18, 48, 71, 0.08);
  }

  .page-dryer-vent-cleaning-florida .florida-homeadvisor-panel {
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  }

  .page-dryer-vent-cleaning-florida .florida-homeadvisor-badge-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
    margin-top: 0;
  }

  .page-dryer-vent-cleaning-florida .florida-check-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .page-dryer-vent-cleaning-florida #hero-heading {
    font-size: clamp(2.25rem, 1.8rem + 1.45vw, 3rem);
    line-height: 1.08;
    letter-spacing: 0;
  }

  .page-dryer-vent-cleaning-florida .florida-warning-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .page-dryer-vent-cleaning-florida .florida-safety-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-dryer-vent-cleaning-florida .florida-proof-card-grid--six {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-dryer-vent-cleaning-florida .florida-proof-split {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: 2.5rem;
  }

  .page-dryer-vent-cleaning-florida .florida-proof-split--reverse {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  }

  .page-dryer-vent-cleaning-florida .florida-work-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-dryer-vent-cleaning-florida .florida-check-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .page-dryer-vent-cleaning-florida .florida-commitment-card {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    align-items: center;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-trust {
    grid-column: 1 / -1;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: stretch;
    gap: 0;
    margin-top: 0.55rem;
    padding: 0.9rem 0;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-trust .gfr-trust-item {
    min-width: 0;
    padding: 0 1.05rem;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-trust .gfr-trust-item:first-child {
    padding-left: 0;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-trust .gfr-trust-item + .gfr-trust-item {
    border-left: 1px solid rgba(244, 239, 231, 0.2);
  }

  .page-dryer-vent-cleaning-florida .florida-hero-credential-strip {
    grid-column: 1 / -1;
    justify-self: center;
    width: min(100%, 25rem);
    margin-top: 0.25rem;
  }
}

@media (max-width: 767.98px) {
  .page-dryer-vent-cleaning-florida .florida-hero {
    min-height: 0;
  }

  .page-dryer-vent-cleaning-florida .florida-hero > .container-content {
    gap: 0.85rem;
    padding-top: 1.05rem;
    padding-bottom: 1.75rem;
  }

  .page-dryer-vent-cleaning-florida #hero-heading {
    font-size: 1.55rem;
    line-height: 1.1;
  }

  .page-dryer-vent-cleaning-florida .florida-hero p.order-3 {
    font-size: 0.95rem;
    line-height: 1.48;
  }

  .page-dryer-vent-cleaning-florida header[data-gfr-header] .container-content {
    gap: 0.55rem;
  }

  .page-dryer-vent-cleaning-florida .gfr-header-mobile-phone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.34rem;
    flex: 0 0 auto;
    margin-left: auto;
    padding: 0.48rem 0.62rem;
    border: 1px solid rgba(14, 124, 123, 0.22);
    border-radius: 999px;
    background: rgba(14, 124, 123, 0.08);
    color: #123047;
    box-shadow: 0 12px 24px -22px rgba(18, 48, 71, 0.45);
    font-size: clamp(0.88rem, 3.35vw, 1rem);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    text-decoration: none;
    white-space: nowrap;
  }

  .page-dryer-vent-cleaning-florida .gfr-header-mobile-phone svg {
    width: 0.96rem;
    height: 0.96rem;
    color: #0e7c7b;
  }

  .page-dryer-vent-cleaning-florida .gfr-header-mobile-promo-badge {
    display: inline-flex;
    flex: 0 1 auto;
    width: clamp(9.75rem, 42vw, 13.5rem);
    margin-left: auto;
    filter: drop-shadow(0 10px 14px rgba(18, 48, 71, 0.18));
  }

  .page-dryer-vent-cleaning-florida .gfr-header-mobile-promo-badge img {
    max-height: 2.55rem;
  }

  .page-dryer-vent-cleaning-florida header[data-gfr-header] .header-logo-subtitle {
    display: inline-flex;
    align-items: center;
    gap: 0.12rem;
    width: max-content;
    max-width: 12.5rem;
    margin-top: 0.18rem;
    padding: 0.22rem 0.2rem;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(196, 154, 86, 0.16);
    color: #123047 !important;
    font-size: 0;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
  }

  .page-dryer-vent-cleaning-florida header[data-gfr-header] .header-logo-subtitle::before {
    width: 0.38rem;
    height: 0.38rem;
    flex: 0 0 auto;
    border-radius: 999px;
    background: #c49a56;
    content: "";
  }

  .page-dryer-vent-cleaning-florida header[data-gfr-header] .header-logo-subtitle::after {
    content: "Florida Dryer Vent Cleaning";
    font-size: 0.58rem;
  }

  .page-dryer-vent-cleaning-florida header[data-gfr-header] .flex.items-center {
    min-width: 0;
  }

  .page-dryer-vent-cleaning-florida header[data-gfr-header] .flex.items-center > span.flex-col {
    min-width: 0;
  }

  @media (max-width: 540px) {
    .page-dryer-vent-cleaning-florida header[data-gfr-header] .container-content {
      gap: 0.35rem;
      padding-left: 1rem;
      padding-right: 1rem;
    }

    .page-dryer-vent-cleaning-florida .gfr-header-mobile-promo-badge {
      width: clamp(9rem, 37vw, 11.25rem);
      min-width: 9rem;
    }

    .page-dryer-vent-cleaning-florida .gfr-header-mobile-promo-badge img {
      max-height: 2.2rem;
    }

    .page-dryer-vent-cleaning-florida header[data-gfr-header] .header-logo-subtitle {
      max-width: 9.9rem;
      padding-right: 0.14rem;
    }

    .page-dryer-vent-cleaning-florida header[data-gfr-header] .header-logo-subtitle::after {
      font-size: 0.52rem;
    }
  }

  @media (max-width: 415px) {
    .page-dryer-vent-cleaning-florida header[data-gfr-header] .container-content {
      gap: 0.28rem;
      padding-left: 0.9rem;
      padding-right: 0.9rem;
    }

    .page-dryer-vent-cleaning-florida header[data-gfr-header] .header-logo-subtitle {
      gap: 0;
      max-width: 8.95rem;
      padding: 0.18rem 0.2rem;
    }

    .page-dryer-vent-cleaning-florida header[data-gfr-header] .header-logo-subtitle::before {
      display: none;
    }

    .page-dryer-vent-cleaning-florida header[data-gfr-header] .header-logo-subtitle::after {
      font-size: 0.46rem;
    }

    .page-dryer-vent-cleaning-florida .gfr-header-mobile-promo-badge {
      width: clamp(8.55rem, 35vw, 10.1rem);
      min-width: 8.55rem;
    }

    .page-dryer-vent-cleaning-florida .gfr-header-mobile-promo-badge img {
      max-height: 2rem;
    }

    .page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-submit-btn {
      gap: 0.35rem;
      padding-left: 0.75rem;
      padding-right: 0.75rem;
      font-size: clamp(0.84rem, 3.55vw, 0.92rem);
      line-height: 1.15;
      white-space: nowrap;
    }
  }

  .page-dryer-vent-cleaning-florida .florida-hero > .container-content > .gfr-hero-eyebrow {
    display: none;
  }

  .page-dryer-vent-cleaning-florida .florida-hero > .container-content {
    gap: 0.82rem;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-call {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.48rem;
    width: fit-content;
    max-width: 100%;
    margin: -0.1rem auto 0;
    padding: 0.58rem 1.1rem;
    border: 1px solid rgba(241, 217, 168, 0.42);
    border-radius: 999px;
    background: rgba(8, 28, 42, 0.52);
    color: #ffffff;
    box-shadow: 0 14px 28px -24px rgba(0, 0, 0, 0.65);
    font-size: 1.45rem;
    line-height: 1;
    text-decoration: none;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-call .gfr-icon {
    width: 1.22rem;
    height: 1.22rem;
    color: #f1d9a8;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-call span {
    color: rgba(244, 239, 231, 0.9);
    font-weight: 600;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-call strong {
    color: #ffffff;
    font-weight: 700;
    letter-spacing: 0.01em;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-rating {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    justify-content: stretch;
    gap: 0.72rem;
    width: 100%;
    max-width: 31rem;
    margin: -0.1rem auto 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #ffffff;
    box-shadow: none;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__content {
    min-width: 0;
    text-align: left;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.34rem;
    margin-top: 0;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__score {
    color: #ffffff;
    font-size: 1.9rem;
    font-weight: 700;
    line-height: 1;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__outof {
    max-width: 2.7rem;
    color: rgba(244, 239, 231, 0.92);
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.12;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__stars {
    color: #f2a900;
    font-size: 0.98rem;
    letter-spacing: 0.03em;
    line-height: 1;
    white-space: nowrap;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__total {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.2rem;
    margin-top: 0.2rem;
    color: rgba(244, 239, 231, 0.86);
    font-size: 0.68rem;
    line-height: 1.25;
    text-align: left;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__brand-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    height: 1rem;
    border-radius: 999px;
    background: #ffffff;
    box-shadow: 0 8px 18px -15px rgba(0, 0, 0, 0.7);
    font-family: Arial, sans-serif;
    font-size: 0.63rem;
    font-weight: 700;
    line-height: 1;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__brand-icon--google {
    color: #4285f4;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__brand-icon--yelp {
    color: #d32323;
    font-size: 0.95rem;
    font-weight: 800;
    transform: rotate(18deg);
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__brand-name {
    color: rgba(255, 255, 255, 0.92);
    font-weight: 600;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-social-proof {
    display: grid;
    gap: 0.26rem;
    justify-items: end;
    min-width: 8.35rem;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-avatars {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-start;
    padding-right: 0.12rem;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-avatars img {
    width: 2.05rem;
    height: 2.05rem;
    border: 2px solid rgba(255, 255, 255, 0.92);
    border-radius: 999px;
    object-fit: cover;
    box-shadow: 0 10px 20px -16px rgba(0, 0, 0, 0.85);
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-avatars img + img {
    margin-right: -0.68rem;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-quotes {
    position: relative;
    width: 8.8rem;
    min-height: 2.65rem;
    overflow: hidden;
    text-align: right;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-quote {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.66rem;
    font-weight: 600;
    line-height: 1.18;
    opacity: 0;
    transform: translateY(0.25rem);
    animation: floridaHeroQuoteCycle calc(var(--hero-review-count, 15) * 3s) ease-in-out infinite;
    animation-delay: calc(var(--hero-review-index, 0) * 3s);
  }

  .page-dryer-vent-cleaning-florida .florida-hero .gfr-hero-media img {
    object-position: 48% center;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-overlay {
    background:
      linear-gradient(180deg, rgba(8, 28, 42, 0.92) 0%, rgba(18, 48, 71, 0.86) 46%, rgba(18, 48, 71, 0.66) 100%),
      linear-gradient(90deg, rgba(8, 28, 42, 0.88) 0%, rgba(18, 48, 71, 0.42) 100%);
  }

  .page-dryer-vent-cleaning-florida .florida-form-badges img {
    max-height: 74px;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-callback-form-wrap {
    padding: 0.95rem;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-callback-form-wrap--price-badge > p:first-of-type {
    max-width: calc(100% - 8.75rem);
  }

  .page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-form-price-badge {
    top: -0.16rem;
    right: -0.16rem;
    width: clamp(8.2rem, 32vw, 9.85rem);
    transform: rotate(-5deg);
  }

  .page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-callback-form-wrap > p:first-child {
    font-size: 1.05rem;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-callback-form-wrap > p[data-form-intro] {
    display: none;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-static-service-option {
    margin-bottom: 0.55rem;
    padding: 0.58rem 0.72rem;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-static-service-option__eyebrow {
    font-size: 0.66rem;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-static-service-option__meta {
    font-size: 0.76rem;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-actions {
    order: 7;
    gap: 0.6rem;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-phone-note {
    order: 9;
    margin-top: -0.1rem;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-credential-strip {
    margin-top: 0.75rem;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-credential-strip img {
    width: 31%;
    max-width: 6.65rem;
  }

  .page-dryer-vent-cleaning-florida #warning-signs {
    padding-bottom: 2.75rem;
  }

  .page-dryer-vent-cleaning-florida #airflow-safety {
    padding-top: 2.4rem;
    padding-bottom: 1.35rem;
  }

  .page-dryer-vent-cleaning-florida #airflow-safety .florida-disclaimer {
    margin-top: 0.75rem;
    margin-bottom: 0.35rem;
  }

  .page-dryer-vent-cleaning-florida #comparison {
    padding-top: 1.35rem;
    padding-bottom: 2.7rem;
  }

  .page-dryer-vent-cleaning-florida .florida-credential-section {
    padding-top: 2.7rem;
    padding-bottom: 2.5rem;
  }

  .page-dryer-vent-cleaning-florida #proof,
  .page-dryer-vent-cleaning-florida #professional-check {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  .page-dryer-vent-cleaning-florida #real-work {
    padding-top: 2.7rem;
    padding-bottom: 2.7rem;
  }

  .page-dryer-vent-cleaning-florida .service-options__trust {
    margin-bottom: 1.75rem;
  }

  .page-dryer-vent-cleaning-florida .florida-mini-proof {
    grid-template-columns: 1fr;
  }

  .page-dryer-vent-cleaning-florida .florida-mini-proof span {
    min-height: 2.75rem;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-primary,
  .page-dryer-vent-cleaning-florida .florida-hero-phone {
    width: 100%;
  }
}

@media (min-width: 550px) and (max-width: 767.98px) {
  .page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-callback-form-wrap > p[data-form-intro] {
    display: block;
    max-width: calc(100% - 9rem);
    margin-top: 0.35rem;
    font-size: 0.83rem;
    line-height: 1.42;
  }
}

.page-about .about-hero-section {
  position: relative;
  isolation: isolate;
}

.page-about .about-hero-backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top right, rgba(14,124,123,0.18), transparent 30%),
    linear-gradient(90deg, rgba(13,37,54,0.96) 0%, rgba(18,48,71,0.84) 44%, rgba(18,48,71,0.52) 100%);
}

.page-about .about-hero-grid,
.page-about .about-content-grid,
.page-about .about-specialty-grid,
.page-about .about-standard-grid,
.page-about .about-steps-grid,
.page-about .about-why-grid {
  display: grid;
  gap: 1rem;
}

.page-about .about-hero-grid {
  align-items: center;
}

.page-about .about-hero-actions {
  margin-bottom: 1.5rem;
}

.page-about .about-hero-support,
.page-about .about-section-card,
.page-about .about-link-card,
.page-about .about-step-card,
.page-about .about-standard-card,
.page-about .about-why-card {
  border: 1px solid rgba(18, 48, 71, 0.1);
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 2px 6px rgba(18, 48, 71, 0.06), 0 18px 40px -20px rgba(18, 48, 71, 0.28);
}

.page-about .about-hero-support {
  border-color: rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.08);
  backdrop-filter: blur(10px);
  color: #fff;
  padding: 1.5rem;
}

.page-about .about-hero-support-eyebrow {
  color: #c49a56;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.page-about .about-hero-support-list,
.page-about .about-check-list {
  display: grid;
  gap: 0.875rem;
  margin-top: 1rem;
}

.page-about .about-hero-support-list li,
.page-about .about-check-list li,
.page-about .about-standard-card {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.page-about .about-hero-support-list .gfr-icon,
.page-about .about-check-list .gfr-icon,
.page-about .about-standard-card .gfr-icon,
.page-about .about-final-points .gfr-icon {
  width: 1rem;
  height: 1rem;
  color: #0e7c7b;
  flex-shrink: 0;
  margin-top: 0.15rem;
}

.page-about .about-standard-icon {
  display: block;
  width: 2.75rem;
  height: 2.75rem;
  object-fit: contain;
  flex-shrink: 0;
  margin-top: 0.15rem;
}

.page-about .about-hero-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  margin-top: 1.25rem;
}

.page-about .about-hero-pills span {
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 9999px;
  padding: 0.5rem 0.875rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #f4efe7;
  background: rgba(255,255,255,0.08);
}

.page-about .about-hero-support-note {
  margin-top: 1rem;
  color: rgba(244,239,231,0.92);
  font-size: 0.875rem;
  line-height: 1.6;
}

.page-about .about-hero-support-note code {
  font-size: 0.8125rem;
}

.page-about .about-hero-visual--image img {
  width: 100%;
  height: 100%;
  min-height: 320px;
  border-radius: 1.5rem;
  object-fit: cover;
  box-shadow: 0 2px 6px rgba(18, 48, 71, 0.06), 0 18px 40px -20px rgba(18, 48, 71, 0.28);
}

.page-about .about-section-card,
.page-about .about-link-card,
.page-about .about-step-card,
.page-about .about-standard-card,
.page-about .about-why-card {
  padding: 1.5rem;
}

.page-about .about-why-card-head {
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
}

.page-about .about-why-card-head .gfr-icon-tile {
  flex-shrink: 0;
}

.page-about .about-section-card p + p {
  margin-top: 0.875rem;
}

.page-about .about-section-card--accent {
  background: linear-gradient(180deg, #ffffff 0%, #f6fbfb 100%);
}

.page-about .about-section-card--soft {
  background: linear-gradient(180deg, #ffffff 0%, #f9fafb 100%);
}

.page-about .about-link-card {
  display: block;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.page-about .about-link-card-head {
  display: flex;
  align-items: center;
  gap: 0.875rem;
}

.page-about .about-link-card:hover {
  transform: translateY(-2px);
  border-color: rgba(14,124,123,0.22);
}

.page-about .about-link-card h3,
.page-about .about-step-card h3,
.page-about .about-why-card h3 {
  color: #123047;
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.35;
  margin: 0.15rem 0 0;
}

.page-about .about-link-card p,
.page-about .about-step-card p,
.page-about .about-why-card p,
.page-about .about-standard-card span {
  margin-top: 0.15rem;
  color: #4a5a64;
  line-height: 1.7;
}

.page-about .about-link-card p {
  margin-top: 1rem;
}

.page-about .about-step-head {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.page-about .about-step-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.page-about .about-step-icon-image {
  display: block;
  width: 4rem;
  height: 4rem;
  object-fit: contain;
}

.page-about .about-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid rgba(14,124,123,0.28);
  border-radius: 9999px;
  color: #0e7c7b;
  font-size: 1.25rem;
  font-weight: 700;
}

.page-about .about-step-card h3 {
  margin-top: 0.15rem;
}

.page-about .about-final-points {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  margin-top: 1.25rem;
}

.page-about .about-final-points span {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: rgba(244,239,231,0.96);
  font-size: 0.95rem;
}

.page-about .about-section-note {
  margin-top: 1.25rem;
  color: #4a5a64;
  font-size: 0.95rem;
  line-height: 1.7;
}

.page-about .about-stack {
  display: grid;
  gap: 1rem;
}

.page-about .gfr-faq-wrap { margin-top: 1.75rem; }
.page-about .gfr-faq-group + .gfr-faq-group { margin-top: 1.5rem; }
.page-about .gfr-faq-group-title {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #0a5d5c;
  margin-bottom: 0.75rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.page-about .gfr-faq-group-title::after {
  content: "";
  display: inline-block;
  height: 1px;
  width: 3rem;
  background: rgba(14, 124, 123, 0.35);
}
.page-about .gfr-faq-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: start;
  align-content: flex-start;
}
.page-about .gfr-faq-item {
  width: 100%;
  align-self: start;
  margin-top: 0;
  overflow: hidden;
  background: linear-gradient(180deg, #ffffff 0%, #fcfdfd 100%);
  border: 1px solid rgba(18, 48, 71, 0.10);
  border-radius: 1rem;
  padding: 0 1rem;
  box-shadow: 0 8px 20px -24px rgba(18, 48, 71, 0.24);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}
.page-about .gfr-faq-item:hover {
  border-color: rgba(18, 48, 71, 0.18);
  box-shadow: 0 12px 28px -24px rgba(18, 48, 71, 0.28);
}
.page-about .gfr-faq-item[open] {
  background: linear-gradient(180deg, #ffffff 0%, #f8fdfc 100%);
  border-color: rgba(14, 124, 123, 0.42);
  box-shadow: 0 18px 36px -28px rgba(14, 124, 123, 0.42), 0 14px 28px -24px rgba(18, 48, 71, 0.24);
}
.page-about .gfr-faq-item summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  padding: 1rem 0 0.95rem;
  cursor: pointer;
  font-size: 0.98rem;
  font-weight: 600;
  color: #123047;
  line-height: 1.4;
}
.page-about .gfr-faq-item summary::-webkit-details-marker { display: none; }
.page-about .gfr-faq-question {
  flex: 1 1 auto;
  min-width: 0;
  color: #123047;
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.45;
}
.page-about .gfr-faq-toggle-icon {
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
  padding: 0.28rem;
  border-radius: 999px;
  background: rgba(14, 124, 123, 0.10);
  color: #0E7C7B;
  transition: transform 200ms ease, background-color 180ms ease, color 180ms ease;
}
.page-about .gfr-faq-item[open] .gfr-faq-toggle-icon {
  background: rgba(14, 124, 123, 0.16);
  color: #0a5d5c;
  transform: rotate(180deg);
}
.page-about .gfr-faq-item .gfr-faq-body {
  padding: 0.95rem 0 1rem;
  border-top: 1px solid rgba(14, 124, 123, 0.12);
  color: #4a5a64;
  font-size: 0.92rem;
  line-height: 1.6;
}

.page-legal .legal-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.page-legal .legal-hero-backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top right, rgba(14,124,123,0.18), transparent 30%),
    linear-gradient(90deg, rgba(13,37,54,0.96) 0%, rgba(18,48,71,0.84) 44%, rgba(18,48,71,0.52) 100%);
}

.legal-grid {
  display: grid;
  gap: 1rem;
  align-items: stretch;
}

.legal-card {
  border: 1px solid rgba(18, 48, 71, 0.1);
  border-radius: 1.25rem;
  background: #fff;
  box-shadow: 0 2px 6px rgba(18, 48, 71, 0.06), 0 18px 40px -20px rgba(18, 48, 71, 0.28);
  padding: 1.5rem;
}

.legal-card h2 {
  margin-top: 0.5rem;
  color: #123047;
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1.35;
}

.legal-card p {
  color: #4a5a64;
  line-height: 1.75;
}

.legal-card p + p {
  margin-top: 0.9rem;
}

.legal-contact-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.875rem;
  margin-top: 1.25rem;
}

.legal-contact-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(14, 124, 123, 0.18);
  background: rgba(14, 124, 123, 0.08);
  padding: 0.75rem 1rem;
  font-weight: 600;
  color: #0a5d5c;
  transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}

.legal-contact-link:hover {
  background: rgba(14, 124, 123, 0.12);
  border-color: rgba(14, 124, 123, 0.32);
}

.page-info .info-list {
  display: grid;
  gap: 0.85rem;
  margin-top: 1rem;
}

.page-info .info-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  color: #4a5a64;
  line-height: 1.6;
}

.page-info .info-list .gfr-icon {
  width: 1rem;
  height: 1rem;
  margin-top: 0.18rem;
  color: #0e7c7b;
  flex-shrink: 0;
}

.page-info .info-link-grid {
  display: grid;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.page-info .info-link-grid a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 3rem;
  border: 1px solid rgba(18, 48, 71, 0.1);
  border-radius: 0.95rem;
  background: #f8fbfb;
  padding: 0.85rem 1rem;
  color: #123047;
  font-weight: 600;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.page-info .info-link-grid a:hover {
  border-color: rgba(14, 124, 123, 0.25);
  background: rgba(14, 124, 123, 0.08);
  color: #0a5d5c;
}

.page-info .info-map-wrap {
  margin-top: 1.25rem;
}

.page-info .info-faq-list {
  display: grid;
  gap: 0.85rem;
  max-width: 62rem;
  margin-top: 1.75rem;
}

.page-info .info-faq-item {
  border: 1px solid rgba(18, 48, 71, 0.1);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 8px 20px -24px rgba(18, 48, 71, 0.24);
  overflow: hidden;
}

.page-info .info-faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  padding: 1rem;
  color: #123047;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}

.page-info .info-faq-item summary::-webkit-details-marker {
  display: none;
}

.page-info .info-faq-item summary .gfr-icon {
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  color: #0e7c7b;
  transition: transform 160ms ease;
}

.page-info .info-faq-item[open] summary .gfr-icon {
  transform: rotate(180deg);
}

.page-info .info-faq-item p {
  border-top: 1px solid rgba(18, 48, 71, 0.08);
  padding: 1rem;
  color: #4a5a64;
  line-height: 1.65;
}

@media (min-width: 1024px) {
  .faq-list,
  .page-info .info-faq-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    align-items: start;
  }

  .faq-item + .faq-item {
    margin-top: 0;
  }

  .faq-item,
  .page-info .info-faq-item {
    align-self: start;
  }

  .faq-item:not([open]),
  .page-info .info-faq-item:not([open]) {
    min-height: 4.85rem;
  }

  .faq-summary,
  .page-info .info-faq-item summary,
  .faq-item[open] .faq-summary,
  .page-info .info-faq-item[open] summary {
    min-height: 4.85rem;
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
  }
}

@media (min-width: 768px) {
  .page-info .info-link-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .page-about .about-content-grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  }

  .page-about .about-specialty-grid,
  .page-about .about-standard-grid,
  .page-about .about-steps-grid,
  .page-about .about-why-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .legal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .legal-card--wide {
    grid-column: span 2;
  }
}

@media (min-width: 1024px) {
  .page-about .gfr-faq-list {
    column-gap: 0.9rem;
    row-gap: 0.8rem;
  }
  .page-about .gfr-faq-item {
    width: calc(50% - 0.45rem);
  }
  .page-about .about-hero-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: 2.5rem;
  }

  .page-about .about-specialty-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-about .about-standard-grid,
  .page-about .about-steps-grid,
  .page-about .about-why-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .page-about .gfr-faq-item:not([open]) {
    min-height: 4.85rem;
  }
  .page-about .gfr-faq-item:not([open]) summary {
    min-height: 4.85rem;
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
  }
  .page-about .gfr-faq-item summary,
  .page-about .gfr-faq-item[open] summary {
    min-height: 4.85rem;
    padding-top: 0.85rem;
    padding-bottom: 0.85rem;
  }
}

.page-404 .notfound-cta-group {
  display: grid;
  gap: 0.75rem;
}

.page-404 .notfound-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.875rem;
  width: 100%;
  min-height: 3.75rem;
  padding: 0.95rem 1.1rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
  transition: background-color 150ms ease, border-color 150ms ease;
}

.page-404 .notfound-cta--primary {
  background: #0E7C7B;
  border-color: transparent;
}

.page-404 .notfound-cta--primary:hover {
  background: #0a5d5c;
}

.page-404 .notfound-cta--secondary {
  background: rgba(255, 255, 255, 0.1);
}

.page-404 .notfound-cta--secondary:hover {
  background: rgba(255, 255, 255, 0.2);
}

.page-404 .notfound-cta .gfr-icon {
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
}

.page-404 .notfound-trust-grid {
  display: grid;
  gap: 0.875rem;
}

.page-404 .notfound-trust-card {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.08);
}

.page-404 .notfound-trust-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 0.875rem;
  background: rgba(255, 255, 255, 0.12);
  color: #f1d9a8;
  flex-shrink: 0;
}

.page-404 .notfound-trust-icon .gfr-icon {
  width: 1.5rem;
  height: 1.5rem;
}

.page-404 .notfound-trust-copy {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.page-404 .notfound-trust-title {
  color: #fff;
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.25;
}

.page-404 .notfound-trust-text {
  color: rgba(244, 239, 231, 0.84);
  font-size: 0.875rem;
  line-height: 1.4;
}

@media (min-width: 640px) {
  .page-404 .notfound-cta-group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-404 .notfound-trust-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-404 .notfound-trust-card {
    align-items: flex-start;
  }
}

/* Dryer Vent Cleaning Florida — latest hero/layout refinements */
.page-dryer-vent-cleaning-florida .florida-credential-section {
  position: relative;
  z-index: 1;
  padding-top: 3.2rem;
  padding-bottom: 3.4rem;
  background: #123047;
  color: #ffffff;
}

.page-dryer-vent-cleaning-florida .florida-hero-credential-block {
  border-top: 1px solid rgba(244, 239, 231, 0.16);
}

.page-dryer-vent-cleaning-florida .florida-credential-section .eyebrow {
  color: #f1d9a8;
}

.page-dryer-vent-cleaning-florida .florida-credential-section h2 {
  color: #ffffff;
}

.page-dryer-vent-cleaning-florida .florida-credential-section p:not(.eyebrow) {
  color: rgba(244, 239, 231, 0.9);
}

.page-dryer-vent-cleaning-florida .florida-credential-section .florida-cta-support {
  color: rgba(244, 239, 231, 0.82);
}

.page-dryer-vent-cleaning-florida .florida-credential-section .florida-badge-panel {
  background: rgba(255, 255, 255, 0.96);
}

.page-dryer-vent-cleaning-florida .florida-service-scope {
  position: relative;
  z-index: 1;
  border-bottom: 1px solid rgba(18, 48, 71, 0.08);
}

.page-dryer-vent-cleaning-florida .florida-scope-layout {
  display: grid;
  gap: 2rem;
  align-items: center;
}

.page-dryer-vent-cleaning-florida .florida-scope-details {
  padding: 1.35rem;
  border: 1px solid rgba(14, 124, 123, 0.18);
  border-radius: 0.75rem;
  background: #f7fbfb;
}

.page-dryer-vent-cleaning-florida .florida-scope-details__title {
  color: #123047;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
}

.page-dryer-vent-cleaning-florida .florida-scope-list {
  display: grid;
  gap: 0.72rem;
  margin-top: 1rem;
}

.page-dryer-vent-cleaning-florida .florida-scope-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  color: #2e3b43;
  line-height: 1.5;
}

.page-dryer-vent-cleaning-florida .florida-scope-list .gfr-icon {
  width: 1.05rem;
  height: 1.05rem;
  flex: 0 0 auto;
  margin-top: 0.2rem;
  color: #0e7c7b;
}

.page-dryer-vent-cleaning-florida .florida-scope-promise {
  margin-top: 1.15rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(18, 48, 71, 0.1);
  color: #4a5a64;
  font-size: 0.92rem;
  line-height: 1.55;
}

.page-dryer-vent-cleaning-florida .florida-scope-promise strong {
  color: #123047;
}

.page-dryer-vent-cleaning-florida .florida-badge-panel-combined {
  max-width: 34rem;
  margin-inline: auto;
}

.page-dryer-vent-cleaning-florida .florida-homeadvisor-badge-grid img {
  max-height: 6.75rem;
}

.page-dryer-vent-cleaning-florida .florida-mobile-hero-call span {
  font-size: 0.78rem;
  line-height: 1;
}

.page-dryer-vent-cleaning-florida .floating-call-button {
  display: none !important;
}

@media (min-width: 1024px) {
  .page-dryer-vent-cleaning-florida .floating-call-button {
    display: inline-flex !important;
  }
}

.page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-callback-form-wrap {
  position: relative;
  padding: 1.12rem;
  border-radius: 1.05rem;
}

.page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-callback-form-wrap--price-badge > p:first-of-type {
  max-width: calc(100% - 9rem);
}

.page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-form-price-badge {
  position: absolute;
  top: -0.16rem;
  right: -0.16rem;
  z-index: 1;
  width: clamp(8.25rem, 21vw, 10rem);
  height: auto;
  pointer-events: none;
  filter: drop-shadow(0 12px 16px rgba(18, 48, 71, 0.2));
  transform: rotate(-5deg);
}

.page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-callback-form-wrap.is-success .gfr-form-price-badge {
  display: none;
}

@keyframes floridaHeroQuoteCycle {
  0% {
    opacity: 0;
    transform: translateY(0.18rem);
  }

  1.5%,
  5.5% {
    opacity: 1;
    transform: translateY(0);
  }

  6.8%,
  100% {
    opacity: 0;
    transform: translateY(-0.16rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-dryer-vent-cleaning-florida .florida-mobile-hero-quote {
    animation: none;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-quote:first-child {
    opacity: 1;
    transform: none;
  }
}

.page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-callback-form-wrap > p:first-child {
  font-size: 1.16rem;
  line-height: 1.25;
}

.page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-callback-form-wrap > p[data-form-intro] {
  margin-top: 0.4rem;
  line-height: 1.45;
}

.page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-optional-wrap {
  display: none;
}

.page-dryer-vent-cleaning-florida .gfr-callback-form-wrap:has(.gfr-form-success.is-visible) > [data-form-heading],
.page-dryer-vent-cleaning-florida .gfr-callback-form-wrap:has(.gfr-form-success.is-visible) > [data-form-intro] {
  display: none;
}

.page-dryer-vent-cleaning-florida .gfr-form-success {
  margin-top: 0;
}

.page-dryer-vent-cleaning-florida .gfr-form-success-eyebrow,
.page-dryer-vent-cleaning-florida .gfr-form-success-note {
  display: none;
}

.page-dryer-vent-cleaning-florida .gfr-form-success-cta {
  margin-top: 0.85rem;
}

.page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-lead-form {
  margin-top: 0.95rem;
}

.page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-static-service-option {
  display: grid;
  gap: 0.18rem;
  margin-bottom: 0.7rem;
  padding: 0.68rem 0.82rem;
  border-radius: 0.82rem;
}

.page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-static-service-option__row {
  margin-top: 0.14rem;
}

.page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-static-service-option__meta {
  margin-top: 0;
  font-size: 0.8rem;
}

.page-dryer-vent-cleaning-florida .florida-hero-form-wrap .space-y-4 > :not([hidden]) ~ :not([hidden]) {
  margin-top: 0.62rem;
}

.page-dryer-vent-cleaning-florida .florida-hero-form-wrap label {
  font-size: 0.84rem;
}

.page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-input {
  padding-top: 0.58rem;
  padding-bottom: 0.58rem;
  border-radius: 0.75rem;
}

.page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-submit-btn {
  margin-top: 0.82rem;
  padding-top: 0.72rem;
  padding-bottom: 0.72rem;
  border-radius: 0.78rem;
}

.page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-form-legal-copy {
  margin-top: 0.58rem;
}

.page-dryer-vent-cleaning-florida #dryer-vent-video,
.page-dryer-vent-cleaning-florida #warning-signs,
.page-dryer-vent-cleaning-florida #faq {
  padding-top: 4.25rem;
}

.page-dryer-vent-cleaning-florida #dryer-vent-video {
  padding-bottom: 2rem;
}

.page-dryer-vent-cleaning-florida #real-work {
  padding-top: 2rem;
}

@media (min-width: 1024px) {
  .page-dryer-vent-cleaning-florida .florida-scope-layout {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: 3rem;
  }

  .page-dryer-vent-cleaning-florida .florida-hero {
    min-height: 0;
  }

  .page-dryer-vent-cleaning-florida .florida-hero > .container-content {
    padding-top: 2.5rem;
    padding-bottom: 0.75rem;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-trust {
    grid-column: 1 / 2;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-self: end;
    gap: 0;
    margin-top: 0.5rem;
    padding: 0.85rem 0;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-trust .gfr-trust-item {
    padding: 0 1rem;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-callback-form-wrap {
    padding: 1.2rem 1.35rem 1.08rem;
  }

  .page-dryer-vent-cleaning-florida #reviews {
    padding-top: 2.5rem;
    padding-bottom: 2.25rem;
  }

  .page-dryer-vent-cleaning-florida #local-presence {
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
  }

  .page-dryer-vent-cleaning-florida .florida-work-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .page-dryer-vent-cleaning-florida .florida-work-grid > .florida-work-card:nth-last-child(2),
  .page-dryer-vent-cleaning-florida .florida-work-grid > .florida-work-card:last-child {
    grid-column: span 2;
  }

  .page-dryer-vent-cleaning-florida #warning-signs {
    padding-top: 2.25rem;
  }

  .page-dryer-vent-cleaning-florida #airflow-safety {
    padding-bottom: 2.25rem;
  }

  .page-dryer-vent-cleaning-florida #comparison {
    padding-top: 2.25rem;
  }
}

@media (max-width: 767.98px) {
  .page-dryer-vent-cleaning-florida #dryer-vent-video,
  .page-dryer-vent-cleaning-florida #warning-signs,
  .page-dryer-vent-cleaning-florida #faq {
    padding-top: 3.7rem;
  }

  .page-dryer-vent-cleaning-florida #dryer-vent-video {
    padding-bottom: 1.5rem;
  }

  .page-dryer-vent-cleaning-florida #real-work {
    padding-top: 1.5rem;
  }
}

@media (max-width: 767.98px) {
  .page-dryer-vent-cleaning-florida header[data-gfr-header] .inline-flex.items-center.gap-0 > img {
    margin-left: -14px;
  }
}

@media (min-width: 768px) and (max-width: 1023.98px) {
  .page-dryer-vent-cleaning-florida .florida-hero > .container-content {
    gap: 0.72rem;
    padding-top: 1.45rem;
    padding-bottom: 1.35rem;
  }

  .page-dryer-vent-cleaning-florida #hero-heading {
    max-width: 38rem;
    font-size: clamp(2rem, 4.35vw, 2.55rem);
    line-height: 1.07;
    letter-spacing: 0;
  }

  .page-dryer-vent-cleaning-florida .florida-hero p.order-3 {
    max-width: 38rem;
    font-size: 1.02rem;
    line-height: 1.48;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-rating {
    margin: 0 auto;
  }

  .page-dryer-vent-cleaning-florida .gfr-header-mobile-promo-badge {
    display: inline-flex;
    width: clamp(13rem, 34vw, 18rem);
    margin-left: auto;
    filter: drop-shadow(0 10px 14px rgba(18, 48, 71, 0.18));
  }

  .page-dryer-vent-cleaning-florida .gfr-header-mobile-promo-badge img {
    max-height: 2.75rem;
  }

  .page-dryer-vent-cleaning-florida .gfr-header-compact-actions > [data-cta-location="header"] {
    display: none;
  }

  .page-dryer-vent-cleaning-florida .gfr-header-desktop-promo-phone {
    display: inline-flex;
    gap: 0.34rem;
    flex: 0 0 auto;
    min-height: 2.4rem;
    padding: 0.48rem 0.62rem;
    border: 1px solid rgba(14, 124, 123, 0.22);
    border-radius: 999px;
    background: rgba(14, 124, 123, 0.08);
    color: #123047;
    box-shadow: 0 12px 24px -22px rgba(18, 48, 71, 0.45);
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
  }

  .page-dryer-vent-cleaning-florida .gfr-header-desktop-promo-phone svg {
    width: 0.96rem;
    height: 0.96rem;
    color: #0e7c7b;
  }
}

@media (max-width: 1023.98px) {
  .page-dryer-vent-cleaning-florida #hero-heading {
    max-width: none;
  }

  .page-dryer-vent-cleaning-florida #hero-heading br {
    display: none;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__outof {
    max-width: none;
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .page-dryer-vent-cleaning-florida .gfr-mobile-sticky-call,
  .page-dryer-vent-cleaning-florida .gfr-mobile-sticky-request {
    min-width: 0;
    white-space: nowrap;
  }
}

@media (max-width: 374.98px) {
  .page-dryer-vent-cleaning-florida .florida-mobile-hero-rating {
    gap: 0.5rem;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__row {
    gap: 0.25rem;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__stars {
    font-size: 0.92rem;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-social-proof,
  .page-dryer-vent-cleaning-florida .florida-mobile-hero-quotes {
    width: 7.5rem;
    min-width: 7.5rem;
  }

  .page-dryer-vent-cleaning-florida .gfr-mobile-sticky {
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom, 0px));
  }

  .page-dryer-vent-cleaning-florida .gfr-mobile-sticky-inner {
    gap: 8px;
  }

  .page-dryer-vent-cleaning-florida .gfr-mobile-sticky-call,
  .page-dryer-vent-cleaning-florida .gfr-mobile-sticky-request {
    min-height: 44px;
    padding: 0.65rem 0.55rem;
    font-size: 0.78rem;
    line-height: 1;
  }

  .page-dryer-vent-cleaning-florida .gfr-mobile-sticky-icon {
    width: 0.9rem;
    height: 0.9rem;
    margin-right: 0.3rem;
  }
}

@media (max-width: 339.98px) {
  .page-dryer-vent-cleaning-florida #hero-heading {
    font-size: 1.4rem;
    line-height: 1.08;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-rating {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-social-proof {
    display: none;
  }
}

@media (min-width: 640px) {
  .page-dryer-vent-cleaning-florida .gfr-header-mobile-phone {
    display: none;
  }

  .page-dryer-vent-cleaning-florida .gfr-header-compact-actions {
    display: flex;
  }

  .page-dryer-vent-cleaning-florida .gfr-header-compact-actions > [data-cta-location="header"] {
    display: none;
  }

  .page-dryer-vent-cleaning-florida .gfr-header-desktop-promo-phone {
    display: inline-flex;
    gap: 0.34rem;
    flex: 0 0 auto;
    min-height: 2.4rem;
    padding: 0.48rem 0.62rem;
    border: 1px solid rgba(14, 124, 123, 0.22);
    border-radius: 999px;
    background: rgba(14, 124, 123, 0.08);
    color: #123047;
    box-shadow: 0 12px 24px -22px rgba(18, 48, 71, 0.45);
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
  }

  .page-dryer-vent-cleaning-florida .gfr-header-desktop-promo-phone svg {
    width: 0.96rem;
    height: 0.96rem;
    color: #0e7c7b;
  }

  .page-dryer-vent-cleaning-florida .gfr-header-desktop-phone {
    gap: 0.34rem;
    flex: 0 0 auto;
    min-height: 2.4rem;
    padding: 0.48rem 0.62rem;
    border: 1px solid rgba(14, 124, 123, 0.22);
    border-radius: 999px;
    background: rgba(14, 124, 123, 0.08);
    color: #123047;
    box-shadow: 0 12px 24px -22px rgba(18, 48, 71, 0.45);
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
  }

  .page-dryer-vent-cleaning-florida .gfr-header-desktop-phone svg {
    width: 0.96rem;
    height: 0.96rem;
    color: #0e7c7b;
  }
}

@media (min-width: 768px) {
  .page-dryer-vent-cleaning-florida .florida-mobile-hero-call {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.58rem;
    width: fit-content;
    max-width: 100%;
    margin: 0.1rem 0 0;
    padding: 0.72rem 1.35rem;
    border: 1px solid rgba(241, 217, 168, 0.48);
    border-radius: 999px;
    background: rgba(8, 28, 42, 0.52);
    color: #ffffff;
    box-shadow: 0 14px 28px -24px rgba(0, 0, 0, 0.65);
    font-size: 1.55rem;
    line-height: 1;
    text-decoration: none;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-call .gfr-icon {
    width: 1.25rem;
    height: 1.25rem;
    color: #f1d9a8;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-call strong {
    color: #ffffff;
    font-weight: 700;
    letter-spacing: 0.01em;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-rating {
    max-width: min(100%, 42rem);
    margin-top: 0.2rem;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__score {
    font-size: 2.2rem;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-rating__total {
    font-size: 0.74rem;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-quotes {
    width: 11rem;
    min-height: 3rem;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-quote {
    font-size: 0.7rem;
    line-height: 1.18;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-callback-form-wrap--price-badge > p:first-of-type {
    max-width: min(85%, calc(100% - 8.75rem));
  }

  .page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-callback-form-wrap--price-badge > p[data-form-intro] {
    width: 85%;
    max-width: calc(100% - 8.75rem);
  }

  .page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-form-price-badge {
    top: 0.5rem;
    right: 0.5rem;
    width: clamp(8rem, 18vw, 9.25rem);
  }
}

@media (min-width: 768px) and (max-width: 1023.98px) {
  .page-dryer-vent-cleaning-florida .florida-mobile-hero-call {
    margin: 0.05rem auto 0;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-actions {
    display: none;
  }
}

@media (min-width: 1024px) {
  .page-dryer-vent-cleaning-florida header[data-gfr-header] .container-content {
    position: relative;
  }

  .page-dryer-vent-cleaning-florida .gfr-header-compact-actions > [data-cta-location="header"] {
    display: inline-flex;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-call {
    display: none;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-call .gfr-icon {
    width: 1.05rem;
    height: 1.05rem;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-phone {
    min-height: 3.4rem;
    padding: 0.78rem 1.55rem;
    border-color: rgba(241, 217, 168, 0.34);
    border-radius: 999px;
    background: rgba(8, 28, 42, 0.46);
    box-shadow: 0 12px 24px -22px rgba(0, 0, 0, 0.72);
    font-size: 1.36rem;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-phone .gfr-icon {
    width: 1.24rem;
    height: 1.24rem;
    color: #f1d9a8;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-phone span {
    font-weight: 700;
    letter-spacing: 0.01em;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-rating {
    max-width: min(100%, 39.5rem);
    margin-top: 0.1rem;
  }

  .page-dryer-vent-cleaning-florida .gfr-header-desktop-promo-badge {
    display: inline-flex;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    width: clamp(14.5rem, 18vw, 17.5rem);
    margin-right: 0;
    transform: translate(-50%, -50%);
    filter: drop-shadow(0 12px 18px rgba(18, 48, 71, 0.14));
  }

  .page-dryer-vent-cleaning-florida .gfr-header-desktop-promo-badge img {
    max-height: 3.2rem;
  }

  .page-dryer-vent-cleaning-florida .gfr-header-desktop-promo-phone {
    display: inline-flex;
    gap: 0.5rem;
    padding: 0.6rem 0.85rem;
    border: 1px solid rgba(14, 124, 123, 0.18);
    border-radius: 0.9rem;
    background: rgba(255, 255, 255, 0.78);
    color: #123047;
    box-shadow: 0 12px 24px -22px rgba(18, 48, 71, 0.45);
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
  }

  .page-dryer-vent-cleaning-florida .gfr-header-desktop-promo-phone svg {
    width: 1rem;
    height: 1rem;
    color: #0e7c7b;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-social-proof {
    min-width: 10rem;
  }

  .page-dryer-vent-cleaning-florida .florida-mobile-hero-quotes {
    width: 10.75rem;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-callback-form-wrap--price-badge > p:first-of-type {
    max-width: min(75%, calc(100% - 11.5rem));
  }

  .page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-callback-form-wrap--price-badge > p[data-form-intro] {
    width: 75%;
    max-width: calc(100% - 11.5rem);
  }

  .page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-form-price-badge {
    top: 0.75rem;
    right: 0.75rem;
    width: clamp(12.25rem, 15vw, 13rem);
  }

  .page-dryer-vent-cleaning-florida .florida-hero-trust {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .page-dryer-vent-cleaning-florida .florida-hero-trust .gfr-trust-item:first-child {
    display: none;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-trust .gfr-trust-item {
    padding: 0 1.4rem;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-trust .gfr-trust-item:nth-child(2) {
    padding-left: 0;
    border-left: 0 !important;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-trust .gfr-icon-tile {
    width: 3rem;
    height: 3rem;
  }
}

@media (min-width: 1024px) and (max-height: 800px) {
  .page-dryer-vent-cleaning-florida .florida-hero > .container-content {
    padding-top: 2rem;
    padding-bottom: 1rem;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-trust,
  .page-dryer-vent-cleaning-florida .florida-hero-phone-note {
    display: none;
  }
}

@media (min-width: 1024px) and (max-width: 1199.98px) {
  .page-dryer-vent-cleaning-florida .florida-hero-actions {
    flex-wrap: nowrap;
    gap: 0.65rem;
    align-items: stretch;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-primary {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 3.15rem;
    padding: 0.74rem 0.92rem;
    font-size: 0.88rem;
    white-space: nowrap;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-phone {
    flex: 0 0 auto;
    min-height: 3.15rem;
    padding: 0.72rem 1rem;
    font-size: 1.06rem;
    white-space: nowrap;
  }

  .page-dryer-vent-cleaning-florida .florida-hero-phone .gfr-icon {
    width: 1.05rem;
    height: 1.05rem;
  }
}

@media (min-width: 1280px) {
  .page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-callback-form-wrap--price-badge > p:first-of-type {
    max-width: min(75%, calc(100% - 12rem));
  }

  .page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-callback-form-wrap--price-badge > p[data-form-intro] {
    width: 75%;
    max-width: calc(100% - 12rem);
  }

  .page-dryer-vent-cleaning-florida .florida-hero-form-wrap .gfr-form-price-badge {
    top: 0.75rem;
    right: 0.75rem;
    width: clamp(12.75rem, 11vw, 14rem);
  }
}
