  :root {
    --ink: #15212b;
    --ink-soft: #44525e;
    --mist: #eef4f2;
    --paper: #fbfdfc;
    --emerald: #1f6e54;
    --emerald-deep: #0f3d2e;
	--wine: #7a2230;
    --wine-deep: #4e131e;
    --moss: #3a8f6f;
    --gold: #d4af55;
    --gold-soft: #e8d49a;
	--aegean: #2a6b78;
	--aegean-mid: #3794a6;
	--teal: #2ec4b6;
    --heather: #7c5e9c;
    --rust: #c2683f;
    --line: rgba(15, 61, 46, 0.13);
    --shadow: 0 18px 40px -18px rgba(15, 61, 46, 0.45);
    --radius: 22px;
	--radius-pill: 40px;
  }

  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body {
    margin: 0;
    font-family: 'Nunito', system-ui, sans-serif;
    color: var(--ink);
	background-image: linear-gradient(to right, #eaeadd, #dfe1e7, #dee9e5);
    line-height: 1.65;
    overflow-x: hidden;
  }

  a { color: var(--emerald); text-decoration: none; }

  .wrap { max-width: 1180px; margin: 0 auto; padding: 0 20px; }
  img {max-width:100%; height:auto}
  .image-block {margin:15px 0;}
  .center-block {margin-left:auto; margin-right:auto; float:none; display:block}
  /* Google Translate bar */
  .google-translator {
    background: var(--wine-deep); color: var(--gold-soft); font-size: 0.82rem; padding: 6px 20px;
    display: flex; align-items: center; gap: 10px; justify-content: flex-end;
  }
  .google-translator #close { cursor: pointer; order: 3; }
  .google-translator #close img { height: 14px; width: auto; vertical-align: middle; }
  .google-translator #google_translate_element { display: inline-block; }
  @media (min-width:500px) {
  	.goog-te-gadget {display:flex;}
  }
  .goog-te-gadget, .goog-te-gadget a, .goog-te-gadget a:link, .goog-te-gadget a:active {color:var(--paper) !important;}
  .goog-te-gadget select {margin-right:5px !important;}

  /* Header */
header {
    top: 0;
    width: 100%;
}
header ul{
    list-style: none;
	padding-left:0;
	margin:0;
}
/* Logo */
.logo{
    display: inline-block;
    padding-top: 10px;
}
.logo img {
	max-width:200px;
}
/* Nav menu */
.nav{
    position: fixed;
	left: 10px;
    right: 10px;
    background-color: var(--aegean);
    overflow: hidden;
    z-index: 2;
}
.menu a{
    display: block;
    padding: 12px 25px;
    border-bottom: 1px solid var(--aegean-mid);
    color: #fff;	
}
.menu li:last-child a {border:none}
.menu a:hover{
    background-color: var(--teal);
}
.nav{
    max-height: 0;
    transition: max-height .5s ease-out;
}
/* Menu Icon */
.hamb{
    cursor: pointer;
    float: right;
    padding: 35px 20px;
}/* Style label tag */

.hamb-line {
    background: var(--wine);
    display: block;
    height: 2px;
    position: relative;
    width: 24px;

} /* Style span tag */

.hamb-line::before,
.hamb-line::after{
    background:var(--wine);
    content: '';
    display: block;
    height: 100%;
    position: absolute;
    transition: all .2s ease-out;
    width: 100%;
}
.hamb-line::before{
    top: 5px;
}
.hamb-line::after{
    top: -5px;
}

.side-menu {
    display: none;
} /* Hide checkbox */
/* Toggle menu icon */
.side-menu:checked ~ nav{
    max-height:fit-content;
}
.side-menu:checked ~ .hamb .hamb-line {
    background: transparent;
}
.side-menu:checked ~ .hamb .hamb-line::before {
    transform: rotate(-45deg);
    top:0;
}
.side-menu:checked ~ .hamb .hamb-line::after {
    transform: rotate(45deg);
    top:0;
}

body:has(.side-menu:checked) {
  overflow: hidden;
}
@media (max-width: 767px) {
	.nav{
		box-shadow: var(--shadow);
	}
}
@media (max-width: 992px) {
	.logo img {
			max-width:170px;
		}
}
/* Responsiveness */
@media (min-width: 768px) {	
    .nav{
        max-height: none;
		margin-top: 15px;
        margin-right: 10px;
        top: 0;
        position: relative;
        float: right;
        width: fit-content;
        background-color: transparent;
    }
    .menu li{
        float: left;
    }
	.menu a{
        background-color: transparent;
        color:var(--wine);
		border:none;
		padding: 10px 25px;
		transition: all 0.5s ease 0s;
    }
    .menu a:hover, .menu a.active {
        background:var(--aegean);
        color:#fff;
		transition: all 0.5s ease 0s;
		border-radius:var(--radius-pill)
    }

    .hamb{
        display: none;
    }
}
@media (min-width:768px) and (max-width: 992px) {
	.menu a{
		font-size:0.8rem;
		padding: 10px 15px;
    }
}
  /* Hero */
  .hero {
    position: relative;
    margin: 6px 0 30px;
    padding: 54px 44px;
    border-radius: 30px;
    background: linear-gradient(135deg, var(--emerald-deep) 0%, var(--emerald) 55%, #2f8b66 100%);
    color: #fff;
    overflow: hidden;
    box-shadow: var(--shadow);
  }
  .hero::before {
    content: "";
    position: absolute; inset: 0;
    background:
      radial-gradient(circle at 85% 18%, rgba(212, 175, 85, 0.34), transparent 38%),
      radial-gradient(circle at 8% 92%, rgba(124, 94, 156, 0.3), transparent 42%);
    pointer-events: none;
  }
  .hero .knot { position: absolute; top: -30px; right: -30px; width: 260px; opacity: 0.16; pointer-events: none; }
  .hero-inner { position: relative; max-width: 720px; }
  .eyebrow {
    display: inline-block;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--gold-soft);
    margin-bottom: 14px;
  }
  .hero h1 {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 900;
    font-size: clamp(2.1rem, 5vw, 3.5rem);
    line-height: 1.05;
    margin: 0 0 18px;
    letter-spacing: -0.01em;
  }
  .hero h1 em { font-style: italic; color: var(--gold-soft); }
  .hero p { font-size: 1.08rem; color: rgba(255,255,255,0.93); margin: 0 0 26px; max-width: 600px; }
  .hero-cta { display: flex; flex-wrap: wrap; gap: 12px; }
  .btn {
    display: inline-flex; align-items: center; gap: 8px;
    font-weight: 800; font-size: 0.95rem;
    padding: 13px 24px; border-radius: 999px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }
  .btn-primary { background: var(--gold); color: var(--emerald-deep); box-shadow: 0 10px 26px -10px rgba(212,175,85,0.9); }
  .btn-primary:hover { transform: translateY(-3px); }
  .btn-ghost { background: rgba(255,255,255,0.12); color: #fff; border: 1px solid rgba(255,255,255,0.35); }
  .btn-ghost:hover { background: rgba(255,255,255,0.22); transform: translateY(-3px); }
  .hero-stats { position: relative; display: flex; flex-wrap: wrap; gap: 30px; margin-top: 34px; }
  .hero-stats .stat strong { display: block; font-family: 'Fraunces', serif; font-size: 1.8rem; color: var(--gold-soft); }
  .hero-stats .stat span { font-size: 0.82rem; opacity: 0.85; letter-spacing: 0.03em; }

  /* Layout */
  .layout { display: grid; grid-template-columns: 1fr 290px; gap: 40px; align-items: start; }

  .section-label {
    font-family: 'Fraunces', serif;
    font-weight: 900;
    font-size: clamp(1.5rem, 3vw, 2rem);
    color: var(--emerald-deep);
    margin: 0 0 6px;
    letter-spacing: -0.01em;
  }
  .section-sub { color: var(--ink-soft); margin: 0 0 26px; max-width: 640px; }
  .lead { font-size: 1.06rem; }
  .prose p { margin: 0 0 16px; color: var(--ink-soft); }
  .prose strong { color: var(--ink); }

  .feature-list { list-style: none; padding: 0; margin: 0 0 20px; display: grid; gap: 10px; }
  .feature-list li {
    position: relative; padding: 10px 14px 10px 42px;
    background: var(--paper); border: 1px solid var(--line); border-radius: 14px;
    font-weight: 600; color: var(--ink-soft);
  }
  .feature-list li::before {
    content: "*";
    position: absolute;
    left: 16px;
    top: 6px;
    color: var(--gold);
    font-size: 1.8rem;
  }

  /* Card grid */
  .grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
    gap: 18px;
    margin: 8px 0 30px;
  }
  .card {
    position: relative;
    display: flex; flex-direction: column;
    background: var(--paper);
    border-radius: var(--radius);
    overflow: hidden;
    border: 1px solid var(--line);
    box-shadow: 0 8px 20px -14px rgba(15,61,46,0.4);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
  }
  .card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
  .card .thumb { overflow: hidden; background: #e3ece8; }
  .card .thumb img { width: 100%; height: auto; object-fit: cover; display: block; transition: transform 0.4s ease; }
  .card:hover .thumb img { transform: scale(1.07); }
  .card .label { padding: 12px 14px; font-weight: 800; font-size: 0.9rem; color: var(--emerald-deep); line-height: 1.3; }

  .hero-banner-img {
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    display: block;
    margin: 10px auto 24px;
    max-width: 100%;
    height: auto;
  }

  /* FAQ */
  .faq { margin: 40px 0 10px; }
  .faq details {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 4px 20px;
    margin-bottom: 12px;
    transition: box-shadow 0.2s ease;
  }
  .faq details[open] { box-shadow: var(--shadow); }
  .faq summary {
    cursor: pointer; font-weight: 800; color: var(--emerald-deep);
    padding: 14px 0; list-style: none;
    display: flex; justify-content: space-between; align-items: center; gap: 12px;
  }
  .faq summary::-webkit-details-marker { display: none; }
  .faq summary::after { content: "+"; font-size: 1.4rem; color: var(--rust); transition: transform 0.2s ease; }
  .faq details[open] summary::after { transform: rotate(45deg); }
  .faq details p { margin: 0 0 16px; color: var(--ink-soft); }

  /* Sidebar */
  .sidebar { position: sticky; top: 20px; display: flex; flex-direction: column; gap: 22px; }
  .panel-card {
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 20px;
    box-shadow: 0 8px 20px -16px rgba(15,61,46,0.4);
  }
  .panel-card .section-head, .panel-card .h3 { font-family: 'Fraunces', serif; font-size: 1.15rem; margin: 0 0 14px; color: var(--emerald-deep); font-weight:600 }
  .panel-link { display: flex; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px dashed var(--line);transition: all 0.5s ease 0s;}
  .panel-link:last-child { border-bottom: none; }
  .panel-link img { width: 48px; height: 48px; object-fit: cover; border-radius: 12px; flex-shrink: 0; }
  .panel-link span { font-weight: 700; font-size: 0.9rem; color: var(--emerald-deep); line-height: 1.3; transition: all 0.5s ease 0s;}
  .panel-link:hover span {padding-left:5px; transition: all 0.5s ease 0s;}
  .discover-list a { display: block; padding: 7px 0; font-weight: 700; font-size: 0.92rem; border-bottom: 1px dashed var(--line); transition: all 0.5s ease 0s;}
  .discover-list a:last-child { border-bottom: none; }
  .discover-list a:hover { color: var(--rust); padding-left:10px; transition: all 0.5s ease 0s;}

  .newsletter { background: linear-gradient(135deg, var(--heather), #5f4480); color: #fff; border: none; }
  .newsletter .h3 { color: #fff; font-weight:600;display:block}
  .newsletter p { font-size: 0.86rem; opacity: 0.92; margin: 0 0 14px; }
  .newsletter input[type=text], .newsletter input[type=email] {
    width: 100%; padding: 11px 14px; border-radius: 12px; border: none;
    font-family: inherit; font-size: 0.92rem; margin-bottom: 10px;
  }
  .newsletter input[type=submit] {
    width: 100%; padding: 11px; border-radius: 12px; border: none;
    background: var(--gold); color: var(--emerald-deep); font-weight: 800; font-family: inherit;
    cursor: pointer; transition: transform 0.2s ease;
  }
  .newsletter input[type=submit]:hover { transform: translateY(-2px); }

  /* Footer */
  .site-foot {
    margin-top: 48px;
    background: var(--emerald-deep);
    color: rgba(255,255,255,0.9);
    border-radius: 30px 30px 0 0;
    padding: 40px 0 28px;
  }
  .site-foot h3 { font-family: 'Fraunces', serif; color: var(--gold-soft); font-size: 1.2rem; margin: 0 0 16px; }
  .foot-sections ul {
    list-style: none; padding: 0; margin: 0;
    display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px 18px;
  }
  .foot-sections a { color: rgba(255,255,255,0.82); font-weight: 600; font-size: 0.9rem; }
  .foot-sections a:hover { color: var(--gold-soft); }
  .foot-sections .bann-wrap {background:rgba(255,255,255,0.85); padding:10px; margin:15px 0; border-radius:15px}
  .foot-bottom { text-align: center; margin-top: 26px; font-size: 0.82rem; opacity: 0.6; }
  .taboola-wrap { margin: 30px 0 0; }

  @media (max-width: 880px) {
    .layout { grid-template-columns: 1fr; }
    .sidebar { position: static; }
    .hero { padding: 40px 26px;width:100% }
    .site-head { flex-direction: column; align-items: flex-start; }
  }