/* Five Tour 4.4.19: public experience, independent of the Staff workspace. */
body.ft4419-public {
  --ft19-blue:#007dad; --ft19-blue-dark:#07547a; --ft19-ink:#183448;
  --ft19-muted:#597181; --ft19-line:#dbe6ec; --ft19-soft:#f2f7fa; --ft19-orange:#ef922f;
  --text:var(--ft19-ink); --muted:var(--ft19-muted); --line:var(--ft19-line);
  --soft:var(--ft19-soft); --brand:var(--ft19-blue); --brand2:#139ac5; --dark:#08354f;
  --accent:#ffca79; --radius:16px; --shadow:0 8px 28px #123e5c0d; --max:1220px;
  margin:0; background:#fff; color:var(--ft19-ink); font:400 16px/1.7 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}
body.ft4419-public .container { width:min(1220px,calc(100% - 64px))!important; max-width:1220px!important; margin-inline:auto; }
body.ft4419-public :is(h1,h2,h3,p,li,label) { word-break:normal; overflow-wrap:break-word; }
body.ft4419-public :is(h1,h2,h3) { text-wrap:balance; }
body.ft4419-public :is(button,input,select,textarea) { font:inherit; }
body.ft4419-public :is(a,button,summary,input,select,textarea,[tabindex]):focus-visible { outline:3px solid #00a7db!important; outline-offset:4px!important; }
body.ft4419-public [hidden] { display:none!important; }
body.ft4419-public .skip { z-index:12000; color:var(--ft19-ink); border-radius:8px; }
body.ft4419-public .skip:focus { left:20px; top:12px; }
body.ft4419-public .ft19-kicker { display:block; font-size:.8125rem; font-weight:700; letter-spacing:.13em; line-height:1.5; color:var(--ft19-blue); margin:0 0 12px; }
body.ft4419-public .ft19-button {
  display:inline-flex; align-items:center; justify-content:center; gap:24px; min-height:52px;
  border:1px solid transparent; border-radius:8px!important; padding:13px 24px;
  background:var(--ft19-blue); color:white; font-size:.9375rem; font-weight:650!important;
  line-height:1.5; text-align:center; text-decoration:none; box-shadow:none; cursor:pointer;
  transition:background .18s,box-shadow .18s; max-width:100%;
}
body.ft4419-public .ft19-button:hover { background:var(--ft19-blue-dark); box-shadow:0 5px 18px #007dad22; transform:none; }
body.ft4419-public .ft19-button>span[aria-hidden] { font-size:1.3rem; line-height:1; }
body.ft4419-public .ft19-button-light { background:#fff; color:var(--ft19-blue-dark); }
body.ft4419-public .ft19-button-light:hover { background:#e7f6fd; }
body.ft4419-public .ft19-text-link { display:inline-flex; justify-content:space-between; align-items:center; gap:20px; color:var(--ft19-blue-dark); font-weight:650; font-size:.9375rem; text-decoration:none; }
body.ft4419-public .ft19-text-link:hover { text-decoration:underline; text-underline-offset:5px; }

/* Clear two-level masthead. Native details keep the navigation usable without JS. */
body.ft4419-public .site-header.ft19-header { position:sticky; top:0; z-index:500; background:#fff; color:var(--ft19-ink); border:0; border-bottom:1px solid var(--ft19-line); backdrop-filter:none; box-shadow:none; }
body.ft4419-public.admin-bar .site-header.ft19-header { top:32px; }
body.ft4419-public .ft19-header-top { width:min(1340px,calc(100% - 64px)); min-height:88px; margin:auto; display:flex; align-items:center; gap:24px; }
body.ft4419-public .ft19-brand { display:flex; align-items:center; flex:0 0 156px; justify-content:center; width:156px; height:66px; padding:6px 12px; background:#082536; border-radius:8px; text-decoration:none; }
body.ft4419-public .ft19-brand img { width:132px; height:56px; object-fit:contain; }
body.ft4419-public .ft19-brand-line { font-size:.875rem; color:var(--ft19-muted); }
body.ft4419-public .ft19-header-contact { display:grid; gap:0; margin-left:auto; line-height:1.55; }
body.ft4419-public .ft19-header-contact>span { font-size:.8125rem; color:var(--ft19-muted); }
body.ft4419-public .ft19-header-contact>a { display:flex; align-items:center; gap:8px; color:var(--ft19-blue-dark); font-weight:650; font-size:.9375rem; text-decoration:none; }
body.ft4419-public .ft19-header svg { width:20px; height:20px; flex:none; }
body.ft4419-public .ft19-staff-link { display:flex; gap:8px; align-items:center; padding:11px 16px; border:1px solid #c8dbe6; border-radius:8px; color:var(--ft19-blue-dark); font-size:.875rem; font-weight:650; text-decoration:none; }
body.ft4419-public .ft19-header-bottom { position:relative; width:min(1340px,calc(100% - 64px)); display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:60px; margin:auto; border-top:1px solid #e8eef2; }
body.ft4419-public .ft19-nav { display:flex; align-items:center; flex-wrap:wrap; gap:4px; }
body.ft4419-public .ft19-nav>a,body.ft4419-public .ft19-nav-group>summary { display:flex; align-items:center; gap:10px; padding:16px 17px; min-height:56px; line-height:1.4; color:var(--ft19-ink); font-size:.9375rem; text-decoration:none; cursor:pointer; border:0; list-style:none; border-radius:0; }
body.ft4419-public .ft19-nav>a strong { font-weight:550; }
body.ft4419-public .ft19-nav-group>summary { font-weight:550; }
body.ft4419-public .ft19-nav-group>summary::-webkit-details-marker { display:none; }
body.ft4419-public .ft19-nav>a:hover,body.ft4419-public .ft19-nav-group>summary:hover,body.ft4419-public .ft19-nav [aria-current=page],body.ft4419-public .ft19-nav-group[open]>summary { color:var(--ft19-blue); background:#f1f8fc; }
body.ft4419-public .ft19-nav-group:has([aria-current=page])>summary { color:var(--ft19-blue); }
body.ft4419-public .ft19-chevron { width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .18s; }
body.ft4419-public details[open] .ft19-chevron { transform:rotate(225deg) translate(-2px,-1px); }
body.ft4419-public .ft19-mega { position:absolute; top:100%; left:0; right:0; display:grid; grid-template-columns:.8fr 1.5fr; gap:36px; padding:32px; background:white; border:1px solid var(--ft19-line); border-radius:0 0 16px 16px; box-shadow:0 24px 40px #12374f26; }
body.ft4419-public .ft19-mega-intro { border-right:1px solid var(--ft19-line); padding-right:30px; }
body.ft4419-public .ft19-mega h2 { font-size:1.65rem; line-height:1.25; font-weight:650; letter-spacing:-.025em; margin:0 0 12px; }
body.ft4419-public .ft19-mega p { font-size:.9375rem; color:var(--ft19-muted); margin:0; }
body.ft4419-public .ft19-mega-links { display:grid; gap:8px; align-content:center; }
body.ft4419-public .ft19-mega-links>a { display:flex; gap:16px; padding:12px; align-items:center; border-radius:10px; text-decoration:none; }
body.ft4419-public .ft19-mega-links>a:hover { background:var(--ft19-soft); }
body.ft4419-public .ft19-mega-links strong { font-size:1rem; font-weight:650; }
body.ft4419-public .ft19-mega-links small { display:block; color:var(--ft19-muted); font-size:.875rem; margin-top:2px; }
body.ft4419-public .ft19-nav-icon { width:48px; height:48px; display:grid; place-items:center; flex:none; background:#eaf6fc; border-radius:12px; color:var(--ft19-blue); }
body.ft4419-public .ft19-header-cta { min-height:42px; padding:9px 18px; font-size:.875rem; flex:none; }
body.ft4419-public .ft19-menu-toggle { display:none; border:0; background:transparent; color:var(--ft19-ink); min-height:44px; padding:8px; gap:8px; align-items:center; cursor:pointer; font-weight:600; }
body.ft4419-public .ft19-menu-lines { width:21px; height:14px; border-top:2px solid currentColor; border-bottom:2px solid currentColor; position:relative; }
body.ft4419-public .ft19-menu-lines::before { content:""; position:absolute; top:5px; left:0; right:0; border-top:2px solid currentColor; }
body.ft4419-public .ft19-header.is-scrolled { box-shadow:0 4px 20px #153d5914; }
body.ft4419-public .ft19-header.is-scrolled .ft19-header-top { min-height:72px; }

/* Full-width original photography, short messages and user-controlled slides. */
body.ft4419-public .ft19-hero { position:relative; background:#0a3951; color:#fff; isolation:isolate; }
body.ft4419-public .ft19-hero-slide { position:relative; display:grid; place-items:center; min-height:520px; padding:64px 32px 100px; overflow:hidden; }
body.ft4419-public .ft19-hero-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
body.ft4419-public .ft19-hero-slide::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,#00253638,#00253675 65%,#002536b8); z-index:-1; }
body.ft4419-public .ft19-hero-copy { text-align:center; max-width:960px; }
body.ft4419-public .ft19-hero-copy .ft19-kicker { color:#fff; font-size:.875rem; letter-spacing:.15em; margin:0 0 22px; }
body.ft4419-public .ft19-hero-copy :is(h1,h2) { font-size:clamp(2.6rem,5.2vw,4.5rem); line-height:1.06; font-weight:730; letter-spacing:-.035em; margin:0 auto 22px; max-width:930px; color:#fff; text-shadow:0 2px 20px #052d4933; }
body.ft4419-public .ft19-hero-copy>p:not(.ft19-kicker) { font-size:clamp(1.0625rem,1.5vw,1.1875rem); line-height:1.65; max-width:700px; margin:0 auto 28px; }
body.ft4419-public .ft19-hero-tabs { position:absolute; bottom:30px; left:50%; transform:translateX(-50%); display:flex; gap:30px; max-width:calc(100% - 48px); width:max-content; }
body.ft4419-public .ft19-hero-tabs button { display:flex; align-items:center; gap:10px; color:#fff; background:transparent; border:0; border-bottom:2px solid #ffffff55; border-radius:0; padding:12px 4px; min-height:46px; font-size:.875rem; font-weight:550; cursor:pointer; white-space:nowrap; }
body.ft4419-public .ft19-hero-tabs button[aria-selected=true] { border-bottom-color:#fff; }
body.ft4419-public .ft19-slide-number { font-size:.75rem; opacity:.75; }
body.ft4419-public .ft19-planner { position:relative; z-index:2; margin:0 auto; padding:30px 0 36px; width:min(1220px,calc(100% - 64px)); border-bottom:1px solid var(--ft19-line); }
body.ft4419-public .ft19-planner-intro { display:flex; align-items:center; gap:22px; margin-bottom:18px; }
body.ft4419-public .ft19-planner-intro .ft19-kicker { margin:0; }
body.ft4419-public .ft19-planner h2 { font-size:1.35rem; font-weight:600; letter-spacing:-.025em; margin:0; }
body.ft4419-public .ft19-request-bar { display:grid; grid-template-columns:1.4fr 1fr 1fr auto; gap:12px; }
body.ft4419-public .ft19-request-bar label { background:#f2f7fa; border:1px solid #e4ecf1; border-radius:8px; padding:12px 16px; min-width:0; }
body.ft4419-public .ft19-request-bar label>span { display:flex; align-items:center; gap:8px; font-size:.8125rem; color:#527087; font-weight:550; }
body.ft4419-public .ft19-request-bar svg { width:17px; height:17px; }
body.ft4419-public .ft19-request-bar :is(input,select) { display:block; width:100%; min-width:0; color:#163b55; border:0; background:transparent; border-radius:0; height:32px; padding:4px 0; margin:3px 0 0; font-size:1rem; font-weight:550; box-shadow:none; }
body.ft4419-public .ft19-request-bar input::placeholder { color:#577080; opacity:1; font-weight:400; }
body.ft4419-public .ft19-request-bar .ft19-button { align-self:stretch; }

/* Commercial content: consistent grids, generous photography, concise copy. */
body.ft4419-public .ft19-section,body.ft4419-public .section { padding-block:80px; }
body.ft4419-public .ft19-section-heading { text-align:center; max-width:820px; margin:0 auto 38px; }
body.ft4419-public .ft19-section-heading h2,body.ft4419-public .section h2 { font-size:clamp(1.9rem,3.15vw,2.75rem); line-height:1.2; font-weight:650; letter-spacing:-.03em; margin:0 0 18px; }
body.ft4419-public .ft19-section-heading>p:last-child { color:var(--ft19-muted); margin:0; font-size:1.0625rem; }
body.ft4419-public .ft19-experience-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
body.ft4419-public .ft19-experience-card { overflow:hidden; border:1px solid var(--ft19-line); border-radius:14px; display:flex; flex-direction:column; background:white; box-shadow:0 6px 22px #183f5708; }
body.ft4419-public .ft19-experience-image { display:block; overflow:hidden; aspect-ratio:1.45; }
body.ft4419-public .ft19-experience-image img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
body.ft4419-public .ft19-experience-card:hover img { transform:scale(1.035); }
body.ft4419-public .ft19-experience-body { padding:27px; display:flex; flex-direction:column; flex:1; }
body.ft4419-public .ft19-experience-body .ft19-kicker { font-size:.75rem; margin-bottom:9px; }
body.ft4419-public .ft19-experience-body h3 { font-size:1.65rem; line-height:1.3; letter-spacing:-.025em; font-weight:650; margin:0 0 12px; }
body.ft4419-public .ft19-experience-body p { font-size:1rem; color:var(--ft19-muted); margin:0 0 22px; line-height:1.65; }
body.ft4419-public .ft19-experience-body .ft19-text-link { margin-top:auto; padding-top:18px; border-top:1px solid var(--ft19-line); }
body.ft4419-public .split { gap:64px; grid-template-columns:repeat(2,minmax(0,1fr)); }
body.ft4419-public .split>* { min-width:0; }
body.ft4419-public .eyebrow { font-size:.8125rem; line-height:1.5; letter-spacing:.12em; font-weight:700; color:var(--ft19-blue); }
body.ft4419-public .section p { line-height:1.75; color:var(--ft19-muted); }
body.ft4419-public .section h3 { line-height:1.3; font-weight:650; }
body.ft4419-public .card-image { border-radius:16px; box-shadow:none; }
body.ft4419-public .card-image img { aspect-ratio:4/3; height:auto; object-fit:cover; }
body.ft4419-public .check-list { border-top:1px solid var(--ft19-line); margin-top:25px; padding-top:10px; }
body.ft4419-public .check-list li { padding:10px 0 10px 29px; margin:0; font-size:1rem; color:#345366; }
body.ft4419-public .check-list li::before { top:10px; color:var(--ft19-blue); }
body.ft4419-public .section-heading { margin-bottom:34px; }
body.ft4419-public .section-heading .lead { font-size:1.0625rem; }
body.ft4419-public .section-soft { background:var(--ft19-soft); }
body.ft4419-public .section-dark { background:#08354f; }
body.ft4419-public .section-dark :is(h2,h3) { color:#fff; }
body.ft4419-public .section-dark :is(p,.eyebrow,.check-list li) { color:#d9eaf4; }
body.ft4419-public .ft-home-events-section { background:#f0f7fa; color:var(--ft19-ink); }
body.ft4419-public .ft-home-events-section :is(h2,h3) { color:var(--ft19-ink); }
body.ft4419-public .ft-home-events-section p { color:var(--ft19-muted); }
body.ft4419-public .ft-home-events-section .eyebrow { color:var(--ft19-blue); }
body.ft4419-public :is(.service-card,.package-card,.catalog-card,.text-cards article,.service-equipment-card) { border-radius:14px; border:1px solid var(--ft19-line); box-shadow:none; overflow:hidden; }
body.ft4419-public :is(.service-card,.text-cards article):hover { transform:none; border-color:#adcbdc; box-shadow:0 6px 24px #0c416e0c; }
body.ft4419-public .service-card { display:flex; flex-direction:column; }
body.ft4419-public .service-card>img { aspect-ratio:1.5; height:auto; object-fit:cover; }
body.ft4419-public .service-card>a { margin-top:auto; padding-top:10px; }
body.ft4419-public .service-card :is(h3,p,a) { margin-inline:24px; }
body.ft4419-public .package-body { padding:24px; gap:12px; }
body.ft4419-public .package-body h3 { font-size:1.3rem; line-height:1.3; }
body.ft4419-public .package-body p { font-size:1rem; line-height:1.65; }
body.ft4419-public .package-body a,body.ft4419-public .service-card>a { color:var(--ft19-blue-dark); font-size:.9375rem; font-weight:650; text-decoration:none; }
body.ft4419-public .ft-home-events-section .package-card { background:#fff; color:var(--ft19-ink); border-color:var(--ft19-line); box-shadow:0 4px 16px #103f5708; }
body.ft4419-public .ft-home-events-section .package-body a { color:var(--ft19-blue-dark); }
body.ft4419-public .tag { border-radius:5px; background:#eaf5fb; color:var(--ft19-blue-dark); font-size:.8125rem; font-weight:550; text-transform:none; letter-spacing:0; padding:5px 9px; }
body.ft4419-public .ft-home-events-section .tag { color:var(--ft19-blue-dark); background:#eaf5fb; }
body.ft4419-public .ft-home-carousel { padding-inline:52px; }
body.ft4419-public .ft-home-carousel-viewport { overflow-x:auto; scrollbar-width:none; scroll-snap-type:x proximity; }
body.ft4419-public .ft-home-carousel-viewport::-webkit-scrollbar { display:none; }
body.ft4419-public .ft-home-carousel-track { gap:24px; }
body.ft4419-public .ft-home-carousel .ft-carousel-card { flex-basis:calc((100% - 48px)/3); scroll-snap-align:start; }
body.ft4419-public .ft-home-carousel-arrow { width:44px; height:44px; box-shadow:none; color:var(--ft19-blue-dark); border-color:#c2d9e5; }
body.ft4419-public .ft-carousel-hint { color:var(--ft19-muted); background:transparent; border:0; font-size:.875rem; font-weight:500; }
body.ft4419-public .gallery-grid { gap:18px; grid-template-columns:repeat(3,minmax(0,1fr)); }
body.ft4419-public .gallery-item { aspect-ratio:4/3; border-radius:12px; box-shadow:none; }
body.ft4419-public .catalog-grid { gap:24px; }
body.ft4419-public .catalog-card { padding:28px; }
body.ft4419-public .catalog-list div { border-color:var(--ft19-line); padding:16px 0; }
body.ft4419-public .catalog-list p { font-size:1rem; }
body.ft4419-public .ft19-catalog-disclosure>summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:44px; cursor:pointer; }
body.ft4419-public .ft19-catalog-disclosure>summary::-webkit-details-marker { display:none; }
body.ft4419-public .ft19-catalog-disclosure>summary h3 { margin:0; font-size:1.2rem; }
body.ft4419-public .ft19-catalog-disclosure>summary::after { content:"+"; color:var(--ft19-blue); font-size:1.75rem; font-weight:400; }
body.ft4419-public .ft19-catalog-disclosure[open]>summary { margin-bottom:16px; }
body.ft4419-public .ft19-catalog-disclosure[open]>summary::after { content:"−"; }
body.ft4419-public .service-equipment-body { padding:28px; }
body.ft4419-public .service-equipment-body :is(p,.feature-list li) { color:var(--ft19-muted); font-size:1rem; }
body.ft4419-public .section-dark .service-equipment-body :is(p,.feature-list li) { color:#d9eaf4; }
body.ft4419-public .ft-google-reviews-section { background:#f4f8fb; }
body.ft4419-public .ft-google-reviews-section .review-card { padding:24px; border:1px solid var(--ft19-line); border-radius:14px; box-shadow:none; }
body.ft4419-public .ft-google-reviews-section .review-card p { font-size:1rem; line-height:1.7; }
body.ft4419-public .ft-review-author span:not(.ft-review-avatar):not(.ft-google-mark) { font-size:.8125rem; }
body.ft4419-public .ft-instagram-live-badge { display:none; }
body.ft4419-public .ft-instagram-post-card { border:1px solid var(--ft19-line); border-radius:14px; box-shadow:none; }
body.ft4419-public .ft-instagram-post-link { color:var(--ft19-blue-dark); background:#edf6fa; font-size:.9375rem; font-weight:600; }
body.ft4419-public .ft19-final-cta { background:#007fad; padding:84px 0; color:#fff; text-align:center; }
body.ft4419-public .ft19-final-cta .ft19-kicker { color:#d6f1ff; }
body.ft4419-public .ft19-final-cta h2 { font-size:clamp(2.5rem,4.6vw,4.25rem); line-height:1.08; letter-spacing:-.04em; font-weight:650; margin:18px 0 22px; }
body.ft4419-public .ft19-final-cta p:not(.ft19-kicker) { color:#e2f5fc; font-size:1.125rem; margin:0 0 28px; }

/* Inner pages and actions speak the same visual language as the home page. */
body.ft4419-public .page-hero { background-blend-mode:normal; min-height:410px!important; padding:64px 0!important; background-image:linear-gradient(90deg,#052b426b,#052b427d),var(--hero-image); }
body.ft4419-public .page-hero::after { display:none; }
body.ft4419-public .page-hero>.container { width:min(1040px,calc(100% - 64px))!important; }
body.ft4419-public .page-hero h1 { color:#fff; font-size:clamp(2.2rem,4vw,3.4rem)!important; line-height:1.15!important; letter-spacing:-.025em!important; font-weight:680; text-shadow:none; }
body.ft4419-public .page-hero .lead { max-width:760px!important; font-size:1.125rem; line-height:1.7; color:#fff; }
body.ft4419-public .page-hero .eyebrow { color:#e6f6ff; }
body.ft4419-public .page-hero.compact { min-height:260px!important; background:#edf6fb; color:var(--ft19-ink); padding:54px 0!important; border-bottom:1px solid #d9eaf4; }
body.ft4419-public .page-hero.compact h1 { color:var(--ft19-ink); }
body.ft4419-public .page-hero.compact .lead { color:var(--ft19-muted); }
body.ft4419-public .page-hero.compact .eyebrow { color:var(--ft19-blue); }
body.ft4419-public .ft19-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:10px; color:inherit; font-size:.8125rem; margin:0 0 18px; opacity:.9; }
body.ft4419-public .ft19-breadcrumb a { color:inherit; text-underline-offset:3px; }
body.ft4419-public :is(.btn,.site-form button[type=submit],.site-form input[type=submit]) { background:var(--ft19-blue); color:#fff; border:1px solid transparent; border-radius:8px!important; min-height:48px; padding:12px 22px; font-size:.9375rem; line-height:1.5; font-weight:650!important; box-shadow:none; }
body.ft4419-public :is(.btn,.site-form button[type=submit]):hover { background:var(--ft19-blue-dark); box-shadow:none; transform:none; }
body.ft4419-public .btn-ghost { background:transparent; color:var(--ft19-blue-dark); border:1px solid #8ebed5; }
body.ft4419-public :is(.page-hero,.section-dark,.cta-band) .btn-ghost { color:#fff; border-color:#ffffff80; }
body.ft4419-public .btn-ghost-dark { background:#edf5fa; color:var(--ft19-blue-dark); border-color:#c2d9e6; }
body.ft4419-public .cta-band { background:#087aa7; color:#fff; }
body.ft4419-public .cta-band .split { grid-template-columns:1fr auto; }
body.ft4419-public .cta-band :is(p,.eyebrow) { color:#e4f5fc; }
body.ft4419-public .cta-band .btn { color:var(--ft19-blue-dark); background:#fff; }

/* Forms: grouped sections, consistent labels, controls and readable validation. */
body.ft4419-public .ft19-quote-section { background:#f5f8fa; }
body.ft4419-public .ft19-form-layout { display:grid; grid-template-columns:minmax(250px,.74fr) minmax(0,1.35fr); align-items:start; gap:64px; }
body.ft4419-public .ft19-form-aside { padding-top:12px; }
body.ft4419-public .ft19-form-aside h2 { font-size:2.25rem; }
body.ft4419-public .ft19-form-aside>p { max-width:360px; }
body.ft4419-public .ft19-process { list-style:none; padding:0; margin:32px 0; }
body.ft4419-public .ft19-process li { display:flex; align-items:flex-start; gap:15px; padding:17px 0; border-top:1px solid var(--ft19-line); }
body.ft4419-public .ft19-process li>span { color:#2495bd; font-size:.875rem; margin-top:2px; }
body.ft4419-public .ft19-process strong { font-size:1rem; font-weight:650; }
body.ft4419-public .ft19-process p { font-size:.9375rem; margin:3px 0 0; }
body.ft4419-public .ft19-contact-box { padding:22px; border:1px solid #b7d9e9; border-radius:12px; background:#edf7fc; }
body.ft4419-public .ft19-contact-box strong { display:block; font-size:1rem; margin-bottom:8px; }
body.ft4419-public .ft19-contact-box a { font-size:.9375rem; color:var(--ft19-blue-dark); font-weight:600; text-underline-offset:4px; }
body.ft4419-public .ft19-form-panel { background:#fff; padding:36px; border:1px solid var(--ft19-line); border-radius:16px; box-shadow:0 8px 24px #17446108; }
body.ft4419-public .ft19-required-note { font-size:.8125rem!important; color:var(--ft19-muted); margin:0 0 4px; }
body.ft4419-public .ft19-required { color:#a34525; }
body.ft4419-public .site-form { display:grid; gap:24px!important; }
body.ft4419-public .site-form .form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 24px!important; }
body.ft4419-public .site-form label { display:block; font-size:.9375rem!important; font-weight:550!important; line-height:1.5; color:#29495e; margin:0; min-width:0; }
body.ft4419-public .site-form :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea) { display:block; width:100%; min-width:0; min-height:50px; height:auto; border:1px solid #b9cdda; border-radius:8px!important; background-color:#fff; color:var(--ft19-ink); font-size:1rem!important; font-weight:400!important; line-height:1.5; padding:12px 14px!important; margin-top:8px; box-shadow:none; }
body.ft4419-public .site-form select { padding-right:36px!important; cursor:pointer; }
body.ft4419-public .site-form :is(input,textarea)::placeholder { color:#6a8292; opacity:1; }
body.ft4419-public .site-form :is(input,select,textarea):focus { border-color:#007dad; box-shadow:0 0 0 3px #007dad13; }
body.ft4419-public .site-form textarea { min-height:135px; resize:vertical; }
body.ft4419-public .site-form input[type=file] { background:#f4f8fb; border-style:dashed; padding:10px!important; font-size:.875rem!important; }
body.ft4419-public .site-form input[type=file]::file-selector-button { border:1px solid #c3d8e4; background:white; color:#125478; font-family:inherit; font-size:.875rem; font-weight:600; line-height:1.5; border-radius:6px; padding:7px 10px; margin-right:12px; cursor:pointer; }
body.ft4419-public .site-form .check { display:flex!important; align-items:flex-start; gap:10px!important; font-weight:400!important; font-size:.875rem!important; line-height:1.65; }
body.ft4419-public .site-form :is(input[type=checkbox],input[type=radio]) { width:20px!important; height:20px!important; min-width:20px!important; margin:3px 0 0!important; accent-color:var(--ft19-blue); }
body.ft4419-public .site-form .check a { color:var(--ft19-blue-dark); text-underline-offset:3px; }
body.ft4419-public .ft19-fieldset { min-width:0; border:0; border-top:1px solid var(--ft19-line); padding:22px 0 0; margin:0; }
body.ft4419-public .ft19-fieldset legend { padding:0 16px 0 0; margin:0 0 4px; font-size:1.125rem; font-weight:650; color:#21485f; }
body.ft4419-public .ft19-fieldset legend>span,body.ft4419-public .ft19-field-heading>span { display:inline-grid; place-items:center; width:30px; height:30px; margin-right:10px; background:#eaf5fb; border-radius:50%; color:#007dad; font-size:.8125rem; font-weight:650; }
body.ft4419-public .ft19-field-heading { display:flex; align-items:center; grid-column:1/-1!important; border-top:1px solid var(--ft19-line); padding-top:24px; margin:6px 0 0; }
body.ft4419-public .ft19-field-heading h3 { font-size:1.125rem; font-weight:650; margin:0; }
body.ft4419-public .ft19-field-heading p { margin:3px 0 0; font-size:.875rem; }
body.ft4419-public .ft19-field-heading>span { flex:none; }
body.ft4419-public .ft19-form-submit { border-top:1px solid var(--ft19-line); padding-top:24px; display:grid; gap:24px; }
body.ft4419-public .ft19-form-submit .ft19-button { justify-self:start; min-width:240px; }
body.ft4419-public .form-wrap { max-width:1040px!important; }
body.ft4419-public .form-wrap>.site-form { background:#fff; border:1px solid var(--ft19-line); border-radius:16px; padding:36px; box-shadow:0 6px 24px #163d5508; }
body.ft4419-public :is(.oq-form-card,.iscrizione-card,.oq-service-card,.oq-calendar-month) { background:#fff; border:1px solid var(--ft19-line); border-radius:14px; box-shadow:none; }
body.ft4419-public :is(.info-box,.otp-panel,.legal-panel) { border-radius:10px; box-shadow:none; border-color:#cbdde8; background:#f2f8fc; }
body.ft4419-public .legal-panel { font-size:.9375rem; line-height:1.75; }
body.ft4419-public .site-form .field-error-text { font-size:.875rem; line-height:1.5; }
body.ft4419-public .site-form .hp { display:none!important; }
body.ft4419-public .table-wrap { border:1px solid var(--ft19-line); border-radius:12px; overflow:auto; box-shadow:none; }
body.ft4419-public .table-wrap table { font-size:.9375rem; }
body.ft4419-public .table-wrap :is(th,td) { padding:15px 18px; border-color:#e4edf3; vertical-align:middle; line-height:1.55; }
body.ft4419-public .table-wrap th { background:#eaf4fa; color:#234f69; font-weight:650; }
body.ft4419-public .table-wrap tbody tr:nth-child(even) { background:#f7fafc; }
body.ft4419-public .table-wrap tbody tr:hover { background:#edf7fc; }
body.ft4419-public .prose { font-size:1rem; line-height:1.8; }
body.ft4419-public .prose h2 { font-size:1.8rem; margin-top:40px; }

/* Footer, with original contacts and legal information. */
body.ft4419-public .site-footer { background:#072d43; color:#d6e7f2; padding:64px 0 24px; }
body.ft4419-public .footer-grid { grid-template-columns:1.15fr 1fr 1.3fr .9fr!important; gap:40px; }
body.ft4419-public .footer-grid>div { min-width:0; }
body.ft4419-public .site-footer h3 { font-size:1rem; font-weight:650; margin:0 0 20px; color:#fff; }
body.ft4419-public .site-footer p { font-size:.9375rem; line-height:1.75; color:#c5dbe9; }
body.ft4419-public .site-footer a { color:#d6e7f2; font-size:.9375rem; padding:3px 0; white-space:normal!important; overflow-wrap:anywhere; }
body.ft4419-public .site-footer a:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
body.ft4419-public .footer-logo-wrap img { width:170px; height:84px; object-fit:contain; }
body.ft4419-public .footer-bottom { margin-top:40px; border-color:#ffffff26; padding-top:22px; }
body.ft4419-public .footer-legal-line { font-size:.8125rem!important; white-space:normal!important; line-height:1.7; }
body.ft4419-public .footer-legal-line a { display:inline; font-size:inherit; }
body.ft4419-public .social-btn { box-shadow:none; }

@media(max-width:1100px) {
  body.ft4419-public .ft19-brand-line { display:none; }
  body.ft4419-public .ft19-nav>a,body.ft4419-public .ft19-nav-group>summary { padding-inline:10px; font-size:.875rem; }
  body.ft4419-public .ft19-form-layout { grid-template-columns:.65fr 1.35fr; gap:32px; }
  body.ft4419-public .split { gap:36px; }
}
@media(max-width:900px) {
  body.ft4419-public .container { width:calc(100% - 40px)!important; }
  body.ft4419-public .ft19-header-top { width:calc(100% - 40px); min-height:82px; gap:16px; }
  body.ft4419-public .ft19-header-contact { display:none; }
  body.ft4419-public .ft19-staff-link { margin-left:auto; }
  body.ft4419-public .ft19-menu-toggle { display:inline-flex; }
  body.ft4419-public .ft19-header-bottom { width:100%; padding:12px 20px 20px; display:none; max-height:calc(100dvh - 100px); overflow-y:auto; }
  body.ft4419-public .ft19-header.menu-open .ft19-header-bottom { display:block; }
  body.ft4419-public .ft19-header:not(.is-ready) .ft19-header-bottom { display:block; }
  body.ft4419-public .ft19-nav { display:block; }
  body.ft4419-public .ft19-nav>a,body.ft4419-public .ft19-nav-group>summary { font-size:1rem; min-height:52px; padding:13px 8px; border-bottom:1px solid #e7eef3; justify-content:space-between; }
  body.ft4419-public .ft19-mega { position:static; grid-template-columns:1fr; padding:12px 4px; gap:0; border:0; box-shadow:none; }
  body.ft4419-public .ft19-mega-intro { display:none; }
  body.ft4419-public .ft19-mega-links { gap:2px; }
  body.ft4419-public .ft19-mega-links>a { padding:12px 8px; }
  body.ft4419-public .ft19-header-cta { width:100%; margin-top:16px; }
  body.ft4419-public .ft19-hero-slide { min-height:520px; }
  body.ft4419-public .ft19-planner { width:calc(100% - 40px); }
  body.ft4419-public .ft19-request-bar { grid-template-columns:1fr 1fr; }
  body.ft4419-public .ft19-experience-grid { gap:16px; }
  body.ft4419-public .ft19-experience-body { padding:20px; }
  body.ft4419-public .ft19-experience-body h3 { font-size:1.35rem; }
  body.ft4419-public .ft19-experience-body p { font-size:.9375rem; }
  body.ft4419-public .split { grid-template-columns:1fr; }
  body.ft4419-public .ft19-form-layout { grid-template-columns:1fr; gap:32px; }
  body.ft4419-public .ft19-form-aside>p { max-width:640px; }
  body.ft4419-public .ft19-process { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
  body.ft4419-public .ft19-contact-box { display:none; }
  body.ft4419-public .ft-home-carousel .ft-carousel-card { flex-basis:calc((100% - 24px)/2); }
  body.ft4419-public .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:36px; }
  body.ft4419-public .cta-band .split { grid-template-columns:1fr; }
}
@media(max-width:620px) {
  body.ft4419-public .container { width:calc(100% - 36px)!important; }
  body.ft4419-public.admin-bar .site-header.ft19-header { top:0; }
  body.ft4419-public .ft19-header-top { min-height:76px; width:calc(100% - 32px); gap:10px; }
  body.ft4419-public .ft19-brand { flex-basis:126px; width:126px; height:58px; padding:5px 8px; }
  body.ft4419-public .ft19-brand img { width:110px; height:48px; }
  body.ft4419-public .ft19-staff-link { padding:10px; min-height:44px; }
  body.ft4419-public .ft19-staff-link span { display:none; }
  body.ft4419-public .ft19-menu-toggle { font-size:.875rem; }
  body.ft4419-public .ft19-hero-slide { min-height:520px; padding:56px 22px 110px; }
  body.ft4419-public .ft19-hero-copy :is(h1,h2) { font-size:clamp(2.4rem,9.2vw,3.1rem); line-height:1.1; }
  body.ft4419-public .ft19-hero-copy .ft19-kicker { font-size:.75rem; letter-spacing:.1em; }
  body.ft4419-public .ft19-hero-copy>p:not(.ft19-kicker) { font-size:1rem; line-height:1.6; }
  body.ft4419-public .ft19-hero-tabs { width:calc(100% - 20px); max-width:none; gap:4px; bottom:16px; flex-wrap:nowrap; }
  body.ft4419-public .ft19-hero-tabs button { flex:1 1 33.333%; min-width:0; gap:3px; padding:10px 2px; font-size:clamp(.60rem,2.55vw,.72rem); white-space:nowrap; text-align:center; justify-content:center; align-items:center; line-height:1.2; letter-spacing:-.015em; }
  body.ft4419-public .ft19-slide-number { display:inline; flex:none; font-size:clamp(.54rem,2.1vw,.64rem); }
  body.ft4419-public .ft19-planner { width:calc(100% - 36px); padding:26px 0 30px; }
  body.ft4419-public .ft19-planner-intro { display:block; }
  body.ft4419-public .ft19-planner-intro .ft19-kicker { margin-bottom:8px; }
  body.ft4419-public .ft19-request-bar { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  body.ft4419-public .ft19-request-bar>label:first-child,body.ft4419-public .ft19-request-bar>.ft19-button { grid-column:1/-1; }
  body.ft4419-public .ft19-request-bar label { padding:12px; }
  body.ft4419-public .ft19-request-bar>.ft19-button { min-height:52px; }
  body.ft4419-public .ft19-section,body.ft4419-public .section { padding-block:54px; }
  body.ft4419-public .ft19-section-heading { text-align:left; margin-bottom:28px; }
  body.ft4419-public .ft19-section-heading h2,body.ft4419-public .section h2 { font-size:1.9rem; }
  body.ft4419-public .ft19-experience-grid { grid-template-columns:1fr; gap:24px; }
  body.ft4419-public .ft19-experience-image { aspect-ratio:1.6; }
  body.ft4419-public .ft19-experience-body { padding:24px; }
  body.ft4419-public .ft19-experience-body h3 { font-size:1.6rem; }
  body.ft4419-public .ft19-experience-body p { font-size:1rem; }
  body.ft4419-public .page-hero { min-height:350px!important; padding:48px 0!important; }
  body.ft4419-public .page-hero.compact { min-height:240px!important; padding:38px 0!important; }
  body.ft4419-public .page-hero>.container { width:calc(100% - 36px)!important; }
  body.ft4419-public .page-hero h1 { font-size:2.15rem!important; }
  body.ft4419-public .page-hero .lead { font-size:1rem; }
  body.ft4419-public .ft19-form-panel { padding:24px 18px; }
  body.ft4419-public .site-form .form-grid { grid-template-columns:1fr!important; gap:20px!important; }
  body.ft4419-public .ft19-process { display:block; margin:22px 0 0; }
  body.ft4419-public .ft19-process li { padding:12px 0; }
  body.ft4419-public .ft19-form-aside h2 { font-size:1.8rem; }
  body.ft4419-public .form-wrap>.site-form { padding:24px 18px; }
  body.ft4419-public .ft19-form-submit .ft19-button { width:100%; min-width:0; }
  body.ft4419-public .ft-home-carousel { padding-inline:0; padding-bottom:62px; }
  body.ft4419-public .ft-home-carousel .ft-carousel-card { flex-basis:100%; }
  body.ft4419-public .ft-home-carousel-arrow { top:auto; bottom:0; transform:none!important; }
  body.ft4419-public .ft-home-carousel-arrow.is-prev { left:calc(50% - 50px); }
  body.ft4419-public .ft-home-carousel-arrow.is-next { right:calc(50% - 50px); }
  body.ft4419-public .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:12px; }
  body.ft4419-public .catalog-card { padding:22px; }
  body.ft4419-public .footer-grid { gap:32px 24px; }
  body.ft4419-public .footer-grid>div:first-child,body.ft4419-public .footer-grid>div:nth-child(3) { grid-column:1/-1; }
  body.ft4419-public .ft19-final-cta { padding:60px 0; }
}
@media(prefers-reduced-motion:reduce) {
  body.ft4419-public *,body.ft4419-public *::before,body.ft4419-public *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}


/* 4.4.26 — Contrasto rinforzato nella Home pubblica e nelle card esperienza. */
body.ft4419-public .ft-home-events-section .ft-home-carousel-heading .eyebrow {
  color:#005c83!important;
  opacity:1!important;
}
body.ft4419-public .ft-home-events-section .ft-home-carousel-heading .lead {
  color:#355467!important;
  opacity:1!important;
}
body.ft4419-public .ft-home-events-section .package-body h3 {
  color:#17394f!important;
}
body.ft4419-public .ft-home-events-section .package-body p {
  color:#3d596a!important;
  opacity:1!important;
}
body.ft4419-public .ft-home-events-section .package-body .tag {
  color:#07547a!important;
}
body.ft4419-public .ft-home-events-section .package-body a {
  color:#07547a!important;
  text-decoration-thickness:1.5px;
}


/* 4.4.27 — Home mobile: i tre selettori esperienza restano sempre su un'unica riga. */
@media(max-width:380px){
  body.ft4419-public .ft19-hero-tabs { width:calc(100% - 12px); gap:2px; }
  body.ft4419-public .ft19-hero-tabs button { padding-inline:1px; font-size:clamp(.56rem,2.45vw,.66rem); }
  body.ft4419-public .ft19-slide-number { font-size:.54rem; }
}

/* 4.4.28 — Home mobile: tre selettori hero bloccati in una sola riga.
   Grid a 3 colonne evita definitivamente il ritorno a capo del terzo elemento. */
@media(max-width:700px){
  html body.ft4419-public .ft19-hero-tabs{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-template-rows:1fr!important;
    flex-wrap:nowrap!important;
    width:calc(100% - 16px)!important;
    max-width:none!important;
    gap:4px!important;
    left:8px!important;
    right:8px!important;
    transform:none!important;
    bottom:16px!important;
  }
  html body.ft4419-public .ft19-hero-tabs>button{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:10px 1px!important;
    justify-content:center!important;
    align-items:center!important;
    gap:2px!important;
    white-space:nowrap!important;
    overflow:visible!important;
    font-size:clamp(.57rem,2.3vw,.68rem)!important;
    line-height:1.05!important;
    letter-spacing:-.035em!important;
  }
  html body.ft4419-public .ft19-hero-tabs .ft19-slide-number{
    display:inline!important;
    flex:0 0 auto!important;
    font-size:.54rem!important;
    line-height:1!important;
  }
}
@media(max-width:360px){
  html body.ft4419-public .ft19-hero-tabs{
    width:calc(100% - 8px)!important;
    left:4px!important;
    right:4px!important;
    gap:2px!important;
  }
  html body.ft4419-public .ft19-hero-tabs>button{
    font-size:.54rem!important;
    letter-spacing:-.045em!important;
    gap:1px!important;
  }
  html body.ft4419-public .ft19-hero-tabs .ft19-slide-number{font-size:.50rem!important;}
}


/* Five Tour 4.4.30 - fascia Partner Home */
.ft19-partners{position:relative;overflow:hidden;background:#fff;padding:28px 0 30px;border-top:1px solid rgba(14,34,54,.08);border-bottom:1px solid rgba(14,34,54,.08)}
.ft19-partners-head{text-align:center;margin-bottom:16px}.ft19-partners-head .ft19-kicker{margin-bottom:2px}.ft19-partners-head h2{font-size:clamp(1.25rem,2.2vw,1.7rem);margin:0;letter-spacing:-.025em;color:#10253a}
.ft19-partners-viewport{overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)}
.ft19-partners-track{display:flex;width:max-content;will-change:transform;animation:ft4430-partners-scroll 34s linear infinite}
.ft19-partners-group{display:flex;align-items:center;gap:44px;padding-right:44px;flex:none}
.ft19-partner-logo{width:148px;height:66px;display:flex;align-items:center;justify-content:center;flex:none;padding:7px 10px}
.ft19-partner-logo a{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-decoration:none}
.ft19-partner-logo img{display:block;width:auto;height:auto;max-width:132px;max-height:50px;object-fit:contain;filter:none;opacity:.94;transition:opacity .2s ease,transform .2s ease}
.ft19-partner-logo a:hover img,.ft19-partner-logo a:focus-visible img{opacity:1;transform:scale(1.04)}
@keyframes ft4430-partners-scroll{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:700px){.ft19-partners{padding:22px 0 24px}.ft19-partners-head{margin-bottom:12px}.ft19-partners-head h2{font-size:1.2rem}.ft19-partners-group{gap:24px;padding-right:24px}.ft19-partner-logo{width:116px;height:54px;padding:6px 8px}.ft19-partner-logo img{max-width:104px;max-height:40px}.ft19-partners-track{animation-duration:30s}}
@media(prefers-reduced-motion:reduce){.ft19-partners-track{animation-play-state:paused}}
