/* Public canvas. Do not apply these rules to the authentication shell or the workspace. */
body.ft4419-public {
  --ft19-ink:var(--ft77-ink); --ft19-muted:var(--ft77-muted); --ft19-line:var(--ft77-line);
  --ft19-blue:var(--ft77-blue); --ft19-blue-dark:var(--ft77-darkblue); --ft19-soft:var(--ft77-paper);
  --max:var(--ft77-width); --radius:var(--ft77-radius);
  font:400 1rem/1.55 var(--ft77-font); background:#fff;color:var(--ft77-ink);
}
body.ft4419-public .container,
body.ft4419-public .page-hero>.container,
body.ft4419-public .ft19-planner {
  box-sizing:border-box;width:calc(100% - 2 * var(--ft77-gutter))!important;max-width:var(--ft77-width)!important;margin-inline:auto!important;
}
body.ft4419-public .container.narrow {max-width:50rem!important}
body.ft4419-public :is(.section,.ft19-section) {padding-block:clamp(30px,4.8vw,68px)}
body.ft4419-public :is(.section-heading,.ft19-section-heading) {max-width:49rem;margin-bottom:clamp(20px,2.7vw,36px)}
body.ft4419-public :is(.section h2,.ft19-section-heading h2) {font:650 clamp(1.65rem,3.05vw,2.75rem)/1.09 var(--ft77-font);letter-spacing:-.045em}
body.ft4419-public .section-heading>p:not(.eyebrow),
body.ft4419-public .split>div>p:not(.eyebrow),
body.ft4419-public .container.narrow p {max-width:67ch;line-height:1.65;text-wrap:pretty}
body.ft4419-public :is(.section-heading .eyebrow,.ft19-section-heading .ft19-kicker,.section .eyebrow,.ft77-supra) {
  font:650 .72rem/1.4 var(--ft77-font);letter-spacing:.115em;text-transform:uppercase;
}
body.ft4419-public .section .split {gap:clamp(23px,4.2vw,64px)}
body.ft4419-public .card-image {border-radius:var(--ft77-radius);box-shadow:none;background:var(--ft77-paper)}
body.ft4419-public :is(.package-grid,.catalog-grid,.cards,.service-equipment-grid) {gap:clamp(14px,1.8vw,24px)}
body.ft4419-public :is(.service-card,.catalog-card,.package-card,.text-cards article,.service-equipment-card,.ft19-form-panel) {
  border-radius:var(--ft77-radius);border-color:var(--ft77-line);box-shadow:0 3px 12px #181d2f06;
}
body.ft4419-public :is(.package-body,.catalog-card,.text-cards article) {padding:clamp(18px,2.1vw,27px)}
body.ft4419-public :is(.service-card,.package-card,.catalog-card,.text-cards article) h3 {
  font:630 clamp(1.16rem,1.65vw,1.43rem)/1.18 var(--ft77-font);letter-spacing:-.028em;
}
body.ft4419-public :is(.package-body,.catalog-list,.text-cards article,.service-card) p {line-height:1.56}
body.ft4419-public .section-soft, body.ft4419-public .ft-home-events-section {background:var(--ft77-paper)}
body.ft4419-public :is(.tag,.chip-grid span) {font-weight:560;border-radius:999px;letter-spacing:0}
body.ft4419-public .tag {background:#e9f1fe;color:#154f88}
body.ft4419-public .section-dark,body.ft4419-public .cta-band {background:#191c23;color:#fff}
body.ft4419-public .cta-band :is(h2,p:not(.eyebrow)) {color:#fff}
body.ft4419-public .cta-band .eyebrow {color:#a7c9ff}
body.ft4419-public :is(.btn,.ft19-button,.ft77-primary) {
  font-family:var(--ft77-font); border-radius:999px!important; font-weight:600!important; letter-spacing:-.012em;
}
body.ft4419-public .ft77-primary {
  display:inline-flex;align-items:center;justify-content:center;gap:.8em;min-height:42px;
  padding:.65em 1.1em;background:var(--ft77-blue);color:#fff;text-decoration:none;
  font-size:.94rem;line-height:1.3;box-shadow:none;transition:background .18s;
}
body.ft4419-public .ft77-primary:hover {background:var(--ft77-darkblue)}
body.ft4419-public .ft77-inline {display:inline-flex;align-items:center;gap:.65em;margin-top:1.05rem;
  font-size:.96rem;font-weight:600;color:var(--ft77-blue);text-underline-offset:.2em;text-decoration:none}
body.ft4419-public .ft77-inline:hover {text-decoration:underline}
body.ft4419-public .ft19-form-panel {padding:clamp(18px,3vw,35px)}
body.ft4419-public :is(.ft19-form-panel,.site-form) :is(select,textarea,input[type="text"],input[type="email"],input[type="tel"]) {
  font:400 1rem/1.45 var(--ft77-font);border-radius:12px!important;
}
body.ft4419-public .ft19-form-panel label,body.ft4419-public .site-form label {font-weight:600!important}
body.ft4419-public :is(a,button,summary,input,select,textarea,[tabindex]):focus-visible {
  outline:3px solid #2382f1!important;outline-offset:3px!important;
}
body.ft4419-public .site-footer {background:#181a1f;color:#e7e8ed;padding-block:clamp(32px,4.4vw,58px) 20px}
body.ft4419-public .site-footer h3 {font-weight:630;font-size:.94rem;margin-bottom:.75rem}
body.ft4419-public .site-footer p,body.ft4419-public .site-footer a {font-size:.88rem;line-height:1.6;color:#d7d9df}
body.ft4419-public .footer-legal-line {font-size:.76rem!important}
body.ft4419-public .site-footer .footer-grid {row-gap:25px!important}
body.ft4419-public .ft19-partners-head {max-width:var(--ft77-width);margin-inline:auto}
body.ft4419-public .page-hero:not(.ft77-intro) {
  min-height:clamp(185px,24vw,320px)!important;padding-block:clamp(34px,4.2vw,62px)!important;
}
body.ft4419-public .page-hero:not(.ft77-intro) h1 {
  font-size:clamp(2rem,4.4vw,3.6rem)!important;letter-spacing:-.048em!important;font-weight:650!important;
}
body.ft4419-public .page-hero.compact {background:var(--ft77-paper);color:var(--ft77-ink);border-color:var(--ft77-line)}
body.ft4419-public .page-hero.compact h1 {color:var(--ft77-ink)}
body.ft4419-public .page-hero.compact .lead {color:var(--ft77-muted)}
/* Interior pages: one legible column of copy paired with a real photograph. */
body.ft4419-public .page-hero.ft77-intro {
  display:block;overflow:visible;min-height:0!important;padding:clamp(21px,3.7vw,55px) 0!important;
  background:#fff!important;border:0;border-bottom:1px solid var(--ft77-line);color:var(--ft77-ink);
}
body.ft4419-public .ft77-intro::before,body.ft4419-public .ft77-intro::after {display:none!important}
body.ft4419-public .ft77-intro>.ft77-intro-grid {
  display:grid!important;grid-template-columns:minmax(0,1fr);align-items:center!important;gap:clamp(18px,4.2vw,65px);
  padding:0!important;text-align:start!important;
}
body.ft4419-public .ft77-intro.ft77-with-art>.ft77-intro-grid {grid-template-columns:minmax(0,1fr) minmax(0,.95fr)}
body.ft4419-public .ft77-intro-copy {min-width:0;max-width:48rem}
body.ft4419-public .ft77-intro .ft77-supra {display:flex;align-items:center;gap:9px;color:var(--ft77-blue);text-align:start!important;margin:0 0 16px!important}
body.ft4419-public .ft77-intro .ft77-supra::before {content:"";width:22px;height:2px;background:currentColor;flex:none}
body.ft4419-public .ft77-intro h1 {
  color:var(--ft77-ink)!important;font:640 clamp(2rem,4.3vw,3.65rem)/1.045 var(--ft77-font)!important;
  text-align:start!important;max-width:20ch!important;margin:0 0 14px!important;
  letter-spacing:-.05em!important;text-shadow:none;overflow-wrap:anywhere;text-wrap:balance;
}
body.ft4419-public .ft77-intro .lead {max-width:59ch!important;text-align:start!important;margin:0!important;opacity:1;color:var(--ft77-muted);
  font:400 clamp(1rem,1.2vw,1.12rem)/1.54 var(--ft77-font);text-wrap:pretty}
body.ft4419-public .ft77-art {
  position:relative;isolation:isolate;width:100%;height:clamp(200px,23vw,320px);margin:0;
  overflow:hidden;border-radius:var(--ft77-radius);background:var(--ft77-paper);
}
body.ft4419-public .ft77-art {background-size:cover;background-position:center;background-repeat:no-repeat}
body.ft4419-public .ft77-album-intro .ft77-art {height:clamp(125px,14vw,175px)}
body.ft4419-public .ft77-intro-actions {display:flex;align-items:flex-start;gap:6px 15px;flex-wrap:wrap;margin-top:19px}
body.ft4419-public .ft77-info {max-width:100%;margin:0}
body.ft4419-public .ft77-info[open] {flex:1 1 100%}
body.ft4419-public :is(.ft77-info summary,.ft77-info-trigger) {
  display:inline-flex;align-items:center;gap:6px;min-height:42px;box-sizing:border-box;list-style:none;
  padding:8px 2px;background:none;border:0;color:var(--ft77-blue);cursor:pointer;font:560 .92rem/1.35 var(--ft77-font);text-align:left;
}
body.ft4419-public .ft77-info summary::-webkit-details-marker {display:none}
body.ft4419-public .ft77-info summary::marker {content:""}
body.ft4419-public :is(.ft77-info summary,.ft77-info-trigger):hover {text-decoration:underline;text-underline-offset:.23em}
body.ft4419-public .ft77-guide-content {background:#fff;color:var(--ft77-ink);text-align:start}
body.ft4419-public .ft77-info .ft77-guide-content {border:1px solid var(--ft77-line);padding:19px;border-radius:17px}
body.ft4419-public dialog.ft77-guide {
  position:fixed;inset:0;margin:auto;padding:clamp(25px,4vw,44px);width:min(36rem,calc(100% - 28px));
  box-sizing:border-box;max-height:calc(100vh - 36px);max-height:calc(100dvh - 36px);overflow:auto;overscroll-behavior:contain;
  border:1px solid #fff9;border-radius:26px;background:#fff;color:var(--ft77-ink);box-shadow:0 24px 100px #080d1938;
}
body.ft4419-public .ft77-guide:not([open]) {display:none}
body.ft4419-public .ft77-guide::backdrop {background:#0f15216b;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
body.ft4419-public:has(.ft77-guide[open]) {overflow:hidden}
body.ft4419-public .ft77-guide-close {float:right;display:grid;place-items:center;position:relative;z-index:1;
  padding:0;width:42px;height:42px;border:0;border-radius:50%;background:#f0f1f4;color:#383d46;cursor:pointer;font:400 1.35rem/1 var(--ft77-font)}
body.ft4419-public .ft77-guide-content .ft77-supra {color:var(--ft77-blue);margin:0 0 14px;min-height:1.5em;padding-right:42px}
body.ft4419-public .ft77-guide-content h2 {font:620 clamp(1.6rem,3.4vw,2.4rem)/1.08 var(--ft77-font);letter-spacing:-.047em;margin:0 0 12px}
body.ft4419-public .ft77-guide-content p:not(.ft77-supra) {font-size:1rem;color:var(--ft77-muted);line-height:1.55}
body.ft4419-public .ft77-guide-content dl {margin:20px 0 0}
body.ft4419-public .ft77-guide-content dl>div {padding:13px 0;border-top:1px solid var(--ft77-line)}
body.ft4419-public .ft77-guide-content dt {font-weight:640}
body.ft4419-public .ft77-guide-content dt span {display:inline-block;width:29px;color:var(--ft77-blue);font-size:.72rem;font-variant-numeric:tabular-nums}
body.ft4419-public .ft77-guide-content dd {margin:4px 0 0 29px;color:var(--ft77-muted);font-size:.93rem;line-height:1.52}
@media(min-width:1550px){body.ft4419-public .ft77-intro h1{font-size:3.6rem!important}}
@media(max-width:760px){
  body.ft4419-public .ft77-intro.ft77-with-art>.ft77-intro-grid {grid-template-columns:minmax(0,1fr)}
  body.ft4419-public .ft77-art {height:clamp(155px,43vw,255px)}
  body.ft4419-public .ft77-album-intro .ft77-art {height:clamp(95px,25vw,155px)}
  body.ft4419-public .ft77-intro h1 {max-width:22ch!important}
  body.ft4419-public .ft77-intro .ft77-supra {margin-bottom:9px!important}
  body.ft4419-public .ft19-form-layout {gap:23px}
}
@media(min-width:761px) and (max-height:680px){
  body.ft4419-public .ft77-art {height:210px}
  body.ft4419-public .ft77-intro {padding-block:22px!important}
}
@media(prefers-reduced-motion:no-preference){
  @keyframes ft77-appear {from{opacity:.48;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
  @keyframes ft77-sheet {from{opacity:.5;transform:translateY(6px) scale(.985)}to{opacity:1;transform:none}}
  body.ft4419-public .ft77-in-view {animation:ft77-appear .5s var(--ft77-ease) both}
  body.ft4419-public .ft77-guide[open] {animation:ft77-sheet .19s var(--ft77-ease)}
}
@media print {
  body.ft4419-public .ft77-info-trigger,body.ft4419-public .ft77-guide {display:none!important}
  body.ft4419-public .ft77-in-view {animation:none!important}
}
