@import url('https://fonts.googleapis.com/css2?family=Anton&family=Libre+Franklin:wght@400;500;600;700;800&display=swap');
:root{--ink:#123039;--sea:#146b69;--teal:#1e8f8c;--sand:#f6e8c9;--paper:#fcf4e2;--red:#c94225;--gold:#f3b03a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--sand);color:var(--ink);font:16px/1.65 'Libre Franklin',system-ui,sans-serif}a{color:inherit}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.skip{position:fixed;top:-100px;left:12px;z-index:100;background:white;padding:12px}.skip:focus{top:12px}.topline{background:var(--ink);color:var(--paper);font-size:12px;font-weight:700;letter-spacing:.08em;padding:8px 0}.topline .wrap{display:flex;justify-content:space-between;gap:15px}.header{position:sticky;top:0;background:var(--paper);z-index:20;border-bottom:1px solid #12303922}.navrow{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;text-decoration:none;gap:10px;flex:none}.brand img{width:51px;height:51px;object-fit:contain}.brand strong{font:24px/1 'Anton',sans-serif;letter-spacing:.01em}.brand strong span{color:var(--red)}.brand small{display:block;font-size:9px;letter-spacing:.16em;font-weight:700;margin-top:6px}.nav{display:flex;align-items:center;gap:25px}.nav>a{font-size:13px;font-weight:700;text-decoration:none}.nav>a:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 23px;border:2px solid transparent;border-radius:999px;text-decoration:none!important;font-weight:800;line-height:1.4;background:var(--red);color:white;box-shadow:0 4px 0 #922f19;cursor:pointer;text-align:center;transition:transform .15s}.btn:hover{transform:translateY(-2px)}.btn.outline{background:transparent;color:inherit;border-color:currentColor;box-shadow:none}.btn.small{padding:11px 17px;font-size:13px}.menu{display:none;background:none;border:2px solid var(--ink);border-radius:9px;padding:8px 12px;color:var(--ink);font-weight:700}.hero{background:radial-gradient(ellipse at 78% 84%,#399d8c 0,transparent 54%),linear-gradient(160deg,#173740,#13585d);color:var(--paper);position:relative;overflow:hidden}.hero:after{content:'';position:absolute;width:140%;height:130px;background:#f6e8c9;bottom:-110px;left:-15%;border-radius:50%}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:54px;align-items:center;padding-top:70px;padding-bottom:80px}.eyebrow{text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.15em;color:var(--sea)}.hero .eyebrow{color:var(--gold)}h1,h2,h3{font-family:'Anton',sans-serif;font-weight:400;line-height:1.1;margin:0 0 20px}h1{font-size:clamp(43px,5.5vw,72px);text-transform:uppercase;margin-top:18px;letter-spacing:-.015em}h1 em{font-style:normal;color:var(--gold)}h2{font-size:clamp(32px,4vw,48px)}h3{font-size:25px}p{margin:0 0 20px}.lede{font-size:18px;line-height:1.75;max-width:560px}.actions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 20px}.trustline{font-size:12px;font-weight:700;color:#dceee8}.hero-art{position:relative;min-height:470px;display:flex;align-items:center;justify-content:center}.poster{border:9px solid var(--sand);border-radius:48% 48% 18px 18px;width:100%;max-width:445px;aspect-ratio:1;object-fit:cover;box-shadow:14px 15px 0 #0e303566}.hero-art .stamp{position:absolute;bottom:8px;right:-6px;transform:rotate(-5deg);padding:17px 23px;background:var(--gold);color:var(--ink);font:21px/1.15 'Anton',sans-serif;border:4px solid var(--ink);box-shadow:4px 4px 0 #123039;max-width:225px}.hero-art .ring{position:absolute;left:-20px;top:10px;width:125px;filter:drop-shadow(4px 7px 4px #12303977)}.strip{border-bottom:2px dashed #c9ae76;padding:22px 0;text-align:center;font-size:13px;font-weight:800}.section{padding:80px 0}.center{text-align:center;max-width:760px;margin:0 auto 38px}.center .eyebrow{margin-bottom:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:28px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{background:var(--paper);padding:30px;border:2px solid var(--ink);border-radius:20px;box-shadow:6px 6px 0 #c9ae76}.card p:last-child{margin-bottom:0}.card.dark{background:var(--ink);color:var(--paper);box-shadow:6px 6px 0 var(--teal)}.card.dark h3{color:var(--gold)}.number{color:var(--sea);font:44px 'Anton',sans-serif;margin-bottom:18px}.programs{background:var(--paper);border-block:1px solid #c9ae76}.program{border-top:4px solid var(--teal);padding:25px 0}.program h3{font-size:24px}.program p{font-size:15px}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center}.checklist{padding:0;list-style:none}.checklist li{padding:13px 0;border-bottom:1px solid #12303922}.checklist li:before{content:'✓';font-weight:800;color:var(--sea);margin-right:12px}.person{display:flex;align-items:center;gap:22px}.portrait{width:110px;height:120px;object-fit:cover;object-position:top;background:#dce7dc;border-radius:13px;border:2px solid var(--ink)}.person h3{margin:0 0 5px}.person p{font-size:13px;margin:0}.bio{margin-top:24px;font-size:15px}.review{background:var(--ink);color:var(--paper)}.review .eyebrow{color:var(--gold)}.review .rating{font:64px 'Anton',sans-serif;color:var(--gold);line-height:1.1}.review blockquote{font-size:24px;line-height:1.6;margin:0 0 20px}.review small{color:#cfddd7}.faq{max-width:840px;margin:auto}details{border-bottom:1px solid #bda77f;padding:20px 0}summary{font-weight:800;cursor:pointer;padding-right:20px}details p{margin:15px 0 0}.contact{background:var(--teal);color:var(--paper)}.contact .eyebrow{color:var(--gold)}.contact-shell{background:var(--paper);border:2px solid var(--ink);border-radius:20px;padding:28px;box-shadow:8px 8px 0 var(--ink);color:var(--ink)}.contact-shell iframe{border:0;width:100%;min-height:670px;display:block}.contact-shell a{color:var(--sea)}.fine{font-size:12px;line-height:1.6}.footer{background:var(--ink);color:var(--paper);padding:50px 0 90px}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:40px}.footer h3{font-size:23px}.footer a{color:#f6e8c9;text-underline-offset:3px}.footer p{font-size:14px}.legal{border-top:1px solid #ffffff33;margin-top:30px;padding-top:25px;color:#cddbd5;font-size:11px;line-height:1.8}.mobile-cta{display:none}.legal-page{max-width:800px;margin:auto;padding:70px 24px}.legal-page h1{font-size:44px}.legal-page h2{font-size:27px;margin-top:30px}.form-intro{padding:50px 0 20px}.form-page{max-width:760px;margin:0 auto;padding:0 24px 70px}.status{padding:14px;background:#fff;border-radius:8px;color:var(--ink)}
@media(max-width:1000px){.nav{gap:15px}.nav>a:not(.btn){font-size:12px}.hero-grid{gap:30px}.hero-art{min-height:360px}.hero-art .ring{width:90px}.grid3{grid-template-columns:repeat(2,1fr)}.split{gap:32px}.person{gap:14px}.portrait{width:85px;height:100px}}
@media(max-width:760px){html{scroll-padding-top:95px}.wrap{width:calc(100% - 36px)}.topline .wrap{justify-content:center}.topline .wrap>span{display:none}.navrow{min-height:76px;flex-wrap:wrap;gap:0}.brand strong{font-size:22px}.brand img{width:43px;height:43px}.menu{display:block}.nav{display:flex;width:100%;flex-direction:column;align-items:stretch;padding:0 0 18px;gap:14px}.nav[hidden]{display:none}.nav>a{font-size:15px!important}.hero-grid,.grid2,.split,.footer-grid{grid-template-columns:1fr}.hero-grid{padding-top:40px;padding-bottom:55px;gap:22px}.hero h1{font-size:clamp(42px,10vw,65px);max-width:580px}.lede{font-size:16px}.hero-art{min-height:0;padding:20px 15px 28px}.poster{max-width:360px}.hero-art .ring{left:0;top:0;width:90px}.hero-art .stamp{right:0;bottom:5px;font-size:18px}.actions .btn{flex:1;min-width:145px;padding:13px 14px;font-size:14px}.trustline{font-size:11px}.section{padding:52px 0}.grid3{grid-template-columns:1fr;gap:0}.card{padding:24px}.center{margin-bottom:28px}.person{gap:20px}.portrait{width:100px;height:110px}.review blockquote{font-size:21px}.contact-shell{padding:15px;box-shadow:5px 5px 0 var(--ink)}.footer-grid{gap:24px}.footer{padding-bottom:100px}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--paper);padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:10px;border-top:1px solid #12303944;z-index:30}.mobile-cta .btn{flex:1;font-size:13px;padding:11px 8px}.mobile-cta .outline{color:var(--ink)}.form-page{padding-inline:18px}.form-page+.mobile-cta{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media print{.header,.topline,.mobile-cta,.contact{display:none}.section{padding:20px 0}body{background:white;color:black}.hero,.review,.footer{background:white;color:black}}

[hidden]{display:none!important}

@media(max-width:480px){.form-page .contact-shell{padding:5px}.form-intro h1{font-size:38px}}

/* The original living ocean, reimagined as a miniature coastal scene. */
.immersive{background:linear-gradient(110deg,#102f38 0%,#16434c 43%,#368f89 100%)}
.immersive:after{display:none}.immersive .hero-grid{width:min(1440px,100%);grid-template-columns:.92fr 1.08fr;gap:0;padding:0;min-height:690px}.hero-copy{padding:58px 0 58px max(36px,calc((100vw - 1160px)/2));position:relative;z-index:2}.immersive h1{font-size:clamp(48px,5.1vw,76px);line-height:1.05;max-width:650px}.immersive .lede{max-width:510px;font-size:17px}.ocean-stage{position:relative;align-self:stretch;min-height:650px;background:radial-gradient(ellipse at 68% 24%,#f6d28a66,transparent 38%),linear-gradient(#286f77,#63b4a2 52%,#267e7c 53%);overflow:hidden;border-left:1px solid #f6e8c921}.ocean-stage:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 28px 0 45px -30px #123039,inset 0 -40px 60px -30px #123039}.ocean-stage canvas{width:100%;height:100%;position:absolute;inset:0;opacity:0;transition:opacity .6s}.ocean-ready canvas{opacity:1}.ocean-fallback{position:absolute;width:100%;height:100%;object-fit:cover}.ocean-ready .ocean-fallback{visibility:hidden}.scene-caption{position:absolute;top:24px;left:25px;right:25px;z-index:2;color:#fcf4e2;font-size:9px;font-weight:800;letter-spacing:.18em;display:flex;justify-content:space-between}.house-tag{position:absolute;z-index:2;transform:translate(-50%,-100%);white-space:nowrap;font-size:9px;letter-spacing:.11em;font-weight:800;background:#fcf4e2;color:#123039;border:1px solid #c9ae76;padding:7px 12px;box-shadow:3px 3px 0 #12303944;pointer-events:none}.house-tag:after{content:'';position:absolute;left:50%;top:100%;height:30px;width:1px;background:#fcf4e2}.scene-controls{position:absolute;left:24px;bottom:23px;z-index:3;display:flex;flex-direction:column;align-items:start;gap:10px}.scene-controls button{color:#fcf4e2;background:#123039da;border:1px solid #f6e8c966;border-radius:4px;font-size:11px;padding:9px 12px;cursor:pointer}.scene-controls button:hover{background:#123039}.video-corner{position:absolute;right:24px;bottom:23px;width:270px;z-index:3;transform:rotate(-2deg)}.film-open{display:block;width:100%;padding:7px;text-align:left;cursor:pointer;border:1px solid #d7b573;background:#fcf4e2;box-shadow:7px 7px 0 #12303966;color:#123039;border-radius:3px;transition:transform .2s}.film-open:hover{transform:rotate(2deg) translateY(-4px)}.film-image{position:relative;display:block;height:116px;overflow:hidden;background:#174d56}.film-image img{width:100%;height:100%;object-fit:cover}.play-symbol{display:grid;place-items:center;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:42px;height:42px;background:#fcf4e2e8;border:1px solid #d7b573;border-radius:50%;color:#b93820;font-size:17px;padding-left:3px}.film-copy{display:block;padding:10px 8px 6px}.film-copy small{display:block;font-size:8px;font-weight:800;letter-spacing:.15em}.film-copy strong{font:21px/1.15 'Anton';display:block;margin:5px 0}.film-copy>span{display:block;font-size:10px;font-weight:700}.hero-bottom{display:flex;justify-content:space-between;align-items:center;padding-block:20px;border-top:1px solid #f6e8c933;font-size:12px}.handwritten{font-family:Georgia,serif;font-style:italic;font-size:17px;color:#e6d3a0}.hero-bottom>a{text-decoration:none;font-weight:700}.hero-bottom>a:hover{text-decoration:underline}#hero-film{padding:20px;background:#fcf4e2;color:#123039;border:2px solid #c9ae76;border-radius:8px;width:min(900px,94vw);max-height:90vh}#hero-film::backdrop{background:#061e25df;backdrop-filter:blur(6px)}.film-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.film-dialog-head h2{font-size:26px;margin:0 0 15px}.film-close{background:none;border:1px solid #123039;font-size:20px;padding:4px 12px;cursor:pointer}#hero-film video{display:block;width:100%;max-height:65vh;background:#123039}#hero-film p{font-size:12px;margin:12px 0 0}
@media(min-width:1600px){.hero-copy{padding-left:70px}}@media(max-width:1050px){.hero-copy{padding:45px 28px}.immersive h1{font-size:54px}.video-corner{width:220px;right:18px}.scene-controls{left:15px}.scene-controls button{font-size:9px}.film-image{height:95px}.film-copy strong{font-size:19px}}
@media(max-width:760px){.immersive .hero-grid{grid-template-columns:1fr;min-height:0}.hero-copy{padding:38px 24px 25px}.immersive h1{font-size:clamp(48px,11.5vw,70px)}.immersive .lede{font-size:16px}.ocean-stage{min-height:570px;border-left:0;border-top:1px solid #f6e8c933}.ocean-stage:after{box-shadow:inset 0 12px 40px -20px #123039}.video-corner{width:205px;bottom:22px;right:18px}.film-image{height:92px}.film-copy strong{font-size:19px}.scene-controls{bottom:26px;left:18px}.scene-controls button{font-size:9px;padding:8px}.hero-bottom{gap:15px;padding:18px 0}.handwritten{font-size:14px;max-width:220px}.hero-bottom a{font-size:11px;white-space:nowrap}.scene-caption{font-size:8px;left:20px;right:20px}.house-tag{font-size:8px}.film-dialog-head h2{font-size:21px}}

.film-image .film-preview{width:100%;height:100%;object-fit:cover;pointer-events:none}.film-copy small{text-transform:uppercase}

/* Tactile hover and press feedback; preserve reduced-motion preferences. */
.btn,.menu,.scene-controls button,.film-close,.film-open{transition:transform 220ms cubic-bezier(.2,.8,.2,1),box-shadow 220ms ease,background-color 220ms ease;will-change:auto}
@media(hover:hover) and (pointer:fine){
 .btn:hover{box-shadow:0 6px 0 #922f19,0 10px 18px #12303922}
 .btn.outline:hover{box-shadow:0 7px 16px #12303933}
 .menu:hover,.scene-controls button:hover,.film-close:hover{transform:translateY(-4px);box-shadow:0 7px 14px #08232b40}
 .film-open:hover{transform:rotate(2deg) translateY(-7px);box-shadow:9px 13px 0 #12303966}
}
.btn:active,.menu:active,.film-close:active,.film-open:active{transform:translateY(1px) scale(.98);box-shadow:0 1px 0 #12303955;transition-duration:70ms}
@media(prefers-reduced-motion:reduce){.btn:hover,.menu:hover,.scene-controls button:hover,.film-close:hover,.film-open:hover,.btn:active,.menu:active,.scene-controls button:active,.film-close:active,.film-open:active{transform:none;transition:none}}

.hero-background-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center}.ocean-stage:after{background:linear-gradient(180deg,#12303940,transparent 25%,transparent 65%,#12303966)}.scene-caption{text-shadow:0 1px 5px #123039}

/* ---- Completion pass: expertise, programs, rescues, testimonials, inquiry chips, mobile polish ---- */
.eyebrow.gold{color:var(--gold)}.outof{font-size:24px}.spaced{margin-top:20px}.center-text{text-align:center;display:block;margin-top:26px;color:#cfddd7}
.actions .btn+.btn{margin-left:0}.card .actions{margin:22px 0 0}.card .btn.small{padding:11px 18px;font-size:14px}
.social{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px}.social a{white-space:nowrap}.footer a.link{font-weight:700}
.why{background:var(--paper);border-block:1px solid #c9ae76}.stats{display:grid;grid-template-columns:1fr 1fr;gap:18px}.stat{background:var(--ink);color:var(--paper);border-radius:18px;padding:26px 22px;border:2px solid var(--ink);box-shadow:6px 6px 0 var(--teal)}.stat strong{display:block;font:56px/1 'Anton',sans-serif;color:var(--gold);margin-bottom:8px}.stat span{font-size:13px;font-weight:700;letter-spacing:.04em}
.program{display:flex;flex-direction:column}.program .eyebrow{font-size:10px;margin:0 0 8px}.program .proof{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--sea);margin:0 0 16px}.program p:not(.proof):not(.eyebrow){flex:1}.program .btn.small{align-self:flex-start;font-size:13px}
.rescues{background:var(--ink);color:var(--paper)}.rescues .eyebrow{color:var(--gold)}.rescue{background:#183f48;border:1px solid #f6e8c933;border-radius:18px;padding:26px 24px;display:flex;flex-direction:column}.rescue h3{font-size:22px;color:var(--gold);margin-bottom:12px}.rescue p{font-size:15px;flex:1}.rescue a{font-weight:800;font-size:14px;text-decoration:none;color:var(--paper);border-bottom:2px solid var(--gold);align-self:flex-start;padding-bottom:2px}.rescue a:hover{color:var(--gold)}
.testimonials{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:56px}.testimonial{margin:0;background:#183f48;border:1px solid #f6e8c933;border-radius:16px;padding:24px 22px;display:flex;flex-direction:column}.testimonial blockquote{font-size:15px;line-height:1.65;margin:0 0 18px;flex:1}.testimonial figcaption{font-size:13px}.testimonial figcaption strong{display:block}.testimonial figcaption span{color:var(--gold);font-weight:700;font-size:12px}
.situations{max-width:760px;margin:0 auto 26px}.situations .eyebrow{margin-bottom:12px}.optional{text-transform:none;letter-spacing:0;font-weight:600;color:#5c6f6f}.chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.chip{text-align:left;background:var(--paper);border:2px solid var(--ink);border-radius:14px;padding:14px 16px;cursor:pointer;color:var(--ink);box-shadow:4px 4px 0 #c9ae76;transition:transform .2s,box-shadow .2s,background-color .2s}.chip strong{display:block;font-size:15px;margin-bottom:4px}.chip span{display:block;font-size:12px;line-height:1.45;color:#3d5457}.chip:hover{transform:translateY(-3px);box-shadow:5px 8px 0 #c9ae76}.chip.active,.chip[aria-pressed="true"]{background:var(--ink);color:var(--paper);box-shadow:4px 4px 0 var(--teal)}.chip.active span,.chip[aria-pressed="true"] span{color:#cfddd7}.chip:active{transform:translateY(1px)}
.alt-contact{margin-top:22px}.alt-contact p:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;font-size:15px}.alt-contact .btn.small{font-size:13px}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}.reveal.in{opacity:1;transform:none}
@media(max-width:1000px){.testimonials{grid-template-columns:1fr 1fr}.stat strong{font-size:46px}}
@media(max-width:760px){
 .topline .wrap>a{font-size:13px;padding:2px 0}
 .hero-copy .actions{flex-direction:column}.hero-copy .actions .btn{width:100%;min-width:0;padding:15px 16px;font-size:15px}
 .trustline{line-height:1.7}
 .strip{font-size:12px;line-height:1.9}
 .stats{grid-template-columns:1fr 1fr;gap:12px}.stat{padding:18px 14px;border-radius:14px;box-shadow:4px 4px 0 var(--teal)}.stat strong{font-size:38px}.stat span{font-size:11px}
 .split{gap:28px}.why .split>div:first-child .actions .btn{flex:1}
 .program{padding:22px 0}.program .btn.small{width:100%}
 .rescues .grid3{gap:12px}.rescue{padding:20px 18px}.rescue h3{font-size:20px}
 .testimonials{grid-template-columns:1fr;gap:12px;margin-top:36px}.testimonial{padding:20px 18px}
 .chips{grid-template-columns:1fr}.chip{padding:13px 14px}
 .card .actions{flex-direction:column}.card .actions .btn{width:100%}
 .contact .actions .btn{width:100%}
 .review .split>div:last-child .btn{width:100%}
 .center h2,.split h2{overflow-wrap:anywhere}
 .footer .social{gap:6px 14px}
 .legal-page .actions .btn{width:100%}
 .form-page+.mobile-cta{display:flex}
}
@media(max-width:400px){.brand strong{font-size:20px}.hero-copy{padding-inline:18px}.immersive h1{font-size:clamp(40px,11vw,60px)}h2{font-size:clamp(28px,8vw,40px)}.wrap{width:calc(100% - 28px)}}

@media(max-width:760px){.footer p a,.rescue a,.social a{display:inline-block;padding:5px 0}.rescue a{margin-top:6px}}

/* ---- Motion layer: button lift and ripple, card tilt, marquee, waves, 3D scenes ---- */
.btn{position:relative;overflow:hidden;isolation:isolate;transition:transform 180ms ease-out,box-shadow 180ms ease-out,background-color 200ms ease,color 200ms ease}
@keyframes ripple{to{transform:scale(18);opacity:0}}
@media(hover:hover) and (pointer:fine){
 .btn:hover{transform:translateY(-3px)}
 .btn.outline:hover{background:#ffffff14}
 .contact .btn.outline:hover,.hero .btn.outline:hover{background:#fcf4e222}
 .chip:hover{transform:translateY(-3px)}
}

.ripple{position:absolute;left:var(--x);top:var(--y);width:14px;height:14px;margin:-7px;border-radius:50%;background:#ffffff66;pointer-events:none;transform:scale(0);animation:ripple .6s ease-out forwards;z-index:-1}
.btn.outline .ripple{background:#12303922}
.contact .btn.outline .ripple,.hero .btn.outline .ripple,.rescues .btn .ripple{background:#fcf4e244}

.tilt{transform-style:preserve-3d;will-change:transform}.tilt.in,.tilt:not(.reveal){transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(var(--lift,0))}
.tilt.in{transition:transform .25s ease,box-shadow .25s ease,opacity .55s ease}
.tilt .btn{translate:0 0}
.program.tilt:hover,.rescue.tilt:hover,.testimonial.tilt:hover,.stat.tilt:hover{--lift:-6px}
.program:hover{border-top-color:var(--red)}.program .proof{position:relative;overflow:hidden}.program:hover .proof:after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,#f3b03a55 50%,transparent 70%);animation:shine .9s ease}
@keyframes shine{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.card.tilt:hover{box-shadow:10px 12px 0 #c9ae76}.card.dark.tilt:hover{box-shadow:10px 12px 0 var(--teal)}.stat.tilt:hover{box-shadow:9px 10px 0 var(--teal)}
.rescue.tilt:hover{background:#1c4a54;border-color:#f3b03a88}.testimonial.tilt:hover{border-color:#f3b03a88}
.strip{padding:0;overflow:hidden}.marquee{display:flex;width:max-content;padding:20px 0;gap:40px}.marquee>span{white-space:nowrap;padding-right:40px;animation:marquee 38s linear infinite}.strip:hover .marquee>span{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(calc(-100% - 40px))}}
.wave{position:absolute;left:0;right:0;top:-1px;height:56px;overflow:hidden;pointer-events:none;z-index:1}.wave svg{position:absolute;left:0;top:0;width:200%;height:100%}.wave .w1{animation:wave-slide 16s linear infinite}.wave .w2{animation:wave-slide 11s linear infinite reverse;transform-origin:center}
@keyframes wave-slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.rescues,.contact{position:relative}.rescues .wrap,.contact .wrap{position:relative;z-index:2}.rescues{padding-top:110px}.contact{padding-top:110px}
.ring-host{position:relative;width:250px;height:250px;margin:-40px 0 0 -34px;background:none;overflow:visible}.ring-host canvas{width:100%;height:100%;display:block;opacity:0;transition:opacity .8s}.ring-host.ring-ready canvas{opacity:1}
.ring-host:not(.ring-ready){display:none}
.word{display:inline-block;opacity:0;transform:translateY(.4em) rotate(2deg);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.8,.2,1)}.words-in .word{opacity:1;transform:none}
details p{animation:fade-up .35s ease}@keyframes fade-up{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
summary{transition:color .2s,padding-left .25s}details:hover summary{color:var(--red);padding-left:6px}
.checklist li{transition:transform .25s,color .25s}.checklist li:hover{transform:translateX(8px);color:var(--sea)}
.number{transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.card:hover .number{transform:scale(1.15)}
@media(max-width:760px){
 .scene-stage .scene-controls{left:14px;right:14px;bottom:14px;flex-direction:row;justify-content:space-between;gap:8px}.scene-stage .scene-controls .btn.small{flex:1}.scene-stage .scene-controls .btn.small{font-size:12px;padding:10px 12px}
 .rescues{padding-top:80px}.contact{padding-top:80px}.wave{height:36px}
 .ring-host{width:170px;height:170px;margin:-26px 0 0 -20px}
 .hero .actions .btn:not(.outline){animation:none}
}
@media(prefers-reduced-motion:reduce){
 .btn,.chip{animation:none!important;transform:none!important}
 .marquee>span,.wave .w1{animation:none!important}.marquee>span[aria-hidden]{display:none}.marquee{width:100%;justify-content:center}
 .tilt.in,.tilt:not(.reveal){transform:none!important}.word{opacity:1;transform:none;transition:none}
 .ring-host{display:none!important}
}

.hint{display:none}@media(hover:hover) and (pointer:fine){.hint{display:inline}}

.contact .card{color:var(--ink)}.contact .card h3{color:var(--ink)}

/* ---- Beacon: small lighthouse on the left, its beam sweeps the headline and lights the words ---- */
.beacon{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--sand) 0,#f1e2c0 100%);padding:64px 0}
.beacon-grid{display:grid;grid-template-columns:230px 1fr;gap:36px;align-items:center;position:relative;z-index:2}
.beacon-tower{position:relative;width:230px;height:300px}.beacon-tower canvas{width:100%;height:100%;display:block;opacity:0;transition:opacity .8s}.beacon-ready .beacon-tower canvas{opacity:1}
.beacon-tower:before{content:'';position:absolute;left:12%;right:12%;bottom:10px;height:18px;border-radius:50%;background:#12303922;filter:blur(6px)}
.beacon-copy h2{margin-bottom:16px}.beacon-copy p{max-width:560px}.beacon-copy .actions{margin:22px 0 0}
.beacon-title .word{transition:color .12s linear,text-shadow .12s linear}
.beam{position:absolute;left:0;top:0;width:1600px;height:340px;margin-top:-170px;transform-origin:0 50%;pointer-events:none;z-index:1;clip-path:polygon(0 50%,100% 0,100% 100%);background:linear-gradient(90deg,rgba(243,176,58,.42) 0,rgba(243,176,58,.22) 35%,rgba(243,176,58,0) 78%);opacity:0;transition:opacity .8s;will-change:transform}
.beacon-ready .beam{opacity:1}
@media(max-width:760px){
 .beacon{padding:44px 0}.beacon-grid{grid-template-columns:120px 1fr;gap:14px;align-items:start}
 .beacon-tower{width:120px;height:190px}.beacon-copy h2{font-size:clamp(28px,8.5vw,36px)}.beacon-copy .actions{flex-direction:column}.beacon-copy .actions .btn{width:100%}
 .beam{width:1100px;height:220px;margin-top:-110px}
}
@media(prefers-reduced-motion:reduce){.beam{display:none}.beacon-title .word{color:inherit!important;text-shadow:none!important}}
.footer-tools{margin-top:18px}.sound-toggle{background:none;border:1px solid #f6e8c966;color:#f6e8c9;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:700;cursor:pointer;transition:background-color .2s,transform .2s}.sound-toggle:hover{background:#ffffff14;transform:translateY(-2px)}.sound-toggle[aria-pressed="false"]{opacity:.75}
