:root{
  --bg:#ffffff;
  --bg2:#ffffff;
  --surface:#ffffff;
  --surface-2:#ffffff;
  --text:#2d261f;
  --muted:#766a60;
  --brand:#8a5a38;
  --brand-dark:#56351f;
  --green:#5f8a63;
  --green-dark:#2f5239;
  --teal:#1687a0;
  --sand:#ffffff;
  --line:rgba(74,50,33,.14);
  --shadow:0 18px 46px rgba(55,38,24,.12);
  --shadow-soft:0 10px 28px rgba(55,38,24,.08);
  --radius:24px;
  --max:1160px;
  --danger:#b14848;
  --ok:#3e7c59;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at 8% -8%,rgba(95,138,99,.18),transparent 34%),
    radial-gradient(circle at 90% 0%,rgba(138,90,56,.12),transparent 28%),
    linear-gradient(180deg,var(--bg2) 0%,var(--bg) 54%,#ffffff 100%);
  color:var(--text);
  font-family:Inter,Arial,Helvetica,sans-serif;
  line-height:1.62;
  font-size:16px;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:url('../img/paw-pattern.svg');background-repeat:repeat;background-size:160px;opacity:.035;
}
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);
  padding:10px clamp(16px,4vw,56px);
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  box-shadow:0 8px 22px rgba(47,35,24,.04);
}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.brand-logo{width:58px;height:58px;object-fit:contain;border-radius:50%;background:transparent;filter:drop-shadow(0 8px 14px rgba(25,91,92,.14))}.brand strong{display:block;font-size:20px;line-height:1}.brand-title{font-family:Impact,"Arial Black",system-ui,sans-serif!important;font-style:italic;text-transform:uppercase;letter-spacing:.02em;color:#60bf6d;text-shadow:1px 1px 0 #1689aa,2px 2px 0 rgba(22,137,170,.28);transform:skewX(-7deg);display:inline-block!important}.brand small{display:block;margin-top:3px;font-size:12px;color:var(--muted);font-weight:800;letter-spacing:.01em}.nav{display:flex;align-items:center;gap:6px;font-weight:850}.nav a{padding:8px 11px;border-radius:999px;color:#4c4037;font-size:14px;white-space:nowrap;transition:background .18s ease,color .18s ease,transform .18s ease}.nav a:hover,.nav a[aria-current="page"]{background:#ffffff;color:var(--brand-dark);transform:translateY(-1px)}.nav-admin{background:var(--text)!important;color:#fff!important}.nav-instagram{display:inline-flex!important;align-items:center;gap:6px;background:#fff;border:1px solid rgba(138,90,56,.18);box-shadow:0 8px 18px rgba(55,38,24,.06)}.nav-instagram svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.nav-toggle{display:none;background:#fff;border:1px solid var(--line);border-radius:12px;font-size:24px;padding:6px 10px}.hero,.section,.page-hero{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.hero{display:grid;grid-template-columns:minmax(0,1fr) 480px;gap:46px;align-items:center;padding:58px 0 48px}.eyebrow{color:var(--green-dark);font-weight:950;text-transform:uppercase;letter-spacing:.14em;font-size:12px}.hero h1,.section h2,.page-hero h1{font-family:Arial, Helvetica, sans-serif;line-height:1.08;letter-spacing:-.025em}.hero h1{font-size:clamp(42px,5vw,64px);margin:12px 0 16px}.hero p{font-size:19px;color:var(--muted);max-width:640px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.btn{border:0;border-radius:999px;padding:11px 18px;font-weight:950;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;line-height:1.2}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,var(--brand),#a66f47);color:#fff;box-shadow:0 12px 24px rgba(138,90,56,.25)}.btn-primary:hover{box-shadow:0 16px 30px rgba(138,90,56,.32)}.btn-secondary{background:#fff;border:1px solid var(--line);color:var(--text);box-shadow:0 8px 18px rgba(55,38,24,.05)}.btn-small{padding:8px 12px;font-size:14px}.hero-media{position:relative}.hero-media img,.image-card img,.gallery img{
  width:100%;object-fit:cover;object-position:center;border-radius:var(--radius);
  box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.70);
  background:#ffffff;transition:transform .45s ease,filter .45s ease,box-shadow .45s ease;
}
.hero-media img{height:420px;aspect-ratio:8/7}.hero-media:hover img,.image-card:hover img,.gallery a:hover img,.gallery img:hover{transform:scale(1.018);filter:saturate(1.03) contrast(1.02);box-shadow:0 24px 54px rgba(55,38,24,.16)}.hero-badge{position:absolute;left:20px;bottom:20px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:18px;padding:12px 15px;box-shadow:var(--shadow-soft);font-weight:950;max-width:360px}.section{padding:56px 0}.section.compact{padding-top:32px}.section h2{font-size:clamp(30px,3.4vw,44px);margin:0 0 12px}.section-intro{color:var(--muted);max-width:780px;margin:0 0 26px;font-size:18px}.page-hero{padding:48px 0 24px}.page-hero h1{font-size:clamp(38px,4.5vw,58px);margin:10px 0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:linear-gradient(180deg,#ffffff 0%,#fff 100%);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-soft)}.card h3{font-size:22px;margin:8px 0 9px;line-height:1.22}.card p:last-child{margin-bottom:0}.card,.service-card,.workshop{height:100%}.service-card,.workshop{min-height:250px;display:flex;flex-direction:column}.service-card .btn,.workshop .btn{margin-top:auto;align-self:flex-start}.card:hover{box-shadow:0 16px 36px rgba(55,38,24,.105)}.badge{display:inline-block;background:#ffffff;color:#65452e;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:950;letter-spacing:.01em}.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:center}.split.start{align-items:stretch}.split.start>.card{display:flex;flex-direction:column;justify-content:flex-start}.image-card{overflow:hidden;padding:0;background:transparent;border:0;box-shadow:none;border-radius:var(--radius);height:100%;min-height:320px}.image-card img{height:100%;min-height:320px;aspect-ratio:16/10}.split>.image-card img{height:100%;min-height:360px}.muted{color:var(--muted)}.quote{background:linear-gradient(135deg,var(--green-dark),#274232);color:#fff;border-radius:28px;padding:34px;box-shadow:var(--shadow);position:relative;overflow:hidden}.quote::after{content:"";position:absolute;right:-80px;top:-90px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.07)}.quote h2{color:#fff}.quote p{font-size:18px;color:#f5efe6;max-width:980px}.feature-list{padding:0;list-style:none;margin:0}.feature-list li{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:10px;padding:12px 14px}.meta{display:flex;gap:9px;flex-wrap:wrap;color:var(--muted);font-size:14px}.form{display:grid;gap:14px}.form label{font-weight:900}.form input,.form textarea,.form select{width:100%;border:1px solid var(--line);border-radius:14px;background:#fff;padding:11px 12px;font:inherit;margin-top:6px}.form textarea{min-height:124px}.notice{padding:13px 15px;border-radius:15px;background:#e8f3eb;border:1px solid #cbe4d2;color:#254f36;margin-bottom:16px}.error{background:#f7e6e6;border-color:#e4c1c1;color:#7d2d2d}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}.gallery a,.gallery figure{display:block;height:100%;margin:0}.gallery img{height:240px;aspect-ratio:1/1}.site-footer{margin-top:42px;background:linear-gradient(135deg,#2b241f,#173222);color:#fff;padding:38px clamp(18px,6vw,72px) 26px;display:grid;grid-template-columns:1.25fr 1fr .75fr;gap:32px;align-items:start}.footer-col h2{font-family:Arial, Helvetica, sans-serif;font-size:22px;line-height:1.1;margin:0 0 12px}.footer-col p{margin:0;color:#d7c9ba;max-width:360px}.footer-brand{display:flex;gap:14px;align-items:center}.footer-brand img{width:64px;height:64px;object-fit:contain}.footer-brand strong{display:block;font-size:24px;line-height:1.05}.footer-brand span,.footer-note{display:block;color:#d7c9ba}.footer-links{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}.footer-links.stacked{flex-direction:column;align-items:flex-start;gap:8px}.footer-links a,.footer-cta{color:#fff;font-weight:850}.footer-cta{display:inline-flex;margin-top:14px;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:9px 13px}.footer-cta:hover,.footer-links a:hover{color:#ffffff}.footer-note{grid-column:1/-1;margin:6px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:13px}.legal{max-width:980px;margin:auto}.admin-layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.admin-side{background:#2f2924;color:white;padding:24px}.admin-side a{display:block;padding:10px 0;color:white}.admin-main{padding:28px}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:18px}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:12px;vertical-align:top}.table th{background:#ffffff}.inline-actions{display:flex;gap:8px;flex-wrap:wrap}.danger{background:var(--danger);color:white}.ok{background:var(--ok);color:white}.empty{padding:24px;color:var(--muted)}
.reveal{opacity:0;transform:translateY(10px);transition:opacity .42s ease,transform .42s ease;transition-delay:var(--reveal-delay,0ms)}.reveal.is-visible{opacity:1;transform:none}.card,.image-card img,.gallery img{will-change:transform}.card:hover{transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}}
@media(max-width:1050px){.hero{grid-template-columns:1fr;gap:28px}.hero-media{order:-1}.hero-media img{height:380px}.grid,.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.image-card,.image-card img,.split>.image-card img{min-height:330px;height:330px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer{grid-template-columns:1fr 1fr}.footer-note{grid-column:1/-1}}
@media(max-width:760px){.site-header{padding:9px 16px}.brand-logo{width:50px;height:50px}.brand small{display:none}.nav-toggle{display:block}.nav{display:none;position:absolute;top:69px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);padding:14px 18px;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.nav a{width:100%}.hero,.section,.page-hero{width:calc(100% - 32px)}.hero{padding:34px 0 30px}.hero h1{font-size:40px}.hero p{font-size:17px}.hero-media img{height:300px;border-radius:22px}.hero-badge{position:static;margin-top:12px}.section{padding:38px 0}.grid,.grid.two,.gallery{grid-template-columns:1fr}.image-card,.image-card img,.split>.image-card img,.gallery img{height:255px;min-height:255px}.card{padding:20px}.quote{padding:26px}.site-footer{grid-template-columns:1fr}.footer-links{justify-content:flex-start}.admin-layout{grid-template-columns:1fr}}

.event-list{display:grid;gap:18px;align-items:stretch}
.event-card{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:22px;align-items:center;min-height:170px;overflow:hidden;position:relative}
.event-card::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,var(--brand),var(--green));opacity:.9}
.event-date{width:78px;height:78px;border-radius:22px;background:linear-gradient(135deg,var(--green-dark),var(--green));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 14px 24px rgba(37,87,57,.18)}
.event-date strong{font-size:30px;line-height:1;font-weight:950}
.event-date span{font-size:12px;font-weight:900;opacity:.95;margin-top:4px}
.event-kicker{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:950;color:var(--brand-dark);margin-bottom:6px}
.event-content h3{margin:0 0 8px;font-size:24px;line-height:1.18}
.event-content p{margin:0 0 12px;color:var(--muted)}
.event-action{display:flex;justify-content:flex-end;align-items:center;min-width:132px}
@media(max-width:760px){.event-card{grid-template-columns:1fr;gap:14px}.event-action{justify-content:flex-start}.event-date{width:74px;height:74px}}

.nav a,.btn,.card,.hero-media img,.image-card img,.gallery img{transition-duration:.24s!important}
.btn-primary{animation:none!important}
.hero-media,.brand-logo{animation:none!important}
.event-card{grid-template-columns:92px minmax(0,1fr) 210px;align-items:stretch}
.event-content{display:flex;flex-direction:column;justify-content:center}
.event-action{display:flex;flex-direction:column;gap:8px;justify-content:center;align-items:stretch;min-width:180px}
.event-action .btn{width:100%;padding:10px 14px}
.spots-box{margin-top:14px;background:#ffffff;border:1px solid var(--line);border-radius:16px;padding:11px 12px;max-width:420px}
.spots-row{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:14px;color:var(--muted)}
.spots-row strong{color:var(--text)}
.spots-bar{height:8px;border-radius:999px;background:rgba(0,126,165,.10);overflow:hidden;margin-top:8px}
.spots-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--green),var(--brand));transition:width .25s ease}
.event-card.is-limited .spots-row strong{color:#9a5f16}
.event-card.is-full{opacity:.82}
.event-card.is-full .event-date,.event-card.is-full .spots-bar span{background:#777}
.event-note{font-size:14px;margin-top:10px!important;color:var(--muted)}
.btn-pay{background:#1f5f72;color:#fff;box-shadow:0 10px 20px rgba(31,95,114,.18)}
.badge-full{background:#e8dddd;color:#714040;align-self:center}
@media(max-width:900px){.event-card{grid-template-columns:1fr}.event-action{min-width:0;align-items:flex-start}.event-action .btn{width:auto}.spots-box{max-width:none}}

.brand .brand-title, .site-header .brand .brand-title{color:#60bf6d!important;-webkit-text-fill-color:#60bf6d!important;text-shadow:1px 1px 0 #1689aa,2px 2px 0 rgba(22,137,170,.22)!important;}

.brand-title,
.brand .brand-title,
.site-header .brand .brand-title{
  font-family:"Trebuchet MS", Inter, Arial, Helvetica, sans-serif!important;
  font-style:normal!important;
  font-weight:800!important;
  text-transform:none!important;
  letter-spacing:.01em!important;
  color:#4fa960!important;
  -webkit-text-fill-color:#4fa960!important;
  text-shadow:0 1px 0 rgba(255,255,255,.75)!important;
  transform:none!important;
  line-height:1.05!important;
}
.brand small{font-weight:750!important;color:#5f7162!important;}

.site-header{transition:box-shadow .25s ease, background-color .25s ease;}
.brand-logo{transition:transform .28s ease, filter .28s ease;}
.brand:hover .brand-logo{transform:translateY(-1px) scale(1.025);filter:drop-shadow(0 9px 16px rgba(25,91,92,.16));}

.reveal{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .55s ease, transform .55s ease, box-shadow .25s ease, border-color .25s ease;
  transition-delay:var(--reveal-delay,0ms);
}
.reveal.is-visible{opacity:1;transform:none;}

.btn-primary,
.nav-instagram{
  position:relative;
  overflow:hidden;
}
.btn-primary::after,
.nav-instagram::after{
  content:"";
  position:absolute;
  top:0;
  left:-120%;
  width:70%;
  height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
  transform:skewX(-18deg);
  animation:softShine 5.8s ease-in-out infinite;
  pointer-events:none;
}
@keyframes softShine{
  0%,72%{left:-120%;}
  100%{left:140%;}
}
.hero-media img{animation:heroFloat 7s ease-in-out infinite;}
@keyframes heroFloat{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-5px);}
}
.card,.event-card{transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;}
.card:hover,.event-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(55,38,24,.115);border-color:rgba(95,138,99,.24);}
.card:hover img,.event-card:hover img{transform:scale(1.012);}

@media (prefers-reduced-motion:reduce){
  .hero-media img,.btn-primary::after,.nav-instagram::after{animation:none!important;}
}

:root{
  --bg:#ffffff;
  --bg2:#ffffff;
  --surface:#ffffff;
  --surface-2:#ffffff;
  --brand-green:#4ABE8A;
  --brand-blue:#007EA5;
  --brand-blue-light:#1491C2;
  --brand-gradient:linear-gradient(135deg,#1491C2,#007EA5);
  --line:rgba(0,126,165,.14);
}

body{
  background:#ffffff!important;
}

body::before{
  display:none!important;
}

.site-header{
  background:#ffffff!important;
  border-bottom:1px solid rgba(0,126,165,.12);
  padding:14px clamp(18px,4vw,64px);
}

.brand-logo{
  width:64px;
  height:64px;
}

.brand-title,
.brand .brand-title,
.site-header .brand .brand-title{
  color:var(--brand-green)!important;
  -webkit-text-fill-color:var(--brand-green)!important;
  text-shadow:none!important;
}

.brand small{
  color:#315c67!important;
}

.nav a{
  padding:10px 13px;
  font-size:15px;
}

.nav a:hover,
.nav a[aria-current="page"]{
  background:rgba(74,190,138,.16);
  color:var(--brand-blue);
}

.eyebrow,
.badge,
.page-label{
  color:var(--brand-blue)!important;
}

.badge{
  background:rgba(74,190,138,.14);
}

.btn-primary{
  background:var(--brand-gradient)!important;
  color:#fff;
  box-shadow:0 12px 24px rgba(0,126,165,.22)!important;
}

.btn-primary:hover{
  box-shadow:0 16px 30px rgba(0,126,165,.30)!important;
}

.btn-secondary{
  background:#fff;
  border:1px solid rgba(0,126,165,.16);
}

.nav-admin{
  background:var(--brand-gradient)!important;
  color:#fff!important;
}

.nav-instagram{
  border:1px solid rgba(0,126,165,.18);
}

.card{
  background:#ffffff!important;
  border:1px solid rgba(0,126,165,.13);
}

.quote{
  background:linear-gradient(135deg,#1491C2,#007EA5)!important;
}

.site-footer{
  margin-top:28px;
  background:#ffffff!important;
  color:var(--text)!important;
  border-top:1px solid rgba(0,126,165,.14);
  box-shadow:0 -8px 22px rgba(0,126,165,.04);
  padding:34px clamp(18px,6vw,72px) 22px;
}

.footer-brand img{
  width:56px;
  height:56px;
}

.footer-brand strong{
  color:var(--text)!important;
  font-size:21px;
}

.footer-brand span,
.footer-col p,
.footer-note{
  color:var(--muted)!important;
}

.footer-col h2{
  color:var(--brand-blue)!important;
  font-size:20px;
}

.footer-links a,
.footer-cta{
  color:var(--text)!important;
}

.footer-cta{
  border:1px solid rgba(0,126,165,.20);
  background:rgba(74,190,138,.10);
}

.footer-cta:hover,
.footer-links a:hover{
  color:var(--brand-blue)!important;
}

.footer-note{
  border-top:1px solid rgba(0,126,165,.12);
}

.event-card::before{
  background:linear-gradient(180deg,#4ABE8A,#007EA5)!important;
}

.event-date{
  background:linear-gradient(135deg,#1491C2,#007EA5)!important;
}

.spots-bar span{
  background:linear-gradient(90deg,#4ABE8A,#007EA5)!important;
}

@media(max-width:760px){
  .site-header{
    padding:10px 16px;
  }

  .brand-logo{
    width:52px;
    height:52px;
  }

  .nav{
    top:73px;
    background:#ffffff!important;
  }

  .nav a{
    font-size:15px;
    padding:10px 12px;
  }
}

.hero h1,
.section h2,
.page-hero h1,
.card h2,
.card h3,
.event-content h3,
.footer-col h2,
.legal-plain > h1,
.legal-section h2,
.legal-section h3 {
  color: #4ABE8A !important;
}

.eyebrow,
.badge,
.page-label {
  color: #007EA5 !important;
}

html,
body,
main {
  background: #ffffff !important;
}

body::before {
  display: none !important;
  content: none !important;
}

.site-header,
.site-footer {
  background: #ffffff !important;
}

.hero,
.section,
.page-hero {
  background: transparent !important;
}

.site-header,
.site-footer {
  background: #ffffff !important;
}

.site-header {
  border-bottom: 1px solid rgba(74,190,138,.18) !important;
}

.site-footer {
  border-top: 1px solid rgba(74,190,138,.18) !important;
  box-shadow: none !important;
}

.brand-title,
.brand .brand-title,
.site-header .brand .brand-title {
  color: #4ABE8A !important;
  -webkit-text-fill-color: #4ABE8A !important;
}

.brand small {
  color: #2d261f !important;
}

.nav a {
  color: #2d261f !important;
}

.nav a:hover,
.nav a[aria-current="page"] {
  color: #4ABE8A !important;
  background: rgba(74,190,138,.10) !important;
}

.footer-col h2,
.footer-brand strong {
  color: #4ABE8A !important;
}

.footer-brand span,
.footer-col p,
.footer-note,
.footer-links a,
.footer-cta {
  color: #2d261f !important;
}

.footer-note {
  border-top: 1px solid rgba(74,190,138,.14) !important;
}

.footer-cta {
  background: rgba(74,190,138,.10) !important;
  border: 1px solid rgba(74,190,138,.22) !important;
}

.footer-cta:hover,
.footer-links a:hover {
  color: #007EA5 !important;
}

.nav-instagram {
  background: #ffffff !important;
  border: 1px solid rgba(74,190,138,.20) !important;
}

.nav-admin {
  background: linear-gradient(135deg,#4ABE8A,#007EA5) !important;
  color: #ffffff !important;
}

html,
body,
main {
  background: #ffffff !important;
}

body::before {
  display: none !important;
  content: none !important;
}

.site-header,
.site-footer {
  background: #ffffff !important;
}

.site-header {
  border-bottom: 1px solid rgba(74,190,138,.18) !important;
  box-shadow: 0 8px 22px rgba(55,38,24,.035) !important;
}

.site-footer {
  border-top: 1px solid rgba(74,190,138,.18) !important;
  box-shadow: 0 -8px 22px rgba(55,38,24,.035) !important;
}

.brand-title,
.brand .brand-title,
.site-header .brand .brand-title {
  color: #4ABE8A !important;
  -webkit-text-fill-color: #4ABE8A !important;
  text-shadow: none !important;
}

.brand small {
  color: #2d261f !important;
}

.nav a {
  color: #2d261f !important;
}

.nav a:hover,
.nav a[aria-current="page"] {
  color: #4ABE8A !important;
  background: rgba(74,190,138,.12) !important;
}

.nav-instagram {
  background: #ffffff !important;
  border: 1px solid rgba(74,190,138,.24) !important;
}

.nav-instagram:hover {
  color: #007EA5 !important;
}

.nav-admin {
  background: linear-gradient(135deg,#1491C2,#007EA5) !important;
  color: #ffffff !important;
}

.footer-brand strong,
.footer-col h2 {
  color: #4ABE8A !important;
}

.footer-brand span,
.footer-col p,
.footer-note,
.footer-links a,
.footer-cta {
  color: #2d261f !important;
}

.footer-cta {
  background: #ffffff !important;
  border: 1px solid rgba(74,190,138,.24) !important;
}

.footer-cta:hover,
.footer-links a:hover {
  color: #007EA5 !important;
}

.footer-note {
  border-top: 1px solid rgba(74,190,138,.14) !important;
}

.legal-plain {
  background: transparent !important;
}

@media(max-width:760px){
  .nav {
    background: #ffffff !important;
  }
}

html, body, button, input, textarea, select,
h1, h2, h3, h4, h5, h6,
.home-hero h1, .home-section h2, .home-card h3, .home-box h2, .home-quote h2,
.services-hero h1, .services-section h2, .service-card-clean h3, .services-box h2, .services-box h3,
.about-hero h1, .about-section h2, .about-card h2, .about-card h3, .about-mini-card h3,
.contact-hero h1, .contact-box h2,
.appointment-hero h1, .appointment-box h2,
.workshops-hero h1, .event-content-clean h2, .workshops-info-box h2,
.legal-plain > h1, .legal-section h2, .footer-col h2 {
  font-family: Inter, Arial, Helvetica, sans-serif !important;
}

.eyebrow,
.badge,
.home-label,
.services-label,
.about-label,
.about-mini-card .badge,
.service-card-clean .badge,
.contact-label,
.appointment-label,
.workshops-label,
.event-kicker-clean,
.page-label,
.legal-plain .page-label {
  display: none !important;
}

.btn,
.home-btn,
.services-btn,
.event-btn,
.footer-cta,
.contact-submit,
.appointment-submit,
button.btn,
input[type="submit"] {
  min-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  padding: 11px 18px !important;
  background: #ffffff !important;
  color: #2d261f !important;
  border: 1px solid rgba(0,126,165,.20) !important;
  box-shadow: 0 8px 18px rgba(55,38,24,.055) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease, background .18s ease !important;
}
.btn:hover,
.home-btn:hover,
.services-btn:hover,
.event-btn:hover,
.footer-cta:hover,
.contact-submit:hover,
.appointment-submit:hover,
button.btn:hover,
input[type="submit"]:hover {
  transform: translateY(-2px) !important;
  color: #007EA5 !important;
  border-color: rgba(74,190,138,.48) !important;
  background: rgba(74,190,138,.08) !important;
  box-shadow: 0 12px 24px rgba(0,126,165,.12) !important;
}
.nav-admin,
.btn-danger,
.danger {
  background: linear-gradient(135deg,#1491C2,#007EA5) !important;
  color: #ffffff !important;
}
.btn-danger:hover,
.danger:hover {
  color:#ffffff !important;
}
.actions,
.home-actions,
.services-actions,
.workshops-actions,
.event-action-clean,
.inline-actions,
.detail-actions {
  align-items: stretch !important;
}
.home-card,
.service-card-clean {
  display: flex !important;
  flex-direction: column !important;
}
.home-card .home-btn,
.service-card-clean .services-btn,
.service-more {
  margin-top: auto !important;
  align-self: flex-start !important;
}

html,body,button,input,textarea,select{
  font-family:Arial, Helvetica, sans-serif!important;
}
body{background:#fff!important;}
.site-header{background:#fff!important;box-shadow:0 8px 24px rgba(0,0,0,.035);}
.brand-logo{width:82px!important;height:82px!important;}
.brand strong,.brand-title{font-size:20px!important;}
.brand small{font-size:12px!important;}
.nav a:hover,.nav a[aria-current="page"]{background:rgba(74,190,138,.12)!important;color:#007EA5!important;}
.hero h1,.section h2,.page-hero h1,.footer-col h2,
.home-hero h1,.home-section h2,.home-card h3,.home-box h2,.home-quote h2,
.workshops-hero h1,.event-content-clean h2,.workshops-info-box h2,
.legal h1,.legal h2{
  font-family:Arial, Helvetica, sans-serif!important;
}
.btn,.home-btn,.event-btn,.footer-cta{
  background:#fff!important;
  color:#26322f!important;
  border:1px solid rgba(0,126,165,.18)!important;
  min-height:44px;
  box-shadow:0 8px 18px rgba(0,126,165,.06)!important;
}
.btn:hover,.home-btn:hover,.event-btn:hover,.footer-cta:hover{
  background:#4ABE8A!important;
  border-color:#4ABE8A!important;
  color:#fff!important;
  transform:translateY(-2px);
}
.btn-primary,.home-btn.primary,.event-btn.primary{
  background:#fff!important;
  color:#26322f!important;
}
.btn-pay,.event-btn.pay{background:#fff!important;color:#26322f!important;}

.front-hero{width:min(1240px,calc(100% - 40px));margin:0 auto;padding:54px 0 46px;background:#fff;}
.front-hero-title{text-align:center;max-width:900px;margin:0 auto 42px;}
.front-hero-title h1{margin:0;font-size:clamp(38px,5vw,72px);line-height:1.08;letter-spacing:-.035em;font-weight:500;color:#111;}
.front-hero-title p{max-width:780px;margin:20px auto 0;font-size:20px;line-height:1.65;color:#4d4d4d;}
.front-hero-image{margin:0;border-radius:0;overflow:hidden;box-shadow:none;background:#fff;}
.front-hero-image img{width:100%;height:clamp(360px,46vw,590px);object-fit:cover;object-position:center;display:block;}
.front-intro{padding-top:18px!important;}
.intro-card{min-height:260px;display:flex;flex-direction:column;justify-content:center;}
.equal-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:stretch;}
.equal-grid .service-card{min-height:300px;display:flex;flex-direction:column;}
.equal-grid .service-card p{min-height:108px;}
.equal-grid .service-card .btn{margin-top:auto;align-self:flex-start;}
.contact-sidebar{position:fixed;right:18px;top:45%;z-index:45;display:flex;flex-direction:column;gap:10px;}
.contact-sidebar a{width:44px;height:44px;border-radius:999px;background:#fff;color:#007EA5;border:1px solid rgba(0,126,165,.18);display:grid;place-items:center;font-weight:900;box-shadow:0 10px 24px rgba(0,0,0,.09);transition:transform .2s ease,background .2s ease,color .2s ease;}
.contact-sidebar a:hover{background:#007EA5;color:#fff;transform:translateX(-2px);}
.site-footer{background:#102c2f!important;}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .48s ease,transform .48s ease;}
.reveal.is-visible{opacity:1;transform:none;}
@media(max-width:1100px){.equal-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.brand-logo{width:68px!important;height:68px!important}.front-hero-title h1{font-size:clamp(34px,6vw,54px)}}
@media(max-width:760px){.equal-grid{grid-template-columns:1fr!important}.contact-sidebar{display:none}.front-hero{width:100%;padding:34px 0 34px}.front-hero-title{padding:0 18px;margin-bottom:28px}.front-hero-image img{height:320px}.brand-logo{width:56px!important;height:56px!important}}

:root{
  --bg:#ffffff!important;
  --bg2:#ffffff!important;
  --surface:#ffffff!important;
  --surface-2:#ffffff!important;
}
html, body, button, input, textarea, select{
  font-family: Arial, Helvetica, sans-serif !important;
}
body{
  background:#ffffff !important;
  min-height:100vh;
}
body::before{display:none!important;}
.card,
.intro-card,
.service-card,
.workshop,
.home-card,
.home-box,
.service-card-clean,
.workshops-info-box,
.notice,
.form,
.table-wrap,
.feature-list li,
.event-meta-clean span,
.spots-box,
.spots-box-clean,
.legal,
.legal-section,
aside.card{
  background:#ffffff !important;
}
.site-footer{
  background:#ffffff !important;
  color:#2d261f !important;
  border-top:1px solid rgba(0,126,165,.12) !important;
  box-shadow:0 -8px 24px rgba(0,0,0,.025) !important;
}
.footer-brand strong,
.footer-col h2,
.footer-links a,
.footer-cta{
  color:#2d261f !important;
}
.footer-brand span,
.footer-col p,
.footer-note{
  color:#5d5d5d !important;
}
.footer-note{
  border-top:1px solid rgba(0,126,165,.12) !important;
}
.btn,
.btn-primary,
.btn-secondary,
.btn-pay,
.home-btn,
.home-btn.primary,
.event-btn,
.event-btn.primary,
.event-btn.secondary,
.event-btn.pay,
.footer-cta,
button.btn,
input[type="submit"]{
  background:#ffffff !important;
  color:#26322f !important;
  border:1px solid rgba(0,126,165,.22) !important;
  box-shadow:0 8px 18px rgba(0,126,165,.06) !important;
  min-height:46px !important;
}
.btn:hover,
.btn-primary:hover,
.btn-secondary:hover,
.btn-pay:hover,
.home-btn:hover,
.event-btn:hover,
.footer-cta:hover,
button.btn:hover,
input[type="submit"]:hover{
  background:#4ABE8A !important;
  border-color:#4ABE8A !important;
  color:#ffffff !important;
  transform:translateY(-2px) !important;
}
.actions,
.event-action-clean,
.inline-actions{
  align-items:stretch !important;
}
.registration-layout{
  display:grid !important;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr) !important;
  align-items:start !important;
  gap:28px !important;
  padding-bottom:72px !important;
}
.registration-layout > div,
.registration-layout > aside{
  min-width:0;
}
.registration-layout .form.card{
  height:auto !important;
  max-width:760px !important;
}
.registration-layout aside.card{
  height:auto !important;
  position:sticky;
  top:120px;
}
.form textarea{
  min-height:100px !important;
  max-height:180px !important;
}
.front-hero,
.front-intro,
.section,
.page-hero{
  background:#ffffff !important;
}
@media(max-width:900px){
  .registration-layout{
    grid-template-columns:1fr !important;
    padding-bottom:48px !important;
  }
  .registration-layout aside.card{
    position:static;
  }
}

:root{
  --fpc-green:#4ABE8A;
  --fpc-blue:#007EA5;
  --fpc-text:#26322f;
  --fpc-muted:#5d6662;
  --fpc-line:rgba(0,126,165,.16);
  --fpc-soft-shadow:0 14px 34px rgba(20,60,70,.065);
}
html,body,main{
  background:#ffffff!important;
  color:var(--fpc-text)!important;
  font-family:Arial, Helvetica, sans-serif!important;
}
body::before{display:none!important;content:none!important;}
.site-header,
.site-footer,
.nav.open{
  background:#ffffff!important;
}
.site-header{
  border-bottom:1px solid var(--fpc-line)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.035)!important;
}
.site-footer{
  color:var(--fpc-text)!important;
  border-top:1px solid var(--fpc-line)!important;
  box-shadow:0 -8px 24px rgba(0,0,0,.025)!important;
}
.footer-brand strong,
.footer-col h2{color:var(--fpc-green)!important;}
.footer-brand span,
.footer-col p,
.footer-note,
.footer-links a{color:var(--fpc-muted)!important;}

.card,
.intro-card,
.service-card,
.service-card-clean,
.services-box,
.services-image,
.about-card,
.about-mini-card,
.about-image-card,
.voucher-card,
.voucher-image,
.voucher-info,
.voucher-note,
.contact-box,
.contact-info-item,
.appointment-box,
.appointment-side,
.appointment-info-card,
.event-card-clean,
.empty-workshops,
.workshops-info-box,
.workshops-info-image,
.event-meta-clean span,
.spots-box,
.spots-box-clean,
.feature-list li,
.table-wrap,
aside.card,
.form.card,
.legal,
.legal-section,
.detail-card,
.detail-image,
.detail-section,
.login-panel,
.login-card{
  background:#ffffff!important;
  border-color:var(--fpc-line)!important;
  box-shadow:var(--fpc-soft-shadow)!important;
}
.card,
.service-card-clean,
.about-mini-card,
.voucher-card,
.event-card-clean,
.appointment-info-card{
  height:100%!important;
}
.service-card,
.service-card-clean,
.about-mini-card,
.voucher-card,
.event-card-clean,
.appointment-info-card{
  display:flex!important;
  flex-direction:column!important;
}
.services-grid,
.voucher-grid,
.about-grid,
.equal-grid,
.grid,
.event-list-clean{
  align-items:stretch!important;
}
.service-card .btn,
.service-card-clean .btn,
.service-more,
.voucher-card .btn,
.about-mini-card .btn{
  margin-top:auto!important;
  align-self:flex-start!important;
}
img,
.front-hero-image img,
.services-image img,
.voucher-image img,
.about-image-card img,
.about-gallery img,
.workshops-info-image img,
.detail-image img,
.image-card img,
.gallery img{
  object-fit:cover!important;
  object-position:center!important;
}

.btn,
.btn-primary,
.btn-secondary,
.btn-pay,
.home-btn,
.services-btn,
.about-btn,
.voucher-btn,
.contact-btn,
.contact-submit,
.appointment-btn,
.appointment-submit,
.event-btn,
.footer-cta,
.login-button,
button.btn,
input[type="submit"]{
  min-height:46px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  border-radius:999px!important;
  padding:11px 20px!important;
  background:#ffffff!important;
  color:var(--fpc-text)!important;
  border:1px solid rgba(0,126,165,.22)!important;
  box-shadow:0 8px 18px rgba(0,126,165,.06)!important;
  font-family:Arial, Helvetica, sans-serif!important;
  font-weight:900!important;
  line-height:1.2!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
.btn-small{
  min-height:38px!important;
  padding:8px 13px!important;
  font-size:14px!important;
}
.btn:hover,
.btn-primary:hover,
.btn-secondary:hover,
.btn-pay:hover,
.home-btn:hover,
.services-btn:hover,
.about-btn:hover,
.voucher-btn:hover,
.contact-btn:hover,
.contact-submit:hover,
.appointment-btn:hover,
.appointment-submit:hover,
.event-btn:hover,
.footer-cta:hover,
.login-button:hover,
button.btn:hover,
input[type="submit"]:hover{
  background:var(--fpc-green)!important;
  border-color:var(--fpc-green)!important;
  color:#ffffff!important;
  transform:translateY(-2px)!important;
  box-shadow:0 12px 24px rgba(74,190,138,.18)!important;
}
.btn-danger,
.danger,
.ok{
  background:#ffffff!important;
  color:var(--fpc-text)!important;
  border:1px solid rgba(0,126,165,.22)!important;
}
.btn-danger:hover,
.danger:hover,
.ok:hover{
  background:var(--fpc-green)!important;
  border-color:var(--fpc-green)!important;
  color:#ffffff!important;
}

.notice:not(.error),
.contact-notice:not(.error),
.appointment-notice:not(.error){
  background:#eafaf2!important;
  border:1px solid #bfead4!important;
  color:#244d38!important;
  box-shadow:0 10px 24px rgba(74,190,138,.10)!important;
}
.notice.error,
.contact-notice.error,
.appointment-notice.error,
.login-error{
  background:#fff0f0!important;
  border-color:#e3b7b7!important;
  color:#8a2929!important;
}

.front-hero,
.front-intro,
.section,
.page-hero,
.services-page,
.about-page,
.voucher-page,
.contact-page,
.appointment-page,
.workshops-page,
.detail-page{
  background:#ffffff!important;
}
.quote,
.about-quote{
  background:linear-gradient(135deg,var(--fpc-green),var(--fpc-blue))!important;
  color:#ffffff!important;
}
.quote h2,.quote p,.about-quote h2,.about-quote p{color:#ffffff!important;}
.event-full{
  background:#ffffff!important;
  border:1px solid rgba(0,126,165,.22)!important;
  color:var(--fpc-muted)!important;
}
.spots-bar-clean,
.spots-bar{background:rgba(0,126,165,.10)!important;}
.spots-bar-clean span,
.spots-bar span{background:linear-gradient(90deg,var(--fpc-green),var(--fpc-blue))!important;}
@media(max-width:760px){
  .nav{background:#ffffff!important;}
  .contact-sidebar{display:none!important;}
}

.fpc-home{
  --home-green:#4ABE8A;
  --home-blue:#007EA5;
  --home-text:#26322f;
  --home-muted:#4f5a56;
  --home-line:rgba(0,126,165,.16);
  --home-shadow:0 18px 42px rgba(16,52,62,.08);
  --home-radius:24px;
  width:min(1240px,calc(100% - 40px));
  margin:0 auto;
  padding:0 0 48px;
  color:var(--home-text);
}
.fpc-home :is(h1,h2,h3){
  font-family:Arial, Helvetica, sans-serif!important;
  color:var(--home-green)!important;
  letter-spacing:-.03em;
  line-height:1.08;
  margin:0;
}
.fpc-home p{margin:0;color:var(--home-text);}
.fpc-home .fpc-eyebrow{
  margin:0 0 14px;
  color:var(--home-blue)!important;
  font-size:13px;
  line-height:1.2;
  font-weight:950;
  letter-spacing:.045em;
}
.fpc-hero-grid,
.fpc-intro-grid,
.fpc-bottom-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:30px;
  align-items:stretch;
}
.fpc-hero-grid{padding:28px 0 34px;}
.fpc-card,
.fpc-hero-card,
.fpc-entry-card{
  background:#ffffff!important;
  border:1px solid var(--home-line)!important;
  border-radius:var(--home-radius)!important;
  box-shadow:var(--home-shadow)!important;
}
.fpc-hero-card{
  min-height:390px;
  padding:30px 32px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.fpc-hero-card h1{
  font-size:clamp(52px,6vw,82px);
  margin-bottom:16px;
}
.fpc-claim{
  margin:0 0 4px!important;
  font-size:18px;
  line-height:1.45;
}
.fpc-hero-text{
  max-width:560px;
  font-size:18px;
  line-height:1.65;
}
.fpc-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
  align-items:center;
}
.fpc-home .btn{
  min-height:48px!important;
  padding:12px 22px!important;
  border-radius:999px!important;
  font-size:15px!important;
  font-weight:950!important;
}
.fpc-home .btn-primary{
  background:#ffffff!important;
  border-color:var(--home-line)!important;
  color:var(--home-text)!important;
  box-shadow:0 8px 18px rgba(16,52,62,.06)!important;
}
.fpc-home .btn-primary:hover,
.fpc-home .btn-secondary:hover{
  background:var(--home-green)!important;
  border-color:var(--home-green)!important;
  color:#ffffff!important;
  box-shadow:0 12px 24px rgba(74,190,138,.20)!important;
}
.fpc-home .btn-secondary{
  background:#ffffff!important;
  border-color:var(--home-line)!important;
  color:var(--home-text)!important;
}
.fpc-hero-media,
.fpc-image-card{
  margin:0;
  overflow:hidden;
  background:#ffffff;
  border-radius:var(--home-radius);
  box-shadow:var(--home-shadow);
  border:1px solid var(--home-line);
}
.fpc-hero-media img,
.fpc-image-card img{
  width:100%;
  height:100%;
  min-height:390px;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
  border:0!important;
  box-shadow:none!important;
}
.fpc-hero-media{
  display:flex;
  flex-direction:column;
}
.fpc-hero-media img{
  flex:1 1 auto;
  height:342px;
  min-height:342px;
}
.fpc-hero-media figcaption{
  margin:0;
  padding:14px 20px 16px;
  background:#ffffff;
  color:var(--home-text);
  text-align:center;
  font-weight:950;
  letter-spacing:.01em;
  border-top:1px solid var(--home-line);
}
.fpc-intro-grid{
  padding:34px 0 56px;
}
.fpc-card,
.fpc-welcome-card{
  padding:32px;
  min-height:330px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.fpc-card h2,
.fpc-welcome-card h2{
  font-size:clamp(34px,4vw,50px);
  margin-bottom:22px;
}
.fpc-card p,
.fpc-welcome-card p{
  font-size:17px;
  line-height:1.75;
  color:var(--home-text);
}
.fpc-welcome-card p + p{margin-top:18px;}
.fpc-image-card img{
  min-height:430px;
}
.fpc-section{
  padding:0 0 58px;
}
.fpc-section-head{
  max-width:880px;
  margin-bottom:28px;
}
.fpc-section-head h2{
  font-size:clamp(36px,4.5vw,56px);
  margin-bottom:14px;
}
.fpc-section-head p{
  color:var(--home-muted);
  font-size:17px;
  line-height:1.65;
}
.fpc-entry-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}
.fpc-entry-card{
  min-height:300px;
  padding:28px;
  display:flex;
  flex-direction:column;
}
.fpc-entry-card span{
  align-self:flex-start;
  margin-bottom:18px;
  padding:7px 13px;
  border-radius:999px;
  background:#effcf6;
  color:var(--home-blue);
  font-size:12px;
  font-weight:950;
}
.fpc-entry-card h3{
  font-size:30px;
  margin-bottom:26px;
}
.fpc-entry-card p{
  color:var(--home-text);
  line-height:1.75;
  margin-bottom:28px;
}
.fpc-entry-card .btn{
  margin-top:auto;
  align-self:flex-start;
}
.fpc-trust-band{
  margin:0 0 64px;
  padding:42px 44px;
  border-radius:28px;
  background:var(--home-blue)!important;
  color:#ffffff!important;
  box-shadow:0 20px 44px rgba(0,126,165,.18);
}
.fpc-trust-band h2{
  color:#ffffff!important;
  font-size:clamp(34px,4vw,50px);
  margin-bottom:14px;
}
.fpc-trust-band p{
  max-width:1050px;
  color:#ffffff!important;
  font-size:18px;
  line-height:1.75;
}
.fpc-bottom-grid{
  padding:0 0 18px;
}
.fpc-cta-card{
  justify-content:center;
}
.fpc-cta-card .fpc-actions{margin-top:24px;}
@media(max-width:980px){
  .fpc-home{width:calc(100% - 32px);}
  .fpc-hero-grid,
  .fpc-intro-grid,
  .fpc-bottom-grid{
    grid-template-columns:1fr;
    gap:22px;
  }
  .fpc-entry-grid{grid-template-columns:1fr;}
  .fpc-hero-card,
  .fpc-card,
  .fpc-welcome-card,
  .fpc-entry-card{min-height:auto;}
  .fpc-hero-media img,
  .fpc-image-card img{min-height:320px;height:320px;}
}
@media(max-width:620px){
  .fpc-home{width:calc(100% - 24px);padding-bottom:34px;}
  .fpc-hero-grid{padding-top:18px;}
  .fpc-hero-card,
  .fpc-card,
  .fpc-welcome-card,
  .fpc-entry-card,
  .fpc-trust-band{padding:24px 22px;}
  .fpc-hero-card h1{font-size:46px;}
  .fpc-card h2,
  .fpc-welcome-card h2,
  .fpc-section-head h2,
  .fpc-trust-band h2{font-size:34px;}
  .fpc-actions{align-items:stretch;}
  .fpc-actions .btn{width:100%;}
  .fpc-hero-media img,
  .fpc-image-card img{min-height:255px;height:255px;}
}

:root {
  --fpc-green: #4ABE8A;
  --fpc-blue: #007EA5;
  --fpc-blue-light: #1491C2;
  --fpc-text: #26322f;
  --fpc-muted: #5d6662;
  --fpc-line: rgba(0,126,165,.16);
  --fpc-shadow: 0 14px 34px rgba(20,60,70,.065);
  --fpc-shadow-strong: 0 18px 42px rgba(16,52,62,.08);
  --fpc-radius: 24px;
  --font-main: "SansSerifBldFLF", Arial, Helvetica, sans-serif;
}

html,
body,
main {
  background: #ffffff !important;
  color: var(--fpc-text) !important;
  font-family: var(--font-main) !important;
}

body::before {
  display: none !important;
  content: none !important;
}

html,
body,
main,
header,
footer,
nav,
section,
article,
aside,
div,
span,
p,
a,
li,
ul,
ol,
strong,
em,
small,
label,
input,
textarea,
select,
button,
table,
th,
td,
blockquote,
figcaption,
h1,
h2,
h3,
h4,
h5,
h6,
.brand-title,
.brand strong,
.brand small,
.nav a,
.footer-brand strong,
.footer-col h2,
.footer-col p,
.footer-note,
.footer-links a,
.btn,
.home-btn,
.services-btn,
.about-btn,
.voucher-btn,
.contact-btn,
.appointment-btn,
.event-btn,
.login-button {
  font-family: var(--font-main) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.hero h1,
.section h2,
.page-hero h1,
.card h2,
.card h3,
.home-hero h1,
.home-section h2,
.home-card h3,
.home-box h2,
.services-hero h1,
.services-section h2,
.service-card-clean h3,
.services-box h2,
.about-hero h1,
.about-section h2,
.about-card h2,
.about-card h3,
.about-mini-card h3,
.voucher-hero h1,
.voucher-section h2,
.voucher-card h3,
.contact-hero h1,
.contact-box h2,
.appointment-hero h1,
.appointment-box h2,
.workshops-hero h1,
.event-content-clean h2,
.legal-plain > h1,
.legal-section h2,
.legal-section h3 {
  font-family: var(--font-main) !important;
  font-style: normal !important;
  color: var(--fpc-green) !important;
}

body,
p,
li,
td,
th,
label,
input,
textarea,
select,
address {
  color: var(--fpc-text);
}

.site-header {
  background: #ffffff !important;
  border-bottom: 1px solid var(--fpc-line) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.035) !important;
  padding: 12px clamp(18px,4vw,64px) !important;
}

.brand-logo {
  width: 72px !important;
  height: 72px !important;
  object-fit: contain !important;
  border-radius: 50% !important;
}

.brand-title,
.brand .brand-title,
.site-header .brand .brand-title {
  font-family: var(--font-main) !important;
  font-style: normal !important;
  font-weight: 900 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transform: none !important;
  text-shadow: none !important;
  color: var(--fpc-green) !important;
  -webkit-text-fill-color: var(--fpc-green) !important;
}

.brand small {
  color: var(--fpc-text) !important;
  font-weight: 750 !important;
}

.nav a {
  color: var(--fpc-text) !important;
  background: transparent !important;
}

.nav a:hover,
.nav a[aria-current="page"] {
  color: var(--fpc-blue) !important;
  background: rgba(74,190,138,.12) !important;
}

.nav-instagram {
  background: #ffffff !important;
  border: 1px solid rgba(74,190,138,.24) !important;
}

.nav-admin {
  background: linear-gradient(135deg,var(--fpc-blue-light),var(--fpc-blue)) !important;
  color: #ffffff !important;
}

.site-footer {
  background: #ffffff !important;
  color: var(--fpc-text) !important;
  border-top: 1px solid var(--fpc-line) !important;
  box-shadow: 0 -8px 24px rgba(0,0,0,.025) !important;
}

.footer-brand strong,
.footer-col h2 {
  color: var(--fpc-green) !important;
}

.footer-brand span,
.footer-col p,
.footer-note,
.footer-links a {
  color: var(--fpc-muted) !important;
}

.footer-note {
  border-top: 1px solid var(--fpc-line) !important;
}

.footer-cta {
  background: #ffffff !important;
  border: 1px solid rgba(0,126,165,.22) !important;
  color: var(--fpc-text) !important;
}

.footer-cta:hover,
.footer-links a:hover {
  color: var(--fpc-blue) !important;
}

.card,
.intro-card,
.service-card,
.service-card-clean,
.services-box,
.services-image,
.about-card,
.about-mini-card,
.about-image-card,
.voucher-card,
.voucher-image,
.contact-box,
.contact-info-item,
.appointment-box,
.appointment-info-card,
.event-card-clean,
.empty-workshops,
.workshops-info-box,
.workshops-info-image,
.event-meta-clean span,
.spots-box,
.spots-box-clean,
.feature-list li,
.table-wrap,
aside.card,
.form.card,
.legal,
.legal-section,
.detail-card,
.detail-image,
.detail-section {
  background: #ffffff !important;
  border-color: var(--fpc-line) !important;
  box-shadow: var(--fpc-shadow) !important;
}

.btn,
.btn-primary,
.btn-secondary,
.btn-pay,
.home-btn,
.home-btn.primary,
.services-btn,
.about-btn,
.voucher-btn,
.contact-btn,
.contact-submit,
.appointment-btn,
.appointment-submit,
.event-btn,
.event-btn.primary,
.event-btn.secondary,
.event-btn.pay,
.footer-cta,
.login-button,
button.btn,
input[type="submit"] {
  min-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border-radius: 999px !important;
  padding: 11px 20px !important;
  background: #ffffff !important;
  color: var(--fpc-text) !important;
  border: 1px solid rgba(0,126,165,.22) !important;
  box-shadow: 0 8px 18px rgba(0,126,165,.06) !important;
  font-family: var(--font-main) !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

.btn:hover,
.btn-primary:hover,
.btn-secondary:hover,
.btn-pay:hover,
.home-btn:hover,
.services-btn:hover,
.about-btn:hover,
.voucher-btn:hover,
.contact-btn:hover,
.contact-submit:hover,
.appointment-btn:hover,
.appointment-submit:hover,
.event-btn:hover,
.footer-cta:hover,
.login-button:hover,
button.btn:hover,
input[type="submit"]:hover {
  background: var(--fpc-green) !important;
  border-color: var(--fpc-green) !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 24px rgba(74,190,138,.18) !important;
}

.btn-small {
  min-height: 38px !important;
  padding: 8px 13px !important;
  font-size: 14px !important;
}

img,
.front-hero-image img,
.services-image img,
.voucher-image img,
.about-image-card img,
.about-gallery img,
.workshops-info-image img,
.detail-image img,
.image-card img,
.gallery img {
  object-fit: cover !important;
  object-position: center !important;
}

.front-hero {
  width: min(1240px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
  padding: 54px 0 46px !important;
  background: #ffffff !important;
}

.front-hero-title {
  text-align: center !important;
  max-width: 960px !important;
  margin: 0 auto 42px !important;
}

.front-hero-title h1 {
  margin: 0 !important;
  font-family: var(--font-main) !important;
  font-size: clamp(42px, 5.6vw, 76px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
  font-weight: 900 !important;
  color: var(--fpc-green) !important;
}

.front-hero-title p {
  max-width: 820px !important;
  margin: 20px auto 0 !important;
  font-size: 20px !important;
  line-height: 1.65 !important;
  color: var(--fpc-text) !important;
}

.front-hero-actions {
  justify-content: center !important;
  margin-top: 26px !important;
}

.front-hero-image {
  margin: 0 !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid var(--fpc-line) !important;
  box-shadow: var(--fpc-shadow-strong) !important;
}

.front-hero-image img {
  width: 100% !important;
  height: clamp(380px, 46vw, 590px) !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  border-radius: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

.section,
.page-hero,
.front-intro {
  background: #ffffff !important;
}

.home-two-cards,
.about-preview {
  align-items: stretch !important;
}

.home-two-cards .intro-card,
.about-preview .intro-card {
  min-height: 330px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.about-preview .image-card,
.about-preview .image-card img {
  min-height: 380px !important;
  height: 100% !important;
}

.equal-grid {
  align-items: stretch !important;
}

.equal-grid .service-card {
  min-height: 310px !important;
  display: flex !important;
  flex-direction: column !important;
}

.equal-grid .service-card h3 {
  min-height: 64px !important;
}

.equal-grid .service-card p {
  min-height: 120px !important;
}

.equal-grid .service-card .btn {
  margin-top: auto !important;
  align-self: flex-start !important;
}

.quote,
.about-quote {
  background: linear-gradient(135deg,var(--fpc-green),var(--fpc-blue)) !important;
  color: #ffffff !important;
}

.quote h2,
.quote p,
.about-quote h2,
.about-quote p {
  color: #ffffff !important;
}

.notice:not(.error),
.contact-notice:not(.error),
.appointment-notice:not(.error) {
  background: #eafaf2 !important;
  border: 1px solid #bfead4 !important;
  color: #244d38 !important;
  box-shadow: 0 10px 24px rgba(74,190,138,.10) !important;
}

.notice.error,
.contact-notice.error,
.appointment-notice.error,
.login-error {
  background: #fff0f0 !important;
  border-color: #e3b7b7 !important;
  color: #8a2929 !important;
}

.contact-sidebar {
  position: fixed !important;
  right: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 80 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 10px !important;
  pointer-events: none !important;
}

.contact-sidebar-item {
  width: 48px !important;
  min-height: 48px !important;
  max-width: calc(100vw - 32px) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  padding: 0 14px 0 0 !important;
  background: #2d2d2d !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.18) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  pointer-events: auto !important;
  transition: width .24s ease, background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

.contact-sidebar-item:hover,
.contact-sidebar-item:focus-visible {
  width: 245px !important;
  background: #323232 !important;
  color: #ffffff !important;
  transform: translateX(-3px) !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.22) !important;
  outline: none !important;
}

.contact-sidebar-icon {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  display: grid !important;
  place-items: center !important;
  color: var(--fpc-blue) !important;
}

.contact-sidebar-icon svg {
  width: 21px !important;
  height: 21px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.contact-sidebar-text {
  opacity: 0 !important;
  transform: translateX(8px) !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  transition: opacity .18s ease, transform .18s ease !important;
}

.contact-sidebar-item:hover .contact-sidebar-text,
.contact-sidebar-item:focus-visible .contact-sidebar-text {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

.contact-sidebar-item:hover .contact-sidebar-icon,
.contact-sidebar-item:focus-visible .contact-sidebar-icon {
  color: var(--fpc-green) !important;
}

@media (max-width: 1050px) {
  .front-hero-title h1 {
    font-size: clamp(38px, 6vw, 58px) !important;
  }

  .equal-grid .service-card h3,
  .equal-grid .service-card p {
    min-height: auto !important;
  }

  .brand-logo {
    width: 62px !important;
    height: 62px !important;
  }
}

@media (max-width: 760px) {
  .site-header {
    padding: 10px 16px !important;
  }

  .brand-logo {
    width: 54px !important;
    height: 54px !important;
  }

  .nav {
    background: #ffffff !important;
  }

  .front-hero {
    width: calc(100% - 32px) !important;
    padding: 38px 0 34px !important;
  }

  .front-hero-title {
    margin-bottom: 28px !important;
  }

  .front-hero-title p {
    font-size: 17px !important;
  }

  .front-hero-image {
    border-radius: 22px !important;
  }

  .front-hero-image img {
    height: 320px !important;
  }

  .home-two-cards .intro-card,
  .about-preview .intro-card {
    min-height: auto !important;
  }

  .about-preview .image-card,
  .about-preview .image-card img {
    min-height: 280px !important;
    height: 280px !important;
  }

  .contact-sidebar {
    right: 16px !important;
    left: 16px !important;
    top: auto !important;
    bottom: 16px !important;
    transform: none !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .contact-sidebar-item {
    width: 48px !important;
    padding: 0 !important;
    justify-content: center !important;
  }

  .contact-sidebar-item:hover,
  .contact-sidebar-item:focus-visible {
    width: 48px !important;
    transform: translateY(-2px) !important;
  }

  .contact-sidebar-text {
    display: none !important;
  }
}

.front-hero {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  min-height: calc(100vh - 96px) !important;
  display: grid !important;
  align-items: center !important;
  overflow: hidden !important;
  background: #ffffff !important;
}

.front-hero-image {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  z-index: 1 !important;
}

.front-hero-image::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(90deg, rgba(0,0,0,.48) 0%, rgba(0,0,0,.22) 42%, rgba(0,0,0,.05) 100%),
    linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.14) 100%) !important;
  z-index: 2 !important;
}

.front-hero-image img {
  width: 100% !important;
  height: 100% !important;
  min-height: calc(100vh - 96px) !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.front-hero-title {
  position: relative !important;
  z-index: 3 !important;
  width: min(1160px, calc(100% - 40px)) !important;
  max-width: 1160px !important;
  margin: 0 auto !important;
  padding: clamp(70px, 10vw, 130px) 0 !important;
  text-align: left !important;
}

.front-hero-title h1 {
  max-width: 760px !important;
  margin: 0 !important;
  font-size: clamp(44px, 6vw, 82px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.04em !important;
  color: #ffffff !important;
  text-shadow: 0 4px 20px rgba(0,0,0,.28) !important;
}

.front-hero-title p {
  max-width: 640px !important;
  margin: 22px 0 0 !important;
  font-size: clamp(18px, 1.6vw, 22px) !important;
  line-height: 1.65 !important;
  color: #ffffff !important;
  text-shadow: 0 3px 16px rgba(0,0,0,.30) !important;
}

.front-hero-actions {
  justify-content: flex-start !important;
  margin-top: 30px !important;
}

.front-hero .btn {
  background: #ffffff !important;
  color: #26322f !important;
  border-color: rgba(255,255,255,.75) !important;
}

.front-hero .btn:hover {
  background: #4ABE8A !important;
  border-color: #4ABE8A !important;
  color: #ffffff !important;
}

.home-two-cards {
  align-items: stretch !important;
}

.home-intro-card {
  display: grid !important;
  grid-template-rows: auto 1fr !important;
  justify-content: stretch !important;
  min-height: 330px !important;
}

.home-intro-card h2 {
  min-height: 92px !important;
  margin-bottom: 22px !important;
  display: flex !important;
  align-items: flex-start !important;
  font-size: clamp(30px, 3vw, 42px) !important;
  line-height: 1.1 !important;
}

.home-intro-text {
  display: grid !important;
  grid-template-rows: 1fr 1fr !important;
  gap: 18px !important;
}

.home-intro-text p {
  margin: 0 !important;
  line-height: 1.75 !important;
}

.section > h2 + .grid,
.section > h2 + .service-grid {
  margin-top: 22px !important;
}

.equal-grid {
  align-items: stretch !important;
}

.equal-grid .service-card {
  min-height: 310px !important;
  display: flex !important;
  flex-direction: column !important;
}

.equal-grid .service-card h3 {
  min-height: 64px !important;
}

.equal-grid .service-card p {
  min-height: 120px !important;
}

.equal-grid .service-card .btn {
  margin-top: auto !important;
  align-self: flex-start !important;
}

@media (max-width: 1050px) {
  .front-hero {
    min-height: 680px !important;
  }

  .front-hero-image img {
    min-height: 680px !important;
  }

  .home-intro-card h2,
  .equal-grid .service-card h3,
  .equal-grid .service-card p {
    min-height: auto !important;
  }

  .home-intro-text {
    grid-template-rows: auto auto !important;
  }
}

@media (max-width: 760px) {
  .front-hero {
    min-height: 620px !important;
  }

  .front-hero-image img {
    min-height: 620px !important;
  }

  .front-hero-title {
    width: calc(100% - 32px) !important;
    padding: 80px 0 !important;
  }

  .front-hero-title h1 {
    font-size: clamp(36px, 10vw, 52px) !important;
  }

  .front-hero-title p {
    font-size: 17px !important;
  }

  .home-intro-card {
    min-height: auto !important;
  }
}

.home-two-cards {
  align-items: stretch !important;
}

.home-intro-card {
  min-height: 330px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  padding-top: 28px !important;
}

.home-intro-card h2 {
  min-height: 0 !important;
  margin: 0 0 26px !important;
  line-height: 1.12 !important;
  display: block !important;
  align-items: initial !important;
}

.home-intro-text {
  display: block !important;
}

.home-intro-text p {
  margin: 0 0 22px !important;
  line-height: 1.75 !important;
}

.home-intro-text p:last-child {
  margin-bottom: 0 !important;
}

@media (max-width: 760px) {
  .home-intro-card {
    min-height: auto !important;
    padding-top: 22px !important;
  }

  .home-intro-card h2 {
    margin-bottom: 20px !important;
  }
}

.front-intro {
  padding-top: 38px !important;
  padding-bottom: 28px !important;
}

.front-intro .split,
.front-intro .split.start,
.front-intro .home-two-cards {
  align-items: stretch !important;
}

.front-intro .card.intro-card,
.front-intro article.card.intro-card,
.front-intro .home-two-cards .card.intro-card,
.front-intro .home-two-cards article.card.intro-card {
  min-height: 310px !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  padding: 32px !important;
}

.front-intro .card.intro-card h2,
.front-intro article.card.intro-card h2,
.front-intro .home-two-cards .card.intro-card h2,
.front-intro .home-two-cards article.card.intro-card h2 {
  min-height: 0 !important;
  height: auto !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
  display: block !important;
  align-items: initial !important;
  justify-content: initial !important;
  font-size: clamp(34px, 3.4vw, 46px) !important;
  line-height: 1.1 !important;
}

.front-intro .home-intro-text {
  display: block !important;
  width: 100% !important;
}

.front-intro .home-intro-text p,
.front-intro .card.intro-card > p,
.front-intro article.card.intro-card > p {
  margin: 0 0 20px 0 !important;
  line-height: 1.75 !important;
}

.front-intro .home-intro-text p:last-child,
.front-intro .card.intro-card > p:last-child,
.front-intro article.card.intro-card > p:last-child {
  margin-bottom: 0 !important;
}

.front-intro + .section {
  padding-top: 34px !important;
}

.front-intro + .section h2 {
  margin-top: 0 !important;
}

.intro-card {
  justify-content: flex-start !important;
}

@media (max-width: 760px) {
  .front-intro {
    padding-top: 28px !important;
    padding-bottom: 18px !important;
  }

  .front-intro .card.intro-card,
  .front-intro article.card.intro-card,
  .front-intro .home-two-cards .card.intro-card,
  .front-intro .home-two-cards article.card.intro-card {
    min-height: auto !important;
    padding: 24px !important;
  }

  .front-intro .card.intro-card h2,
  .front-intro article.card.intro-card h2,
  .front-intro .home-two-cards .card.intro-card h2,
  .front-intro .home-two-cards article.card.intro-card h2 {
    font-size: clamp(30px, 8vw, 38px) !important;
    margin-bottom: 20px !important;
  }
}

.front-hero {
  min-height: calc(82vh - 96px) !important;
}

.front-hero-image img {
  min-height: calc(82vh - 96px) !important;
}

.front-hero-title {
  padding: clamp(58px, 8vw, 105px) 0 !important;
}

.front-hero-title h1 {
  max-width: 720px !important;
  font-size: clamp(36px, 4.8vw, 64px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
}

.front-hero-title p {
  max-width: 650px !important;
  font-size: clamp(17px, 1.35vw, 20px) !important;
  line-height: 1.65 !important;
  margin-top: 20px !important;
}

.front-hero-actions {
  display: none !important;
}

.front-hero-image::after {
  background:
    linear-gradient(90deg, rgba(0,0,0,.42) 0%, rgba(0,0,0,.20) 44%, rgba(0,0,0,.04) 100%),
    linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.12) 100%) !important;
}

.front-intro {
  padding-top: 32px !important;
}

@media (max-width: 1050px) {
  .front-hero {
    min-height: 580px !important;
  }

  .front-hero-image img {
    min-height: 580px !important;
  }

  .front-hero-title h1 {
    font-size: clamp(34px, 6vw, 54px) !important;
  }
}

@media (max-width: 760px) {
  .front-hero {
    min-height: 520px !important;
  }

  .front-hero-image img {
    min-height: 520px !important;
  }

  .front-hero-title {
    padding: 72px 0 !important;
  }

  .front-hero-title h1 {
    font-size: clamp(32px, 9vw, 44px) !important;
  }

  .front-hero-title p {
    font-size: 16.5px !important;
  }
}

.section > h2,
.front-intro + .section > h2,
.about-section > h2,
.services-section > h2,
.voucher-section > h2 {
  font-size: clamp(34px, 3.5vw, 48px) !important;
  line-height: 1.12 !important;
  margin-bottom: 24px !important;
  color: #4ABE8A !important;
}

.service-card h3,
.service-grid .service-card h3,
.equal-grid .service-card h3 {
  font-size: clamp(18px, 1.35vw, 22px) !important;
  line-height: 1.18 !important;
  min-height: 0 !important;
  margin: 0 0 26px 0 !important;
  color: #4ABE8A !important;
}

.front-intro .intro-card h2,
.front-intro .card.intro-card h2,
.front-intro article.card.intro-card h2,
.front-intro .home-two-cards .card.intro-card h2,
.front-intro .home-two-cards article.card.intro-card h2,
.home-intro-card h2 {
  font-size: clamp(18px, 1.35vw, 22px) !important;
  line-height: 1.18 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 0 26px 0 !important;
  padding: 0 !important;
  display: block !important;
  color: #4ABE8A !important;
}

.bottom-balanced .intro-card h2,
.bottom-balanced .card.intro-card h2,
.next-step-card h2,
.privacy-map-card h2 {
  font-size: clamp(18px, 1.35vw, 22px) !important;
  line-height: 1.18 !important;
  min-height: 0 !important;
  margin: 0 0 26px 0 !important;
  color: #4ABE8A !important;
}

.about-preview .intro-card h2 {
  font-size: clamp(18px, 1.35vw, 22px) !important;
  line-height: 1.18 !important;
  margin: 0 0 26px 0 !important;
  color: #4ABE8A !important;
}

.front-intro .home-intro-text p,
.front-intro .card.intro-card > p,
.service-card p,
.bottom-balanced .intro-card > p,
.about-preview .intro-card p {
  font-size: 16px !important;
  line-height: 1.72 !important;
}

.equal-grid .service-card h3,
.home-intro-card h2,
.bottom-balanced .intro-card h2 {
  min-height: 0 !important;
}

@media (max-width: 760px) {
  .service-card h3,
  .service-grid .service-card h3,
  .equal-grid .service-card h3,
  .front-intro .intro-card h2,
  .home-intro-card h2,
  .bottom-balanced .intro-card h2,
  .about-preview .intro-card h2 {
    font-size: clamp(20px, 6vw, 24px) !important;
  }

  .section > h2,
  .front-intro + .section > h2 {
    font-size: clamp(30px, 9vw, 40px) !important;
  }
}

.about-clean-page {
  width: min(1160px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
  padding: 58px 0 90px !important;
  background: #ffffff !important;
}

.about-clean-page .about-clean-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: stretch !important;
  margin: 0 0 58px !important;
}

.about-clean-page .about-clean-row > .about-clean-card,
.about-clean-page .about-clean-row > .about-clean-image {
  height: auto !important;
  min-height: 390px !important;
  align-self: stretch !important;
}

.about-clean-page .about-clean-card {
  background: #ffffff !important;
  border: 1px solid rgba(0,126,165,.16) !important;
  border-radius: 24px !important;
  box-shadow: 0 14px 34px rgba(20,60,70,.065) !important;
  padding: 34px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
}

.about-clean-page .about-clean-image {
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  background: #ffffff !important;
  border: 1px solid rgba(0,126,165,.16) !important;
  border-radius: 24px !important;
  box-shadow: 0 14px 34px rgba(20,60,70,.065) !important;
  overflow: hidden !important;
}

.about-clean-page .about-clean-image img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}

.about-clean-page .about-clean-card h1,
.about-clean-page .about-clean-card h2,
.about-clean-page .about-clean-card h3,
.about-clean-page .about-small-card h3,
.about-clean-page .about-clean-grid .about-clean-card h3,
.about-clean-page .about-clean-row .about-clean-card h1,
.about-clean-page .about-clean-row .about-clean-card h2,
.about-clean-page .about-clean-row .about-clean-card h3 {
  font-family: "SansSerifBldFLF", Arial, Helvetica, sans-serif !important;
  font-size: clamp(34px, 3.4vw, 46px) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.03em !important;
  font-weight: 900 !important;
  color: #4ABE8A !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 0 26px 0 !important;
  padding: 0 !important;
}

.about-clean-page .about-clean-card h3 {
  margin-top: 34px !important;
}

.about-clean-page .about-clean-card p,
.about-clean-page .about-clean-card li {
  font-size: 16px !important;
  line-height: 1.72 !important;
  color: #26322f !important;
}

.about-clean-page .about-clean-card p {
  margin: 0 0 20px !important;
}

.about-clean-page .about-clean-card p:last-child {
  margin-bottom: 0 !important;
}

.about-clean-page .about-clean-section {
  margin-top: 58px !important;
}

.about-clean-page .about-clean-section > h2 {
  font-family: "SansSerifBldFLF", Arial, Helvetica, sans-serif !important;
  font-size: clamp(34px, 3.5vw, 48px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  font-weight: 900 !important;
  color: #4ABE8A !important;
  margin: 0 0 24px !important;
}

.about-clean-page .about-clean-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.about-clean-page .about-small-card {
  min-height: 300px !important;
}

.about-clean-page .about-clean-list {
  display: grid !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.about-clean-page .about-clean-list li {
  position: relative !important;
  padding-left: 34px !important;
}

.about-clean-page .about-clean-list li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  background: rgba(74,190,138,.16) !important;
  color: #007EA5 !important;
  display: grid !important;
  place-items: center !important;
  font-weight: 900 !important;
}

.about-clean-page .about-clean-gallery {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.about-clean-page .about-clean-gallery img {
  width: 100% !important;
  height: 240px !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 24px !important;
  border: 1px solid rgba(0,126,165,.16) !important;
  box-shadow: 0 14px 34px rgba(20,60,70,.065) !important;
}

.about-clean-page .page-label,
.about-clean-page .about-label,
.clean-about-page .page-label,
.clean-about-page .about-label,
.about-page .page-label,
.about-page .about-label {
  display: none !important;
}

.about-page h1,
.about-page h2,
.about-page h3,
.clean-about-page h1,
.clean-about-page h2,
.clean-about-page h3 {
  font-family: "SansSerifBldFLF", Arial, Helvetica, sans-serif !important;
}

@media (max-width: 1050px) {
  .about-clean-page .about-clean-grid,
  .about-clean-page .about-clean-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .about-clean-page .about-small-card {
    min-height: 260px !important;
  }
}

@media (max-width: 980px) {
  .about-clean-page .about-clean-row {
    grid-template-columns: 1fr !important;
  }

  .about-clean-page .about-clean-row:first-child .about-clean-image {
    order: -1 !important;
  }

  .about-clean-page .about-clean-row > .about-clean-card,
  .about-clean-page .about-clean-row > .about-clean-image {
    min-height: auto !important;
  }

  .about-clean-page .about-clean-image {
    min-height: 360px !important;
  }

  .about-clean-page .about-clean-image img {
    position: static !important;
    height: 360px !important;
    min-height: 360px !important;
  }
}

@media (max-width: 760px) {
  .about-clean-page {
    width: calc(100% - 32px) !important;
    padding: 42px 0 70px !important;
  }

  .about-clean-page .about-clean-card {
    padding: 24px !important;
  }

  .about-clean-page .about-clean-card h1,
  .about-clean-page .about-clean-card h2,
  .about-clean-page .about-clean-card h3,
  .about-clean-page .about-small-card h3 {
    font-size: clamp(28px, 8vw, 38px) !important;
  }

  .about-clean-page .about-clean-section > h2 {
    font-size: clamp(30px, 9vw, 40px) !important;
  }

  .about-clean-page .about-clean-grid,
  .about-clean-page .about-clean-gallery {
    grid-template-columns: 1fr !important;
  }

  .about-clean-page .about-clean-gallery img {
    height: 260px !important;
  }
}

.about-clean-page .about-clean-card h1,
.about-clean-page .about-clean-card h2,
.about-clean-page .about-clean-card h3,
.about-clean-page .about-small-card h3,
.about-clean-page .about-clean-grid .about-clean-card h3,
.about-clean-page .about-clean-row .about-clean-card h1,
.about-clean-page .about-clean-row .about-clean-card h2,
.about-clean-page .about-clean-row .about-clean-card h3 {
  font-family: "SansSerifBldFLF", Arial, Helvetica, sans-serif !important;
  font-size: clamp(24px, 2.2vw, 32px) !important;
  line-height: 1.14 !important;
  letter-spacing: -0.02em !important;
  font-weight: 900 !important;
  color: #4ABE8A !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 0 26px 0 !important;
  padding: 0 !important;
}

.about-clean-page .about-clean-card h3 {
  margin-top: 34px !important;
}

.about-clean-page .about-clean-section > h2 {
  font-family: "SansSerifBldFLF", Arial, Helvetica, sans-serif !important;
  font-size: clamp(34px, 3.5vw, 48px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  font-weight: 900 !important;
  color: #4ABE8A !important;
  margin: 0 0 24px !important;
}

@media (max-width: 760px) {
  .about-clean-page .about-clean-card h1,
  .about-clean-page .about-clean-card h2,
  .about-clean-page .about-clean-card h3,
  .about-clean-page .about-small-card h3 {
    font-size: clamp(24px, 7vw, 32px) !important;
  }

  .about-clean-page .about-clean-section > h2 {
    font-size: clamp(30px, 9vw, 40px) !important;
  }
}

.about-clean-page .about-clean-card h1,
.about-clean-page .about-clean-card h2,
.about-clean-page .about-clean-card h3,
.about-clean-page .about-small-card h3,
.about-clean-page .about-clean-grid .about-clean-card h3,
.about-clean-page .about-clean-row .about-clean-card h1,
.about-clean-page .about-clean-row .about-clean-card h2,
.about-clean-page .about-clean-row .about-clean-card h3 {
  font-family: "SansSerifBldFLF", Arial, Helvetica, sans-serif !important;
  font-size: clamp(18px, 1.35vw, 22px) !important;
  line-height: 1.18 !important;
  letter-spacing: -0.015em !important;
  font-weight: 900 !important;
  color: #4ABE8A !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 0 26px 0 !important;
  padding: 0 !important;
}

.about-clean-page .about-clean-card h3 {
  margin-top: 34px !important;
}

.about-clean-page .about-clean-section > h2,
.about-clean-page section.about-clean-section > h2 {
  font-family: "SansSerifBldFLF", Arial, Helvetica, sans-serif !important;
  font-size: clamp(34px, 3.5vw, 48px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.025em !important;
  font-weight: 900 !important;
  color: #4ABE8A !important;
  margin: 0 0 24px !important;
}

.about-clean-page .about-small-card {
  min-height: 230px !important;
}

.about-clean-page .about-small-card h3 {
  font-size: clamp(18px, 1.35vw, 22px) !important;
}

.about-clean-page .about-clean-card h1[style],
.about-clean-page .about-clean-card h2[style],
.about-clean-page .about-clean-card h3[style] {
  font-size: clamp(18px, 1.35vw, 22px) !important;
}

@media (max-width: 760px) {
  .about-clean-page .about-clean-card h1,
  .about-clean-page .about-clean-card h2,
  .about-clean-page .about-clean-card h3,
  .about-clean-page .about-small-card h3 {
    font-size: clamp(20px, 6vw, 24px) !important;
  }

  .about-clean-page .about-clean-section > h2,
  .about-clean-page section.about-clean-section > h2 {
    font-size: clamp(30px, 9vw, 40px) !important;
  }
}

.front-hero {
  position: relative !important;
  width: min(1240px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  min-height: 650px !important;
}

.front-hero-image {
  margin: 0 !important;
  position: relative !important;
  width: 100% !important;
  min-height: 650px !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #fff !important;
}

.front-hero-image::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(180deg, rgba(0,0,0,0.12) 0%, rgba(0,0,0,0.20) 55%, rgba(0,0,0,0.28) 100%),
    linear-gradient(90deg, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0.02) 40%, rgba(0,0,0,0.24) 100%) !important;
  pointer-events: none !important;
}

.front-hero-image img {
  width: 100% !important;
  height: 650px !important;
  min-height: 650px !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

.front-hero-title {
  position: absolute !important;
  right: 56px !important;
  bottom: 52px !important;
  left: auto !important;
  top: auto !important;
  width: min(560px, calc(100% - 112px)) !important;
  max-width: 560px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  z-index: 3 !important;
}

.front-hero-title h1 {
  margin: 0 0 20px !important;
  font-family: "SansSerifBldFLF", Arial, Helvetica, sans-serif !important;
  font-size: clamp(48px, 5.8vw, 78px) !important;
  line-height: 0.96 !important;
  letter-spacing: -0.045em !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  text-wrap: balance !important;
  text-shadow: 0 10px 24px rgba(0,0,0,.20) !important;
}

.front-hero-title p {
  margin: 0 !important;
  max-width: 520px !important;
  font-size: clamp(18px, 1.65vw, 22px) !important;
  line-height: 1.55 !important;
  color: rgba(255,255,255,.98) !important;
  text-shadow: 0 6px 18px rgba(0,0,0,.22) !important;
}

@media (max-width: 1100px) {
  .front-hero,
  .front-hero-image,
  .front-hero-image img {
    min-height: 560px !important;
    height: 560px !important;
  }

  .front-hero-title {
    right: 34px !important;
    bottom: 34px !important;
    width: min(500px, calc(100% - 68px)) !important;
  }

  .front-hero-title h1 {
    font-size: clamp(42px, 6.2vw, 62px) !important;
  }

  .front-hero-title p {
    font-size: 18px !important;
  }
}

@media (max-width: 760px) {
  .front-hero {
    width: 100% !important;
    min-height: auto !important;
  }

  .front-hero-image,
  .front-hero-image img {
    min-height: 420px !important;
    height: 420px !important;
  }

  .front-hero-title {
    right: 18px !important;
    left: 18px !important;
    bottom: 22px !important;
    width: auto !important;
    max-width: none !important;
  }

  .front-hero-title h1 {
    font-size: clamp(34px, 10vw, 48px) !important;
    line-height: 1.02 !important;
    margin-bottom: 14px !important;
  }

  .front-hero-title p {
    max-width: none !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
  }
}

.front-hero {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  min-height: calc(82vh - 96px) !important;
  display: block !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border-radius: 0 !important;
}

.front-hero-image {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: calc(82vh - 96px) !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #ffffff !important;
  z-index: 1 !important;
}

.front-hero-image img {
  width: 100% !important;
  height: 100% !important;
  min-height: calc(82vh - 96px) !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.front-hero-image::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(90deg, rgba(0,0,0,.42) 0%, rgba(0,0,0,.20) 44%, rgba(0,0,0,.04) 100%),
    linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.12) 100%) !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

.front-hero-title {
  position: absolute !important;
  right: clamp(32px, 6vw, 96px) !important;
  bottom: clamp(34px, 7vw, 92px) !important;
  left: auto !important;
  top: auto !important;
  z-index: 3 !important;

  width: min(620px, calc(100% - 64px)) !important;
  max-width: 620px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

.front-hero-title h1 {
  max-width: 720px !important;
  margin: 0 0 20px !important;
  font-family: "SansSerifBldFLF", Arial, Helvetica, sans-serif !important;
  font-size: clamp(36px, 4.8vw, 64px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.035em !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  text-shadow: 0 4px 20px rgba(0,0,0,.28) !important;
}

.front-hero-title p {
  max-width: 650px !important;
  margin: 0 !important;
  font-size: clamp(17px, 1.35vw, 20px) !important;
  line-height: 1.65 !important;
  color: #ffffff !important;
  text-shadow: 0 3px 16px rgba(0,0,0,.30) !important;
}

.front-hero-actions {
  display: none !important;
}

@media (max-width: 1050px) {
  .front-hero,
  .front-hero-image,
  .front-hero-image img {
    min-height: 580px !important;
  }

  .front-hero-title {
    right: 34px !important;
    bottom: 38px !important;
    width: min(560px, calc(100% - 68px)) !important;
  }

  .front-hero-title h1 {
    font-size: clamp(34px, 6vw, 54px) !important;
  }
}

@media (max-width: 760px) {
  .front-hero,
  .front-hero-image,
  .front-hero-image img {
    min-height: 520px !important;
  }

  .front-hero-title {
    left: 18px !important;
    right: 18px !important;
    bottom: 28px !important;
    width: auto !important;
    max-width: none !important;
  }

  .front-hero-title h1 {
    font-size: clamp(32px, 9vw, 44px) !important;
    line-height: 1.02 !important;
    margin-bottom: 14px !important;
  }

  .front-hero-title p {
    font-size: 16.5px !important;
    line-height: 1.55 !important;
    max-width: none !important;
  }
}

.service-grid.equal-grid .service-card,
.equal-grid .service-card,
.service-grid .service-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

.service-grid.equal-grid .service-card h3,
.equal-grid .service-card h3,
.service-grid .service-card h3,
.service-card h3 {
  min-height: 58px !important;
  margin: 0 0 22px 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  line-height: 1.18 !important;
}

.service-grid.equal-grid .service-card p,
.equal-grid .service-card p,
.service-grid .service-card p,
.service-card p {
  margin-top: 0 !important;
}

.service-grid.equal-grid .service-card .btn,
.equal-grid .service-card .btn,
.service-grid .service-card .btn,
.service-card .btn {
  margin-top: auto !important;
  align-self: flex-start !important;
}

@media (max-width: 760px) {
  .service-grid.equal-grid .service-card h3,
  .equal-grid .service-card h3,
  .service-grid .service-card h3,
  .service-card h3 {
    min-height: 0 !important;
  }
}

.site-header {
  background: transparent !important;
  background-color: transparent !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  min-height: 126px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.site-header,
.site-header .header-inner,
.site-header .container,
.site-header .wrap,
.site-header .inner {
  background: transparent !important;
  background-color: transparent !important;
}

.brand-logo,
.site-header .brand-logo,
.brand img,
.site-header .brand img {
  width: 116px !important;
  height: 116px !important;
  min-width: 116px !important;
  object-fit: contain !important;
  border-radius: 50% !important;
}

.nav a,
.site-header .nav a {
  background: transparent !important;
}

.nav a:hover,
.nav a[aria-current="page"],
.site-header .nav a:hover,
.site-header .nav a[aria-current="page"] {
  background: rgba(74,190,138,.12) !important;
  color: #007EA5 !important;
}

.site-footer {
  background: transparent !important;
  background-color: transparent !important;
  color: #26322f !important;
  border-top: 0 !important;
  box-shadow: none !important;
}

.site-footer,
.site-footer .footer-inner,
.site-footer .container,
.site-footer .wrap,
.site-footer .inner,
.footer,
.footer-inner,
.footer-top,
.footer-bottom {
  background: transparent !important;
  background-color: transparent !important;
}

.footer-note {
  border-top: 1px solid rgba(0,126,165,.08) !important;
}

.footer-brand strong,
.footer-col h2,
.site-footer h2,
.site-footer h3 {
  color: #4ABE8A !important;
}

.footer-brand span,
.footer-col p,
.footer-note,
.footer-links a,
.site-footer p,
.site-footer a {
  color: #26322f !important;
}

.footer-links a:hover,
.site-footer a:hover {
  color: #007EA5 !important;
}

@media (max-width: 760px) {
  .site-header {
    min-height: 88px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  .brand-logo,
  .site-header .brand-logo,
  .brand img,
  .site-header .brand img {
    width: 72px !important;
    height: 72px !important;
    min-width: 72px !important;
  }
}

.events-page .events-grid {
  width: min(1160px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

.events-page .event-card-clean {
  height: 650px !important;
  min-height: 650px !important;
  max-height: 650px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0,126,165,.16) !important;
  border-radius: 24px !important;
  box-shadow: 0 14px 34px rgba(20,60,70,.065) !important;
  padding: 28px !important;
  overflow: hidden !important;

  display: grid !important;
  grid-template-rows:
    140px   
    250px   
    115px   
    28px    
    54px    
  !important;
  row-gap: 14px !important;
}

.events-page .event-card-head {
  height: 140px !important;
  min-height: 140px !important;
  max-height: 140px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  display: block !important;
}

.events-page .event-date {
  width: auto !important;
  height: 16px !important;
  min-height: 16px !important;
  display: block !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #007EA5 !important;
  font-size: 13px !important;
  line-height: 16px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  text-align: left !important;
}

.events-page .event-card-clean h2 {
  height: 112px !important;
  min-height: 112px !important;
  max-height: 112px !important;
  overflow: hidden !important;

  font-family: "SansSerifBldFLF", Arial, Helvetica, sans-serif !important;
  font-size: clamp(20px, 1.65vw, 26px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  font-weight: 900 !important;
  color: #4ABE8A !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

.events-page .event-meta-clean {
  height: 250px !important;
  min-height: 250px !important;
  max-height: 250px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;

  display: grid !important;
  grid-template-rows: repeat(5, 42px) !important;
  gap: 10px !important;
  align-self: start !important;
}

.events-page .event-meta-clean span {
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  overflow: hidden !important;

  display: flex !important;
  align-items: center !important;
  background: rgba(74,190,138,.08) !important;
  border: 1px solid rgba(0,126,165,.12) !important;
  border-radius: 14px !important;
  padding: 8px 12px !important;
  color: #26322f !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  box-shadow: none !important;
}

.events-page .event-meta-clean strong {
  color: #26322f !important;
  font-weight: 900 !important;
  margin-right: 4px !important;
  white-space: nowrap !important;
}

.events-page .event-description {
  height: 115px !important;
  min-height: 115px !important;
  max-height: 115px !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #26322f !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

.events-page .event-booking-note {
  height: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #5d6662 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

.events-page .event-actions-clean {
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  margin: 0 !important;
  padding: 0 !important;

  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  align-items: end !important;
  justify-content: flex-start !important;
  align-self: end !important;
  overflow: hidden !important;
}

.events-page .event-actions-clean .btn {
  min-height: 44px !important;
  height: 44px !important;
  padding: 9px 16px !important;
  white-space: nowrap !important;
}

.events-page .event-actions-clean {
  overflow-x: auto !important;
  scrollbar-width: none !important;
}

.events-page .event-actions-clean::-webkit-scrollbar {
  display: none !important;
}

.events-page .events-empty-card {
  width: min(760px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
  min-height: 280px !important;
  justify-content: flex-start !important;
}

.events-page .events-empty-card h2 {
  font-family: "SansSerifBldFLF", Arial, Helvetica, sans-serif !important;
  font-size: clamp(22px, 2vw, 30px) !important;
  line-height: 1.12 !important;
  color: #4ABE8A !important;
}

@media (min-width: 1051px) {
  .events-page .events-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1050px) {
  .events-page .events-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .events-page .events-grid {
    width: calc(100% - 32px) !important;
    grid-template-columns: 1fr !important;
  }

  .events-page .event-card-clean {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 24px !important;
    display: flex !important;
    flex-direction: column !important;
    row-gap: 0 !important;
  }

  .events-page .event-card-head,
  .events-page .event-card-clean h2,
  .events-page .event-meta-clean,
  .events-page .event-meta-clean span,
  .events-page .event-description,
  .events-page .event-booking-note,
  .events-page .event-actions-clean {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .events-page .event-card-head,
  .events-page .event-meta-clean,
  .events-page .event-description,
  .events-page .event-booking-note {
    margin-bottom: 22px !important;
  }

  .events-page .event-meta-clean {
    grid-template-rows: none !important;
  }

  .events-page .event-actions-clean {
    flex-wrap: wrap !important;
    overflow: visible !important;
  }
}

.events-page .event-date {
  font-family: "SansSerifBldFLF", Arial, Helvetica, sans-serif !important;
  font-size: clamp(20px, 1.65vw, 26px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  font-weight: 900 !important;
  color: #007EA5 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 12px !important;
}

.events-page .event-card-head {
  height: 158px !important;
  min-height: 158px !important;
  max-height: 158px !important;
}

.events-page .event-card-clean h2 {
  height: 116px !important;
  min-height: 116px !important;
  max-height: 116px !important;
}

.events-page .event-card-clean {
  height: 668px !important;
  min-height: 668px !important;
  max-height: 668px !important;
  grid-template-rows:
    158px
    250px
    115px
    28px
    54px
  !important;
}

@media (max-width: 760px) {
  .events-page .event-date {
    font-size: clamp(20px, 6vw, 24px) !important;
  }

  .events-page .event-card-head,
  .events-page .event-card-clean h2,
  .events-page .event-card-clean {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
}

.contact-page,
.voucher-page {
  background: #ffffff !important;
}

.contact-clean-grid,
.voucher-clean-grid {
  width: min(1160px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr) !important;
  gap: 28px !important;
  align-items: stretch !important;
}

.contact-info-card,
.voucher-info-card,
.contact-clean-form,
.voucher-clean-form {
  min-height: 520px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0,126,165,.16) !important;
  border-radius: 24px !important;
  box-shadow: 0 14px 34px rgba(20,60,70,.065) !important;
  padding: 32px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
}

.contact-info-card h2,
.voucher-info-card h2,
.contact-clean-form h2,
.voucher-clean-form h2 {
  font-family: "SansSerifBldFLF", Arial, Helvetica, sans-serif !important;
  font-size: clamp(22px, 2vw, 30px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;
  font-weight: 900 !important;
  color: #4ABE8A !important;
  margin: 0 0 26px !important;
}

.contact-info-card p,
.voucher-info-card p {
  font-size: 16px !important;
  line-height: 1.72 !important;
  color: #26322f !important;
  margin: 0 0 24px !important;
}

.contact-info-list,
.voucher-steps {
  display: grid !important;
  gap: 12px !important;
  margin-top: auto !important;
}

.contact-info-list a,
.voucher-steps div {
  display: block !important;
  padding: 16px !important;
  border-radius: 18px !important;
  background: rgba(74,190,138,.08) !important;
  border: 1px solid rgba(0,126,165,.12) !important;
  text-decoration: none !important;
  color: #26322f !important;
}

.contact-info-list strong,
.voucher-steps strong {
  display: block !important;
  margin-bottom: 5px !important;
  color: #4ABE8A !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

.contact-info-list span,
.voucher-steps span {
  display: block !important;
  color: #26322f !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
}

.contact-clean-form,
.voucher-clean-form {
  gap: 0 !important;
}

.form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.contact-clean-form label,
.voucher-clean-form label {
  display: grid !important;
  gap: 8px !important;
  color: #26322f !important;
  font-weight: 900 !important;
  font-size: 15px !important;
  margin: 0 0 16px !important;
}

.contact-clean-form input,
.contact-clean-form textarea,
.voucher-clean-form input,
.voucher-clean-form textarea {
  width: 100% !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(0,126,165,.18) !important;
  border-radius: 18px !important;
  padding: 14px 16px !important;
  font-family: "SansSerifBldFLF", Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #26322f !important;
  background: #ffffff !important;
  outline: none !important;
  box-shadow: none !important;
}

.contact-clean-form input:focus,
.contact-clean-form textarea:focus,
.voucher-clean-form input:focus,
.voucher-clean-form textarea:focus {
  border-color: #4ABE8A !important;
  box-shadow: 0 0 0 4px rgba(74,190,138,.12) !important;
}

.contact-clean-form textarea,
.voucher-clean-form textarea {
  resize: vertical !important;
  min-height: 170px !important;
}

.contact-clean-form .btn,
.voucher-clean-form .btn {
  align-self: flex-start !important;
  margin-top: auto !important;
}

.notice {
  margin: 0 0 18px !important;
  padding: 14px 16px !important;
  border-radius: 18px !important;
  background: #eafaf2 !important;
  border: 1px solid #bfead4 !important;
  color: #244d38 !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
}

.notice.error {
  background: #fff0f0 !important;
  border-color: #e3b7b7 !important;
  color: #8a2929 !important;
}

.contact-page form.card,
.voucher-page form.card {
  background: #ffffff !important;
  border: 1px solid rgba(0,126,165,.16) !important;
  border-radius: 24px !important;
  box-shadow: 0 14px 34px rgba(20,60,70,.065) !important;
  padding: 32px !important;
}

.contact-page form.card label,
.voucher-page form.card label {
  display: grid !important;
  gap: 8px !important;
  margin-bottom: 16px !important;
}

.contact-page form.card input,
.contact-page form.card textarea,
.voucher-page form.card input,
.voucher-page form.card textarea {
  width: 100% !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(0,126,165,.18) !important;
  border-radius: 18px !important;
  padding: 14px 16px !important;
}

@media (max-width: 980px) {
  .contact-clean-grid,
  .voucher-clean-grid {
    grid-template-columns: 1fr !important;
  }

  .contact-info-card,
  .voucher-info-card,
  .contact-clean-form,
  .voucher-clean-form {
    min-height: auto !important;
  }
}

@media (max-width: 760px) {
  .contact-clean-grid,
  .voucher-clean-grid {
    width: calc(100% - 32px) !important;
  }

  .form-grid {
    grid-template-columns: 1fr !important;
  }

  .contact-info-card,
  .voucher-info-card,
  .contact-clean-form,
  .voucher-clean-form,
  .contact-page form.card,
  .voucher-page form.card {
    padding: 24px !important;
  }
}

.events-page .events-grid {
  width: min(1220px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: stretch !important;
}

.events-page .event-card-clean {
  height: 780px !important;
  min-height: 780px !important;
  max-height: 780px !important;
  padding: 30px !important;

  display: grid !important;
  grid-template-rows:
    170px   
    270px   
    150px   
    58px    
    58px    
  !important;
  row-gap: 14px !important;
  overflow: hidden !important;
}

.events-page .event-card-head {
  height: 170px !important;
  min-height: 170px !important;
  max-height: 170px !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.events-page .event-date {
  font-family: "SansSerifBldFLF", Arial, Helvetica, sans-serif !important;
  font-size: clamp(20px, 1.65vw, 26px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  font-weight: 900 !important;
  color: #007EA5 !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.events-page .event-card-clean h2 {
  height: 126px !important;
  min-height: 126px !important;
  max-height: 126px !important;
  overflow: hidden !important;

  font-family: "SansSerifBldFLF", Arial, Helvetica, sans-serif !important;
  font-size: clamp(20px, 1.65vw, 26px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  font-weight: 900 !important;
  color: #4ABE8A !important;
  margin: 0 !important;
}

.events-page .event-meta-clean {
  height: 270px !important;
  min-height: 270px !important;
  max-height: 270px !important;
  display: grid !important;
  grid-template-rows: repeat(5, 46px) !important;
  gap: 10px !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.events-page .event-meta-clean span {
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  overflow: hidden !important;

  display: flex !important;
  align-items: center !important;
  background: rgba(74,190,138,.08) !important;
  border: 1px solid rgba(0,126,165,.12) !important;
  border-radius: 14px !important;
  padding: 8px 12px !important;
  color: #26322f !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
}

.events-page .event-meta-clean strong {
  font-weight: 900 !important;
  margin-right: 4px !important;
  white-space: nowrap !important;
}

.events-page .event-description {
  height: 150px !important;
  min-height: 150px !important;
  max-height: 150px !important;
  overflow: hidden !important;
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  color: #26322f !important;
}

.events-page .event-booking-note {
  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;
  overflow: hidden !important;
  margin: 0 !important;
  color: #5d6662 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

.events-page .event-actions-clean {
  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;
  margin: 0 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  align-items: end !important;
  justify-content: flex-start !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}

.events-page .event-actions-clean::-webkit-scrollbar {
  display: none !important;
}

.events-page .event-actions-clean .btn {
  height: 44px !important;
  min-height: 44px !important;
  padding: 9px 16px !important;
  white-space: nowrap !important;
}

@media (min-width: 1051px) {
  .events-page .events-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1050px) {
  .events-page .events-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .events-page .events-grid {
    width: calc(100% - 32px) !important;
    grid-template-columns: 1fr !important;
  }

  .events-page .event-card-clean {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 24px !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .events-page .event-card-head,
  .events-page .event-card-clean h2,
  .events-page .event-meta-clean,
  .events-page .event-meta-clean span,
  .events-page .event-description,
  .events-page .event-booking-note,
  .events-page .event-actions-clean {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .events-page .event-card-head,
  .events-page .event-meta-clean,
  .events-page .event-description,
  .events-page .event-booking-note {
    margin-bottom: 22px !important;
  }

  .events-page .event-meta-clean {
    grid-template-rows: none !important;
  }

  .events-page .event-actions-clean {
    flex-wrap: wrap !important;
    overflow: visible !important;
  }
}

.events-page .events-grid {
  width: min(1120px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 28px !important;
  align-items: stretch !important;
}

.events-page .event-card-clean {
  height: 760px !important;
  min-height: 760px !important;
  max-height: 760px !important;
  padding: 30px !important;
  display: grid !important;
  grid-template-rows:
    150px   
    270px   
    145px   
    70px    
    58px    
  !important;
  row-gap: 14px !important;
  overflow: hidden !important;
}

.events-page .event-card-head {
  height: 150px !important;
  min-height: 150px !important;
  max-height: 150px !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.events-page .event-date {
  font-family: "SansSerifBldFLF", Arial, Helvetica, sans-serif !important;
  font-size: clamp(20px, 1.65vw, 26px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  font-weight: 900 !important;
  color: #007EA5 !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.events-page .event-card-clean h2 {
  height: 116px !important;
  min-height: 116px !important;
  max-height: 116px !important;
  overflow: hidden !important;
  font-family: "SansSerifBldFLF", Arial, Helvetica, sans-serif !important;
  font-size: clamp(22px, 2vw, 30px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  font-weight: 900 !important;
  color: #4ABE8A !important;
  margin: 0 !important;
}

.events-page .event-meta-clean {
  height: 270px !important;
  min-height: 270px !important;
  max-height: 270px !important;
  display: grid !important;
  grid-template-rows: repeat(5, 46px) !important;
  gap: 10px !important;
  margin: 0 !important;
  overflow: hidden !important;
}

.events-page .event-meta-clean span {
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  background: rgba(74,190,138,.08) !important;
  border: 1px solid rgba(0,126,165,.12) !important;
  border-radius: 14px !important;
  padding: 8px 12px !important;
  color: #26322f !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
}

.events-page .event-meta-clean strong {
  font-weight: 900 !important;
  margin-right: 4px !important;
  white-space: nowrap !important;
}

.events-page .event-description {
  height: 145px !important;
  min-height: 145px !important;
  max-height: 145px !important;
  overflow: hidden !important;
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1.58 !important;
  color: #26322f !important;
}

.events-page .event-booking-note {
  height: 70px !important;
  min-height: 70px !important;
  max-height: 70px !important;
  overflow: hidden !important;
  margin: 0 !important;
  color: #5d6662 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

.events-page .event-actions-clean {
  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;
  margin: 0 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  align-items: end !important;
  justify-content: flex-start !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}

.events-page .event-actions-clean::-webkit-scrollbar {
  display: none !important;
}

.events-page .event-actions-clean .btn {
  height: 44px !important;
  min-height: 44px !important;
  padding: 9px 16px !important;
  white-space: nowrap !important;
}

@media (max-width: 1050px) {
  .events-page .events-grid {
    width: min(920px, calc(100% - 32px)) !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .events-page .events-grid {
    width: calc(100% - 32px) !important;
    grid-template-columns: 1fr !important;
  }

  .events-page .event-card-clean {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 24px !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .events-page .event-card-head,
  .events-page .event-card-clean h2,
  .events-page .event-meta-clean,
  .events-page .event-meta-clean span,
  .events-page .event-description,
  .events-page .event-booking-note,
  .events-page .event-actions-clean {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .events-page .event-card-head,
  .events-page .event-meta-clean,
  .events-page .event-description,
  .events-page .event-booking-note {
    margin-bottom: 22px !important;
  }

  .events-page .event-meta-clean {
    grid-template-rows: none !important;
  }

  .events-page .event-actions-clean {
    flex-wrap: wrap !important;
    overflow: visible !important;
  }
}

.events-page .event-card-clean {
  height: 760px !important;
  min-height: 760px !important;
  max-height: 760px !important;
  grid-template-rows:
    150px   
    270px   
    170px   
    54px    
    48px    
  !important;
  row-gap: 8px !important;
}

.events-page .event-description {
  height: 170px !important;
  min-height: 170px !important;
  max-height: 170px !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 15.5px !important;
  line-height: 1.48 !important;
}

.events-page .event-booking-note {
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 12.5px !important;
  line-height: 1.35 !important;
  color: #5d6662 !important;
}

.events-page .event-actions-clean {
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: end !important;
}

.events-page .event-actions-clean .btn {
  height: 42px !important;
  min-height: 42px !important;
  padding: 8px 15px !important;
}

@media (max-width: 760px) {
  .events-page .event-card-clean,
  .events-page .event-description,
  .events-page .event-booking-note,
  .events-page .event-actions-clean {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .events-page .event-description {
    font-size: 16px !important;
    line-height: 1.55 !important;
    margin-bottom: 16px !important;
  }

  .events-page .event-booking-note {
    font-size: 13px !important;
    line-height: 1.4 !important;
    margin-bottom: 18px !important;
  }
}

.events-page .event-card-clean {
  height: 730px !important;
  min-height: 730px !important;
  max-height: 730px !important;
  grid-template-rows:
    150px
    270px
    120px
    54px
    48px
  !important;
  row-gap: 8px !important;
}

.events-page .event-description {
  height: 120px !important;
  min-height: 120px !important;
  max-height: 120px !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 15.5px !important;
  line-height: 1.48 !important;
}

.events-page .event-booking-note {
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 12.5px !important;
  line-height: 1.35 !important;
}

.events-page .event-actions-clean {
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: end !important;
}

.events-page .event-actions-clean .btn {
  height: 42px !important;
  min-height: 42px !important;
  padding: 8px 15px !important;
}

@media (max-width: 760px) {
  .events-page .event-card-clean,
  .events-page .event-description,
  .events-page .event-booking-note,
  .events-page .event-actions-clean {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .events-page .event-description {
    font-size: 16px !important;
    line-height: 1.55 !important;
    margin-bottom: 12px !important;
  }

  .events-page .event-booking-note {
    font-size: 13px !important;
    line-height: 1.4 !important;
    margin-bottom: 12px !important;
  }
}
.events-page .event-card-clean {
  position: relative !important;
  height: 760px !important;
  min-height: 760px !important;
  max-height: 760px !important;
  padding: 30px 30px 96px !important;
  display: block !important;
  overflow: hidden !important;
}

.events-page .event-card-head {
  height: 150px !important;
  min-height: 150px !important;
  max-height: 150px !important;
  margin: 0 0 14px !important;
  overflow: hidden !important;
}

.events-page .event-meta-clean {
  height: 270px !important;
  min-height: 270px !important;
  max-height: 270px !important;
  display: grid !important;
  grid-template-rows: repeat(5, 46px) !important;
  gap: 10px !important;
  margin: 0 0 14px !important;
  overflow: hidden !important;
}

.events-page .event-description {
  height: 118px !important;
  min-height: 118px !important;
  max-height: 118px !important;
  overflow: hidden !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  font-size: 15.5px !important;
  line-height: 1.48 !important;
}

.events-page .event-booking-note {
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 12.5px !important;
  line-height: 1.35 !important;
}

.events-page .event-actions-clean {
  position: absolute !important;
  left: 30px !important;
  bottom: 30px !important;
  right: 30px !important;
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
}

.events-page .event-actions-clean::-webkit-scrollbar {
  display: none !important;
}

.events-page .event-actions-clean .btn {
  height: 42px !important;
  min-height: 42px !important;
  padding: 8px 15px !important;
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  .events-page .event-card-clean {
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 24px !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: visible !important;
  }

  .events-page .event-card-head,
  .events-page .event-meta-clean,
  .events-page .event-description,
  .events-page .event-booking-note {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-bottom: 18px !important;
    overflow: visible !important;
  }

  .events-page .event-actions-clean {
    position: static !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
    flex-wrap: wrap !important;
    overflow: visible !important;
  }
}
.prices-page {
  background: #ffffff !important;
}

.prices-grid {
  width: min(1160px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

.price-card,
.price-note {
  background: #ffffff !important;
  border: 1px solid rgba(0,126,165,.16) !important;
  border-radius: 24px !important;
  box-shadow: 0 14px 34px rgba(20,60,70,.065) !important;
  padding: 32px !important;
}

.price-card {
  min-height: 360px !important;
  display: flex !important;
  flex-direction: column !important;
}

.price-card h2,
.price-note h2 {
  font-family: "SansSerifBldFLF", Arial, Helvetica, sans-serif !important;
  font-size: clamp(22px, 2vw, 30px) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;
  font-weight: 900 !important;
  color: #4ABE8A !important;
  margin: 0 0 20px !important;
}

.price-value {
  margin: 0 !important;
  font-family: "SansSerifBldFLF", Arial, Helvetica, sans-serif !important;
  font-size: clamp(34px, 3.5vw, 48px) !important;
  line-height: 1.05 !important;
  color: #007EA5 !important;
  font-weight: 900 !important;
}

.price-subline {
  margin: 8px 0 24px !important;
  color: #4ABE8A !important;
  font-weight: 900 !important;
  font-size: 16px !important;
}

.price-card p:not(.price-value):not(.price-subline),
.price-note p {
  color: #26322f !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
  margin: 0 !important;
}

.price-note {
  width: min(860px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
}

.price-note .actions {
  margin-top: 24px !important;
}

@media (max-width: 980px) {
  .prices-grid {
    grid-template-columns: 1fr !important;
  }

  .price-card {
    min-height: auto !important;
  }
}

@media (max-width: 760px) {
  .prices-grid,
  .price-note {
    width: calc(100% - 32px) !important;
  }

  .price-card,
  .price-note {
    padding: 24px !important;
  }
}
