:root{
      --forest-950:#0b2219;
      --forest-900:#123328;
      --forest-800:#184635;
      --forest-700:#226048;
      --leaf-500:#6c9a62;
      --leaf-300:#a8c89e;
      --cream-50:#fbfaf6;
      --cream-100:#f4f0e7;
      --sand-200:#e4dac7;
      --gold-500:#d9a441;
      --gold-400:#eabb5b;
      --ink-900:#17231e;
      --ink-700:#43524b;
      --white:#fff;
      --shadow-sm:0 12px 30px rgba(11,34,25,.08);
      --shadow-md:0 20px 55px rgba(11,34,25,.14);
      --radius-md:22px;
      --radius-lg:34px;
      --container:1180px;
      --header-h:78px;
    }
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 22px)}
body{
      font-family:"Manrope",sans-serif;
      color:var(--ink-900);
      background:var(--cream-50);
      line-height:1.62;
      overflow-x:hidden;
    }
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit}
img{display:block;max-width:100%}
.container{width:min(var(--container),calc(100% - 40px));margin-inline:auto}
.site-header{
      position:fixed;
      inset:0 0 auto 0;
      z-index:1000;
      height:var(--header-h);
      display:flex;
      align-items:center;
      background:rgba(11,34,25,.86);
      border-bottom:1px solid rgba(255,255,255,.09);
      backdrop-filter:blur(16px);
      transition:background .3s ease,box-shadow .3s ease;
    }
.site-header.scrolled{
      background:rgba(11,34,25,.97);
      box-shadow:0 12px 35px rgba(0,0,0,.14);
    }
.header-inner{
      position:relative;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
    }
.brand{
      display:flex;
      align-items:center;
      gap:12px;
      min-width:0;
      color:#fff;
    }
.brand img{
      width:48px;height:48px;
      object-fit:contain;
      filter:drop-shadow(0 4px 8px rgba(0,0,0,.18));
    }
.brand-text{line-height:1.15}
.brand-text strong{display:block;font-size:0.92rem;font-weight:800}
.brand-text span{
      display:block;
      margin-top:4px;
      color:rgba(255,255,255,.67);
      font-size:0.889rem;
      font-weight:600;
    }
.nav-list{
      display:flex;
      align-items:center;
      gap:3px;
      list-style:none;
    }
.nav-item{position:relative}
.nav-link,.nav-trigger{
      min-height:46px;
      padding:0 11px;
      display:inline-flex;
      align-items:center;
      gap:7px;
      border:0;
      border-radius:12px;
      color:rgba(255,255,255,.86);
      background:transparent;
      font-size:0.889rem;
      font-weight:700;
      cursor:pointer;
      transition:.2s ease;
      white-space:nowrap;
    }
.nav-link:hover,.nav-trigger:hover,.nav-link.active,.nav-trigger.active{
      color:#fff;
      background:rgba(255,255,255,.08);
    }
.nav-link.highlight{
      margin-left:5px;
      padding-inline:15px;
      color:var(--forest-950);
      background:var(--gold-400);
    }
.dropdown{
      position:absolute;
      top:calc(100% + 8px);
      left:0;
      width:238px;
      padding:8px;
      list-style:none;
      background:rgba(255,255,255,.985);
      border:1px solid rgba(18,51,40,.08);
      border-radius:16px;
      box-shadow:var(--shadow-md);
      opacity:0;
      visibility:hidden;
      transform:translateY(-8px);
      transition:.2s ease;
    }
.nav-item:hover>.dropdown,
    .nav-item:focus-within>.dropdown{
      opacity:1;
      visibility:visible;
      transform:none;
    }
.dropdown a{
      display:block;
      padding:11px 12px;
      border-radius:10px;
      color:var(--forest-900);
      font-size:0.889rem;
      font-weight:700;
    }
.dropdown a:hover{background:var(--cream-100)}
.mega-parent{position:static}
.mega-menu{
      position:absolute;
      top:calc(100% + 10px);
      left:50%;
      width:min(900px,calc(100vw - 40px));
      padding:17px;
      display:grid;
      grid-template-columns:230px 1fr 1fr;
      gap:12px;
      color:var(--ink-900);
      background:rgba(255,255,255,.985);
      border:1px solid rgba(18,51,40,.08);
      border-radius:22px;
      box-shadow:0 28px 70px rgba(5,25,17,.22);
      opacity:0;
      visibility:hidden;
      transform:translate(-50%,-8px);
      transition:.2s ease;
    }
.mega-parent:hover>.mega-menu,
    .mega-parent:focus-within>.mega-menu{
      opacity:1;
      visibility:visible;
      transform:translate(-50%,0);
    }
.mega-intro{
      padding:18px;
      border-radius:16px;
      color:#fff;
      background:linear-gradient(145deg,var(--forest-900),var(--forest-700));
    }
.mega-intro-icon{
      width:42px;height:42px;
      display:grid;
      place-items:center;
      border-radius:12px;
      color:var(--forest-950);
      background:var(--gold-400);
    }
.mega-intro h3{
      margin-top:16px;
      font-family:"DM Serif Display",serif;
      font-size:1.45rem;
      line-height:1.05;
      font-weight:400;
    }
.mega-intro p{
      margin-top:8px;
      color:rgba(255,255,255,.67);
      font-size:0.889rem;
      line-height:1.45;
    }
.mega-all{
      margin-top:17px;
      display:inline-flex;
      align-items:center;
      gap:7px;
      color:var(--gold-400);
      font-size:0.889rem;
      font-weight:900;
    }
.mega-column{
      padding:14px;
      border-radius:16px;
      background:var(--cream-50);
    }
.mega-heading{
      display:flex;
      align-items:center;
      gap:9px;
      padding-bottom:10px;
      border-bottom:1px solid rgba(18,51,40,.08);
      color:var(--forest-950);
      font-size:0.889rem;
      font-weight:900;
      text-transform:uppercase;
      letter-spacing:.05em;
    }
.mega-heading i{color:var(--forest-700)}
.mega-links{
      margin-top:8px;
      display:grid;
      gap:2px;
      list-style:none;
    }
.mega-links a{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:10px;
      min-height:34px;
      padding:6px 8px;
      border-radius:9px;
      color:var(--ink-700);
      font-size:0.889rem;
      font-weight:700;
      transition:.15s ease;
    }
.mega-links a:hover{
      color:var(--forest-900);
      background:#fff;
    }
.mega-links .area-link{
      margin-bottom:3px;
      color:var(--forest-800);
      background:#e7efe3;
      font-weight:900;
    }
.menu-toggle{
      display:none;
      width:46px;height:46px;
      border:1px solid rgba(255,255,255,.14);
      border-radius:13px;
      color:#fff;
      background:rgba(255,255,255,.08);
      font-size:1.1rem;
      cursor:pointer;
    }
footer{
      padding:70px 0 26px;
      color:rgba(255,255,255,.72);
      background:#071b14;
    }
.footer-grid{
      display:grid;
      grid-template-columns:1.25fr .75fr .75fr;
      gap:60px;
    }
.footer-brand{display:flex;align-items:center;gap:14px;color:#fff}
.footer-brand img{width:60px;height:60px;object-fit:contain}
.footer-brand strong{display:block;font-size:1.0rem}
.footer-brand span{display:block;margin-top:3px;color:rgba(255,255,255,.58);font-size:0.889rem}
.footer-copy{margin-top:18px;max-width:470px;font-size:0.889rem}
.footer-col h3{color:#fff;font-size:0.889rem;text-transform:uppercase;letter-spacing:.09em}
.footer-col ul{margin-top:15px;display:grid;gap:9px;list-style:none;font-size:0.889rem}
.footer-col a:hover{color:var(--gold-400)}
.footer-bottom{
      margin-top:52px;
      padding-top:24px;
      display:flex;
      justify-content:space-between;
      gap:20px;
      border-top:1px solid rgba(255,255,255,.09);
      font-size:0.889rem;
    }
.back-top{color:var(--gold-400);font-weight:800}
@media(max-width:1120px){
.desktop-nav{
        position:fixed;
        top:var(--header-h);
        right:0;
        width:min(410px,100%);
        height:calc(100dvh - var(--header-h));
        padding:17px;
        background:rgba(9,29,21,.99);
        transform:translateX(100%);
        transition:transform .3s ease;
        overflow-y:auto;
      }
.desktop-nav.open{transform:none}
.nav-list{display:grid;gap:5px}
.nav-item,.mega-parent{position:relative;width:100%}
.nav-link,.nav-trigger{
        width:100%;
        justify-content:space-between;
        padding-inline:15px;
      }
.nav-link.highlight{
        margin:8px 0 0;
        justify-content:center;
      }
.dropdown{
        position:static;
        width:100%;
        display:none;
        margin:3px 0 8px;
        opacity:1;
        visibility:visible;
        transform:none;
        box-shadow:none;
        background:rgba(255,255,255,.06);
        border-color:rgba(255,255,255,.08);
      }
.dropdown.open{display:block}
.dropdown a{color:rgba(255,255,255,.78)}
.dropdown a:hover{background:rgba(255,255,255,.07)}
.mega-menu{
        position:static;
        width:100%;
        display:none;
        margin:4px 0 9px;
        padding:9px;
        grid-template-columns:1fr;
        opacity:1;
        visibility:visible;
        transform:none;
        box-shadow:none;
        border-color:rgba(255,255,255,.08);
        background:rgba(255,255,255,.055);
      }
.mega-menu.open{display:grid}
.mega-intro{display:none}
.mega-column{
        padding:10px;
        background:rgba(255,255,255,.055);
      }
.mega-heading{color:#fff;border-color:rgba(255,255,255,.08)}
.mega-heading i{color:var(--gold-400)}
.mega-links a{color:rgba(255,255,255,.72)}
.mega-links a:hover{color:#fff;background:rgba(255,255,255,.07)}
.mega-links .area-link{
        color:var(--gold-400);
        background:rgba(217,164,65,.08);
      }
.menu-toggle{display:grid;place-items:center}
.footer-grid{grid-template-columns:1fr 1fr}
.footer-grid>:first-child{grid-column:1/-1}
}
@media(max-width:720px){
:root{--header-h:68px}
.container{width:min(100% - 28px,var(--container))}
.brand img{width:43px;height:43px}
.brand-text strong{font-size:0.889rem}
.brand-text span{font-size:0.889rem}
footer{padding-top:55px}
.footer-grid{grid-template-columns:1fr;gap:34px}
.footer-grid>:first-child{grid-column:auto}
.footer-bottom{display:grid}
}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
}