/* Brand accents: --teal and --hover may follow Color Preferences. Structural colors, typography and gutters retain the reference design. */
/* TOKENS AND LOCAL FONTS */
@font-face{font-family:'The Nautigal';src:url('../fonts/the-nautigal.ttf') format('truetype');font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/inter-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/inter-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url('../fonts/inter-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'Libre Caslon Display';src:url('../fonts/libre-caslon-display.ttf') format('truetype');font-display:swap}
:root{--paper:#f8f6f3;--ink:#101d28;--muted:#485768;--teal:#1e3a5f;--hover:#182f4d;--soft:#edf4f2;--line:#c6dedf;--sans:Inter,Arial,sans-serif;--serif:Georgia,'Libre Caslon Display',serif;--gutter:clamp(24px,5.3135vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--paper);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}[hidden]{display:none!important}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.15;letter-spacing:-1px}h1{font-size:48px}h2{font-size:36px}h3{font-size:22px;line-height:1.3;font-weight:500}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}a,button{touch-action:manipulation}:focus-visible{outline:3px solid #b57c28;outline-offset:4px}p,h1,h2,h3,a{overflow-wrap:anywhere}.container{width:calc(100% - var(--gutter)*2);max-width:1280px;margin-inline:auto}.section{padding-block:64px}.soft{background:var(--soft)}.eyebrow{font-size:12px;letter-spacing:2.5px;text-transform:uppercase;font-weight:500;color:var(--teal);margin-bottom:12px}.lead{font-size:18px;line-height:1.7;color:var(--muted);margin-top:22px}.section h2+p,.split-section p,.value-grid p{margin-top:18px;color:var(--muted)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.prose{max-width:900px}.prose p{margin-top:22px}.prose a,.contextual a,.article-body a{color:var(--teal);text-decoration:underline;text-underline-offset:4px}.contextual{margin-top:28px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:white;padding:12px 20px}.skip-link:focus{top:12px}
/* CHROME */
.site-header{display:flex;align-items:center;gap:24px;min-height:90px;position:relative;z-index:30}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;max-width:240px}.brand>img{width:54px;height:50px;object-fit:contain}.brand__name{font-size:16px;line-height:1.25;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;max-width:180px}.brand__name span{display:block}.main-nav{display:flex;align-items:center;gap:16px;margin-left:auto;font-size:12px}.main-nav>a,.services-menu>summary{display:flex;align-items:center;min-height:44px;position:relative;cursor:pointer}.main-nav>a:hover,.main-nav [aria-current=page],.services-menu>summary:hover{color:var(--teal)}.main-nav>[aria-current=page]{text-decoration:underline;text-underline-offset:8px}.services-menu{position:relative}.services-menu>summary{list-style:none;gap:6px}.services-menu>summary::-webkit-details-marker{display:none}.services-menu>summary:after{content:'⌄'}.services-dropdown{position:absolute;top:100%;left:0;width:250px;padding:12px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 35px #101d2815}.services-dropdown a{display:block;padding:10px 12px;min-height:44px}.services-dropdown a:hover{background:var(--soft);color:var(--teal)}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 25px;border:1px solid transparent;border-radius:999px;background:var(--teal);color:white;font-size:14px;font-weight:600;line-height:1.4;transition:background .2s,box-shadow .2s}.button:hover{background:var(--hover);box-shadow:0 5px 16px #1e3a5f20}.button svg{flex-shrink:0;transition:transform .2s}.button:hover svg{transform:translateX(3px)}.header-cta{font-size:12px;padding:10px 17px;white-space:nowrap}.text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--teal);font-size:14px;text-decoration:underline;text-underline-offset:5px}.menu-toggle{display:none}.site-footer{padding-block:30px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:24px}.footer-phone{color:var(--teal);display:flex;align-items:center;min-height:44px}.site-footer nav{display:flex;flex-wrap:wrap;gap:8px 26px;margin:25px 0;font-size:14px}.site-footer nav a{display:flex;align-items:center;min-height:44px}.site-footer nav a:hover{color:var(--teal)}.footer-bottom{border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:space-between;gap:24px;font-size:12px;color:var(--muted)}
.header-phone{gap:9px;white-space:nowrap}.header-phone svg{width:22px;height:22px;flex:0 0 22px;color:var(--teal);stroke-width:2}.header-phone__copy{display:flex;flex-direction:column;justify-content:center;line-height:1.15}.header-phone__copy strong{font-size:13px;font-weight:600}.header-phone__copy small{margin-top:4px;color:#6d777c;font-size:9px;font-weight:400;letter-spacing:-.1px}.header-phone:hover{color:var(--teal)}
/* INTRO AND SHARED CONTENT */
.page-intro{padding-block:32px 40px}.breadcrumb{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--muted);margin-bottom:40px}.breadcrumb a{color:var(--teal);min-height:32px}.intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:64px}.intro-copy{max-width:850px;padding-bottom:16px}.content-photo{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:38% 10% 22% 3% / 50% 14% 26% 4%;background:#dce9e8}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.split-section>*{min-width:0}.value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:35px}.small-number{display:block;color:var(--teal);font:32px var(--serif);margin-bottom:16px}.steps-grid{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:0;margin:35px 0 0}.steps-grid li{display:flex;gap:18px;border-left:1px solid var(--line);padding-left:22px}.steps-grid li:first-child{border:0;padding-left:0}.step-number{font:36px var(--serif);color:var(--teal)}.steps-grid h3{font-size:20px}.steps-grid p{font-size:15px;color:var(--muted);margin-top:8px}.cta{position:relative;padding:65px 0 75px;background:var(--teal);color:white;overflow:hidden}.cta:after{content:'';position:absolute;bottom:-60px;width:120%;left:-10%;height:95px;border-radius:50%;background:var(--paper)}.cta .eyebrow{color:#cfe8e7}.cta h2{max-width:820px}.cta p:not(.eyebrow){max-width:650px;margin-top:20px}.cta .button{margin-top:25px}.button-white{background:white;color:var(--teal)}.button-white:hover{background:#e5f1ef}
/* HUBS */
.hub-grid,.text-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}.link-card{display:flex;flex-direction:column;min-width:0}.link-card .content-photo{aspect-ratio:4/3;transition:filter .2s}.link-card:hover .content-photo{filter:brightness(.95)}.card-copy{padding:20px 0 0;display:flex;flex-direction:column;flex:1}.card-copy p{font-size:16px;line-height:1.6;color:var(--muted);margin:10px 0 14px}.card-copy .text-link{margin-top:auto;align-self:start}.text-card-grid{margin-top:28px}.text-card-grid .card-copy{padding:24px;border:1px solid var(--line);border-radius:22px 22px 22px 4px;background:var(--paper);gap:20px}.pagination{display:flex;justify-content:center;gap:8px;margin-top:36px;flex-wrap:wrap}.pagination button{min-width:44px;min-height:44px;padding:8px;border:1px solid var(--line);background:transparent;color:var(--teal);border-radius:50%}.pagination button[aria-current=page],.pagination button:hover{background:var(--teal);color:white}
.related-article-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.related-article-card .card-copy{height:100%;transition:border-color .2s,box-shadow .2s,transform .2s}.related-article-card:hover .card-copy{border-color:#8dbdc0;box-shadow:0 12px 28px #101d2810;transform:translateY(-2px)}
/* FAQ AND REVIEWS */
.faq-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:64px}.faq-list{border-top:1px solid var(--line);min-width:0}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;min-height:64px;padding:18px 0;cursor:pointer;font-weight:500}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{font-size:24px;color:var(--teal);flex-shrink:0}.faq-item[open] summary span{transform:rotate(45deg)}.faq-item p{padding:0 25px 24px 0;color:var(--muted)}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:32px}.review-card{padding:28px;background:var(--paper);border:1px solid var(--line);border-radius:24px 24px 24px 4px;min-width:0}.review-card blockquote{margin:0}.review-card footer{border-top:1px solid var(--line);margin-top:24px;padding-top:16px}.review-author{font-weight:600;font-size:14px}.review-source{font-size:13px;color:var(--muted)}.review-clamped{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.review-toggle{background:none;color:var(--teal);border:0;border-bottom:1px solid var(--line);padding:8px 0;min-height:44px;margin-top:12px}
/* CONTACT AND ARTICLE */
.contact-layout{display:grid;grid-template-columns:minmax(0,35fr) minmax(0,65fr);gap:48px;padding-top:12px}.contact-layout aside{padding-top:30px}.contact-number{display:flex;align-items:center;min-height:48px;font-size:26px;color:var(--teal);margin:14px 0}.contact-layout aside p{color:var(--muted)}.contact-palm{width:140px;height:auto;margin-top:50px;opacity:.55}.form-card{padding:32px;border:1px solid var(--line);border-radius:24px;background:#fffdf9;box-shadow:0 16px 40px #244e5510;min-width:0}.form-card h2{font-size:30px;margin-bottom:26px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form>div{min-width:0}.contact-form label{display:block;font-size:14px;margin-bottom:8px}.contact-form input,.contact-form textarea{width:100%;min-width:0;min-height:50px;border:1px solid var(--line);border-radius:10px;background:#fffefd;padding:12px 14px;color:var(--ink);font-size:16px}.contact-form textarea{resize:vertical}.contact-form :is(input,textarea):focus{box-shadow:0 0 0 3px #1e3a5f24}.full{grid-column:1/-1}.article{max-width:1120px;padding-bottom:40px}.article>.content-photo{margin:24px 0 48px}.article-meta{display:flex;gap:24px;font-size:13px;color:var(--muted)}.article-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:64px}.article-toc{align-self:start;position:sticky;top:25px;border-left:2px solid var(--line);padding-left:22px}.article-toc h2{font:500 16px var(--sans);letter-spacing:0;margin-bottom:16px}.article-toc a{display:block;padding:10px 0;font-size:14px;color:var(--muted)}.article-body section{margin-bottom:40px;scroll-margin-top:32px}.article-body h2{font-size:30px;margin-bottom:20px}.article-body p{margin-top:16px}.error-page{padding-block:100px;min-height:60vh}.error-page p{margin:20px 0}.button-row{display:flex;gap:24px;align-items:center}
/* HOME */
.home-hero{position:relative;min-height:620px;padding:82px 0 146px;isolation:isolate;overflow:hidden}.home-hero-copy{max-width:50%;position:relative;z-index:4}.home-hero h1{max-width:600px;font-family:'Libre Caslon Display',Georgia,serif;font-size:clamp(52px,4.55vw,66px);line-height:1.02;letter-spacing:-1.5px}.home-hero h1 span{display:block}.home-hero .lead{max-width:465px;margin-top:25px;font-size:16px;line-height:1.45}.home-hero .button{margin-top:28px;min-width:216px}.hero-photo-clip-defs{position:absolute;width:0;height:0;overflow:hidden}.home-hero-photo{position:absolute;inset:0 0 0 38.5%;z-index:0;overflow:hidden;clip-path:url(#home-photo-clip);pointer-events:none}.home-hero-photo img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 50%;border-radius:0}.home-hero-photo:after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--paper) 0,#f8f6f3e8 18%,#f8f6f388 38%,transparent 58%)}.hero-wave{position:absolute;left:0;bottom:-1px;width:100%;height:168px;stroke:none;z-index:3;pointer-events:none}.benefits{display:flex;gap:38px;list-style:none;margin:34px 0 0;padding:0}.benefits li{display:flex;align-items:center;gap:10px;max-width:145px;font-size:12px;line-height:1.35}.benefit-mark{font-size:28px;color:var(--teal)}
.home-services{padding-top:42px;padding-bottom:38px}.home-services .section-heading{margin-bottom:26px}.home-services .section-heading h2{font-size:clamp(34px,3vw,42px)}.home-services-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:38px 32px}.home-services .link-card .content-photo{aspect-ratio:4/3;object-fit:cover;border-radius:46% 18% 18% 2% / 48% 18% 20% 3%}.home-services .card-copy{padding-top:15px}.home-services .card-copy h3{font-size:20px;font-weight:600}.home-services .card-copy p{max-width:245px;margin:6px 0 0;font-size:16px;line-height:1.42}.home-project{position:relative;overflow:hidden;background:var(--paper)}.home-project-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,54vw) minmax(0,420px);align-items:center;gap:clamp(44px,5.4vw,76px);max-width:1440px;margin-inline:auto;padding-right:var(--gutter)}.home-project-media{display:block;min-width:0;aspect-ratio:2.12/1;overflow:hidden;border-radius:0 42px 42px 0}.home-project-photo{width:100%;height:100%;object-fit:cover;object-position:center 58%}.home-project-copy{max-width:420px;padding-block:36px}.home-project-copy h2{font-size:34px;line-height:1.08}.home-project-copy>p:not(.eyebrow){margin-top:14px;color:var(--muted);font-size:16px;line-height:1.45}.home-project-copy .text-link{margin-top:14px}.home-project-palm{position:absolute;right:-10px;bottom:-16px;z-index:0;width:170px;height:auto;opacity:.72;pointer-events:none}
@media(max-width:1199px){.site-header{min-height:80px}.header-cta{margin-left:auto;margin-right:54px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:0;background:none;position:absolute;right:0;z-index:32}.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink)}.main-nav{display:none;position:absolute;z-index:31;top:100%;left:calc(-1*var(--gutter));right:calc(-1*var(--gutter));padding:20px var(--gutter) 30px;background:var(--paper);border-bottom:1px solid var(--line);max-height:calc(100dvh - 80px);overflow:auto;box-shadow:0 24px 30px #101d2818;font-size:16px}.main-nav.is-open{display:block}.main-nav>a,.services-menu>summary{min-height:48px}.main-nav .header-phone{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.header-phone__copy strong{font-size:15px}.header-phone__copy small{font-size:12px}.services-dropdown{position:static;width:auto;box-shadow:none;border-radius:0;border:0;border-left:1px solid var(--line);margin-bottom:12px;padding:0 15px}.services-dropdown a{font-size:14px}}
@media(min-width:1200px) and (max-width:1350px){.main-nav{gap:10px}.brand__name{font-size:14px}.header-cta{padding-inline:14px}}
@media(max-width:899px){.intro-grid,.split-section{gap:32px}.intro-grid h1{font-size:40px}.hub-grid,.text-card-grid,.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}.home-services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}.home-project-grid{grid-template-columns:1fr;gap:28px;padding-right:0}.home-project-media{width:calc(100% - var(--gutter));aspect-ratio:16/9;border-radius:0 36px 36px 0}.home-project-copy{width:calc(100% - var(--gutter)*2);max-width:none;margin-inline:auto;padding:0 0 52px}.home-project-palm{width:135px;opacity:.5}.faq-layout{grid-template-columns:1fr;gap:30px}.contact-layout{grid-template-columns:1fr;gap:28px}.contact-palm{display:none}.contact-layout aside{padding-top:0}.article-layout{grid-template-columns:1fr;gap:32px}.article-toc{position:static}.home-hero{min-height:590px;padding-top:64px}.home-hero-copy{max-width:58%}.home-hero h1{font-size:50px}.home-hero-photo{left:35%}.benefits{gap:16px}.value-grid{gap:24px}.steps-grid{gap:18px}.steps-grid li{padding-left:12px;gap:10px}}
@media(max-width:599px){.section{padding-block:40px}h1,.intro-grid h1{font-size:36px}h2{font-size:30px}h3{font-size:20px}.lead{font-size:16px}.brand__name{font-size:13px;max-width:155px}.brand{max-width:220px}.brand>img{width:44px;height:44px}.header-cta{display:none}.site-header{min-height:76px}.main-nav{max-height:calc(100dvh - 76px)}.page-intro{padding-top:18px;padding-bottom:20px}.breadcrumb{margin-bottom:25px}.intro-grid,.split-section{grid-template-columns:1fr;gap:28px}.intro-grid .content-photo{margin-top:8px}.hub-grid,.text-card-grid,.review-grid,.value-grid,.steps-grid,.related-article-grid,.home-services-grid{grid-template-columns:1fr;gap:26px}.home-services{padding-top:34px;padding-bottom:34px}.home-services .section-heading{margin-bottom:24px}.home-project-media{width:calc(100% - 24px);border-radius:0 28px 28px 0}.home-project-copy{width:calc(100% - 48px);padding-bottom:44px}.home-project-copy h2{font-size:30px}.home-project-palm{right:-34px;width:120px;opacity:.4}.section-heading{align-items:start;flex-direction:column;gap:12px}.steps-grid li,.steps-grid li:first-child{padding:0 0 20px;border:0;border-bottom:1px solid var(--line);gap:18px}.steps-grid li:last-child{border:0}.faq-item summary{min-height:56px}.form-card{padding:24px 20px}.contact-form{grid-template-columns:1fr}.contact-number{font-size:23px}.contact-layout{padding-top:10px}.footer-top{flex-direction:column;align-items:start;gap:14px}.site-footer nav{gap:4px 22px}.footer-bottom{flex-direction:column;gap:10px}.cta{padding:45px 0 65px}.article-body h2{font-size:28px}.article>.content-photo{margin-bottom:30px}.home-hero{min-height:0;padding:38px 0 372px}.home-hero-copy{max-width:100%}.home-hero h1{font-size:44px;line-height:1.04}.home-hero .lead{line-height:1.55}.home-hero-photo{inset:auto 0 0;height:350px;clip-path:none;border-radius:72px 0 0 0}.home-hero-photo:after{background:linear-gradient(180deg,var(--paper) 0,#f8f6f366 16%,transparent 40%)}.benefits{gap:12px;flex-wrap:wrap}.benefits li{flex:1 1 30%;min-width:92px}.hero-wave{height:92px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* RETAINED SCROLL SNAP AND DIALOG */
.gallery-controls { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.gallery-range { min-width: 68px; margin-right: 6px; font-size: 13px; color: var(--muted); font-variant-numeric: tabular-nums; text-align: right; }
.circle-button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: 0 0 44px; padding: 0; color: var(--teal); background: transparent; border: 1px solid #93bec1; border-radius: 50%; cursor: pointer; transition: color .2s, background .2s, border-color .2s; }
.circle-button:hover:not(:disabled) { background: var(--teal); border-color: var(--teal); color: white; }
.circle-button:disabled { opacity: .35; cursor: default; }
.circle-button svg { width: 20px; height: 20px; pointer-events: none; }
[data-gallery-previous] svg, [data-dialog-previous] svg { transform: rotate(180deg); }
.gallery-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 48px) / 3); gap: 24px; margin: 0; padding: 5px 0 8px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; list-style: none; }
.gallery-track::-webkit-scrollbar { display: none; }
.gallery-card { min-width: 0; scroll-snap-align: start; }
.gallery-card figure { margin: 0; }
.gallery-photo { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 40% 24% 18% 3% / 52% 24% 18% 4%; }
.gallery-photo:focus-visible { outline-offset: -4px; }
.gallery-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.gallery-photo:hover img { transform: scale(1.025); }
.gallery-card figcaption { padding-top: 16px; font-size: 16px; line-height: 1.5; overflow-wrap: anywhere; }
.gallery-card figcaption span { display: block; }
.gallery-location { color: var(--muted); font-size: 13px; margin-top: 3px; }

.gallery-dialog { width: min(1100px, calc(100% - 48px)); max-width: none; max-height: calc(100dvh - 48px); margin: auto; padding: 20px 24px; border: 1px solid #536166; border-radius: 20px; background: #172b32; color: #fff; overflow: auto; box-shadow: 0 20px 80px #0006; }
.gallery-dialog[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 16px; }
.gallery-dialog::backdrop { background: #09171ce8; }
.gallery-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.gallery-dialog-header h2 { margin: 0; font: 500 18px/1.4 var(--sans); overflow-wrap: anywhere; }
.gallery-dialog .circle-button { color: #fff; border-color: #91acb2; }
.gallery-dialog-stage { position: relative; display: grid; place-items: center; height: min(65dvh, 680px); min-height: 180px; }
.gallery-dialog-image { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.gallery-load-state { position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); text-align: center; pointer-events: none; font-size: 16px; line-height: 1.5; }
.gallery-retry { border: 1px solid #91acb2; border-radius: 999px; padding: 10px 20px; min-height: 44px; margin-top: 16px; color: white; background: transparent; cursor: pointer; pointer-events: auto; }
.gallery-retry:hover { background: var(--teal); }
.gallery-dialog-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.gallery-dialog-footer > p { font-size: 14px; line-height: 1.6; color: #d5e4e6; overflow-wrap: anywhere; }
.gallery-dialog-navigation { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
[data-dialog-counter] { min-width: 54px; text-align: center; font-size: 14px; font-variant-numeric: tabular-nums; }


@media(max-width:899px){.gallery-track{grid-auto-columns:calc((100% - 20px)/2);gap:20px}}
@media(max-width:599px){.gallery-track{grid-auto-columns:88%;gap:16px}.gallery-dialog{width:calc(100% - 24px);padding:14px}.gallery-dialog-footer{flex-direction:column;align-items:stretch}.gallery-dialog-stage{height:50dvh}.gallery-dialog-navigation{justify-content:center}}

@media(max-width:1199px){html:not(.js) .main-nav{display:block;position:static;flex:0 0 100%;max-height:none;box-shadow:none;padding:15px 0}html:not(.js) .site-header{flex-wrap:wrap}html:not(.js) .menu-toggle{display:none}}

.svg-library{position:absolute;width:0;height:0;overflow:hidden}.benefit-mark{width:24px;height:28px;flex-shrink:0}
/* HOME PROCESS, COASTAL INVITATION AND FOOTER */
.home-process{position:relative;overflow:hidden;padding:38px 0 44px;background:var(--paper)}
.home-process>.container{position:relative;z-index:1;max-width:980px}
.home-process .eyebrow,.home-process h2{text-align:center}
.home-process h2{font-size:36px}
.home-process .steps-grid{margin-top:30px;gap:30px}
.home-process .steps-grid h3{font-family:var(--serif);font-size:20px;letter-spacing:-.3px}
.home-process .steps-grid p{font-size:15px;line-height:1.45;margin-top:8px}
.home-process-palm{position:absolute;bottom:-8px;left:-12px;width:145px;height:auto;opacity:.7;pointer-events:none}
.home-cta{isolation:isolate;min-height:300px;padding:34px 0 65px;background:var(--teal)}
.home-cta:after{inset:0;z-index:1;width:100%;height:100%;border-radius:0;background:linear-gradient(90deg,color-mix(in srgb, var(--teal) 90%, transparent) 0%,color-mix(in srgb, var(--teal) 80%, transparent) 32%,color-mix(in srgb, var(--teal) 25%, transparent) 64%,transparent 84%);pointer-events:none}
.home-cta-photo{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;pointer-events:none}
.home-cta-copy{position:relative;z-index:3}
.home-cta .eyebrow{font-size:11px;letter-spacing:2.7px;margin-bottom:14px}
.home-cta h2{font-size:46px;line-height:1.1;max-width:650px}
.home-cta .home-cta-copy>p:not(.eyebrow){font-size:18px;line-height:1.35;max-width:410px;margin-top:14px}
.home-cta .button{margin-top:22px;min-width:206px;min-height:46px}
.home-cta .home-cta-writing{position:absolute;z-index:2;left:54%;top:40%;max-width:165px;margin:0;color:white;font:46px/.85 'The Nautigal',cursive;transform:rotate(-9deg);text-align:center;pointer-events:none}
.home-cta-writing:after{content:'';display:block;width:55px;height:2px;border-radius:50%;background:white;margin:15px 0 0 85px;transform:rotate(-5deg)}
.home-cta-wave{position:absolute;bottom:-1px;left:0;width:100%;height:90px;z-index:4;stroke:none;pointer-events:none}
.home-footer{padding-block:18px 20px}
.home-footer .footer-top{display:grid;grid-template-columns:220px minmax(0,1fr) auto 190px;gap:24px;min-height:76px}
.home-footer .brand>img{width:60px;height:60px}
.home-footer .brand__name{color:var(--teal);font-size:16px;letter-spacing:1.2px}
.home-footer nav{justify-content:center;gap:0 16px;margin:0;font-size:12px;line-height:1.2}
.home-footer .footer-phone{gap:10px;color:var(--ink);line-height:1.3}
.home-footer .footer-phone>svg{width:25px;height:25px;flex-shrink:0;color:var(--teal)}
.home-footer .footer-phone strong{display:block;font-size:13px;font-weight:600}
.home-footer .footer-phone small{display:block;font-size:9px;color:var(--muted);margin-top:4px}
.footer-social{display:flex;align-items:center;gap:10px;color:var(--ink)}
.footer-social span{display:flex;align-items:center;justify-content:center;width:28px;height:32px}
.footer-social svg{width:20px;height:20px;stroke-width:2}
.home-footer .footer-bottom{margin-top:10px;padding-top:14px;border-color:#dce5e3;font-size:10px;gap:20px}
.home-footer .footer-bottom p:last-child{color:var(--teal);font-size:9px;letter-spacing:1.4px;text-transform:uppercase;text-align:right}
@media(min-width:1441px){.home-cta{min-height:350px;padding-top:50px}.home-cta-photo{object-position:center 52%}}
@media(max-width:1099px){.home-footer .footer-top{grid-template-columns:200px 1fr 180px;gap:18px}.home-footer .footer-social{grid-column:2;grid-row:2;justify-content:center}.home-footer .footer-phone{grid-column:3;grid-row:1 / span 2}.home-footer nav{gap:0 12px}.home-process>.container{width:calc(100% - var(--gutter)*2)}.home-process-palm{left:-45px;opacity:.45}}
@media(max-width:599px){.home-process{padding:36px 0}.home-process h2{font-size:30px}.home-process .steps-grid{grid-template-columns:1fr;gap:20px}.home-process .steps-grid li{padding-left:0}.home-process-palm{width:110px;opacity:.3;left:-55px}.home-cta{padding:36px 0 210px;min-height:490px}.home-cta h2{font-size:36px;max-width:340px}.home-cta .eyebrow{font-size:10px;letter-spacing:2px}.home-cta .home-cta-copy>p:not(.eyebrow){font-size:16px;max-width:320px}.home-cta:after{background:linear-gradient(180deg,color-mix(in srgb, var(--teal) 95%, transparent) 0%,color-mix(in srgb, var(--teal) 85%, transparent) 44%,color-mix(in srgb, var(--teal) 27%, transparent) 74%,transparent)}.home-cta-photo{object-position:72% center}.home-cta .home-cta-writing{left:48%;top:auto;bottom:85px;font-size:40px;max-width:145px}.home-cta-wave{height:65px}.home-footer .footer-top{grid-template-columns:1fr;gap:16px;padding-top:10px}.home-footer .brand{justify-self:center}.home-footer nav{justify-content:center;font-size:13px;gap:0 18px}.home-footer .footer-social{grid-column:1;grid-row:auto;justify-content:center}.home-footer .footer-phone{grid-column:1;grid-row:auto;justify-content:center;min-height:48px}.home-footer .footer-phone small{font-size:11px}.home-footer .footer-bottom{align-items:center;text-align:center;gap:8px}.home-footer .footer-bottom p:last-child{text-align:center}}

.service-map > img.service-map__photo, .inner-service-map > img.service-map__photo { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none; }
