:root{--fc-blue-500:hsl(198.3420 75.6863% 50.0000%);--fc-blue-600:hsl(200.5714 83.7321% 40.9804%);--fc-blue-100:hsl(199.2000 80.6452% 93.9216%);--fc-orange-500:hsl(35.3299 91.6279% 57.8431%);--fc-orange-600:hsl(35.5340 85.1240% 47.4510%);--fc-navy-950:hsl(206.2500 72.7273% 8.6275%);--fc-navy-900:hsl(207.2727 68.7500% 12.5490%);--fc-navy-800:hsl(206.3158 61.2903% 18.2353%);--fc-ink:hsl(208.6957 43.3962% 10.3922%);--fc-text:hsl(207.8571 25.0000% 21.9608%);--fc-muted:hsl(207.8571 14.7368% 37.2549%);--fc-line:hsl(208.2353 30.9091% 89.2157%);--fc-surface:hsl(0.0000 0.0000% 100.0000%);--fc-surface-2:hsl(205.7143 41.1765% 96.6667%);--fc-on-dark:hsl(202.5000 57.1429% 97.2549%);--fc-on-dark-muted:hsl(207.0968 28.4404% 78.6275%);--fc-grad-water:linear-gradient(135deg,hsl(207.2727 68.7500% 12.5490%) 0%,hsl(205.0633 75.2381% 20.5882%) 55%,hsl(201.8182 76.3889% 28.2353%) 100%);--fc-grad-accent:linear-gradient(90deg,var(--fc-blue-500),hsl(199.2188 100.0000% 74.9020%));--fc-grad-cta:linear-gradient(180deg,hsl(36.4045 100.0000% 65.0980%) 0%,var(--fc-orange-500) 100%);--fc-font-display:"Montserrat","Segoe UI",system-ui,sans-serif;--fc-font-body:"Open Sans","Segoe UI",system-ui,sans-serif;--fc-fs-display:clamp(2.75rem,1.9rem + 3.6vw,4.75rem);--fc-fs-h2:clamp(2rem,1.4rem + 2.6vw,3.25rem);--fc-fs-h3:clamp(1.375rem,1.2rem + .75vw,1.75rem);--fc-fs-lead:clamp(1.1875rem,1.1rem + .45vw,1.4375rem);--fc-fs-body:clamp(1.0625rem,1.03rem + .15vw,1.125rem);--fc-fs-small:.9375rem;--fc-fs-eyebrow:.875rem;--fc-fw-display:800;--fc-fw-heading:700;--fc-fw-strong:600;--fc-lh-tight:1.05;--fc-lh-heading:1.15;--fc-lh-body:1.65;--fc-space-1:.25rem;--fc-space-2:.5rem;--fc-space-3:.75rem;--fc-space-4:1rem;--fc-space-5:1.5rem;--fc-space-6:2rem;--fc-space-7:3rem;--fc-space-8:4rem;--fc-section-y:clamp(4.5rem,3rem + 6vw,8rem);--fc-gutter:clamp(1.25rem,.8rem + 2vw,2.5rem);--fc-container:1200px;--fc-measure:62ch;--fc-radius-sm:10px;--fc-radius-md:16px;--fc-radius-lg:24px;--fc-radius-pill:999px;--fc-shadow-sm:0 1px 2px hsl(206.2500 72.7273% 8.6275% / .06),0 2px 6px hsl(206.2500 72.7273% 8.6275% / .06);--fc-shadow-md:0 2px 4px hsl(206.2500 72.7273% 8.6275% / .05),0 8px 20px hsl(206.2500 72.7273% 8.6275% / .08),0 20px 40px -12px hsl(206.2500 72.7273% 8.6275% / .12);--fc-shadow-lg:0 4px 8px hsl(206.2500 72.7273% 8.6275% / .06),0 18px 36px hsl(206.2500 72.7273% 8.6275% / .12),0 40px 80px -20px hsl(206.2500 72.7273% 8.6275% / .25);--fc-glow-blue:0 0 0 1px hsl(199.2188 100.0000% 74.9020% / .35),0 8px 30px hsl(198.3420 75.6863% 50.0000% / .35);--fc-glow-orange:0 6px 20px hsl(35.3299 91.6279% 57.8431% / .45),0 0 0 1px hsl(36.5714 100.0000% 79.4118% / .6) inset;--fc-glass-bg:hsl(207.2727 68.7500% 12.5490% / .45);--fc-glass-bg-light:hsl(0.0000 0.0000% 100.0000% / .72);--fc-glass-border:hsl(0.0000 0.0000% 100.0000% / .22);--fc-glass-blur:16px;--fc-header-bg:hsl(0.0000 0.0000% 0.0000% / .5);--fc-header-bg-solid:hsl(0.0000 0.0000% 1.9608%);--fc-panel-bg:hsl(0.0000 0.0000% 0.0000% / .74);--fc-panel-angle:82%;--fc-ease:cubic-bezier(.2,.7,.2,1);--fc-dur-fast:160ms;--fc-dur:260ms;--fc-dur-slow:600ms;--fc-focus:0 0 0 3px hsl(0.0000 0.0000% 100.0000%),0 0 0 6px var(--fc-blue-500);--fc-header-h:7rem;--fc-header-h-compact:4.5rem;--fc-logo-compact:11.25rem;--fc-footer-bg:hsl(216 7.9365% 12.3529%);--fc-footer-text:hsl(207.6923 17.3333% 85.6863%);--fc-footer-legal-bg:hsl(0 0% 6.6667%);--fc-footer-legal-text:hsl(208 16.129% 81.7647%);--fc-footer-heading-size:1.15rem;--fc-footer-heading-line:1.25;--fc-footer-heading-height:calc(2 * var(--fc-footer-heading-size) * var(--fc-footer-heading-line) + var(--fc-space-4) + .1875rem);--fc-footer-icon:2.125rem;--fc-footer-contact-gap:.85rem;--fc-hours-size:1.125rem;--fc-footer-phone-size:1.5rem;--fc-header-phone-size:1.125rem;--fc-button-small-size:.85rem;--fc-social-border:hsl(0 0% 100% / .35);--fc-menu-border:hsl(0 0% 100% / .1);--fc-menu-bg:hsl(0 0% 100% / .08);--fc-menu-line:.125rem;--fc-menu-line-size:1.25rem;--fc-menu-move:.375rem;--fc-footer-name-size:1.35rem;--fc-link-ink:color-mix(in srgb,var(--fc-blue-600) 85%,var(--fc-navy-950));--fc-black:hsl(0 0% 0%);--fc-white:hsl(0 0% 100%);--fc-card-text:hsl(206.6667 37.5% 88.6275%);--fc-card-link:hsl(198.3486 100% 78.0392%);--fc-trust-bg:hsl(0 0% 0% / .6);--fc-trust-mobile-bg:hsl(0 0% 100% / .06);--fc-trust-border:hsl(0 0% 100% / .18);--fc-trust-shadow:0 1rem 2.5rem -.875rem hsl(0 0% 0% / .6);--fc-trust-title:1.2rem;--fc-trust-line:1.4;--fc-symbol-size:2.5rem;--fc-target:2.75rem;--fc-logo-desktop:24.125rem;--fc-logo-mobile:clamp(10.625rem,46.15385vw,11.25rem);--fc-logo-footer:11rem;--fc-header-pad:1rem;--fc-preview-size:.6875rem;--fc-header-clearance:12rem;--fc-hero-min:clamp(35rem,80vh,48.75rem);--fc-hero-copy:min(42rem,52vw);--fc-hero-panel:min(64%,62.5rem);--fc-hero-trust-gap:3rem;--fc-photo-card-min:27.5rem;--fc-photo-peek:8rem;--fc-card-angle:1.6rem;--fc-card-shadow:0 1.375rem 3.125rem -1rem hsl(204.375 72.7273% 8.6275% / .5);--fc-card-shadow-hover:0 1.875rem 3.75rem -1.125rem hsl(200.5714 83.7321% 40.9804% / .55);--fc-card-lift:-.5rem;--fc-card-zoom:1.05;--fc-cta-min:26.25rem;--fc-cta-panel:62%;--fc-cta-copy:min(36rem,52%);--fc-cta-pad:clamp(2.5rem,1.5rem + 4vw,4.5rem);--fc-faq-top:8.5rem;--fc-focus-width:.1875rem;--fc-focus-offset:.25rem;--fc-track-eyebrow:.12em;--fc-track-heading:-.02em;--fc-track-display:-.03em;--fc-angle-bottom:calc(100% - 1.75rem);--fc-faq-focus:0 0 0 .1875rem hsl(198.3420 75.6863% 50% / .28);--fc-media-shadow:0 .125rem .25rem hsl(206.25 72.7273% 8.6275% / .06),0 1.125rem 2.5rem -.75rem hsl(206.25 72.7273% 8.6275% / .28);--fc-media-shadow-hover:0 .25rem .5rem hsl(206.25 72.7273% 8.6275% / .08),0 1.875rem 3.75rem -1rem hsl(200.5714 83.7321% 40.9804% / .45);--fc-gallery-shadow:0 .875rem 1.875rem -.875rem hsl(206.25 72.7273% 8.6275% / .45);--fc-gallery-chip:hsl(0 0% 0% / .66);--fc-gallery-caption-size:.9rem;--fc-gallery-caption-mobile:.8rem;--fc-gallery-caption-line:1.3;--fc-gallery-zoom:1.06;--fc-lightbox-width:min(92vw,68.75rem);--fc-lightbox-height:90dvh;--fc-lightbox-image-height:72dvh;--fc-lightbox-backdrop:hsl(0 0% 0% / .85);--fc-lightbox-control-bg:hsl(0 0% 0% / .55);--fc-lightbox-control-size:3.25rem;--fc-lightbox-control-font:1.6rem;--fc-lightbox-caption-size:1.05rem;--fc-faq-toggle-size:2rem;--fc-faq-toggle-font:1.4rem;--fc-eyebrow-dash-width:1.75rem;--fc-eyebrow-dash-height:.1875rem;--fc-eyebrow-dash-gap:.6em;--fc-phone-size:clamp(1.75rem,1.25rem + 2vw,2.75rem);--fc-shadow-button-hover:0 .625rem 1.75rem hsl(35.8376 91.6279% 57.8431% / .5);--fc-hover-lift:-.125rem;--fc-transition:.2s ease-in-out;}*,*::before,*::after{box-sizing:border-box;}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}body{margin:0;font:var(--fc-fs-body)/var(--fc-lh-body) var(--fc-font-body);color:var(--fc-text);background:var(--fc-surface);-webkit-font-smoothing:antialiased;}h1,h2,h3,h4{margin:0;font-family:var(--fc-font-display);line-height:var(--fc-lh-heading);letter-spacing:var(--fc-track-heading);color:var(--fc-ink);text-wrap:balance;}h1{font-size:var(--fc-fs-display);font-weight:var(--fc-fw-display);line-height:var(--fc-lh-tight);letter-spacing:var(--fc-track-display);}h2{font-size:var(--fc-fs-h2);font-weight:var(--fc-fw-display);}h3{font-size:var(--fc-fs-h3);font-weight:var(--fc-fw-heading);}p{margin:0;text-wrap:pretty;}a{color:var(--fc-link-ink);text-underline-offset:.2em;}img{display:block;max-inline-size:100%;block-size:auto;}svg{display:block;inline-size:var(--fc-space-5);block-size:var(--fc-space-5);}:focus-visible{outline:var(--fc-focus-width) solid var(--fc-blue-500);outline-offset:var(--fc-focus-offset);box-shadow:var(--fc-focus);border-radius:var(--fc-radius-sm);}main:focus{outline:none;box-shadow:none;}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}}.fc-container{inline-size:min(100% - 2 * var(--fc-gutter),var(--fc-container));margin-inline:auto;}.fc-section{padding-block:var(--fc-section-y);overflow-x:clip;}.fc-section--alt{background:var(--fc-surface-2);}.fc-section-head{display:grid;gap:var(--fc-space-5);margin-block-end:var(--fc-space-7);}.fc-heading-stack{display:grid;gap:var(--fc-space-4);align-content:start;}.fc-grid{display:grid;gap:var(--fc-space-5);}@media (min-width:650px){.fc-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}@media (min-width:1000px){.fc-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.fc-section-head--split{grid-template-columns:1.1fr 1fr;gap:var(--fc-space-8);align-items:end;}}.fc-eyebrow{display:inline-flex;align-items:center;gap:var(--fc-eyebrow-dash-gap);justify-self:start;color:var(--fc-link-ink);font:var(--fc-fw-heading) var(--fc-fs-eyebrow)/var(--fc-trust-line) var(--fc-font-body);text-transform:uppercase;letter-spacing:var(--fc-track-eyebrow);}.fc-eyebrow::before{content:"";flex:none;inline-size:var(--fc-eyebrow-dash-width);block-size:var(--fc-eyebrow-dash-height);border-radius:var(--fc-eyebrow-dash-height);background:var(--fc-orange-500);}.fc-lead{font-size:var(--fc-fs-lead);}.fc-accent{color:var(--fc-orange-500);}.fc-btn{display:inline-flex;justify-content:center;align-items:center;gap:var(--fc-space-3);min-block-size:var(--fc-target);padding:var(--fc-space-3) var(--fc-space-5);border:0;border-radius:var(--fc-radius-pill);background:var(--fc-grad-cta);color:var(--fc-ink);font-size:var(--fc-fs-small);font-weight:var(--fc-fw-heading);text-decoration:none;box-shadow:var(--fc-glow-orange);transition:transform var(--fc-transition),box-shadow var(--fc-transition),background-color var(--fc-transition);}.fc-btn:hover{transform:translateY(var(--fc-hover-lift));box-shadow:var(--fc-shadow-button-hover);}.fc-btn--blue{background:var(--fc-blue-500);color:var(--fc-ink);box-shadow:var(--fc-glow-blue);}.fc-btn--ghost{background:var(--fc-trust-bg);color:var(--fc-on-dark);border:1px solid var(--fc-glass-border);box-shadow:none;}.fc-actions,.fc-hero__actions{display:flex;flex-wrap:wrap;gap:var(--fc-space-4);align-items:center;}.fc-header{background:var(--fc-header-bg);color:var(--fc-on-dark);}.fc-header.is-stuck{background:var(--fc-header-bg-solid);}.fc-header__inner{display:flex;flex-wrap:wrap;gap:var(--fc-space-3) var(--fc-space-6);align-items:center;justify-content:space-between;padding-block:var(--fc-header-pad);}.fc-header__logo{display:block;inline-size:var(--fc-logo-mobile);flex-shrink:0;min-block-size:var(--fc-target);align-content:center;}.fc-header__logo img{inline-size:100%;block-size:auto;}.fc-nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--fc-space-2) var(--fc-space-4);}.fc-nav a{display:inline-flex;align-items:center;min-block-size:var(--fc-target);color:var(--fc-on-dark);font-size:var(--fc-fs-small);font-weight:var(--fc-fw-strong);text-decoration:none;}.fc-nav .fc-btn{color:var(--fc-ink);}.fc-preview-label{padding-block:var(--fc-space-1);padding-inline:var(--fc-gutter);font-size:var(--fc-preview-size);text-align:center;background:var(--fc-trust-bg);color:var(--fc-on-dark-muted);}.fc-hero,.fc-cta,.fc-band{display:grid;isolation:isolate;overflow-x:clip;background:var(--fc-black);color:var(--fc-on-dark);}.fc-hero__media,.fc-cta__media,.fc-band__media,.fc-card__media{display:grid;overflow:hidden;min-inline-size:0;min-block-size:0;}picture > source{display:none;}.fc-hero__media img,.fc-cta__media img,.fc-band__media img,.fc-card__media img{grid-area:1/1;inline-size:100%;block-size:100%;object-fit:cover;}.fc-hero__media{aspect-ratio:4/3;}.fc-hero__panel,.fc-cta__panel{display:none;}.fc-hero__inner{display:grid;gap:var(--fc-hero-trust-gap);padding-block:var(--fc-space-7);}.fc-hero__copy{display:grid;gap:var(--fc-space-5);max-inline-size:var(--fc-measure);}.fc-hero h1,.fc-hero .fc-eyebrow,.fc-cta h2,.fc-cta .fc-eyebrow,.fc-band h2,.fc-band .fc-eyebrow{color:var(--fc-on-dark);}.fc-hero .fc-lead,.fc-cta .fc-lead{color:var(--fc-card-text);}.fc-trust-glass{list-style:none;margin:0;padding:0;display:grid;gap:var(--fc-space-4);}.fc-trust-glass li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--fc-space-4);padding:var(--fc-space-5);border:1px solid var(--fc-trust-border);border-radius:var(--fc-radius-md);background:var(--fc-trust-mobile-bg);box-shadow:var(--fc-trust-shadow);}.fc-trust-glass__icon{color:var(--fc-white);}.fc-trust-glass__icon .fc-trust-accent{stroke:var(--fc-orange-500);}.fc-trust-glass__icon svg{inline-size:var(--fc-symbol-size);block-size:var(--fc-symbol-size);}.fc-trust-glass b{display:block;color:var(--fc-white);font:var(--fc-fw-display) var(--fc-trust-title)/var(--fc-trust-line) var(--fc-font-display);}.fc-trust-glass li div > span{display:block;color:var(--fc-card-text);font-size:var(--fc-fs-small);line-height:var(--fc-trust-line);margin-block-start:var(--fc-space-2);}.fc-photo-card{display:grid;grid-template-rows:minmax(var(--fc-photo-peek),1fr) auto;min-block-size:var(--fc-photo-card-min);border-radius:var(--fc-radius-lg);overflow:hidden;isolation:isolate;text-decoration:none;box-shadow:var(--fc-card-shadow);transition:transform var(--fc-transition),box-shadow var(--fc-transition);}.fc-card__media{grid-area:1/1/3/2;contain:size;}.fc-card__media img{transition:transform var(--fc-dur-slow) var(--fc-ease);}.fc-photo-card:hover{transform:translateY(var(--fc-card-lift));box-shadow:var(--fc-card-shadow-hover);}.fc-photo-card:hover img{transform:scale(var(--fc-card-zoom));}.fc-photo-card__panel{grid-area:2/1;z-index:1;display:grid;grid-template-rows:auto 1fr auto;gap:var(--fc-space-3);padding:var(--fc-space-7) var(--fc-space-6) var(--fc-space-6);background:var(--fc-panel-bg);clip-path:polygon(0 var(--fc-card-angle),100% 0,100% 100%,0 100%);}.fc-photo-card h3{color:var(--fc-white);}.fc-photo-card p{color:var(--fc-card-text);font-size:var(--fc-fs-body);}.fc-photo-card__link{display:flex;align-items:center;gap:var(--fc-space-3);min-block-size:var(--fc-target);color:var(--fc-card-link);font-size:var(--fc-space-4);font-weight:var(--fc-fw-heading);}.fc-band__media{grid-area:1/1;contain:size;}.fc-band__content{grid-area:1/1;z-index:1;display:grid;gap:var(--fc-space-7);padding-block:var(--fc-section-y);}.fc-band__head{display:grid;gap:var(--fc-space-4);justify-self:start;max-inline-size:var(--fc-measure);padding:var(--fc-space-5) var(--fc-space-7) var(--fc-space-5) var(--fc-space-6);background:var(--fc-panel-bg);clip-path:polygon(0 0,100% 0,var(--fc-angle-bottom) 100%,0 100%);}.fc-steps{margin:0;padding:0;list-style:none;display:grid;gap:var(--fc-space-5);}.fc-card.fc-step{display:grid;grid-template-rows:auto auto 1fr;gap:var(--fc-space-4);padding:var(--fc-space-6);background:var(--fc-surface);border:1px solid var(--fc-line);border-radius:var(--fc-radius-lg);box-shadow:var(--fc-shadow-md);color:var(--fc-muted);}.fc-step__num{font:var(--fc-fw-display) var(--fc-fs-h2)/var(--fc-lh-tight) var(--fc-font-display);color:var(--fc-link-ink);}.fc-step p{font-size:var(--fc-fs-body);}.fc-faq-layout{display:grid;gap:var(--fc-space-7);}.fc-faq{display:grid;gap:var(--fc-space-4);}.fc-faq details{border:1px solid var(--fc-line);border-radius:var(--fc-radius-md);background:var(--fc-surface);box-shadow:var(--fc-shadow-sm);}.fc-faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--fc-space-4);cursor:pointer;padding:var(--fc-space-5);min-block-size:var(--fc-target);font-family:var(--fc-font-display);font-weight:var(--fc-fw-heading);color:var(--fc-ink);}.fc-faq summary::-webkit-details-marker{display:none;}.fc-faq summary::marker{content:"";}.fc-faq summary::after{content:"+";flex:none;inline-size:var(--fc-faq-toggle-size);block-size:var(--fc-faq-toggle-size);border-radius:50%;display:grid;place-items:center;background:var(--fc-blue-100);color:var(--fc-link-ink);font-size:var(--fc-faq-toggle-font);font-weight:var(--fc-fw-strong);line-height:1;transition:transform var(--fc-transition),background-color var(--fc-transition);}.fc-faq details[open] summary::after{transform:rotate(45deg);background:var(--fc-blue-500);color:var(--fc-ink);}.fc-faq details > div{padding:0 var(--fc-space-5) var(--fc-space-5);}.fc-faq details:focus,.fc-faq summary:focus,.fc-faq summary:focus-visible{outline:none;box-shadow:none;border-radius:var(--fc-radius-md);}.fc-faq details:has(summary:focus-visible){outline:none;border-color:var(--fc-line);box-shadow:var(--fc-faq-focus);}.fc-faq-intro{align-self:start;}.fc-faq-intro .fc-btn{justify-self:start;}.fc-cta{border-radius:var(--fc-radius-lg);box-shadow:var(--fc-shadow-lg);}.fc-cta__media{aspect-ratio:16/9;}.fc-cta__inner{display:grid;gap:var(--fc-space-5);padding:var(--fc-cta-pad);}.fc-cta__inner .fc-btn{justify-self:start;}.fc-phone{font:var(--fc-fw-display) var(--fc-phone-size)/var(--fc-lh-heading) var(--fc-font-display);color:var(--fc-white);text-decoration:none;min-block-size:var(--fc-target);}.fc-email{color:var(--fc-card-link);font-size:var(--fc-fs-small);min-block-size:var(--fc-target);display:inline-flex;align-items:center;overflow-wrap:anywhere;}.fc-footer{padding-block:var(--fc-space-8) var(--fc-space-6);background:var(--fc-navy-950);color:var(--fc-on-dark-muted);}.fc-footer-grid{display:grid;gap:var(--fc-space-7);}.fc-footer-grid > div{display:grid;align-content:start;gap:var(--fc-space-4);}.fc-footer h2{color:var(--fc-white);font-size:var(--fc-fs-h3);}.fc-footer a{color:var(--fc-on-dark);min-block-size:var(--fc-target);display:inline-flex;align-items:center;}.fc-footer__logo{max-inline-size:var(--fc-logo-footer);}.fc-footer-label{font-size:var(--fc-fs-small);}.fc-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--fc-space-4);border-block-start:1px solid var(--fc-glass-border);margin-block-start:var(--fc-space-7);padding-block-start:var(--fc-space-5);}@media (max-width:760px){.fc-header__inner{gap:var(--fc-space-3);}.fc-nav a:not(.fc-btn){display:none;}.fc-nav .fc-btn{padding-inline:var(--fc-space-3);}}@media (min-width:650px){.fc-trust-glass{grid-template-columns:repeat(3,minmax(0,1fr));}.fc-trust-glass li{grid-template-columns:1fr;}.fc-footer-grid{grid-template-columns:1.3fr 1fr 1fr;}}@media (min-width:900px){.fc-header__logo{inline-size:var(--fc-logo-desktop);}.fc-faq-layout{grid-template-columns:.85fr 1.15fr;}.fc-faq-intro{position:sticky;inset-block-start:var(--fc-faq-top);}.fc-steps{grid-template-columns:repeat(3,minmax(0,1fr));}.fc-cta{min-block-size:var(--fc-cta-min);}.fc-cta__media{grid-area:1/1;contain:size;aspect-ratio:auto;}.fc-cta__panel{display:block;grid-area:1/1;inline-size:var(--fc-cta-panel);background:var(--fc-panel-bg);clip-path:polygon(0 0,100% 0,var(--fc-panel-angle) 100%,0 100%);}.fc-cta__inner{grid-area:1/1;z-index:1;max-inline-size:var(--fc-cta-copy);}}@media (min-width:1000px){.fc-hero{min-block-size:var(--fc-hero-min);}.fc-hero__media{grid-area:1/1;contain:size;aspect-ratio:auto;}.fc-hero__panel{display:block;grid-area:1/1;inline-size:var(--fc-hero-panel);background:var(--fc-panel-bg);clip-path:polygon(0 0,100% 0,var(--fc-panel-angle) 100%,0 100%);}.fc-hero__inner{grid-area:1/1;z-index:1;padding-block:var(--fc-header-clearance) var(--fc-space-6);align-content:end;}.fc-hero__copy{max-inline-size:var(--fc-hero-copy);}.fc-trust-glass li{grid-template-columns:auto minmax(0,1fr);background:var(--fc-trust-bg);}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) and (min-width:1000px){.fc-band{background-image:image-set(url('assets/band-1800.avif') type('image/avif'),url('assets/band-1800.webp') type('image/webp'),url('assets/band-1800.jpg') type('image/jpeg'));background-size:cover;background-position:center;background-attachment:fixed;}.fc-band__media{visibility:hidden;}}html{scroll-padding-block-start:calc(var(--fc-header-h) + var(--fc-space-4));}.fc-header{transition:none;}.fc-header__inner{display:grid;grid-template-columns:auto minmax(0,1fr);min-block-size:var(--fc-header-h);padding-block:var(--fc-space-2);gap:var(--fc-space-5);}.fc-header__logo{inline-size:var(--fc-logo-desktop);}.fc-header__right{display:grid;gap:var(--fc-space-1);justify-items:end;min-inline-size:0;}.fc-header__top{display:flex;align-items:center;justify-content:end;gap:var(--fc-space-2);}.fc-header__phone{display:inline-flex;gap:var(--fc-space-2);align-items:center;color:var(--fc-white);text-decoration:none;white-space:nowrap;font:var(--fc-fw-display) var(--fc-header-phone-size)/1 var(--fc-font-display);min-block-size:var(--fc-target);}.fc-header__phone svg{inline-size:var(--fc-menu-line-size);block-size:var(--fc-menu-line-size);color:var(--fc-orange-500);}.fc-btn--sm{font-size:var(--fc-button-small-size);padding:var(--fc-space-2) var(--fc-space-3);white-space:nowrap;}.fc-nav{gap:var(--fc-space-3);justify-content:end;flex-wrap:nowrap;}.fc-nav a{border-block-end:var(--fc-focus-width) solid transparent;padding-block:var(--fc-space-2);font-size:var(--fc-fs-small);transition:border-color var(--fc-transition);white-space:nowrap;}.fc-nav a:hover,.fc-nav a[aria-current="true"]{border-block-end-color:var(--fc-orange-500);}.fc-header__compact{display:none;align-items:center;gap:var(--fc-space-3);justify-content:end;}.fc-header__call,.fc-header__menu{inline-size:var(--fc-target);block-size:var(--fc-target);border-radius:var(--fc-radius-sm);display:grid;place-items:center;background:var(--fc-menu-bg);border:1px solid var(--fc-trust-border);color:var(--fc-white);cursor:pointer;}.fc-header__call{background:var(--fc-orange-500);color:var(--fc-ink);border-color:transparent;}.fc-header__menu{align-content:center;gap:var(--fc-space-1);padding:0;}.fc-header__menu span{inline-size:var(--fc-menu-line-size);block-size:var(--fc-menu-line);background:var(--fc-white);border-radius:var(--fc-radius-sm);}.fc-header.menu-open{background:var(--fc-header-bg-solid);}.fc-header.menu-open .fc-header__menu span:nth-child(1){transform:translateY(var(--fc-menu-move)) rotate(45deg);}.fc-header.menu-open .fc-header__menu span:nth-child(2){opacity:0;}.fc-header.menu-open .fc-header__menu span:nth-child(3){transform:translateY(calc(-1 * var(--fc-menu-move))) rotate(-45deg);}.fc-mobile-menu{display:grid;gap:var(--fc-space-3);padding:var(--fc-space-4) var(--fc-gutter) var(--fc-space-6);background:var(--fc-header-bg-solid);border-block-start:1px solid var(--fc-menu-border);max-block-size:calc(100dvh - var(--fc-header-h));overflow-y:auto;}.fc-mobile-menu nav{display:grid;}.fc-mobile-menu nav a{display:flex;align-items:center;min-block-size:var(--fc-target);padding-block:var(--fc-space-4);color:var(--fc-white);text-decoration:none;font:var(--fc-fw-heading) var(--fc-footer-heading-size)/var(--fc-trust-line) var(--fc-font-display);border-block-end:1px solid var(--fc-menu-border);}.fc-mobile-menu nav a[aria-current="true"]{color:var(--fc-orange-500);}.fc-mobile-menu__phone{color:var(--fc-white);font:var(--fc-fw-display) var(--fc-fs-h3)/var(--fc-lh-heading) var(--fc-font-display);padding-block:var(--fc-space-3);text-decoration:none;}.fc-mobile-menu[hidden]{display:none;}.fc-footer{background:var(--fc-footer-bg);color:var(--fc-footer-text);padding:0;}.fc-footer__grid{display:grid;gap:var(--fc-space-7) var(--fc-space-6);padding-block:var(--fc-space-8) var(--fc-space-7);align-items:start;grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(0,1fr));}.fc-footer__brand{display:grid;gap:var(--fc-space-4);align-content:start;}.fc-footer__brand > img{block-size:var(--fc-footer-heading-height);inline-size:auto;max-inline-size:100%;object-fit:contain;object-position:left bottom;}.fc-footer__license b{color:var(--fc-white);}.fc-footer__license{white-space:nowrap;}.fc-footer__name{color:var(--fc-white);text-transform:uppercase;font:var(--fc-fw-display) var(--fc-footer-name-size)/var(--fc-lh-heading) var(--fc-font-display);}.fc-footer a{min-block-size:var(--fc-target);}.fc-footer a.fc-footer__email{color:var(--fc-card-link);overflow-wrap:anywhere;}.fc-footer__contact{display:grid;gap:var(--fc-space-4);margin-block-start:var(--fc-space-2);}.fc-footer__big,.fc-footer__hours{display:grid;grid-template-columns:var(--fc-footer-icon) minmax(0,1fr);gap:var(--fc-footer-contact-gap);align-items:center;}.fc-footer__big{color:var(--fc-white);font:var(--fc-fw-display) var(--fc-footer-phone-size)/1 var(--fc-font-display);text-decoration:none;white-space:nowrap;}.fc-footer__big svg,.fc-footer__hours > svg{inline-size:var(--fc-footer-icon);block-size:var(--fc-footer-icon);color:var(--fc-orange-500);}.fc-footer__hours{align-items:start;}.fc-footer__hours b{color:var(--fc-white);text-transform:uppercase;font:var(--fc-fw-display) var(--fc-space-4)/var(--fc-lh-heading) var(--fc-font-display);}.fc-hours{display:grid;grid-template-columns:auto auto;justify-content:start;gap:var(--fc-space-1) var(--fc-space-5);margin:var(--fc-space-2) 0 0;font:400 var(--fc-hours-size)/var(--fc-lh-body) var(--fc-font-body);}.fc-hours dt,.fc-hours dd{white-space:nowrap;margin:0;font-weight:400;}.fc-hours dt{color:var(--fc-footer-text);}.fc-hours dd{color:var(--fc-orange-500);font-variant-numeric:tabular-nums;}.fc-footer__col,.fc-footer__col nav{display:grid;gap:var(--fc-space-2);align-content:start;}.fc-footer h2{display:flex;align-items:end;min-block-size:var(--fc-footer-heading-height);padding-block-end:var(--fc-space-4);margin-block-end:var(--fc-space-3);border-block-end:var(--fc-focus-width) solid var(--fc-blue-500);color:var(--fc-white);text-transform:uppercase;font:var(--fc-fw-display) var(--fc-footer-heading-size)/var(--fc-footer-heading-line) var(--fc-font-display);}.fc-footer__col a{color:var(--fc-footer-text);text-decoration:none;}.fc-footer__col a:hover{color:var(--fc-white);text-decoration:underline;}.fc-footer__social{margin-block-start:var(--fc-space-6);}.fc-footer__social h2{min-block-size:0;border:0;padding:0;}.fc-footer__social div{display:flex;gap:var(--fc-space-3);}.fc-footer__social a{inline-size:var(--fc-target);block-size:var(--fc-target);border-radius:50%;display:grid;place-items:center;border:1px solid var(--fc-social-border);color:var(--fc-white);transition:background-color var(--fc-transition),border-color var(--fc-transition);}.fc-footer__social a:hover{background:var(--fc-link-ink);border-color:var(--fc-blue-500);}.fc-footer__social svg{inline-size:var(--fc-menu-line-size);block-size:var(--fc-menu-line-size);}.fc-footer__sister{background:var(--fc-surface);color:var(--fc-ink);}.fc-footer__sister-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--fc-space-5);padding-block:var(--fc-space-6);}.fc-footer__sister p{flex:1 1 22rem;text-align:center;font-weight:var(--fc-fw-strong);}.fc-footer__sister p a{color:var(--fc-link-ink);}.fc-footer__partner{flex:0 0 auto;}.fc-footer__legal{background:var(--fc-footer-legal-bg);color:var(--fc-footer-legal-text);font-size:var(--fc-fs-small);padding-block:var(--fc-space-5);}.fc-preview-label{padding:0;background:transparent;text-align:start;color:var(--fc-footer-text);}@media (max-width:1099px){:root{--fc-header-h:var(--fc-header-h-compact);}.fc-header__right{display:none;}.fc-header__compact{display:flex;}.fc-header__logo{inline-size:var(--fc-logo-compact);}.fc-header__inner{gap:var(--fc-space-3);}.fc-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));}.fc-footer__brand{grid-column:1/-1;}}@media (min-width:1100px){.fc-mobile-menu{display:none;}}@media (max-width:640px){.fc-footer__grid{grid-template-columns:minmax(0,1fr);}.fc-footer__sister-inner{justify-content:center;}}.fc-media-card{display:grid;grid-template-rows:auto 1fr;overflow:hidden;background:var(--fc-surface);border:1px solid var(--fc-line);border-radius:var(--fc-radius-lg);box-shadow:var(--fc-media-shadow);text-decoration:none;transition:transform var(--fc-transition),box-shadow var(--fc-transition);}.fc-media-card:hover{transform:translateY(var(--fc-card-lift));box-shadow:var(--fc-media-shadow-hover);}.fc-media-card__img{aspect-ratio:4/3;display:grid;overflow:hidden;min-inline-size:0;background:var(--fc-surface-2);}.fc-media-card__picture{display:grid;min-block-size:0;min-inline-size:0;}.fc-media-card__picture img{grid-area:1/1;inline-size:100%;block-size:100%;object-fit:contain;}.fc-media-card__body{display:grid;grid-template-rows:auto 1fr auto;gap:var(--fc-space-3);padding:var(--fc-space-5) var(--fc-space-6) var(--fc-space-6);}.fc-media-card p{color:var(--fc-muted);}.fc-media-card__link{display:flex;gap:var(--fc-space-3);align-items:center;min-block-size:var(--fc-target);color:var(--fc-link-ink);font:var(--fc-fw-heading) var(--fc-space-4)/var(--fc-trust-line) var(--fc-font-display);}.fc-gallery{list-style:none;margin:0;padding:0;display:grid;gap:var(--fc-space-3);grid-template-columns:repeat(2,minmax(0,1fr));}.fc-gallery button{display:grid;inline-size:100%;aspect-ratio:1;padding:0;border:0;cursor:zoom-in;overflow:hidden;border-radius:var(--fc-radius-md);background:var(--fc-black);box-shadow:var(--fc-gallery-shadow);font:inherit;}.fc-gallery figure{display:grid;grid-template-rows:1fr auto;margin:0;min-block-size:0;}.fc-gallery__picture{grid-area:1/1/3/2;display:grid;contain:size;min-block-size:0;overflow:hidden;}.fc-gallery img{grid-area:1/1;inline-size:100%;block-size:100%;object-fit:cover;transition:transform var(--fc-dur-slow) var(--fc-ease);}.fc-gallery button:hover img{transform:scale(var(--fc-gallery-zoom));}.fc-gallery figcaption{grid-area:2/1;z-index:1;margin:var(--fc-space-2);padding:var(--fc-space-2);border-radius:var(--fc-radius-sm);background:var(--fc-gallery-chip);color:var(--fc-white);font:var(--fc-fw-heading) var(--fc-gallery-caption-mobile)/var(--fc-gallery-caption-line) var(--fc-font-display);text-align:start;}.fc-gallery__note{margin-block-start:var(--fc-space-4);color:var(--fc-muted);font-size:var(--fc-fs-small);}.fc-lightbox{border:0;padding:var(--fc-space-2);background:transparent;color:var(--fc-white);max-inline-size:var(--fc-lightbox-width);max-block-size:var(--fc-lightbox-height);inline-size:fit-content;overflow:auto;}.fc-lightbox[open]{display:grid;grid-template-columns:var(--fc-lightbox-control-size) minmax(0,1fr) var(--fc-lightbox-control-size);gap:var(--fc-space-3);align-items:center;}.fc-lightbox::backdrop{background:var(--fc-lightbox-backdrop);}.fc-lightbox figure{margin:0;grid-column:1/-1;grid-row:2;display:grid;gap:var(--fc-space-3);}.fc-lightbox figure picture{display:grid;min-inline-size:0;}.fc-lightbox img{inline-size:auto;block-size:auto;max-inline-size:100%;max-block-size:var(--fc-lightbox-image-height);margin-inline:auto;object-fit:contain;border-radius:var(--fc-radius-md);}.fc-lightbox figcaption{text-align:center;font:var(--fc-fw-heading) var(--fc-lightbox-caption-size)/var(--fc-gallery-caption-line) var(--fc-font-display);}.fc-lightbox__btn,.fc-lightbox__close{display:grid;place-items:center;inline-size:var(--fc-lightbox-control-size);block-size:var(--fc-lightbox-control-size);border-radius:50%;border:1px solid var(--fc-social-border);background:var(--fc-lightbox-control-bg);color:var(--fc-white);font-size:var(--fc-lightbox-control-font);cursor:pointer;}.fc-lightbox__close{grid-row:1;grid-column:3;justify-self:end;}.fc-lightbox__btn--prev{grid-row:3;grid-column:1;}.fc-lightbox__btn--next{grid-row:3;grid-column:3;justify-self:end;}@media (min-width:650px){.fc-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--fc-space-4);}.fc-gallery figcaption{font-size:var(--fc-gallery-caption-size);margin:var(--fc-space-3);padding:var(--fc-space-2) var(--fc-space-3);}.fc-lightbox figure{grid-column:2;}.fc-lightbox__btn--prev,.fc-lightbox__btn--next{grid-row:2;}}@font-face{font-family:"Montserrat";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/montserrat-600.woff2") format("woff2");}@font-face{font-family:"Montserrat";font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/montserrat-700.woff2") format("woff2");}@font-face{font-family:"Montserrat";font-style:normal;font-weight:800;font-display:swap;src:url("assets/fonts/montserrat-800.woff2") format("woff2");}@font-face{font-family:"Open Sans";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/open-sans-400.woff2") format("woff2");}@font-face{font-family:"Open Sans";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/open-sans-600.woff2") format("woff2");}@font-face{font-family:"Open Sans";font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/open-sans-700.woff2") format("woff2");}body{display:grid;grid-template-columns:minmax(0,1fr);}.fc-header{grid-area:1/1;align-self:start;position:sticky;inset-block-start:0;z-index:10;}main{grid-area:1/1;min-inline-size:0;}.fc-footer{grid-area:2/1;}.fc-skip{position:fixed;inset-block-start:var(--fc-space-4);inset-inline-start:var(--fc-space-4);z-index:20;transform:translateY(-200%);padding:var(--fc-space-3) var(--fc-space-5);background:var(--fc-surface);color:var(--fc-ink);border-radius:var(--fc-radius-sm);min-block-size:var(--fc-target);}.fc-skip:focus{transform:translateY(0);}.fc-visually-hidden{grid-area:1/1;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}

/* Presentation only. Existing WordPress block/CF7 output supplies all fields and behavior. */
.fc-design-release #smartflow-form { background: var(--fc-surface); color: var(--fc-text); padding-block: var(--fc-space-8); scroll-margin-block-start: calc(var(--fc-header-h) + 1rem); }
.fc-design-release #smartflow-form > .wp-block-group__inner-container,
.fc-design-release #smartflow-form > .container,
.fc-design-release #smartflow-form > .wp-block-group { inline-size: min(100% - 2rem, 52rem); margin-inline: auto; padding: 0; max-inline-size: none; }
.fc-design-release #smartflow-form .container { inline-size: 100%; min-inline-size: 0; max-inline-size: none; padding: 0; margin-inline: auto; }
.fc-design-release #smartflow-form::before { content: none; }
.fc-design-release #smartflow-form h2 { color: var(--fc-ink); font-family: var(--fc-font-display); font-size: clamp(1.8rem, 4vw, 2.7rem); line-height: 1.12; margin-block-end: 1.5rem; }
.fc-design-release #smartflow-form form { display: grid; gap: 1.1rem; inline-size: 100%; }
.fc-design-release #smartflow-form p { color: inherit; margin: 0; font-size: var(--fc-fs-body); line-height: 1.6; }
.fc-design-release #smartflow-form .input-control { margin: 0; inline-size: 100%; padding: 0; }
.fc-design-release #smartflow-form label { display: grid; gap: .4rem; color: var(--fc-ink); font: 600 var(--fc-fs-body)/1.5 var(--fc-font-body); }
.fc-design-release #smartflow-form .wpcf7-form-control-wrap { display: block; inline-size: 100%; }
.fc-design-release #smartflow-form input:not([type=hidden]):not([type=submit]),
.fc-design-release #smartflow-form select,
.fc-design-release #smartflow-form textarea { display: block; inline-size: 100%; min-block-size: 3rem; border: 1px solid var(--fc-line); border-radius: var(--fc-radius-sm); background: var(--fc-white); color: var(--fc-ink); padding: .75rem; font: 400 1rem/1.5 var(--fc-font-body); box-shadow: none; }
.fc-design-release #smartflow-form textarea { min-block-size: 9rem; resize: vertical; }
.fc-design-release #smartflow-form input[type=submit] { inline-size: auto; min-inline-size: 12rem; min-block-size: 3rem; border: 0; border-radius: var(--fc-radius-pill); background: var(--fc-blue-500); color: var(--fc-ink); padding: .85rem 1.5rem; font: 700 1rem/1.4 var(--fc-font-body); cursor: pointer; }
.fc-design-release #smartflow-form input:focus-visible,
.fc-design-release #smartflow-form select:focus-visible,
.fc-design-release #smartflow-form textarea:focus-visible { outline: 3px solid var(--fc-link-ink); outline-offset: 3px; }
.fc-design-release #smartflow-form .wpcf7-response-output { margin: 0; padding: .8rem 1rem; font-size: 1rem; }
.fc-design-release #smartflow-form .screen-reader-response { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.fc-design-release #smartflow-form [type=hidden],
.fc-design-release #smartflow-form .hidden-fields-container { display: none; }
.fc-design-release.admin-bar .fc-header { inset-block-start: var(--wp-admin--admin-bar--height, 32px); }
@media(max-width:1099px) { .fc-design-release #smartflow-form { scroll-margin-block-start: calc(var(--fc-header-h-compact) + 1rem); } }

  .fc-photo-card {
    position: relative; isolation: isolate; overflow: hidden; display: grid; align-items: end;
    min-height: 440px; border-radius: var(--fc-radius-lg); background: #000;
    box-shadow: 0 22px 50px -16px rgba(6, 24, 38, .5);
    transition: transform var(--fc-dur) var(--fc-ease), box-shadow var(--fc-dur) var(--fc-ease);
  }
  .fc-photo-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; transition: transform .6s var(--fc-ease); }
  .fc-photo-card:hover { transform: translateY(-8px); box-shadow: 0 30px 60px -18px rgba(17, 132, 192, .55); }
  .fc-photo-card:hover > img { transform: scale(1.05); }
  .fc-photo-card__panel {
    display: grid; gap: var(--fc-space-3); padding: var(--fc-space-7) var(--fc-space-6) var(--fc-space-6);
    background: var(--fc-panel-bg); clip-path: polygon(0 1.6rem, 100% 0, 100% 100%, 0 100%);
  }
  .fc-photo-card h3 { color: #fff; text-wrap: balance; }
  .fc-photo-card p { color: #d6e2ea; margin: 0; }
  .fc-photo-card__link { font: 700 1rem/1 var(--fc-font-display); color: #8fdcff; text-decoration: none; display: inline-flex; gap: .45em; align-items: center; transition: gap var(--fc-dur) var(--fc-ease); }
  .fc-photo-card__link:hover { gap: .75em; }
  .fc-photo-card__link::after { content: ""; position: absolute; inset: 0; } /* whole card is clickable */
  @media (prefers-reduced-motion: reduce) { .fc-photo-card, .fc-photo-card > img { transition: none; } }


/* ---------------------------------------------------------------------
   v1.9 — BLOG ("The Fresh Poolside Perspective"): post template + blog index
   Same header, footer, hero, FAQ and CTA as the service pages. Post body keeps
   the .fcb-* class names our cms-ready.html files use, restyled here, so the
   old inline <style> block in each post must be removed.
   Rules kept: crisp photos, angled black panels, no coloured strips on cards,
   no small blue icon boxes, one orange accent.
   --------------------------------------------------------------------- */

  /* Post hero: smaller H1 (titles are long), meta row under the lead */
  .fc-hero--post { min-height: clamp(520px, 72vh, 700px); }
  .fc-hero--post h1 { font-size: clamp(2.1rem, 1.5rem + 2.4vw, 3.5rem); line-height: 1.1; text-wrap: balance; }
  .fc-hero--post .fc-hero__panel { width: min(70%, 1100px); }
  .fc-hero--post .fc-hero__copy { max-width: min(40rem, 44vw); } /* text always ends inside the angled panel */
  @media (max-width: 999px) { .fc-hero--post .fc-hero__copy { max-width: none; } }
  .fc-post-meta { display: flex; flex-wrap: wrap; gap: var(--fc-space-2) var(--fc-space-5); margin: 0; padding: 0; list-style: none;
    font: 600 var(--fc-fs-small)/1.4 var(--fc-font-display); color: #d3dee6; }
  .fc-post-meta li { display: inline-flex; align-items: center; gap: .5em; }
  .fc-post-meta svg { width: 18px; height: 18px; color: var(--fc-orange-500); flex: none; }

  /* Article + sticky sidebar */
  .fc-post { display: grid; gap: var(--fc-space-7); padding-block: clamp(3rem, 2rem + 3vw, 5rem) var(--fc-section-y); }
  @media (min-width: 1100px) { .fc-post { grid-template-columns: minmax(0, 1fr) 320px; gap: var(--fc-space-8); align-items: start; } }
  .fc-post__aside { display: none; }
  @media (min-width: 1100px) { .fc-post__aside { display: grid; gap: var(--fc-space-5); position: sticky; top: calc(var(--fc-header-h) + 24px); } }

  /* Article typography */
  .fcb { max-width: 46rem; min-width: 0; color: var(--fc-text); font-size: var(--fc-fs-body); line-height: var(--fc-lh-body); }
  .fcb > * + * { margin-top: var(--fc-space-5); }
  :where(.fcb) :is(p, ul, ol, figure) { margin-block: 0; } /* zero-specificity reset so the spacing rule below wins */
  .fcb h2 { margin-top: var(--fc-space-8); font: 800 clamp(1.625rem, 1.35rem + 1.1vw, 2.125rem)/1.15 var(--fc-font-display); color: var(--fc-ink); text-wrap: balance; scroll-margin-top: calc(var(--fc-header-h) + 24px); }
  .fcb h3 { margin-top: var(--fc-space-6); font: 700 clamp(1.2rem, 1.1rem + .4vw, 1.375rem)/1.25 var(--fc-font-display); color: var(--fc-ink); }
  .fcb h2 + *, .fcb h3 + * { margin-top: var(--fc-space-3); }
  .fcb a { color: var(--fc-blue-600); text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
  .fcb a:hover { color: var(--fc-blue-500); }
  .fcb strong { color: var(--fc-ink); font-weight: 700; }
  .fcb-list { padding-left: 1.3em; display: grid; gap: var(--fc-space-2); }
  .fcb-list li::marker { color: var(--fc-orange-500); }
  .fcb-small { font-size: var(--fc-fs-small); color: var(--fc-muted); }

  /* Key highlights: white card, orange checks */
  .fcb-high { position: relative; z-index: 2; background: #050505; border: 1px solid rgba(255,255,255,.14); border-radius: var(--fc-radius-lg); box-shadow: 0 30px 60px -20px rgba(6,24,38,.55); padding: var(--fc-space-6); }
  .fcb-high h2 { margin: 0 0 var(--fc-space-4); font: 800 var(--fc-fs-eyebrow)/1.4 var(--fc-font-display); letter-spacing: .14em; text-transform: uppercase; color: #8fdcff; display: flex; align-items: center; gap: .6em; }
  .fcb-high h2::before { content: ""; width: 28px; height: 3px; border-radius: 3px; background: var(--fc-orange-500); }
  .fcb-high ul { list-style: none; padding: 0; display: grid; gap: var(--fc-space-3); }
  .fcb-high li { display: grid; grid-template-columns: 26px 1fr; gap: var(--fc-space-3); color: #fff; font-weight: 600; line-height: 1.5; }
  .fcb-high li::before { content: ""; width: 22px; height: 22px; margin-top: 2px; border-radius: 50%; background: var(--fc-orange-500)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b1306' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 14px no-repeat; }

  /* Figures and infographics */
  .fcb-fig img { width: 100%; height: auto; display: block; border-radius: var(--fc-radius-md); border: 1px solid var(--fc-line); box-shadow: var(--fc-shadow-md); }
  .fcb-fig figcaption { margin-top: var(--fc-space-3); font-size: var(--fc-fs-small); color: var(--fc-muted); }

  /* Pro tip: tinted card + orange label chip (no side strip) */
  .fcb-tip { position: relative; overflow: hidden; isolation: isolate; background: #050505; border-radius: var(--fc-radius-lg); padding: var(--fc-space-6); display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--fc-space-2) var(--fc-space-5); align-items: start; color: #dbe4ec; box-shadow: 0 26px 50px -22px rgba(6,24,38,.6); }
  .fcb-tip::after { content: ""; position: absolute; inset: auto -30% -60% auto; width: 70%; aspect-ratio: 1; z-index: -1; background: radial-gradient(closest-side, rgba(31,165,224,.28), transparent); }
  .fcb-tip .fcb-sym { grid-row: span 2; color: #fff; }
  .fcb-tip-label { justify-self: start; display: inline-block; padding: .3em .8em; border-radius: var(--fc-radius-pill); background: var(--fc-orange-500); color: #1b1306; font: 800 .8125rem/1.2 var(--fc-font-display); letter-spacing: .1em; text-transform: uppercase; }
  .fcb-tip p { color: #dbe4ec; } .fcb-tip a { color: #8fdcff; } .fcb-tip strong { color: #fff; }

  /* Safety / info callouts */
  .fcb-alert { background: #050505; border: 2px solid var(--fc-orange-500); border-radius: var(--fc-radius-lg); padding: var(--fc-space-5) var(--fc-space-6); display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--fc-space-4); align-items: center; color: #dbe4ec; }
  .fcb-alert strong { color: #fff; } .fcb-alert .fcb-sym { color: #fff; }

  .fcb-alert-info { border-color: var(--fc-blue-500); }


  /* Tables */
  .fcb-table-wrap { overflow-x: auto; border-radius: var(--fc-radius-lg); box-shadow: var(--fc-shadow-lg); background: var(--fc-surface); -webkit-overflow-scrolling: touch; }
  .fcb-table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: .975rem; line-height: 1.45; }
  .fcb-table th, .fcb-table td { padding: .85rem 1rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--fc-line); }
  .fcb-table thead th { background: #050505; color: #fff; font: 800 .9375rem/1.3 var(--fc-font-display); padding-block: 1.1rem; }
  .fcb-table thead th:not(:empty) { border-bottom: 3px solid var(--fc-orange-500); }
  .fcb-table tbody th { background: var(--fc-surface); color: var(--fc-ink); font: 700 .9375rem/1.4 var(--fc-font-display); width: 26%; }
  .fcb-table tbody tr:last-child > * { border-bottom: 0; }

  /* FAQ inside a post uses .fc-faq; sources list */
  .fcb .fc-faq { margin-top: var(--fc-space-5); }
  .fcb-sources { margin-top: var(--fc-space-8); padding-top: var(--fc-space-5); border-top: 1px solid var(--fc-line); font-size: var(--fc-fs-small); color: var(--fc-muted); }
  .fcb-sources ol { padding-left: 1.2em; display: grid; gap: var(--fc-space-1); margin-top: var(--fc-space-2); }
  .fcb-sources a { color: var(--fc-muted); }

  /* Sidebar: table of contents + black call card */
  .fc-toc { border-radius: var(--fc-radius-lg); padding: var(--fc-space-5); background: #050505; box-shadow: 0 26px 50px -22px rgba(6,24,38,.6); }
  .fc-toc h2 { margin: 0 0 var(--fc-space-3); font: 800 var(--fc-fs-eyebrow)/1.4 var(--fc-font-display); letter-spacing: .14em; text-transform: uppercase; color: #8fdcff; }
  .fc-toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; counter-reset: toc; }
  .fc-toc a { display: block; padding: .5rem .7rem; border-radius: var(--fc-radius-sm); color: #c9d4dc; text-decoration: none; font: 600 .9375rem/1.35 var(--fc-font-display); border-left: 0; }
  .fc-toc a:hover { background: rgba(255,255,255,.08); color: #fff; }
  .fc-toc a[aria-current="true"] { background: rgba(255,255,255,.1); color: var(--fc-orange-500); }
  .fc-call-card { position: relative; overflow: hidden; isolation: isolate; border-radius: var(--fc-radius-lg); padding: var(--fc-space-6) var(--fc-space-5); background: #050505; color: #fff; display: grid; gap: var(--fc-space-3); }
  .fc-call-card h2 { margin: 0; font: 800 1.375rem/1.2 var(--fc-font-display); color: #fff; }
  .fc-call-card p { margin: 0; color: #c9d4dc; font-size: var(--fc-fs-small); }
  .fc-call-card .fc-phone-sm { font: 800 1.6rem/1.1 var(--fc-font-display); color: var(--fc-orange-500); text-decoration: none; }
  .fc-call-card .fc-btn { min-height: 46px; font-size: .95rem; }

  /* Related posts + blog index cards: full-photo card with the angled panel */
  .fc-post-card { min-height: 380px; }
  .fc-post-card .fc-photo-card__panel { gap: var(--fc-space-2); }
  .fc-post-card h3 { font-size: clamp(1.2rem, 1.1rem + .4vw, 1.375rem); line-height: 1.25; }
  .fc-post-card__meta { font: 700 .8125rem/1.3 var(--fc-font-display); letter-spacing: .1em; text-transform: uppercase; color: #8fdcff; }
  .fc-post-card__meta b { color: var(--fc-orange-500); font-weight: 700; }
  .fc-post-grid { display: grid; gap: var(--fc-space-5); grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); }
  .fc-post-card--feature { min-height: 480px; }
  @media (min-width: 900px) { .fc-post-card--feature { grid-column: 1 / -1; min-height: 520px; }
    .fc-post-card--feature .fc-photo-card__panel { max-width: 62%; clip-path: polygon(0 0, 100% 0, 92% 100%, 0 100%); padding: var(--fc-space-7); }
    .fc-post-card--feature h3 { font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.25rem); } }

  /* Blog index: category chips */
  .fc-chips { display: flex; flex-wrap: wrap; gap: var(--fc-space-2); margin-bottom: var(--fc-space-6); }
  .fc-chips a { padding: .55em 1.1em; border-radius: var(--fc-radius-pill); border: 1px solid var(--fc-line); background: var(--fc-surface); color: var(--fc-ink); font: 700 .9375rem/1 var(--fc-font-display); text-decoration: none; }
  .fc-chips a:hover { border-color: var(--fc-blue-500); color: var(--fc-blue-600); }
  .fc-chips a[aria-current="page"] { background: #050505; border-color: #050505; color: #fff; }


/* ---------------------------------------------------------------------
   v1.9.1 — BLOG RICH BLOCKS (Ken, Oct 7: no basic white cards, no pastel tints)
   Every block is either a black panel, a crisp photo with an angled black panel,
   or see-through black tiles sitting on a pool photo. White line symbols with an
   orange accent. Big Montserrat numbers. No icon boxes, no coloured strips.
   --------------------------------------------------------------------- */

  /* Highlights ride up over the hero photo */
  .fc-post { padding-top: 0; }
  .fcb-high { margin-top: calc(-1 * clamp(4rem, 3rem + 3vw, 6rem)); }
  @media (max-width: 999px) { .fcb-high { margin-top: calc(-1 * var(--fc-space-7)); } }
  .fc-post__aside { margin-top: var(--fc-space-7); }

  .fcb-lede { font-size: var(--fc-fs-lead); line-height: 1.55; color: var(--fc-ink); }
  .fcb > h2::before { content: ""; display: block; width: 44px; height: 4px; border-radius: 4px; background: var(--fc-orange-500); margin-bottom: var(--fc-space-4); }
  .fcb-sym { width: 44px; height: 44px; flex: none; display: block; }

  /* Photo stage: a crisp pool photo with see-through black tiles on it (stats, lists) */
  .fcb-stage { position: relative; isolation: isolate; overflow: hidden; border-radius: var(--fc-radius-lg); padding: clamp(1rem, .6rem + 1.6vw, 1.75rem); background: #000; box-shadow: var(--fc-shadow-lg); }
  .fcb-stage > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; }
  .fcb-tiles { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--fc-space-3); grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); }
  .fcb-tiles > li { display: grid; gap: var(--fc-space-2); align-content: start; padding: var(--fc-space-5); border-radius: var(--fc-radius-md); background: rgba(0,0,0,.68); border: 1px solid rgba(255,255,255,.18); color: #d3dee6; line-height: 1.45; box-shadow: 0 16px 40px -14px rgba(0,0,0,.6); }
  .fcb-tiles .fcb-sym { width: 40px; height: 40px; color: #fff; margin-bottom: var(--fc-space-1); }
  .fcb-tiles b { font: 800 1.1rem/1.25 var(--fc-font-display); color: #fff; }
  .fcb-tiles .fcb-num { font: 800 clamp(2.4rem, 2rem + 1.6vw, 3.25rem)/1 var(--fc-font-display); color: var(--fc-orange-500); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
  .fcb-tiles .fcb-num small { font-size: .42em; color: #fff; letter-spacing: 0; margin-left: .2em; }
  .fcb-tiles em { font-style: normal; font: 700 .75rem/1.3 var(--fc-font-display); letter-spacing: .1em; text-transform: uppercase; color: #8fdcff; }

  /* Versus: old vs new. Old = charcoal, new = black with orange glow */
  .fcb-versus { display: grid; gap: var(--fc-space-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
  .fcb-vs { border-radius: var(--fc-radius-lg); padding: var(--fc-space-6) var(--fc-space-5); display: grid; gap: var(--fc-space-4); align-content: start; background: #1c242b; color: #c9d4dc; box-shadow: var(--fc-shadow-md); }
  .fcb-vs header { display: flex; gap: var(--fc-space-3); align-items: center; }
  .fcb-vs .fcb-sym { color: #fff; width: 40px; height: 40px; }
  .fcb-vs h3 { margin: 0; font: 800 1.2rem/1.2 var(--fc-font-display); color: #fff; }
  .fcb-vs__tag { margin-left: auto; padding: .35em .8em; border-radius: var(--fc-radius-pill); font: 800 .75rem/1.2 var(--fc-font-display); letter-spacing: .08em; text-transform: uppercase; background: rgba(255,255,255,.12); color: #fff; white-space: nowrap; }
  .fcb-vs dl { margin: 0; display: grid; gap: var(--fc-space-4); }
  .fcb-vs dt { font: 700 .8125rem/1.3 var(--fc-font-display); letter-spacing: .08em; text-transform: uppercase; color: #8fdcff; }
  .fcb-vs dd { margin: .4rem 0 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--fc-space-3); align-items: center; }
  .fcb-vs__bar { height: 14px; border-radius: 99px; background: rgba(255,255,255,.1); overflow: hidden; }
  .fcb-vs__bar i { display: block; height: 100%; width: var(--w); border-radius: inherit; background: #7b8792; }
  .fcb-vs dd b { font: 800 1.7rem/1 var(--fc-font-display); color: #fff; font-variant-numeric: tabular-nums; min-width: 3.2ch; text-align: right; }
  .fcb-vs p { margin: 0; font-size: var(--fc-fs-small); }
  .fcb-vs--win { background: #050505; box-shadow: 0 0 0 2px var(--fc-orange-500), 0 26px 50px -20px rgba(246,165,49,.45); }
  .fcb-vs--win .fcb-vs__tag { background: var(--fc-orange-500); color: #1b1306; }
  .fcb-vs--win .fcb-vs__bar i { background: var(--fc-grad-cta); }
  .fcb-vs--win dd b { color: var(--fc-orange-500); }

  /* Season cards: full pool photo with an angled black panel (same as the service photo cards) */
  .fcb-split { display: grid; gap: var(--fc-space-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); }
  .fcb-season { position: relative; isolation: isolate; overflow: hidden; border-radius: var(--fc-radius-lg); background: #000; min-height: 460px; display: grid; align-items: end; box-shadow: 0 22px 50px -16px rgba(6,24,38,.5); color: #fff; }
  .fcb-season > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; }
  .fcb-season__panel { display: grid; gap: var(--fc-space-3); padding: var(--fc-space-7) var(--fc-space-5) var(--fc-space-5); background: var(--fc-panel-bg); clip-path: polygon(0 1.6rem, 100% 0, 100% 100%, 0 100%); }
  .fcb-season header { display: flex; align-items: center; gap: var(--fc-space-3); }
  .fcb-season .fcb-sym { color: #fff; width: 40px; height: 40px; }
  .fcb-season h3 { margin: 0; font: 800 1.35rem/1.15 var(--fc-font-display); color: #fff; }
  .fcb-season h3 small { display: block; font: 700 .75rem/1.3 var(--fc-font-display); letter-spacing: .1em; text-transform: uppercase; color: var(--fc-orange-500); margin-top: 4px; }
  .fcb-season ul { list-style: none; margin: 0; padding: 0; display: grid; }
  .fcb-season li { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: var(--fc-space-3); padding: .6rem 0; border-top: 1px solid rgba(255,255,255,.16); line-height: 1.4; color: #dbe4ec; font-size: .975rem; }
  .fcb-season li b { font: 700 .875rem/1.4 var(--fc-font-display); color: #8fdcff; }

  /* Feature band: crisp pool photo + angled black panel with one big line */
  .fcb-band { position: relative; isolation: isolate; overflow: hidden; border-radius: var(--fc-radius-lg); min-height: 320px; display: grid; align-items: center; background: #000; box-shadow: var(--fc-shadow-lg); }
  .fcb-band > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
  .fcb-band::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 70%; z-index: -1; background: var(--fc-panel-bg); clip-path: polygon(0 0, 100% 0, 84% 100%, 0 100%); }
  .fcb-band__inner { padding: var(--fc-space-7) var(--fc-space-6); max-width: 58%; display: grid; gap: var(--fc-space-3); }
  .fcb-band .fc-eyebrow { color: #8fdcff; }
  .fcb-band p { margin: 0; color: #c9d4dc; }
  .fcb-band .fcb-band__big { font: 800 clamp(1.7rem, 1.3rem + 1.6vw, 2.4rem)/1.1 var(--fc-font-display); color: #fff; text-wrap: balance; }
  @media (max-width: 640px) { .fcb-band { align-items: end; min-height: 400px; } .fcb-band::before { width: 100%; top: 34%; clip-path: polygon(0 10%, 100% 0, 100% 100%, 0 100%); } .fcb-band__inner { max-width: none; padding: var(--fc-space-8) var(--fc-space-5) var(--fc-space-5); } }

  /* Real job photo with an angled caption panel */
  .fcb-photo { position: relative; border-radius: var(--fc-radius-lg); overflow: hidden; box-shadow: var(--fc-shadow-lg); background: #000; }
  .fcb-photo img { width: 100%; height: auto; display: block; aspect-ratio: 16 / 10; object-fit: cover; }
  .fcb-photo figcaption { position: absolute; left: 0; bottom: 0; max-width: 78%; padding: var(--fc-space-4) var(--fc-space-7) var(--fc-space-4) var(--fc-space-5); background: var(--fc-panel-bg); clip-path: polygon(0 0, 100% 0, calc(100% - 26px) 100%, 0 100%); color: #fff; font: 600 .9375rem/1.4 var(--fc-font-display); }
  .fcb-photo figcaption b { display: block; color: var(--fc-orange-500); font: 800 .75rem/1.3 var(--fc-font-display); letter-spacing: .1em; text-transform: uppercase; margin-bottom: 2px; }


  /* v1.9.1 fixes: room under the hero text for the highlights card; figures full column width; versus header */
  .fc-hero--post .fc-hero__inner { padding-bottom: calc(clamp(2rem, 1.5rem + 2vw, 3rem) + clamp(4rem, 3rem + 3vw, 6rem)); }
  @media (max-width: 999px) { .fc-hero--post .fc-hero__inner { padding-bottom: calc(var(--fc-space-7) + var(--fc-space-7)); } }
  .fcb figure { margin-inline: 0; }
  .fcb-vs header { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--fc-space-3); align-items: center; }
  .fcb-vs__tag { grid-column: 1 / -1; order: -1; justify-self: start; margin-left: 0; }



  /* v1.9.2 Product lineup cards (pool pumps, heaters, etc.). Manufacturer photo on a clean white stage,
     black body with spec rows. Photos: official manufacturer product images only. */
  .fcb-products { display: grid; gap: var(--fc-space-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
  .fcb-prod { display: grid; grid-template-rows: auto 1fr; border-radius: var(--fc-radius-lg); overflow: hidden; background: #050505; color: #c9d4dc; box-shadow: 0 26px 50px -22px rgba(6,24,38,.6); transition: transform var(--fc-dur) var(--fc-ease), box-shadow var(--fc-dur) var(--fc-ease); }
  .fcb-prod:hover { transform: translateY(-6px); box-shadow: 0 34px 60px -22px rgba(17,132,192,.55); }
  .fcb-prod__stage { position: relative; background: #fff; aspect-ratio: 4 / 3; display: grid; place-items: center; padding: var(--fc-space-5); }
  .fcb-prod__stage img { max-height: 100%; width: auto; max-width: 100%; object-fit: contain; }
  .fcb-prod__brand { position: absolute; left: var(--fc-space-4); top: var(--fc-space-4); padding: .35em .8em; border-radius: var(--fc-radius-pill); background: #050505; color: #fff; font: 800 .75rem/1.2 var(--fc-font-display); letter-spacing: .1em; text-transform: uppercase; }
  .fcb-prod__new { position: absolute; right: var(--fc-space-4); top: var(--fc-space-4); padding: .35em .8em; border-radius: var(--fc-radius-pill); background: var(--fc-orange-500); color: #1b1306; font: 800 .75rem/1.2 var(--fc-font-display); letter-spacing: .1em; text-transform: uppercase; }
  .fcb-prod__ph { display: grid; place-items: center; gap: var(--fc-space-2); text-align: center; color: #51606d; font: 700 .8125rem/1.35 var(--fc-font-display); }
  .fcb-prod__ph svg { width: 120px; height: 90px; color: #0f1b26; }
  .fcb-prod__body { display: grid; gap: var(--fc-space-3); align-content: start; padding: var(--fc-space-5); position: relative; }
  .fcb-prod__body::before { content: ""; position: absolute; left: 0; right: 0; top: -1.2rem; height: 1.25rem; background: #050505; clip-path: polygon(0 100%, 100% 0, 100% 100%); }
  .fcb-prod h3 { margin: 0; font: 800 1.3rem/1.15 var(--fc-font-display); color: #fff; }
  .fcb-prod h3 + p { margin: 0; font-size: var(--fc-fs-small); color: #b9cad8; }
  .fcb-prod dl { margin: 0; display: grid; }
  .fcb-prod dl > div { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: var(--fc-space-3); padding: .55rem 0; border-top: 1px solid rgba(255,255,255,.14); font-size: .9375rem; line-height: 1.4; }
  .fcb-prod dt { font: 700 .75rem/1.5 var(--fc-font-display); letter-spacing: .08em; text-transform: uppercase; color: #8fdcff; }
  .fcb-prod dd { margin: 0; color: #e6edf2; }
  .fcb-prod__best { margin: 0; padding: var(--fc-space-3) var(--fc-space-4); border-radius: var(--fc-radius-sm); background: rgba(255,255,255,.07); color: #fff; font-size: .9375rem; line-height: 1.45; }
  .fcb-prod__best b { color: var(--fc-orange-500); font: 800 .75rem/1.4 var(--fc-font-display); letter-spacing: .1em; text-transform: uppercase; display: block; }
  .fcb .fcb-prod a { color: #8fdcff; font: 700 .9375rem/1.2 var(--fc-font-display); text-decoration: none; }
  .fcb .fcb-prod a:hover { color: #fff; }
  @media (prefers-reduced-motion: reduce) { .fcb-prod { transition: none; } .fcb-prod:hover { transform: none; } }


  /* Lead product: full width, photo beside the specs on wider screens */
  .fcb-prod--wide { grid-column: 1 / -1; }
  @media (min-width: 700px) {
    .fcb-prod--wide { grid-template-rows: none; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); }
    .fcb-prod--wide .fcb-prod__stage { aspect-ratio: auto; min-height: 100%; }
    .fcb-prod--wide .fcb-prod__body { padding: var(--fc-space-6); }
    .fcb-prod--wide .fcb-prod__body::before { left: -1.2rem; right: auto; top: 0; bottom: 0; width: 1.25rem; height: auto; clip-path: polygon(100% 0, 100% 100%, 0 100%); }
  }


  /* v1.9.3 (Ken, Oct 7): NO overlap. The highlights card sits fully below the hero, never on top of it. */
  .fcb-high { margin-top: 0; }
  @media (max-width: 999px) { .fcb-high { margin-top: 0; } }
  .fc-hero--post .fc-hero__inner { padding-bottom: clamp(3rem, 2rem + 3vw, 5rem); }
  @media (max-width: 999px) { .fc-hero--post .fc-hero__inner { padding-bottom: var(--fc-space-7); } }
  .fc-post { padding-top: clamp(3rem, 2rem + 3vw, 5rem); }
  .fc-post__aside { margin-top: 0; }


  /* v1.9.4 (Ken): card bottoms line up. Cards in a row stretch to the same height and the
     last items (Best for + link, footnote) sit on the same baseline. */
  .fcb-products, .fcb-versus, .fcb-split, .fcb-tiles, .fc-post-grid { align-items: stretch; }
  .fcb-prod { grid-template-rows: auto minmax(0, 1fr); height: 100%; }
  .fcb-prod__body { display: flex; flex-direction: column; gap: var(--fc-space-3); }
  .fcb-prod__body dl { margin-bottom: var(--fc-space-2); }
  .fcb-prod__best { margin-top: auto; }
  .fcb-vs { display: flex; flex-direction: column; height: 100%; }
  .fcb-vs > p:last-child { margin-top: auto; }
  .fcb-season { height: 100%; }
  .fcb-tiles > li { height: 100%; }


  /* Two real job photos side by side (works for tall phone photos) */
  .fcb-photos { display: grid; gap: var(--fc-space-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
  .fcb-photos .fcb-photo img { aspect-ratio: 4 / 5; }
  .fcb-photos .fcb-photo figcaption { max-width: 92%; }
  /* Step list on a black panel (real sequences only) */
  .fcb-steps { list-style: none; margin: 0; padding: var(--fc-space-5); border-radius: var(--fc-radius-lg); background: #050505; display: grid; gap: 0; counter-reset: s; box-shadow: 0 26px 50px -22px rgba(6,24,38,.6); }
  .fcb-steps li { counter-increment: s; display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--fc-space-4); padding: var(--fc-space-4) var(--fc-space-2); border-top: 1px solid rgba(255,255,255,.14); color: #c9d4dc; line-height: 1.5; }
  .fcb-steps li:first-child { border-top: 0; }
  .fcb-steps li::before { content: counter(s, decimal-leading-zero); font: 800 1.6rem/1 var(--fc-font-display); color: var(--fc-orange-500); padding-top: 2px; }
  .fcb-steps b { display: block; color: #fff; font: 800 1.05rem/1.3 var(--fc-font-display); margin-bottom: 2px; }
  .fcb .fc-video { margin-inline: 0; }


/* ---------------------------------------------------------------------
   v2.0 — HUB + DIRECTORY PAGES (Residential / Commercial hubs, Chemical Automation)
   Built only from approved pieces: photo cards, see-through black tiles on a pool photo,
   black panels, real job photos. Whole cards are clickable. No location / map / directions
   anywhere (no customer-facing office).
   --------------------------------------------------------------------- */

  .fc-routes { display: grid; gap: var(--fc-space-5); grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); align-items: stretch; }
  .fc-routes .fc-photo-card { min-height: 420px; height: 100%; }
  .fc-photo-card__tag { justify-self: start; padding: .35em .8em; border-radius: var(--fc-radius-pill); background: var(--fc-orange-500); color: #1b1306; font: 800 .75rem/1.2 var(--fc-font-display); letter-spacing: .08em; text-transform: uppercase; }
  .fc-photo-card ul { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px; }
  .fc-photo-card li { padding: .3em .7em; border-radius: var(--fc-radius-pill); background: rgba(255,255,255,.12); color: #fff; font: 600 .8125rem/1.3 var(--fc-font-display); }

  /* Brands band: black, big brand names, one line of proof */
  .fc-brands { border-radius: var(--fc-radius-lg); background: #050505; color: #fff; padding: clamp(1.75rem, 1rem + 3vw, 3rem); display: grid; gap: var(--fc-space-4); box-shadow: 0 26px 50px -22px rgba(6,24,38,.6); }
  .fc-brands .fc-eyebrow { color: #8fdcff; }
  .fc-brands__names { display: flex; flex-wrap: wrap; gap: var(--fc-space-3) var(--fc-space-6); font: 800 clamp(1.6rem, 1.2rem + 1.8vw, 2.6rem)/1.1 var(--fc-font-display); }
  .fc-brands__names span:nth-child(odd) { color: #fff; } .fc-brands__names span:nth-child(even) { color: var(--fc-orange-500); }
  .fc-brands p { margin: 0; color: #c9d4dc; max-width: 62ch; }

  /* Service area: two black cards, no map, no address */
  .fc-area { display: grid; gap: var(--fc-space-4); grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); align-items: stretch; }
  .fc-area article { height: 100%; border-radius: var(--fc-radius-lg); background: #050505; color: #c9d4dc; padding: var(--fc-space-6); display: grid; gap: var(--fc-space-3); align-content: start; box-shadow: 0 26px 50px -22px rgba(6,24,38,.6); }
  .fc-area h3 { margin: 0; color: #fff; font: 800 1.35rem/1.2 var(--fc-font-display); }
  .fc-area .fcb-sym { color: #fff; width: 40px; height: 40px; }
  .fc-area ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
  .fc-area li { padding: .4em .8em; border-radius: var(--fc-radius-pill); border: 1px solid rgba(255,255,255,.22); color: #fff; font: 700 .875rem/1.2 var(--fc-font-display); }
  .fc-area p { margin: 0; }
  .fc-area .fc-area__contact { font: 800 1.4rem/1.2 var(--fc-font-display); color: var(--fc-orange-500); text-decoration: none; }

  /* Spec panel: black card with a two-column check list beside a real photo */
  .fc-spec { display: grid; gap: var(--fc-space-5); grid-template-columns: 1fr; align-items: stretch; }
  @media (min-width: 900px) { .fc-spec { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); } }
  .fc-spec .fcb-photo { height: 100%; } .fc-spec .fcb-photo img { height: 100%; aspect-ratio: auto; min-height: 320px; }
  .fc-spec__panel { border-radius: var(--fc-radius-lg); background: #050505; color: #c9d4dc; padding: var(--fc-space-6); display: grid; gap: var(--fc-space-4); align-content: start; box-shadow: 0 26px 50px -22px rgba(6,24,38,.6); }
  .fc-spec__panel h3 { margin: 0; color: #fff; font: 800 1.5rem/1.15 var(--fc-font-display); }
  .fc-spec__panel ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px 20px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); }
  .fc-spec__panel li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; color: #fff; font-weight: 600; line-height: 1.4; }
  .fc-spec__panel li::before { content: ""; width: 20px; height: 20px; margin-top: 1px; border-radius: 50%; background: var(--fc-orange-500) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231b1306' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 13px no-repeat; }

  /* Customer quote over a photo */
  .fc-quote { position: relative; isolation: isolate; overflow: hidden; border-radius: var(--fc-radius-lg); background: #000; min-height: 280px; display: grid; align-items: center; box-shadow: var(--fc-shadow-lg); }
  .fc-quote > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
  .fc-quote::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 72%; z-index: -1; background: var(--fc-panel-bg); clip-path: polygon(0 0, 100% 0, 84% 100%, 0 100%); }
  .fc-quote blockquote { margin: 0; padding: var(--fc-space-7) var(--fc-space-6); max-width: 58%; display: grid; gap: var(--fc-space-3); }
  .fc-quote p { margin: 0; color: #fff; font: 700 clamp(1.25rem, 1rem + 1vw, 1.7rem)/1.35 var(--fc-font-display); text-wrap: balance; }
  .fc-quote cite { font-style: normal; color: #8fdcff; font: 700 .875rem/1.3 var(--fc-font-display); letter-spacing: .08em; text-transform: uppercase; }
  @media (max-width: 640px) { .fc-quote { align-items: end; min-height: 360px; } .fc-quote::before { width: 100%; top: 30%; clip-path: polygon(0 10%, 100% 0, 100% 100%, 0 100%); } .fc-quote blockquote { max-width: none; padding: var(--fc-space-8) var(--fc-space-5) var(--fc-space-5); } }

  .fc-section .fcb-stage, .fc-section .fcb-photos, .fc-section .fcb-steps { margin-top: 0; }
  .fc-stack { display: grid; gap: var(--fc-space-6); }


  /* v2.0.1 grid fixes: no orphan cards, figures fill their cells */
  .fcb-photos figure, .fc-spec figure { margin: 0; }
  @media (min-width: 760px) { .fcb-tiles:has(> li:nth-child(6)) { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
  @media (min-width: 700px) { .fc-routes:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (min-width: 1100px) { .fc-routes:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
  @media (min-width: 900px) { .fcb-photos:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)); } }


  .fcb-vs > header + p:last-child { margin-top: 0; } /* text-only versus cards: text starts under the header */


  @media (min-width: 700px) { .fcb-photos:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); } }


  @media (min-width: 600px) { .fcb-tiles:has(> li:nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  /* Temperature range chart (month rows on one °F scale), drawn from inline percentages */
  .fcb-temps { border-radius: var(--fc-radius-lg); background: #050505; color: #c9d4dc; padding: var(--fc-space-6) var(--fc-space-5); box-shadow: 0 26px 50px -22px rgba(6,24,38,.6); }
  .fcb-temps h3 { margin: 0 0 4px; color: #fff; font: 800 1.2rem/1.2 var(--fc-font-display); }
  .fcb-temps > p { margin: 0 0 var(--fc-space-5); font-size: var(--fc-fs-small); }
  .fcb-temps__plot { position: relative; margin-left: 3.2rem; }
  .fcb-temps__zone { position: absolute; top: -1.6rem; bottom: 1.6rem; border-left: 1px dashed rgba(255,255,255,.25); }
  .fcb-temps__zone span { position: absolute; top: 0; left: 6px; white-space: nowrap; font: 700 .72rem/1 var(--fc-font-display); letter-spacing: .06em; text-transform: uppercase; color: #8fdcff; }
  .fcb-temps__row { position: relative; height: 2.25rem; }
  .fcb-temps__row b { position: absolute; left: -3.2rem; top: 50%; translate: 0 -50%; color: #fff; font: 800 .9rem/1 var(--fc-font-display); }
  .fcb-temps__bar { position: absolute; top: 50%; height: 12px; translate: 0 -50%; border-radius: 99px; background: linear-gradient(90deg, var(--fc-blue-500), var(--fc-orange-500)); }
  .fcb-temps__lo, .fcb-temps__hi { position: absolute; top: 50%; translate: 0 -50%; font: 700 .8rem/1 var(--fc-font-display); color: #dbe4ec; font-variant-numeric: tabular-nums; }
  .fcb-temps__lo { translate: calc(-100% - 8px) -50%; } .fcb-temps__hi { translate: 8px -50%; }
  .fcb-temps__axis { position: relative; height: 1.6rem; border-top: 1px solid rgba(255,255,255,.2); margin-top: 4px; }
  .fcb-temps__axis span { position: absolute; top: 6px; translate: -50% 0; font-size: .75rem; color: #9fb0bd; }
  .fcb-temps__note { margin: var(--fc-space-3) 0 0; font-size: .8rem; color: #9fb0bd; }


  .fcb-temps { overflow: hidden; } .fcb-temps__plot { margin-right: 2.6rem; }
  .fcb-temps__zone span { left: auto; right: calc(100% + 6px); } .fcb-temps__zone { border-left-color: var(--fc-orange-500); }

 .fcb-temps__plot { margin-top: 2.2rem; } 

.fc-faq a,.fc-faq-intro a:not(.fc-btn){color:var(--fc-link-ink);}

.fc-photo-card__surface{display:grid;align-items:end;min-height:inherit;block-size:100%;color:inherit;text-decoration:none}.fc-photo-card > .fc-photo-card__surface > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;transition:transform .6s var(--fc-ease)}.fc-photo-card:hover > .fc-photo-card__surface > img{transform:scale(1.05)}.fc-photo-card:has(.fc-photo-card__surface:focus-visible){outline:3px solid var(--fc-blue-500);outline-offset:4px}.fc-photo-card__link::after{content:none}

/* #037: approved v2.4 width/header only; adapted to existing unlayered logical-size design layer. */
:root{--fc-container:1880px;--fc-gutter:clamp(1.25rem,.5rem + 2.6vw,3rem);--fc-edge:max(var(--fc-gutter),(100vw - var(--fc-container))/2);--fc-header-h:136px}
.fc-header__inner{min-block-size:136px}
.fc-header__logo{inline-size:auto}
.fc-header__logo img{inline-size:auto;block-size:86px;max-inline-size:none}
.fc-header__top,.fc-header__logo img,.fc-header__inner{transition:max-height var(--fc-dur,.25s) var(--fc-ease,ease),opacity var(--fc-dur,.25s),height var(--fc-dur,.25s),min-height var(--fc-dur,.25s),margin var(--fc-dur,.25s)}
.fc-header__top{max-block-size:60px;overflow:hidden}
.fc-header.is-condensed .fc-header__top{max-block-size:0;opacity:0;margin:0;pointer-events:none;visibility:hidden}
.fc-header.is-condensed .fc-header__inner{min-block-size:80px}
.fc-header.is-condensed .fc-header__logo img{block-size:56px}
.fc-header.is-condensed .fc-header__right{gap:0}
.fc-header__phone{font-size:1.5rem}
.fc-header .fc-btn--sm{min-block-size:46px;font-size:.9rem;padding:.7em 1.3em}
.fc-nav a{font-size:1.0625rem}
.fc-hero__panel{inline-size:calc(var(--fc-edge) + min(42rem,52vw) + clamp(6rem,10vw,12rem));max-inline-size:92%}
.fc-intro__copy>p,.fc-intro__copy>.fc-lead{max-inline-size:44rem}
@media(max-width:1099px){:root{--fc-header-h:72px}.fc-header__inner,.fc-header.is-condensed .fc-header__inner{min-block-size:72px}.fc-header__logo img,.fc-header.is-condensed .fc-header__logo img{block-size:44px}}
@media(prefers-reduced-motion:reduce){.fc-header__top,.fc-header__logo img,.fc-header__inner,.fc-photo-card>.fc-photo-card__surface>img{transition:none}html{scroll-behavior:auto}}

/* #039 latest approved v2.5.1–v2.7, flattened to existing native layer. */

  /* v2.5.1 CTA: on wide pages the panel only wraps the text; most of the photo stays clear (Ken) */
  .fc-cta__panel { width: min(62%, 52rem); }


/* ===== v2.6 One heading scale for every page (Ken: review H1/H2/H3).
   Desktop 1440 → phone 390. Close to the live site (H1 54–75, section titles 37–54, H3 28) but with a clear step between levels.
   H1 72 → 40 · H2 44 → 30 · H3 26 → 21 · blog body H2 34 → 26, H3 22 → 19 · display bands 60 → 38 ===== */
:root {
  --fc-fs-display: clamp(2.5rem, 1.55rem + 3.3vw, 4.5rem);
  --fc-fs-h2: clamp(1.875rem, 1.4rem + 1.6vw, 2.75rem);
  --fc-fs-h3: clamp(1.3125rem, 1.15rem + .6vw, 1.625rem);
}

  .fc-hero h1, .fc-home-hero h1 { font-size: var(--fc-fs-display); line-height: 1.04; }
  .fc-hero--post h1 { font-size: clamp(2.125rem, 1.45rem + 2.4vw, 3.75rem); }
  .fc-section-head h2, .fc-intro__copy h2, .fc-band__head h2, .fc-faq-intro h2, .fc-cta h2 { font-size: var(--fc-fs-h2); line-height: 1.1; }
  .fc-parallax h2 { font-size: clamp(2.375rem, 1.6rem + 2.6vw, 3.75rem); }
  .fc-photo-card h3, .fc-card h3, .fc-area h3, .fc-brands h3 { font-size: var(--fc-fs-h3); line-height: 1.2; }
  .fc-post-card h3 { font-size: clamp(1.2rem, 1.1rem + .4vw, 1.375rem); }


/* ===== v2.7 Homepage banner at the photo's own shape + contact bar below it; calmer heading weights (Ken) ===== */
:root { --fc-fw-display: 700; }

  /* Banner: the whole photo shows (same proportions as the live banner); only the headline sits on it */
  .fc-banner { position: relative; margin-top: calc(-1 * var(--fc-header-h)); background: #050505; }
  .fc-banner__img { display: block; width: 100%; height: auto; aspect-ratio: 1320 / 603; min-height: 340px; object-fit: cover; object-position: center 60%; }
  .fc-banner__strip { position: absolute; left: 0; right: 0; bottom: 0; padding: clamp(1rem, 2vw, 1.75rem) 0; background: rgba(0, 0, 0, .5); }
  .fc-banner h1 { margin: 0; color: #fff; font: 700 clamp(2rem, 1.1rem + 2.6vw, 3.75rem)/1.08 var(--fc-font-display); letter-spacing: -.01em; text-shadow: 0 2px 16px rgba(0,0,0,.45); text-wrap: balance; }
  .fc-banner .fc-hero__copy { max-width: none; }

  /* Contact bar under the banner */
  .fc-homebar { background: #050505; color: #fff; padding: var(--fc-space-7) 0 var(--fc-space-7); }
  .fc-homebar__grid { display: grid; gap: var(--fc-space-5); align-items: center; }
  @media (min-width: 980px) { .fc-homebar__grid { grid-template-columns: 1.4fr .8fr; } }
  .fc-homebar .fc-lead { margin: var(--fc-space-3) 0 0; color: #dbe4ec; max-width: 46rem; }
  .fc-homebar__cta { display: grid; gap: var(--fc-space-2); justify-items: start; }
  @media (min-width: 980px) { .fc-homebar__cta { justify-items: end; text-align: right; } }
  .fc-homebar .fc-phone { font: 800 clamp(1.75rem, 1.3rem + 1.4vw, 2.4rem)/1 var(--fc-font-display); color: var(--fc-orange-500); text-decoration: none; }
  .fc-homebar small { color: #c9d4dc; font-size: .95rem; }
  .fc-homebar small a { color: #8fdcff; }
  .fc-homebar .fc-btn { margin-top: var(--fc-space-2); }
  .fc-homebar .fc-trust-glass { margin-top: var(--fc-space-6); }
  @media (max-width: 700px) {
    .fc-banner__img { min-height: 0; aspect-ratio: 4 / 3; }
    .fc-banner__strip { position: static; background: #050505; padding: var(--fc-space-5) 0 0; }
    .fc-homebar { padding-top: var(--fc-space-4); }
  }

  /* Intro keeps the live site's heading pair: title + blue subheading */
  .fc-subhead { margin: 0; color: var(--fc-blue-600, #1a8fc4); font: 600 clamp(1.25rem, 1rem + .9vw, 1.75rem)/1.25 var(--fc-font-body); }

  /* Heading scale, calmer: 700 weight, a little less tracking. H1 72→40, H2 40→28, H3 24→20 */
  h1, h2 { letter-spacing: -.01em; }
  .fc-section-head h2, .fc-intro__copy h2, .fc-band__head h2, .fc-faq-intro h2, .fc-cta h2 { font-size: clamp(1.75rem, 1.35rem + 1.4vw, 2.5rem); font-weight: 700; }
  .fc-photo-card h3, .fc-card h3, .fc-area h3 { font-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem); font-weight: 700; }
  .fc-hero h1 { font-weight: 700; }
  .fc-parallax h2 { font-weight: 700; }


  /* intro heading pair sized like the live site (title ~52, blue subhead ~34 on desktop) */
  .fc-intro--home .fc-intro__copy h2 { font-size: clamp(2rem, 1.4rem + 2vw, 3.25rem); line-height: 1.08; }
  .fc-intro--home .fc-subhead { font-size: clamp(1.3rem, .95rem + 1.2vw, 2.125rem); font-weight: 600; }


.fc-cta__panel{inline-size:min(62%,52rem)}@media(max-width:700px){.fc-cta__panel{inline-size:100%;width:100%;max-inline-size:none}}

/* #047: contain native SSP full-bleed sections and gutter rows in their owned wrappers. */
.fc-design-release .smartflow-testimonial-container .ssp-section { inline-size: 100%; max-inline-size: 100%; min-inline-size: 0; margin-inline: 0; inset-inline: auto; }
.fc-design-release .smartflow-testimonial-container .container { inline-size: 100%; max-inline-size: 100%; min-inline-size: 0; }
.fc-design-release .smartflow-testimonial-container .row { margin-inline: 0; min-inline-size: 0; max-inline-size: 100%; }
.fc-design-release .smartflow-testimonial-container .column { min-inline-size: 0; max-inline-size: 100%; }
