    body {
      background:
        radial-gradient(circle at 8% 20%, rgba(92, 181, 239, .16), transparent 24%),
        radial-gradient(circle at 92% 44%, rgba(16, 129, 217, .11), transparent 26%),
        linear-gradient(180deg, #edf8ff 0%, #dceefa 46%, #eef7fb 100%);
    }

    video {
      display: block;
      width: 100%;
    }


    .section-title {
      margin: 10px 0 0;
      font-size: clamp(30px, 4vw, 50px);
      font-weight: 700;
      line-height: 1.14;
      letter-spacing: -.025em;
    }

    .section-copy {
      color: var(--muted);
      font-size: 16px;
      line-height: 1.9;
    }

    .section-head {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 56px;
      margin-bottom: 36px;
    }



    .btn-soft {
      color: var(--brand);
      background: rgba(255, 255, 255, .88);
      box-shadow: none;
      backdrop-filter: blur(14px);
    }

    .btn-outline {
      color: #fff;
      background: rgba(255, 255, 255, .08);
      border: 1px solid rgba(255, 255, 255, .34);
      box-shadow: none;
    }


    /* Hero */
    .hero {
      position: relative;
      /* height: clamp(400px, 55vh, 640px); */
      min-height: 550px;
      overflow: hidden;
      background: var(--navy);
      padding-top: 29%;
    }

    .hero-slide {
      position: absolute;
      inset: 0;
      opacity: 0;
      transition: opacity 1s ease-in-out;
      z-index: 1;
    }

    .hero-slide.is-active {
      opacity: 1;
      z-index: 2;
    }

    .hero-slide img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 58%;
    }

    .hero-shade {
      position: absolute;
      inset: 0;
      /* background: linear-gradient(90deg, rgba(16, 129, 217, .58) 0%, rgba(16, 129, 217, .28) 44%, rgba(16, 129, 217, .025) 72%), linear-gradient(0deg, rgba(16, 129, 217, .12), transparent 40%); */
    }

    .hero-dots {
      position: absolute;
      bottom: 30px;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      gap: 10px;
      z-index: 5;
    }

    .hero-dot {
      width: 12px;
      height: 12px;
      border-radius: 50%;
      /* border: 2px solid rgba(255, 255, 255, .7); */
      /* background: transparent; */
      border: none;
      background: #fff;
      opacity: 0.45;
      cursor: pointer;
      transition: all .3s;
      padding: 0;
    }

    .hero-dot.is-active {
      opacity: 1;
      width: 35px;
      border-radius: 12px;
      /* transform: scale(1.3); */
    }

    .hero-arrow {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      z-index: 5;
      width: 48px;
      height: 48px;
      border-radius: 50%;
      border: none;
      background: rgba(255, 255, 255, .25);
      color: #fff;
      font-size: 22px;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background .3s;
      backdrop-filter: blur(4px);
    }

    .hero-arrow:hover {
      background: rgba(255, 255, 255, .45);
    }

    .hero-arrow--prev {
      left: 24px;
    }

    .hero-arrow--next {
      right: 24px;
    }

    @media (max-width: 768px) {
      .hero-arrow {
        width: 38px;
        height: 38px;
        font-size: 18px;
      }

      .hero-arrow--prev {
        left: 12px;
      }

      .hero-arrow--next {
        right: 12px;
      }
    }

    .hero-content {
      position: absolute;
      z-index: 3;
      top: 50%;
      left: 10vw;
      width: min(600px, 52vw);
      color: #fff;
      transform: translateY(-43%);
    }

    .hero-kicker {
      margin-bottom: 20px;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .25em;
      opacity: .8;
    }

    .hero h1,
    .hero-title {
      margin: 0;
      font-size: clamp(24px, 6vw, 40px);
      font-weight: 700;
      line-height: 1.2;
      text-shadow: 0 6px 24px rgba(1, 28, 50, .28);
    }

    .hero-content p {
      margin: 20px 0;
      font-size: clamp(24px, 6vw, 38px);
      font-weight: 700;
      line-height: 1.05;
      letter-spacing: 1px;
      text-shadow: 0 6px 24px rgba(1, 28, 50, .28);
    }

    .hero-subtitle {
      margin: 30px 0;
      font-size: clamp(18px, 2vw, 28px);
      font-weight: 700;
      letter-spacing: .05em;
    }

    .hero-en {
      margin: 0 0 30px;
      font-size: 11px;
      line-height: 1.75;
      letter-spacing: .12em;
      opacity: .7;
    }

    .hero-content>* {
      opacity: 0;
      transform: none;
    }

    .hero-content>* {
      animation: heroIn .75s ease forwards;
    }

    .hero-content>*:nth-child(2) {
      animation-delay: .08s;
    }

    .hero-content>*:nth-child(3) {
      animation-delay: .16s;
    }

    .hero-content>*:nth-child(4) {
      animation-delay: .22s;
    }

    .hero-content>*:nth-child(5) {
      animation-delay: .28s;
    }

    @keyframes heroIn {
      to {
        opacity: 1;
      }
    }

    .hero-values {
      position: absolute;
      z-index: 8;
      left: 50%;
      bottom: 0;
      width: var(--container);
      transform: translateX(-50%);
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      border-radius: 25px 25px 0 0;
      overflow: hidden;
      box-shadow: 0 -12px 35px rgba(1, 39, 70, .12);
    }

    .value-card {
      min-height: 84px;
      padding: 18px 22px;
      color: #174a72;
      background: rgba(239, 249, 255, .92);
      backdrop-filter: blur(18px);
      transition: .25s ease;
    }

    .value-card:nth-child(even) {
      background: rgba(218, 240, 254, .94);
    }

    .value-card:hover {
      color: #fff;
      background: var(--brand);
      transform: translateY(-8px);
    }

    .value-card small {
      display: block;
      margin-bottom: 5px;
      font-size: 9px;
      font-weight: 700;
      letter-spacing: .16em;
      opacity: .58;
    }

    .value-card strong {
      font-size: 17px;
    }

    /* Shared section motion */
    .reveal {
      opacity: 0;
      transform: translateY(34px);
      transition: opacity .75s ease, transform .75s cubic-bezier(.2, .7, .2, 1);
    }

    .reveal.visible {
      opacity: 1;
      transform: none;
    }

    /* About */
    .about {
      position: relative;
      padding: 112px 0 124px;
      overflow: hidden;
    }

    .about::before {
      content: "ABOUT";
      position: absolute;
      top: 50px;
      right: -25px;
      color: rgba(var(--brand-rgb), .05);
      font-size: min(18vw, 260px);
      font-weight: 700;
      line-height: 1;
      pointer-events: none;
    }

    .about-grid {
      display: grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 74px;
      align-items: center;
    }

    .about-copy {
      position: relative;
      z-index: 2;
    }

    .about-copy .section-copy {
      margin: 26px 0 30px;
    }

    .about-stats {
      display: grid;
      /* grid-template-columns: repeat(3, 1fr); */
      gap: 12px;
      margin: 34px 0;
    }

    .stat-card {
      padding: 22px 30px;
      border-radius: 15px;
      /* background: linear-gradient(145deg, #1081D9, #0A5F9F); */
      /* color: #fff;
      background: var(--brand);
      box-shadow: 0 12px 28px rgba(var(--brand-rgb), .16); */
      /* background: linear-gradient(135deg, rgba(255, 255, 255, .86), rgba(222, 242, 254, .78));
      box-shadow: 0 15px 45px rgba(12, 71, 111, .08);
      color: #174f78; */
      display: flex;
      gap: 15px;
      background: linear-gradient(135deg, rgba(255, 255, 255, .86), rgba(222, 242, 254, .78));
      box-shadow: 0 15px 45px rgba(12, 71, 111, .2);
      color: var(--brand);
      transition: .3s ease;
    }

    .stat-card:hover {
      color: #fff;
      background: var(--brand);
      cursor: pointer;
      transform: translateX(4px);
    }

    .stat-card svg {
      flex-shrink: 0;
      opacity: .9;
    }

    .stat-card strong {
      display: block;
      font-size: 24px;
    }

    .stat-card span {
      font-size: 12px;
      opacity: .75;
    }

    .about-visual {
      position: relative;
    }

    .about-visual>img {
      width: 100%;
      height: 540px;
      object-fit: cover;
      border-radius: 34px;
      box-shadow: var(--shadow);
    }

    .about-floating {
      position: absolute;
      left: -42px;
      bottom: 10px;
      width: 250px;
      padding: 25px;
      border-radius: 24px;
      color: #fff;
      background: linear-gradient(145deg, rgba(16, 129, 217, .96), rgba(3, 78, 132, .96));
      box-shadow: 0 22px 44px rgba(3, 45, 82, .26);
    }

    .about-floating span {
      font-size: 11px;
      opacity: .72;
      letter-spacing: .16em;
    }

    .about-floating strong {
      display: block;
      margin: 11px 0 8px;
      font-size: 24px;
      line-height: 1.35;
    }

    .about-floating p {
      margin: 0;
      font-size: 12px;
      line-height: 1.7;
      opacity: .76;
    }

    /* Business */
    .business {
      position: relative;
      padding: 110px 0 124px;
      color: var(--ink);
      background: linear-gradient(145deg, #edf8ff 0%, #d9edf8 56%, #eaf6fc 100%);
      overflow: hidden;
    }

    .business::after {
      content: "";
      position: absolute;
      inset: auto -8% -45% 45%;
      height: 620px;
      border-radius: 50%;
      background: rgba(45, 164, 232, .12);
      filter: blur(10px);
    }

    .business .eyebrow {
      color: var(--brand);
    }

    .business-grid {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: 1.35fr repeat(2, .82fr);
      grid-template-rows: repeat(2, 270px);
      gap: 16px;
    }

    .business-card {
      position: relative;
      border-radius: 24px;
      overflow: hidden;
      isolation: isolate;
      box-shadow: 0 16px 40px rgba(0, 20, 38, .22);
    }

    .business-card:first-child {
      grid-row: 1 / 3;
    }

    .business-card img {
      height: 100%;
      object-fit: cover;
      transition: transform .7s ease;
    }

    .business-card::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 1;
      background: linear-gradient(180deg, transparent 32%, rgba(2, 27, 49, .6));
    }

    .business-card:hover img {
      transform: scale(1.07);
    }

    .business-content {
      position: absolute;
      z-index: 2;
      left: 0;
      right: 0;
      bottom: 0;
      padding: 26px;
      color: #fff;
      text-shadow: 0 3px 15px rgba(0, 20, 38, .35);
    }

    .business-no {
      display: inline-grid;
      place-items: center;
      width: 39px;
      height: 27px;
      margin-bottom: 11px;
      border-radius: 999px;
      color: #fff;
      background: rgba(255, 255, 255, .16);
      font-size: 10px;
      font-weight: 700;
    }

    .business-content h3 {
      margin: 0 0 6px;
      color: #fff;
      font-size: 25px;
    }

    .business-content p {
      margin: 0;
      color: rgba(255, 255, 255, .82);
      font-size: 12px;
      opacity: 1;
    }

    .business-card:first-child .business-content h3 {
      font-size: 35px;
    }

    /* Projects */
    .projects {
      padding: 110px 0 120px;
      background: linear-gradient(180deg, rgba(230, 244, 253, .74), rgba(213, 235, 248, .78));
    }

    .project-stage {
      position: relative;
      min-height: 610px;
      border-radius: 34px;
      overflow: hidden;
      box-shadow: var(--shadow);
    }

    .project-stage img {
      position: absolute;
      inset: 0;
      height: 100%;
      object-fit: cover;
      transition: opacity .45s ease, transform 1.2s ease;
    }

    .project-stage.switching img {
      opacity: .5;
      transform: scale(1.025);
    }

    .project-shade {
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(1, 32, 58, .6) 0%, rgba(1, 41, 72, .4) 44%, rgba(1, 32, 55, .05) 76%);
    }

    .project-content {
      position: absolute;
      z-index: 2;
      left: 54px;
      top: 50%;
      width: min(470px, 52%);
      color: #fff;
      transform: translateY(-50%);
    }

    .project-content small {
      color: #86d8ff;
      font-weight: 700;
      letter-spacing: .15em;
    }

    .project-content h3 {
      margin: 14px 0 18px;
      font-size: clamp(34px, 4vw, 52px);
    }

    .project-content p {
      margin: 0;
      color: rgba(255, 255, 255, .7);
      line-height: 1.85;
      font-size: 16px;
    }

    .project-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 9px;
      margin: 25px 0;
    }

    .project-meta span {
      padding: 8px 12px;
      border-radius: 999px;
      background: rgba(255, 255, 255, .12);
      font-size: 13px;
    }

    .project-tabs {
      display: flex;
      flex-wrap: wrap;
      gap: 9px;
      margin-top: 25px;
    }

    .project-tab {
      padding: 10px 14px;
      border: 1px solid rgba(255, 255, 255, .25);
      border-radius: 999px;
      color: #fff;
      background: rgba(255, 255, 255, .06);
      cursor: pointer;
      transition: .25s ease;
    }

    .project-tab.active {
      color: var(--brand);
      background: #fff;
      border-color: #fff;
    }

    /* Party */
    .party {
      position: relative;
      padding: 110px 0;
      background: linear-gradient(145deg, #eef8fd 0%, #d9edf7 62%, #e9f5fb 100%);
      color: var(--ink);
      overflow: hidden;
    }


    .party-grid {
      display: grid;
      grid-template-columns: 1.02fr .98fr;
      min-height: 550px;
      border-radius: 34px;
      overflow: hidden;
      background: linear-gradient(145deg, rgba(255, 255, 255, .82), rgba(213, 237, 249, .9));
      box-shadow: 0 25px 70px rgba(4, 54, 89, .14);
      position: relative;
      z-index: 2;
    }

    .party-media {
      position: relative;
      overflow: hidden;
    }

    .party-media img {
      max-height: 610px;
      object-fit: cover;
      width: 100%;
      height: 100%;
      display: block;
    }

    .party-media::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, transparent 60%, rgba(215, 235, 247, .15));
    }

    .party-copy {
      padding: 58px;
      align-self: center;
    }

    .party .eyebrow {
      color: #a52b37;
    }

    .party-topics {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
      margin: 30px 0;
    }

    .party-topic {
      padding: 18px;
      border-radius: 17px;
      background: rgba(255, 255, 255, .78);
      box-shadow: 0 10px 28px rgba(4, 54, 89, .08);
      transition: .25s ease;
    }

    .party-topic:hover {
      color: #fff;
      background: var(--brand);
      transform: translateY(-4px);
    }

    .party-topic strong {
      display: block;
      margin-bottom: 5px;
      font-size: 15px;
    }

    .party-topic span {
      font-size: 12px;
      opacity: .66;
    }

    .party .btn-outline {
      color: var(--brand);
      background: rgba(255, 255, 255, .74);
      border-color: rgba(var(--brand-rgb), .24);
    }

    /* News */
    .news {
      position: relative;
      padding: 110px 0 110px;
      overflow: hidden;
    }

    .news::before {
      content: "NEWS";
      position: absolute;
      top: 50px;
      right: -25px;
      color: rgba(var(--brand-rgb), .05);
      font-size: min(18vw, 260px);
      font-weight: 700;
      line-height: 1;
      pointer-events: none;
    }

    .news-tabs {
      display: flex;
      gap: 9px;
      margin-bottom: 26px;
    }

    .news-tab {
      padding: 10px 17px;
      border: 0;
      border-radius: 999px;
      color: #35617f;
      background: rgba(255, 255, 255, .62);
      font: inherit;
      cursor: pointer;
      transition: .25s ease;
    }

    .news-tab.active {
      color: #fff;
      background: var(--brand);
      box-shadow: 0 9px 22px rgba(var(--brand-rgb), .22);
    }

    .news-layout {
      display: grid;
      grid-template-columns: 1.03fr .97fr;
      gap: 18px;
    }

    .news-panel:not(.active) {
      display: none;
    }

    .news-panel.active {
      display: grid;
    }

    .news-featured {
      position: relative;
      min-height: 500px;
      border-radius: 30px;
      height: 100%;
      overflow: hidden;
      box-shadow: var(--shadow);
    }

    .news-featured img {
      max-height: 600px;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .news-featured::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, transparent 35%, rgba(1, 33, 59, .6));
    }

    .news-featured-copy {
      position: absolute;
      z-index: 2;
      left: 34px;
      right: 34px;
      bottom: 32px;
      color: #fff;
    }

    .news-featured-copy h3 {
      margin: 15px 0 10px;
      font-size: 30px;
      line-height: 1.35;
      overflow: hidden;
      text-overflow: ellipsis;
      -webkit-line-clamp: 1;
      -webkit-box-orient: vertical;
      display: -webkit-box;
    }

    .news-featured-copy p {
      margin: 0;
      font-size: 13px;
      opacity: .67;
      overflow: hidden;
      text-overflow: ellipsis;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      display: -webkit-box;
    }

    .news-list {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      grid-template-rows: repeat(2, 1fr);
      gap: 16px;
    }

    .news-card {
      min-height: 240px;
      border-radius: 24px;
      overflow: hidden;
      color: #fff;
      background: #0a527f;
      box-shadow: 0 14px 36px rgba(4, 54, 89, .13);
      transition: .3s ease;
      display: flex;
      flex-direction: column;
      /* justify-content: space-between; */
      padding: 0;
      border: 0;
      gap: 0;
      align-items: flex-start
    }



    .news-card img {
      width: 100%;
      height: 200px;
      object-fit: cover;
    }

    .news-card-copy {
      padding: 18px;
    }

    .news-card h4 {
      margin: 0;
      font-size: 16px;
      line-height: 1.5;
      overflow: hidden;
      text-overflow: ellipsis;
      -webkit-line-clamp: 1;
      -webkit-box-orient: vertical;
      display: -webkit-box;
    }

    /* Disclosure */
    .disclosure {
      padding: 110px 0 120px;
      color: var(--ink);
      background: linear-gradient(135deg, #e9f6fd, #cfe8f5);
    }

    .disclosure .eyebrow {
      color: var(--brand);
    }

    .disclosure-shell {
      display: grid;
      grid-template-columns: .86fr 1.14fr;
      gap: 20px;
    }

    .disclosure-visual {
      position: relative;
      min-height: 520px;
      border-radius: 30px;
      overflow: hidden;
    }

    .disclosure-visual img {
      max-height: 900px;
      height: 100%;
      object-fit: cover;
    }

    .disclosure-visual::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, transparent 55%, rgba(1, 28, 50, .6));
    }

    .disclosure-visual-copy {
      position: absolute;
      z-index: 2;
      left: 30px;
      right: 30px;
      bottom: 28px;
      color: #fff;
    }

    .disclosure-visual-copy strong {
      display: block;
      font-size: 26px;
    }

    .disclosure-visual-copy span {
      font-size: 12px;
      opacity: .65;
    }

    .disclosure-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 14px;
    }

    .disclosure-card {
      position: relative;
      min-height: 158px;
      padding: 25px;
      border-radius: 22px;
      background: linear-gradient(145deg, rgba(255, 255, 255, .88), rgba(226, 242, 251, .92));
      box-shadow: 0 12px 32px rgba(4, 54, 89, .09);
      backdrop-filter: blur(10px);
      transition: .25s ease;
      overflow: hidden;
    }

    .disclosure-card::before {
      content: attr(data-no);
      position: absolute;
      right: 16px;
      bottom: -20px;
      color: rgba(var(--brand-rgb), .07);
      font-size: 72px;
    }

    .disclosure-card:hover {
      color: #fff;
      background: var(--brand);
      transform: translateY(-5px);
    }

    .disclosure-card h3 {
      margin: 0 0 10px;
      font-size: 20px;
    }

    .disclosure-card p {
      margin: 0;
      color: var(--muted);
      line-height: 1.7;
    }

    .disclosure-card:hover p {
      color: rgba(255, 255, 255, .72);
    }

    /* Contact */
    .contact {
      /* padding: 110px 0 120px; */
      background: linear-gradient(180deg, #deeff9, #ecf7fc);
      position: relative;
      padding: 90px 0;
      color: #fff;
      background-size: cover;
      background-position: center;
      background-attachment: fixed;
    }

    .contact::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(120deg, rgba(14, 42, 63, 0.9), rgba(16, 129, 217, 0.7));
    }

    .contact-copy {
      position: relative;
      z-index: 2;
      height: 100%;
      gap: 50px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }

    .contact-copy .eyebrow {
      color: #a8e4ff;
    }

    .contact-methods {
      display: grid;
      text-align: center;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
    }

    .contact-method {
      padding: 20px 30px;
      border-radius: 15px;
      background: rgba(255, 255, 255, .12);
      backdrop-filter: blur(9px);
    }

    .contact-method small {
      display: block;
      margin-bottom: 4px;
      opacity: .58;
      font-size: 12px;
    }

    .contact-method strong {
      line-height: 1.55;
      font-size: 15px;
    }

    /* Footer */
    .footer-vision {
      position: relative;
      min-height: 280px;
      display: grid;
      align-items: center;
      color: #fff;
      overflow: hidden;
    }

    .footer-vision img {
      position: absolute;
      inset: 0;
      height: 100%;
      object-fit: cover;
    }

    .footer-vision::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(0, 53, 94, .6), rgba(16, 129, 217, .3));
    }

    .footer-vision-inner {
      position: relative;
      z-index: 2;
      width: var(--container);
      margin: auto;
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 30px;
    }

    .footer-vision h2 {
      margin: 0;
      font-size: clamp(36px, 4vw, 58px);
    }

    .footer-vision p {
      margin: 10px 0 0;
      opacity: .68;
      letter-spacing: .13em;
      font-size: 11px;
    }

    /* 
    .site-footer {
      color: rgba(255, 255, 255, .72);
      background: #041e37;
    }

    .footer-main {
      padding: 54px 0 28px;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.35fr repeat(3, .72fr);
      gap: 45px;
    }

    .footer-brand {
      color: #fff;
      font-size: 20px;
    }

    .footer-text {
      margin-top: 14px;
      font-size: 11px;
      line-height: 1.9;
    }

    .footer-label {
      margin-bottom: 14px;
      color: #75ccfa;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .1em;
    }

    .footer-links {
      display: grid;
      gap: 9px;
      font-size: 11px;
    }

    .footer-links a:hover {
      color: #fff;
    }

    .footer-bottom {
      margin-top: 38px;
      padding-top: 20px;
      border-top: 1px solid rgba(255, 255, 255, .08);
      display: flex;
      justify-content: space-between;
      gap: 20px;
      font-size: 10px;
      opacity: .64;
    } */

    .back-top {
      position: fixed;
      z-index: 70;
      right: 24px;
      bottom: 24px;
      width: 46px;
      height: 46px;
      border: 0;
      border-radius: 50%;
      color: #fff;
      background: var(--brand);
      box-shadow: 0 12px 28px rgba(var(--brand-rgb), .3);
      cursor: pointer;
      opacity: 0;
      visibility: hidden;
      transform: translateY(10px);
      transition: .25s ease;
    }

    .back-top.show {
      opacity: 1;
      visibility: visible;
      transform: none;
    }

    @media (max-width: 1450px) {
      .about-grid {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 1210px) {
      .desktop-nav {
        display: none;
      }

      .brand {
        flex: 1
      }

      .nav-link {
        padding-inline: 10px;
        font-size: 12px;
      }

      .hero-values {
        width: var(--container);
      }
    }

    @media (max-width: 1020px) {
      .header-tools {
        margin-left: auto;
      }

      .menu-toggle {
        display: inline-grid;
        place-items: center;
      }

      .hero {
        min-height: 700px;
      }

      .hero-values {
        width: calc(100vw - 48px);
        grid-template-columns: repeat(5, minmax(150px, 1fr));
        overflow-x: auto;
      }

      .value-card {
        min-width: 150px;
      }

      .about-grid,
      .party-grid,
      .news-layout,
      .disclosure-shell {
        grid-template-columns: 1fr;
      }

      .about-visual {
        min-height: 500px;
      }

      .about-visual>img {
        height: 500px;
      }

      .about-floating {
        left: 22px;
      }

      .business-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(3, 260px);
      }

      .business-card:first-child {
        grid-row: 1 / 3;
      }

      .party-grid {
        min-height: 0;
      }

      .party-media {
        min-height: 430px;
      }

      .news-featured {
        min-height: 460px;
      }

      .disclosure-visual {
        min-height: 440px;
      }

      /* .footer-grid {
        grid-template-columns: 1.2fr repeat(2, .8fr);
      }

      .footer-grid> :last-child {
        display: none;
      } */
    }

    @media (max-width: 768px) {
      .hero {
        height: 760px;
        min-height: 720px;
      }

      /* .hero-shade {
        background: linear-gradient(90deg, rgba(16, 129, 217, .64), rgba(16, 129, 217, .20)), linear-gradient(0deg, rgba(16, 129, 217, .18), transparent 55%);
      } */

      .hero-content {
        left: 22px;
        top: 45%;
        width: calc(100vw - 44px);
      }

      .hero h1,
      .hero-title {
        font-size: clamp(44px, 13vw, 62px);
      }

      .hero-subtitle {
        font-size: 18px;
      }

      .hero-en {
        max-width: 290px;
      }

      .hero-values {
        width: 100%;
        border-radius: 0;
        grid-template-columns: repeat(5, 146px);
      }

      .value-card {
        min-height: 86px;
        padding: 17px;
      }

      .section-head {
        display: block;
        margin-bottom: 26px;
      }

      .about,
      .business,
      .projects,
      .party,
      .news,
      .disclosure,
      .contact {
        padding: 78px 0;
      }

      .about-grid {
        gap: 38px;
      }

      .about-stats {
        grid-template-columns: 1fr;
      }

      .about-visual,
      .about-visual>img {
        min-height: 410px;
        height: 410px;
      }

      .about-floating {
        left: 14px;
        right: 14px;
        width: auto;
        bottom: -22px;
      }

      .business-grid {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: none;
      }

      .business-card,
      .business-card:first-child {
        grid-row: auto;
        min-height: 310px;
      }

      .business-card:first-child {
        min-height: 430px;
      }

      .project-stage {
        min-height: 660px;
      }

      .project-stage img {
        object-position: 62% center;
      }

      .project-shade {
        background: linear-gradient(0deg, rgba(1, 30, 54, .94), rgba(1, 37, 65, .18) 78%);
      }

      .project-content {
        left: 24px;
        right: 24px;
        top: auto;
        bottom: 26px;
        width: auto;
        transform: none;
      }

      .project-content h3 {
        font-size: 34px;
      }

      .party-media {
        min-height: 320px;
      }

      .party-copy {
        padding: 34px 24px;
      }

      .party-topics {
        grid-template-columns: 1fr;
      }

      .news-tabs {
        overflow-x: auto;
        padding-bottom: 3px;
      }

      .news-tab {
        flex: 0 0 auto;
      }

      .news-featured {
        min-height: 430px;
      }

      .news-list {
        grid-template-columns: 1fr;
      }

      .news-card {
        min-height: 0;
        display: grid;
        grid-template-columns: 120px 1fr;
      }

      .news-card img {
        height: 100%;
        min-height: 150px;
      }

      .disclosure-grid {
        grid-template-columns: 1fr;
      }

      .disclosure-visual {
        min-height: 380px;
      }

      .contact-methods {
        grid-template-columns: repeat(1, 1fr);
      }

      /* .footer-vision {
        min-height: 330px;
      }

      .footer-vision-inner {
        align-items: flex-start;
        flex-direction: column;
      }

      .footer-grid {
        grid-template-columns: 1fr 1fr;
      }

      .footer-grid> :first-child {
        grid-column: 1 / -1;
      }

      .footer-bottom {
        flex-direction: column;
      } */
    }

    @media (prefers-reduced-motion: reduce) {

      *,
      *::before,
      *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
      }

      .reveal {
        opacity: 1;
        transform: none;
      }
    }