.elementor-234 .elementor-element.elementor-element-616d7c49{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--padding-top:40px;--padding-bottom:40px;--padding-left:56px;--padding-right:56px;}.elementor-234 .elementor-element.elementor-element-6ca92276{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-234 .elementor-element.elementor-element-70459e6c{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-234 .elementor-element.elementor-element-4572a4ee{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );font-style:var( --e-global-typography-primary-font-style );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-234 .elementor-element.elementor-element-7b94d54c{text-align:center;}.elementor-234 .elementor-element.elementor-element-124a6ccb{text-align:center;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );font-style:var( --e-global-typography-text-font-style );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-234 .elementor-element.elementor-element-db7c391{width:var( --container-widget-width, 560px );max-width:560px;--container-widget-width:560px;--container-widget-flex-grow:0;text-align:center;}.elementor-234 .elementor-element.elementor-element-1c34a41f{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-234 .elementor-element.elementor-element-a5aed50{text-align:center;}.elementor-234 .elementor-element.elementor-element-12a863f0{width:var( --container-widget-width, 520px );max-width:520px;--container-widget-width:520px;--container-widget-flex-grow:0;text-align:center;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}}@media(min-width:768px){.elementor-234 .elementor-element.elementor-element-616d7c49{--width:100%;}.elementor-234 .elementor-element.elementor-element-6ca92276{--width:100%;}.elementor-234 .elementor-element.elementor-element-70459e6c{--width:100%;}.elementor-234 .elementor-element.elementor-element-4572a4ee{--width:100%;}.elementor-234 .elementor-element.elementor-element-1c34a41f{--width:100%;}}@media(max-width:767px){.elementor-234 .elementor-element.elementor-element-616d7c49{--padding-top:56px;--padding-bottom:56px;--padding-left:20px;--padding-right:20px;}.elementor-234 .elementor-element.elementor-element-6ca92276{--width:100%;}.elementor-234 .elementor-element.elementor-element-4572a4ee{--width:100%;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-234 .elementor-element.elementor-element-1c34a41f{--width:100%;}}/* Start custom CSS *//* ============================================================================
   Studio Bossányi — Custom CSS
   Paste into Elementor > Site Settings > Custom CSS. Whole file, replace all.

   The four Elementor globals carry the brand: primary teal, secondary plum,
   text ink, accent magenta. Everything else in the palette lives here, because
   a custom global gets a per-site random id that an exported template can
   never reference.

   Elementor writes per-element rules at specificity 0,4,0. Anything that has
   to beat a widget setting needs !important. That is why it is on the colours.
   ========================================================================== */

:root{
  /* linked to Site Settings, so changing a global changes the site */
  --sb-teal:    var(--e-global-color-primary,   #195A60);
  --sb-plum:    var(--e-global-color-secondary, #563059);
  --sb-ink-700: var(--e-global-color-text,      #2C2733);
  --sb-magenta: var(--e-global-color-accent,    #D6337F);

  /* the rest of the ramp */
  --sb-teal-100:#C9E5E7; --sb-teal-200:#95CBD0; --sb-teal-400:#2C8593;
  --sb-teal-500:#1F6F75;
  --sb-plum-200:#CDA2D0; --sb-plum-300:#AE78B5; --sb-plum-500:#6E3F72;
  --sb-ink-900:#14111A;  --sb-pearl:#F8F5F2;

  --sb-inv-muted:rgba(248,245,242,0.66);
  --sb-inv-faint:rgba(248,245,242,0.40);
  --sb-line:rgba(248,245,242,0.16);

  --sb-font-display: var(--e-global-typography-primary-font-family,
                     'Cormorant Garamond'), 'Hoefler Text', Georgia, serif;
  --sb-font-ui:      var(--e-global-typography-text-font-family,
                     'Hanken Grotesk'), system-ui, -apple-system, 'Segoe UI',
                     Roboto, sans-serif;

  --sb-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ---------------------------------------------------------------- maintenance
   One full-viewport dark section. Two stacked radials: the signature
   iridescent from the design system, plus a magenta bloom bottom-right. */
.sb-maint{
  position:relative;
  isolation:isolate;
  background-color:var(--sb-ink-900) !important;
  color:var(--sb-pearl);
  overflow:hidden;
}
.sb-maint::before,
.sb-maint::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
}
.sb-maint::before{
  background:radial-gradient(120% 120% at 18% 12%,
    var(--sb-teal-400) 0%, var(--sb-teal) 42%, var(--sb-plum-500) 74%,
    var(--sb-ink-900) 100%);
}
.sb-maint::after{
  background:radial-gradient(90% 70% at 78% 88%,
    rgba(214,51,127,0.20) 0%, transparent 60%);
}
/* The section carries the 100vh. The wrap only grows into it, so the base row
   lands on the fold instead of 80px under it. */
.sb-maint__wrap{ position:relative; z-index:1; flex:1 1 auto; width:100%; }
.sb-maint__centre{ flex:1 1 auto; text-align:center; }

/* ---------------------------------------------------------------- brand */
.sb-brand{
  display:inline-flex; align-items:center; gap:14px;
  text-decoration:none; color:inherit;
}
.sb-brand__mark{ display:block; flex:0 0 auto; }
.sb-brand__word{ display:flex; flex-direction:column; line-height:1; }
.sb-brand__name{
  font-family:var(--sb-font-display);
  font-weight:600; font-size:22px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--sb-pearl);
}
.sb-brand__sub{
  font-family:var(--sb-font-ui);
  font-size:9.5px; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  color:var(--sb-inv-faint); margin-top:5px;
}

/* ---------------------------------------------------------------- wing mark */
.sb-mark-slot{ margin-bottom:clamp(24px, 4vh, 40px); }
.sb-mark{
  width:clamp(84px, 11vw, 116px); height:auto; display:block; margin:0 auto;
  animation:sb-bob 2.8s ease-in-out infinite;
}
.sb-wingL,.sb-wingR{ transform-box:view-box; transform-origin:64px 110px; }
.sb-wingL{ animation:sb-flapL 2.8s ease-in-out infinite; }
.sb-wingR{ animation:sb-flapR 2.8s ease-in-out infinite; }
.sb-spark{ transform-box:fill-box; transform-origin:center;
           animation:sb-twinkle 2.8s ease-in-out infinite; }
.sb-s2{animation-delay:.5s}.sb-s3{animation-delay:1.1s}
.sb-s4{animation-delay:.8s}.sb-s5{animation-delay:1.5s}

@keyframes sb-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes sb-flapL{0%,100%{transform:rotate(0) scaleX(1)}50%{transform:rotate(4.5deg) scaleX(.9)}}
@keyframes sb-flapR{0%,100%{transform:rotate(0) scaleX(1)}50%{transform:rotate(-4.5deg) scaleX(.9)}}
@keyframes sb-twinkle{0%,100%{opacity:.55;transform:scale(.7)}45%{opacity:1;transform:scale(1.35)}}

/* ---------------------------------------------------------------- type */
/* Sizes come from Site Settings > Typography per tag. Only colour here. */
.sb-eyebrow .elementor-heading-title{ color:var(--sb-plum-300) !important; }
.sb-eyebrow--inverse .elementor-heading-title{ color:var(--sb-teal-200) !important; }

.sb-maint__title .elementor-heading-title{
  color:var(--sb-pearl) !important;
  text-wrap:pretty;
}
/* The signature treatment. Keep the <span class="iris"> in the copy. */
.sb-maint__title .iris,
.iris{
  background:linear-gradient(100deg, var(--sb-teal-200) 0%, var(--sb-teal-100) 26%,
             var(--sb-plum-200) 62%, var(--sb-plum-300) 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent !important;
  font-style:italic; font-weight:400;
}

.sb-cta{ margin-top:clamp(26px, 4vh, 40px); }

.sb-lead .elementor-widget-container,
.sb-lead p{ color:var(--sb-inv-muted) !important; margin:0; }
.sb-lead{ margin-top:20px; }

/* Hungarian block: same copy, quieter, under a hairline. */
.sb-hu{
  margin-top:clamp(34px, 5vh, 54px);
  padding-top:clamp(26px, 4vh, 38px);
  border-top:1px solid var(--sb-line);
  width:100%; max-width:620px;
}
.sb-maint__title--hu .elementor-heading-title{ opacity:.80; }
.sb-lead--hu p{ color:var(--sb-inv-faint) !important; font-size:15px; }

.sb-meta .elementor-heading-title{
  margin-top:clamp(28px, 4vh, 44px);
  font-family:var(--sb-font-ui); font-size:12.5px; font-weight:400;
  letter-spacing:.02em; color:var(--sb-inv-faint) !important;
}

/* ---------------------------------------------------------------- buttons */
.sb-btn .elementor-button{
  font-family:var(--sb-font-ui);
  font-size:14px; font-weight:600; letter-spacing:.01em;
  border-radius:999px; padding:15px 30px;
  transition:transform 240ms var(--sb-ease-out),
             box-shadow 240ms var(--sb-ease-out),
             background-color 240ms var(--sb-ease-out),
             border-color 240ms var(--sb-ease-out);
}
.sb-btn--solid .elementor-button{
  background-color:var(--sb-pearl) !important;
  color:var(--sb-plum) !important;
  border:0;
  box-shadow:0 12px 44px rgba(31,111,117,0.30), 0 6px 18px rgba(110,63,114,0.22);
}
.sb-btn--solid .elementor-button:hover,
.sb-btn--solid .elementor-button:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 18px 54px rgba(31,111,117,0.38), 0 8px 22px rgba(110,63,114,0.28);
}
.sb-btn--ghost .elementor-button{
  background-color:rgba(248,245,242,0.06) !important;
  color:var(--sb-pearl) !important;
  border:1px solid var(--sb-line);
}
.sb-btn--ghost .elementor-button:hover,
.sb-btn--ghost .elementor-button:focus-visible{
  background-color:rgba(248,245,242,0.13) !important;
  border-color:rgba(248,245,242,0.30);
}
.sb-btn .elementor-button:focus-visible{
  outline:3px solid rgba(149,203,208,0.65); outline-offset:3px;
}

/* ---------------------------------------------------------------- base row */
.sb-base{ padding-top:26px; border-top:1px solid var(--sb-line); }
.sb-base__item .elementor-heading-title{
  font-family:var(--sb-font-ui); font-size:11.5px; font-weight:400;
  color:var(--sb-inv-faint) !important;
}
.sb-base__item--right{ margin-left:auto; }

/* ---------------------------------------------------------------- responsive */
@media (max-width:767px){
  .sb-brand__name{ font-size:19px; }
  .sb-btn .elementor-button{ padding:14px 24px; }
  .sb-base{ row-gap:6px; }
  .sb-base__item--right{ margin-left:0; }
}

/* ---------------------------------------------------------------- motion */
@media (prefers-reduced-motion:reduce){
  .sb-mark,.sb-wingL,.sb-wingR,.sb-spark{ animation:none !important; }
  .sb-btn .elementor-button{ transition:none; }
  .sb-btn--solid .elementor-button:hover{ transform:none; }
}/* End custom CSS */