@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/montserrat-400.woff2) format("woff2")}
@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/montserrat-500.woff2) format("woff2")}
@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/montserrat-700.woff2) format("woff2")}
@font-face{font-family:Roboto;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/roboto-400.woff2) format("woff2")}
@font-face{font-family:Roboto;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/roboto-700.woff2) format("woff2")}
:root{--btn:#55c4d6;--btn-text:#fff;--accent:#55c4d6;--text:#898989;--head:#222;--grey-bg:#f2f3f8;--footer:#3d3f3e;--footer-bar:#2c2e2e;--wrap:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Roboto,Arial,sans-serif;font-size:16px;line-height:29px;color:var(--text);background:#fff}
h1,h2,h3,h4,h5{font-family:Montserrat,Arial,sans-serif;color:var(--head);font-weight:700;letter-spacing:-1px}
h2{font-size:35px;line-height:1.5;margin:0 0 20px}h3{font-family:Montserrat,Arial,sans-serif;font-weight:600;font-size:16px;line-height:1.6;color:#222;letter-spacing:0;margin:24px 0 10px}
p{margin:0 0 20px}strong{color:#555}
img{max-width:100%;height:auto;display:block}a{color:#0370a7}
.skip{position:absolute;left:-999px;top:auto}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:99}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:min(var(--wrap),92vw);margin:0 auto}
.ico{width:14px;height:14px;fill:currentColor;flex:none}
/* header */
.site-header{background:#fff;position:relative;z-index:40;box-shadow:0 1px 0 rgba(0,0,0,.06)}
.topbar{background:#222;color:#d9d9d9;font-size:13px;line-height:20px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:.5rem 1.2rem;min-height:48px;flex-wrap:wrap}
.topbar a{color:#d9d9d9;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.tb-left{display:flex;gap:6px 22px;flex-wrap:wrap}.tb-right{display:flex;gap:16px}
.bar{display:flex;align-items:center;justify-content:space-between;min-height:161px;gap:1rem}
.brand img{width:300px;height:auto}

.menu{list-style:none;margin:0;padding:0;display:flex;align-items:center}
.nav a,.sub-toggle{font-family:Montserrat,Arial,sans-serif;font-weight:500;font-size:14px;text-transform:uppercase;letter-spacing:1px;padding:0 20px;color:#222;text-decoration:none;background:none;border:0;cursor:pointer;line-height:44px;display:block}
.nav a:hover,.nav a[aria-current="page"],.sub-toggle:hover,.sub-toggle[aria-expanded="true"]{color:var(--accent)}
.sub-toggle:after{content:"";display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:currentColor;vertical-align:middle;transform:translateY(2px)}
.has-sub{position:relative}
.sub{list-style:none;margin:0;display:none;position:absolute;top:100%;left:0;background:#fff;min-width:260px;box-shadow:0 10px 30px rgba(0,0,0,.12);padding:10px 0;z-index:60}
.sub a{line-height:1.4;padding:10px 20px;font-size:13px}
.sub.open{display:block}
@media(min-width:961px){.has-sub:focus-within .sub{display:block}}
@media(hover:hover) and (min-width:961px){.has-sub:hover .sub{display:block}}
.has-sub.closed .sub{display:none !important} /* Escape closes even while hovered/focused */
.nav-toggle{display:none;background:none;border:0;padding:14px 8px;cursor:pointer}
.burger,.burger:before,.burger:after{display:block;width:26px;height:2px;background:#222}
.burger{position:relative}.burger:before,.burger:after{content:"";position:absolute;left:0}.burger:before{top:-8px}.burger:after{top:8px}
/* buttons */
.btn{display:inline-block;font-family:Montserrat,Arial,sans-serif;font-weight:400;font-size:13px;line-height:1;text-transform:uppercase;letter-spacing:1px;padding:15px 30px;border-radius:50px;background:var(--btn);color:var(--btn-text);text-decoration:none;border:1px solid transparent;cursor:pointer}
.btn-dark{background:#222;color:#fff}
.btn-ghost{background:transparent;border-color:#fff;color:#fff}
.btn-outline{background:transparent;border-color:#222;color:#222}
.btn[disabled]{opacity:.6;cursor:not-allowed}
.cta-row{display:flex;flex-wrap:wrap;gap:15px;margin-top:30px}
/* home */
.hero{min-height:520px;display:grid;place-items:center;text-align:center;color:#fff;background:#2b2b2b center/cover no-repeat;padding:80px 0}
.hero h1{color:#fff;font-size:50px;line-height:70px;margin:0 0 20px}
.hero .lead{font-family:Montserrat,Arial,sans-serif;font-weight:400;font-size:20px;line-height:1.6;color:#fff;max-width:var(--wrap);margin:0 auto}
.hero .cta-row{justify-content:center}
.tiles{display:grid;grid-template-columns:repeat(3,1fr)}
.tile{min-height:610px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:60px 30px;background:#333 center/cover no-repeat}
.tile-brand{background:var(--accent)}
.tile-inner{max-width:380px}
.tile h2{color:#fff;line-height:1.3}.tile p{color:#fff}
.section{padding:100px 0}
.split{display:grid;gap:60px;grid-template-columns:1fr 1fr;align-items:center}
.checks{list-style:none;padding:0;margin:0 0 30px}.checks li{padding:6px 0 6px 38px;position:relative}
.checks li:before{content:"";position:absolute;left:0;top:9px;width:24px;height:24px;border-radius:50%;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/14px no-repeat}
.testimonial{color:#fff;text-align:center;padding:100px 0;background:#222 center/cover no-repeat}
.t-mark{font:700 120px/.8 Montserrat,Arial,sans-serif;color:#fff;margin-bottom:10px}
.t-slider{display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}
.t-slide{scroll-snap-align:center;margin:0;padding:0 8%}
.t-slide p{color:#fff}
.t-slide p{font-size:18px;line-height:1.75}
.t-slide footer{display:flex;flex-direction:column;align-items:center;gap:2px}
.t-avatar{width:60px;height:60px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font:700 22px Montserrat,Arial,sans-serif;margin-bottom:8px;border:3px solid #fff}
.t-slide footer strong{display:block;color:#fff;font-family:Montserrat,Arial,sans-serif}.t-slide footer span{font-size:14px;color:#eee}
.t-dots{display:flex;justify-content:center;gap:10px;margin:24px 0 0}.t-dots a{width:24px;height:24px;display:grid;place-items:center}.t-dots a:before{content:"";width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.5)}.t-dots a:first-child:before{background:#fff}
.areas{background:var(--grey-bg);padding:90px 0}
.pill-list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}
.pill-list li{background:#fff;border-radius:50px;padding:4px 16px;font-size:14px}
/* inner pages */
.page-hero{position:relative;min-height:270px;display:grid;place-items:center;background:#333 center/cover no-repeat;color:#fff;text-align:center;padding:0;min-height:545px}
.page-hero h1{color:#fff;font-size:50px;line-height:70px;margin:0 auto;max-width:1160px}.page-hero .cta-row{justify-content:center;margin-top:24px}
.page-hero:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:60px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath fill='%2355c4d6' d='M0 34c180 22 360 26 540 10S900 4 1080 16s300 24 360 18v26H0z'/%3E%3Cpath fill='%23fff' d='M0 48c200 12 420 10 620-2s420-20 560-6 220 18 260 12v8H0z'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat}
.band{padding:60px 0}.band.alt{background:#f3f3f3}.contact-map{border:0;display:block;margin-top:24px}
.band-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.band-text>:first-child{margin-top:0}.band-text>:last-child{margin-bottom:0}
.band.flip .band-media{order:-1}
.band-media img{width:100%}
.prose h2{font-size:35px}.prose h3{font-size:22px}.prose h2,.band-text h2,.band h2,.split h2{font:700 35px/52px Montserrat,Arial,sans-serif;color:#222;letter-spacing:-1px;margin-top:0}.prose h3,.band-text h3{font:600 16px/1.6 Montserrat,Arial,sans-serif;color:#222;letter-spacing:0}.prose strong{color:#555;font-weight:700}
.prose ul{padding-left:1.2rem}
.narrow{max-width:900px}
.cta-band{background:var(--grey-bg);text-align:center;padding:80px 0}.cta-band .cta-row{justify-content:center}
.muted{color:#777;font-size:14px}
.post-list article{padding:1rem 0;border-bottom:1px solid #e5e9ee}.post-single .post-feature{width:100%;height:auto;display:block;margin:0 0 49px}.post-single{padding-top:60px}.post-title{font:400 20px/40px Montserrat,Arial,sans-serif;letter-spacing:0;color:#000;margin:0}.post-single .lv-h4{font:400 26px/42px Montserrat,Arial,sans-serif;letter-spacing:0;color:#222}.post-single .lv-h5{font:400 20px/36px Montserrat,Arial,sans-serif;letter-spacing:0;color:#222}.post-single .prose h2:not([class]){font-size:32px;line-height:35px}@media(min-width:961px){.post-single .prose h2:not([class]){font-size:42px;line-height:63px}}.post-single .lv-h3{font:700 35px/52px Montserrat,Arial,sans-serif;letter-spacing:-1px}.post-meta{font-size:13px;color:#777}.news-side h2{margin-top:30px}.news-search{display:flex;gap:6px}.news-search input{flex:1;min-width:0;padding:8px;border:1px solid #ccc}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.post-card[hidden],.news-empty[hidden]{display:none}.narrow:has(.news-grid){max-width:1160px}.news-side a{color:#555;text-decoration:none}.news-side li{list-style:none}.post-card h2 a{color:#222;text-decoration:none}.post-card h2{font-size:20px}.news-grid .news-side .btn{padding:8px 14px}.news-grid{display:grid;grid-template-columns:1fr 260px;gap:50px;align-items:start}.post-card{padding:0 0 50px!important;border:0!important}.post-img img{width:100%;height:auto;display:block;margin-bottom:20px}.news-side h2{font-size:14px;letter-spacing:1px;text-transform:uppercase}.news-side ul{list-style:none;padding:0;margin:0}.news-side li{padding:8px 0;border-bottom:1px solid #eee;font-size:13px}.post-list .btn-ghost{background:#fff;color:#222;border:1px solid #ccc}@media(max-width:960px){.news-grid{grid-template-columns:1fr}}.post-list h2{font-size:22px;line-height:1.4;margin:0 0 8px}
/* contact */
.contact-grid{display:grid;gap:60px;grid-template-columns:1fr 1fr}
.contact-list{list-style:none;padding:0}.contact-list li{padding:6px 0}
.contact-form{display:grid;gap:14px;background:var(--grey-bg);padding:30px}
.contact-form label{display:grid;gap:6px;color:#555;font-weight:500;font-family:Montserrat,Arial,sans-serif;font-size:14px}
.contact-form input,.contact-form textarea{padding:12px 14px;border:1px solid #d8dbe3;border-radius:0;font:inherit;background:#fff}
.form-note{background:#fff3cd;padding:.6rem .8rem;font-size:14px;color:#555;margin:0}
/* footer */
.site-footer{background:var(--footer);color:#d9d9d9;font-size:14px;line-height:26px;padding:70px 0 0}
.footer-grid{display:grid;gap:30px;grid-template-columns:repeat(4,1fr);padding-bottom:70px}
.site-footer h2{font-family:Montserrat,Arial,sans-serif;font-weight:700;font-size:14px;letter-spacing:1px;text-transform:uppercase;color:#fff;margin:0 0 20px;line-height:1.5}
.site-footer a{color:#d9d9d9}.site-footer strong{color:#fff}
.foot-links,.foot-contact{list-style:none;padding:0;margin:0 0 16px}
.foot-links li:before{content:"›";margin-right:8px}
.foot-contact li{display:flex;gap:10px;align-items:flex-start;padding:3px 0}.foot-contact .ico{margin-top:6px}
.foot-logo{width:200px;margin-top:10px}
.copy{background:var(--footer-bar);color:#888;font-size:13px;padding:30px 0;margin:0}
.copy-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.copy p{margin:0}
.copy-social{display:flex;gap:14px}.copy-social a{color:#d9d9d9;display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:#3d3f3e}
/* kept: a11y + tap-to-call */
:focus-visible{outline:3px solid #0370a7;outline-offset:2px}
.tap-call{position:fixed;right:1rem;bottom:1rem;z-index:50;display:inline-flex;align-items:center;gap:8px;background:#137a38;color:#fff;font-family:Montserrat,Arial,sans-serif;font-weight:700;font-size:15px;text-decoration:none;padding:.9rem 1.2rem;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.tap-call .ico{width:16px;height:16px}
.band-media img+img{margin-top:10px} /* MIN-3 r2b: stacked photos as live (10px module gap) */
.band-media:has(img+img){flex-direction:column;align-items:center}
@media(min-width:768px) and (max-width:1024px){.band--hide-tab .band-media{display:none}.band--hide-tab .band-grid{grid-template-columns:1fr}} /* MIN-3 p3: live tatsu-hide-tablet */
.band-media:has(img+img){flex-direction:column;align-items:center} /* stack vertically, not side by side (band-media is a flex row) */
/* MIN-3: on mobile the call CTA is a full-width bottom bar instead of a floating pill over the hero copy; .copy keeps 82px bottom clearance so the footer is never hidden */
@media(max-width:767px){.tap-call{left:0;right:0;bottom:0;justify-content:center;min-height:52px;padding:0 1rem env(safe-area-inset-bottom);border-radius:0;box-shadow:0 -2px 10px rgba(0,0,0,.15)}}
@media(max-width:1100px){.nav a,.sub-toggle{padding:0 12px}}
@media(max-width:960px){
  .bar{min-height:110px;position:relative}
  .nav-toggle{display:block}
  .nav{display:none;position:absolute;left:-4vw;right:-4vw;top:100%;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.12);padding:10px 4vw 20px}
  .nav.open{display:block}
  .menu{flex-direction:column;align-items:stretch}
  .nav a,.sub-toggle{padding:0;width:100%;text-align:left;border-bottom:1px solid #eee}
  .sub{position:static;box-shadow:none;padding:0 0 0 16px;min-width:0}
  .has-sub:hover .sub,.has-sub:focus-within .sub{display:none}.has-sub .sub.open{display:block}
  .tiles,.split,.band-grid,.contact-grid{grid-template-columns:1fr}
  .band.flip .band-media{order:0}
  .tile{min-height:420px}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .hero{min-height:0;padding:70px 0}
  .hero h1,.page-hero h1{font-size:35px;line-height:38px}
  .hero h1{max-width:300px;margin-left:auto;margin-right:auto}
  .hero .lead{font-size:20px;line-height:32px}
  .hide-sm{display:none}
  .brand img{width:195px}
  h2{font-size:28px;line-height:1.35}
  .section,.band{padding:60px 0}.page-hero{padding:70px 0}
  .footer-grid{grid-template-columns:1fr}
  .tb-left a:last-child{font-size:12px}
  .copy-inner{justify-content:center;text-align:center}
}
/* round 5 */
.band h3,.band-text h3,.prose h3{font:400 20px/1.5 Montserrat,Arial,sans-serif;color:#222;letter-spacing:0}
.center{text-align:center;margin-left:auto;margin-right:auto}
.intro-band{padding:80px 0 10px}.intro-band h2{font:700 35px/52px Montserrat,Arial,sans-serif;letter-spacing:-1px;color:#222}.intro-band p{max-width:1160px;margin:0 auto}
.steps-band{background:#0b4c6a center/cover no-repeat;color:#fff;text-align:center;padding:70px 0}
.steps-band h2{color:#fff;font:700 35px/52px Montserrat,Arial,sans-serif;letter-spacing:-1px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:30px 0}
.step h3{color:#fff;font:600 20px/1.4 Montserrat,Arial,sans-serif;margin:14px 0 10px}.step p{color:#fff}
.step-ico{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;border:2px solid #fff}.step-ico svg{width:30px;height:30px;fill:#fff}
.steps-cta h2{margin-top:20px}.steps-cta p{color:#fff;max-width:900px;margin:0 auto 16px}.steps-cta a{color:#fff}
.counters{background:var(--accent);padding:60px 0;color:#fff;text-align:center}
.counters-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:1160px}
.counter{display:flex;flex-direction:column;align-items:center}.counter-ico svg{width:34px;height:34px;fill:#fff}
.counter-n{font:400 50px/1.2 Montserrat,Arial,sans-serif;color:#fff}.counter-l{font:400 15px Montserrat,Arial,sans-serif;color:#222;text-transform:uppercase;letter-spacing:1px}
.grey-band{position:relative;background:#9a9a9a center/cover no-repeat;color:#fff;text-align:center;padding:70px 0 90px}
.grey-band h2{color:#fff;font:700 35px/52px Montserrat,Arial,sans-serif;letter-spacing:-1px;max-width:900px;margin:0 auto}
.grey-band:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:40px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 40c200 16 420 14 620-2s420-24 560-8 220 20 260 14v16H0z'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat}
.plain-band{padding:50px 0}.plain-band h2{font:700 28px/1.4 Montserrat,Arial,sans-serif;color:#222}
.light-h{font:400 16px/1.5 Montserrat,Arial,sans-serif !important;letter-spacing:1px;text-transform:none;color:#222;margin-bottom:20px}
.icon-list{list-style:none;padding:0;margin:0}.icon-list li{display:flex;gap:12px;align-items:flex-start;padding:8px 0}.icon-list .ico{width:16px;height:16px;margin-top:6px;fill:var(--accent)}
.contact-form{background:none;padding:0;gap:16px}
.contact-form label{font:400 14px Roboto,Arial,sans-serif;color:#555}
.contact-form input,.contact-form textarea{border:1px solid #ccc;border-radius:0;padding:10px}
.form-note{background:none;padding:0;font-size:13px;color:#888}
.submit-btn{background:var(--btn);color:var(--btn-text);border:0;border-radius:3px;padding:10px 25px;font:400 14px Montserrat,Arial,sans-serif;cursor:pointer}.submit-btn[disabled]{opacity:.6;cursor:not-allowed}.form-status{margin:0;padding:12px 14px;border-radius:3px;font:400 14px/1.5 Roboto,Arial,sans-serif;background:#eef8fa;color:#222;border:1px solid #55c4d6}.form-status.is-error{background:#fff3cd;border-color:#e6c260}.form-status[hidden]{display:none}
.sm8-band{padding:30px 0 20px}.sm8-band h2{margin-bottom:8px}
.sm8-intro{margin:0 auto 16px;max-width:760px}.sm8-call{white-space:nowrap}.sm8-call a{font-weight:700;color:#222}
.sm8-embed{position:relative;max-width:1160px;margin:0 auto;background:#f5f7f8;border-radius:4px;min-height:780px}
.sm8-loading{position:absolute;inset:0;margin:0;display:grid;place-items:center;color:#898989;font-size:15px}
.sm8-embed.is-loaded{background:none}.sm8-embed.is-loaded .sm8-loading{display:none}
.sm8-embed iframe{position:relative;display:block;border:0;width:100%;height:780px}
@media(max-width:1100px){.sm8-embed,.sm8-embed iframe{min-height:0;height:840px}}
@media(max-width:767px){.sm8-embed,.sm8-embed iframe{height:920px}.sm8-band{padding:20px 0 10px}}
/* 14 Oct: interactive states (FE check ee5e292e) */
.t-slider{scrollbar-width:none;overflow-x:auto}.t-slider::-webkit-scrollbar{display:none}
.t-dots a[aria-current="true"]:before{background:#fff}
.t-dots{align-items:center}.t-pause{width:24px;height:24px;margin-left:6px;padding:0;border:0;background:none;cursor:pointer;display:grid;place-items:center;opacity:.7}
.t-pause:hover,.t-pause:focus-visible{opacity:1}.t-pause svg{width:12px;height:12px;fill:#fff}
.t-pause[hidden]{display:none}.t-pause .i-play{display:none}.t-pause[data-state="paused"] .i-play{display:block}.t-pause[data-state="paused"] .i-pause{display:none}
.btn{transition:background .2s,color .2s,border-color .2s}
.btn:hover{background:#222;color:#fff}
.btn-dark:hover{background:var(--btn);color:var(--btn-text)}
.btn-ghost:hover{background:#fff;color:#55c4d6;border-color:#fff} /* MIN-3 QA1: live tatsu hover text rgba(85,196,214,1) */
@media(min-width:961px){
  .nav .sub{background:#1f1f1f;width:200px;min-width:0;top:calc(100% + 58px);box-shadow:none;padding:15px 0}
  .nav .sub:before{content:"";position:absolute;left:0;right:0;top:-59px;height:59px}
  .nav .sub a{color:#d7d7d7;text-transform:none;letter-spacing:0;font-size:13px;line-height:28px;padding:5px 20px}
  .nav .sub a:hover,.nav .sub a[aria-current="page"]{color:#fff}
}
@media(prefers-reduced-motion:reduce){.t-slider{scroll-behavior:auto}.btn{transition:none}}
/* 14 Oct: About layout as live */
.about-split{padding:40px 0 60px}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.about-text h3{font:400 20px/1.5 Montserrat,Arial,sans-serif;color:#222;margin:0 0 12px}
.about-media img{width:100%;height:auto;display:block}
.about-checks{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,auto);grid-auto-flow:column;gap:4px 20px;font-size:14px}
.grey-band.no-wave:after{display:none}
.about-checks li{padding-left:18px;position:relative;line-height:2}.about-checks li:before{content:"";position:absolute;left:0;top:13px;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.about-cards{padding:0 0 60px}
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.about-card{min-height:300px;padding:40px 30px;color:#fff;text-align:center;background:#333 center/cover no-repeat;display:flex;flex-direction:column;justify-content:center}
.about-card h3{color:#fff;font:400 20px/1.4 Montserrat,Arial,sans-serif;margin:6px 0 12px}.about-card p{color:#fff;margin:0;font-size:15px;line-height:1.7}
.card-label{font:400 11px Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:2px;color:#ddd !important}
@media(max-width:960px){.about-grid,.cards-grid{grid-template-columns:1fr}}
/* 14 Oct: desktop sticky header (live: fixed 161px bar, white, no shadow, slides in from the top over .5s, logo unchanged) */
@media(min-width:961px){
  .site-header.is-stuck{height:209px}
  .site-header.is-stuck .bar{position:fixed;top:0;left:0;right:0;z-index:100;animation:mm-slide .5s ease-out}
  .site-header.is-stuck .bar:before{content:"";position:absolute;top:0;bottom:0;left:-100vw;right:-100vw;background:#fff;z-index:-1}
}
@keyframes mm-slide{from{transform:translateY(-100%)}to{transform:none}}
@media(prefers-reduced-motion:reduce){.site-header.is-stuck .bar{animation:none}}
/* 14 Oct sweep: desktop header/topbar/hero/tiles measured on live (1000-1920) */
@media(min-width:961px){
  .site-header .bar{width:auto;max-width:none;margin:0;padding:0 30px;position:relative}
  .site-header .nav{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
  .site-header.is-stuck .nav{transform:translate(-50%,-50%)}
  .nav a,.sub-toggle{line-height:18px;padding:13px 20px}
  .sub-toggle:after{display:none}
  .topbar .wrap{width:auto;max-width:none;margin:0;padding:0 20px;justify-content:flex-start;gap:0 18px}
  .tb-right a{width:28px;height:28px;border-radius:50%;background:#464646;justify-content:center}
  .hero{min-height:706px;padding:150px 0;align-content:start}
  .tile{min-height:0;padding:15% 8%}.tile-inner{max-width:none}
  .testimonial{padding:120px 0}
  .page-hero{min-height:var(--hh,350px)}
  .tap-call{display:none} /* live has no floating call button on desktop */
}
/* FE FINAL GATE (14 Oct): F2 footer, F4 blog, F5 contact, F6 title bar, F7 band image cap */
.site-footer a{text-decoration:none}.site-footer a:hover{text-decoration:underline}
.foot-links li{line-height:26px;padding:5px 0}
.foot-logo{width:247px;height:auto}.foot-review{width:247px;height:auto}
.copy-social a{width:45px;height:45px}
@media(min-width:768px){.copy{padding:35px 0 34px}.copy-inner{position:relative;justify-content:center}.copy-social{position:absolute;left:0;top:50%;transform:translateY(-50%)}.copy p{text-align:center}}
@media(max-width:767px){.foot-logo,.foot-review{width:300px}}
.post-card h2,.post-card h2 a{font:400 20px/40px Montserrat,Arial,sans-serif!important;color:#000;letter-spacing:0;margin:0}
.post-card{border-bottom:1px solid #e5e5e5!important;margin-bottom:50px}
.post-meta{font:400 12px/24px Roboto,Arial,sans-serif;color:#898989}.post-meta a{color:#55c4d6;text-decoration:none}.post-meta .sep{margin:0 6px}
.news-side h2{font:400 12px/1.5 Montserrat,Arial,sans-serif!important;color:#898989!important;text-transform:uppercase;letter-spacing:1px;margin:30px 0 12px}
.news-side li{border:0!important;padding:0!important;font:400 13px/23px Roboto,Arial,sans-serif;color:#898989;margin-bottom:6px}
.news-side li:before{content:"›";margin-right:8px}.news-side a{color:#898989}
.news-search{position:relative;display:block}.news-search input{width:100%;padding:8px 32px 8px 10px;border:1px solid #e5e5e5;background:#fff}
.news-search-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;color:#898989;padding:4px;cursor:pointer}
.contact-form input,.contact-form textarea{background:#f5f6fa!important;border:1px solid #e5e5e5!important}
.contact-map{width:100%;height:199px}
.title-bar{background:#55c4d6;color:#fff}.title-bar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:60px;gap:12px;flex-wrap:wrap}
.title-bar h1{font:400 13px/1.4 Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:1px;color:#fff;margin:0}
.crumbs{font-size:13px}.crumbs a{color:#fff;text-decoration:none}
.to-top{position:fixed;right:20px;bottom:20px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#55c4d6;color:#fff;z-index:60}.to-top[hidden]{display:none}
@media(min-width:768px) and (max-width:960px){.to-top{display:none}}
@media(min-width:961px){
  .contact-grid{grid-template-columns:255px 1fr;gap:148px}
  .contact-form input{max-width:453px}
  .band-media img{max-width:555px}.band-media{display:flex;justify-content:center}
}
@media(min-width:961px){
  .page-hero{box-sizing:border-box;padding:var(--pt,80px) 0 var(--pb,80px);align-content:start}
  .band-grid,.split,.about-split{gap:50px}
  .contact-map{width:353px;max-width:none}
  .news-grid{grid-template-columns:820px 1fr;gap:80px}
  .footer-grid{grid-template-columns:repeat(4,247px)!important;justify-content:space-between}
}
.site-footer h2{line-height:22px}
.foot-links li{line-height:27px;padding:0;margin-bottom:10px}
.foot-logo{margin-top:40px}
.title-bar .wrap{min-height:96px}
/* FE RE-GATE (14 Oct): N2/N3 sidebar, M2 mobile top bar, M3 back-to-top on mobile */
.news-side h2{color:#333!important}
.news-side li{font:400 14px/24px Roboto,Arial,sans-serif!important;color:#888;list-style:disc inside!important}.news-side li:before{content:none!important}.news-side a{color:#888}
.post-meta .sep{margin:0 4px 0 0}
@media(max-width:767px){
  .tb-right a{width:28px;height:28px;border-radius:50%;background:#464646;color:#fff;display:inline-flex;align-items:center;justify-content:center}.tb-right .ico{width:12px;height:12px} /* M2b: live WebKit 390 = 28x28 circles, 12px glyph */
  .topbar .wrap{min-height:0!important;padding-top:15px!important;padding-bottom:23px!important;row-gap:0!important}.tb-left a{line-height:15px}.tb-right{gap:10px;padding:0!important;height:28px} /* live dark bar 81px: links row at 15, circles at 30 */
  .site-header .bar,.bar .brand,.bar .nav-toggle{min-height:126px!important} /* live header 207 = 81 top bar + 126 */
  .bar .brand{align-items:flex-start!important;padding-top:30px;box-sizing:border-box} /* L1: live visible mobile logo (195x66) top = 111 = 81 + 30 (WebKit 390 and 375; the 93px value came from a hidden 300px logo variant) */
  .topbar{background:#323232!important;color:#fff}.topbar a,.tb-left a{color:#fff!important}.tb-left .ico{fill:#fff;color:#fff} /* G2 */
  .tb-right .ico{width:12px;height:12px;fill:#fff} /* G1 */
  .to-top{display:flex;bottom:64px;right:16px} /* MIN-3: clear of the full-width tap-call bar (52 + 12) */
  .to-top[hidden]{display:none}
  .copy-inner p{padding:0 60px} /* MIN-3 QA1: keep copyright text clear of the back-to-top button (16px inset + 40px) */
}
/* round 4: mobile overrides (must stay last) */
@media(max-width:767px){
  .brand img{width:min(195px,50vw)} /* live: 195 at 390, 188 at 375 */
  .wrap{width:auto;padding:0 45px}
  .page-hero{min-height:0;box-sizing:border-box;padding:var(--mpt,50px) 0 var(--mpb,70px);align-content:start} /* FE gate: live mobile heroes are content-driven */
  .hero{padding:35px 0 99px} /* live 390: hero 843 with the 7-line H1 */
  .footer-grid{gap:50px;padding-bottom:146px}.foot-links,.foot-contact{margin-bottom:0}.foot-logo{margin-bottom:10px}
  .contact-map{height:169px}
  .title-bar .wrap{min-height:132px}
  .prose h2,.band-text h2,.band h2,.split h2{font-size:30px;line-height:33px}
  .band h3,.prose h3{font-size:20px;line-height:1.5}
  .hide-sm{display:none}
  .tb-right{width:100%;justify-content:center;padding:8px 0 4px}
  .bar{min-height:141px}
  .steps{grid-template-columns:1fr}
  .counters-grid{grid-template-columns:1fr;gap:30px}
  .intro-band h2,.steps-band h2,.grey-band h2{font-size:30px;line-height:33px}
  .topbar .wrap{padding:6px 15px}
  /* 14 Oct: live's mobile copyright bar is 185px (41px top). The bottom keeps the minimum clearance for the fixed tap-call: 16px offset + 58px button + 8px = 82px. Desktop has no spacer. */
  .copy{padding:30px 0 82px}
}
.prose,.band-text,.prose h2,.prose h3{overflow-wrap:anywhere} /* 14 Oct: long words (TERMINATION/ACCESS) overflowed at 360 */
/* 14 Oct: mobile menu matches live (in flow, no overlay, no gap, 20px inset, #f2f5f8 dividers) */
@media(max-width:960px){
  .bar{flex-wrap:wrap;min-height:0;gap:0}
  .bar .brand,.bar .nav-toggle{min-height:110px;display:flex;align-items:center}
  .nav{position:static;flex:0 0 calc(100% + 8vw);order:3;margin:0 -4vw;padding:0;box-shadow:none;background:#fff;border-top:1px solid #f2f5f8}
  .menu > li,.sub li{border-bottom:1px solid #f2f5f8}
  .nav a,.sub-toggle{padding:0 20px;border-bottom:0;font-size:12px;line-height:40px;font-weight:500;letter-spacing:1px}
  .sub{padding:0;border-top:1px solid #f2f5f8}.sub a{padding-left:36px}
  .nav-toggle[aria-expanded="true"] .burger{background:transparent}
  .nav-toggle[aria-expanded="true"] .burger:before{top:0;transform:rotate(45deg)}
  .nav-toggle[aria-expanded="true"] .burger:after{top:0;transform:rotate(-45deg)}
}
@media(max-width:767px){
  .bar .brand,.bar .nav-toggle{min-height:141px}
  .site-header .bar{padding:0 20px}
  .nav{margin:0 -20px;flex-basis:calc(100% + 40px)}
}
@media(max-width:960px){
  .nav a,.sub-toggle{font-size:11px}
  .nav a[aria-current="page"]{color:#222}
  .sub-toggle{display:flex;justify-content:space-between;align-items:center}
  .sub-toggle:after{border:solid currentColor;border-width:0 1.5px 1.5px 0;width:6px;height:6px;padding:0;transform:rotate(-45deg);margin:0 4px 0 0}
  .sub-toggle[aria-expanded="true"]:after{transform:rotate(45deg)}
  .sub-toggle[aria-expanded="true"]{color:#222}
  .sub{border-top:0;padding:4px 0 8px}.sub li{border-bottom:0}
  .nav .sub a{text-transform:none;letter-spacing:0;font-size:12px;color:#898989;line-height:20px;padding:6px 20px 6px 40px}
  .nav .sub a[aria-current="page"]{color:#222}
}

/* FE DESIGN REVIEW (14 Oct, e2ce3173): tablet 768-960 (live switches to the desktop header at 961) and contact form; live WebKit measurements */
.br-t{display:none}
@media(min-width:768px){.tap-call{display:none}} /* T6 */
@media(min-width:768px) and (max-width:960px){
  .wrap{width:740px;max-width:calc(100% - 28px)}
  .topbar .wrap{justify-content:center;align-items:center;min-height:64px;padding-top:0;padding-bottom:0;gap:0 20px;flex-wrap:nowrap;padding-bottom:8px!important;box-sizing:border-box} /* T1: live content centre is at 28 */
  .topbar{background:#323232!important;color:#fff}.tb-left a{color:#fff!important}.tb-left .ico{fill:#fff}
  .tb-left{display:flex;gap:20px}.tb-left a{line-height:15px}
  .tb-right{display:flex;gap:10px;padding:0}
  .tb-right a{width:28px;height:28px;border-radius:50%;background:#464646;color:#fff;display:inline-flex;align-items:center;justify-content:center}
  .tb-right .ico{width:12px;height:12px;fill:#fff}
  .site-header .bar{width:auto;max-width:none;margin:0;padding:0 30px}
  .bar .brand,.bar .nav-toggle{min-height:161px} /* T2: header 225, logo top 94 */
  .tiles{grid-template-columns:repeat(3,1fr)} /* T3 */
  .tile{min-height:0;padding:60px 20px}
  .p-about .band-grid,.p-boat-servicing .band-grid,.p-about .about-grid{grid-template-columns:1fr 1fr;gap:50px} /* T4 */
  .p-about .band.flip .band-media,.p-boat-servicing .band.flip .band-media{order:-1}
  .band-media img{display:block;max-width:592px;width:100%;margin:0 auto}
  .post-img img{width:500px;max-width:100%}
  .page-hero{box-sizing:border-box;min-height:var(--hh,350px);padding:var(--tpt,50px) 0 var(--tpb,7px);align-content:start} /* T5: service pages 50, others as desktop */
  .p-home .hero{padding:100px 0 145px}
  .p-home .split{grid-template-columns:1fr 1fr;gap:50px}
  .page-hero{min-height:0}
  .footer-grid{grid-template-columns:repeat(4,157px)!important;justify-content:space-between}
  .foot-logo,.foot-review{width:157px}
  .footer-grid{margin-top:-22px} /* live 768: review badge 112px below the footer top (staging 134) */
  .news-grid{grid-template-columns:500px 200px;justify-content:start;column-gap:40px}
  .contact-grid{grid-template-columns:213px 1fr;gap:60px}
  .contact-map{width:213px;height:120px}
  .copy{padding:32px 0 33px}.copy p{line-height:30px}.br-t{display:inline} /* T7: 125px, two lines */
  .to-top:not([hidden]){display:flex} /* live shows back-to-top at 768 */
}
/* C1: contact form styling per live (submission is not wired; pending e) */
.contact-form label{font:700 16px/1.5 Roboto,Arial,sans-serif;color:#333}
.contact-form input,.contact-form textarea{box-sizing:border-box;padding:15px 0 15px 10px!important;font:400 16px Roboto,Arial,sans-serif;color:#333;background:#f5f6fa!important;border:1px solid transparent!important;border-radius:3px!important;outline:0}
.contact-form input{height:53px}.contact-form textarea{height:120px;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{border-color:#1890ff!important;box-shadow:inset 0 0 4px rgba(0,0,0,.16)}
.contact-form .submit-btn{width:100px;height:42px;padding:0;border-radius:2px}
.pagination{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 50px}.pagination a,.pagination span{display:inline-block;padding:8px 14px;font:400 13px/1.4 Montserrat,Arial,sans-serif;background:#f2f3f8;color:#222;text-decoration:none}.pagination .current,.pagination a:hover{background:#55c4d6;color:#fff} /* MIN-3: live news pagination */
.news-side select{width:100%;height:40px;border:1px solid #ddd;padding:0 10px;font:400 14px Roboto,Arial,sans-serif;color:#555;background:#fff} /* MIN-3 FEDS #1 */
.news-side h2 label{cursor:pointer}
.news-side ul{padding-left:18px!important}.news-side li{list-style:disc outside!important} /* MIN-3 FEDS #3: live bullet indent */
@media(min-width:961px){.p-news .section:not(.page-hero){padding-top:80px}} /* MIN-3 FEDS #2: live first post top 809px at 1440 */
/* MIN-3 p3: live tablet (768-1024) layouts */
@media(min-width:768px) and (max-width:1024px){
  .p-home .section .split{grid-template-columns:1fr;gap:20px}.p-home .section .split .media img{max-width:340px;margin:0}
  .p-about .cards-grid{grid-template-columns:repeat(3,1fr);gap:20px}.p-about .about-card{padding:30px 15px}
  .p-about .grey-band{background-image:none!important;background-color:#999}.p-about .grey-band:after{display:none}
}
