/* Shared presentation refinements. Button colours use each page’s original styles. */
button:disabled{opacity:.45}
.fm-catalog{background:#dce6df!important}.fm-catalog .fm-module{background:#fff;box-shadow:0 7px 22px #17392e08}.fm-preview-body{padding:0!important}.fm-preview .fm-sample{margin:0}.fm-preview .fm-preview-steps{margin:0 0 16px}

#fm-widget-selected-day,#selected-day{display:block;margin:18px 0 0!important;padding:0!important;font-size:14px!important;line-height:1.5!important;font-weight:600;color:#315743}.cal-grid{margin-bottom:4px}.fm-inline-booking .cal-grid button:disabled{background:#f7f9f7!important}

/* Dividers separate information without outlining the cards. */
.fm-closing-prices{border-top:1px solid #ffffff38;padding-top:24px}.fm-closing .fm-closing-note{border-top:1px solid #ffffff38;padding-top:18px;margin-top:24px}.fm-module-price{border-bottom:1px solid #d9e3dc;padding-bottom:14px}.fm-module .fm-module-requirement{border-top:1px solid #d9e3dc;padding-top:12px}.fm-path-price{border-top:1px solid #d9e3dc!important;padding-top:20px!important;margin-top:20px}.fm-sample-row+.fm-sample-row{border-top:1px solid #d9e3dc}.fm-preview-status{border-top:1px solid #d9e3dc;padding-top:14px}.fm-portfolio-water>div+div{border-top:1px solid #d3dfd5}.fm-ticket-example .ticket-qr-block{border-top:1px solid #d9e3dc}.fm-booking-caption{border-bottom:1px solid #d9e3dc}

.fm-brand-logo{display:block;width:260px;height:auto;max-width:100%}@media(max-width:580px){.fm-brand-logo{width:210px}}

#setup-nav-note{font:600 12px/1.5 Arial,sans-serif;color:#bbd2c0;margin:12px 0 18px}.side.setup-locked [data-view]:disabled{background:transparent!important;color:#c3d4c7!important;opacity:.5;cursor:default}.side.setup-locked [data-view]:disabled:hover{background:transparent!important}.side .brand .fm-brand-logo{width:100%;max-width:240px}

h1,h2,h3,.fm-feature-title h3,.fm-path h3,.fm-module h3,.fm-preview-head h2{font-family:Arial,Helvetica,sans-serif!important;font-weight:800!important;letter-spacing:-.025em}

.fm-site-header{position:fixed!important;top:0;left:0;right:0;width:100%;z-index:100;background:#103526;box-shadow:0 3px 16px #061b161a}.fm-public-main{padding-top:var(--fm-nav-height,80px)}.fm-public-main section[id]{scroll-margin-top:calc(var(--fm-nav-height,80px) + 20px)}@media(max-width:800px){.fm-public-main{padding-top:var(--fm-nav-height,160px)}}

/* Alternate section tones to make each stage of the offer distinct. */
.fm-public-main{background:#fff!important}.fm-visual-platform{background:#f1f5f2!important}.fm-choice{background:#dfe6e1!important}#experience{background:#fff}.fm-catalog{background:#e6ede7!important}.fm-closing{background:#f7f9f7}

/* Price, setup and commitment use a consistent hierarchy. */
.fm-offer-price{font-size:42px;line-height:1.1}.fm-offer-price small{font-size:17px;color:#52695c}.fm-plan-facts{display:flex!important;flex-direction:column;justify-content:center;gap:12px;min-height:120px;margin:22px 0!important;padding:16px!important;background:#f2f5f2;border-top:1px solid #d8e2da;border-bottom:1px solid #d8e2da;border-radius:4px;font-size:16px;line-height:1.5}.fm-setup-cost{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.fm-setup-cost>span{font-size:15px;color:#52695c}.fm-setup-cost>strong{font-size:25px;line-height:1.2;color:#17392e}.fm-plan-facts>[data-contract-monthly]{font-size:14px;color:#52695c}.fm-route-fact{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:baseline}.fm-route-fact>strong{font-size:17px;color:#17392e}.fm-route-fact>span{font-size:15px;color:#52695c}.fm-module-price small[data-water-period]{font-size:13px;margin-left:4px}.extra-water-control{display:grid;gap:8px;font:600 14px/1.5 Arial,sans-serif;margin-top:auto;padding-top:18px}.extra-water-control input{width:100%;padding:10px;border:1px solid #a7bcb0;border-radius:5px;color:#183128;background:white;font:inherit}

/* Three offers, five clearly separated information groups. */
.fm-plan-card{padding:0!important;display:flex;flex-direction:column;background:white!important;border-radius:10px!important;overflow:hidden}.fm-plan-overview{padding:26px 26px 22px;min-height:174px}.fm-plan-card .fm-plan-overview h3{font-size:34px!important;margin:0 0 9px;line-height:1.1}.fm-plan-overview>p{font-size:17px;line-height:1.45;margin:0 0 16px;color:#4c6357;max-width:300px}.fm-plan-fit{font-size:13px;font-weight:700;line-height:1.4;display:inline-block;color:#315944}.fm-pro-inclusion{background:#174a34;color:white;padding:7px 10px;border-radius:4px}.fm-plan-cost{padding:22px 26px;background:#edf3ee;min-height:126px}.fm-plan-card.pro .fm-plan-cost{background:#e4eee6}.fm-plan-card .fm-offer-price{display:flex;align-items:baseline;gap:8px;font-size:44px;font-weight:800;line-height:1;margin:0}.fm-plan-cost>p{font-size:14px;line-height:1.45;margin:10px 0 0;color:#4c6357}.fm-plan-cost .fm-annual-saving{font-size:13px;color:#24663e}.fm-plan-commitment{padding:18px 26px;min-height:102px;border-bottom:1px solid #dce5de}.fm-plan-commitment>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:14px;color:#52695c}.fm-plan-commitment>div>strong{font-size:21px;color:#183128}.fm-plan-commitment>p{font-size:13px;line-height:1.5;margin:8px 0 0;color:#52695c}.fm-plan-routes{display:grid;gap:9px;align-content:center}.fm-plan-routes>div{justify-content:start;gap:12px}.fm-plan-routes>div>strong{font-size:15px;width:36px}.fm-plan-routes>div>span{font-size:13px;line-height:1.45}.fm-plan-tools{padding:22px 26px;flex:1}.fm-plan-tools h4{font-size:16px;line-height:1.35;font-weight:800;margin:0 0 17px;color:#17392e}.fm-benefits{list-style:none;margin:0;padding:0;display:grid;gap:12px}.fm-benefits li{position:relative;padding-left:22px;font-size:15px;line-height:1.45;color:#294b39}.fm-benefits li:before{content:'✓';position:absolute;left:0;top:0;color:#277249;font-weight:800}.fm-plan-bottom{padding:0 26px 26px;margin-top:auto}.fm-plan-bottom .fm-path-price{margin-top:16px;padding-top:16px}.fm-plan-bottom .fm-website-example{margin:0;font-size:14px;padding:11px}.fm-plan-extra{font-size:13px;line-height:1.5;color:#607568;min-height:38px;margin:0}.fm-control-promise{font-size:21px;font-weight:800;color:#174a34;margin:20px 0 7px}.fm-plan-small{font-size:12px;line-height:1.5;color:#607568;margin:0}@media(max-width:1000px){.fm-plan-overview,.fm-plan-cost,.fm-plan-commitment{min-height:0}.fm-plan-overview{padding:24px}.fm-plan-cost,.fm-plan-commitment,.fm-plan-tools{padding:20px 24px}.fm-plan-bottom{padding:0 24px 24px}.fm-plan-extra{min-height:0}}

.fm-choice{background:#cbd8d0!important}.fm-ticket-plan .fm-plan-cost>p>strong{font-weight:800;color:#17392e}@media(min-width:1001px){.fm-plan-overview{min-height:210px}}

.fm-closing-prices>div+div{border-left:1px solid #ffffff38;padding-left:28px}@media(max-width:650px){.fm-closing-prices>div+div{border-left:0;padding-left:0;border-top:1px solid #ffffff38;padding-top:20px}}

.fm-site-header{background:#fff!important;color:#17392e!important;box-shadow:0 3px 16px #061b1612}.fm-site-header .fm-public-nav{color:#294c39}.fm-site-header .fm-public-nav a:hover{color:#123c2b}.fm-site-header>a,.fm-site-header>div>a:last-child{background:#174a34;color:white;border:0}.fm-site-header>div>a:last-child:hover{background:#286744;color:white}.fm-site-header a:focus-visible{outline:2px solid #247749;outline-offset:4px}

.fm-choice{background:#123c2b!important}.fm-choice h2{color:#fff}.fm-choice-head>p,.fm-choice-inner>.fm-billing-note,.fm-choice>p,.fm-choice>.fm-kicker{color:#d6e7d9}.fm-choice table{color:#17392e}.fm-choice .fm-billing{background:#ffffff1a}.fm-choice .fm-billing button{color:#d6e7d9}.fm-choice .fm-billing button.active{background:white;color:#17392e}.fm-choice .fm-billing button:focus-visible{outline-color:#d6e7d9}

/* Soft lime accents echo the hero headline. */
.fm-choice .fm-lime-accent{color:#d6f18a}.fm-pro-inclusion{background:#d6f18a;color:#17392e}.fm-booking-journey strong{background:#d6f18a;color:#17392e}.fm-portfolio-water em{background:#d6f18a;color:#17392e}.fm-control-promise{display:inline-block;border-bottom:3px solid #d6f18a;padding-bottom:4px}.fm-growth i{background:#b9da77}.fm-portfolio-link:hover{color:#123c2b;text-decoration-color:#b9da77;text-decoration-thickness:3px}

.fm-preview .fm-preview-steps{gap:0;margin:8px 0 22px}.fm-preview .fm-preview-step{font-size:16px;line-height:1.4;font-weight:600;padding:12px 16px;gap:10px}.fm-preview .fm-preview-step:first-child{padding-left:0}.fm-preview .fm-preview-step+.fm-preview-step{border-left:1px solid #cad8cd}.fm-preview .fm-preview-step small{font-size:15px;flex-basis:30px;height:30px;font-weight:800}@media(max-width:540px){.fm-preview .fm-preview-step{padding:14px 0}.fm-preview .fm-preview-step+.fm-preview-step{border-left:0;border-top:1px solid #cad8cd}}

/* Gentle movement and responsive interaction. */
.fm-public-main .fm-feature-screen,.fm-public-main .fm-plan-card,.fm-public-main .fm-module,.fm-context-hero,.fm-booking-preview{transition:box-shadow .22s ease,transform .22s ease}.fm-public-main .fm-module:hover,.fm-public-main .fm-plan-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px #061b1618}.fm-context-hero:hover{box-shadow:0 28px 60px #061b1648}.fm-module button,.fm-path-price a,.fm-website-example,.fm-hero-actions a,.fm-preview-close,.fm-site-header a{transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}.fm-module button:hover{background:#174a34!important;color:white!important}.fm-website-example:hover{background:#d6f18a;color:#17392e}.fm-public-main .fm-reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease,box-shadow .22s ease}.fm-public-main .fm-reveal.fm-revealed{opacity:1;transform:translateY(0)}.fm-public-main .fm-reveal.fm-revealed.fm-module:hover,.fm-public-main .fm-reveal.fm-revealed.fm-plan-card:hover{transform:translateY(-3px)}.fm-portfolio-summary:hover .fm-portfolio-link{text-decoration:underline;text-underline-offset:4px}@media(prefers-reduced-motion:reduce){.fm-public-main *, .fm-site-header *{transition:none!important;animation:none!important;scroll-behavior:auto!important}.fm-public-main .fm-reveal{opacity:1;transform:none}.fm-public-main .fm-module:hover,.fm-public-main .fm-plan-card:hover{transform:none!important}}

/* Photo and action feedback: quiet movement, without layout shifts. */
.fm-context-hero img,.fm-mobile-feature img,.fm-fish-profile img,.fm-inline-booking .water-select img{transition:transform .65s cubic-bezier(.22,.61,.36,1),filter .45s ease;transform-origin:center;backface-visibility:hidden}
.fm-context-hero,.fm-mobile-feature>a{isolation:isolate;overflow:hidden}
.fm-path-price a,.fm-module button,.fm-website-example,.fm-hero-actions a,.fm-closing-head a,.fm-site-header>div>a:last-child,.fm-preview-close{transition:transform .22s cubic-bezier(.22,.61,.36,1),box-shadow .22s ease,background-color .22s ease,color .22s ease}
.fm-action-arrow{display:inline-block;margin-left:3px;transition:transform .22s ease}
.fm-site-header>div>a:last-child svg{transition:transform .22s ease}
@media(hover:hover) and (pointer:fine){
 .fm-context-hero:hover img{transform:scale(1.018);filter:brightness(1.025)}
 .fm-mobile-feature>a:hover img,.fm-fish-profile:hover img{transform:scale(1.025)}
 .fm-inline-booking .water-select button:hover img{transform:scale(1.035)}
 .fm-path-price a:hover,.fm-module button:hover,.fm-website-example:hover,.fm-hero-actions a:hover,.fm-closing-head a:hover,.fm-site-header>div>a:last-child:hover{transform:translateY(-2px);box-shadow:0 6px 15px #123c2b22}
 a:hover>.fm-action-arrow,button:hover>.fm-action-arrow,.fm-site-header>div>a:last-child:hover svg{transform:translateX(3px)}
}
.fm-path-price a:active,.fm-module button:active,.fm-website-example:active,.fm-hero-actions a:active,.fm-closing-head a:active,.fm-site-header>div>a:last-child:active{transform:translateY(0) scale(.985);box-shadow:0 2px 5px #123c2b18}
.fm-path-price a:focus-visible,.fm-module button:focus-visible,.fm-website-example:focus-visible,.fm-hero-actions a:focus-visible,.fm-closing-head a:focus-visible{outline:3px solid #94b763;outline-offset:4px}
@media(prefers-reduced-motion:reduce){
 .fm-context-hero img,.fm-mobile-feature img,.fm-fish-profile img,.fm-inline-booking .water-select img,.fm-action-arrow,.fm-site-header svg{transition:none!important;transform:none!important;filter:none!important}
 .fm-path-price a,.fm-module button,.fm-website-example,.fm-hero-actions a,.fm-closing-head a,.fm-site-header>div>a:last-child{transition:none!important;transform:none!important}
}

/* One treatment for text links, with consistent primary and secondary actions. */
.fm-platform-heading>a,.fm-platform-bottom>a,.fm-portfolio-link,.fm-booking-caption>a,.fm-text-link,.fm-journey-link{font-family:Arial,Helvetica,sans-serif;font-size:16px!important;font-weight:700!important;line-height:1.4;color:#17392e!important;text-decoration:underline!important;text-decoration-thickness:1.5px!important;text-underline-offset:5px!important;background:none!important}
.fm-platform-heading>a:hover,.fm-platform-bottom>a:hover,.fm-booking-caption>a:hover,.fm-text-link:hover,.fm-portfolio-summary:hover .fm-portfolio-link{color:#277249!important;text-decoration-thickness:2px!important}
.fm-public-main .fm-path-price a,.fm-public-main .fm-module button,.fm-public-main .fm-website-example,.fm-hero-actions a,.fm-closing-head a,.fm-site-header>div>a:last-child{font-family:Arial,Helvetica,sans-serif!important;font-size:16px!important;font-weight:700!important;line-height:1.4!important;min-height:48px;padding:13px 18px!important;border-radius:6px!important;text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.fm-public-main .fm-path-price a,.fm-public-main .fm-module button,.fm-public-main .fm-website-example{width:100%}
.fm-public-main .fm-path-price a{background:#174a34!important;color:#fff!important}
.fm-public-main .fm-path-price a:hover{background:#286744!important}
.fm-public-main .fm-module button,.fm-public-main .fm-website-example{background:#e7f4e9!important;color:#174a34!important;border:0}
.fm-public-main .fm-module button:hover,.fm-public-main .fm-website-example:hover{background:#174a34!important;color:#fff!important}
.fm-platform-heading>a:focus-visible,.fm-platform-bottom>a:focus-visible,.fm-booking-caption>a:focus-visible,.fm-text-link:focus-visible{outline:2px solid #277249;outline-offset:5px;border-radius:2px}

/* Keep section navigation within one flowing page. */
html{scroll-behavior:smooth}
.fm-site-header .fm-public-nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;text-decoration:none;transition:color .2s ease,transform .2s ease}
.fm-site-header .fm-public-nav a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
.fm-site-header .fm-public-nav a:hover,.fm-site-header .fm-public-nav a:focus-visible{color:#277249;transform:translateY(-1px)}
.fm-site-header .fm-public-nav a:hover::after,.fm-site-header .fm-public-nav a:focus-visible::after{transform:scaleX(1)}
.fm-site-header .fm-public-nav a:active{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fm-site-header .fm-public-nav a{transform:none!important}.fm-site-header .fm-public-nav a::after{transition:none}}

.fm-ticket-heading{margin-top:20px;max-width:none;color:#183128;font-size:clamp(28px,2.8vw,40px);font-weight:800;line-height:1.15;letter-spacing:-.035em}.fm-ticket-heading span{color:inherit;white-space:nowrap}

.fm-platform-heading>a.fm-dashboard-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-height:50px;padding:14px 22px;border-radius:6px;background:#174a34!important;color:#fff!important;font:700 16px/1.4 Arial,sans-serif!important;text-decoration:none!important;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}.fm-platform-heading>a.fm-dashboard-cta:hover{background:#286744!important;transform:translateY(-2px);box-shadow:0 8px 20px #163b2a24}.fm-platform-heading>a.fm-dashboard-cta:active{transform:translateY(0)}.fm-platform-heading>a.fm-dashboard-cta:focus-visible{outline:3px solid #277249;outline-offset:4px}@media(max-width:600px){.fm-platform-heading>a.fm-dashboard-cta{width:100%;box-sizing:border-box}}@media(prefers-reduced-motion:reduce){.fm-platform-heading>a.fm-dashboard-cta{transform:none!important;transition:none!important}}
