*{box-sizing:border-box}

    html{scroll-behavior:smooth}

    body{
      margin:0;
      font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
      background:#f5f7f6;
      color:#17231d;
      line-height:1.7
    }

    a{color:#0f5132}
    a:hover{color:#0a3b24}

    .skip-link{
      position:absolute;
      left:12px;
      top:-80px;
      z-index:9999;
      padding:10px 14px;
      border-radius:8px;
      background:#0f5132;
      color:#fff;
      text-decoration:none;
      font-weight:800
    }

    .skip-link:focus{top:12px}

    .site-header{
      background:#fff;
      border-bottom:1px solid #dfe6e2;
      position:relative;
      z-index:50
    }

    .wrap{
      width:min(1200px,calc(100% - 40px));
      margin:0 auto
    }

    .header-row{
      min-height:82px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px
    }

    .brand{
      display:flex;
      align-items:center;
      gap:12px;
      color:#13251c;
      text-decoration:none;
      font-size:21px;
      font-weight:800;
      line-height:1.05
    }

    .brand span{
      display:flex;
      flex-direction:column
    }

    .brand small{
      margin-top:5px;
      color:#67756d;
      font-size:12px;
      font-weight:600;
      line-height:1.2
    }

    .site-logo{
      width:52px;
      height:64px;
      object-fit:contain
    }

    .main-nav{
      display:flex;
      align-items:center;
      gap:6px
    }

    .main-nav a{
      display:flex;
      align-items:center;
      min-height:44px;
      padding:10px 13px;
      border-radius:9px;
      color:#24382d;
      text-decoration:none;
      font-size:15px;
      font-weight:700
    }

    .main-nav a:hover,
    .main-nav a:focus-visible{
      background:#edf7f1;
      color:#0f5132
    }

    .menu-button{
      display:none;
      width:44px;
      height:44px;
      padding:0;
      align-items:center;
      justify-content:center;
      border:1px solid #d9e2dd;
      border-radius:9px;
      background:#fff;
      color:#173526;
      font-size:24px;
      cursor:pointer
    }

    .menu-button:focus-visible,
    .main-nav a:focus-visible,
    .brand:focus-visible,
    a:focus-visible,
    button:focus-visible{
      outline:3px solid rgba(15,81,50,.3);
      outline-offset:3px
    }

    .hero{
      padding:72px 20px 54px;
      background:
        radial-gradient(circle at top right,rgba(29,119,78,.13),transparent 38%),
        linear-gradient(180deg,#edf8f2 0%,#f5f7f6 100%)
    }

    .hero-inner{
      max-width:920px;
      margin:auto
    }

    .eyebrow{
      display:inline-block;
      margin-bottom:14px;
      padding:6px 12px;
      border-radius:999px;
      background:#dcefe4;
      color:#0f5132;
      font-size:13px;
      font-weight:800;
      letter-spacing:.04em;
      text-transform:uppercase
    }

    h1{
      margin:0 0 18px;
      font-size:clamp(38px,6vw,62px);
      line-height:1.08
    }

    .hero p{
      max-width:830px;
      margin:0;
      color:#56665d;
      font-size:18px
    }

    .page-grid{
      max-width:1200px;
      margin:auto;
      padding:48px 20px 70px;
      display:grid;
      grid-template-columns:260px minmax(0,1fr);
      gap:38px
    }

    .sidebar{
      align-self:start;
      position:sticky;
      top:20px
    }

    .toc{
      background:#fff;
      border:1px solid #e0e6e3;
      border-radius:16px;
      padding:20px
    }

    .toc strong{
      display:block;
      margin-bottom:12px;
      color:#173526;
      font-size:16px
    }

    .toc ul{
      list-style:none;
      padding:0;
      margin:0
    }

    .toc li{margin:3px 0}

    .toc a{
      display:block;
      padding:7px 8px;
      border-radius:8px;
      color:#526159;
      text-decoration:none;
      font-size:14px
    }

    .toc a:hover,
    .toc a:focus{
      background:#edf7f1;
      color:#0f5132
    }

    .content{min-width:0}

    .section{
      margin-bottom:42px;
      padding:30px;
      background:#fff;
      border:1px solid #e0e6e3;
      border-radius:18px
    }

    .section h2{
      margin:0 0 14px;
      color:#173526;
      font-size:27px;
      line-height:1.25
    }

    .section h3{
      margin:26px 0 10px;
      color:#1c382a;
      font-size:19px
    }

    .section p{
      margin:0 0 15px;
      color:#4f5f56
    }

    .section p:last-child{margin-bottom:0}

    .section ul{
      margin:14px 0 0;
      padding-left:24px
    }

    .section li{
      margin:8px 0;
      color:#4f5f56
    }

    .notice{
      margin:20px 0;
      padding:18px;
      border-left:4px solid #0f5132;
      border-radius:8px;
      background:#edf7f1;
      color:#304a3c
    }

    .warning{
      margin:20px 0;
      padding:18px;
      border:1px solid #efdfbc;
      border-radius:12px;
      background:#fff7e8;
      color:#59481e
    }

    .warning strong{
      display:block;
      margin-bottom:5px
    }

    .visa-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:14px;
      margin-top:20px
    }

    .visa-card{
      padding:18px;
      border:1px solid #dde5e0;
      border-radius:13px;
      background:#fafcfb
    }

    .visa-card strong{
      display:block;
      margin-bottom:5px;
      color:#173526
    }

    .visa-card p{
      margin:0;
      font-size:14px
    }

    .contact-box{
      padding:26px;
      border-radius:16px;
      background:#10291d;
      color:#fff
    }

    .contact-box h2{color:#fff}
    .contact-box p{color:#d4e0da}

    .contact-box a{
      color:#fff;
      font-weight:800
    }

    .site-footer{
      background:#0b1c14;
      color:#cfd9d4
    }

    .footer-inner{
      max-width:1200px;
      margin:auto;
      padding:42px 20px 24px
    }

    .footer-grid{
      display:grid;
      grid-template-columns:1.4fr repeat(3,1fr);
      gap:34px
    }

    .footer-brand strong{
      display:block;
      margin-bottom:8px;
      color:#fff;
      font-size:21px
    }

    .footer-brand p{
      margin:0;
      color:#aebeb5;
      font-size:14px
    }

    .footer-column h2{
      margin:0 0 12px;
      color:#fff;
      font-size:15px
    }

    .footer-column ul{
      list-style:none;
      padding:0;
      margin:0
    }

    .footer-column li{margin:7px 0}

    .footer-column a{
      color:#cbd7d0;
      text-decoration:none;
      font-size:14px
    }

    .footer-column a:hover{
      color:#fff;
      text-decoration:underline
    }

    .footer-bottom{
      margin-top:28px;
      padding-top:20px;
      border-top:1px solid rgba(255,255,255,.12);
      display:flex;
      justify-content:space-between;
      gap:20px;
      color:#91a39a;
      font-size:13px
    }

    .footer-bottom p{margin:0}

    @media(max-width:900px){
      .page-grid{
        grid-template-columns:1fr
      }

      .sidebar{
        position:static
      }

      .footer-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))
      }
    }

    @media(max-width:820px){
      .wrap{
        width:min(100% - 28px,1200px)
      }

      .menu-button{
        display:flex
      }

      .main-nav{
        display:none;
        position:absolute;
        top:100%;
        left:14px;
        right:14px;
        padding:10px;
        flex-direction:column;
        align-items:stretch;
        background:#fff;
        border:1px solid #dfe6e2;
        border-radius:0 0 14px 14px;
        box-shadow:0 14px 30px rgba(13,42,28,.12)
      }

      .main-nav.open{
        display:flex
      }

      .main-nav a{
        width:100%
      }
    }

    @media(max-width:620px){
      .hero{
        padding:50px 20px 40px
      }

      .section{
        padding:22px
      }

      .visa-grid{
        grid-template-columns:1fr
      }

      .footer-grid{
        grid-template-columns:1fr
      }

      .footer-bottom{
        flex-direction:column
      }
    }

    @media(prefers-reduced-motion:reduce){
      html{scroll-behavior:auto}

      *,
      *::before,
      *::after{
        scroll-behavior:auto!important;
        transition:none!important;
        animation:none!important
      }
    }