:root{
  --bg:#faf6ee;
  --paper:#fffdf8;
  --paper2:#f7efe3;
  --ink:#15130f;
  --text:#51483d;
  --muted:#82776a;
  --line:#dfd1bd;
  --gold:#b58a55;
  --soft:0 18px 48px rgba(35,28,18,.08);
  --deep:0 30px 90px rgba(35,28,18,.12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--bg);
  font-family:Manrope,Arial,sans-serif;
  font-size:14px;
  line-height:1.55;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:.22;
  background-image:url("data:image/svg+xml,%3Csvg width='170' height='170' viewBox='0 0 170 170' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='170' height='170' filter='url(%23a)' opacity='.15'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}

a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input{font:inherit}

.wrap{width:calc(100% - 100px);max-width:none;margin:0 auto}

.header{
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(255,253,248,.9);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(223,209,189,.88);
}
.top{
  min-height:66px;
  display:grid;
  grid-template-columns:260px 1fr auto;
  align-items:center;
  gap:28px;
}
.logo{
  display:inline-flex;
  width:max-content;
  align-items:center;
  font-family:Cormorant Garamond,Georgia,serif;
  font-weight:600;
  letter-spacing:.085em;
  text-transform:uppercase;
  line-height:1;
}
.logo span{font-size:27px}
.menu{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:42px;
}
.menu a{
  font-size:12px;
  color:#302b25;
  transition:color .25s ease;
}
.menu a:hover{color:var(--gold)}
.side{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
}
.phone{
  font-size:12px;
  white-space:nowrap;
  color:#322d26;
}
.btn{
  display:inline-flex;
  min-height:44px;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 26px;
  border:1px solid var(--ink);
  background:transparent;
  color:var(--ink);
  font-size:12px;
  font-weight:600;
  line-height:1;
  transition:transform .3s ease,background .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px)}
.btn.dark{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 14px 30px rgba(21,19,15,.12)}
.btn.light{background:transparent;color:var(--ink);border-color:#bba98f}
.btn.dark:hover{background:#2a251e;box-shadow:0 18px 42px rgba(21,19,15,.16)}
.btn.light:hover{background:#fffaf2;border-color:#8d6c43}
.burger{display:none;width:42px;height:42px;border:1px solid var(--line);background:transparent;place-items:center;padding:0}
.burger span{display:block;width:18px;height:1px;background:var(--ink);transition:.25s}
.burger.open span:first-child{transform:translateY(4px) rotate(45deg)}
.burger.open span:last-child{transform:translateY(-4px) rotate(-45deg)}

.hero{
  display:grid;
  grid-template-columns:minmax(360px,.86fr) minmax(560px,1.14fr);
  min-height:calc(100vh - 67px);
  border-bottom:1px solid var(--line);
  background:var(--paper);
}
.hero-text{
  min-height:calc(100vh - 67px);
  padding:68px 50px 68px 50px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.label{
  margin:0 0 14px;
  color:#9a7343;
  font-size:10px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.22em;
  text-transform:uppercase;
}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;letter-spacing:-.025em;color:var(--ink)}
h1{
  margin:0;
  max-width:560px;
  font-size:clamp(34px,3.5vw,58px);
  line-height:1.02;
}
.lead{
  max-width:500px;
  margin:18px 0 0;
  color:var(--text);
  font-size:14px;
  line-height:1.75;
}
.buttons{display:flex;flex-wrap:wrap;gap:16px;margin-top:28px}
.hero-photo{
  position:relative;
  overflow:hidden;
  min-height:calc(100vh - 67px);
  background:#e8dfd2;
}
.hero-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.92) contrast(.98) brightness(1.02);
  transform:none;
}
.hero-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(250,246,238,.15),rgba(250,246,238,0) 24%,rgba(21,19,15,.04));
  pointer-events:none;
}

.section{padding:100px 0 0;position:relative}
.section+.section{padding-top:100px}
.head{margin-bottom:14px}
.head h2{
  margin:0;
  font-size:31px;
  line-height:1.05;
}
.head .label{margin-bottom:3px}

.head.row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:20px;
}
.more{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border:1px solid #bba98f;
  color:#3d352c;
  background:rgba(255,253,248,.62);
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
  transition:background .3s ease,border-color .3s ease,transform .3s ease;
}
.more::after{
  content:"→";
  margin-left:10px;
  color:#9a7343;
}
.more:hover{
  transform:translateY(-2px);
  background:#fffaf2;
  border-color:#8d6c43;
}

.cards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.card{
  overflow:hidden;
  background:rgba(255,253,248,.85);
  border:1px solid var(--line);
  box-shadow:0 10px 26px rgba(35,28,18,.05);
  transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease,border-color .45s ease;
}
.card:hover{transform:translateY(-5px);box-shadow:var(--soft);border-color:#c7ad89}
.card img{
  width:100%;
  height:168px;
  object-fit:cover;
  filter:saturate(.92) contrast(.97);
  transition:transform .75s ease;
}
.card:hover img{transform:scale(1.035)}
.card div{padding:17px 18px 18px}
.card h3{
  margin:0 0 6px;
  font-size:24px;
  line-height:1.06;
}
.card p{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}

.tours-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.tour{
  min-height:184px;
  display:grid;
  grid-template-columns:1.06fr .94fr;
  overflow:hidden;
  background:rgba(255,253,248,.88);
  border:1px solid var(--line);
  box-shadow:0 10px 28px rgba(35,28,18,.055);
  transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease,border-color .45s ease;
}
.tour:hover{transform:translateY(-5px);box-shadow:var(--soft);border-color:#c7ad89}
.tour img{
  width:100%;
  height:100%;
  min-height:184px;
  object-fit:cover;
  filter:saturate(.92) contrast(.96);
  transition:transform .75s ease;
}
.tour:hover img{transform:scale(1.035)}
.info{padding:18px 20px 16px;display:flex;flex-direction:column;min-width:0}
.info h3{
  margin:0 0 8px;
  font-size:22px;
  line-height:1.02;
}
.info p{
  margin:0 0 10px;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}
.meta{
  margin-top:auto;
  padding-top:5px;
  color:#6c6256;
  font-size:10px;
}
.meta span::before{
  content:"○";
  margin-right:8px;
  color:var(--gold);
}
.price{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:8px;
}
.price b{font-size:15px;font-weight:600;letter-spacing:-.02em;white-space:nowrap}
.price a{
  color:#6f5535;
  font-size:10px;
  font-weight:700;
  border-bottom:1px solid currentColor;
  white-space:nowrap;
}

.work{padding-bottom:0}
.steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(255,253,248,.58);
}
.step{
  position:relative;
  min-height:128px;
  display:grid;
  grid-template-columns:44px 1fr;
  gap:16px;
  padding:25px 26px 24px;
  border-right:1px solid var(--line);
}
.step:last-child{border-right:0}
.step:not(:last-child)::after{
  content:"";
  position:absolute;
  right:-7px;
  top:50%;
  width:12px;
  height:12px;
  border-top:1px solid #c9a87b;
  border-right:1px solid #c9a87b;
  background:var(--bg);
  transform:translateY(-50%) rotate(45deg);
  z-index:2;
}
.step span{
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d0b894;
  border-radius:50%;
  color:#9a7343;
  font-family:Manrope,Arial,sans-serif;
  font-size:14px;
  font-weight:600;
  line-height:1;
  padding-top:1px;
}
.step h3{
  margin:0 0 6px;
  font-size:21px;
  line-height:1.05;
}
.step p{
  margin:0;
  color:var(--muted);
  font-size:11px;
  line-height:1.55;
}

.footer{
  margin-top:100px;
  padding:40px 0 34px;
  background:rgba(250,244,235,.96);
  border-top:1px solid var(--line);
}
.foot{
  display:grid;
  grid-template-columns:1.35fr .78fr .92fr 1fr 1.05fr;
  gap:56px;
  align-items:start;
}
.brand p{
  max-width:270px;
  margin:18px 0 18px;
  color:var(--text);
  font-size:12px;
  line-height:1.65;
}
.social{display:flex;gap:15px;align-items:center}
.social a{
  color:#2d2821;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
}
.col h4{
  margin:5px 0 14px;
  color:#342d25;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:700;
}
.col a,.col p{
  display:block;
  margin:8px 0;
  color:#51483d;
  font-size:12px;
  line-height:1.55;
}
.contacts a,.contacts p{padding-left:0}

.show{opacity:0;transform:translateY(22px);transition:opacity .72s ease,transform .72s cubic-bezier(.2,.8,.2,1)}
.show.visible{opacity:1;transform:translateY(0)}
.card:nth-child(2),.tour:nth-child(2),.step:nth-child(2){transition-delay:.06s}
.card:nth-child(3),.tour:nth-child(3),.step:nth-child(3){transition-delay:.12s}
.card:nth-child(4),.step:nth-child(4){transition-delay:.18s}

@media(max-width:1180px){
  .wrap{width:calc(100% - 60px)}
  .top{grid-template-columns:210px 1fr auto;gap:18px}
  .menu{gap:22px}
  .phone{display:none}
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-text{min-height:auto;padding:56px 42px 42px}
  .hero-photo{min-height:470px}
  .section{padding-top:74px}
  .section+.section{padding-top:74px}
  .footer{margin-top:74px}
  .cards{grid-template-columns:repeat(2,1fr)}
  .tours-row{grid-template-columns:1fr}
  .tour{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
  .step:nth-child(2){border-right:0}
  .step:nth-child(2)::after{display:none}
  .foot{grid-template-columns:repeat(2,1fr);gap:32px}
}

@media(max-width:760px){
  .wrap{width:calc(100% - 28px)}
  .top{min-height:64px;display:flex;justify-content:space-between}
  .logo span{font-size:22px}
  .menu{
    position:fixed;
    left:14px;
    right:14px;
    top:76px;
    display:grid;
    gap:0;
    justify-content:stretch;
    background:var(--paper);
    border:1px solid var(--line);
    box-shadow:var(--deep);
    padding:8px;
    transform:translateY(-10px);
    opacity:0;
    pointer-events:none;
    transition:.28s ease;
  }
  .menu.open{transform:translateY(0);opacity:1;pointer-events:auto}
  .menu a{padding:12px 10px}
  .side>.btn{display:none}
  .burger{display:grid}
  .hero-text{min-height:auto;padding:42px 20px 34px}
  h1{font-size:34px}
  .lead{font-size:13px;line-height:1.75}
  .buttons{gap:10px}
  .btn{width:100%;padding:0 18px}
  .hero-photo{min-height:360px}
  .section{padding-top:52px}
  .section+.section{padding-top:52px}
  .footer{margin-top:52px}
  .head h2{font-size:27px}
  .head.row{
    display:block;
    margin-bottom:16px;
  }
  .head.row .more{
    margin-top:14px;
    width:100%;
  }
  .cards,.steps,.foot{grid-template-columns:1fr}
  .tours-row{gap:16px}
  .tour{grid-template-columns:1fr}
  .tour img{height:220px;min-height:220px}
  .step{border-right:0;border-bottom:1px solid var(--line)}
  .step:last-child{border-bottom:0}
  .step::after{display:none!important}
  .foot{gap:24px}
}


.hero,
.footer,
.page-hero{position:relative}
.hero::before,
.footer::before,
.footer::after,
.page-hero::before{
  content:"";
  position:absolute;
  pointer-events:none;
  background-repeat:no-repeat;
  background-size:contain;
  opacity:.48;
}
.hero::before{
  left:0;
  top:54px;
  width:178px;
  height:286px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 170 300'%3E%3Cg fill='none' stroke='%23d3c0a8' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M27 290C31 241 38 194 47 151C56 109 69 69 86 29'/%3E%3Cpath d='M48 229C35 221 22 214 10 209'/%3E%3Cpath d='M51 213C35 202 22 193 12 187'/%3E%3Cpath d='M57 190C41 183 26 177 14 173'/%3E%3Cpath d='M62 166C45 154 32 144 21 134'/%3E%3Cpath d='M68 145C52 137 38 131 24 128'/%3E%3Cpath d='M74 123C61 110 50 99 39 87'/%3E%3Cpath d='M81 100C67 94 55 90 42 87'/%3E%3Cpath d='M88 75C77 61 69 48 61 34'/%3E%3Cpath d='M94 56C82 51 71 48 60 46'/%3E%3Cpath d='M52 229C67 224 81 217 94 209'/%3E%3Cpath d='M57 190C74 187 89 182 103 174'/%3E%3Cpath d='M68 145C84 139 100 131 114 121'/%3E%3Cpath d='M81 100C97 95 112 88 124 79'/%3E%3Cpath d='M92 58C106 51 118 42 128 30'/%3E%3C/g%3E%3C/svg%3E");
}
.footer::before{
  left:0;
  bottom:0;
  width:165px;
  height:190px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 170 210'%3E%3Cg fill='none' stroke='%23ccb89e' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M38 208C44 173 52 141 64 108C76 75 91 44 111 12'/%3E%3Cpath d='M61 146C48 141 37 136 24 134'/%3E%3Cpath d='M67 126C54 116 42 109 30 104'/%3E%3Cpath d='M75 105C61 101 49 98 35 96'/%3E%3Cpath d='M83 82C70 72 59 63 47 55'/%3E%3Cpath d='M92 60C78 56 66 53 55 52'/%3E%3Cpath d='M103 36C89 26 78 18 66 10'/%3E%3Cpath d='M61 146C73 142 84 136 95 128'/%3E%3Cpath d='M75 105C89 101 102 94 114 85'/%3E%3Cpath d='M92 60C106 56 118 49 129 39'/%3E%3C/g%3E%3C/svg%3E");
}
.footer::after{
  right:0;
  bottom:0;
  width:230px;
  height:135px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 250 150'%3E%3Cg fill='none' stroke='%23ccb89e' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 140H170'/%3E%3Cpath d='M175 140H240'/%3E%3Cpath d='M154 140C156 122 163 107 174 96C185 85 199 79 215 79'/%3E%3Cpath d='M143 140C146 114 158 91 178 75C197 60 220 52 246 51'/%3E%3Cpath d='M197 77C197 64 208 53 222 53C236 53 247 64 247 77C247 91 236 102 222 102C208 102 197 91 197 77Z'/%3E%3Cpath d='M214 50C206 38 197 30 186 23'/%3E%3Cpath d='M225 48C232 34 240 23 249 15'/%3E%3Cpath d='M220 47C220 35 219 24 216 13'/%3E%3C/g%3E%3C/svg%3E");
  opacity:.42;
}
.leaf{position:absolute;pointer-events:none;display:none}
.page-hero{
  padding:92px 0 42px;
  background:linear-gradient(180deg, rgba(255,253,248,.92), rgba(250,246,238,.96));
  border-bottom:1px solid var(--line);
}
.page-hero::before{
  right:50px;
  top:22px;
  width:240px;
  height:180px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 250 190'%3E%3Cg fill='none' stroke='%23d8c6af' stroke-width='1.15' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M28 176C62 144 92 112 120 76C146 43 167 19 190 8'/%3E%3Cpath d='M88 112C72 103 58 95 44 89'/%3E%3Cpath d='M106 90C92 80 80 71 68 60'/%3E%3Cpath d='M126 65C112 58 100 53 88 50'/%3E%3Cpath d='M146 43C133 32 122 24 112 17'/%3E%3Cpath d='M88 112C102 109 118 103 135 94'/%3E%3Cpath d='M126 65C142 63 157 57 173 47'/%3E%3Cpath d='M146 43C159 40 172 34 185 24'/%3E%3C/g%3E%3C/svg%3E");
  opacity:.38;
}
.page-hero-in{display:flex;align-items:flex-end;min-height:180px}
.page-copy h1{max-width:none;margin-bottom:6px}
.catalog{padding-top:38px;padding-bottom:22px}
.tools{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:16px;
  padding:22px;
  border:1px solid var(--line);
  background:rgba(255,253,248,.82);
  box-shadow:0 12px 28px rgba(35,28,18,.05);
}
.field{display:flex;flex-direction:column;gap:8px}
.field label{
  color:#7c6750;
  font-size:10px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.field input,
.field select{
  width:100%;
  height:48px;
  padding:0 14px;
  border:1px solid var(--line);
  background:#fffdf8;
  color:#2d2821;
  font-size:13px;
  outline:none;
}
.field input:focus,
.field select:focus{border-color:#b89a73;box-shadow:0 0 0 3px rgba(181,138,85,.08)}
.catalog-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:24px 0 18px;
}
.catalog-count{margin:0;color:#61584b;font-size:13px}
.catalog-count span{font-weight:700;color:#171410}
.catalog-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.tour-card{
  overflow:hidden;
  border:1px solid var(--line);
  background:rgba(255,253,248,.88);
  box-shadow:0 10px 26px rgba(35,28,18,.05);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.tour-card:hover{transform:translateY(-5px);box-shadow:var(--soft);border-color:#c7ad89}
.tour-card img{width:100%;height:250px;object-fit:cover;transition:transform .7s ease}
.tour-card:hover img{transform:scale(1.03)}
.tour-body{padding:18px 18px 20px}
.tour-place{margin:0 0 6px;color:#9a7343;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.tour-card h3{margin:0 0 8px;font-size:28px;line-height:1.02}
.tour-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.tour-meta{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:14px;color:#6f6559;font-size:11px}
.tour-meta span::before{content:"○";margin-right:8px;color:var(--gold)}
.tour-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}
.tour-bottom b{font-size:20px;font-weight:600;white-space:nowrap}
.tour-bottom a{font-size:12px;font-weight:700;color:#6f5535;border-bottom:1px solid currentColor;white-space:nowrap}
.empty{
  margin-top:18px;
  padding:18px 20px;
  border:1px dashed #ccb89e;
  color:#645949;
  background:rgba(255,253,248,.72);
  font-size:13px;
}

@media(max-width:1180px){
  .tools{grid-template-columns:1fr 1fr}
  .catalog-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .hero::before{top:84px;width:120px;height:190px;opacity:.35}
  .footer::before{width:115px;height:140px}
  .footer::after{width:150px;height:94px}
  .page-hero{padding:84px 0 26px}
  .page-hero::before{right:18px;width:130px;height:100px}
  .tools{grid-template-columns:1fr;padding:16px}
  .catalog-top{margin:18px 0 14px}
  .catalog-grid{grid-template-columns:1fr;gap:16px}
  .tour-card img{height:220px}
  .tour-card h3{font-size:24px}
  .tour-bottom b{font-size:18px}
}


.breadcrumbs{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 18px;
  color:#7f7468;
  font-size:11px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.breadcrumbs a{
  color:#6d6256;
  transition:color .25s ease;
}
.breadcrumbs a:hover{color:var(--gold)}
.breadcrumbs span{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#ad8b62;
}
.breadcrumbs span::before{
  content:"/";
  color:#c6b39a;
}
.field{position:relative}
.field select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  padding-right:42px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3 5.25L7 9.25L11 5.25' fill='none' stroke='%237d6952' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:14px;
}
.field input,
.field select{
  transition:border-color .25s ease, box-shadow .25s ease, background-color .25s ease;
}
.field input:hover,
.field select:hover{
  border-color:#c6ab86;
  background-color:#fffefb;
}
.tour-bottom a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 16px;
  border:1px solid #bba98f;
  background:transparent;
  color:#3f352a;
  font-size:11px;
  font-weight:700;
  letter-spacing:.02em;
  transition:transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
  white-space:nowrap;
}
.tour-bottom a:hover{
  transform:translateY(-2px);
  background:#fffaf2;
  border-color:#8d6c43;
  color:#1e1914;
}
.tour-bottom a::after{
  content:"→";
  margin-left:8px;
  color:#9a7343;
}
@media(max-width:760px){
  .breadcrumbs{margin-bottom:14px;font-size:10px;gap:8px}
}


/* ornaments from uploaded transparent PNGs */
.hero,
.footer{overflow:hidden}
.hero::before,
.footer::before,
.footer::after{display:none}
.ornament{
  position:absolute;
  pointer-events:none;
  user-select:none;
  z-index:0;
}
.ornament-hero{
  left:0;
  top:54px;
  width:178px;
  opacity:.92;
}
.hero-text,
.hero-photo,
.foot{position:relative;z-index:1}
.ornament-foot-left{
  left:0;
  bottom:0;
  width:148px;
  opacity:.95;
}
.ornament-foot-right{
  right:0;
  bottom:0;
  width:255px;
  opacity:.96;
}

@media(max-width:1180px){
  .ornament-hero{width:146px;top:72px}
  .ornament-foot-left{width:118px}
  .ornament-foot-right{width:190px}
}
@media(max-width:760px){
  .ornament-hero{width:92px;top:88px;opacity:.84}
  .ornament-foot-left{width:88px}
  .ornament-foot-right{width:134px}
}


/* tour detail page */
.tour-hero{
  padding:86px 0 0;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg, rgba(255,253,248,.96), rgba(250,246,238,.98));
}
.tour-head{
  display:grid;
  grid-template-columns:1fr 300px;
  gap:40px;
  align-items:end;
  margin-bottom:34px;
}
.tour-head h1{
  max-width:780px;
  font-size:clamp(42px,5vw,78px);
}
.tour-card-small{
  padding:24px;
  border:1px solid var(--line);
  background:rgba(255,253,248,.82);
  box-shadow:0 14px 36px rgba(35,28,18,.06);
}
.tour-card-small span{
  display:block;
  margin-bottom:7px;
  font-family:Cormorant Garamond,Georgia,serif;
  font-size:33px;
  font-weight:600;
  line-height:1;
}
.tour-card-small p{
  margin:0;
  color:var(--muted);
  font-size:12px;
}
.cover{
  overflow:hidden;
  height:min(620px,58vw);
  border:1px solid var(--line);
  border-bottom:0;
  background:#e8dfd2;
}
.cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.detail{padding-top:90px}
.detail-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 380px;
  gap:58px;
  align-items:start;
}
.detail-main{
  display:grid;
  gap:76px;
}
.block{
  max-width:860px;
}
.block h2{
  margin:0 0 18px;
  font-size:38px;
  line-height:1.05;
}
.block p{
  margin:0 0 14px;
  color:var(--text);
  font-size:14px;
  line-height:1.8;
}
.days{
  display:grid;
  gap:0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.days article{
  display:grid;
  grid-template-columns:54px 1fr;
  gap:18px;
  padding:22px 0;
  border-bottom:1px solid var(--line);
}
.days article:last-child{border-bottom:0}
.days span{
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #d0b894;
  border-radius:50%;
  color:#9a7343;
  font-size:13px;
  font-weight:700;
}
.days h3{
  margin:0 0 6px;
  font-size:24px;
  line-height:1.05;
}
.days p{margin:0}
.gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.gallery img{
  width:100%;
  height:220px;
  object-fit:cover;
  border:1px solid var(--line);
}
.detail-side{
  position:sticky;
  top:96px;
  display:grid;
  gap:18px;
}
.side-box{
  padding:26px;
  border:1px solid var(--line);
  background:rgba(255,253,248,.9);
  box-shadow:0 16px 42px rgba(35,28,18,.06);
}
.side-box h2{
  margin:0 0 12px;
  font-size:32px;
  line-height:1.04;
}
.side-box h3{
  margin:0 0 13px;
  font-size:25px;
  line-height:1.05;
}
.side-box p{
  color:var(--muted);
  font-size:12px;
  line-height:1.65;
}
.form{
  display:grid;
  gap:13px;
  margin-top:20px;
}
.form label{
  display:grid;
  gap:7px;
  color:#7c6750;
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.form input,
.form textarea{
  width:100%;
  border:1px solid var(--line);
  background:#fffdf8;
  color:#2d2821;
  font-size:13px;
  letter-spacing:0;
  text-transform:none;
  outline:none;
}
.form input{height:46px;padding:0 13px}
.form textarea{min-height:104px;padding:13px;resize:vertical}
.form input:focus,
.form textarea:focus{
  border-color:#b89a73;
  box-shadow:0 0 0 3px rgba(181,138,85,.08);
}
.form .btn{width:100%;margin-top:4px}
.light-box{
  background:rgba(250,244,235,.76);
  box-shadow:none;
}
.light-box ul{
  margin:0;
  padding-left:18px;
  color:var(--text);
  font-size:12px;
  line-height:1.8;
}
.light-box li{margin:5px 0}

@media(max-width:1180px){
  .tour-head{grid-template-columns:1fr}
  .tour-card-small{max-width:360px}
  .detail-grid{grid-template-columns:1fr}
  .detail-side{position:static}
}
@media(max-width:760px){
  .tour-hero{padding-top:54px}
  .tour-head{gap:24px;margin-bottom:24px}
  .tour-head h1{font-size:38px}
  .cover{height:320px}
  .detail{padding-top:54px}
  .detail-main{gap:52px}
  .block h2{font-size:30px}
  .gallery{grid-template-columns:1fr}
  .gallery img{height:230px}
}


/* v14 fixes */
.logo img{
  display:block;
  width:auto;
  height:42px;
  max-width:220px;
  object-fit:contain;
}
.footer .logo img{
  height:44px;
}
.tour-head h1{
  max-width:620px;
  font-size:clamp(34px,3.5vw,58px);
  line-height:1.02;
}
.tour-head{
  grid-template-columns:minmax(0,1fr) 270px;
  gap:34px;
}
.tour-card-small{
  padding:20px 22px;
}
.tour-card-small span{
  font-size:27px;
}
.detail-side{
  top:86px;
  gap:14px;
}
.side-box{
  padding:18px 20px;
}
.side-box h2{
  font-size:27px;
  margin-bottom:8px;
}
.side-box h3{
  font-size:22px;
  margin-bottom:10px;
}
.side-box p{
  margin-bottom:8px;
  font-size:11px;
  line-height:1.5;
}
.form{
  gap:9px;
  margin-top:12px;
}
.form label{
  gap:5px;
  font-size:9px;
}
.form input{
  height:38px;
  padding:0 12px;
}
.form textarea{
  min-height:66px;
  padding:10px 12px;
}
.form .btn{
  min-height:40px;
  margin-top:2px;
}
.light-box ul{
  font-size:11px;
  line-height:1.55;
}
.light-box li{
  margin:3px 0;
}
@media(max-width:760px){
  .logo img{height:34px;max-width:180px}
  .footer .logo img{height:36px}
  .tour-head h1{font-size:34px}
}


/* v15 about and contacts */
.about-grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);
  gap:60px;
  align-items:center;
}
.about-text h2,
.contact-info h2{
  margin:0 0 18px;
  font-size:42px;
  line-height:1.04;
}
.about-text p{
  margin:0 0 14px;
  max-width:720px;
  color:var(--text);
  font-size:14px;
  line-height:1.8;
}
.about-photo{
  overflow:hidden;
  border:1px solid var(--line);
  background:#e8dfd2;
  box-shadow:0 16px 42px rgba(35,28,18,.06);
}
.about-photo img{
  width:100%;
  height:520px;
  object-fit:cover;
}
.number-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(255,253,248,.56);
}
.number{
  padding:30px 28px;
  border-right:1px solid var(--line);
}
.number:last-child{border-right:0}
.number b{
  display:block;
  margin-bottom:8px;
  font-family:Cormorant Garamond,Georgia,serif;
  font-size:48px;
  line-height:1;
}
.number span{
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}
.value-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.value{
  min-height:180px;
  padding:24px;
  border:1px solid var(--line);
  background:rgba(255,253,248,.82);
  box-shadow:0 10px 26px rgba(35,28,18,.045);
}
.value h3{
  margin:0 0 10px;
  font-size:27px;
  line-height:1.04;
}
.value p{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.65;
}

.contact-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 430px;
  gap:58px;
  align-items:start;
}
.contact-list{
  display:grid;
  grid-template-columns:repeat(2, minmax(220px,1fr));
  gap:22px;
  margin-top:28px;
}
.contact-list div{
  padding:20px;
  border:1px solid var(--line);
  background:rgba(255,253,248,.78);
}
.contact-list span{
  display:block;
  margin-bottom:9px;
  color:#9a7343;
  font-size:10px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.contact-list a,
.contact-list p{
  margin:0;
  color:var(--ink);
  font-size:15px;
  line-height:1.55;
}
.map-box{
  min-height:260px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  margin-top:24px;
  padding:26px;
  border:1px solid var(--line);
  background:
    linear-gradient(135deg, rgba(255,253,248,.86), rgba(250,244,235,.62)),
    url("assets/hero-main.png") center/cover;
  box-shadow:0 16px 42px rgba(35,28,18,.06);
}
.map-box p{
  margin:0 0 6px;
  font-family:Cormorant Garamond,Georgia,serif;
  font-size:30px;
  font-weight:600;
  line-height:1;
}
.map-box span{
  color:var(--text);
  font-size:12px;
}
.contact-form{
  position:sticky;
  top:96px;
}

@media(max-width:1180px){
  .about-grid,
  .contact-grid{grid-template-columns:1fr}
  .about-photo img{height:430px}
  .number-grid,
  .value-grid{grid-template-columns:repeat(2,1fr)}
  .number:nth-child(2){border-right:0}
  .contact-form{position:static}
}
@media(max-width:760px){
  .about-text h2,
  .contact-info h2{font-size:32px}
  .about-photo img{height:300px}
  .number-grid,
  .value-grid,
  .contact-list{grid-template-columns:1fr}
  .number{border-right:0;border-bottom:1px solid var(--line)}
  .number:last-child{border-bottom:0}
  .map-box{min-height:220px}
}


/* v16 fixes */
.page-hero.no-branch::before{
  display:none;
}
.request-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 430px;
  gap:58px;
  align-items:start;
  padding-bottom:8px;
}
.request-copy h2{
  margin:0 0 16px;
  max-width:720px;
  font-size:42px;
  line-height:1.04;
}
.request-copy p{
  max-width:640px;
  margin:0;
  color:var(--text);
  font-size:14px;
  line-height:1.8;
}
.about-request{
  padding-bottom:8px;
}
@media(max-width:1180px){
  .request-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .request-copy h2{
    font-size:32px;
  }
}


/* v17 logo fix */
.logo span{
  display:none;
}
.logo img{
  display:block;
  height:42px;
  width:auto;
  max-width:220px;
  object-fit:contain;
}
.footer .logo img{
  height:44px;
}
@media(max-width:760px){
  .logo img{height:34px;max-width:180px}
  .footer .logo img{height:36px}
}


/* v19 edits */
.logo img{
  height:58px;
  max-width:285px;
}
.footer .logo img{
  height:60px;
  max-width:285px;
}
.top{
  min-height:82px;
}
[data-url]{
  cursor:pointer;
}
.card[data-url]:focus-visible,
.tour[data-url]:focus-visible,
.tour-card[data-url]:focus-visible{
  outline:2px solid rgba(181,138,85,.55);
  outline-offset:4px;
}
.card[data-url] img,
.tour[data-url] img,
.tour-card[data-url] img{
  pointer-events:none;
}
@media(max-width:760px){
  .logo img{
    height:42px;
    max-width:210px;
  }
  .footer .logo img{
    height:44px;
    max-width:220px;
  }
  .top{
    min-height:70px;
  }
}


/* v20 logo size */
.logo img{
  height:68px;
  max-width:330px;
}
.footer .logo img{
  height:70px;
  max-width:330px;
}
.top{
  min-height:92px;
}
@media(max-width:760px){
  .logo img{
    height:48px;
    max-width:240px;
  }
  .footer .logo img{
    height:50px;
    max-width:250px;
  }
  .top{
    min-height:76px;
  }
}


/* gallery page */
.gallery-page{padding-bottom:18px}
.gallery-filters{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:26px;
}
.filter-btn{
  min-height:40px;
  padding:0 18px;
  border:1px solid #c7b298;
  background:rgba(255,253,248,.86);
  color:#3e352b;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease;
}
.filter-btn:hover{transform:translateY(-2px);background:#fffaf2;border-color:#8d6c43}
.filter-btn.active{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 14px 28px rgba(21,19,15,.12)}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.gallery-item{
  overflow:hidden;
  border:1px solid var(--line);
  background:rgba(255,253,248,.88);
  box-shadow:0 10px 26px rgba(35,28,18,.05);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.gallery-item:hover{transform:translateY(-5px);box-shadow:var(--soft);border-color:#c7ad89}
.gallery-item img{width:100%;height:260px;object-fit:cover;transition:transform .7s ease}
.gallery-item:hover img{transform:scale(1.03)}
.gallery-copy{padding:16px 18px 18px}
.gallery-tag{
  display:inline-block;
  margin-bottom:8px;
  color:#9a7343;
  font-size:10px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.gallery-copy p{
  margin:0;
  color:#433a31;
  font-size:13px;
  line-height:1.55;
}
@media(max-width:1180px){
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .gallery-filters{gap:10px;margin-bottom:18px}
  .filter-btn{width:100%}
  .gallery-grid{grid-template-columns:1fr;gap:16px}
  .gallery-item img{height:220px}
}


/* v22 ornament position tweaks */
.ornament-hero{
  left:-22px;
  top:48px;
  width:170px;
  transform:rotate(-10deg);
  transform-origin:center;
}
.ornament-foot-left{
  left:8px;
  bottom:0;
  width:120px;
}
.ornament-foot-right{
  right:-18px;
  bottom:0;
  width:220px;
}
@media(max-width:1180px){
  .ornament-hero{
    left:-16px;
    top:66px;
    width:136px;
    transform:rotate(-10deg);
  }
  .ornament-foot-left{
    left:4px;
    width:98px;
  }
  .ornament-foot-right{
    right:-12px;
    width:162px;
  }
}
@media(max-width:760px){
  .ornament-hero{
    left:-10px;
    top:82px;
    width:90px;
    transform:rotate(-10deg);
  }
  .ornament-foot-left{
    left:2px;
    width:74px;
  }
  .ornament-foot-right{
    right:-8px;
    width:118px;
  }
}


/* v23 tweaks */
.ornament-foot-left{
  left:8px;
  bottom:0;
  width:96px;
}
@media(max-width:1180px){
  .ornament-foot-left{
    left:4px;
    width:80px;
  }
}
@media(max-width:760px){
  .ornament-foot-left{
    left:2px;
    width:60px;
  }
}


/* v24 fixes */
.page-hero::before,
.page-hero.no-branch::before{
  display:none!important;
  content:none!important;
  background-image:none!important;
}
.logo,
.menu a,
.footer a{
  cursor:pointer;
}


/* v25 brand name */
.logo{
  gap:14px;
}
.logo-title{
  display:block!important;
  max-width:235px;
  font-family:Manrope,Arial,sans-serif;
  font-size:11px;
  font-weight:700;
  line-height:1.25;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink);
}
.footer .logo-title{
  max-width:260px;
  font-size:11px;
}
@media(max-width:1180px){
  .logo-title{
    max-width:190px;
    font-size:10px;
    letter-spacing:.09em;
  }
}
@media(max-width:760px){
  .logo-title{
    max-width:150px;
    font-size:8.5px;
    letter-spacing:.06em;
  }
}


/* Django admin-connected frontend additions */
.messages{padding-top:18px}
.message{
  padding:12px 16px;
  margin-bottom:10px;
  border:1px solid var(--line);
  background:rgba(255,253,248,.9);
  color:var(--ink);
  font-size:13px;
}
.message.success{border-color:#9bbf88}
.message.error{border-color:#d48f82}
.tools .btn{height:48px;align-self:end}
.form input,
.form textarea{
  border-radius:0;
}


/* v3 visual admin + footer/header fixes */
.logo-title{
  display:none!important;
}
.header .logo,
.footer .logo{
  display:inline-flex;
  align-items:center;
  gap:0;
}
.header .logo img{
  height:74px;
  max-width:180px;
}
.footer .logo img{
  height:68px;
  max-width:170px;
}
.foot{
  grid-template-columns:1.35fr .95fr .95fr 1.25fr;
  gap:58px;
}
.footer .brand p{
  max-width:360px;
}
.gallery-filters{
  align-items:center;
  gap:10px;
}
.gallery-filters .filter-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:118px;
  min-height:44px;
  padding:0 18px;
  text-decoration:none;
  line-height:1;
  box-shadow:none;
}
.gallery-filters .filter-btn.active{
  background:#15130f;
  color:#fff;
  border-color:#15130f;
  box-shadow:0 14px 28px rgba(21,19,15,.10);
}
.gallery-filters .filter-btn:hover{
  color:#15130f;
}
.gallery-filters .filter-btn.active:hover{
  color:#fff;
}
.editor-pages{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex:1;
  min-width:260px;
  flex-wrap:wrap;
}
.editor-pages a{
  min-height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 11px;
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  font-size:11px;
  white-space:nowrap;
}
.editor-pages a:hover{
  background:rgba(255,255,255,.1);
}
@media(max-width:1180px){
  .foot{
    grid-template-columns:1fr 1fr;
  }
  .editor-bar{
    display:block;
  }
  .editor-pages{
    justify-content:flex-start;
    margin:10px 0;
  }
}
@media(max-width:760px){
  .header .logo img{
    height:52px;
    max-width:128px;
  }
  .footer .logo img{
    height:52px;
    max-width:128px;
  }
  .gallery-filters .filter-btn{
    width:100%;
    min-height:42px;
  }
}


/* v4 language switcher */
.lang-switch{
  display:inline-flex;
  align-items:center;
  gap:0;
  padding:3px;
  border:1px solid var(--line);
  background:rgba(255,253,248,.82);
}
.lang-switch button{
  min-width:31px;
  height:28px;
  padding:0 7px;
  border:0;
  background:transparent;
  color:#5f554a;
  font:700 10px/1 Manrope,Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .2s ease,color .2s ease;
}
.lang-switch button:hover,
.lang-switch button.active{
  background:#15130f;
  color:#fff;
}
.footer-lang{
  margin:0 0 16px;
}
.footer .lang-switch{
  background:rgba(255,253,248,.6);
}
.editor-bar a[href*="pageblock"]{
  background:rgba(255,255,255,.12);
}
@media(max-width:1180px){
  .side .lang-switch{
    display:none;
  }
}
@media(max-width:760px){
  .footer-lang{
    margin-bottom:12px;
  }
  .footer .lang-switch{
    flex-wrap:wrap;
    max-width:190px;
  }
}


/* v7 language dropdown, currency and fullscreen mobile menu */
.lang-switch{
  display:none!important;
}
.lang-picker{
  position:relative;
  display:inline-flex;
  align-items:center;
  z-index:80;
}
.lang-current{
  min-width:54px;
  height:36px;
  border:1px solid var(--line);
  background:rgba(255,253,248,.88);
  color:#15130f;
  font:700 11px/1 Manrope,Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.lang-current::after{
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  margin-left:8px;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
}
.lang-menu{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  min-width:126px;
  display:grid;
  padding:6px;
  border:1px solid var(--line);
  background:var(--paper);
  box-shadow:var(--deep);
  opacity:0;
  transform:translateY(-8px);
  pointer-events:none;
  transition:.22s ease;
}
.lang-picker.open .lang-menu,
.lang-picker:focus-within .lang-menu{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.lang-menu button{
  min-height:36px;
  padding:0 12px;
  border:0;
  background:transparent;
  color:#4f473e;
  font:700 11px/1 Manrope,Arial,sans-serif;
  letter-spacing:.08em;
  text-align:left;
  cursor:pointer;
}
.lang-menu button:hover,
.lang-menu button.active{
  background:#15130f;
  color:#fff;
}
.footer-lang .lang-menu{
  right:auto;
  left:0;
  top:auto;
  bottom:calc(100% + 8px);
}

@media(max-width:760px){
  .header{
    position:sticky;
    top:0;
    z-index:900;
  }
  .top{
    position:relative;
    z-index:902;
  }
  .burger{
    position:relative;
    z-index:904;
  }
  .menu{
    position:fixed;
    inset:0;
    z-index:901;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:0;
    padding:96px 24px 42px;
    border:0;
    background:rgba(250,246,238,.98);
    box-shadow:none;
    transform:translateY(-100%);
    opacity:0;
    pointer-events:none;
    transition:transform .34s ease, opacity .25s ease;
  }
  .menu.open{
    transform:translateY(0);
    opacity:1;
    pointer-events:auto;
  }
  .menu a{
    width:100%;
    max-width:330px;
    padding:18px 0;
    border-bottom:1px solid var(--line);
    text-align:center;
    font-size:22px;
    font-family:Cormorant Garamond,Georgia,serif;
    color:var(--ink);
  }
  .menu a:last-child{
    border-bottom:0;
  }
  body.menu-open{
    overflow:hidden;
  }
  .side{
    gap:10px;
  }
  .side .lang-picker{
    display:inline-flex!important;
  }
  .lang-current{
    min-width:48px;
    height:42px;
  }
  .lang-menu{
    right:0;
    top:calc(100% + 6px);
  }
  .hero-text{
    overflow:hidden;
  }
  .hero h1{
    font-size:clamp(32px,9vw,46px);
    line-height:1.03;
    max-width:100%;
  }
}


/* v8 final language dropdown */
.lang-switch,
.lang-picker,
.lang-menu,
.lang-current{
  display:none!important;
}
.language-select{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  z-index:120!important;
}
.language-select__current{
  min-width:54px!important;
  height:36px!important;
  border:1px solid var(--line)!important;
  background:rgba(255,253,248,.9)!important;
  color:#15130f!important;
  font:700 11px/1 Manrope,Arial,sans-serif!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  cursor:pointer!important;
}
.language-select__current::after{
  content:""!important;
  display:inline-block!important;
  width:6px!important;
  height:6px!important;
  margin-left:8px!important;
  border-right:1px solid currentColor!important;
  border-bottom:1px solid currentColor!important;
  transform:translateY(-2px) rotate(45deg)!important;
}
.language-select__menu{
  position:absolute!important;
  top:calc(100% + 8px)!important;
  right:0!important;
  min-width:128px!important;
  display:grid!important;
  gap:2px!important;
  padding:6px!important;
  border:1px solid var(--line)!important;
  background:var(--paper)!important;
  box-shadow:var(--deep)!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:translateY(-8px)!important;
  pointer-events:none!important;
  transition:opacity .22s ease, transform .22s ease, visibility .22s ease!important;
}
.language-select.open .language-select__menu,
.language-select:focus-within .language-select__menu{
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(0)!important;
  pointer-events:auto!important;
}
.language-select__menu button{
  min-height:36px!important;
  padding:0 12px!important;
  border:0!important;
  background:transparent!important;
  color:#4f473e!important;
  font:700 11px/1 Manrope,Arial,sans-serif!important;
  letter-spacing:.08em!important;
  text-align:left!important;
  cursor:pointer!important;
}
.language-select__menu button:hover,
.language-select__menu button.active{
  background:#15130f!important;
  color:#fff!important;
}
.footer-lang .language-select__menu{
  right:auto!important;
  left:0!important;
  top:auto!important;
  bottom:calc(100% + 8px)!important;
}
@media(max-width:760px){
  .side .language-select{
    display:inline-flex!important;
  }
  .language-select__current{
    min-width:48px!important;
    height:42px!important;
  }
}
