:root{--navy:#12343e;--blue:#1b626d;--mint:#bbdcd0;--paper:#f5f7f3;--line:#cfdbd6;--muted:#53666a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--navy);font:16px/1.65 Arial,Helvetica,sans-serif}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.07;letter-spacing:-.045em}h1{font-size:clamp(50px,5.4vw,86px)}h2{font-size:clamp(38px,4.1vw,64px)}h1 span,h2 span{color:var(--blue)}h3{font-size:26px}p+p{margin-top:17px}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #e0a63b;outline-offset:5px}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:15px;background:var(--navy);color:white;padding:12px;z-index:99}.skip:focus{top:10px}.preview{background:var(--navy);color:white;display:flex;justify-content:space-between;gap:10px;padding:7px 5%;font-size:9px;letter-spacing:.07em}.preview a{text-decoration:underline;text-underline-offset:3px}header{height:96px;background:rgba(245,247,243,.98);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 5%;gap:25px}.brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:800;letter-spacing:.04em;line-height:1.1}.brand img{width:62px;height:62px;object-fit:contain;border-radius:50%}.brand small{display:block;font-size:8px;letter-spacing:.14em;margin-top:7px}header>nav{display:flex;gap:28px;font-size:12px}header>nav a{padding:14px 0}.call{padding:11px 16px;border:1px solid var(--navy);font-size:13px}.call:hover{background:var(--navy);color:white}.menu{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:4%;padding:76px 5% 80px;overflow:hidden}.eyebrow{font-size:9px;font-weight:bold;letter-spacing:.15em;line-height:1.6;margin-bottom:24px}.hero .eyebrow{max-width:430px}.hero-copy{align-self:center}.hero h1{animation:headline .8s ease-out both}.hero .intro{max-width:420px;font-size:17px;margin-top:29px;color:var(--muted)}.actions{display:flex;align-items:center;gap:24px;margin-top:29px;flex-wrap:wrap}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:26px;background:var(--navy);color:white;min-height:52px;padding:13px 21px;font-size:12px;transition:background .2s,transform .2s}.button:hover{background:var(--blue);transform:translateY(-2px)}.button b{font-size:19px;font-weight:400}.plain{font-size:11px;padding:12px 0}.hero-proof{display:flex;flex-wrap:wrap;gap:17px;font-size:10px;margin-top:39px;border-top:1px solid var(--line);padding-top:22px}.hero-proof span:before{content:'✓';margin-right:7px}.hero-visual{position:relative;min-height:550px;padding:0 0 110px 25px}.hero-visual>img{height:480px;object-fit:cover;object-position:65% center;border-radius:140px 0 0 0;animation:photo .95s ease-out both}.coast-inset{position:absolute;bottom:0;left:-35px;width:65%;background:var(--paper);padding:9px 9px 0}.coast-inset img{aspect-ratio:1.8;object-fit:cover}.coast-inset span{font-size:8px;letter-spacing:.12em;display:block;padding:10px 0}.waterline{position:absolute;right:-60px;bottom:20px;width:55%;pointer-events:none}.waterline svg{width:100%;fill:none;stroke:var(--blue);stroke-width:2}.waterline path{stroke-dasharray:500;animation:flow 1.5s ease-out both}.waterline circle{fill:var(--mint);stroke-width:3}.urgent{background:var(--mint);padding:25px 7%;display:flex;justify-content:space-between;align-items:center;gap:30px}.urgent>div{display:flex;gap:19px;align-items:center}.signal{width:11px;height:11px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 7px #a8cfc1}.urgent strong{font-size:20px;display:block;line-height:1.3}.urgent p span{font-size:12px}.urgent>a{display:flex;gap:25px;align-items:center;font-size:12px;min-height:44px}.urgent b{font-size:21px;font-weight:400}.section{padding:98px 7%;max-width:1600px;margin:auto}.section-title{max-width:770px;margin-bottom:42px}.section-title>p:last-child{max-width:530px;font-size:16px;margin-top:25px;color:var(--muted)}.service-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);margin-bottom:30px;gap:15px}.service-tabs button{border:0;background:none;color:var(--muted);border-bottom:3px solid transparent;padding:20px 0;text-align:left;font-size:12px;min-height:50px}.service-tabs button[aria-pressed=true]{color:var(--navy);border-color:var(--blue);font-weight:bold}.service-panel{display:grid;grid-template-columns:1.2fr 1fr;background:white;border:1px solid var(--line);margin-bottom:20px}.panel-photo{position:relative;min-height:430px;overflow:hidden}.panel-photo img{height:100%;object-fit:cover}.panel-photo>span{position:absolute;bottom:20px;left:20px;color:white;background:var(--navy);padding:10px 13px;font-size:8px;letter-spacing:.1em}.panel-copy{padding:44px 11%}.panel-copy h3{font-size:40px;line-height:1.08;margin-bottom:23px}.panel-copy>p:not(.eyebrow){font-size:14px;color:var(--muted)}.panel-copy ul{padding:0;list-style:none;font-size:12px;margin:25px 0 16px}.panel-copy li{padding:7px 0;border-top:1px solid var(--line)}.text-link{display:inline-flex;gap:20px;align-items:center;border-bottom:1px solid currentColor;font-size:12px;min-height:44px}.text-link:hover{color:var(--blue)}.service-note{font-size:12px;margin-top:22px;color:var(--muted)}.service-note a{display:inline-block;text-decoration:underline;text-underline-offset:4px;padding:8px 0}.island-band{height:610px;position:relative;overflow:hidden;background:var(--navy);color:white}.island-band>img{position:absolute;height:100%;object-fit:cover;filter:brightness(.48)}.island-band>div{position:relative;padding:78px 9%;max-width:850px}.island-band h2{font-size:clamp(45px,5.3vw,80px)}.island-band h2 span{color:var(--mint)}.island-band p:last-child{max-width:430px;font-size:15px;margin-top:26px}.about{display:grid;grid-template-columns:.7fr 1fr;gap:14%;align-items:start}.owner-card{background:var(--mint);padding:45px 35px 0;margin-top:37px;overflow:hidden}.owner-card>img{width:235px;max-width:100%;margin:auto;aspect-ratio:1.16;object-fit:cover}.owner-card>div{margin:30px auto 0;max-width:260px}.owner-card .eyebrow{display:block;margin-bottom:14px}.owner-card h3{font-size:35px}.owner-card p{font-size:12px;margin-top:17px}.owner-card svg{width:100%;fill:none;stroke:var(--blue);stroke-width:1;margin-top:10px;display:block}.owner-card.arrived svg path{stroke-dasharray:400;animation:flow 1s ease-out both}.about-copy .lead{font-size:20px;margin:25px 0 20px}.about-copy>p:not(.eyebrow):not(.lead){font-size:14px;color:var(--muted)}.principles{margin:30px 0 5px}.principles article{display:flex;gap:22px;border-top:1px solid var(--line);padding:22px 0}.principles article>b{font-size:10px;padding-top:5px}.principles h3{font-size:22px;margin-bottom:10px}.principles p{font-size:13px;color:var(--muted)}.planning{background:#e7efea;display:grid;grid-template-columns:1fr 1fr;gap:10%;max-width:none}.planning-copy>p:not(.eyebrow){font-size:14px;margin-top:24px;max-width:460px}.planning ol{list-style:none;padding:0;margin:33px 0}.planning li{display:flex;gap:20px;padding:20px 0;border-top:1px solid #bdccc2}.planning li>span{font-size:10px;padding-top:4px}.planning h3{font-size:23px;margin-bottom:9px}.planning li p{font-size:13px;color:var(--muted)}.planning .link-note{font-size:10px;margin-top:12px}.planning-photo{position:relative;min-height:550px;overflow:hidden;border-radius:0 0 130px 0}.planning-photo>img{height:100%;object-fit:cover;object-position:50% center}.planning-photo>div{position:absolute;bottom:0;left:0;background:var(--navy);color:var(--mint);padding:35px;width:80%;font-size:32px;line-height:1.1;letter-spacing:-.04em}.planning-photo.arrived>img,.contact-photo.arrived>img{animation:photo .85s ease-out both}.questions{display:grid;grid-template-columns:1fr 1.1fr;gap:10%}.questions h2{font-size:45px}.faq details{border-top:1px solid var(--line);padding:0 0 5px}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{display:flex;justify-content:space-between;align-items:center;gap:25px;list-style:none;padding:22px 0;font-size:16px;font-weight:600;line-height:1.4;cursor:pointer}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-weight:400;font-size:22px;transition:transform .2s}.faq details[open] summary span{transform:rotate(90deg)}.faq details>p{font-size:14px;color:var(--muted);padding:0 20px 20px 0}.faq details>.text-link{margin-bottom:18px}.contact{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:white}.contact-photo{position:relative;min-height:580px;overflow:hidden}.contact-photo img{height:100%;object-fit:cover}.contact-photo>span{position:absolute;bottom:25px;left:25px;background:var(--navy);padding:12px;font-size:8px;letter-spacing:.12em}.contact-copy{padding:67px 12%}.contact h2{font-size:68px}.contact h2 span{color:var(--mint)}.phone-large{display:block;font-size:35px;letter-spacing:-.04em;margin:33px 0 5px;white-space:nowrap}.email{font-size:14px;display:inline-block;padding:10px 0;overflow-wrap:anywhere}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:30px;border-top:1px solid #53717a;padding-top:27px}.contact-options h3{font-size:19px;letter-spacing:-.02em}.contact-options p{font-size:12px;margin-top:12px}.contact-options .text-link{font-size:10px;margin-top:8px}.contact .text-link:hover{color:var(--mint)}footer{padding:35px 5% 20px;background:var(--paper)}footer>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:30px}footer>div:first-child>a:last-child{font-size:11px;padding:15px 0}.footer-bottom{display:flex;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px;font-size:10px;color:var(--muted)}.footer-bottom a{padding:10px 0;text-decoration:underline}@keyframes headline{from{transform:translateY(16px);opacity:.7}to{transform:none;opacity:1}}@keyframes photo{from{transform:scale(1.04);clip-path:inset(0 0 6% 0)}to{transform:scale(1);clip-path:inset(0)}}@keyframes flow{from{stroke-dashoffset:500}to{stroke-dashoffset:0}}
@media(max-width:1050px){header>nav{gap:18px}.brand{font-size:18px}.brand img{width:54px;height:54px}.hero{padding-top:50px}.hero-visual{min-height:500px}.hero-visual>img{height:430px}.hero h1{font-size:5.5vw}.hero-proof{gap:10px}.hero .intro{font-size:15px}.urgent b{font-size:18px}.section{padding-left:6%;padding-right:6%}.panel-copy{padding:35px 8%}.panel-copy h3{font-size:35px}.about{gap:9%}.owner-card{padding:30px 25px 0}.contact-copy{padding:55px 9%}.contact h2{font-size:55px}.phone-large{font-size:29px}.contact-options{gap:20px}.questions h2{font-size:40px}}
@media(max-width:760px){html{scroll-padding-top:88px}.preview{font-size:7px;padding:7px 5%}.brand{font-size:17px;gap:10px}.brand img{width:47px;height:47px}.brand small{font-size:7px;letter-spacing:.06em}header{height:78px;padding:0 5%;gap:12px}header>nav,header>.call{display:none}.menu{display:block}.menu summary{list-style:none;padding:11px 12px;border:1px solid var(--navy);font-size:11px;min-height:44px;cursor:pointer}.menu summary::-webkit-details-marker{display:none}.menu nav{position:absolute;top:78px;left:0;right:0;background:var(--navy);color:white;padding:12px 6% 20px;display:grid;z-index:25}.menu nav a{padding:15px 0;border-bottom:1px solid #45616b}.hero{grid-template-columns:1fr;gap:36px;padding:38px 6% 33px}.hero .eyebrow{font-size:8px;max-width:270px;margin-bottom:20px}.hero h1{font-size:clamp(41px,10.6vw,65px);line-height:1.08;letter-spacing:-.045em}.hero .intro{font-size:15px;margin-top:24px}.actions{margin-top:24px;gap:15px}.hero .button{font-size:11px;padding:12px 17px;gap:20px}.plain{font-size:10px}.hero-proof{font-size:9px;margin-top:26px;padding-top:18px;gap:12px}.hero-visual{padding:0 0 95px 17px;min-height:0}.hero-visual>img{height:340px;border-radius:90px 0 0 0;object-position:65% center}.coast-inset{left:-5px;width:70%;padding:6px 6px 0}.coast-inset span{font-size:7px;padding:8px 0}.waterline{right:-20px;bottom:20px;width:48%}.urgent{display:block;padding:26px 7%}.urgent strong{font-size:20px}.urgent>a{margin-top:16px;display:block;font-size:11px}.urgent b{display:block;font-size:25px;margin-top:4px}.section{padding:61px 6%}.section-title{margin-bottom:26px}.eyebrow{font-size:8px;margin-bottom:18px}h2{font-size:38px;line-height:1.1}.section-title>p:last-child{font-size:14px;margin-top:22px}.service-tabs{gap:0;grid-template-columns:1fr;margin-bottom:24px;border-bottom:0}.service-tabs button{padding:15px 13px;border:1px solid var(--line);font-size:12px;min-height:50px}.service-tabs button[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}.service-panel{grid-template-columns:1fr}.panel-photo{min-height:0;height:270px}.panel-photo>span{left:14px;bottom:14px;font-size:7px;padding:9px 10px}.panel-copy{padding:30px 24px}.panel-copy h3{font-size:34px;margin-bottom:20px}.panel-copy>p:not(.eyebrow){font-size:14px}.panel-copy ul{font-size:12px}.service-note{font-size:11px;line-height:1.6}.service-note a{display:block}.island-band{height:560px}.island-band>div{padding:62px 7%}.island-band h2{font-size:45px}.island-band p:last-child{font-size:14px;margin-top:25px}.island-band>img{object-position:58% center}.about{grid-template-columns:1fr;gap:38px}.owner-card{margin:0;width:100%;padding:30px 30px 0}.owner-card>img{width:225px}.owner-card>div{max-width:260px;margin-top:27px}.owner-card h3{font-size:34px}.owner-card svg{height:65px}.about-copy .lead{font-size:19px;margin-top:23px}.principles{margin-top:26px}.principles article{padding:20px 0;gap:20px}.principles p{font-size:14px}.planning{grid-template-columns:1fr;gap:37px}.planning li{gap:18px}.planning h3{font-size:22px}.planning li p{font-size:14px}.planning-photo{min-height:0;height:410px;border-radius:0 0 90px 0}.planning-photo>div{padding:25px;font-size:30px;width:82%}.questions{grid-template-columns:1fr;gap:30px}.questions h2{font-size:37px}.faq summary{font-size:16px;gap:18px;padding:21px 0}.faq details>p{padding-right:5px}.contact{grid-template-columns:1fr}.contact-photo{height:340px;min-height:0}.contact-photo img{object-position:center}.contact-photo>span{left:20px;bottom:20px;font-size:7px}.contact-copy{padding:46px 7%}.contact h2{font-size:53px}.phone-large{font-size:32px;margin-top:25px}.email{font-size:13px}.contact-options{gap:25px}.contact-options h3{font-size:18px}.contact-options p{font-size:11px}.contact-options .text-link{font-size:10px}footer{padding:27px 6% 18px}footer .brand img{width:41px;height:41px}footer .brand{font-size:15px}footer .brand small{font-size:6px}footer>div:first-child>a:last-child{font-size:9px}.footer-bottom{display:block;font-size:9px}.footer-bottom a{display:inline-block;margin-top:8px}}
@media(max-width:350px){.hero h1{font-size:38px}.brand{font-size:15px}.brand img{width:40px;height:40px}.brand small{font-size:6px}.hero-proof{font-size:8px;gap:10px}.hero-visual>img{height:290px}.contact h2{font-size:46px}.phone-large{font-size:28px}.contact-options{grid-template-columns:1fr;gap:25px}h2{font-size:34px}.panel-copy{padding:25px 19px}.island-band h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.button:hover{transform:none}}

/* Motion acceptance repair: visible, replayable section choreography. */
.motion-enter{animation:sb-rise 1s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--motion-delay,0ms)}
[data-motion="photo"].motion-enter{animation-name:sb-photo;animation-duration:1.25s}
[data-motion="card"].motion-enter{animation-name:sb-card;animation-duration:1s}
[data-motion="heading"].motion-enter{animation-name:sb-heading;animation-duration:1.15s}
@keyframes sb-rise{from{opacity:.18;transform:translateY(48px)}to{opacity:1;transform:none}}
@keyframes sb-heading{from{opacity:.12;transform:translateY(65px);clip-path:inset(0 0 70% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
@keyframes sb-photo{from{opacity:.4;clip-path:inset(var(--wipe,0 28% 0 0));transform:translateY(28px)}to{opacity:1;clip-path:inset(0);transform:none}}
@keyframes sb-card{from{opacity:.15;transform:translate(var(--card-x,0px),52px)}to{opacity:1;transform:none}}
@media(max-width:760px){.motion-enter{animation-delay:0ms!important}@keyframes sb-heading{from{opacity:.15;transform:translateY(45px);clip-path:inset(0 0 65% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}}
@media(prefers-reduced-motion:reduce){.motion-enter{animation:none!important;transform:none!important;clip-path:none!important;opacity:1!important}}
:root{--wipe:0 0 0 25%;--card-x:-18px}