:root{
  --cream:#f6f2e9; --sand:#ece5d7; --paper:#ffffff;
  --green:#06342a; --green-deep:#042f25;
  --gold:#c79a4b; --ink:#10201b; --ink-soft:#4a5a53;
  --line:rgba(16,32,27,.14); --line-light:rgba(255,255,255,.22);
  --r:2px; --wrap:1240px;
  --sp:clamp(64px,8vw,112px); --pad:clamp(20px,5vw,64px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:118px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);
  font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:"Playfair Display",Georgia,"Times New Roman",serif;font-weight:500;
  letter-spacing:-.01em;margin:0;line-height:1.08}
h1{font-size:clamp(38px,6vw,76px)}
h2{font-size:clamp(30px,4.4vw,58px);line-height:1.1}
h3{font-size:clamp(20px,2.1vw,27px);line-height:1.2}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.section{padding:var(--sp) 0}
.sand{background:var(--sand)}
.paper{background:var(--paper)}
.dark{background:var(--green);color:#f3efe6}
.dark h1,.dark h2,.dark h3{color:#fff}
.dark .lead,.dark p{color:rgba(243,239,230,.82)}
.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);
  font-weight:600;margin:0 0 22px}
.dark .eyebrow{color:var(--gold)}
.lead{font-size:clamp(16px,1.3vw,18.5px);color:var(--ink-soft);max-width:62ch}
.rule{height:1px;background:var(--line);border:0;margin:0}
.dark .rule{background:var(--line-light)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 30px;border-radius:var(--r);
  background:var(--green);color:#fff;text-decoration:none;font-size:14.5px;font-weight:600;
  letter-spacing:.01em;border:1px solid var(--green);transition:.2s;white-space:nowrap}
.btn:hover{background:var(--green-deep)}
.btn--gold{background:var(--gold);border-color:var(--gold);color:#1b1204}
.btn--gold:hover{background:#b98b3c;border-color:#b98b3c}
.btn--ghost{background:transparent;color:#fff;border-color:var(--line-light)}
.btn--ghost:hover{background:rgba(255,255,255,.08)}
.link{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-weight:600;
  font-size:14.5px;border-bottom:1px solid var(--gold);padding-bottom:4px;transition:.2s}
.link:hover{gap:14px}
.link .arr{color:var(--gold)}

/* header */
.header{position:sticky;top:0;z-index:60;background:rgba(246,242,233,.94);
  backdrop-filter:saturate(150%) blur(8px);border-bottom:1px solid var(--line)}
.header .bar{max-width:var(--wrap);margin:0 auto;padding:12px var(--pad);
  display:flex;align-items:center;gap:26px}
.brand{display:flex;align-items:center;text-decoration:none;flex:0 0 auto}
.brand img{height:46px;width:auto;object-fit:contain}
.nav{display:flex;gap:26px;margin-left:auto;align-items:center}
.nav a{text-decoration:none;font-size:14.5px;color:var(--ink);opacity:.85;transition:.2s}
.nav a:hover{opacity:1;color:var(--green)}
.nav a.btn{color:#fff;opacity:1}
.nav a.btn:hover{color:#fff}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);
  border-radius:var(--r);padding:9px 12px;font-size:15px;cursor:pointer}
.mobile-cta{display:none;margin-left:auto;padding:10px 14px;border-radius:var(--r);
  background:var(--green);color:#fff;text-decoration:none;font-size:12.5px;font-weight:600;
  line-height:1;border:1px solid var(--green);white-space:nowrap}

/* hero */
.hero{position:relative;background:var(--green);color:#fff;overflow:hidden}
.hero .bg{position:absolute;inset:0}
.hero .bg picture{display:block;width:100%;height:100%}
.hero .bg img{width:100%;height:100%;object-fit:cover;object-position:22% center}
.hero .bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(96deg,rgba(6,52,42,.96) 0%,rgba(6,52,42,.9) 26%,rgba(6,52,42,.55) 44%,rgba(6,52,42,.18) 62%,rgba(6,52,42,.1) 100%),
  linear-gradient(to bottom,rgba(4,47,37,.35) 0%,rgba(4,47,37,0) 30%,rgba(4,47,37,.45) 100%)}
.hero .inner{position:relative;max-width:var(--wrap);margin:0 auto;padding:clamp(52px,6vw,84px) var(--pad)}
.hero h1{font-size:clamp(44px,5vw,68px);max-width:17ch;margin-bottom:18px}
.hero-name-suffix{font-size:.52em;letter-spacing:.01em;display:inline-block;margin-top:.16em}
.hero .sub{font-size:clamp(16px,1.35vw,19px);color:rgba(243,239,230,.86);max-width:52ch}
.hero-sub{font-family:"Playfair Display",Georgia,serif;font-size:clamp(19px,2.1vw,27px);
  line-height:1.3;color:#fff;max-width:24ch;margin:0 0 4px}
.hero-claims{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:10px;max-width:56ch}
.hero-claims li{display:flex;gap:14px;align-items:flex-start;
  color:rgba(243,239,230,.9);font-size:15.5px}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.mobile-claims{display:none}

@media(min-width:861px){
  .hero .bg{background:var(--green)}
  .hero .bg img{object-fit:contain;object-position:right center}
}

/* outreach card */
.outreach{margin-top:46px;background:rgba(246,242,233,.97);color:var(--ink);
  border-radius:var(--r);padding:26px 30px;max-width:560px;border-left:3px solid var(--gold)}
.outreach .eyebrow{margin-bottom:12px}
.outreach h3{margin-bottom:6px}
.outreach .date{color:#a9762a;font-weight:600;font-size:16px;margin-bottom:8px}
.outreach p{color:var(--ink-soft);font-size:15px;margin-bottom:18px}

/* facts strip */
.facts{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts .grid{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}
.facts .cell{padding:34px var(--pad);border-right:1px solid var(--line)}
.facts .cell:last-child{border-right:0}
.facts .n{font-family:"Playfair Display",Georgia,serif;font-size:13px;letter-spacing:.2em;
  color:var(--gold);display:block;margin-bottom:12px}
.facts p{font-size:15px;color:var(--ink);line-height:1.5}

/* split layout */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,5vw,72px);align-items:center}
.split .media img{width:100%;height:100%;object-fit:cover;border-radius:var(--r)}
.split-head{max-width:840px;margin-bottom:52px}

/* team */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  display:grid;grid-template-columns:1fr;grid-template-areas:"ph" "name" "body";align-content:start}
.card .ph{grid-area:ph;aspect-ratio:4/5;background:var(--sand)}
.card .ph img{width:100%;height:100%;object-fit:cover}
.card .ph img{object-position:center top}
.card--flavia .ph{overflow:hidden}
.card--flavia .ph img{transform:scale(1.62);transform-origin:center 84%}
.card h3{grid-area:name;padding:26px 26px 0;margin:0}
.card .body{grid-area:body;padding:16px 26px 30px}
.card ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.card li{position:relative;padding-left:18px;font-size:14px;color:var(--ink-soft);line-height:1.5}
.card li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:1px;background:var(--gold)}

/* advantages */
.adv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line-light)}
.adv>div{padding:26px 4px;border-bottom:1px solid var(--line-light);display:flex;gap:18px;align-items:flex-start}
.adv p{font-size:16px;color:rgba(243,239,230,.92);margin:0}
.quote{margin:52px 0 0;font-family:"Playfair Display",Georgia,serif;font-size:clamp(21px,2.4vw,32px);
  line-height:1.34;color:#fff;max-width:24ch;border-left:2px solid var(--gold);padding-left:26px}

/* phases */
.phases{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.phase{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  display:flex;flex-direction:column}
.phase .ph{aspect-ratio:3/2;overflow:hidden;background:var(--sand)}
.phase .ph img{width:100%;height:100%;object-fit:cover}
.phase .body{padding:24px 24px 28px}
.phase .step{font-family:Inter,sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold);font-weight:600;display:block;margin-bottom:8px}
.phase h3{font-size:21px;margin-bottom:12px}
.phase p{font-size:14px;color:var(--ink-soft);line-height:1.6}

/* videos */
.videos{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.vid{background:#000;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.vid .fr{aspect-ratio:16/9}
.vid iframe{width:100%;height:100%;border:0;display:block}
.vid .cap{background:var(--paper);color:var(--ink);padding:16px 20px;font-size:14.5px;font-weight:600}

/* reviews */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.google-reviews{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px 60px;
  align-items:end;border-left:3px solid var(--gold);padding:10px 0 10px 34px}
.google-reviews h2{max-width:19ch}
.google-reviews .lead{margin-top:20px}
.review{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:0;
  display:flex;flex-direction:column;overflow:hidden}
.review .ph{aspect-ratio:16/10;background:var(--sand)}
.review .ph img{width:100%;height:100%;object-fit:cover}
.review .body{padding:26px 26px 28px;display:flex;flex-direction:column;flex:1}
.stars{color:var(--gold);letter-spacing:.18em;font-size:13px;margin-bottom:14px}
.review p{font-size:15px;color:var(--ink-soft);line-height:1.65;flex:1}
.review .who{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.review .who b{display:block;font-family:"Playfair Display",Georgia,serif;font-weight:500;font-size:19px}
.review .who{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.review .who b{flex:1 1 100%}
.review .who span{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.review .who em{font-style:normal;font-size:12.5px;color:var(--ink-soft);margin-left:auto}

/* contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:clamp(34px,5vw,80px);align-items:start}
form{display:grid;gap:16px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(243,239,230,.7);margin-bottom:8px;font-weight:600}
input[type=text],input[type=tel],input[type=email],textarea{
  width:100%;padding:14px 16px;border-radius:var(--r);border:1px solid var(--line-light);
  background:rgba(255,255,255,.06);color:#fff;font:inherit;font-size:15px;transition:.2s}
input:focus,textarea:focus{outline:0;border-color:var(--gold);background:rgba(255,255,255,.1)}
textarea{min-height:120px;resize:vertical}
.check{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;
  color:rgba(243,239,230,.8);line-height:1.5}
.check input{margin-top:3px;accent-color:var(--gold);width:16px;height:16px;flex:0 0 auto}
.check a{color:var(--gold)}
.privacy{font-size:12px;line-height:1.65;color:rgba(243,239,230,.55);margin-top:26px}
.privacy a{color:rgba(243,239,230,.8)}
.contact-side .eyebrow{margin-bottom:18px}
.contact-side .wa{margin-top:28px;display:inline-flex;align-items:center;gap:12px;
  font-family:"Playfair Display",Georgia,serif;font-size:26px;color:#fff;text-decoration:none;
  border-bottom:1px solid var(--gold);padding-bottom:6px}

/* map */
.map{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--sand)}
.map iframe{width:100%;height:420px;border:0;display:block;filter:saturate(.8)}
.visit{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--r);margin-top:28px}
.visit>div{padding:30px 34px;border-right:1px solid var(--line)}
.visit>div:last-child{border-right:0}
.visit .k{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);
  font-weight:600;margin-bottom:10px}
.visit .v{font-family:"Playfair Display",Georgia,serif;font-size:20px;line-height:1.25}

/* footer */
.footer{background:var(--green-deep);color:rgba(243,239,230,.75);padding:64px 0 30px;font-size:14.5px}
.footer a{color:rgba(243,239,230,.85)}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;align-items:start}
.footer h4{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);
  font-family:Inter,sans-serif;font-weight:600;margin:0 0 14px}
.footer .logo img{width:min(280px,100%);opacity:.98}
.footer a{color:inherit}
.lgpd{margin-top:34px;padding-top:28px;border-top:1px solid rgba(255,255,255,.12);max-width:100ch}
.lgpd h4{margin-bottom:14px}
.lgpd p{margin:0 0 10px;font-size:12.5px;line-height:1.7;color:rgba(243,239,230,.62)}
.lgpd a{color:var(--gold)}
.footer .bottom{margin-top:52px;padding-top:22px;border-top:1px solid var(--line-light);
  display:flex;flex-wrap:wrap;gap:8px 26px;justify-content:space-between;font-size:13px;
  color:rgba(243,239,230,.55)}

/* float whatsapp */
.wa-float{transition:bottom .25s ease;position:fixed;right:18px;bottom:calc(18px + var(--ck-h,0px));z-index:70;display:inline-flex;align-items:center;
  gap:11px;padding:7px 18px 7px 7px;border-radius:999px;background:var(--green);color:#fff;
  text-decoration:none;box-shadow:0 12px 34px rgba(4,47,37,.32);border:1px solid rgba(255,255,255,.14);
  transition:.2s;max-width:calc(100vw - 36px)}
.wa-float:hover{background:var(--green-deep);box-shadow:0 16px 40px rgba(4,47,37,.4)}
.wa-float__ph{position:relative;flex:0 0 auto;width:46px;height:46px;border-radius:50%;
  overflow:visible;display:block}
.wa-float__ph img{width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:center 42%;
  background:var(--sand)}
.wa-float__badge{position:absolute;right:-2px;bottom:-2px;width:19px;height:19px;fill:#fff;
  background:#25d366;border-radius:50%;padding:3px;box-sizing:content-box;
  border:2px solid var(--green)}
.wa-float:hover .wa-float__badge{border-color:var(--green-deep)}
.wa-float__txt{font-size:14px;font-weight:600;letter-spacing:.01em;line-height:1.2;white-space:nowrap}
@media(max-width:420px){
  .wa-float{gap:9px;padding:6px 15px 6px 6px;right:12px;bottom:calc(12px + var(--ck-h,0px))}
  .wa-float__ph,.wa-float__ph img{width:40px;height:40px}
  .wa-float__txt{font-size:13px}
}

@media(max-width:1020px){
  .facts .grid{grid-template-columns:repeat(2,1fr)}
  .facts .cell:nth-child(2){border-right:0}
  .facts .cell:nth-child(1),.facts .cell:nth-child(2){border-bottom:1px solid var(--line)}
  .team,.phases,.videos,.reviews{grid-template-columns:repeat(2,1fr)}
  .visit{grid-template-columns:1fr}
  .visit>div{border-right:0;border-bottom:1px solid var(--line);padding:26px 24px}
  .visit>div:last-child{border-bottom:0}
}
@media(max-width:860px){
  /* the people remain part of the first-screen background on phones */
  .hero{min-height:calc(100svh - 112px);padding-bottom:260px}
  .hero .bg,.hero .bg picture,.hero .bg img{width:100%;height:100%}
  .hero .bg img{object-fit:cover;object-position:center bottom}
  .hero .bg::after{background:linear-gradient(to bottom,rgba(6,52,42,.9) 0%,rgba(6,52,42,.84) 44%,rgba(6,52,42,.52) 62%,rgba(6,52,42,.28) 76%,rgba(4,47,37,.3) 100%)}
  .nav{display:none}
  .nav.open{display:flex;position:fixed;top:71px;left:0;right:0;z-index:100;flex-direction:column;
    align-items:stretch;gap:0;background:var(--cream);border-bottom:1px solid var(--line);
    padding:6px 0 16px;box-shadow:0 18px 40px rgba(16,32,27,.16);max-height:calc(100vh - 76px);
    overflow-y:auto}
  .nav.open a{display:block;text-align:left;padding:15px var(--pad);
    border-bottom:1px solid var(--line);font-size:16.5px;opacity:1}
  .nav.open a:last-of-type{border-bottom:0}
  .nav.open a.btn{margin:16px var(--pad) 0;padding:16px 24px;text-align:center;
    justify-content:center;border-bottom:0}
  .mobile-cta{display:inline-flex;align-items:center;justify-content:center}
  .burger{display:block;margin-left:0}
  .header .bar{position:relative;z-index:101;background:var(--cream)}
  .split,.contact-grid{grid-template-columns:1fr}
  .split .media{order:-1;border-radius:var(--r);overflow:hidden}
  .split .media img{height:auto;max-height:none;object-fit:contain;object-position:center}
  .adv{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr}
}
@media(max-width:620px){
  .brand img{height:36px}
  .header .bar{gap:9px;padding:10px 14px}
  .mobile-cta{padding:10px 11px;font-size:11.5px}
  .burger{padding:8px 10px}
  .nav.open{top:57px}
  .hero{min-height:760px;padding-bottom:175px}
  .hero .inner{padding:38px 20px 34px}
  .hero-claims{display:none}
  .hero-dates{margin-top:22px}
  .hero-cta{margin-top:22px}
  .mobile-claims{display:block;background:var(--paper);padding:24px 20px;border-bottom:1px solid var(--line)}
  .mobile-claims ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
  .mobile-claims li{display:flex;align-items:flex-start;gap:12px;color:var(--ink-soft);font-size:14px;line-height:1.45}
  .mobile-claims .ico{width:23px;height:23px;margin-top:0}
  .wa-float{width:52px;height:52px;padding:6px;gap:0;border-radius:50%;right:12px}
  .wa-float__ph,.wa-float__ph img{width:40px;height:40px}
  .wa-float__txt{display:none}
  .privacy-note{margin-top:8px}
  #form-top{padding-bottom:44px}
  .h2-caps{font-size:21px;letter-spacing:0}
  .facts .grid{grid-template-columns:1fr}
  .facts .cell{border-right:0;border-bottom:1px solid var(--line)}
  .facts .cell:last-child{border-bottom:0}
  .team,.phases,.videos,.reviews,.f2{grid-template-columns:1fr}
  .outreach{padding:22px 20px}
}

/* caps heading (verbatim source line) */
.h2-caps{font-size:clamp(20px,2.1vw,29px);line-height:1.28;letter-spacing:.02em}

/* light form variant */
.form-light label{color:var(--ink-soft)}
.form-light input[type=text],.form-light input[type=tel],.form-light input[type=email],.form-light textarea{
  border-color:var(--line);background:var(--cream);color:var(--ink)}
.form-light input:focus,.form-light textarea:focus{border-color:var(--gold);background:#fff}
.form-light .check{color:var(--ink-soft)}
.form-light .privacy{color:var(--ink-soft);opacity:.85}
.form-light .privacy a{color:var(--green)}
.okmsg{display:none;color:var(--gold);font-size:14px;margin:0;font-weight:600}

/* announcement band */
.announce{display:flex;flex-wrap:wrap;gap:28px 40px;align-items:center;justify-content:space-between}
.announce .date{font-family:"Playfair Display",Georgia,serif;font-size:clamp(20px,2vw,26px);
  color:#a9762a;margin:14px 0 10px}
.announce .lead{margin:0}
.announce--card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:34px 40px;margin-top:28px;border-left:3px solid var(--gold)}
.announce--card h3{margin-bottom:0}

/* team note */
.team-note{margin-top:44px;display:flex;flex-wrap:wrap;gap:22px;align-items:center;
  justify-content:space-between}

@media(max-width:620px){
  .announce--card{padding:26px 22px}
}

/* whatsapp icon inline with phone numbers */
.wa-ico{width:1.15em;height:1.15em;flex:0 0 auto;fill:currentColor;
  vertical-align:-.2em;margin-right:.55em}
.footer .wa-line{display:inline-flex;align-items:center;text-decoration:none}
.footer .wa-line:hover{text-decoration:underline}
.footer .wa-line .wa-ico{fill:#25d366}
.btn--ghost .wa-ico,.btn .wa-ico{fill:currentColor}
.contact-side .wa .wa-ico{width:.9em;height:.9em;fill:#25d366;margin-right:0}

/* hero dates */
.hero-dates{margin:32px 0 0;padding:22px 0 22px 28px;border-left:3px solid var(--gold);
  max-width:none}
.hd-place{font-family:"Playfair Display",Georgia,serif;font-size:clamp(21px,2.2vw,30px);
  line-height:1.15;color:#fff;margin:0 0 10px}
.hd-date{font-family:"Playfair Display",Georgia,serif;font-weight:600;
  font-size:clamp(28px,3.5vw,44px);line-height:1.05;color:var(--gold);margin:0 0 10px;white-space:nowrap}
.hd-sub{font-size:clamp(15px,1.3vw,17.5px);color:rgba(243,239,230,.86);margin:0}
@media(max-width:620px){
  .hero{min-height:calc(100svh - 113px);padding-bottom:0}
  .hero .inner{min-height:calc(100svh - 113px);padding:24px 20px 20px}
  .hero .eyebrow{display:none}
  .hero h1{font-size:43px;line-height:.98;margin-bottom:14px}
  .hero-name-suffix{font-size:.52em;margin-top:.2em}
  .hero-sub{font-size:18px;line-height:1.28;max-width:22ch}
  .hero-dates{padding:12px 0 12px 15px;margin-top:16px;max-width:330px}
  .hd-place{font-size:19px;line-height:1.12;margin-bottom:7px;max-width:22ch}
  .hd-date{font-size:30px;line-height:1;white-space:normal;margin-bottom:7px;max-width:11ch}
  .hd-sub{font-size:13px;line-height:1.25;max-width:25ch}
  .hero-cta{margin-top:15px}
  .hero-cta .btn--gold{padding:13px 22px;font-size:14px}
  .hero-cta .btn--ghost{display:none}
  .google-reviews{grid-template-columns:1fr;padding-left:20px;align-items:start}
  .google-reviews .btn{justify-content:center;width:100%}
}

/* kommo form wrapper */
.kommo-form{min-height:220px;margin-bottom:-34px}
.kommo-form>*{max-width:100%}
.kommo-form iframe{width:100%!important;border:0}

/* contact person card */
.contact-person{background:rgba(255,255,255,.06);border:1px solid var(--line-light);
  border-radius:var(--r);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  overflow:hidden}
.cp-photo{background:var(--sand);overflow:hidden}
.cp-photo img{width:100%;height:100%;object-fit:cover;object-position:center 38%;transform:scale(1.28);transform-origin:center 70%}
.cp-body{padding:32px 30px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.cp-body b{font-family:"Playfair Display",Georgia,serif;font-weight:500;
  font-size:clamp(21px,2vw,27px);line-height:1.2;color:#fff}
.cp-body span{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);
  font-weight:600;margin-bottom:12px}
.cp-body .btn{width:100%;justify-content:center}
@media(max-width:620px){
  .contact-person{grid-template-columns:1fr}
  .cp-photo{aspect-ratio:4/5}
  .cp-body{padding:26px 22px}
}

/* form block */
.form-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(32px,5vw,72px);align-items:center}
.fb-side .h2-caps{margin-bottom:22px;max-width:22ch}
.fb-lead{font-size:clamp(15.5px,1.25vw,17.5px);color:var(--ink-soft);max-width:44ch;margin:0 0 26px}
.fb-lead strong{color:var(--ink)}
.fb-wa{display:inline-flex;align-items:center;gap:10px;text-decoration:none;
  font-family:"Playfair Display",Georgia,serif;font-size:clamp(21px,1.9vw,26px);color:var(--ink);
  border-bottom:1px solid var(--gold);padding-bottom:6px}
.fb-wa .wa-ico{fill:#25d366;margin-right:0;width:.88em;height:.88em}
.kommo-form>*{max-width:100%}

/* collapsed privacy note */
.privacy-note{margin-top:14px;border-top:1px solid var(--line);padding-top:16px}
.privacy-note summary{cursor:pointer;list-style:none;font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--ink-soft);font-weight:600;display:flex;align-items:center;gap:10px}
.privacy-note summary::-webkit-details-marker{display:none}
.privacy-note summary::after{content:"+";font-size:15px;letter-spacing:0;color:var(--gold)}
.privacy-note[open] summary::after{content:"–"}
.privacy-note summary:hover{color:var(--ink)}
.privacy-note .privacy{margin-top:16px;font-size:12.5px;line-height:1.7;color:var(--ink-soft);
  max-width:100ch;opacity:.9}
.privacy-note .privacy a{color:var(--green)}

@media(max-width:860px){
  .form-block{grid-template-columns:1fr}
}

/* thin line icons */
.ico{width:30px;height:30px;flex:0 0 auto;color:var(--gold);stroke:currentColor;fill:none;
  stroke-width:1.1;opacity:.95}
.hero-claims .ico{width:24px;height:24px;margin-top:-1px}
.adv .ico{width:32px;height:32px;margin-top:-3px}
.adv p{padding-top:2px}

/* compact team cards on phones */
@media(max-width:860px){
  /* team becomes a swipeable row so the section stops being a 3-screen scroll */
  .team{display:flex;grid-template-columns:none;gap:14px;overflow-x:auto;
    scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    margin:0 calc(-1 * var(--pad));padding:2px var(--pad) 16px;
    scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
  .team::-webkit-scrollbar{height:4px}
  .team::-webkit-scrollbar-thumb{background:var(--gold);border-radius:2px}
  .team::-webkit-scrollbar-track{background:rgba(16,32,27,.1)}
  .team .card{flex:0 0 min(84vw,420px);scroll-snap-align:start}
}
.team-swipe{display:none;align-items:center;justify-content:space-between;gap:18px;
  margin:2px 0 26px;color:var(--ink-soft);font-size:12px;letter-spacing:.12em;
  text-transform:uppercase}
.team-swipe b{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--gold);
  border-radius:50%;color:var(--gold);font-size:20px;font-weight:400;animation:swipeHint 1.8s ease-in-out infinite}
@keyframes swipeHint{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}
@media(prefers-reduced-motion:reduce){.team-swipe b{animation:none}}
@media(max-width:860px){.team-swipe{display:flex}}
@media(max-width:860px){
  .card{grid-template-columns:80px 1fr;grid-template-areas:"ph name" "body body";
    align-items:center;column-gap:15px;padding:18px 20px 22px}
  .card .ph{aspect-ratio:1;width:80px;height:80px;border-radius:50%;overflow:hidden;align-self:center}
  .card h3{padding:0;font-size:20px;line-height:1.15}
  .card .body{padding:15px 0 0}
  .card ul{gap:8px}
  .card li{font-size:14px;line-height:1.45;padding-left:16px}
  .card li::before{top:8px}
}

/* announcement ticker (sticky, inside the header) */
.ticker{display:block;background:var(--green);color:#f3efe6;text-decoration:none;
  overflow:hidden;border-top:1px solid rgba(255,255,255,.08);position:relative}
.ticker::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,var(--green) 0,rgba(6,52,42,0) 6%,rgba(6,52,42,0) 94%,var(--green) 100%)}
.ticker__track{display:flex;width:max-content;animation:tick 46s linear infinite}
.ticker:hover .ticker__track{animation-play-state:paused}
.ticker__grp{display:flex;align-items:center;flex:0 0 auto;padding:9px 0}
.ticker__i{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;
  color:rgba(243,239,230,.9)}
.ticker__i--date{color:var(--gold);font-weight:600}
.ticker__d{color:var(--gold);font-size:8px;margin:0 22px;opacity:.75}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){
  .ticker__track{animation:none}
  .ticker{overflow-x:auto}
}
@media(max-width:620px){
  .ticker__i{font-size:11.5px;letter-spacing:.08em}
  .ticker__d{margin:0 16px}
  .ticker__grp{padding:8px 0}
}

/* cookie consent */
.cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;
  background:var(--green);color:rgba(243,239,230,.9);border:1px solid var(--line-light);
  border-radius:var(--r);padding:20px 24px;display:flex;flex-wrap:wrap;gap:16px 28px;
  align-items:center;justify-content:space-between;
  box-shadow:0 18px 50px rgba(4,47,37,.4);max-width:920px;margin:0 auto}
.cookie[hidden]{display:none}
.cookie__t{margin:0;font-size:13.5px;line-height:1.6;flex:1 1 340px;max-width:60ch}
.cookie__t a{color:var(--gold)}
.cookie__b{display:flex;gap:10px;flex:0 0 auto}
.cookie .btn{padding:11px 22px;font-size:13.5px}
.btn--line{background:transparent;color:#fff;border-color:var(--line-light)}
.btn--line:hover{background:rgba(255,255,255,.08)}
@media(max-width:620px){
  .cookie{left:10px;right:10px;bottom:10px;padding:16px 18px;gap:14px}
  .cookie__t{font-size:12.5px;flex:1 1 100%}
  .cookie__b{width:100%}
  .cookie .btn{flex:1;justify-content:center}
}
