/* Shorewaves production CSS — local build, no Tailwind CDN runtime */
:root{--sw-navy:#02214C;--sw-navy-2:#02326D;--sw-blue:#016FD7;--sw-sky:#0693F1;--sw-orange:#F97A0B;--sw-pale:#F3F8FC;--sw-ink:#02214C}
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}
html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-feature-settings:normal;font-variation-settings:normal;tab-size:4}
body{margin:0;line-height:inherit}h1,h2,h3,h4,p{margin:0}button,input,select,textarea{font:inherit;color:inherit;margin:0;padding:0}button{background:transparent;cursor:pointer}a{color:inherit;text-decoration:inherit}img,video{display:block;vertical-align:middle}img{height:auto}ul{list-style:none;margin:0;padding:0}
.scroll-smooth{scroll-behavior:smooth}.relative{position:relative}.absolute{position:absolute}.sticky{position:sticky}.inset-0{inset:0}.top-0{top:0}.top-24{top:6rem}.bottom-8{bottom:2rem}.-bottom-7{bottom:-1.75rem}.left-0{left:0}.left-1\/2{left:50%}.-left-7{left:-1.75rem}.z-50{z-index:50}.-translate-x-1\/2{transform:translateX(-50%)}
.mx-auto{margin-left:auto;margin-right:auto}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-14{margin-top:3.5rem}
.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-1{height:.25rem}.h-2{height:.5rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-24{height:6rem}.h-64{height:16rem}.h-\[420px\]{height:420px}.h-full{height:100%}.min-h-80{min-height:20rem}.min-h-\[280px\]{min-height:280px}.min-h-\[400px\]{min-height:400px}.min-h-\[430px\]{min-height:430px}.min-h-\[460px\]{min-height:460px}.min-h-\[560px\]{min-height:560px}.min-h-\[620px\]{min-height:620px}.w-5{width:1.25rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-full{width:100%}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-7xl{max-width:80rem}.shrink-0{flex-shrink:0}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.col-span-2{grid-column:span 2/span 2}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.gap-14{gap:3.5rem}.space-y-2>:not([hidden])~:not([hidden]){margin-top:.5rem}.space-y-3>:not([hidden])~:not([hidden]){margin-top:.75rem}.space-y-12>:not([hidden])~:not([hidden]){margin-top:3rem}
.overflow-hidden{overflow:hidden}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t-4{border-top-width:4px}.border-gray-200{border-color:#e5e7eb}.border-gray-300{border-color:#d1d5db}.border-white{border-color:#fff}.border-\[\#F97A0B\]{border-color:#F97A0B}
.bg-white{background:#fff}.bg-white\/95{background:rgb(255 255 255/.95)}.bg-white\/15{background:rgb(255 255 255/.15)}.bg-white\/50{background:rgb(255 255 255/.5)}.bg-gray-50{background:#f9fafb}.bg-gray-200{background:#e5e7eb}.bg-\[\#F97A0B\]{background:#F97A0B}.bg-\[\#02214C\]{background:#02214C}.bg-\[\#011B3F\]{background:#011B3F}.bg-\[\#F3F8FC\]{background:#F3F8FC}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-black\/85{--tw-gradient-from:rgb(0 0 0/.85);--tw-gradient-to:rgb(0 0 0/0);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-black\/55{--tw-gradient-to:rgb(0 0 0/0);--tw-gradient-stops:var(--tw-gradient-from),rgb(0 0 0/.55),var(--tw-gradient-to)}.to-black\/15{--tw-gradient-to:rgb(0 0 0/.15)}
.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-3{padding:.75rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.p-8{padding:2rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}
.text-center{text-align:center}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.font-normal{font-weight:400}.font-semibold{font-weight:600}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.leading-tight{line-height:1.25}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-\[1\.05\]{line-height:1.05}.tracking-wider{letter-spacing:.05em}.tracking-\[\.18em\]{letter-spacing:.18em}.text-white{color:#fff}.text-white\/70{color:rgb(255 255 255/.7)}.text-white\/75{color:rgb(255 255 255/.75)}.text-white\/80{color:rgb(255 255 255/.8)}.text-gray-300{color:#d1d5db}.text-gray-400{color:#9ca3af}.text-gray-600{color:#4b5563}.text-\[\#F97A0B\]{color:#F97A0B}.text-\[\#0693F1\]{color:#0693F1}.text-\[\#02214C\]{color:#02214C}.opacity-15{opacity:.15}.opacity-20{opacity:.2}.shadow-sm{box-shadow:0 1px 2px rgb(0 0 0/.05)}.shadow-lg{box-shadow:0 10px 15px -3px rgb(0 0 0/.1),0 4px 6px -4px rgb(0 0 0/.1)}.shadow-xl{box-shadow:0 20px 25px -5px rgb(0 0 0/.1),0 8px 10px -6px rgb(0 0 0/.1)}.shadow-2xl{box-shadow:0 25px 50px -12px rgb(0 0 0/.25)}.backdrop-blur{backdrop-filter:blur(8px)}.transition-all{transition:all .15s cubic-bezier(.4,0,.2,1)}
@media(min-width:640px){.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:px-12{padding-left:3rem;padding-right:3rem}.sm\:p-12{padding:3rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:block{display:block}}
@media(min-width:768px){.md\:hidden{display:none}.md\:static{position:static}.md\:flex{display:flex}.md\:w-auto{width:auto}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:col-span-2{grid-column:span 2/span 2}.md\:border-0{border-width:0}.md\:p-0{padding:0}.md\:shadow-none{box-shadow:none}}
@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-\[\.8fr_1\.2fr\]{grid-template-columns:.8fr 1.2fr}.lg\:items-center{align-items:center}.lg\:flex-row{flex-direction:row}.lg\:justify-between{justify-content:space-between}.lg\:text-7xl{font-size:4.5rem;line-height:1}.lg\:px-\[max\(3rem\,calc\(\(100vw-80rem\)\/2\)\)\]{padding-left:max(3rem,calc((100vw - 80rem)/2));padding-right:max(3rem,calc((100vw - 80rem)/2))}}

:root{--red:#F97A0B;--ink:#02214C;--navy:#02214C;--blue:#016FD7;--sky:#0693F1;--orange:#F97A0B}.hero-slide{opacity:0;transition:opacity 1s ease}.hero-slide.is-active{opacity:1}.hero-dot[aria-current="true"]{background:#fff;width:2.25rem}.hero-responsive .hero-content{justify-content:center;text-align:center}.hero-responsive .hero-content>div{margin-inline:auto}.hero-responsive .hero-content p{margin-inline:auto}.hero-responsive .hero-content .flex{justify-content:center}.service-card{transition:transform .25s ease,box-shadow .25s ease}.service-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgb(0 0 0/.12)}
@media(max-width:1023px){.hero-responsive,.hero-responsive .hero-content{min-height:760px}.hero-responsive .hero-content{align-items:center;padding-block:6rem}.hero-responsive .hero-slide{object-position:center center}.hero-responsive h1{max-width:38rem;margin-inline:auto}.hero-responsive .hero-overlay{background:linear-gradient(to top,rgb(0 0 0/.88) 0%,rgb(0 0 0/.62) 52%,rgb(0 0 0/.3) 100%)}}
@media(max-width:639px){.hero-responsive,.hero-responsive .hero-content{min-height:700px}.hero-responsive .hero-content{padding-block:5rem}.hero-responsive h1{font-size:2.75rem;line-height:1.06}.hero-responsive p{font-size:1rem;line-height:1.7}.hero-responsive .hero-service-label{font-size:.65rem;letter-spacing:.11em}}
.project-photo{overflow:hidden;background:#e5e7eb}.project-photo img,.project-photo video{height:100%;width:100%;object-fit:cover}.project-photo img{transition:transform .4s ease}.project-photo:hover img{transform:scale(1.025)}
.client-logo{margin-top:1rem;display:flex;height:5.5rem;width:10rem;align-items:center;justify-content:center;overflow:hidden;border:1px solid #e5e7eb;background:#fff;padding:.6rem}.client-logo img{max-height:100%;max-width:100%;object-fit:contain}
.logo-marquee{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}.logo-track{display:flex;width:max-content;gap:1.5rem;animation:logo-scroll 22s linear infinite}.logo-track:hover{animation-play-state:paused}.logo-item{display:flex;height:8rem;width:14rem;flex:none;align-items:center;justify-content:center;border:1px solid #e5e7eb;background:#fff;padding:1.25rem;box-shadow:0 8px 24px rgb(0 0 0/.06)}.logo-item img{max-height:100%;max-width:100%;object-fit:contain}@keyframes logo-scroll{to{transform:translateX(calc(-50% - .75rem))}}
.welcome-shorewaves{font-family:inherit;font-size:.875rem;font-style:normal;font-weight:600;letter-spacing:.18em;text-transform:uppercase!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.hero-slide,.service-card,.project-photo img{transition:none}.logo-track{animation:none}}
html,body{max-width:100%;overflow-x:hidden}*,*::before,*::after{box-sizing:border-box}img,video{max-width:100%}a,button,input,select,textarea{min-width:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #0693F1;outline-offset:3px}@media(max-width:480px){.project-photo{min-height:18rem}.logo-item{height:6.75rem;width:11rem}.hero-responsive h1{font-size:clamp(2.15rem,11vw,2.75rem)}#nav{max-height:calc(100vh - 6rem);overflow-y:auto}}

/* Brand alignment */
a:hover{color:#016FD7}.bg-\[\#F97A0B\] a:hover{color:#fff}header img[alt*="Shorewaves"]{filter:saturate(1.04) contrast(1.02)}
[data-form-error][data-state="success"]{color:#087a3f}[data-form-error][data-state="error"]{color:#F97A0B}.protected-form button:disabled{opacity:.65;cursor:not-allowed}
/* Expanded service experience */
.sw-wrap{max-width:80rem;margin:auto;padding-left:1.25rem;padding-right:1.25rem}.sw-hero{position:relative;min-height:470px;display:flex;align-items:center;overflow:hidden;background:#02214C;color:#fff}.sw-hero>img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.34}.sw-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,33,76,.98),rgba(2,33,76,.76) 52%,rgba(2,33,76,.2))}.sw-hero .inside{position:relative;z-index:2;padding-top:5rem;padding-bottom:5rem}.sw-kicker{font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#65bdf7}.sw-hero h1{font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.02;max-width:760px;margin-top:.9rem}.sw-hero p{max-width:680px;margin-top:1.25rem;font-size:1.08rem;line-height:1.75;color:rgba(255,255,255,.82)}.division-mark{position:absolute;right:2rem;bottom:1.5rem;z-index:3;width:min(310px,38vw);max-height:110px;object-fit:contain;opacity:.92;filter:drop-shadow(0 8px 20px rgba(0,0,0,.25))}.sw-section{padding:5rem 0}.sw-section.pale{background:#f3f8fc}.sw-title{font-size:clamp(2rem,4vw,3.25rem);line-height:1.08}.sw-sub{margin-top:1rem;max-width:760px;color:#52606d;line-height:1.75}.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;margin-top:2rem}.flow .step{position:relative;background:#fff;border:1px solid #dce8f2;padding:1.25rem;text-align:center;font-weight:800;box-shadow:0 8px 22px rgba(2,33,76,.05)}.flow .step b{display:block;font-size:1.6rem;margin-bottom:.45rem}.flow .step:not(:last-child):after{content:"→";position:absolute;right:-.75rem;top:50%;transform:translate(50%,-50%);z-index:2;color:#f97a0b;background:#f3f8fc;border-radius:999px;padding:.1rem .35rem}.sw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.sw-card{background:#fff;border:1px solid #e1e9f0;border-top:4px solid #f97a0b;padding:1.5rem;box-shadow:0 8px 24px rgba(2,33,76,.05)}.sw-card h3{font-size:1.18rem}.sw-card p{margin-top:.55rem;color:#5a6570;line-height:1.6;font-size:.94rem}.sw-card details{margin-top:1rem}.sw-card summary{cursor:pointer;color:#f36d00;font-weight:800;font-size:.9rem}.sw-card ul{margin-top:.8rem;display:grid;gap:.45rem;color:#4b5563;font-size:.9rem}.sw-card li:before{content:"✓";color:#016fd7;font-weight:900;margin-right:.45rem}.sw-callout{margin-top:2rem;background:#02214c;color:#fff;padding:2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.sw-callout h3{font-size:1.6rem}.sw-callout p{margin-top:.4rem;color:rgba(255,255,255,.72)}.sw-btn{display:inline-block;background:#f97a0b;color:#fff;padding:.9rem 1.2rem;font-weight:800;border:0;cursor:pointer}.sw-btn.alt{background:#fff;color:#02214c}.need-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.need{display:block;background:#fff;border:1px solid #e1e9f0;padding:1.35rem;font-weight:800;transition:.2s}.need:hover{transform:translateY(-3px);border-color:#f97a0b}.need span{display:block;font-size:1.55rem;margin-bottom:.45rem}.steam-map{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;margin-top:2rem}.steam-map div{padding:1.25rem;background:#fff;border:1px solid #dce8f2;text-align:center}.steam-map strong{display:block;font-size:2rem;color:#016fd7}.steam-map small{display:block;margin-top:.4rem;color:#5f6b76}.request-panel{background:#fff;border:1px solid #dce8f2;padding:1.5rem;margin-top:2rem}.request-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.request-grid .full{grid-column:1/-1}.request-panel label{display:block;font-size:.85rem;font-weight:700}.request-panel input,.request-panel select,.request-panel textarea{margin-top:.4rem;width:100%;border:1px solid #cfd8e1;padding:.8rem;background:#fff}.upload-zone{border:2px dashed #b9c8d5;padding:1.25rem;background:#f8fbfd}.upload-zone input{border:0;padding:.4rem 0}.photo-preview{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem;margin-top:.8rem}.photo-preview img{width:100%;aspect-ratio:1;object-fit:cover;border:1px solid #d8e0e7}.mini-note{font-size:.78rem;color:#66727d;margin-top:.45rem}.service-logo-row{display:flex;align-items:center;gap:1rem}.service-logo-row img{width:170px;max-height:65px;object-fit:contain}.trust-strip{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1.5rem}.trust-strip span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);padding:.55rem .75rem;font-size:.8rem;font-weight:700}.services-choice{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}.services-choice a{background:#fff;border:1px solid #dce8f2;padding:1.25rem;text-align:center;box-shadow:0 8px 22px rgba(2,33,76,.05)}.services-choice img{height:60px;max-width:180px;object-fit:contain;margin:0 auto .8rem}.floating-request{position:fixed;right:1rem;bottom:1rem;z-index:45;background:#f97a0b;color:#fff;padding:.85rem 1rem;font-weight:800;box-shadow:0 12px 30px rgba(0,0,0,.22)}
@media(max-width:800px){.flow,.steam-map{grid-template-columns:1fr 1fr}.flow .step:not(:last-child):after{display:none}.sw-grid,.need-grid{grid-template-columns:1fr 1fr}.services-choice{grid-template-columns:1fr 1fr}.division-mark{right:1rem;bottom:1rem;width:190px;opacity:.8}.sw-callout{align-items:flex-start;flex-direction:column}.photo-preview{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.sw-section{padding:3.5rem 0}.sw-grid,.need-grid,.request-grid{grid-template-columns:1fr}.flow,.steam-map{grid-template-columns:1fr 1fr}.request-grid .full{grid-column:auto}.services-choice{grid-template-columns:1fr 1fr}.services-choice img{height:45px}.division-mark{width:150px}.sw-hero{min-height:520px}.floating-request{left:1rem;right:1rem;text-align:center}.photo-preview{grid-template-columns:repeat(2,1fr)}}
