:root{--bg:#fefbf4;--bg-soft:#f5f2ea;--ink:#0e1726;--text:#121820;--muted:#161d27;--line:#e7e9ee;--accent:#10305a;--accent-ink:#fff;--cream:#fef3c6;--cream-text:#7a4f06;--hl-bg:#e6eef8;--hl-text:var(--accent);--hl-line:var(--accent);--sea-bg:radial-gradient(ellipse 70% 60% at 85% 0%, #4682be38, transparent 70%), radial-gradient(ellipse 60% 50% at 0% 100%, #1e508240, transparent 70%), linear-gradient(165deg, #08131f 0%, #0c1e33 50%, #11304d 100%);--radius:20px;--radius-sm:12px;--shadow:0 24px 60px -24px #0e17262e;--header-h:80px;--font:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--max:1200px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}.reveal{opacity:0;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0s);transform:translateY(1.15rem)}.reveal.is-in{opacity:1;transform:none}.reveal-stagger>*{opacity:0;transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1);transform:translateY(1rem)}.reveal-stagger.is-in>*{opacity:1;transform:none}.reveal-stagger>:first-child{transition-delay:0s}.reveal-stagger>:nth-child(2){transition-delay:70ms}.reveal-stagger>:nth-child(3){transition-delay:.14s}.reveal-stagger>:nth-child(4){transition-delay:.21s}.reveal-stagger>:nth-child(5){transition-delay:.28s}.reveal-stagger>:nth-child(6){transition-delay:.35s}.reveal-stagger>:nth-child(7){transition-delay:.42s}.reveal-stagger>:nth-child(8){transition-delay:.49s}.reveal-stagger>:nth-child(9){transition-delay:.56s}.reveal-stagger>:nth-child(10){transition-delay:.63s}.reveal-stagger>:nth-child(11){transition-delay:.7s}.reveal-stagger>:nth-child(12){transition-delay:.77s}.reveal-stagger.is-settled>:nth-child(n){transition-delay:0s}@keyframes fade-up{0%{opacity:0;transform:translateY(.9rem)}to{opacity:1;transform:none}}@keyframes media-drift{0%{transform:scale(1.06)}to{transform:none}}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;margin:0;font-size:1.0625rem;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font);letter-spacing:-.025em;color:var(--ink);margin:0;font-weight:500;line-height:1.1}h1{font-size:clamp(2.5rem,5.5vw,4rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{letter-spacing:-.015em;font-size:1.25rem}p{margin:0}.section-blue,.page-hero,.quote-section.is-blue{--hl-bg:var(--cream);--hl-text:var(--cream-text);--hl-line:var(--cream)}.quote-form{--hl-bg:#e6eef8;--hl-text:var(--accent);--hl-line:var(--accent)}.container{width:min(100% - clamp(2.5rem, 9vw, 6rem), var(--max));margin-inline:auto}.section{padding:clamp(5rem,11vw,9rem) 0}.section-head{gap:1.25rem;margin-bottom:clamp(2.5rem,5vw,4rem);display:grid}.section-head p{max-width:34rem;color:var(--muted);font-size:1.125rem}.eyebrow{background:var(--hl-bg);color:var(--hl-text);border-radius:999px;place-self:start;padding:.3rem .8rem;font-size:.9375rem;font-weight:500;display:inline-block}::selection{color:var(--ink);background:#d6e3f3}.lead{color:var(--muted);max-width:38rem;font-size:1.1875rem}.btn{min-height:3rem;font:500 1rem/1 var(--font);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.75rem;padding:0 1.5rem;transition:background .2s,color .2s,border-color .2s,box-shadow .2s,transform .2s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-dark{background:var(--ink);color:#fff}.btn-dark:hover{background:var(--accent)}.btn-light{color:var(--ink);background:#fff}.btn-light:hover{box-shadow:0 10px 30px -10px #00000059}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:#0b2546;box-shadow:0 10px 30px -12px #10305a99}.btn-outline{color:var(--ink);border-color:var(--line);background:0 0}.btn-outline:hover{border-color:var(--ink)}.btn-glass{color:#fff;-webkit-backdrop-filter:blur(10px);background:#ffffff1f;border-color:#ffffff47}.btn-glass:hover{background:#ffffff38}.btn-arrow{gap:1.75rem;min-height:3.5rem;padding:0 .4rem 0 1.5rem}.btn-arrow .btn-badge{background:var(--accent);color:#fff;border-radius:999px;place-items:center;width:2.75rem;height:2.75rem;transition:transform .2s;display:grid}.btn-dark.btn-arrow .btn-badge{background:var(--hl-bg);color:var(--hl-text)}.btn-arrow:hover .btn-badge{transform:translate(3px)}.text-link{-webkit-text-decoration:underline 2px var(--hl-line);text-decoration:underline 2px var(--hl-line);text-underline-offset:.45em;color:var(--ink);align-items:center;gap:.4rem;font-size:1rem;font-weight:600;display:inline-flex}.text-link svg{color:var(--hl-line);transition:transform .2s}.text-link:hover svg{transform:translate(3px)}.spec-list{margin:0;padding:0;list-style:none}.spec-list li{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1rem;padding:.9rem 0;font-size:1.0625rem;display:grid}.spec-list li:last-child{border-bottom:0}.spec-list span{color:var(--ink);font-weight:500}.spec-list strong{color:var(--text);font-weight:400}.notice{border-radius:var(--radius-sm);background:var(--bg-soft);color:var(--muted);padding:1.25rem 1.5rem;font-size:1.0625rem}.notice strong{color:var(--ink);margin-bottom:.25rem;font-weight:500;display:block}.section-blue,.page-hero{--line:#ffffff29;--muted:#ffffffe6;background:var(--sea-bg);color:#fffffff0}.section-blue h1,.section-blue h2,.section-blue h3,.page-hero h1,.section-blue .text-link,.section-blue .spec-list span{color:#fff}.section-blue .spec-list strong{color:var(--muted)}.page-hero{padding:calc(var(--header-h) + clamp(3.5rem, 8vw, 6rem)) 0 clamp(3rem, 6vw, 4.5rem);position:relative;overflow:hidden}.page-hero.has-photo{background:#0b1a2c;align-items:flex-end;min-height:max(22rem,52svh);display:flex}.page-hero-media{object-fit:cover;object-position:center;width:100%;height:100%;animation:16s ease-out forwards media-drift;position:absolute;inset:0}.page-hero .container>*{animation:.7s cubic-bezier(.22,1,.36,1) both fade-up}.page-hero .container>:first-child{animation-delay:50ms}.page-hero .container>:nth-child(2){animation-delay:.14s}.page-hero .container>:nth-child(3){animation-delay:.24s}.page-hero-shade{background:linear-gradient(90deg,#081220c7 0%,#0812206b 48%,#0812202e 100%),linear-gradient(#08122061 0%,#0812201f 35%,#08122080 100%);position:absolute;inset:0}.page-hero .container{z-index:1;gap:1.5rem;display:grid;position:relative}.page-hero h1{max-width:16ch}.page-hero.has-photo .lead{color:#fffffff0}@media (width<=560px){.page-hero-shade{background:linear-gradient(#08122080 0%,#081220b8 100%)}}[id]{scroll-margin-top:var(--header-h)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.site-main:focus{outline:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:var(--cream);border-radius:999px;padding:.75rem 1.25rem;font-weight:500;transition:transform .2s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal-stagger>*{opacity:1;transition:none;transform:none}.page-hero-media,.page-hero .container>*,.hero-media,.hero-content>*,.floating-cta{animation:none!important}.btn:hover,.service-card:hover,.review-card:hover,.contact-grid li:hover,.area-chips li:hover,.quote-contacts a:hover,.service-card:hover .service-card-media img,.service-row-media:hover img{transform:none}}.floating-cta{z-index:35;gap:.75rem;animation:.55s cubic-bezier(.22,1,.36,1) .35s both fade-up;display:grid;position:fixed;bottom:1.25rem;right:1.25rem}.floating-btn{color:#fff;border-radius:999px;place-items:center;width:3.5rem;height:3.5rem;transition:transform .2s,background .2s;display:grid;box-shadow:0 12px 30px -10px #0e172680}.floating-btn:hover{transform:translateY(-2px)}.floating-phone{background:var(--accent);color:#fff;border:1px solid #ffffff73}.floating-phone:hover{background:#0b2546}.floating-whatsapp{background:#25d366}.floating-whatsapp:hover{background:#1ebe5b}@media (width>=960px){.floating-cta{bottom:1.75rem;right:1.75rem}}.brand-mark{flex-shrink:0;width:auto;height:2.5rem;display:block}.site-footer{padding:clamp(4rem,8vw,6rem) 0 2rem;font-size:1.0625rem}.footer-grid{gap:2.5rem;padding-bottom:3rem;display:grid}.footer-about{align-content:start;gap:1rem;display:grid}.footer-brand{letter-spacing:.32em;text-transform:uppercase;color:var(--ink);align-items:center;gap:.55rem;font-size:1rem;font-weight:500;display:inline-flex}.footer-brand .brand-mark{height:2.7rem}.footer-about p{max-width:22rem;color:var(--muted)}.footer-badge{justify-self:start;margin-top:.5rem;transition:opacity .2s}.footer-badge:hover{opacity:.85}.site-footer h3{letter-spacing:0;color:var(--muted);margin-bottom:1rem;font-size:.9375rem;font-weight:500}.site-footer ul{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.site-footer ul a,.site-footer p{color:var(--ink)}.site-footer ul a{transition:color .2s}.site-footer ul a:hover{color:var(--accent)}.site-footer .footer-muted{color:var(--muted);margin-top:.4rem}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;padding-top:2rem;font-size:.9375rem;display:flex}.footer-legal{flex-wrap:wrap;gap:.5rem 1.5rem;display:flex}.footer-legal a:hover{color:var(--ink)}@media (width>=720px){.footer-grid{grid-template-columns:repeat(3,1fr)}.footer-about{grid-column:1/-1}}@media (width>=1000px){.footer-grid{grid-template-columns:1.6fr 1fr 1fr 1fr}.footer-about{grid-column:auto}}.site-header{z-index:50;height:var(--header-h);border-bottom:1px solid #0000;transition:background .3s,border-color .3s,color .3s;position:fixed;inset:0 0 auto}.site-header.is-transparent{color:#fff}.site-header.is-solid{color:var(--ink);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--line);background:#ffffffeb}.header-inner{justify-content:space-between;align-items:center;gap:.75rem;height:100%;display:flex}.brand{letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:.55rem;font-size:.8125rem;font-weight:500;display:inline-flex}.brand-name,.brand .brand-mark{display:none}.brand-lockup{flex-shrink:0;width:auto;height:3.5rem;display:none}.site-header.is-transparent .brand-lockup.is-on-dark,.site-header.is-solid .brand-lockup.is-on-light{display:block}.site-nav{display:none}.nav-link{opacity:.95;font-size:1rem;transition:opacity .2s}.nav-link:hover,.nav-link.is-active{opacity:1}.nav-link.is-active{-webkit-text-decoration:underline 2px var(--accent);text-decoration:underline 2px var(--accent);text-underline-offset:.5em}.site-header.is-transparent .nav-link.is-active{-webkit-text-decoration-color:var(--cream);text-decoration-color:var(--cream)}.header-actions{align-items:center;gap:.35rem;display:flex}.header-phone{letter-spacing:-.01em;white-space:nowrap;opacity:.95;margin-left:auto;font-size:.9375rem;font-weight:500;display:inline}.header-phone:hover{opacity:1}.header-cta{min-height:2.75rem;padding:0 1.25rem;display:none}.nav-toggle{width:2.75rem;height:2.75rem;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.site-header.is-open .site-nav{inset:var(--header-h) 0 auto;border-bottom:1px solid var(--line);background:#fff;gap:.25rem;padding:1rem 1.25rem 2rem;display:grid;position:fixed}.site-header.is-open .nav-link{opacity:1;border-bottom:1px solid var(--line);padding:.9rem 0;font-size:1.25rem}.site-header.is-open .nav-link:last-child{border-bottom:0}@media (width>=960px){.site-nav,.site-header.is-open .site-nav{background:0 0;border:0;gap:2.5rem;padding:0;display:flex;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.nav-phone-mobile{display:none}.header-inner{gap:2rem;position:relative}.brand{letter-spacing:.32em;font-size:1rem}.brand-lockup{display:none!important}.brand-name{display:inline}.brand .brand-mark{height:2.7rem;display:block}.header-actions{gap:1.5rem}.header-phone{margin-left:0;font-size:1rem;display:none}.header-cta{display:inline-flex}.nav-toggle{display:none}}@media (width>=1140px){.header-phone{display:inline}}.quote-form{gap:1.25rem;display:grid;position:relative}.quote-form.is-stacked{border-radius:var(--radius);border:1px solid var(--line);background:#fff;padding:clamp(1.5rem,4vw,2.5rem)}.field-row{gap:1.25rem;display:grid}.quote-form label{gap:.5rem;display:grid}.quote-form label>span{color:var(--ink);font-size:.9375rem;font-weight:500}.quote-form input,.quote-form textarea{border-radius:var(--radius-sm);border:1px solid var(--line);width:100%;font:400 1rem/1.5 var(--font);color:var(--ink);background:#fff;padding:.85rem 1rem;transition:border-color .2s}.quote-form input::placeholder,.quote-form textarea::placeholder{color:#3a424e}.quote-form input:focus,.quote-form textarea:focus{border-color:var(--hl-line);box-shadow:0 0 0 4px var(--hl-bg);outline:none}.quote-form textarea{resize:vertical;min-height:7rem}.quote-form .btn{justify-self:start;margin-top:.5rem}.quote-msg{color:var(--accent);font-size:.9375rem}.quote-msg.is-error{color:#8a1f1f}.quote-form .btn:disabled{opacity:.7;cursor:wait;transform:none}.hp{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.quote-note{color:var(--muted);font-size:.9375rem}.field-grid{gap:1rem;display:grid}@media (width>=600px){.field-row,.field-grid{grid-template-columns:1fr 1fr}}@media (width>=1000px){.quote-form.is-inline{grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:1.5rem}.quote-form.is-inline .btn{margin-top:0}.quote-form.is-inline .quote-msg{grid-column:1/-1}}.quote-section{background:var(--bg-soft)}.quote-section.is-blue{--muted:#ffffffe6;background:var(--sea-bg)}.quote-section.is-blue h2,.quote-section.is-blue .quote-contacts a{color:#fff}.quote-section.is-blue .quote-contacts a:hover .quote-icon{border-color:#fff}.quote-section.is-blue .quote-form{--muted:#161d27;border-color:#0000}.quote-layout{gap:3rem;display:grid}.quote-intro{align-content:start;justify-items:start;gap:1.5rem;display:grid}.quote-contacts{gap:1.25rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.quote-contacts a{color:var(--ink);align-items:center;gap:1rem;font-size:1.0625rem;font-weight:500;transition:transform .25s;display:flex}.quote-contacts a:hover{transform:translate(4px)}.quote-contacts small{color:var(--muted);font-size:.9375rem;font-weight:400;display:block}.quote-icon{background:var(--hl-bg);width:2.75rem;height:2.75rem;color:var(--hl-text);border:1px solid #0000;border-radius:999px;flex-shrink:0;place-items:center;transition:border-color .2s,transform .25s;display:grid}.quote-contacts a:hover .quote-icon{border-color:var(--hl-line)}.quote-map{border-radius:var(--radius);border:1px solid var(--line);background:#fff;justify-self:stretch;width:100%;margin-top:.5rem;overflow:hidden}.quote-map iframe{border:0;width:100%;height:13.5rem;display:block}.quote-map a{color:var(--ink);-webkit-text-decoration:underline 2px var(--hl-line);text-decoration:underline 2px var(--hl-line);text-underline-offset:.35em;padding:.85rem 1.25rem 1.1rem;font-size:.9375rem;font-weight:500;display:block}.quote-section.is-blue .quote-map{border-color:#0000}@media (width>=1000px){.quote-layout{grid-template-columns:1fr 1.15fr;align-items:center;gap:6rem}.quote-form.is-stacked{align-self:center;height:fit-content}.quote-map iframe{height:15rem}}.about-story,.about-workshop{align-items:start;gap:3rem;display:grid}.about-story img,.about-workshop img{aspect-ratio:4/5;object-fit:cover;object-position:52% 18%;border-radius:var(--radius);width:100%}.about-workshop img{aspect-ratio:4/3;object-position:center}.about-text{gap:1.25rem;max-width:36rem;display:grid}.about-text h2{margin-bottom:.5rem}.about-text p{font-size:1.125rem;line-height:1.7}.why-list{gap:0 3rem;margin:0;padding:0;list-style:none;display:grid}.why-list li{border-top:1px solid var(--line);align-content:start;gap:.6rem;padding:2rem 0;display:grid}.why-list p{color:var(--muted)}.about-area{gap:2rem 4rem;display:grid}.about-area .section-head{justify-items:start}.about-area .btn{margin-top:.5rem}.area-chips{flex-wrap:wrap;align-content:start;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.area-chips li{background:var(--hl-bg);color:var(--hl-text);border-radius:999px;padding:.7rem 1.25rem;font-size:1rem;transition:transform .25s}.area-chips li:hover{transform:translateY(-2px)}@media (width>=720px){.why-list{grid-template-columns:repeat(2,1fr)}}@media (width>=1000px){.about-story,.about-workshop{grid-template-columns:1fr 1fr;gap:6rem}.about-text{padding-top:2rem}.why-list{grid-template-columns:repeat(3,1fr)}.about-area{grid-template-columns:1.2fr 1fr;align-items:center}}.contact-section .container{gap:2.5rem;display:grid}.contact-grid{gap:0 2rem;margin:0;padding:0;list-style:none;display:grid}.contact-grid li{border-top:1px solid var(--line);align-content:start;justify-items:start;gap:.75rem;padding:2rem 0;transition:transform .3s;display:grid}.contact-grid li:hover{transform:translateY(-3px)}.contact-value{letter-spacing:-.015em;color:var(--ink);word-break:break-word;font-size:1.375rem;font-weight:500}.contact-notice{max-width:40rem}@media (width>=720px){.contact-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1100px){.contact-grid{grid-template-columns:repeat(4,1fr)}.contact-value{font-size:1.25rem}}.section-head.section-head-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}.section-head-row>div{gap:1.25rem;display:grid}.service-cards{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.service-card{border-radius:var(--radius);border:1px solid var(--line);background:#fff;grid-template-rows:auto 1fr;transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s cubic-bezier(.22,1,.36,1);display:grid;overflow:hidden}.service-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.service-cards.reveal-stagger>.service-card:hover,.service-cards.reveal-stagger.is-settled>.service-card{transition-delay:0s}.service-card-media{aspect-ratio:16/10;background:var(--bg-soft);position:relative;overflow:hidden}.service-card-media img{object-fit:cover;width:100%;height:100%;transition:transform .45s cubic-bezier(.22,1,.36,1);display:block;position:absolute;inset:0}.service-card:hover .service-card-media img{transform:scale(1.04)}.service-card-badge{z-index:1;position:absolute;top:.75rem;left:.75rem}.service-card-caption{z-index:1;color:#fff;width:max-content;max-width:calc(100% - 1.5rem);font:600 .75rem/1.25 var(--font);background:#0e1726d1;border-radius:.4rem;padding:.35rem .7rem;position:absolute;bottom:.75rem;left:.75rem;right:.75rem}.service-card-body{align-content:start;gap:.45rem;padding:1rem 1.1rem 1.15rem;display:grid}.service-card h3{font-size:1.05rem;font-weight:600}.service-card p{color:var(--muted);font-size:.9375rem}.service-card .text-link{justify-self:start;margin-top:.25rem;font-size:.9375rem}.service-card.is-featured{background:var(--sea-bg);border-color:#0000}.service-card.is-featured .service-card-media{background:#0b1a2c}.service-card.is-featured .service-card-body{gap:.45rem;padding:1rem 1.1rem 1.15rem}.service-card.is-featured h3{font-size:1.15rem}.service-card.is-featured p{max-width:36rem;font-size:.9375rem}.service-card.is-featured .text-link{font-size:.9375rem}@media (width>=720px){.service-cards{grid-template-columns:repeat(2,1fr)}}@media (width>=1000px){.service-cards{grid-template-columns:repeat(3,1fr);gap:1.1rem}.service-card-media{aspect-ratio:16/10}.service-card-body{gap:.35rem;padding:.9rem 1rem 1rem}.service-card h3{font-size:.98rem;line-height:1.3}.service-card p{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:.875rem;display:-webkit-box;overflow:hidden}}.work-cats,.lightbox-cats{flex-wrap:wrap;gap:.5rem;margin-bottom:1.35rem;display:flex}.lightbox-cats{scrollbar-width:none;flex-wrap:nowrap;margin:0 3.25rem 0 0;padding:2px 2px 6px;overflow-x:auto}.lightbox-cats::-webkit-scrollbar{display:none}.work-cat{color:#fff;min-height:2.4rem;font:500 .9375rem/1 var(--font);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff38;border-radius:999px;flex:none;padding:0 1.05rem;transition:background .2s,color .2s,border-color .2s}.work-cat:hover{background:#ffffff1a}.work-cat.is-active{background:var(--cream);border-color:var(--cream);color:var(--ink)}.lightbox .work-cat{min-height:2.15rem;font-size:.875rem}.work-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}.work-tile{border-radius:var(--radius-sm);aspect-ratio:1;cursor:zoom-in;font:inherit;background:#ffffff14;border:0;padding:0;display:block;position:relative;overflow:hidden}.work-tile img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.work-tile-label{color:#fff;opacity:0;background:#08131f73;justify-content:center;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:600;transition:opacity .25s;display:flex;position:absolute;inset:0}.work-tile:hover img,.work-tile:focus-visible img{transform:scale(1.04)}.work-tile:hover .work-tile-label,.work-tile:focus-visible .work-tile-label{opacity:1}.work-tile.is-more{cursor:pointer}.work-tile.is-more img{filter:blur(6px);transform:scale(1.1)}.work-tile.is-more .work-tile-label{opacity:1;background:#08131f80;flex-direction:column;gap:.25rem;font-size:1.25rem}.work-tile.is-more .work-tile-label small{color:#ffffffe6;font-size:.9375rem;font-weight:400}.work-tile.is-more:hover .work-tile-label{background:#08131f9e}.lightbox{color:#fff;background:#060d16;border:0;width:100vw;max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:1.15rem clamp(1rem,6vw,5.5rem) 1.25rem;overflow:hidden}.lightbox[open]{grid-template-rows:auto minmax(0,1fr) auto;gap:1rem;display:grid}.lightbox::backdrop{background:0 0}.lightbox-main{min-width:0;min-height:0;display:grid;position:relative}.lightbox-stage{touch-action:none;-webkit-user-select:none;user-select:none;grid-template-rows:minmax(0,1fr) auto;place-items:stretch stretch;min-width:0;height:100%;min-height:0;margin:0;display:grid}.lightbox-photo{justify-content:center;align-items:center;width:100%;min-width:0;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.lightbox-photo img{object-fit:contain;border-radius:var(--radius-sm);width:100%;max-width:100%;height:100%;max-height:100%;display:block}.lightbox-photo-caption{z-index:1;color:#fff;max-width:calc(100% - 1.7rem);font:600 .875rem/1.25 var(--font);background:#0e1726d1;border-radius:.45rem;margin:0;padding:.45rem .85rem;position:absolute;bottom:.85rem;left:.85rem}.lightbox-stage figcaption{color:#ffffffe0;font-variant-numeric:tabular-nums;text-align:center;margin-top:.7rem;font-size:.9375rem}.lightbox-close,.lightbox-nav{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff40;border-radius:999px;place-items:center;width:3rem;height:3rem;padding:0;transition:background .2s;display:grid;position:absolute}.lightbox-close:hover,.lightbox-nav:hover{background:#fff3}.lightbox-close{top:1rem;right:1rem}.lightbox-nav{z-index:2;top:50%;transform:translateY(-50%)}.lightbox-nav.is-prev{left:clamp(-4.5rem,-5vw,-1rem)}.lightbox-nav.is-next{right:clamp(-4.5rem,-5vw,-1rem)}.lightbox-thumbs{scrollbar-width:none;justify-content:safe center;gap:.5rem;padding:2px;display:flex;overflow-x:auto}.lightbox-thumbs::-webkit-scrollbar{display:none}.lightbox-thumbs button{opacity:.55;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;flex:none;width:4rem;height:3rem;padding:0;transition:opacity .2s,border-color .2s;overflow:hidden}.lightbox-thumbs button:hover{opacity:.85}.lightbox-thumbs button.is-active{opacity:1;border-color:var(--cream)}.lightbox-thumbs img{object-fit:cover;width:100%;height:100%}@media (width<=719px){.lightbox{padding-inline:.75rem}.lightbox-nav{-webkit-backdrop-filter:blur(6px);background:#060d168c;width:2.5rem;height:2.5rem}.lightbox-nav.is-prev{left:.5rem}.lightbox-nav.is-next{right:.5rem}}@media (width>=720px){.work-grid{grid-template-columns:repeat(3,1fr);gap:1rem}.work-tile:first-child{grid-area:span 2/span 2}}.review-cards{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.review-card{border-radius:var(--radius);border:1px solid var(--line);background:#fff;align-content:start;gap:.85rem;padding:clamp(1.25rem,2.5vw,1.75rem);transition:transform .35s,box-shadow .35s;display:grid}.review-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.review-stars{color:#c4a15a;gap:.2rem;display:flex}.review-card p{color:var(--text);font-size:1.0625rem;line-height:1.6}.review-card strong{color:var(--ink);font-weight:500}@media (width>=720px){.review-cards{grid-template-columns:repeat(2,1fr);gap:1.25rem}}.area-card{z-index:1;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:1rem;display:grid;position:relative}.area-counties{align-content:center;gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.area-county{border-radius:var(--radius-sm);border:1px solid var(--line);padding:.8rem .9rem .9rem;transition:border-color .2s,background .2s}.area-county.is-active{border-color:var(--accent);background:var(--bg-soft)}.area-county-head{letter-spacing:-.01em;color:var(--ink);align-items:center;gap:.9rem;font-size:1.125rem;font-weight:500;display:flex}.area-towns{flex-wrap:wrap;gap:.4rem;margin:.7rem 0 0;padding:0;list-style:none;display:flex}.area-towns li{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:999px;padding:.3rem .7rem;font-size:.875rem;transition:border-color .2s,background .2s,color .2s}.area-towns li.is-active{border-color:var(--accent);background:var(--accent);color:#fff}.area-pin{background:var(--hl-bg);width:2.5rem;height:2.5rem;color:var(--hl-text);border-radius:999px;flex-shrink:0;place-items:center;display:grid}.area-map{border-radius:var(--radius-sm);width:clamp(7.5rem,14vw,10rem);height:100%;min-height:20rem}.area-map-ocean{fill:var(--hl-bg)}.area-map-land{fill:var(--bg-soft)}.area-map-coast{fill:none;stroke:#c3d2e6;stroke-width:1.5px}.area-map-waterway{fill:none;stroke:#d9e3ef;stroke-width:1.5px;stroke-dasharray:3 4}.area-map-county-line{stroke:#b4c4da;stroke-width:1px;stroke-dasharray:4 3}.area-map-county{fill:#8ea3bf;font:600 8px/1 var(--font);letter-spacing:.3em;text-anchor:middle}.area-map-label{fill:#8ea3bf;font:600 7px/1 var(--font);letter-spacing:.35em;text-anchor:middle}.area-map-north path{fill:var(--accent)}.area-map-north text{fill:var(--accent);font:600 8px/1 var(--font);text-anchor:middle}.area-map-dot circle{fill:var(--accent);transition:r .2s}.area-map-dot .area-map-halo{fill:var(--accent);opacity:.15}.area-map-dot.is-active .area-map-halo{r:8px;opacity:.25}.area-map-dot.is-focus .area-map-halo{r:11px;opacity:.35}@media (width<=480px){.area-card{grid-template-columns:1fr}.area-map{display:none}}.hero{--hl-bg:var(--cream);--hl-text:var(--cream-text);--hl-line:var(--cream);min-height:max(720px,100svh);padding:calc(var(--header-h) + 3rem) 0 9rem;color:#fff;background:#0b1a2c;align-items:center;display:flex;position:relative;overflow:hidden}.hero-media{object-fit:cover;object-position:78% 42%;width:100%;height:100%;animation:16s ease-out forwards hero-drift;position:absolute;inset:0}@keyframes hero-drift{0%{transform:scale(1.07)}to{transform:none}}.hero-content>*{animation:.7s cubic-bezier(.22,1,.36,1) both fade-up}.hero-content>:first-child{animation-delay:80ms}.hero-content>:nth-child(2){animation-delay:.16s}.hero-content>:nth-child(3){animation-delay:.24s}.hero-content>:nth-child(4){animation-delay:.32s}.hero-content>:nth-child(5){animation-delay:.42s}.hero-shade{background:linear-gradient(90deg,#081220c7 0%,#08122073 36%,#0812201f 58%,#0000 76%),linear-gradient(#08122052 0%,#0000 28%);position:absolute;inset:0}.hero-content{justify-items:start;gap:1.5rem;display:grid;position:relative}.hero h1{color:#fff;max-width:12ch;font-size:clamp(2.75rem,6vw,4.5rem)}.hero-accent{color:#bfe2fb}.hero-sub{color:#ffffffe6;margin-top:-.5rem;font-size:1.25rem}.hero-sub strong{color:#fff;font-weight:600}.hero-text{color:#fffffff0;max-width:30rem;font-size:1.125rem;line-height:1.65}.hero-specs{border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(12px);background:#ffffff1a;border:1px solid #ffffff24;margin:.5rem 0;padding:.85rem .5rem;display:flex}.hero-specs div{padding:0 1.1rem}.hero-specs div+div{border-left:1px solid #ffffff2e}.hero-specs dt{color:#ffffffe6;font-size:.9375rem}.hero-specs dd{color:#fff;margin:.15rem 0 0;font-size:1.0625rem;font-weight:500}.overview{z-index:2;margin-top:-6rem;position:relative}.overview-card{border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line);background:#fff;gap:2rem;padding:clamp(1.75rem,3vw,2.25rem) clamp(1.5rem,3vw,2.25rem);display:grid}.estimate-head{gap:.4rem;display:grid}.estimate-head h2{letter-spacing:-.02em;font-size:clamp(1.375rem,2.4vw,1.75rem);font-weight:600}.estimate-head p{color:var(--muted);font-size:1.0625rem}.overview-info{padding-top:clamp(3rem,6vw,4.5rem)}.overview-panel{border-radius:var(--radius);border:1px solid var(--line);gap:2rem;padding:clamp(1.75rem,3vw,2.25rem) clamp(1.5rem,3vw,2.25rem);display:grid}.overview-panel.section-blue{border-color:#0000}.overview-grid{gap:2rem;display:grid}.overview-title{letter-spacing:-.015em;color:var(--ink);align-items:center;gap:1rem;margin-bottom:.75rem;font-size:1.375rem;font-weight:600;display:flex}.icon-badge{background:var(--hl-bg);width:3.25rem;height:3.25rem;color:var(--hl-text);border-radius:999px;flex-shrink:0;place-items:center;display:grid}.overview-info .spec-list{grid-template-columns:max-content minmax(0,1fr);display:grid}.overview-info .spec-list li{grid-column:1/-1;grid-template-columns:subgrid;gap:0;padding:1.1rem 0}.overview-info .spec-list span{padding-right:1rem;font-weight:600}.overview-info .spec-list strong{border-left:1px solid var(--line);color:var(--muted);padding-left:1rem}.section-blue .stats dt{color:var(--hl-line)}.about-grid{align-items:center;gap:3rem;display:grid}.about-media{aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);width:100%}.about-body{justify-items:start;gap:1.5rem;display:grid}.about-body h2{max-width:16ch}.stats{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1.5rem;width:100%;margin:1rem 0;padding-top:2rem;display:grid}.stats dt{letter-spacing:-.03em;color:var(--ink);font-size:clamp(2rem,4vw,2.75rem);font-weight:500;line-height:1}.stats dd{color:var(--muted);margin:.6rem 0 0;font-size:1rem;line-height:1.45}.why-grid{gap:0 3rem;margin:0;padding:0;list-style:none;display:grid}.why-grid li{border-top:1px solid var(--line);align-content:start;gap:.6rem;padding:2rem 0;display:grid}.why-num{background:var(--hl-bg);width:2.5rem;height:2.5rem;color:var(--hl-text);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;margin-bottom:.5rem;font-size:.9375rem;font-weight:600;display:grid}.why-grid p{color:var(--muted);max-width:30rem}.materials-section{padding-bottom:0}.materials-section .section-head{max-width:46rem}.materials-section .section-head p{max-width:none}.materials-grid{gap:1.15rem;margin:0;padding:0;list-style:none;display:grid}.materials-grid>li{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);align-content:start;gap:.7rem;padding:1.5rem 1.4rem 1.6rem;display:grid}.materials-lead,.materials-points strong{color:var(--ink);font-weight:600}.materials-grid p{color:var(--muted)}.materials-points{gap:.95rem;margin:0;padding:0;list-style:none;display:grid}.materials-points strong{margin-bottom:.25rem;display:block}.brand-marquee{border-top:1px solid var(--line);background:var(--bg-soft);margin-top:clamp(3rem,6vw,5rem);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.brand-track{width:max-content;animation:36s linear infinite brand-marquee;display:flex}.brand-marquee:hover .brand-track{animation-play-state:paused}.brand-set{align-items:center;gap:3.25rem;margin:0;padding:1.65rem 3.25rem 1.65rem 0;list-style:none;display:flex}.brand-set li{flex:none;place-items:center;height:3.25rem;display:grid}.brand-set img{object-fit:contain;width:auto;max-width:12.5rem;height:2.5rem;display:block}@keyframes brand-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.brand-track{flex-wrap:wrap;justify-content:center;width:100%;animation:none}.brand-set:last-child{display:none}.brand-set{flex-wrap:wrap;justify-content:center;gap:1.75rem 2.5rem;padding:1.25rem 1.5rem}.brand-marquee{-webkit-mask-image:none;mask-image:none}}.area-section{padding-bottom:0;position:relative;overflow:hidden}.area-grid{z-index:1;gap:2.5rem 4rem;display:grid;position:relative}.area-photo{object-fit:cover;object-position:30% 70%;width:100%;height:16rem;margin-top:-3rem;display:block;-webkit-mask-image:linear-gradient(#0000,#000 45%);mask-image:linear-gradient(#0000,#000 45%)}@media (width<=560px){.hero-shade{background:linear-gradient(#0812208c 0%,#081220b3 100%)}.hero-specs div{padding:0 .75rem}.hero-specs dd{font-size:.9375rem}.stats{grid-template-columns:1fr}}@media (width>=720px){.overview-grid{grid-template-columns:repeat(3,1fr);gap:0}.overview-grid>div{padding-inline:clamp(1.25rem,2.5vw,2rem)}.overview-grid>div:first-child{padding-left:0}.overview-grid>div:last-child{padding-right:0}.overview-grid>div+div{border-left:1px solid var(--line)}.why-grid,.materials-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=720px) and (width<=1279px){.overview-info .spec-list li{font-size:1rem}.overview-info .spec-list span{padding-right:.75rem}.overview-info .spec-list strong{padding-left:.75rem}}@media (width>=1000px){.about-grid{grid-template-columns:1fr 1fr;gap:6rem}.why-grid,.materials-grid{grid-template-columns:repeat(3,1fr)}.area-section{padding-bottom:clamp(5rem,11vw,9rem)}.area-grid{grid-template-columns:1fr 1fr;align-items:center;min-height:34rem}.area-grid .section-head{align-self:start}.area-photo{-webkit-mask-composite:source-in;width:58%;height:50%;margin:0;position:absolute;bottom:0;left:0;-webkit-mask-image:linear-gradient(#0000,#000 50%),linear-gradient(270deg,#0000,#000 35%);mask-image:linear-gradient(#0000,#000 50%),linear-gradient(270deg,#0000,#000 35%);-webkit-mask-composite:source-in;mask-composite:intersect}.area-grid .section-head{margin-bottom:0}}.legal-body{gap:2.75rem;max-width:44rem;display:grid}.legal-body section{gap:1rem;display:grid}.legal-body h2{letter-spacing:-.015em;font-size:1.375rem}.legal-body p,.legal-body li{overflow-wrap:anywhere;font-size:1.125rem;line-height:1.75}.legal-body ul{gap:.6rem;margin:0;padding-left:1.25rem;display:grid}.legal-body li::marker{color:var(--muted)}.service-band{scroll-margin-top:var(--header-h);padding:clamp(4rem,9vw,7rem) 0}.service-row{align-items:center;gap:2rem;display:grid}.service-row-media{border-radius:var(--radius);aspect-ratio:4/3;background:var(--bg-soft);position:relative;overflow:hidden}.section-blue .service-row-media{background:#ffffff14}.service-row-media img{object-fit:cover;width:100%;height:100%;transition:transform .8s}.service-row-media:hover img{transform:scale(1.04)}.service-photo-caption{z-index:1;color:#fff;width:max-content;max-width:calc(100% - 2rem);font:600 .875rem/1.25 var(--font);letter-spacing:.01em;background:#0e1726d1;border-radius:.45rem;margin:0;padding:.45rem .85rem;position:absolute;bottom:4.15rem;left:1rem;right:1rem;box-shadow:0 8px 20px -12px #08131fb3}.service-see-more{z-index:1;background:var(--cream);min-height:2.5rem;color:var(--ink);font:600 .9375rem/1 var(--font);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:.35rem;padding:0 1.05rem 0 1.15rem;transition:background .2s,transform .2s;display:inline-flex;position:absolute;bottom:1rem;left:1rem;box-shadow:0 10px 24px -10px #08131fa6}.service-see-more:hover{background:#fff;transform:translateY(-1px)}.service-see-more svg{transition:transform .2s}.service-see-more:hover svg{transform:translate(2px)}.service-row-body{justify-items:start;gap:1.25rem;display:grid}.service-row-body h2{font-size:clamp(1.75rem,3vw,2.5rem)}.service-row-body .spec-list{border-top:1px solid var(--line);width:100%;max-width:28rem}.service-features{gap:1rem;width:100%;margin:0;padding:0;list-style:none;display:grid}.service-features li{border-top:1px solid var(--line);gap:.3rem;padding-top:1rem;display:grid}.service-features strong{color:var(--ink);font-size:1.0625rem;font-weight:600}.section-blue .service-features strong{color:#fff}.service-features p{color:var(--muted);font-size:1.0625rem}@media (width>=1000px){.service-row{grid-template-columns:1.1fr 1fr;gap:5rem}.service-row.is-flipped .service-row-media{order:2}}
