*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --cream:#F7F2E8;
  --cream-dark:#EDE6D6;
  --green-deep:#1F4D36;
  --green-mid:#285943;
  --green-leaf:#4F8B4A;
  --orange:#E98A15;
  --text-dark:#183628;
  --white:#FFFFFF;
  --radius:16px;
  --shadow:0 4px 24px rgba(31,77,54,.13);
  --header-h:64px;
  --nav-h:56px;
}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  font-family:'Montserrat',sans-serif;
  background:var(--cream);
  color:var(--text-dark);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  min-height:100dvh;
}

.top-header{
  position:fixed;
  top:0;left:0;right:0;
  height:var(--header-h);
  background:var(--green-deep);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 16px;
  z-index:200;
  box-shadow:0 2px 12px rgba(0,0,0,.18);
}

.header-back{
  display:flex;align-items:center;gap:8px;
  text-decoration:none;color:var(--white);
  font-size:13px;font-weight:500;
  opacity:.85;transition:opacity .15s;flex-shrink:0;
}
.header-back:hover{opacity:1}
.header-back svg{
  width:18px;height:18px;
  stroke:currentColor;fill:none;
  stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;
  flex-shrink:0;
}

.header-brand{
  position:absolute;left:50%;transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:1px;
  pointer-events:none;user-select:none;
}
.header-brand-name{
  font-size:16px;font-weight:800;
  letter-spacing:.10em;text-transform:uppercase;
  color:var(--white);line-height:1;
}
.header-brand-sub{
  font-size:8px;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;
  color:rgba(255,255,255,.55);line-height:1;
}

.header-right{display:flex;align-items:center;gap:6px;flex-shrink:0}

.lang-toggle{
  display:flex;gap:3px;
  background:rgba(255,255,255,.12);
  border-radius:16px;padding:3px;
}

.lang-bar{
  position:fixed;top:14px;right:16px;z-index:300;
  display:flex;gap:3px;
  background:rgba(255,255,255,.80);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border-radius:20px;padding:3px;
  border:1.5px solid rgba(31,77,54,.12);
  box-shadow:0 2px 10px rgba(31,77,54,.09);
}

.lang-btn{
  background:none;border:none;
  font-family:'Montserrat',sans-serif;
  font-size:11px;font-weight:700;letter-spacing:.08em;
  padding:4px 10px;border-radius:12px;
  cursor:pointer;transition:background .2s,color .2s;line-height:1;
}
.lang-toggle .lang-btn        {color:rgba(255,255,255,.65)}
.lang-toggle .lang-btn.active {background:rgba(255,255,255,.22);color:var(--white)}
.lang-bar    .lang-btn        {color:rgba(31,77,54,.50)}
.lang-bar    .lang-btn.active {background:var(--green-deep);color:var(--white)}

.nav-tabs-wrap{
  position:fixed;top:var(--header-h);left:0;right:0;
  height:var(--nav-h);background:var(--green-deep);
  z-index:190;border-bottom:2px solid rgba(255,255,255,.08);
}
.nav-tabs{
  display:flex;overflow-x:auto;height:100%;
  scrollbar-width:none;-ms-overflow-style:none;
  padding:0 8px;gap:2px;
}
.nav-tabs::-webkit-scrollbar{display:none}
.nav-tab{
  flex-shrink:0;display:flex;align-items:center;gap:6px;
  padding:0 14px;
  font-family:'Montserrat',sans-serif;
  font-size:12px;font-weight:600;letter-spacing:.06em;
  color:rgba(255,255,255,.60);text-decoration:none;
  border-bottom:3px solid transparent;
  border-top:none;border-left:none;border-right:none;
  background:none;
  transition:color .2s,border-color .2s;
  white-space:nowrap;cursor:pointer;
}
.nav-tab svg{
  width:15px;height:15px;opacity:.8;flex-shrink:0;
  stroke:currentColor;fill:none;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
}
.nav-tab.active,.nav-tab:hover{color:var(--white);border-bottom-color:var(--orange)}

.site-footer{
  position:relative;z-index:1;
  text-align:center;padding:18px 16px 24px;
  font-size:11px;font-weight:500;
  color:rgba(24,54,40,.38);letter-spacing:.05em;
  border-top:1px solid rgba(24,54,40,.07);margin-top:8px;
}
.site-footer a{
  color:rgba(24,54,40,.50);text-decoration:underline;
  text-underline-offset:2px;transition:color .15s;
}
.site-footer a:hover{color:var(--green-deep)}
.site-footer--dark{color:rgba(255,255,255,.30);border-top-color:rgba(255,255,255,.08)}
.site-footer--dark a{color:rgba(255,255,255,.45)}
.site-footer--dark a:hover{color:var(--orange)}

.cookie-banner{
  display:none;
  position:fixed;bottom:0;left:0;right:0;z-index:400;
  background:var(--green-deep);color:var(--white);
  padding:14px 20px;
  align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:12px;
  box-shadow:0 -4px 20px rgba(0,0,0,.20);
}
.cookie-banner p{
  font-size:12px;font-weight:400;line-height:1.5;
  opacity:.88;flex:1;min-width:200px;
}
.cookie-banner a{color:var(--orange);text-decoration:underline}
.cookie-actions{display:flex;gap:8px;flex-shrink:0}
.cookie-btn{
  font-family:'Montserrat',sans-serif;
  font-size:12px;font-weight:700;
  border:none;border-radius:20px;padding:8px 18px;
  cursor:pointer;transition:opacity .2s;
}
.cookie-btn:hover{opacity:.85}
.cookie-btn.accept{background:var(--orange);color:var(--white)}
.cookie-btn.reject{background:rgba(255,255,255,.15);color:var(--white)}

.back-top{display:flex;justify-content:center;margin-top:16px;margin-bottom:8px}
.back-top-btn{
  background:var(--green-deep);color:var(--white);
  border:none;border-radius:20px;padding:10px 24px;
  font-family:'Montserrat',sans-serif;font-size:13px;font-weight:600;
  cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .2s;
}
.back-top-btn:hover{background:var(--green-leaf)}
.back-top-btn svg{
  width:16px;height:16px;stroke:white;fill:none;
  stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;
}

@media(max-width:380px){
  .header-brand-name{font-size:14px}
  .header-back span{display:none}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
