
/* Clean Star NY Inc shared consistency layer */
:root{
  --cs-navy:#062844;
  --cs-blue:#07467d;
  --cs-blue-2:#0c63b7;
  --cs-teal:#14b8a6;
  --cs-light:#f5f8fc;
  --cs-text:#102033;
  --cs-muted:#5c6b7a;
  --cs-white:#ffffff;
  --cs-radius:18px;
  --cs-shadow:0 14px 35px rgba(6,40,68,.12);
}
*{box-sizing:border-box}
body{font-family:'Work Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;color:var(--cs-text);}
h1,h2,h3,h4,h5,h6,.font-headline-xl,.font-headline-lg,.font-headline-md{font-family:'Hanken Grotesk',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;letter-spacing:-.02em;}
a{ text-decoration:none; }
.cs-site-header{position:fixed;top:0;left:0;width:100%;z-index:9999;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(7,70,125,.10);box-shadow:0 10px 30px rgba(6,40,68,.06)}
.cs-header-inner{max-width:1200px;margin:0 auto;height:84px;padding:0 24px;display:flex;align-items:center;gap:26px;justify-content:space-between}
.cs-brand{display:flex;align-items:center;gap:12px;min-width:230px;color:var(--cs-navy)!important}
.cs-logo-mark{width:44px;height:44px;flex:0 0 auto;display:block}
.cs-brand-text{display:flex;flex-direction:column;line-height:1.05}
.cs-brand-name{font-family:'Hanken Grotesk',sans-serif;font-size:24px;font-weight:800;letter-spacing:-.02em;color:var(--cs-navy)}
.cs-brand-location{margin-top:5px;font-size:12px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:#334155}
.cs-main-nav{display:flex;align-items:center;justify-content:center;gap:6px;flex:1}
.cs-main-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:999px;color:#334155!important;font-weight:700;font-size:15px;transition:.22s ease}
.cs-main-nav a:hover,.cs-main-nav a.cs-active{background:#dceafe;color:var(--cs-blue)!important}
.cs-call-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 22px;border-radius:999px;background:var(--cs-blue);color:white!important;font-weight:800;box-shadow:0 8px 18px rgba(7,70,125,.22);transition:.22s ease;white-space:nowrap}
.cs-call-btn:hover{transform:translateY(-1px);background:var(--cs-navy)}
.cs-call-icon{font-size:18px;line-height:1}
.cs-menu-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(7,70,125,.14);border-radius:12px;background:#fff;color:var(--cs-blue);font-weight:900;font-size:22px;cursor:pointer}
.cs-site-footer{background:var(--cs-navy);color:#dbeafe;margin-top:0;padding:70px 24px 24px;border-top:1px solid rgba(255,255,255,.08)}
.cs-footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.15fr;gap:38px;align-items:start}
.cs-footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:16px;color:#fff}
.cs-footer-logo{width:42px;height:42px;flex:0 0 auto}
.cs-footer-title{font-family:'Hanken Grotesk',sans-serif;font-weight:800;font-size:24px;color:#fff;letter-spacing:-.02em}
.cs-footer-text{max-width:340px;color:#b7c6d8;line-height:1.7;margin:0 0 20px;font-size:15px}
.cs-footer-heading{font-family:'Hanken Grotesk',sans-serif;font-size:17px;font-weight:800;color:#fff;margin:0 0 18px}
.cs-footer-links{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.cs-footer-links a{color:#b7c6d8!important;font-size:15px;transition:.2s ease}
.cs-footer-links a:hover{color:#fff!important;padding-left:3px}
.cs-contact-line{display:flex;align-items:flex-start;gap:10px;color:#b7c6d8;margin:0 0 12px;font-size:15px;line-height:1.55}
.cs-footer-cta{display:inline-flex;margin-top:10px;align-items:center;gap:8px;background:#fff;color:var(--cs-blue)!important;font-weight:800;border-radius:999px;padding:12px 18px;box-shadow:0 10px 24px rgba(0,0,0,.14)}
.cs-footer-bottom{max-width:1200px;margin:42px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:#94a3b8;font-size:14px}
.cs-footer-bottom a{color:#cbd5e1!important}
/* Keep CTA buttons consistent across Stitch pages */
button,.btn,.cs-button,a[class*="bg-primary"],a[class*="bg-primary-container"],button[class*="bg-primary"],button[class*="bg-primary-container"]{border-radius:999px!important;font-weight:800!important;line-height:1.1!important;}
button[class*="px-xl"],a[class*="px-xl"]{padding-left:1.35rem!important;padding-right:1.35rem!important;}
button[class*="py-md"],a[class*="py-md"]{padding-top:.85rem!important;padding-bottom:.85rem!important;}
/* Improve dark section readability without changing the Stitch layout */
.bg-primary p,.bg-primary span,.bg-primary li,.bg-primary div,.bg-primary a,.bg-primary h1,.bg-primary h2,.bg-primary h3,
.bg-inverse-surface p,.bg-inverse-surface span,.bg-inverse-surface li,.bg-inverse-surface div,.bg-inverse-surface a,.bg-inverse-surface h1,.bg-inverse-surface h2,.bg-inverse-surface h3,
[class*="bg-\[\#002033\]"] p,[class*="bg-\[\#002033\]"] span,[class*="bg-\[\#002033\]"] li,[class*="bg-\[\#002033\]"] div,[class*="bg-\[\#002033\]"] a,[class*="bg-\[\#002033\]"] h1,[class*="bg-\[\#002033\]"] h2,[class*="bg-\[\#002033\]"] h3{color:#fff!important;}
.bg-primary .text-on-primary-container,.bg-primary .text-on-surface-variant,.bg-primary .text-on-surface{color:#eaf4ff!important;}
/* Prevent Google Material icon fallback text from looking broken */
.material-symbols-outlined{font-family:'Material Symbols Outlined'!important;font-weight:normal!important;font-style:normal!important;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-flex!important;align-items:center;justify-content:center;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased;font-feature-settings:'liga';}
/* Make cards/icons visually aligned */
.service-icon,.icon-box,[class*="rounded-full"]>.material-symbols-outlined{display:inline-flex;align-items:center;justify-content:center;}
main{min-height:50vh;}
@media (max-width:960px){
  .cs-header-inner{height:76px;padding:0 18px;gap:12px}
  .cs-brand{min-width:0}.cs-logo-mark{width:38px;height:38px}.cs-brand-name{font-size:19px}.cs-brand-location{font-size:10px;letter-spacing:.20em}
  .cs-menu-toggle{display:inline-flex;order:4}
  .cs-call-btn{display:none}
  .cs-main-nav{position:absolute;top:76px;left:14px;right:14px;background:#fff;border:1px solid rgba(7,70,125,.12);box-shadow:var(--cs-shadow);border-radius:18px;padding:12px;display:none;flex-direction:column;align-items:stretch;gap:4px;z-index:10000}
  .cs-main-nav.cs-open{display:flex}
  .cs-main-nav a{justify-content:flex-start;width:100%;padding:12px 14px;min-height:44px}
  .cs-footer-inner{grid-template-columns:1fr 1fr;gap:28px}.cs-footer-brand-col{grid-column:1/-1}.cs-site-footer{padding-top:48px}.cs-footer-bottom{margin-top:28px}
}
@media (max-width:640px){
  .cs-footer-inner{grid-template-columns:1fr}.cs-footer-bottom{flex-direction:column}.cs-brand-name{font-size:18px}.cs-brand-location{display:none}
}

/* Netlify fallback utility layer: keeps Stitch/Tailwind layout working even when Tailwind CDN/config fails */
html{scroll-behavior:smooth}body{margin:0;background:#f6f9ff;color:#151c22;font-family:'Work Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;line-height:1.5}.selection\:bg-primary-container::selection{background:#0056b3}.selection\:text-on-primary-container::selection{color:#bbd0ff}.block{display:block}.hidden{display:none!important}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.inline-block{display:inline-block}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.inset-0{inset:0}.top-0{top:0}.top-4{top:1rem}.top-8{top:2rem}.top-md{top:24px}.right-0{right:0}.right-8{right:2rem}.right-md{right:24px}.bottom-0{bottom:0}.bottom-md{bottom:24px}.-bottom-6{bottom:-1.5rem}.left-0{left:0}.left-4{left:1rem}.left-md{left:24px}.-left-6{left:-1.5rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-\[100\]{z-index:100}.-z-10{z-index:-10}.mx-auto{margin-left:auto;margin-right:auto}.mt-auto{margin-top:auto}.mt-2{margin-top:.5rem}.mt-xs{margin-top:4px}.mt-md{margin-top:24px}.mt-lg{margin-top:48px}.mt-xl{margin-top:80px}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-16{margin-bottom:4rem}.mb-xs{margin-bottom:4px}.mb-sm{margin-bottom:12px}.mb-md{margin-bottom:24px}.mb-lg{margin-bottom:48px}.mb-xl{margin-bottom:80px}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-sm{padding:12px}.p-md{padding:24px}.p-lg{padding:48px}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-sm{padding-left:12px;padding-right:12px}.px-md{padding-left:24px;padding-right:24px}.px-xl{padding-left:80px;padding-right:80px}.px-margin-mobile{padding-left:16px;padding-right:16px}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-xs{padding-top:4px;padding-bottom:4px}.py-sm{padding-top:12px;padding-bottom:12px}.py-md{padding-top:24px;padding-bottom:24px}.py-lg{padding-top:48px;padding-bottom:48px}.py-xl{padding-top:80px;padding-bottom:80px}.pt-20{padding-top:5rem}.pt-32{padding-top:8rem}.pt-md{padding-top:24px}.pt-lg{padding-top:48px}.pb-xl{padding-bottom:80px}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-xs{gap:4px}.gap-sm{gap:12px}.gap-md{gap:24px}.gap-lg{gap:48px}.gap-xl{gap:80px}.gap-gutter{gap:24px}.space-y-2>*+*{margin-top:.5rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.space-y-md>*+*{margin-top:24px}.space-y-lg>*+*{margin-top:48px}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-5xl{max-width:64rem}.max-w-\[1000px\]{max-width:1000px}.max-w-\[1200px\]{max-width:1200px}.w-full{width:100%}.w-auto{width:auto}.w-3{width:.75rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-px{width:1px}.h-full{height:100%}.h-1{height:.25rem}.h-3{height:.75rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-32{height:8rem}.h-48{height:12rem}.h-\[300px\]{height:300px}.h-\[500px\]{height:500px}.min-h-\[80vh\]{min-height:80vh}.max-h-\[80vh\]{max-height:80vh}.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.aspect-\[4\/5\]{aspect-ratio:4/5}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.object-cover{object-fit:cover}.object-center{object-position:center}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[40px\]{border-radius:40px}.rounded-full{border-radius:9999px}.border{border:1px solid #dce3ec}.border-2{border-width:2px}.border-t{border-top:1px solid #dce3ec}.border-y{border-top:1px solid #dce3ec;border-bottom:1px solid #dce3ec}.border-outline-variant{border-color:#c2c6d4}.border-outline-variant\/10{border-color:rgba(194,198,212,.10)}.border-outline-variant\/20{border-color:rgba(194,198,212,.20)}.border-outline-variant\/30{border-color:rgba(194,198,212,.30)}.border-primary{border-color:#003f87}.border-primary\/20{border-color:rgba(0,63,135,.20)}.border-white\/50{border-color:rgba(255,255,255,.50)}.bg-white{background:#fff}.bg-surface{background:#f6f9ff}.bg-background{background:#f6f9ff}.bg-surface-container-lowest{background:#fff}.bg-surface-container-low{background:#eef4fd}.bg-surface-container-high{background:#e2e9f1}.bg-outline-variant{background:#c2c6d4}.bg-secondary-container{background:#e1e3e4}.bg-primary{background:#003f87}.bg-primary\/90{background:rgba(0,63,135,.90)}.bg-primary\/20{background:rgba(0,63,135,.20)}.bg-primary\/10{background:rgba(0,63,135,.10)}.bg-primary\/5{background:rgba(0,63,135,.05)}.bg-primary-container{background:#0056b3}.bg-primary-fixed{background:#d7e2ff}.bg-tertiary{background:#004c17}.bg-tertiary\/10{background:rgba(0,76,23,.10)}.bg-tertiary-container{background:#006722}.bg-tertiary-container\/90{background:rgba(0,103,34,.90)}.bg-tertiary-container\/10{background:rgba(0,103,34,.10)}.bg-tertiary-fixed{background:#83fc8e}.bg-black\/90{background:rgba(0,0,0,.90)}.bg-white\/20{background:rgba(255,255,255,.20)}.bg-cover{background-size:cover}.bg-center{background-position:center}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-from,#f6f9ff),var(--tw-gradient-via,rgba(246,249,255,.8)),var(--tw-gradient-to,transparent))}.from-background{--tw-gradient-from:#f6f9ff}.via-background\/80{--tw-gradient-via:rgba(246,249,255,.8)}.to-transparent{--tw-gradient-to:transparent}.text-center{text-align:center}.text-left{text-align:left}.text-white{color:#fff}.text-on-primary{color:#fff}.text-on-tertiary{color:#fff}.text-on-background{color:#151c22}.text-on-surface{color:#151c22}.text-on-surface-variant{color:#424752}.text-on-primary-container{color:#bbd0ff}.text-on-secondary-container{color:#626566}.text-primary{color:#003f87}.text-secondary{color:#5c5f60}.text-surface-tint{color:#115cb9}.text-tertiary{color:#004c17}.text-tertiary-container{color:#006722}.text-tertiary-fixed{color:#83fc8e}.text-on-tertiary-container{color:#6fe87c}.text-on-tertiary-fixed-variant{color:#00531a}.text-sm{font-size:.875rem;line-height:1.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[10px\]{font-size:10px}.text-\[18px\]{font-size:18px}.text-\[32px\]{font-size:32px}.text-\[40px\]{font-size:40px}.text-\[48px\]{font-size:48px}.text-\[64px\]{font-size:64px}.font-bold{font-weight:700}.font-label-sm{font-size:12px;line-height:16px;font-weight:500}.font-label-md{font-size:14px;line-height:20px;letter-spacing:.05em;font-weight:600}.font-body-md,.text-body-md{font-size:16px;line-height:24px;font-weight:400}.font-body-lg,.text-body-lg{font-size:18px;line-height:28px;font-weight:400}.font-headline-md,.text-headline-md{font-size:24px;line-height:32px;font-weight:600}.font-headline-lg,.text-headline-lg{font-size:32px;line-height:40px;font-weight:600}.font-headline-xl,.text-headline-xl{font-size:48px;line-height:56px;letter-spacing:-.02em;font-weight:700}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.uppercase{text-transform:uppercase}.underline{text-decoration:underline}.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,.05)}.shadow-md{box-shadow:0 4px 6px rgba(0,0,0,.08)}.shadow-lg{box-shadow:0 10px 15px rgba(0,0,0,.10)}.shadow-xl{box-shadow:0 20px 25px rgba(0,0,0,.10)}.shadow-2xl{box-shadow:0 25px 50px rgba(0,0,0,.18)}.shadow-\[0px_0px_20px_0px_rgba\(0\,0\,0\,0\.05\)\]{box-shadow:0 0 20px rgba(0,0,0,.05)}.shadow-ambient,.ambient-shadow{box-shadow:0 24px 80px rgba(0,63,135,.14)}.clean-shadow{box-shadow:0 20px 45px rgba(6,40,68,.10)}.glass-effect,.glass-card{background:rgba(255,255,255,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.45)}.hero-gradient{background:linear-gradient(135deg,#f6f9ff 0%,#eef4fd 52%,#d7e2ff 100%)}.transition-all{transition:all .25s ease}.transition-colors{transition:color .25s ease,background-color .25s ease,border-color .25s ease}.transition-opacity{transition:opacity .25s ease}.transition-transform{transition:transform .25s ease}.transition-standard{transition:all .25s ease}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.btn-transition{transition:all .25s ease}.hover\:-translate-y-1:hover{transform:translateY(-.25rem)}.hover\:translate-y-\[-2px\]:hover{transform:translateY(-2px)}.hover\:scale-105:hover{transform:scale(1.05)}.group:hover .group-hover\:scale-110{transform:scale(1.10)}.group:hover .group-hover\:translate-x-1{transform:translateX(.25rem)}.translate-y-full{transform:translateY(100%)}.rotate-3{transform:rotate(3deg)}.scale-105{transform:scale(1.05)}.opacity-0{opacity:0}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.hover\:opacity-90:hover{opacity:.9}.group:hover .group-hover\:opacity-100{opacity:1}.grayscale{filter:grayscale(100%)}.contrast-125{filter:contrast(1.25)}.filter{filter:var(--tw-filter,none)}.group:hover .group-hover\:grayscale-0,.hover\:grayscale-0:hover{filter:grayscale(0)}.hover\:brightness-110:hover{filter:brightness(1.10)}.backdrop-blur-sm{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.cursor-zoom-in{cursor:zoom-in}.pointer-events-none{pointer-events:none}.outline-none{outline:none}.form-input-focus:focus,.focus\:border-primary:focus{border-color:#003f87}.focus\:ring-2:focus{box-shadow:0 0 0 2px rgba(0,63,135,.2)}.focus\:ring-primary:focus{--tw-ring-color:#003f87}.hover\:text-primary:hover{color:#003f87}.hover\:text-on-primary:hover{color:#fff}.hover\:bg-primary\/5:hover{background:rgba(0,63,135,.05)}.hover\:bg-primary-container:hover{background:#0056b3}.hover\:bg-primary-container\/10:hover{background:rgba(0,86,179,.10)}.hover\:bg-primary-container\/5:hover{background:rgba(0,86,179,.05)}.hover\:bg-tertiary:hover{background:#004c17}.hover\:underline:hover{text-decoration:underline}.group:hover .group-hover\:bg-transparent{background:transparent}.active\:scale-95:active{transform:scale(.95)}.card-hover:hover{transform:translateY(-4px);box-shadow:0 20px 45px rgba(6,40,68,.12)}.before-after-container{position:relative;overflow:hidden}.before-after-container img{display:block}.after-image{position:absolute;inset:0}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{50%{opacity:.5}}

/* Forms and native controls */
input,select,textarea{width:100%;font:inherit;border:1px solid #c2c6d4;border-radius:.75rem;background:#fff;color:#151c22;padding:14px 16px;outline:none}textarea{min-height:120px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#003f87;box-shadow:0 0 0 3px rgba(0,63,135,.12)}label{display:block;font-weight:600;margin-bottom:8px;color:#102033}button{font-family:inherit;cursor:pointer;border:none;background:transparent}

/* Service cards: fixes Netlify display when the external Tailwind runtime is delayed */
section .grid .bg-surface-container-lowest.border{box-shadow:0 12px 32px rgba(6,40,68,.07)}section .grid .bg-surface-container-lowest.border h3{font-size:24px;line-height:32px;margin:0 0 12px;color:#003f87}section .grid .bg-surface-container-lowest.border p{margin:0;color:#424752}section .grid .bg-surface-container-lowest.border .w-12.h-12{margin-bottom:24px;color:#003f87;background:rgba(0,63,135,.10)}section .grid .bg-surface-container-lowest.border .border-t{margin-top:24px;padding-top:24px}

@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}}
@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-span-8{grid-column:span 8/span 8}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:justify-between{justify-content:space-between}.md\:w-1\/2{width:50%}.md\:w-auto{width:auto}.md\:h-\[500px\]{height:500px}.md\:aspect-auto{aspect-ratio:auto}.md\:block{display:block}.md\:text-left{text-align:left}.md\:text-\[56px\]{font-size:56px;line-height:1.05}.md\:px-gutter{padding-left:24px;padding-right:24px}.md\:px-margin-desktop{padding-left:24px;padding-right:24px}}
@media (min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:items-start{align-items:flex-start}.lg\:justify-start{justify-content:flex-start}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:text-left{text-align:left}.lg\:p-xl{padding:80px}.lg\:px-12{padding-left:3rem;padding-right:3rem}.lg\:py-32{padding-top:8rem;padding-bottom:8rem}}


/* Final high-quality logo integration */
.cs-brand{min-width:290px;}
.cs-logo-full{display:block;width:285px;max-width:100%;height:auto;object-fit:contain;}
.cs-footer-logo{object-fit:contain;border-radius:12px;background:#fff;padding:4px;box-shadow:0 8px 18px rgba(0,0,0,.12);}
@media (max-width:960px){.cs-brand{min-width:0;max-width:250px}.cs-logo-full{width:230px}.cs-header-inner{gap:10px}}
@media (max-width:640px){.cs-logo-full{width:190px}.cs-brand{max-width:200px}}


/* Final polish: sticky header that does not cover content on scroll */
.cs-site-header{position:sticky!important;top:0!important;background:#ffffff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:0 8px 24px rgba(6,40,68,.08)!important;}
body>.cs-site-header+main, main.pt-20{padding-top:0!important;}
section{scroll-margin-top:96px;}
.cs-header-inner{height:82px!important;}
.cs-logo-full{width:260px!important;}
.cs-brand{min-width:265px!important;overflow:hidden;}
.cs-main-nav{flex:0 1 auto!important;}
.cs-main-nav a{font-size:15px!important;padding:0 15px!important;}
.cs-call-btn{min-height:44px!important;padding:0 20px!important;}
@media (max-width:1100px){.cs-logo-full{width:230px!important}.cs-brand{min-width:230px!important}.cs-main-nav a{padding:0 11px!important}}
@media (max-width:960px){.cs-header-inner{height:74px!important}.cs-logo-full{width:210px!important}.cs-brand{min-width:0!important;max-width:215px!important}.cs-main-nav{top:74px!important}}
@media (max-width:640px){.cs-logo-full{width:178px!important}.cs-brand{max-width:180px!important}}

/* Extra content sections added for stronger homepage/about/services content */
.cs-extra-section{padding:86px 24px;background:#fff;}
.cs-extra-section.cs-soft{background:#f6f9ff;}
.cs-extra-wrap{max-width:1200px;margin:0 auto;}
.cs-kicker{display:inline-flex;align-items:center;gap:8px;color:#0A56C2;background:#eaf4ff;border:1px solid #d7eaff;border-radius:999px;padding:8px 14px;font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:18px;}
.cs-extra-title{font-family:'Hanken Grotesk',sans-serif;font-size:42px;line-height:1.08;color:#062844;margin:0 0 18px;letter-spacing:-.03em;}
.cs-extra-lead{font-size:18px;line-height:1.75;color:#526173;max-width:790px;margin:0 0 34px;}
.cs-extra-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.cs-extra-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.cs-extra-card{background:#fff;border:1px solid #e2eaf5;border-radius:24px;padding:28px;box-shadow:0 18px 42px rgba(6,40,68,.08);height:100%;}
.cs-extra-card h3{font-family:'Hanken Grotesk',sans-serif;margin:0 0 12px;color:#073f73;font-size:24px;line-height:1.2;}
.cs-extra-card p{margin:0;color:#5c6b7a;line-height:1.7;font-size:16px;}
.cs-extra-list{display:grid;gap:12px;margin:18px 0 0;padding:0;list-style:none;color:#314155;}
.cs-extra-list li{display:flex;gap:10px;line-height:1.55;}
.cs-extra-list li::before{content:'✓';display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#e7f7f5;color:#10a596;font-weight:900;flex:0 0 22px;margin-top:1px;}
.cs-service-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px;}
.cs-service-pill{background:#f6f9ff;border:1px solid #deebf8;border-radius:18px;padding:18px 20px;color:#073f73;font-weight:800;box-shadow:0 10px 26px rgba(6,40,68,.05);}
.cs-process{counter-reset:step;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:28px;}
.cs-process-card{background:#f6f9ff;border:1px solid #dce8f6;border-radius:22px;padding:24px;position:relative;}
.cs-process-card::before{counter-increment:step;content:counter(step);display:inline-flex;width:36px;height:36px;border-radius:50%;align-items:center;justify-content:center;background:#0A56C2;color:#fff;font-weight:900;margin-bottom:18px;}
.cs-process-card h3{font-size:20px;margin:0 0 8px;color:#062844;}
.cs-process-card p{font-size:15px;line-height:1.65;color:#5c6b7a;margin:0;}
.cs-mini-cta{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.cs-mini-cta a{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 22px;font-weight:900;}
.cs-mini-cta .primary{background:#0A56C2;color:#fff!important;box-shadow:0 12px 28px rgba(10,86,194,.22);}
.cs-mini-cta .secondary{background:#fff;color:#0A56C2!important;border:1px solid #cfe2fb;}
@media (max-width:900px){.cs-extra-grid,.cs-extra-grid.two,.cs-process{grid-template-columns:1fr}.cs-service-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-extra-title{font-size:34px}.cs-extra-section{padding:64px 18px}}
@media (max-width:560px){.cs-service-strip{grid-template-columns:1fr}.cs-extra-card{padding:22px}.cs-extra-title{font-size:30px}}


/* Header logo alignment final fix */
.cs-site-header{
  position:sticky!important;
  top:0!important;
  background:#ffffff!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:0 8px 24px rgba(6,40,68,.08)!important;
  overflow:visible!important;
}
.cs-header-inner{
  height:76px!important;
  min-height:76px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:22px!important;
  overflow:visible!important;
}
.cs-brand{
  min-width:250px!important;
  max-width:250px!important;
  height:76px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  overflow:visible!important;
  line-height:0!important;
  flex:0 0 250px!important;
}
.cs-logo-full{
  display:block!important;
  width:250px!important;
  max-width:250px!important;
  height:auto!important;
  max-height:58px!important;
  object-fit:contain!important;
  object-position:left center!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
}
.cs-brand-location{display:none!important;}
.cs-main-nav{align-items:center!important;}
body>.cs-site-header+main, main.pt-20{padding-top:0!important;}
section{scroll-margin-top:92px;}
@media (max-width:1100px){
  .cs-header-inner{gap:12px!important;}
  .cs-brand{min-width:220px!important;max-width:220px!important;flex-basis:220px!important;}
  .cs-logo-full{width:220px!important;max-width:220px!important;max-height:54px!important;}
  .cs-main-nav a{font-size:14px!important;padding:0 10px!important;}
}
@media (max-width:960px){
  .cs-header-inner{height:70px!important;min-height:70px!important;}
  .cs-brand{height:70px!important;min-width:205px!important;max-width:205px!important;flex-basis:205px!important;}
  .cs-logo-full{width:205px!important;max-width:205px!important;max-height:50px!important;}
  .cs-main-nav{top:70px!important;}
}
@media (max-width:640px){
  .cs-brand{min-width:165px!important;max-width:165px!important;flex-basis:165px!important;}
  .cs-logo-full{width:165px!important;max-width:165px!important;max-height:42px!important;}
  .cs-call-btn{display:none!important;}
}


/* Final header size + scroll border correction */
.cs-site-header{
  position:sticky!important;
  top:0!important;
  width:100%!important;
  z-index:99999!important;
  background:#fff!important;
  border-bottom:1px solid rgba(7,70,125,.08)!important;
  box-shadow:0 4px 16px rgba(6,40,68,.07)!important;
  overflow:visible!important;
}
.cs-site-header::before,
.cs-site-header::after,
.cs-header-inner::before,
.cs-header-inner::after{
  content:none!important;
  display:none!important;
}
.cs-header-inner{
  height:80px!important;
  min-height:80px!important;
  max-height:80px!important;
  padding:0 24px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.cs-brand{
  height:80px!important;
  min-width:275px!important;
  max-width:275px!important;
  flex:0 0 275px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  overflow:visible!important;
  line-height:0!important;
  border:0!important;
}
.cs-logo-full{
  display:block!important;
  width:275px!important;
  max-width:275px!important;
  height:auto!important;
  max-height:64px!important;
  object-fit:contain!important;
  object-position:left center!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
}
.cs-brand-location{display:none!important;}
.cs-main-nav{
  height:80px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  flex:1 1 auto!important;
  border:0!important;
  box-shadow:none!important;
}
.cs-main-nav a{
  border:0!important;
  box-shadow:none!important;
}
.cs-call-btn{
  flex:0 0 auto!important;
}
body>.cs-site-header+main,
main.pt-20{
  padding-top:0!important;
}
section{scroll-margin-top:96px!important;}

@media (max-width:1100px){
  .cs-header-inner{gap:14px!important;}
  .cs-brand{min-width:245px!important;max-width:245px!important;flex-basis:245px!important;}
  .cs-logo-full{width:245px!important;max-width:245px!important;max-height:58px!important;}
  .cs-main-nav a{font-size:14px!important;padding:0 10px!important;}
}
@media (max-width:960px){
  .cs-header-inner{height:74px!important;min-height:74px!important;max-height:74px!important;}
  .cs-brand{height:74px!important;min-width:220px!important;max-width:220px!important;flex-basis:220px!important;}
  .cs-logo-full{width:220px!important;max-width:220px!important;max-height:54px!important;}
  .cs-main-nav{top:74px!important;height:auto!important;}
}
@media (max-width:640px){
  .cs-brand{min-width:180px!important;max-width:180px!important;flex-basis:180px!important;}
  .cs-logo-full{width:180px!important;max-width:180px!important;max-height:44px!important;}
}

/* Final mobile menu fix: closed by default, open only after hamburger click */
@media (max-width:960px){
  .cs-menu-toggle{display:inline-flex!important;}
  .cs-main-nav{
    position:absolute!important;
    top:74px!important;
    left:14px!important;
    right:14px!important;
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:4px!important;
    background:#fff!important;
    border:1px solid rgba(7,70,125,.12)!important;
    box-shadow:0 18px 46px rgba(6,40,68,.14)!important;
    border-radius:18px!important;
    padding:12px!important;
    z-index:10000!important;
  }
  .cs-main-nav.cs-open{display:flex!important;}
}
@media (min-width:961px){
  .cs-main-nav{display:flex!important;position:static!important;}
  .cs-menu-toggle{display:none!important;}
}

/* Final forms + contact trust badge mobile fix */
form[data-cleanstar-form="estimate"] input,
form[data-cleanstar-form="estimate"] select,
form[data-cleanstar-form="estimate"] textarea{
  width:100%!important;
  min-height:48px!important;
  background:#ffffff!important;
  border:1px solid rgba(66,71,82,.30)!important;
  border-radius:12px!important;
  padding:12px 14px!important;
  font:inherit!important;
  color:#151c22!important;
  box-sizing:border-box!important;
}
form[data-cleanstar-form="estimate"] textarea{
  min-height:130px!important;
  resize:vertical!important;
}
form[data-cleanstar-form="estimate"] button[type="submit"]{
  min-height:48px!important;
  border-radius:999px!important;
  padding:12px 24px!important;
  background:#0A56C2!important;
  color:#fff!important;
  border:0!important;
  font-weight:800!important;
  cursor:pointer!important;
}
form[data-cleanstar-form="estimate"] button[type="submit"]:hover{
  background:#07467d!important;
}
.cs-contact-trust-card{
  align-items:flex-start!important;
  overflow:hidden!important;
}
.cs-trust-icon{
  flex:0 0 56px!important;
  width:56px!important;
  height:56px!important;
}
.cs-trust-content{
  min-width:0!important;
  flex:1 1 auto!important;
}
.cs-trust-badges{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:8px!important;
}
.cs-trust-badges span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  background:#e8f6ef!important;
  color:#00531a!important;
  font-size:11px!important;
  line-height:1.1!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
@media (max-width:640px){
  .cs-contact-trust-card{
    gap:14px!important;
    padding:18px!important;
  }
  .cs-trust-icon{
    flex-basis:48px!important;
    width:48px!important;
    height:48px!important;
  }
  .cs-trust-badges{
    gap:7px!important;
  }
  .cs-trust-badges span{
    font-size:10px!important;
    padding:7px 10px!important;
    min-height:32px!important;
  }
}

/* Final unified estimate/contact form styling */
.cs-estimate-form{
  display:grid!important;
  gap:18px!important;
  width:100%!important;
}
.cs-form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
}
.cs-form-field{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
}
.cs-form-field label{
  font-weight:800!important;
  color:#151c22!important;
  font-size:15px!important;
}
.cs-form-field label span{
  color:#0A56C2!important;
}
.cs-estimate-form input,
.cs-estimate-form select,
.cs-estimate-form textarea{
  width:100%!important;
  min-height:50px!important;
  background:#fff!important;
  border:1px solid rgba(66,71,82,.32)!important;
  border-radius:14px!important;
  padding:13px 15px!important;
  color:#151c22!important;
  font:inherit!important;
  box-sizing:border-box!important;
  outline:none!important;
}
.cs-estimate-form textarea{
  min-height:130px!important;
  resize:vertical!important;
}
.cs-estimate-form input:focus,
.cs-estimate-form select:focus,
.cs-estimate-form textarea:focus{
  border-color:#0A56C2!important;
  box-shadow:0 0 0 4px rgba(10,86,194,.12)!important;
}
.cs-form-submit{
  width:100%!important;
  min-height:52px!important;
  border:0!important;
  border-radius:999px!important;
  background:#0A56C2!important;
  color:#fff!important;
  font-weight:900!important;
  font-size:16px!important;
  cursor:pointer!important;
  box-shadow:0 10px 24px rgba(10,86,194,.22)!important;
  transition:.2s ease!important;
}
.cs-form-submit:hover{
  background:#07467d!important;
  transform:translateY(-1px)!important;
}
@media (max-width:640px){
  .cs-form-grid{grid-template-columns:1fr!important;}
  .cs-estimate-form{gap:15px!important;}
}

/* Final contact spacing, linked CTA polish, and extra photo sections */
.cs-contact-main{
  padding-top:120px!important;
}
.cs-contact-hero{
  padding-top:28px!important;
}
.cs-home-photo-grid{
  display:grid!important;
  grid-template-columns:1.2fr .8fr!important;
  grid-template-rows:repeat(2,220px)!important;
  gap:18px!important;
}
.cs-home-photo-card{
  position:relative!important;
  overflow:hidden!important;
  border-radius:28px!important;
  border:1px solid rgba(66,71,82,.16)!important;
  box-shadow:0 18px 45px rgba(7,70,125,.10)!important;
  background:#fff!important;
}
.cs-home-photo-card img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  transition:transform .35s ease!important;
}
.cs-home-photo-card:hover img{
  transform:scale(1.04)!important;
}
.cs-photo-large{
  grid-row:span 2!important;
}
.cs-photo-caption{
  position:absolute!important;
  left:18px!important;
  bottom:18px!important;
  background:rgba(255,255,255,.92)!important;
  color:#07467d!important;
  border:1px solid rgba(7,70,125,.12)!important;
  border-radius:999px!important;
  padding:10px 15px!important;
  font-weight:900!important;
  box-shadow:0 10px 22px rgba(6,40,68,.10)!important;
}
.cs-contact-photo-card{
  position:relative!important;
  overflow:hidden!important;
  border-radius:22px!important;
  border:1px solid rgba(66,71,82,.18)!important;
  box-shadow:0 14px 34px rgba(7,70,125,.10)!important;
  min-height:240px!important;
  margin-top:24px!important;
  background:#fff!important;
}
.cs-contact-photo-card img{
  width:100%!important;
  height:260px!important;
  object-fit:cover!important;
  display:block!important;
}
.cs-contact-photo-overlay{
  position:absolute!important;
  left:16px!important;
  right:16px!important;
  bottom:16px!important;
  background:rgba(255,255,255,.94)!important;
  border:1px solid rgba(7,70,125,.12)!important;
  border-radius:18px!important;
  padding:14px 16px!important;
  display:grid!important;
  gap:4px!important;
}
.cs-contact-photo-overlay strong{
  color:#07467d!important;
  font-size:17px!important;
}
.cs-contact-photo-overlay span{
  color:#475569!important;
  font-size:14px!important;
  line-height:1.4!important;
}
@media (max-width:960px){
  .cs-contact-main{padding-top:96px!important;}
  .cs-contact-hero{padding-top:18px!important;}
  .cs-home-photo-grid{
    grid-template-columns:1fr!important;
    grid-template-rows:auto!important;
  }
  .cs-home-photo-card,
  .cs-photo-large{
    height:240px!important;
    grid-row:auto!important;
  }
  .cs-contact-photo-card img{height:230px!important;}
}
@media (max-width:640px){
  .cs-contact-main{padding-top:90px!important;}
  .cs-contact-hero{padding-top:16px!important;}
}

/* Final visual polish: cleaner contact page cards and stronger homepage hero */
.cs-contact-main .bg-surface-container-lowest,
.cs-contact-main .bg-white,
.cs-contact-main .cs-contact-trust-card,
.cs-contact-main .cs-contact-photo-card,
.cs-contact-main form,
.cs-contact-main .rounded-lg,
.cs-contact-main .rounded-xl,
.cs-contact-main .rounded-2xl{
  border-color:transparent!important;
  box-shadow:0 14px 35px rgba(7,70,125,.08)!important;
}
.cs-contact-main .border,
.cs-contact-main .border-outline-variant{
  border-color:transparent!important;
}
.cs-contact-main input,
.cs-contact-main select,
.cs-contact-main textarea,
.cs-contact-main .cs-estimate-form input,
.cs-contact-main .cs-estimate-form select,
.cs-contact-main .cs-estimate-form textarea{
  border-color:rgba(15,23,42,.14)!important;
  box-shadow:none!important;
}
.cs-contact-main input:focus,
.cs-contact-main select:focus,
.cs-contact-main textarea:focus{
  border-color:#0A56C2!important;
  box-shadow:0 0 0 4px rgba(10,86,194,.10)!important;
}

.cs-hero-badge{
  background:linear-gradient(135deg,rgba(10,86,194,.10),rgba(32,199,181,.12))!important;
  color:#07467d!important;
  border:1px solid rgba(10,86,194,.10)!important;
  padding:9px 14px!important;
  border-radius:999px!important;
  box-shadow:0 10px 24px rgba(7,70,125,.07)!important;
}
.cs-hero-title{
  letter-spacing:-.045em!important;
}
.cs-hero-copy{
  font-size:20px!important;
  line-height:1.75!important;
}
.cs-hero-chips{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  justify-content:center!important;
  margin:-8px 0 24px!important;
}
.cs-hero-chips span{
  display:inline-flex!important;
  align-items:center!important;
  min-height:34px!important;
  padding:8px 13px!important;
  border-radius:999px!important;
  background:#ffffff!important;
  color:#07467d!important;
  border:1px solid rgba(10,86,194,.10)!important;
  font-weight:800!important;
  font-size:13px!important;
  box-shadow:0 8px 20px rgba(7,70,125,.07)!important;
}
.cs-hero-mini-proof{
  margin-top:18px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  max-width:520px!important;
  color:#475569!important;
  font-weight:700!important;
  background:rgba(255,255,255,.76)!important;
  border:1px solid rgba(10,86,194,.08)!important;
  border-radius:16px!important;
  padding:11px 14px!important;
  box-shadow:0 10px 24px rgba(7,70,125,.06)!important;
}
.cs-hero-mini-proof .material-symbols-outlined{
  color:#20C7B5!important;
  font-variation-settings:'FILL' 1!important;
}
.cs-hero-floating-card{
  position:absolute!important;
  left:-24px!important;
  bottom:-24px!important;
  background:#fff!important;
  padding:17px!important;
  border-radius:22px!important;
  box-shadow:0 18px 45px rgba(7,70,125,.16)!important;
  border:1px solid rgba(10,86,194,.08)!important;
}
@media (min-width:1024px){
  .cs-hero-chips{justify-content:flex-start!important;}
}
@media (max-width:640px){
  .cs-hero-copy{font-size:17px!important;line-height:1.65!important;}
  .cs-hero-chips{margin-top:-4px!important;}
  .cs-hero-mini-proof{display:flex!important;text-align:left!important;}
}

/* Final Contact page layout: same background, less empty space, cleaner organization */
.cs-contact-main{
  background:#f6f9ff!important;
}
.cs-contact-layout{
  align-items:start!important;
}
.cs-contact-form-panel,
.cs-contact-side > .grid,
.cs-contact-side .cs-contact-photo-card,
.cs-contact-side .h\[300px\]{
  background:#ffffff!important;
  border:0!important;
  box-shadow:0 16px 42px rgba(7,70,125,.08)!important;
}
.cs-contact-form-panel{
  min-height:auto!important;
  padding:34px!important;
  border-radius:24px!important;
}
.cs-contact-form-panel .cs-estimate-form{
  background:#ffffff!important;
}
.cs-contact-form-panel input,
.cs-contact-form-panel select,
.cs-contact-form-panel textarea{
  background:#ffffff!important;
}
.cs-contact-form-panel textarea{
  min-height:110px!important;
}
.cs-contact-mini-help{
  margin-top:24px!important;
  padding:24px!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,rgba(10,86,194,.06),rgba(32,199,181,.08))!important;
  box-shadow:0 12px 28px rgba(7,70,125,.06)!important;
}
.cs-contact-mini-help h2{
  margin:0 0 8px!important;
  color:#07467d!important;
  font-family:'Hanken Grotesk',system-ui,sans-serif!important;
  font-size:24px!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}
.cs-contact-mini-help p{
  margin:0!important;
  color:#475569!important;
  line-height:1.65!important;
}
.cs-contact-mini-list{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:16px!important;
}
.cs-contact-mini-list span{
  background:#fff!important;
  color:#07467d!important;
  border-radius:999px!important;
  padding:8px 12px!important;
  font-size:13px!important;
  font-weight:800!important;
  box-shadow:0 8px 18px rgba(7,70,125,.06)!important;
}
.cs-contact-side{
  display:grid!important;
  gap:22px!important;
}
.cs-contact-side > .grid{
  border-radius:24px!important;
  padding:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.cs-contact-side > .grid > div{
  border:0!important;
  box-shadow:0 14px 34px rgba(7,70,125,.07)!important;
  border-radius:20px!important;
  background:#ffffff!important;
}
.cs-contact-photo-compact{
  margin-top:0!important;
  min-height:210px!important;
}
.cs-contact-photo-compact img{
  height:230px!important;
}
.cs-contact-side .h\[300px\]{
  height:250px!important;
  border-radius:22px!important;
}
@media (min-width:1024px){
  .cs-contact-layout{
    grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr)!important;
  }
  .cs-contact-form-panel,
  .cs-contact-side{
    grid-column:auto!important;
  }
}
@media (max-width:960px){
  .cs-contact-form-panel{
    padding:24px!important;
  }
  .cs-contact-mini-help{
    padding:20px!important;
  }
  .cs-contact-side .h\[300px\]{
    height:230px!important;
  }
}

/* Final fix: contact form must be pure white with no second background tone */
.cs-contact-main,
.cs-contact-main .max-w-\[1200px\]{
  background:#f6f9ff!important;
}
.cs-contact-form-panel{
  background:#ffffff!important;
  background-color:#ffffff!important;
  background-image:none!important;
  border:0!important;
  box-shadow:0 16px 42px rgba(7,70,125,.08)!important;
  overflow:hidden!important;
}
.cs-contact-form-panel *,
.cs-contact-form-panel .cs-estimate-form,
.cs-contact-form-panel form,
.cs-contact-form-panel .cs-form-grid,
.cs-contact-form-panel .cs-form-field{
  background-color:transparent!important;
  background-image:none!important;
}
.cs-contact-form-panel input,
.cs-contact-form-panel select,
.cs-contact-form-panel textarea{
  background:#ffffff!important;
  background-color:#ffffff!important;
  background-image:none!important;
}
.cs-contact-form-panel::before,
.cs-contact-form-panel::after,
.cs-contact-form-panel .cs-estimate-form::before,
.cs-contact-form-panel .cs-estimate-form::after{
  content:none!important;
  display:none!important;
}

/* Final contact form padding + radius alignment */
.cs-contact-form-panel{
  padding:42px!important;
  border-radius:32px!important;
}
.cs-contact-form-panel .cs-estimate-form{
  padding:0!important;
}
.cs-contact-mini-help{
  border-radius:28px!important;
  padding:30px!important;
  margin-top:28px!important;
}
.cs-contact-form-panel .cs-form-submit{
  margin-top:4px!important;
}
@media (max-width:960px){
  .cs-contact-form-panel{
    padding:30px!important;
    border-radius:28px!important;
  }
  .cs-contact-mini-help{
    padding:24px!important;
    border-radius:24px!important;
  }
}
@media (max-width:640px){
  .cs-contact-form-panel{
    padding:22px!important;
    border-radius:24px!important;
  }
}

/* Correction: remove earlier extra padding and apply radius to the form itself */
.cs-contact-form-panel{
  padding:34px!important;
  border-radius:24px!important;
}
.cs-contact-form-panel .cs-estimate-form{
  border-radius:28px!important;
  overflow:hidden!important;
}
.cs-contact-mini-help{
  border-radius:22px!important;
  padding:24px!important;
  margin-top:24px!important;
}
@media (max-width:960px){
  .cs-contact-form-panel{
    padding:24px!important;
    border-radius:24px!important;
  }
}
@media (max-width:640px){
  .cs-contact-form-panel{
    padding:22px!important;
    border-radius:22px!important;
  }
}

/* Requested: add padding to contact estimate form */
.cs-contact-form-panel .cs-estimate-form{
  padding:24px!important;
  border-radius:28px!important;
}

/* Mobile-only spacing under header for Services, Gallery, and Contact */
@media (max-width: 960px){
  .cs-services-main > section:first-of-type{
    padding-top:110px!important;
  }
  .cs-gallery-main{
    padding-top:118px!important;
  }
  .cs-contact-main{
    padding-top:118px!important;
  }
  .cs-contact-hero{
    padding-top:0!important;
  }
}
@media (max-width: 640px){
  .cs-services-main > section:first-of-type{
    padding-top:124px!important;
  }
  .cs-gallery-main{
    padding-top:124px!important;
  }
  .cs-contact-main{
    padding-top:124px!important;
  }
}

/* Stronger mobile spacing fix for Gallery and Contact under sticky header */
@media (max-width: 960px){
  body:has(.cs-gallery-main) .cs-site-header + main.cs-gallery-main,
  main.cs-gallery-main{
    padding-top:150px!important;
  }

  body:has(.cs-contact-main) .cs-site-header + main.cs-contact-main,
  main.cs-contact-main{
    padding-top:150px!important;
  }

  .cs-gallery-main > section:first-of-type,
  .cs-contact-main > .max-w-\[1200px\],
  .cs-contact-main .cs-contact-hero{
    margin-top:0!important;
    padding-top:0!important;
  }
}
@media (max-width: 640px){
  body:has(.cs-gallery-main) .cs-site-header + main.cs-gallery-main,
  main.cs-gallery-main{
    padding-top:165px!important;
  }

  body:has(.cs-contact-main) .cs-site-header + main.cs-contact-main,
  main.cs-contact-main{
    padding-top:165px!important;
  }
}

/* Balanced mobile spacing for Gallery and Contact */
@media (max-width: 960px){
  main.cs-gallery-main{
    padding-top:96px!important;
  }
  main.cs-contact-main{
    padding-top:96px!important;
  }
}
@media (max-width: 640px){
  main.cs-gallery-main{
    padding-top:96px!important;
  }
  main.cs-contact-main{
    padding-top:96px!important;
  }
}

/* Final mobile spacing: make Gallery and Contact match About */
@media (max-width: 960px){
  main.cs-gallery-main,
  main.cs-contact-main{
    padding-top:62px!important;
  }
  .cs-gallery-main > section:first-of-type,
  .cs-contact-main .cs-contact-hero{
    padding-top:0!important;
    margin-top:0!important;
  }
}
@media (max-width: 640px){
  main.cs-gallery-main,
  main.cs-contact-main{
    padding-top:62px!important;
  }
}

/* Requested: same mobile padding rule for Contact as Gallery */
@media (max-width: 960px){
  body:has(.cs-contact-main) .cs-site-header + main.cs-contact-main,
  main.cs-contact-main{
    padding-top:80px!important;
  }
}
@media (max-width: 640px){
  body:has(.cs-contact-main) .cs-site-header + main.cs-contact-main,
  main.cs-contact-main{
    padding-top:80px!important;
  }
}

/* CTA anchor fix: linked buttons keep button styling */
a.bg-primary,
a.border,
a.border-2{
  text-decoration:none!important;
}
a.bg-primary.inline-flex,
a.border.inline-flex,
a.border-2.inline-flex{
  cursor:pointer!important;
}
