/*
Theme Name: Florida Courts
Theme URI: https://floridacourtsinc.com/
Author: Florida Courts
Description: Custom standalone theme for Florida Courts, Inc.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: floridacourts
*/

@font-face{font-family:FCLato;src:url('assets/fonts/Lato-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:FCLato;src:url('assets/fonts/Lato-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:FCLato;src:url('assets/fonts/Lato-Heavy.ttf') format('truetype');font-weight:800;font-display:swap}
@font-face{font-family:FCLato;src:url('assets/fonts/Lato-Black.ttf') format('truetype');font-weight:900;font-display:swap}
:root{--navy:#00366f;--deep:#002c61;--blue:#0877c9;--green:#268130;--lime:#61bf27;--pale:#eef8ff;--line:#a9d9f5;--ink:#062b64;--body:#24364e;--muted:#5c6d82;--white:#fff;--wrap:1180px;--shadow:0 3px 12px rgba(0,45,96,.09)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--body);background:#fff;font:400 16px/1.42 FCLato,Arial,sans-serif}img,svg{display:block;max-width:100%}img{image-rendering:auto;backface-visibility:hidden}a{color:var(--navy);text-underline-offset:3px}button,input,select,textarea{font:inherit}:focus-visible{outline:3px solid #65b8f4;outline-offset:3px}.skip{position:fixed;top:-5rem;left:1rem;z-index:1000;padding:.75rem 1rem;color:#fff;background:#000}.skip:focus{top:1rem}.wrap{width:min(calc(100% - 48px),var(--wrap));margin-inline:auto}.wrap.wide{--wrap:1488px}
h1,h2,h3,h4{margin:0 0 .45em;color:var(--ink);font-weight:900;line-height:1.04;letter-spacing:-.025em}h1{font-size:clamp(3rem,5vw,5rem)}h2{font-size:clamp(2rem,3.5vw,3.1rem)}h3{font-size:1.32rem}p{margin:0 0 1rem}.lead{font-size:clamp(1.1rem,1.6vw,1.38rem);line-height:1.4}.eyebrow{margin:0 0 .55rem;color:var(--green);font-size:.78rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.serif{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.035em}.section{padding:64px 0}.section--pale{background:linear-gradient(90deg,#f8fcff,#eaf7ff 50%,#f8fcff)}.center{text-align:center}.section-head{max-width:800px;margin:0 auto 34px;text-align:center}.section-head p{font-size:1.12rem}.grid{display:grid;gap:20px}
.topbar{color:#fff;background:linear-gradient(90deg,#00346e,#002b60)}.topbar .wrap{min-height:37px;display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar a{color:#fff;font-weight:900;text-decoration:none}.top-phone{font-size:1rem}.top-phone::before{content:'☎';margin-right:10px}.top-cta{padding:7px 18px;border-radius:3px;background:linear-gradient(#36a33f,#207829);font-size:.8rem}
.site-header{position:relative;z-index:20;border-bottom:1px solid #d9e4ec;background:#fff}.header-inner{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand img{width:82px;height:82px;object-fit:contain}.menu{position:relative}.menu-toggle{display:none;padding:10px 14px;border:2px solid var(--navy);color:var(--navy);background:#fff;font-weight:900}.nav-list{display:flex;align-items:center;gap:3px;margin:0;padding:0;list-style:none}.nav-list a{display:block;padding:21px 18px 18px;color:#001e52;font-weight:800;text-decoration:none;white-space:nowrap}.nav-list a:hover,.nav-list a[aria-current=page]{color:var(--green);box-shadow:inset 0 -4px var(--green)}
.hero{position:relative;min-height:320px;display:grid;align-items:center;color:#fff;background-color:var(--deep);background-position:center;background-size:cover;isolation:isolate}.hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,43,95,.96) 0%,rgba(0,49,103,.77) 46%,rgba(0,45,96,.08) 100%)}.hero h1,.hero p,.hero a{color:#fff}.hero-copy{max-width:700px;padding:60px 0}.breadcrumbs{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 16px;padding:0;list-style:none;font-size:.9rem}.breadcrumbs a{text-decoration:none}.breadcrumbs li+li::before{content:'›';margin-right:9px}.hero--home{min-height:500px}.hero--home .hero-copy{max-width:610px}.hero--home h1{font-size:clamp(3.7rem,6vw,5.9rem)}.hero--home h1 span{display:block;color:#ccecff}.hero--compact{min-height:155px}.hero--compact .hero-copy{padding:18px 0}.hero--compact h1{font-size:2.5rem}.hero--compact .lead{font-size:.98rem;max-width:640px}.hero--compact .breadcrumbs{margin-bottom:8px}
.button-row{display:flex;flex-wrap:wrap;gap:14px}.btn{min-height:48px;padding:12px 24px;border:2px solid transparent;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;gap:10px;color:#fff;background:linear-gradient(#3bb345,#27922f);font-weight:900;text-decoration:none;cursor:pointer}.btn::after{content:'→'}.btn--outline{border-color:#fff;color:#fff;background:transparent}.btn--white{color:#167326;background:#fff}.btn--navy{background:var(--navy)}
.trust{color:#fff;background:linear-gradient(90deg,#2a9238,#177525,#2a9238)}.trust ul{min-height:44px;margin:0;padding:0;display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;font-weight:800}.trust li+li::before{content:'•';margin-right:26px;color:#fff}
.sport-icons{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;margin-top:25px}.sport-icon{text-align:center;color:var(--ink);font-size:1.08rem;font-weight:900;text-decoration:none}.sport-icon img{width:96px;height:96px;margin:0 auto 10px;border-radius:50%}
.service-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.service-card{height:100%;overflow:hidden;border:1px solid #b8def5;border-radius:4px;background:#fff;text-align:left}.service-card img{width:100%;aspect-ratio:1.22/1;object-fit:cover}.service-card-body{padding:14px 15px 16px}.service-card h3{font-size:1.1rem}.service-card p{min-height:66px;margin-bottom:11px;font-size:.9rem;line-height:1.28}.learn{color:var(--green);font-weight:900;text-decoration:none}.learn::after{content:' →'}
.split-band{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;overflow:hidden;color:#fff;background:var(--navy)}.split-band>div:first-child{padding:50px max(24px,calc((100vw - var(--wrap))/2)) 48px}.split-band h2,.split-band p{color:#fff}.split-band img{align-self:stretch;width:100%;height:100%;min-height:290px;object-fit:cover;object-position:center}.stats{display:grid;grid-template-columns:repeat(3,1fr);padding:30px 0}.stat{padding:0 30px;border-right:1px solid #9bacbf;text-align:center}.stat:last-child{border:0}.stat strong{display:block;color:var(--ink);font-size:3.1rem;font-weight:900;line-height:1}.stat b{display:block;font-size:1.12rem}.stat span{font-size:.9rem;color:var(--muted)}
.difference-section{padding:38px 0 12px}.difference-section .section-head{margin-bottom:20px}.difference{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px}.difference article{min-height:104px;padding:10px 16px;border:1px solid #a9daf6;border-radius:5px;display:grid;grid-template-columns:62px 1fr;gap:14px;align-items:center}.diff-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#3f9f45,#187429);box-shadow:0 1px 3px rgba(0,50,25,.18)}.diff-icon svg{width:32px;height:32px;overflow:visible}.difference h3{margin:0 0 2px;font-size:1.02rem}.difference p{margin:0;font-size:.88rem;line-height:1.22}
.cta-band{position:relative;overflow:hidden;padding:20px 0;color:#fff;background:linear-gradient(90deg,#147d28,#1f9335 50%,#147d28);isolation:isolate}.cta-band::before,.cta-band::after{content:'';position:absolute;inset:-4px auto -4px 0;z-index:-1;width:260px;background:url('assets/images/cta-palms-left-transparent.png?v=2') left center/auto 100% no-repeat;opacity:.88}.cta-band::after{right:0;left:auto;background-image:url('assets/images/cta-palms-right-transparent.png?v=2');background-position:right center}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.cta-band h2,.cta-band p{color:#fff}.cta-band .eyebrow{margin-bottom:3px;color:#baf36e}.cta-band h2{margin-bottom:2px;font-size:2rem}.cta-band p{margin:0}.cta-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:14px}.cta-band .btn{min-width:190px;border-color:#79ce43;background:rgba(48,159,49,.78)}.cta-band .btn--outline{border-color:#fff;background:rgba(0,72,39,.25)}.cta-band--center{text-align:center}.cta-band--center .cta-inner{display:block}.cta-band--center .cta-actions{justify-content:center;margin-top:15px}.cta-band--overview{padding:17px 0 18px;background:linear-gradient(90deg,#0d6d27,#16872f 50%,#0d6d27)}.cta-band--overview::before,.cta-band--overview::after{width:245px;opacity:.58;filter:brightness(.78) saturate(.85)}.cta-band--overview h2{margin-bottom:3px;font-size:1.8rem}.cta-band--overview .cta-actions{margin-top:12px}.cta-band--overview .btn{min-width:248px}.cta-band--overview .btn:first-child{border-color:#fff;color:var(--navy);background:#fff}.cta-band--overview .btn--outline{min-width:195px;color:#fff;background:rgba(0,75,34,.24)}
.site-footer{padding:24px 0 13px;color:#fff;background:linear-gradient(120deg,#00366f,#002856)}.footer-grid{display:grid;grid-template-columns:175px 1.25fr .8fr 1.2fr;gap:24px;align-items:stretch}.footer-brand{display:flex;align-items:center;justify-content:center}.footer-logo{width:155px;padding:11px 12px;border:1px solid rgba(255,255,255,.8);border-radius:4px;background:#fff;box-shadow:0 3px 12px rgba(0,26,61,.2)}.site-footer h3{color:#fff;font-size:1rem}.site-footer p,.site-footer li,.site-footer a{color:#fff;font-size:.85rem;line-height:1.35}.footer-about,.footer-nav,.footer-contact-column{padding-left:26px;border-left:1px solid rgba(255,255,255,.65)}.footer-about{display:flex;align-items:center}.footer-about p{margin:0}.footer-links{display:grid;grid-template-columns:1fr;gap:2px;margin:0;padding:0;list-style:none}.footer-links a{text-decoration:none}.contact-list{margin:0;padding:0;list-style:none}.contact-list li{margin-bottom:6px;display:grid;grid-template-columns:18px 1fr;gap:8px;align-items:start}.contact-list svg{width:16px;height:16px;margin-top:2px}.contact-list small{font-size:.75rem}.footer-bottom{margin-top:20px;padding-top:13px;border-top:1px solid rgba(255,255,255,.25);display:flex;justify-content:space-between;gap:20px;font-size:.75rem}.footer-bottom nav{display:flex;align-items:center;gap:11px}.footer-bottom a{text-decoration:none}.footer-bottom i{width:1px;height:13px;background:rgba(255,255,255,.7)}
.overview-intro{max-width:900px;margin:0 auto 30px;text-align:center;font-size:1.3rem;color:var(--ink)}.overview-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}.overview-cards .service-card{grid-column:span 2}.overview-cards .service-card:nth-last-child(2){grid-column:2/span 2}.overview-cards .service-card:last-child{grid-column:4/span 2}.overview-cards .service-card img{aspect-ratio:1.65/1}.overview-cards .service-card-body{padding:12px 20px 18px}.overview-cards .service-card h3{font-size:1.42rem}.overview-cards .service-card p{min-height:0;font-size:1rem}
.detail-intro{max-width:1080px;margin:0 auto 45px;color:var(--ink);font-size:1.15rem;text-align:center}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.feature-card{min-height:260px;padding:30px;border:2px solid #caeafb;border-radius:10px;background:linear-gradient(135deg,#f7fcff,#ebf8ff)}.feature-icon{width:86px;height:86px;margin-bottom:18px;display:grid;place-items:center;color:#197b27}.feature-icon svg{width:72px;height:72px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.feature-card h3{font-size:1.48rem}.feature-card p{margin:0;font-size:1.05rem}.showcase img{width:100%;height:350px;object-fit:cover}.inline-cta{padding:32px 20px;color:#fff;background:linear-gradient(90deg,#00366f,#002b61);text-align:center}.inline-cta h2,.inline-cta p{color:#fff}.inline-cta h2{font-size:1.8rem;margin-bottom:4px}.inline-cta .btn{margin-top:12px}.related{padding:24px 0}.related h2{font-size:1.8rem}.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.related-card img{width:100%;aspect-ratio:1.8/1;object-fit:cover;border-radius:4px}.related-card strong{display:block;margin-top:8px;color:var(--ink)}
.accessory-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.accessory-card{padding:30px 12px 24px;border:1px solid #9ed8f8;border-radius:5px;background:linear-gradient(145deg,#f8fdff,#eaf7ff);text-align:center}.accessory-card img{width:128px;height:130px;margin:0 auto 18px}.accessory-card h3{font-size:1.2rem}.ask-band{position:relative;overflow:hidden;padding:55px 0;background:linear-gradient(90deg,#edf8ff,#dff2ff,#edf8ff);text-align:center;isolation:isolate}.ask-band::before,.ask-band::after{content:'';position:absolute;inset:0 auto 0 0;z-index:-1;width:205px;background:#8fbdd8;opacity:.36;-webkit-mask:url('assets/images/cta-palms-left-transparent.png?v=2') left bottom/contain no-repeat;mask:url('assets/images/cta-palms-left-transparent.png?v=2') left bottom/contain no-repeat}.ask-band::after{right:0;left:auto;-webkit-mask-image:url('assets/images/cta-palms-right-transparent.png?v=2');-webkit-mask-position:right bottom;mask-image:url('assets/images/cta-palms-right-transparent.png?v=2');mask-position:right bottom}.ask-band h2{font-size:2rem}
.partner-products{background:linear-gradient(180deg,#fff,#f4fbff)}.partner-sample-note{max-width:880px;margin:-10px auto 28px;padding:11px 16px;border-left:4px solid var(--green);color:#445a70;background:#edf8ff;font-size:.84rem}.partner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.partner-card{overflow:hidden;border:1px solid #b8def5;border-radius:7px;display:flex;flex-direction:column;background:#fff;box-shadow:0 5px 18px rgba(0,45,96,.1)}.partner-product-image{width:100%;height:180px;object-fit:cover}.partner-card-body{padding:0 20px 22px;display:flex;flex:1;flex-direction:column}.partner-logo-wrap{height:92px;margin:-18px -2px 16px;padding:13px 15px;border:1px solid #d3e5ef;border-radius:6px;display:flex;align-items:center;background:#fff;box-shadow:0 3px 10px rgba(0,45,96,.1)}.partner-logo{width:100%;height:66px;object-fit:contain}.partner-category{margin:0 0 7px;color:var(--green);font-size:.75rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.partner-card h3{font-size:1.42rem}.partner-card-body>p:not(.partner-category){min-height:72px;margin-bottom:18px}.partner-pdf{width:100%;margin-top:auto;background:linear-gradient(#0879c9,#0063ad)}
.filters{display:flex;justify-content:center;gap:14px;padding:10px 0;overflow:auto}.filter{flex:0 0 auto;padding:7px 24px;border:1px solid #92bddd;border-radius:30px;color:var(--ink);background:#fff;cursor:pointer}.filter.active,.filter:hover{color:#fff;background:var(--green)}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.project{overflow:hidden;border:1px solid #c5dbea;border-radius:4px;background:#fff}.project[hidden]{display:none}.project-button{width:100%;padding:0;border:0;background:#fff;text-align:left;cursor:pointer}.project-media{position:relative;aspect-ratio:2.85/1;overflow:hidden;background:#eaf4fb}.project-media img{width:100%;height:100%;object-fit:cover}.project-info{padding:8px 10px}.project-info strong{display:block;color:var(--ink)}.project-info span{font-size:.78rem}.project-tag{position:absolute;right:8px;bottom:-29px;padding:5px 12px;border-radius:3px;color:#fff;background:#0876c8;font-size:.65rem;font-weight:900;text-transform:uppercase}.play{position:absolute;inset:50% auto auto 50%;width:50px;height:50px;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;transform:translate(-50%,-50%);color:#fff;background:rgba(0,45,96,.55);font-size:1.3rem}.coming{height:100%;display:grid;place-items:center;color:#7187a2;text-align:center;font-weight:800}.coming b{display:block;font-size:2rem}.project-meta{position:relative}
dialog{width:min(900px,calc(100% - 30px));padding:0;border:0;box-shadow:0 20px 70px #001832}dialog::backdrop{background:rgba(0,25,55,.84)}.dialog-head{padding:12px 16px;display:flex;justify-content:space-between;color:#fff;background:var(--deep)}.dialog-close{border:0;color:#fff;background:transparent;font-size:1.5rem}.dialog-body img{width:100%;max-height:70vh;object-fit:contain}.video-placeholder{min-height:420px;display:grid;place-items:center;color:#fff;background:var(--navy);text-align:center}
.story-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;align-items:center}.story-copy h2{font-size:2.7rem}.founder-photo{position:relative}.founder-photo>img{width:100%;min-height:370px;object-fit:cover;border-radius:4px}.quote-card{position:absolute;right:18px;top:18px;width:42%;padding:22px;border-radius:6px;background:rgba(240,249,255,.93)}.quote-card blockquote{margin:0;color:var(--ink);font:italic 1.25rem/1.3 Georgia,serif}.quote-card blockquote::before{content:'“';display:block;color:var(--green);font-size:3rem;font-weight:900;line-height:.7}.quote-card strong{display:block;margin-top:15px;color:var(--ink)}.travel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.travel-card{overflow:hidden;border:1px solid #bdd9e9;border-radius:4px;background:#fff}.travel-card img{width:100%;height:145px;object-fit:cover}.travel-card div{padding:10px 14px}.travel-card h3{margin:0;font-size:1.1rem}.travel-card p{margin:2px 0;font-size:.9rem}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.team-card{overflow:hidden;border:1px solid #c3d9e8;border-radius:4px}.team-card img{width:100%;aspect-ratio:1.65/1;object-fit:cover}.team-card div{padding:8px 12px 12px}.team-card h3{margin:0;font-size:1rem}.team-card p{margin:0;font-size:.82rem}.team-card i{display:block;width:27px;height:2px;margin-top:8px;background:var(--green)}.owner-grid{display:grid;grid-template-columns:.8fr 1.3fr;align-items:center}.owner-grid img{width:100%;height:260px;object-fit:cover}.owner-copy{padding:22px 36px}.owner-copy h2{font-size:2.1rem}
.contact-main{padding:20px 0 14px;background:linear-gradient(120deg,#f7fbff,#eaf6ff)}.contact-title{margin-bottom:14px}.contact-title .breadcrumbs{margin-bottom:5px}.contact-title h1{margin-bottom:2px;font-family:Georgia,serif;font-size:3rem}.contact-title .lead{font-size:1.15rem}.contact-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:20px}.form-card,.info-card,.mini-card{padding:18px 20px;border:1px solid #d4e4ef;border-radius:6px;background:#fff;box-shadow:var(--shadow)}.form-card h2{font-size:1.5rem}.form-card>p{margin-bottom:10px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}label{color:#001f53;font-weight:700}label span{display:block;margin-bottom:4px}input,select,textarea{width:100%;min-height:40px;padding:8px 11px;border:1px solid #a7cde5;border-radius:5px;color:var(--body);background:#f7fbff}textarea{min-height:86px;resize:vertical}.field-full{grid-column:1/-1}.submit-row{display:flex;align-items:center;gap:25px;margin-top:14px}.submit-row .btn{min-width:300px}.free-note{display:grid;grid-template-columns:34px 1fr;gap:10px}.free-note b:first-child{width:30px;height:34px;display:grid;place-items:center;color:#fff;background:var(--green);clip-path:polygon(50% 0,90% 15%,90% 56%,50% 100%,10% 56%,10% 15%)}.side-stack{display:grid;gap:14px}.phone-card{padding:13px 24px;display:grid;grid-template-columns:1.2fr .65fr;gap:20px;color:#fff;background:linear-gradient(120deg,#003b78,#002c61);border-radius:5px}.phone-card h2,.phone-card p{color:#fff}.phone-card h2{font-size:1.05rem}.phone-card p{margin-bottom:7px}.phone-card strong{display:block;font-size:2.2rem}.hours{padding-left:25px;border-left:1px solid rgba(255,255,255,.4)}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mini-card{padding:13px 14px;display:grid;grid-template-columns:34px 1fr;gap:10px}.mini-card b:first-child{color:var(--navy);font-size:1.5rem}.mini-card h3{margin:0;font-size:1.05rem}.mini-card p{margin:2px 0;font-size:.78rem;line-height:1.32}.map{width:100%;height:190px;object-fit:cover;border-radius:4px}
.blog-wrap{--wrap:960px}.blog-archive{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:32px;min-height:480px}.post-list{display:grid;gap:22px}.post-preview{overflow:hidden;border:1px solid #c4ddeb;border-radius:5px;background:#fff;box-shadow:var(--shadow)}.post-preview-media{display:block;overflow:hidden}.post-preview-media img{width:100%;aspect-ratio:2.45/1;object-fit:cover;transition:transform .25s ease}.post-preview-media:hover img{transform:scale(1.015)}.post-preview-body{padding:20px 22px 23px}.post-preview-body h2{margin-bottom:8px;font-family:Georgia,serif;font-size:2rem}.post-preview-body h2 a{text-decoration:none}.post-preview-meta{display:flex;gap:18px;margin:14px 0;color:var(--muted);font-size:.82rem}.categories{align-self:start;padding:20px;background:#fafbfc}.categories h2{font:700 1.4rem Georgia,serif}.categories h2::after{content:'';display:block;width:22px;height:2px;margin-top:8px;background:var(--green)}.categories ul{margin:0;padding:0;list-style:none}.categories li{padding:12px 0;border-bottom:1px solid #e4e7eb;font-size:.85rem}.post{--wrap:615px}.post-header{padding:20px 0 10px}.post-header h1{font:700 clamp(2.2rem,5vw,3rem)/1.05 Georgia,serif}.post-meta{display:flex;flex-wrap:wrap;gap:18px;margin:16px 0;color:var(--ink);font-size:.82rem}.post-hero{width:100%;aspect-ratio:3.25/1;object-fit:cover;border-radius:4px}.post-content{padding:15px 0}.post-content p{font-size:.98rem;line-height:1.5}.post-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:15px 0}.post-pair img{width:100%;height:130px;object-fit:cover;border-radius:4px}.back-link{display:block;padding-top:12px;border-top:1px solid #dbe2e8;font-size:.82rem;font-weight:700;text-decoration:none}
@media(max-width:1100px){.brand img{width:180px}.nav-list a{padding-inline:12px}.service-cards{grid-template-columns:repeat(3,1fr)}.service-cards .service-card:nth-last-child(-n+2){transform:translateX(50%)}.footer-grid{grid-template-columns:170px 1fr 1fr}.footer-contact-column{grid-column:3}.footer-about{padding-left:0;border:0}.overview-cards{grid-template-columns:repeat(2,1fr)}.overview-cards .service-card,.overview-cards .service-card:nth-last-child(2),.overview-cards .service-card:last-child{grid-column:auto}.gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.wrap{width:min(calc(100% - 30px),var(--wrap))}.topbar .wrap{min-height:39px}.top-phone{font-size:.87rem}.top-cta{padding:7px 10px}.header-inner{min-height:74px}.brand img{width:165px}.menu-toggle{display:block}.nav-list{position:absolute;right:0;top:48px;width:min(300px,calc(100vw - 30px));padding:8px;border:1px solid #c8d8e5;display:none;background:#fff;box-shadow:0 10px 30px rgba(0,30,70,.2)}.menu.is-open .nav-list{display:block}.nav-list a{padding:11px 12px}.nav-list a:hover,.nav-list a[aria-current=page]{box-shadow:none;background:var(--pale)}.hero,.hero--home{min-height:390px}.hero-copy{padding:42px 0}.hero--compact{min-height:230px}.hero--compact .hero-copy{padding:40px 0}.trust ul{padding:12px 0;display:grid;grid-template-columns:1fr 1fr;text-align:center}.trust li+li::before{display:none}.sport-icons{grid-template-columns:repeat(3,1fr)}.service-cards,.service-cards .service-card:nth-last-child(-n+2){grid-template-columns:repeat(2,1fr);transform:none}.split-band{grid-template-columns:1fr}.split-band>div:first-child{padding:40px 24px}.stats{grid-template-columns:1fr}.stat{padding:18px;border-right:0;border-bottom:1px solid #aab9ca}.difference{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-contact-column{grid-column:auto}.feature-grid{grid-template-columns:1fr}.accessory-grid{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr)}.story-grid{grid-template-columns:1fr}.travel-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr 1fr}.owner-grid{grid-template-columns:1fr}.contact-layout{grid-template-columns:1fr}.blog-archive{grid-template-columns:1fr}.categories{order:-1}.cta-inner{display:block;text-align:center}.cta-inner .btn{margin-top:14px}}
@media(max-width:500px){body{font-size:15px}h1{font-size:2.55rem}.top-cta{font-size:.69rem}.brand img{width:145px}.hero--home h1{font-size:3.15rem}.button-row{display:grid}.btn{width:100%}.sport-icons{grid-template-columns:repeat(2,1fr)}.sport-icon:last-child{grid-column:1/-1}.service-cards,.overview-cards{grid-template-columns:1fr}.feature-card{min-height:0;padding:22px}.related-grid{grid-template-columns:1fr 1fr}.accessory-grid,.gallery,.team-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.footer-logo{width:175px}.footer-bottom{display:block}.quote-card{position:static;width:100%;border:1px solid #c6ddec}.founder-photo>img{min-height:260px}.phone-card,.mini-grid{grid-template-columns:1fr}.hours{padding:15px 0 0;border-top:1px solid rgba(255,255,255,.4);border-left:0}.field-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.submit-row{display:block}.submit-row .btn{min-width:0}.free-note{margin-top:15px}.post-pair{grid-template-columns:1fr}.post-pair img{height:auto}}
@media(max-width:800px){.partner-grid{grid-template-columns:1fr}.partner-product-image{height:230px}.partner-card-body>p:not(.partner-category){min-height:0}}
.contact-main .contact-title{display:none}@media(max-width:1100px){.brand img{width:82px;height:82px}}@media(max-width:800px){.header-inner{min-height:86px}.brand img{width:72px;height:72px}}@media(max-width:500px){.brand img{width:66px;height:66px}}
.mini-card-icon{width:34px;height:34px;display:grid;place-items:center;color:var(--navy)}.mini-card-icon svg{width:28px;height:28px;overflow:visible}
.comparison{--split:50%;isolation:isolate}.comparison-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.comparison-after{position:absolute;inset:0;z-index:1;clip-path:inset(0 0 0 var(--split))}.comparison-label{position:absolute;bottom:6px;z-index:3;padding:3px 8px;border-radius:3px;color:#fff;background:rgba(10,17,26,.78);font-size:.62rem;font-weight:800}.comparison-label--before{left:7px}.comparison-label--after{right:7px;background:rgba(32,139,43,.9)}.comparison-divider{position:absolute;top:0;bottom:0;left:var(--split);z-index:3;width:2px;transform:translateX(-1px);background:#fff;box-shadow:0 0 4px rgba(0,35,75,.4)}.comparison-divider i{position:absolute;top:50%;left:50%;width:30px;height:30px;border:2px solid #c7dceb;border-radius:50%;display:grid;place-items:center;transform:translate(-50%,-50%);color:var(--navy);background:#fff;box-shadow:0 2px 6px rgba(0,35,75,.25);font-size:.9rem;font-style:normal;font-weight:900}.comparison-range{position:absolute;inset:0;z-index:5;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.comparison-range:focus-visible{opacity:1;outline:3px solid #65b8f4;outline-offset:-3px}
.comparison-divider{width:3px;transform:translateX(-1.5px);background:rgba(255,255,255,.98);box-shadow:0 0 0 1px rgba(0,51,105,.12),0 0 7px rgba(0,35,75,.38)}.comparison-divider i{width:38px;height:38px;border:2px solid #fff;display:flex;align-items:center;justify-content:center;gap:5px;color:#00366f;background:linear-gradient(145deg,#fff,#eef7fc);box-shadow:0 3px 10px rgba(0,36,78,.38),inset 0 0 0 1px #bed4e4;font-size:0;transition:transform .18s ease,box-shadow .18s ease}.comparison-divider i::before,.comparison-divider i::after{content:'';width:7px;height:7px;border:solid currentColor;border-width:0 2.5px 2.5px 0}.comparison-divider i::before{transform:rotate(135deg)}.comparison-divider i::after{transform:rotate(-45deg)}.comparison:hover .comparison-divider i{transform:translate(-50%,-50%) scale(1.08);box-shadow:0 4px 13px rgba(0,36,78,.46),inset 0 0 0 1px #9fc2d9}.comparison:focus-within .comparison-divider i{outline:3px solid #66baf1;outline-offset:2px}.comparison-range:focus-visible{opacity:0;outline:0}
.brand img{width:240px;height:auto;object-fit:contain}@media(max-width:1100px){.brand img{width:220px;height:auto}}@media(max-width:800px){.brand img{width:190px;height:auto}}@media(max-width:500px){.brand img{width:165px;height:auto}}
.brand{display:flex;align-items:center;gap:15px;text-decoration:none}.brand img{width:82px;height:82px;flex:0 0 82px;object-fit:contain}.brand-wordmark{display:grid;gap:0;color:var(--navy);font-size:1.82rem;font-weight:900;line-height:.9;letter-spacing:.075em}.brand-wordmark b:last-child{color:#3c9c2d;letter-spacing:.14em}@media(max-width:1100px){.brand img{width:76px;height:76px;flex-basis:76px}.brand-wordmark{font-size:1.55rem}}@media(max-width:800px){.brand{gap:10px}.brand img{width:68px;height:68px;flex-basis:68px}.brand-wordmark{font-size:1.3rem}}@media(max-width:500px){.brand img{width:62px;height:62px;flex-basis:62px}.brand-wordmark{font-size:1.05rem}}
.brand{display:flex;align-items:center;gap:15px;text-decoration:none}.brand img{width:82px;height:82px;flex:0 0 82px;object-fit:contain}.brand-wordmark{display:flex;align-items:center;gap:.42em;white-space:nowrap;color:var(--navy);font-family:FCLato,Arial,sans-serif;font-size:1.65rem;font-weight:700;line-height:1;letter-spacing:.035em}.brand-wordmark b{font-weight:700}.brand-wordmark b:last-child{color:#3c9c2d;letter-spacing:.035em}@media(max-width:1100px){.brand img{width:76px;height:76px;flex-basis:76px}.brand-wordmark{font-size:1.35rem}}@media(max-width:800px){.brand{gap:10px}.brand img{width:68px;height:68px;flex-basis:68px}.brand-wordmark{font-size:1.12rem}}@media(max-width:500px){.brand img{width:62px;height:62px;flex-basis:62px}.brand-wordmark{font-size:.92rem}}
.brand-wordmark{transform:translateY(15px)}@media(max-width:800px){.brand-wordmark{transform:translateY(10px)}}
.brand{position:relative}.brand-wordmark{transform:translateY(25px)}.brand-balls{position:absolute;top:1px;left:97px;width:235px;display:flex;align-items:center;justify-content:space-between;color:var(--navy);pointer-events:none}.brand-balls svg{width:23px;height:23px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.brand-balls svg:nth-child(1){transform:rotate(-28deg)}.brand-balls svg:nth-child(2){transform:rotate(-13deg)}.brand-balls svg:nth-child(3){transform:rotate(4deg)}.brand-balls svg:nth-child(4){transform:rotate(19deg)}.brand-balls svg:nth-child(5){transform:rotate(34deg)}@media(max-width:1100px){.brand-balls{left:91px;width:190px}.brand-balls svg{width:20px;height:20px}}@media(max-width:800px){.brand-wordmark{transform:translateY(19px)}.brand-balls{top:2px;left:78px;width:160px}.brand-balls svg{width:17px;height:17px}}@media(max-width:500px){.brand-wordmark{transform:translateY(16px)}.brand-balls{left:72px;width:135px}.brand-balls svg{width:15px;height:15px}}
.brand{gap:55px}.brand-balls{top:27px;left:137px}@media(max-width:1100px){.brand{gap:42px}.brand-balls{top:25px;left:118px}}@media(max-width:800px){.brand{gap:30px}.brand-balls{top:24px;left:98px}}@media(max-width:500px){.brand{gap:22px}.brand-balls{top:23px;left:84px}}
.brand{gap:38px}.brand-signature{position:relative;width:300px;height:76px;flex:0 0 300px;padding:0 18px 10px;border:2px solid transparent;border-radius:22px;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(145deg,#fff,#f8fcff) padding-box,linear-gradient(125deg,#00366f,#238334 58%,#70c53b) border-box;box-shadow:0 5px 14px rgba(0,46,98,.16),inset 0 1px 0 #fff}.brand-signature::after{content:'';position:absolute;inset:4px;border:1px solid rgba(0,54,111,.12);border-radius:16px;pointer-events:none}.brand-signature .brand-wordmark{position:relative;z-index:1;transform:none}.brand-signature .brand-balls{top:7px;right:20px;left:20px;width:auto;z-index:1}@media(max-width:1100px){.brand{gap:30px}.brand-signature{width:250px;height:72px;flex-basis:250px;padding-inline:12px}.brand-signature .brand-balls{top:7px;right:15px;left:15px}}@media(max-width:800px){.brand{gap:18px}.brand-signature{width:215px;height:66px;flex-basis:215px;padding-bottom:9px;border-radius:18px}.brand-signature::after{border-radius:13px}.brand-signature .brand-balls{top:6px;right:13px;left:13px}}@media(max-width:500px){.brand{gap:10px}.brand-signature{width:180px;height:60px;flex-basis:180px;padding-bottom:8px}.brand-signature .brand-balls{top:5px;right:11px;left:11px}}
.brand{gap:20px}.brand .brand-banner{width:400px;height:82px;flex:0 0 400px;object-fit:cover;object-position:center}@media(max-width:1100px){.brand{gap:14px}.brand .brand-banner{width:300px;height:76px;flex-basis:300px}}@media(max-width:800px){.brand{gap:10px}.brand .brand-banner{width:280px;height:68px;flex-basis:280px}}@media(max-width:500px){.brand .brand-banner{width:210px;height:62px;flex-basis:210px}}

/* Editable page body (the_content) and WordPress core content classes.
   The design styles components, not arbitrary WYSIWYG output, so these rules
   give the client's editor content sane typography and restore float/centre
   behaviour that the global img{display:block} rule would otherwise remove. */
.page-prose{max-width:860px;margin-inline:auto}
.page-prose>h3:first-child{margin-top:0}
.page-prose h3{margin:1.6em 0 .5em;font-size:1.32rem}
.page-prose h2{margin:1.6em 0 .5em}
.page-prose p{margin:0 0 1.05rem}
.page-prose ul,.page-prose ol{margin:0 0 1.2rem;padding-left:1.3rem}
.page-prose li{margin:0 0 .4rem}
.page-prose a{color:var(--navy);text-decoration:underline}
.page-prose a:hover{color:var(--green)}
.page-prose img{height:auto;border-radius:4px;box-shadow:var(--shadow)}
.page-prose::after{content:'';display:block;clear:both}
.page-prose .alignnone{display:block;margin:0 0 1.2rem}
.page-prose .aligncenter{display:block;margin:0 auto 1.2rem}
.page-prose .alignleft{display:inline;float:left;margin:.3rem 1.4rem 1rem 0}
.page-prose .alignright{display:inline;float:right;margin:.3rem 0 1rem 1.4rem}
.page-prose .wp-caption{max-width:100%}
.page-prose .wp-caption-text{margin:.4rem 0 0;color:var(--muted);font-size:.86rem}
@media(max-width:600px){
	.page-prose .alignleft,.page-prose .alignright{display:block;float:none;margin:0 auto 1.2rem}
}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.page-prose table{width:100%;margin:0 0 1.4rem;border-collapse:collapse}
.page-prose table img{margin:0 auto}
.page-prose td{padding:5px;vertical-align:top}
@media(max-width:640px){
	.page-prose table,.page-prose tbody,.page-prose tr,.page-prose td{display:block;width:100%}
	.page-prose td{padding:0 0 10px}
}

/* Extracted from the approved design, which carried these as inline style
   attributes that style.css did not cover. .hero .eyebrow also lives in the
   inlined critical CSS; it is repeated here so the rule survives any
   refactor of that block. */
.hero .eyebrow{color:#7de238}
.split-band .eyebrow{color:#7de238}

/* Accessory icons now ship as inline SVG instead of target-assets PNGs, so
   they occupy the same box the design's <img> did. */
.accessory-card .accessory-icon{width:128px;height:130px;margin:0 auto 18px;display:grid;place-items:center;color:var(--navy)}
.accessory-card .accessory-icon svg{width:72px;height:72px;overflow:visible}
/* Interim Wufoo embed until the native contact form lands. */
.wufoo-embed{margin:0 0 1.2rem}
.wufoo-embed iframe{display:block;width:100%;border:0}

/* Gallery filters are anchors (crawlable /court-type/ archives) styled as the
   design's pill buttons, so they need the link defaults reset. */
.filters .filter{text-decoration:none;display:inline-block;line-height:1.2}
.filters .filter:hover{color:#fff}
.gallery-empty{grid-column:1/-1;padding:28px 0;text-align:center;color:var(--muted)}
.dialog-body img+img{margin-top:10px}
.project-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:22px 0}
.project-gallery img{width:100%;height:190px;object-fit:cover;border-radius:4px}
.project-video{margin:22px 0}
.project-video iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:4px}

/* ---------------------------------------------------------------------------
 * Small-viewport corrections.
 *
 * Each rule below fixes a defect measured in a real browser at 375, 390 and
 * 768px, not a preference.
 * ------------------------------------------------------------------------ */

/* The filter row centred its chips while scrolling horizontally, so the
   overflow was split across both ends and scrollLeft could never reach the
   left one. At 375px "All Projects" sat at x -121 with a 4px sliver showing
   and could not be tapped at all, which left no way back to the full grid.
   safe centring keeps the design on wide screens and snaps to the start edge
   the moment the row overflows; the media query repeats it for browsers that
   do not know the safe keyword. */
.filters{justify-content:safe center}
@media(max-width:800px){.filters{justify-content:flex-start;padding-inline:15px;margin-inline:-15px;scroll-padding-inline:15px;scroll-snap-type:x proximity;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.filters .filter{scroll-snap-align:start;padding:11px 18px}}

/* 2.85:1 cards in a two-column phone grid rendered the court photos 57px
   tall. One column at phone width gives them 172px. */
@media(max-width:500px){.gallery{grid-template-columns:1fr}.project-media{aspect-ratio:2/1}}

/* The dialog scrolls and its head scrolled away with it: after one swipe
   through a five-photo project the close button was 900px above the top of
   the viewport. Escape and a backdrop tap still worked, but neither is
   discoverable on a phone. */
.dialog-head{position:sticky;top:0;z-index:2}
.dialog-close{min-width:44px;min-height:44px;display:grid;place-items:center;margin-right:-6px;line-height:1;cursor:pointer}
/* The YouTube facade set height="480" on the iframe, a 0.71 box at phone
   width for 16:9 footage. */
.dialog-body iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0}
@media(max-width:500px){dialog{width:min(900px,calc(100% - 20px))}.dialog-body img{max-height:60vh}}

/* Tap-to-call bar. footer.php has always emitted it, but no rule matched, so
   it rendered as a stray underlined link under the footer on every page. */
.mobile-call-bar{display:none}
@media(max-width:500px){.mobile-call-bar{position:fixed;inset:auto 0 0 0;z-index:60;padding:13px 12px;display:block;color:#fff;background:linear-gradient(#36a33f,#207829);font-weight:900;text-align:center;text-decoration:none;box-shadow:0 -3px 14px rgba(0,30,70,.3)}.mobile-call-bar span{margin-right:6px}body{padding-bottom:54px}}

/* The brand lock-up plus the Menu button needed 373px of a 345px row at
   375px, so the button hung 13px off the screen and the page scrolled
   sideways. The banner is a 3:1 image shown in a 3.39:1 box, so letting it
   shrink costs a few pixels of crop and nothing else. */
@media(max-width:500px){.header-inner{gap:12px}.brand{min-width:0}.brand .brand-banner{flex:0 1 210px;min-width:0}}

/* About page: the design pairs the founder quote with a photograph and the
   owner's message with a portrait. Both photographs are mock-up assets that do
   not ship, so until real ones are uploaded the quote stands on its own rather
   than floating over an empty box, and the owner message takes the full row. */
.founder-photo--noimage{display:flex;align-items:center}
.founder-photo--noimage .quote-card{position:static;width:100%}
.owner-grid--noimage{grid-template-columns:1fr}
/* Contact card: the number dials on a tap. */
.phone-card strong a{color:#fff;text-decoration:none}
.phone-card strong a:hover{text-decoration:underline}

/* Contact side column: the design's bottom element is a service-area map that
   does not ship. Without it the grid stretched the phone card and the mini
   cards into tall empty boxes, so the rows size to their content instead. */
.side-stack{align-content:start}
.mini-grid{align-items:start}
.hours h2{display:flex;align-items:center;gap:8px}
.hours-icon{width:17px;height:17px;flex:0 0 17px}

/* Header fit corrections.
   The desktop header lays out as brand + nav on one flex row inside .wrap
   (width = viewport - 48px). Measured requirement: 1012px with the 300px
   banner tier and 1208px with the 400px tier. The old breakpoints handed the
   desktop nav over at 801px and the big banner at 1101px, so the row overflowed
   from 801-1059px (235px at the worst) and again from 1101-1255px (32px at
   1200). Both bands include real tablets: iPad landscape is 1024, iPad Pro 11"
   landscape is 1194. Keep the hamburger until the row actually fits, and hold
   the big banner back until there is room for it. */
@media(min-width:801px) and (max-width:1099px){
	.menu-toggle{display:block}
	.nav-list{position:absolute;right:0;top:48px;width:min(300px,calc(100vw - 30px));padding:8px;border:1px solid #c8d8e5;display:none;background:#fff;box-shadow:0 10px 30px rgba(0,30,70,.2)}
	.menu.is-open .nav-list{display:block}
	.nav-list a{padding:11px 12px}
	.nav-list a:hover,.nav-list a[aria-current=page]{box-shadow:none;background:var(--pale)}
}
@media(min-width:1101px) and (max-width:1299px){
	.brand{gap:14px}
	.brand img{width:76px;height:76px;flex-basis:76px}
	.brand .brand-banner{width:300px;height:76px;flex:0 0 300px}
	.nav-list a{padding-inline:12px}
}

/* Blog.
   The design mocks one post with a four-item category list and no pagination.
   Two rules cover what it leaves out: the archive has to survive having no
   sidebar (it is hidden when the only category is the default one), and
   pagination has to exist at all or the eleventh post becomes unreachable. */
.blog-archive--full{grid-template-columns:minmax(0,1fr)}
.categories li a{color:var(--navy);text-decoration:none}
.categories li a:hover,.categories li a:focus{color:var(--green);text-decoration:underline}
.pagination{margin-top:30px}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pagination .page-numbers{display:grid;place-items:center;min-width:42px;min-height:42px;padding:0 12px;border:1px solid #c4ddeb;border-radius:4px;color:var(--navy);font-weight:800;text-decoration:none;background:#fff}
.pagination a.page-numbers:hover,.pagination a.page-numbers:focus{border-color:var(--green);color:var(--green)}
.pagination .page-numbers.current{border-color:var(--navy);color:#fff;background:var(--navy)}
.pagination .page-numbers.dots{min-width:0;padding-inline:4px;border:0;background:none}
.post-pagelinks{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;font-weight:800}

/* Legacy editor tables and content images.
   The client's pages carry layout tables from the 2012 site. Below 640px the
   cells stack, but from there up to about 810px the table's min-content width
   exceeded the wrap and pushed the whole page sideways - measured 107px of
   horizontal scroll at 700px and 39px at 768px on /about-us/. Let the table
   scroll inside its own box rather than scrolling the page, and stop any
   oversized content image doing the same thing. */
@media(min-width:641px){
	.page-prose table{display:block;max-width:100%;overflow-x:auto}
}
.page-prose img{max-width:100%;height:auto}

/* A single post must not stretch to fill .blog-archive's 480px min-height. */
.post-list{align-content:start}

/* Contact form states.
   The design draws the form but no success or error state, and has no
   honeypot. These are the only rules the native form needs - the fields
   themselves are covered by .field-grid, label, input/select/textarea and
   .submit-row, which came across from the design untouched. */
.fc-trap{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status{margin:0 0 14px;padding:11px 14px;border-radius:5px;border-left:4px solid;font-weight:700}
.form-status--ok{border-color:var(--green);color:#15521c;background:#eefaef}
.form-status--bad{border-color:#b32d2e;color:#8a2322;background:#fdeeee}
.field-error{display:block;margin-top:4px;color:#b32d2e;font-size:.8rem;font-style:normal;font-weight:700}
.field-grid [aria-invalid="true"]{border-color:#b32d2e;background:#fdf7f7}

/* Accessory grid, small-desktop band.
   The grid goes to five columns above 800px, but each card has a fixed 128px
   icon plus padding, so five of them need 866px of viewport. Between 801 and
   865 the row was wider than the page - 41px of horizontal scroll at 801.
   Three columns in that band, five once there is room. */
@media(min-width:801px) and (max-width:900px){
	.accessory-grid{grid-template-columns:repeat(3,1fr)}
}

/* Two fixed widths that could not shrink.
   The accessory icon was a hard 128px, which with card padding made every card
   154px wide; two of those overflow a 320px phone. The estimate button was a
   hard 300px, which overflows the form column once the contact layout goes
   two-column above 800px - the native form made that visible, the Wufoo iframe
   had simply hidden it. Both now have a ceiling instead of a floor. */
.accessory-card .accessory-icon{width:100%;max-width:128px;margin-inline:auto}
.submit-row{flex-wrap:wrap}
.submit-row .btn{min-width:min(300px,100%)}
