:root{--black:#0a1f2b;--black-soft:#0f2a38;--charcoal:#163542;--white:#fbf6ea;--off-white:#f3ecd9;--off-white-dim:#e8dbb8;--aqua:#c98a32;--aqua-bright:#e8c878;--aqua-dark:#8c5d1e;--teal:#1f5c5c;--teal-bright:#4e9e9e;--ink:#1b2620;--ink-soft:#57503e;--line:#c98a324d;--line-dark:#fbf6ea29;--radius:2px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body{background:var(--off-white);color:var(--ink);font-family:Manrope,sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden}h1,h2,h3,.display{letter-spacing:-.01em;font-family:Fraunces,serif;font-weight:600}.mono{font-family:Space Mono,monospace}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}.wrap{max-width:1180px;margin:0 auto;padding:0 32px}.spine{background:linear-gradient(to bottom, transparent, var(--line) 8%, var(--line) 92%, transparent);z-index:0;width:1px;position:absolute;top:0;bottom:0;left:38px}.spine-node{background:var(--aqua);border-radius:50%;width:9px;height:9px;position:absolute;left:38px;transform:translate(-50%);box-shadow:0 0 0 4px #c98a3226}.spine-node.pulse:after{content:"";border:1px solid var(--aqua);opacity:0;border-radius:50%;animation:2.6s ease-out infinite ping;position:absolute;inset:-6px}@keyframes ping{0%{opacity:.6;transform:scale(.6)}to{opacity:0;transform:scale(2.1)}}@media (width<=760px){.spine,.spine-node{display:none}}header{z-index:50;backdrop-filter:blur(6px);background:#0a1f2beb;border-bottom:1px solid #c98a322e;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto;padding:16px 32px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-logo{object-fit:contain;width:90px;height:90px}.brand-text{color:var(--white);letter-spacing:.02em;font-family:Fraunces,serif;font-size:1.5rem;font-weight:600}.brand-text span{letter-spacing:.24em;color:var(--aqua);text-transform:uppercase;margin-top:1px;font-family:Space Mono,monospace;font-size:.72rem;font-weight:700;display:block}nav.links{align-items:center;gap:34px;display:flex}nav.links a{color:#fbf6eab8;letter-spacing:.02em;padding:4px 0;font-size:.88rem;font-weight:600;position:relative}nav.links a:after{content:"";background:var(--aqua);width:0;height:1px;transition:width .25s;position:absolute;bottom:0;left:0}nav.links a:hover:after{width:100%}nav.links a:hover{color:var(--white)}nav.links a.current{color:var(--aqua-bright)}nav.links a.current:after{width:100%}.nav-cta{background:var(--aqua);border-radius:var(--radius);letter-spacing:.02em;white-space:nowrap;flex-shrink:0;align-items:center;gap:9px;padding:13px 36px;font-family:Space Mono,monospace;font-size:.86rem;font-weight:700;transition:background .2s,transform .2s,box-shadow .2s;display:flex;box-shadow:0 4px 18px -4px #c98a328c;color:var(--black)!important}.nav-cta:hover{background:var(--aqua-bright);transform:translateY(-2px);box-shadow:0 8px 24px -4px #c98a32a6}.nav-toggle{color:var(--white);cursor:pointer;background:0 0;border:none;font-size:1.6rem;display:none}@media (width<=880px){.nav{padding:10px 20px}nav.links{display:none}.nav-toggle{display:block}.brand-logo{width:52px;height:52px}.brand-text{font-size:1.1rem}.brand-text span{font-size:.62rem}}.mobile-cta-bar{display:none}@media (width<=880px){.mobile-cta-bar{z-index:100;border-top:1px solid #c98a3259;grid-template-columns:1fr 1fr;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 24px #00000073}.mobile-cta-bar a{letter-spacing:.03em;text-align:center;justify-content:center;align-items:center;gap:8px;padding:16px 12px;font-family:Space Mono,monospace;font-size:.82rem;font-weight:700;display:flex}.mobile-cta-call{background:var(--aqua);color:var(--black)!important}.mobile-cta-quote{background:var(--black);border-left:1px solid #c98a3240;color:var(--white)!important}body{padding-bottom:56px}}.hero{background:radial-gradient(ellipse 900px 500px at 50% -10%, #c98a3229, transparent 60%), linear-gradient(180deg, var(--black) 0%, var(--black-soft) 100%);color:var(--white);padding:88px 0 0;position:relative;overflow:hidden}.hero-inner{z-index:2;grid-template-columns:1fr 1fr;align-items:center;gap:40px;max-width:1180px;margin:0 auto;padding:0 32px;display:grid;position:relative}.eyebrow{letter-spacing:.28em;text-transform:uppercase;color:var(--aqua-bright);align-items:center;gap:10px;margin-bottom:22px;font-family:Space Mono,monospace;font-size:.72rem;display:flex}.eyebrow:before{content:"";background:var(--aqua);width:26px;height:1px}.hero h1{color:var(--white);font-size:clamp(2.2rem,6vw,3.6rem);line-height:1.06}.hero h1 em{color:var(--aqua-bright);font-style:italic}.hero p.lede{color:#fbf6eab8;max-width:46ch;margin-top:22px;font-size:1.08rem}.hero-actions{flex-wrap:wrap;align-items:center;gap:18px;margin-top:34px;display:flex}.btn{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;align-items:center;gap:10px;padding:15px 26px;font-family:Manrope,sans-serif;font-size:.95rem;font-weight:700;transition:transform .2s,background .2s,border-color .2s;display:inline-flex}.btn-primary{background:var(--aqua);color:var(--black)}.btn-primary:hover{background:var(--aqua-bright);transform:translateY(-2px)}.btn-ghost{color:var(--white);border-color:#fbf6ea59}.btn-ghost:hover{border-color:var(--aqua);color:var(--aqua-bright);transform:translateY(-2px)}.btn-dark{color:var(--ink);border-color:#0a1f2b40}.btn-dark:hover{border-color:var(--aqua-dark);color:var(--aqua-dark);transform:translateY(-2px)}.rating-badge{color:#fbf6eab8;flex-wrap:wrap;align-items:center;gap:10px;margin-top:28px;font-family:Space Mono,monospace;font-size:.82rem;display:flex}.stars{color:var(--aqua-bright);letter-spacing:2px}.hero-art{position:relative}.hero-art img{object-fit:cover;border:1px solid #c98a324d;border-radius:6px;width:100%;height:420px;display:block;box-shadow:0 24px 60px -16px #0009}.wave-divider{margin-top:56px;line-height:0;position:relative}.wave-divider svg{width:100%;height:auto;display:block}@media (width<=880px){.hero{padding:64px 0 0}.hero-inner{text-align:left;grid-template-columns:1fr;gap:30px}.hero-art{order:-1}.hero-art img{max-width:100%;height:260px}}section{padding:96px 0;position:relative}.section-head{z-index:1;max-width:640px;margin-bottom:56px;position:relative}.section-head .eyebrow{color:var(--aqua-dark)}.section-head .eyebrow:before{background:var(--aqua-dark)}.section-head h2{color:var(--ink);font-size:clamp(1.7rem,4vw,2.4rem)}.section-head p{color:var(--ink-soft);max-width:52ch;margin-top:14px;font-size:1.02rem}.dark .section-head .eyebrow{color:var(--aqua-bright)}.dark .section-head .eyebrow:before{background:var(--aqua)}.dark .section-head h2{color:var(--white)}.dark .section-head p{color:#fbf6eab8}@media (width<=600px){section{padding:64px 0}.section-head{margin-bottom:38px}}.services{background:var(--white)}.service-grid{background:var(--line);border:1px solid var(--line);z-index:1;grid-template-columns:repeat(3,1fr);gap:1px;display:grid;position:relative}.service-card{background:var(--white);padding:34px 30px;transition:background .25s;display:block}.service-card:hover{background:var(--off-white-dim)}.service-card svg{width:38px;height:38px;color:var(--aqua-dark);margin-bottom:20px}.service-card h3{color:var(--ink);margin-bottom:8px;font-size:1.08rem}.service-card p{color:var(--ink-soft);font-size:.92rem}.service-card .card-link{color:var(--aqua-dark);letter-spacing:.03em;margin-top:14px;font-family:Space Mono,monospace;font-size:.78rem;display:inline-block}@media (width<=880px){.service-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.service-grid{grid-template-columns:1fr}.service-card{padding:28px 24px}}.two-col{z-index:1;grid-template-columns:1fr 1fr;gap:60px;display:grid;position:relative}@media (width<=880px){.two-col{grid-template-columns:1fr;gap:44px}}.check-list{flex-direction:column;gap:16px;list-style:none;display:flex}.check-list li{color:#232a30;align-items:flex-start;gap:14px;font-size:.98rem;display:flex}.check-list li:before{content:"✓";color:var(--aqua-dark);flex-shrink:0;font-weight:700}.signs-list{flex-direction:column;gap:16px;list-style:none;display:flex}.signs-list li{color:#232a30;align-items:flex-start;gap:14px;font-size:.98rem;display:flex}.signs-list li:before{content:"⚡";flex-shrink:0}.process{background:var(--black-soft);color:var(--white)}.process-list{z-index:1;flex-direction:column;gap:0;display:flex;position:relative}.process-item{border-top:1px solid var(--line-dark);grid-template-columns:90px 1fr;gap:28px;padding:28px 0;display:grid}.process-item:last-child{border-bottom:1px solid var(--line-dark)}.process-num{color:var(--aqua-bright);padding-top:4px;font-family:Space Mono,monospace;font-size:.85rem}.process-item h3{color:var(--white);margin-bottom:6px;font-size:1.15rem}.process-item p{color:#fbf6eab8;max-width:60ch;font-size:.96rem}@media (width<=560px){.process-item{grid-template-columns:50px 1fr;gap:16px}}.faq{background:var(--white)}.faq-list{z-index:1;flex-direction:column;display:flex;position:relative}.faq-item{border-top:1px solid var(--line);padding:26px 0}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item h3{color:var(--ink);margin-bottom:10px;font-size:1.05rem}.faq-item p{color:var(--ink-soft);max-width:64ch;font-size:.96rem}.reviews{background:var(--off-white);overflow:hidden}.review-top{flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:44px;display:flex}.review-score{color:var(--ink);font-family:Fraunces,serif;font-size:3rem;font-weight:700}.google-badge{align-items:center;gap:8px;display:flex}.google-badge svg{width:22px;height:22px}.google-badge p{color:var(--ink-soft);margin-top:4px;font-size:.82rem}.reviews-marquee-wrap{width:100%;position:relative;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 6% 94%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 6% 94%,#0000 100%)}.reviews-track{gap:22px;width:max-content;animation:32s linear infinite marquee-left;display:flex}.reviews-track:hover{animation-play-state:paused}@keyframes marquee-left{0%{transform:translate(0)}to{transform:translate(-50%)}}.review-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);flex:none;width:340px;padding:26px 24px}.review-card .stars{color:var(--aqua-dark)}.review-card-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.review-card p.review-text{color:#232a30;min-height:76px;margin-bottom:16px;font-size:.95rem}.review-card .who{color:#767f86;text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:center;font-family:Space Mono,monospace;font-size:.76rem;display:flex}.review-card .who .g-mark{text-transform:none;letter-spacing:0;align-items:center;gap:5px;display:flex}.review-card .who .g-mark svg{width:14px;height:14px}@media (width<=600px){.review-card{width:80vw;padding:22px 20px}.review-score{font-size:2.4rem}}.work-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:260px;grid-auto-flow:dense;gap:6px;margin-top:64px;display:grid}.work-grid img{object-fit:cover;width:100%;height:100%;display:block}.work-grid .wide{grid-column:span 2}.work-grid .tall{grid-row:span 2}@media (width<=760px){.work-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px}.work-grid .wide{grid-column:span 2}.work-grid .tall{grid-row:span 2}}@media (width<=480px){.work-grid{grid-template-columns:1fr 1fr;grid-auto-rows:160px;gap:4px}}.area{background:var(--black);color:var(--white)}.area-inner{z-index:1;grid-template-columns:1fr 1fr;align-items:center;gap:60px;display:grid;position:relative}.area-map svg{width:100%;height:auto}.town-list{flex-wrap:wrap;gap:10px 16px;margin-top:24px;display:flex}.town-list span{color:#fbf6eab8;padding:6px 0;font-family:Space Mono,monospace;font-size:.8rem;position:relative}.town-list span:before{content:"▸";color:var(--aqua);margin-right:6px}@media (width<=880px){.area-inner{grid-template-columns:1fr;gap:40px}}#service-map{border:1px solid #c98a3240;border-radius:4px;width:100%;height:440px;overflow:hidden}.map-placeholder{background:var(--charcoal);color:#fbf6ea73;text-align:center;border:1px solid #c98a3240;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;height:440px;padding:24px;font-family:Space Mono,monospace;font-size:.78rem;display:flex}@media (width<=880px){#service-map,.map-placeholder{height:320px}}.contact{background:radial-gradient(ellipse 700px 420px at 85% 0%, #c98a3224, transparent 60%), linear-gradient(180deg, var(--black-soft), var(--black));color:var(--white);padding:110px 0;position:relative}.contact-grid{z-index:1;grid-template-columns:.95fr 1.05fr;align-items:center;gap:64px;display:grid;position:relative}.contact-copy h2{max-width:15ch;margin-bottom:18px;font-size:clamp(1.9rem,4.2vw,2.7rem)}.contact-copy p{color:#fbf6eab8;max-width:44ch;margin-bottom:32px}.contact-actions{flex-wrap:wrap;gap:18px;display:flex}.contact-detail{color:#fbf6eab8;flex-wrap:wrap;gap:38px;margin-top:44px;font-family:Space Mono,monospace;font-size:.85rem;display:flex}.contact-detail strong{color:var(--aqua-bright);letter-spacing:.18em;text-transform:uppercase;margin-bottom:6px;font-size:.68rem;font-weight:700;display:block}@media (width<=960px){.contact-grid{grid-template-columns:1fr;gap:48px}}@media (width<=600px){.contact{padding:72px 0}.contact-detail{gap:24px 32px}}.inquiry-card{backdrop-filter:blur(10px);background:linear-gradient(165deg,#0f2a38e6,#0a1f2bd9);border:1px solid #c98a3238;border-radius:20px;padding:38px 36px 32px;position:relative;box-shadow:0 30px 60px -20px #0000008c,inset 0 0 0 1px #ffffff05}.inquiry-head{margin-bottom:26px}.inquiry-head .eyebrow{color:var(--aqua-bright);margin-bottom:10px}.inquiry-head h3{color:var(--white);font-size:1.4rem}.inquiry-head p{color:#fbf6ea99;margin-top:8px;font-size:.92rem}form.job-form{z-index:1;flex-direction:column;gap:18px;display:flex;position:relative}.form-row{flex-direction:column;gap:8px;display:flex}.form-row label{letter-spacing:.12em;text-transform:uppercase;color:#fbf6ea80;font-family:Space Mono,monospace;font-size:.68rem}.form-row input,.form-row select,.form-row textarea{color:var(--white);background:#ffffff0d;border:1px solid #ffffff1f;border-radius:12px;width:100%;padding:14px 16px;font-family:Manrope,sans-serif;font-size:.98rem;transition:border-color .2s,background .2s,box-shadow .2s}.form-row input::placeholder,.form-row textarea::placeholder{color:#fbf6ea59}.form-row select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%236FF0FA' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding-right:40px}.form-row select option{background:var(--black-soft);color:var(--white)}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--aqua);background:#ffffff14;outline:none;box-shadow:0 0 0 4px #c98a3229}.form-row textarea{resize:vertical;min-height:110px}.two-field{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=560px){.two-field{grid-template-columns:1fr}}.form-submit{background:linear-gradient(135deg, var(--aqua), var(--aqua-dark));width:100%;color:var(--black);justify-content:center;margin-top:4px;box-shadow:0 10px 26px -10px #c98a328c}.form-submit:hover{transform:translateY(-2px);box-shadow:0 14px 30px -10px #c98a32b3}.form-note{color:#fbf6ea73;margin-top:-6px;font-size:.8rem}.form-status{margin-top:6px;font-family:Space Mono,monospace;font-size:.85rem;display:none}.form-status.ok{color:var(--aqua-bright);display:block}.form-status.err{color:#ff8a73;display:block}.hp-field{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}@media (width<=600px){.inquiry-card{border-radius:16px;padding:28px 22px 24px}}footer{background:var(--black);text-align:center;border-top:1px solid #c98a3224;padding:30px 0}footer p{color:#5c7a80;font-size:.8rem}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(18px)}.reveal.in{opacity:1;transform:translateY(0)}:focus-visible{outline:2px solid var(--aqua);outline-offset:3px}@media (width<=420px){.wrap{padding:0 20px}.btn{justify-content:center;width:100%;padding:14px 20px;font-size:.9rem}.hero-actions,.contact-actions{flex-direction:column;align-items:stretch}}
