/* src/presentation.css */
@layer reset, base, composition, components, responsive, motion;
@layer reset {
  *,
  *:before,
  *:after {
    box-sizing: border-box;
  }
  body,
  h1,
  h2,
  h3,
  p,
  figure,
  blockquote {
    margin: 0;
  }
  a {
    color: inherit;
    text-decoration: none;
  }
  button {
    font: inherit;
    color: inherit;
    cursor: pointer;
  }
  img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  button,
  summary,
  a {
    -webkit-tap-highlight-color: transparent;
  }
  [hidden] {
    display: none !important;
  }
}
@layer base {
  :root {
    --paper: #f6f8f4;
    --ink: #103d3e;
    --muted: #58706e;
    --line: #dce5de;
    --cyan: #00af9e;
    --deep: #062e31;
    --serif: "Noto Serif SC", "Songti SC", "SimSun", serif;
  }
  html {
    scroll-behavior: smooth;
    scroll-padding-top: 108px;
  }
  body {
    background: var(--paper);
    color: var(--ink);
    font-family:
      Microsoft YaHei,
      PingFang SC,
      system-ui,
      sans-serif;
    font-size: 15px;
    line-height: 1.75;
  }
  h1,
  h2,
  h3 {
    line-height: 1.3;
  }
  h2 {
    font-size: clamp(27px, 3vw, 40px);
    letter-spacing: -0.04em;
    font-weight: 600;
  }
  h3 {
    font-size: 21px;
    font-weight: 600;
  }
  button {
    border: 0;
  }
  a,
  button,
  summary {
    touch-action: manipulation;
  }
  a:focus-visible,
  button:focus-visible,
  summary:focus-visible {
    outline: 3px solid #08b8a6;
    outline-offset: 5px;
    border-radius: 3px;
  }
  ::selection {
    color: #fff;
    background: #157e76;
  }
  section[id],
  article[id] {
    scroll-margin-top: 105px;
  }
  .p4h7x2ka {
    width: min(1280px, calc(100% - 112px));
    margin-inline: auto;
  }
  .a8q3n5vd {
    padding-block: 104px;
  }
  .z7p1c5mx {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 11px;
    letter-spacing: 0.13em;
    font-weight: 600;
    margin-bottom: 22px;
  }
  .b9r3f7nm {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.8;
  }
  .a6m2r8vc,
  .f2n9w4se {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 26px;
    min-height: 51px;
    padding: 12px 25px;
    border-radius: 4px;
    font-size: 14px;
    transition:
      transform 0.22s,
      box-shadow 0.22s,
      background 0.22s;
  }
  .a6m2r8vc {
    background: linear-gradient(115deg, #18c4af, #6fe2b5);
    color: #073b35;
    font-weight: 700;
  }
  .a6m2r8vc:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px #0abca435;
  }
  .f2n9w4se {
    border: 1px solid #ffffff4d;
    color: #f5fffb;
  }
  .f2n9w4se:hover {
    background: #ffffff14;
    transform: translateY(-3px);
  }
  .w5m9r2tc {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
  }
  .g7k2r9cx {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 30px;
    margin-bottom: 40px;
  }
  .g7k2r9cx h2 > span {
    display: block;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.01em;
    color: var(--muted);
    margin-top: 14px;
  }
  .g7k2r9cx > p {
    color: var(--muted);
    font-size: 13px;
  }
  .j8c4w2ma {
    display: flex;
    align-items: center;
    gap: 30px;
    font-size: 13px;
    padding-bottom: 7px;
    border-bottom: 1px solid var(--ink);
    white-space: nowrap;
  }
  .j8c4w2ma:hover {
    color: #008a7a;
  }
  .l8n3w6ca {
    color: var(--muted);
    font-size: 12px;
  }
}
@layer composition {
  .v8k2m5qn {
    position: sticky;
    top: 0;
    z-index: 30;
    color: #eaf8f3;
    background: #062e31f5;
    backdrop-filter: blur(18px);
    border-bottom: 1px solid #ffffff15;
  }
  .c6w3n9ba {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    min-height: 84px;
  }
  .r3z8p6my {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    font-size: 20px;
    font-weight: 600;
    white-space: nowrap;
  }
  .r3z8p6my small {
    display: block;
    font-size: 7px;
    letter-spacing: 0.17em;
    font-weight: 400;
    line-height: 1.6;
  }
  .x9q2a7vt {
    width: 39px;
    height: 39px;
    border: 1px solid #78cabc;
    display: grid;
    place-items: center;
    border-radius: 10px 10px 10px 2px;
    color: #90e1c4;
    font-family: var(--serif);
    font-size: 24px;
  }
  .t5c9h2rk {
    display: flex;
    gap: 29px;
    align-items: center;
    font-size: 13px;
  }
  .t5c9h2rk a {
    padding-block: 29px;
    position: relative;
  }
  .t5c9h2rk a:after {
    content: "";
    height: 2px;
    background: #7bdbbb;
    position: absolute;
    bottom: 20px;
    left: 0;
    width: 0;
    transition: width 0.25s;
  }
  .t5c9h2rk a:hover:after,
  .t5c9h2rk a[aria-current]:after {
    width: 100%;
  }
  .u3k7b2nx {
    font-size: 12px;
    border: 1px solid #6cae9f80;
    padding: 8px 17px;
    border-radius: 3px;
    white-space: nowrap;
  }
  .u3k7b2nx span {
    margin-left: 17px;
    color: #8ee1bf;
  }
  .m4r8x1kc {
    display: none;
  }
  .j2f8n6wd {
    background: var(--deep);
    color: #f6fff9;
    position: relative;
    overflow: hidden;
  }
  .j2f8n6wd:before {
    content: "";
    position: absolute;
    width: 650px;
    height: 650px;
    background: radial-gradient(ellipse, #14675e44, transparent 68%);
    left: -250px;
    top: -200px;
    pointer-events: none;
  }
  .d7v3p8ay {
    display: grid;
    grid-template-columns: 1fr 1.02fr;
    gap: 65px;
    padding-block: 57px 48px;
    align-items: center;
  }
  .h8m2q5zc {
    position: relative;
    padding-bottom: 8px;
  }
  .h8m2q5zc .z7p1c5mx {
    color: #a2c9bc;
    margin-bottom: 28px;
  }
  .z7p1c5mx > span {
    width: 6px;
    height: 6px;
    background: #83d6b6;
    border-radius: 50%;
  }
  .h8m2q5zc h1 {
    font-family: var(--serif);
    font-weight: 500;
    font-size: clamp(52px, 5.3vw, 78px);
    letter-spacing: 0.02em;
    line-height: 1.22;
  }
  .b3q8n7yf {
    font-family:
      Microsoft YaHei,
      sans-serif;
    display: block;
    font-size: 15px;
    letter-spacing: 0.27em;
    margin-bottom: 20px;
    font-weight: 400;
  }
  .n6v9a2pc {
    color: #85dfba;
  }
  .g9a5t3vk {
    font-size: 18px;
    margin-top: 28px;
    color: #d9ece2;
  }
  .k2x8e4sm {
    max-width: 400px;
    font-size: 13px;
    line-height: 1.95;
    color: #a6c3b9;
    margin-block: 15px 28px;
  }
  .q4z1k8md {
    border-top: 1px solid #ffffff20;
    max-width: 385px;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding-top: 22px;
    margin-top: 40px;
    font-size: 10px;
    color: #88aca3;
  }
  .q4z1k8md > :first-child {
    letter-spacing: 0.14em;
  }
  .e8t4n2kc {
    position: relative;
    height: 540px;
    min-width: 0;
    isolation: isolate;
    border-radius: 160px 8px 8px;
    background: #1c5552;
    box-shadow: 20px 16px 0 -8px #ffffff07;
  }
  .s3w7p9ax {
    position: absolute;
    inset: 0;
    overflow: hidden;
    border-radius: inherit;
    opacity: 0;
    visibility: hidden;
    transition:
      opacity 1s,
      visibility 1s;
  }
  .s3w7p9ax[aria-hidden="false"] {
    opacity: 1;
    visibility: visible;
  }
  .s3w7p9ax:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, #062e3110 15%, #062e3120 40%, #042c2cdd);
  }
  .s3w7p9ax img {
    filter: saturate(0.75);
  }
  .c8m4y2va {
    position: absolute;
    z-index: 1;
    left: 38px;
    right: 28px;
    bottom: 91px;
  }
  .c8m4y2va > span {
    font-size: 11px;
    letter-spacing: 0.12em;
    color: #d6e8de;
  }
  .c8m4y2va strong {
    display: block;
    font-size: 38px;
    font-family: var(--serif);
    font-weight: 400;
    line-height: 1.4;
    margin-block: 12px;
  }
  .c8m4y2va p {
    font-size: 11px;
    color: #d3e6dc;
  }
  .r7b3q9mt {
    position: absolute;
    bottom: 23px;
    left: 36px;
    right: 26px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    z-index: 2;
    padding-top: 15px;
    border-top: 1px solid #ffffff50;
  }
  .l4x9m2ad {
    font-size: 9px;
    letter-spacing: 0.15em;
  }
  .o5c2v8ns {
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .o5c2v8ns button {
    background: #ffffff0a;
    width: 29px;
    height: 29px;
    border: 1px solid #ffffff50;
    border-radius: 50%;
    display: grid;
    place-items: center;
    line-height: 1;
    padding: 0;
  }
  .o5c2v8ns button:hover {
    background: #ffffff30;
  }
  .o5c2v8ns span {
    font-size: 10px;
    font-variant-numeric: tabular-nums;
  }
  .i9n4s6qz {
    position: absolute;
    top: 24px;
    right: 21px;
    font-size: 10px;
    writing-mode: vertical-rl;
    letter-spacing: 0.15em;
    z-index: 2;
    padding: 10px 5px;
    background: #062e3177;
  }
  .f8p3v7kc {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    border-top: 1px solid #ffffff20;
    padding-block: 20px 24px;
    font-size: 11px;
    color: #a2c3b7;
  }
  .f8p3v7kc > :first-child {
    color: #d4eadf;
    margin-right: auto;
  }
  .f8p3v7kc > a {
    color: #d4eadf;
    margin-left: auto;
  }
  .f8p3v7kc > a span {
    padding-left: 20px;
  }
  .n9p2c6xv {
    display: grid;
    grid-template-columns: 1.07fr 1fr;
    gap: 42px;
  }
  .u2z7c4pm {
    overflow: hidden;
    position: relative;
    background: #b6cec2;
    border-radius: 5px;
  }
  .u2z7c4pm img {
    transition:
      transform 0.6s,
      filter 0.6s;
    filter: saturate(0.7);
  }
  article a:hover .u2z7c4pm img {
    transform: scale(1.045);
    filter: saturate(1);
  }
  .h5v8r3na .u2z7c4pm {
    aspect-ratio: 1.65;
  }
  .e4k8b2vs {
    position: absolute;
    top: 19px;
    left: 19px;
    border: 1px solid #ffffff80;
    background: #073d3877;
    color: #fff;
    padding: 4px 11px;
    font-size: 10px;
    border-radius: 2px;
  }
  .p9d3x6wa {
    position: absolute;
    bottom: 17px;
    right: 20px;
    width: 40px;
    height: 40px;
    background: var(--paper);
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 21px;
  }
  .s6n2a9mk {
    padding-block: 20px 0;
  }
  .s6n2a9mk > span,
  .v4a9q2sk span {
    font-size: 10px;
    letter-spacing: 0.08em;
    color: #598075;
  }
  .s6n2a9mk h3 {
    font-size: 27px;
    margin-block: 6px 10px;
  }
  .s6n2a9mk p,
  .v4a9q2sk p {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.9;
  }
  .y8m3n6wc {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 26px;
  }
  .v4a9q2sk a {
    display: grid;
    grid-template-columns: 145px 1fr;
    gap: 26px;
    height: 100%;
    border-bottom: 1px solid var(--line);
    padding-bottom: 26px;
  }
  .v4a9q2sk .u2z7c4pm {
    min-height: 160px;
  }
  .v4a9q2sk a > div:last-child {
    position: relative;
    padding-top: 7px;
  }
  .v4a9q2sk h3 {
    margin-block: 9px;
  }
  .v4a9q2sk b {
    position: absolute;
    right: 0;
    bottom: 0;
    font-weight: 400;
  }
  #picks > .b9r3f7nm {
    margin-top: 24px;
  }
  .t7p9c2rm {
    border-block: 1px solid var(--line);
    background: #eaf0e9;
    padding-block: 72px;
  }
  .k5z8r3mw {
    display: grid;
    grid-template-columns: 0.85fr 1.5fr;
    gap: 70px;
  }
  .f3a7n2yc > p:last-child {
    font-size: 13px;
    color: var(--muted);
    max-width: 260px;
    margin-top: 24px;
  }
  .d2k6v9pa {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 34px 40px;
  }
  .q8m3x7nc {
    border-top: 1px solid #b9cdc0;
    padding-top: 20px;
  }
  .q8m3x7nc > span {
    display: block;
    font-size: 12px;
    color: #44887a;
    margin-bottom: 13px;
  }
  .q8m3x7nc h3 {
    font-size: 18px;
  }
  .q8m3x7nc p {
    font-size: 12px;
    color: var(--muted);
    margin-top: 10px;
  }
  .x5v7n2rp {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    margin-bottom: 31px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--line);
  }
  .x5v7n2rp button {
    background: transparent;
    border: 1px solid transparent;
    padding: 7px 18px;
    border-radius: 3px;
    font-size: 12px;
  }
  .x5v7n2rp button[aria-pressed="true"] {
    background: var(--ink);
    color: #fff;
  }
  .x5v7n2rp button:hover {
    border-color: #7fa898;
  }
  .x5v7n2rp button span {
    margin-left: 10px;
    font-size: 9px;
  }
  .x5v7n2rp > span {
    font-size: 11px;
    color: var(--muted);
    margin-left: auto;
  }
  .m8n2y5vc {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 27px;
  }
  .b7p3x9ca {
    min-width: 0;
    position: relative;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--line);
  }
  .b7p3x9ca > .u2z7c4pm {
    aspect-ratio: 1.45;
  }
  .b7p3x9ca:hover img {
    transform: scale(1.035);
  }
  .b7p3x9ca .u2z7c4pm > span {
    position: absolute;
    top: 14px;
    left: 15px;
    color: #fff;
    font-size: 10px;
    background: #103d3eb3;
    padding: 3px 8px;
    border-radius: 2px;
  }
  .v8p4m2nx {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-block: 17px 10px;
  }
  .v8p4m2nx h3 {
    font-size: 21px;
  }
  .v8p4m2nx span {
    font-size: 10px;
    color: #628277;
  }
  .b7p3x9ca > p {
    color: var(--muted);
    font-size: 12px;
    min-height: 44px;
  }
  .b7p3x9ca details {
    margin-top: 15px;
  }
  .b7p3x9ca summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    font-size: 11px;
    padding: 6px 0;
    color: #267566;
  }
  summary::-webkit-details-marker {
    display: none;
  }
  .b7p3x9ca details[open] summary > span:last-child {
    transform: rotate(45deg);
  }
  .b7p3x9ca details p {
    background: #eaf0e9;
    font-size: 12px;
    padding: 16px;
    border-radius: 3px;
    color: #45685e;
    margin-top: 10px;
  }
  .w3q8p4nz {
    background: #dcece4;
    padding-block: 76px;
    position: relative;
    overflow: hidden;
  }
  .r2k9v6am {
    display: grid;
    grid-template-columns: 0.85fr 1.3fr;
    gap: 95px;
    align-items: center;
  }
  .b5x7m2pc h2 {
    font-size: 36px;
    line-height: 1.6;
  }
  .b5x7m2pc em {
    font-family: var(--serif);
    font-size: 30px;
    font-weight: 400;
    font-style: normal;
  }
  .b5x7m2pc > p:not(.z7p1c5mx) {
    font-size: 12px;
    color: #54756a;
    line-height: 1.9;
    margin-top: 20px;
    max-width: 330px;
  }
  .k8r4a9vn {
    display: block;
    margin-top: 30px;
    color: #698779;
    font-size: 10px;
    letter-spacing: 0.07em;
  }
  .d9c3m7wp {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .d9c3m7wp li {
    border-top: 1px solid #b8cec1;
  }
  .d9c3m7wp li:last-child {
    border-bottom: 1px solid #b8cec1;
  }
  .d9c3m7wp a {
    display: flex;
    align-items: center;
    gap: 24px;
    padding-block: 23px;
    transition: padding 0.2s;
  }
  .d9c3m7wp a:hover {
    padding-left: 10px;
  }
  .d9c3m7wp a > span {
    font-family: Georgia, serif;
    font-size: 34px;
    color: #6b9381;
    line-height: 1;
  }
  .d9c3m7wp li:first-child a > span {
    color: #096b5d;
  }
  .d9c3m7wp h3 {
    font-size: 19px;
  }
  .d9c3m7wp p {
    font-size: 10px;
    color: #5c7b6e;
    margin-top: 5px;
  }
  .d9c3m7wp b {
    font-size: 10px;
    font-weight: 400;
    margin-left: auto;
    color: #47785f;
    white-space: nowrap;
  }
  .a3v8k6mc {
    display: grid;
    grid-template-columns: 0.9fr 1.15fr;
    gap: 100px;
    align-items: center;
  }
  .u7c2n9ma h2 {
    font-family: var(--serif);
    font-size: 42px;
    font-weight: 500;
    line-height: 1.45;
  }
  .u7c2n9ma > p:not(.z7p1c5mx):not(.b9r3f7nm) {
    font-size: 13px;
    color: var(--muted);
    margin-top: 24px;
    max-width: 330px;
  }
  .w8n3k7pv {
    margin-block: 30px 20px;
    max-width: 330px;
    border-top: 1px solid var(--line);
  }
  .w8n3k7pv button {
    width: 100%;
    text-align: left;
    padding: 13px 0;
    background: transparent;
    border-bottom: 1px solid var(--line);
    font-size: 13px;
    color: #6b7c74;
  }
  .w8n3k7pv button span {
    float: right;
  }
  .w8n3k7pv button[aria-pressed="true"] {
    color: #087b67;
    font-weight: 600;
  }
  .c3y9m2rk {
    position: relative;
    background: #dfece4;
    min-height: 550px;
    display: grid;
    place-items: center;
    border-radius: 5px;
    overflow: hidden;
  }
  .c3y9m2rk:before {
    content: "";
    position: absolute;
    width: 410px;
    height: 410px;
    border: 1px solid #b5d0bf;
    border-radius: 50%;
  }
  .c3y9m2rk:after {
    content: "";
    position: absolute;
    width: 490px;
    height: 490px;
    border: 1px solid #c8dcd0;
    border-radius: 50%;
    pointer-events: none;
  }
  .e6q2p7ma {
    position: absolute;
    left: 26px;
    top: 28px;
    font-size: 9px;
    letter-spacing: 0.15em;
    color: #678376;
    writing-mode: vertical-rl;
  }
  .k3n8p2vm {
    width: 245px;
    padding: 13px 10px 17px;
    background: #f9fbf7;
    border: 5px solid #194b44;
    border-radius: 35px;
    position: relative;
    z-index: 1;
    box-shadow: 17px 23px 35px #254e4325;
    transform: rotate(4deg);
  }
  .g6m4x8ca {
    width: 65px;
    height: 15px;
    border-radius: 15px;
    background: #123f38;
    margin: -5px auto 11px;
  }
  .s9c2w7na {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 8px;
    margin: 0 4px 10px;
  }
  .s9c2w7na > :first-child {
    font-size: 12px;
    font-weight: 700;
  }
  .t4b8m3vk {
    position: relative;
    height: 260px;
    border-radius: 18px 18px 3px 3px;
    overflow: hidden;
    background: #9dc6b7;
  }
  .t4b8m3vk img {
    filter: saturate(0.65);
  }
  .t4b8m3vk > span {
    font-size: 8px;
    color: #fff;
    background: #16463dbb;
    position: absolute;
    left: 8px;
    bottom: 8px;
    padding: 3px 6px;
    border-radius: 2px;
  }
  .p2v9n4mk {
    padding: 13px 6px 0;
  }
  .p2v9n4mk small {
    font-size: 8px;
    color: #518474;
  }
  .p2v9n4mk h3 {
    font-size: 20px;
    margin-top: 4px;
  }
  .p2v9n4mk p {
    font-size: 9px;
    color: var(--muted);
    margin-block: 8px 12px;
  }
  .p2v9n4mk a {
    display: flex;
    justify-content: space-between;
    font-size: 10px;
    background: #164c40;
    color: #fff;
    padding: 7px 10px;
    border-radius: 4px;
  }
  .x8k2c6pn {
    position: absolute;
    left: 28px;
    bottom: 46px;
    background: #f8fbf6;
    padding: 15px 18px;
    display: flex;
    align-items: center;
    gap: 15px;
    z-index: 2;
    box-shadow: 0 7px 20px #123e3d0d;
  }
  .x8k2c6pn > span {
    font-size: 28px;
    color: #319b7e;
  }
  .x8k2c6pn p {
    font-size: 10px;
  }
  .x8k2c6pn strong {
    font-size: 12px;
    font-weight: 500;
  }
  .s8p3n6wc {
    background: #eaf0e9;
    padding-block: 75px;
  }
  .n4m7c2vx {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 45px;
    padding: 0;
    margin: 0;
    list-style: none;
  }
  .n4m7c2vx li {
    border-top: 1px solid #bcd0c2;
    padding-top: 22px;
  }
  .n4m7c2vx li > span {
    display: block;
    color: #70a38b;
    font-family: Georgia, serif;
    font-size: 31px;
    margin-bottom: 17px;
  }
  .n4m7c2vx h3 {
    font-size: 19px;
  }
  .n4m7c2vx p {
    color: var(--muted);
    font-size: 12px;
    margin-block: 13px 20px;
  }
  .n4m7c2vx a {
    font-size: 11px;
    color: #26735c;
  }
  .k9m4v2nc {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
  }
  .k9m4v2nc figure {
    padding: 25px 27px;
    border: 1px solid var(--line);
    border-radius: 4px;
  }
  .k9m4v2nc figure > span {
    font-family: Georgia, serif;
    font-size: 52px;
    color: #8dc2aa;
    line-height: 1;
  }
  .k9m4v2nc blockquote {
    font-size: 13px;
    line-height: 2;
    color: #47695e;
    min-height: 110px;
  }
  .k9m4v2nc figcaption {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    border-top: 1px solid var(--line);
    padding-top: 17px;
    margin-top: 22px;
    font-size: 12px;
  }
  .k9m4v2nc small {
    font-size: 10px;
    color: #7a9285;
  }
  .b8n2v6mc {
    display: grid;
    grid-template-columns: 0.7fr 1.35fr;
    gap: 100px;
    border-top: 1px solid var(--line);
    padding-block: 85px 110px;
  }
  .b8n2v6mc h2 {
    line-height: 1.7;
    font-size: 34px;
  }
  .b8n2v6mc h2 span {
    font-family: var(--serif);
    font-weight: 400;
    font-size: 29px;
  }
  .b8n2v6mc > div > p:last-child {
    font-size: 12px;
    color: var(--muted);
    margin-top: 22px;
  }
  .q3v8k5na details {
    border-bottom: 1px solid var(--line);
  }
  .q3v8k5na details:first-child {
    border-top: 1px solid var(--line);
  }
  .q3v8k5na summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    list-style: none;
    cursor: pointer;
    padding-block: 20px;
    font-size: 14px;
  }
  .q3v8k5na summary span {
    font-size: 20px;
    color: #55927a;
    font-weight: 300;
    transition: transform 0.2s;
  }
  .q3v8k5na details[open] summary span {
    transform: rotate(45deg);
  }
  .q3v8k5na details p {
    font-size: 12px;
    color: var(--muted);
    padding-bottom: 22px;
    padding-right: 30px;
    line-height: 1.95;
  }
  .v6q3m8nk {
    background: var(--deep);
    border-radius: 8px;
    padding: 57px 65px;
    display: grid;
    grid-template-columns: 1fr 270px;
    gap: 60px;
    color: #f4fff7;
    position: relative;
    overflow: hidden;
    margin-bottom: 95px;
  }
  .v6q3m8nk .z7p1c5mx {
    color: #88baa6;
  }
  .v6q3m8nk h2 {
    font-size: 31px;
    line-height: 1.7;
  }
  .v6q3m8nk h2 span {
    font-family: var(--serif);
    font-weight: 400;
    font-size: 24px;
    color: #b7e6cd;
  }
  .v6q3m8nk > div > p:not(.z7p1c5mx) {
    font-size: 12px;
    color: #a4c6b6;
    max-width: 420px;
    margin-block: 19px 27px;
  }
  .m2x7n5vc {
    border: 1px solid #a1c8ac44;
    background: #ffffff05;
    border-radius: 5px;
    padding: 23px;
    align-self: center;
  }
  .m2x7n5vc .x9q2a7vt {
    margin-bottom: 17px;
  }
  .m2x7n5vc strong {
    display: block;
    font-size: 15px;
    font-weight: 500;
  }
  .m2x7n5vc p {
    font-size: 11px;
    color: #a3c2b1;
    margin-block: 10px 17px;
  }
  .m2x7n5vc > span:last-child {
    font-size: 9px;
    color: #86b29c;
  }
  .a5r9c2nm {
    border-top: 1px solid var(--line);
    background: #edf2eb;
  }
  .d4n8m2vc {
    display: grid;
    grid-template-columns: 0.7fr 1.5fr;
    gap: 90px;
    padding-block: 60px 44px;
  }
  .a5r9c2nm .x9q2a7vt {
    color: #2c8268;
    border-color: #7db69a;
  }
  .d4n8m2vc h2 {
    font-size: 12px;
    letter-spacing: 0.05em;
    font-weight: 400;
    margin-top: 20px;
    color: var(--muted);
  }
  .d4n8m2vc > p {
    color: #587568;
    font-size: 12px;
    line-height: 2.1;
  }
  .z3m7n9kc {
    display: grid;
    grid-template-columns: 0.7fr 1.5fr;
    gap: 90px;
    padding-block: 32px 40px;
    border-top: 1px solid #d2dfd2;
  }
  .z3m7n9kc h3 {
    font-size: 13px;
  }
  .z3m7n9kc span {
    font-size: 8px;
    letter-spacing: 0.14em;
    color: #78917f;
  }
  .z3m7n9kc > div:last-child {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    font-size: 11px;
    color: #527260;
  }
  .z3m7n9kc a:hover {
    color: #007764;
  }
  .u8m2c5nr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid #d2dfd2;
    padding-block: 23px;
    font-size: 9px;
    color: #738b78;
  }
  .u8m2c5nr a {
    color: #396d53;
  }
}
@layer components {
  .f4n8x2vm {
    min-width: 0;
  }
  .y2b7e4nk {
    position: fixed;
    top: -100px;
    left: 20px;
    z-index: 100;
    background: #fff;
    color: var(--ink);
    padding: 12px 20px;
  }
  .y2b7e4nk:focus {
    top: 10px;
  }
}
@layer responsive {
  @media (min-width: 1550px) {
    .d7v3p8ay {
      gap: 110px;
    }
  }
  @media (max-width: 1150px) {
    .p4h7x2ka {
      width: calc(100% - 64px);
    }
    .t5c9h2rk {
      gap: 19px;
    }
    .d7v3p8ay {
      gap: 30px;
    }
    .e8t4n2kc {
      height: 520px;
      border-top-left-radius: 120px;
    }
    .h8m2q5zc h1 {
      font-size: 61px;
    }
    .n9p2c6xv {
      gap: 25px;
    }
    .v4a9q2sk a {
      grid-template-columns: 115px 1fr;
      gap: 20px;
    }
    .v4a9q2sk .u2z7c4pm {
      min-height: 145px;
    }
    .r2k9v6am,
    .a3v8k6mc,
    .b8n2v6mc {
      gap: 55px;
    }
    .v6q3m8nk {
      padding: 45px;
      gap: 40px;
    }
  }
  @media (max-width: 900px) {
    .t5c9h2rk {
      font-size: 11px;
      gap: 15px;
    }
    .u3k7b2nx {
      display: none;
    }
    .h8m2q5zc h1 {
      font-size: 52px;
    }
    .e8t4n2kc {
      height: 510px;
    }
    .c8m4y2va strong {
      font-size: 31px;
    }
    .r7b3q9mt {
      left: 24px;
      right: 20px;
    }
    .l4x9m2ad {
      display: none;
    }
    .o5c2v8ns {
      margin-left: auto;
    }
    .h8m2q5zc .a6m2r8vc,
    .h8m2q5zc .f2n9w4se {
      padding-inline: 15px;
      gap: 12px;
      font-size: 12px;
    }
    .q4z1k8md {
      font-size: 9px;
    }
    .n9p2c6xv {
      grid-template-columns: 1fr;
      gap: 30px;
    }
    .y8m3n6wc {
      grid-template-columns: 1fr 1fr;
      grid-template-rows: auto;
      gap: 25px;
    }
    .v4a9q2sk a {
      grid-template-columns: 100px 1fr;
      gap: 17px;
    }
    .v4a9q2sk h3 {
      font-size: 20px;
    }
    .v4a9q2sk p {
      font-size: 12px;
    }
    .k5z8r3mw {
      gap: 40px;
      grid-template-columns: 0.8fr 1.4fr;
    }
    .m8n2y5vc {
      grid-template-columns: repeat(2, 1fr);
    }
    .r2k9v6am {
      grid-template-columns: 0.8fr 1.1fr;
      gap: 35px;
    }
    .b5x7m2pc h2 {
      font-size: 30px;
    }
    .b5x7m2pc em {
      font-size: 24px;
    }
    .d9c3m7wp a {
      gap: 15px;
    }
    .d9c3m7wp b {
      display: none;
    }
    .a3v8k6mc {
      gap: 35px;
    }
    .u7c2n9ma h2 {
      font-size: 34px;
    }
    .c3y9m2rk {
      min-height: 530px;
    }
    .x8k2c6pn {
      left: 15px;
      bottom: 23px;
      padding: 12px;
    }
    .k9m4v2nc {
      gap: 15px;
    }
    .k9m4v2nc figure {
      padding: 22px 18px;
    }
    .k9m4v2nc blockquote {
      min-height: 155px;
    }
    .k9m4v2nc figcaption {
      flex-wrap: wrap;
    }
    .v6q3m8nk {
      grid-template-columns: 1fr 220px;
      padding: 37px;
      gap: 30px;
    }
    .v6q3m8nk h2 {
      font-size: 27px;
    }
    .v6q3m8nk h2 span {
      font-size: 21px;
    }
    .v6q3m8nk .f2n9w4se {
      border: 0;
      padding-inline: 0;
    }
    .d4n8m2vc,
    .z3m7n9kc {
      gap: 40px;
    }
  }
  @media (max-width: 680px) {
    html {
      scroll-padding-top: 85px;
    }
    section[id],
    article[id] {
      scroll-margin-top: 83px;
    }
    .p4h7x2ka {
      width: calc(100% - 40px);
    }
    .a8q3n5vd {
      padding-block: 65px;
    }
    .c6w3n9ba {
      min-height: 70px;
      gap: 12px;
    }
    .r3z8p6my {
      font-size: 18px;
      gap: 9px;
    }
    .x9q2a7vt {
      width: 34px;
      height: 34px;
      font-size: 21px;
    }
    .r3z8p6my small {
      font-size: 6px;
    }
    .m4r8x1kc {
      display: flex;
      align-items: center;
      gap: 8px;
      background: transparent;
      border: 1px solid #ffffff40;
      font-size: 11px;
      padding: 7px 11px;
      border-radius: 3px;
    }
    .m4r8x1kc > span:first-child {
      font-size: 15px;
    }
    .t5c9h2rk {
      display: none;
      position: absolute;
      top: 70px;
      left: 0;
      width: 100%;
      padding: 14px 20px 22px;
      background: #073337;
      border-bottom: 1px solid #b2dfc540;
      grid-template-columns: 1fr 1fr;
      gap: 3px 20px;
      max-height: calc(100dvh - 70px);
      overflow: auto;
    }
    .t5c9h2rk[data-open] {
      display: grid;
    }
    .t5c9h2rk a {
      padding: 11px 9px;
      font-size: 13px;
      border-bottom: 1px solid #ffffff15;
    }
    .t5c9h2rk a:after {
      display: none;
    }
    .d7v3p8ay {
      grid-template-columns: 1fr;
      padding-block: 38px 35px;
      gap: 35px;
    }
    .h8m2q5zc .z7p1c5mx {
      margin-bottom: 23px;
    }
    .h8m2q5zc h1 {
      font-size: clamp(51px, 12vw, 69px);
    }
    .b3q8n7yf {
      font-size: 13px;
      margin-bottom: 14px;
    }
    .g9a5t3vk {
      font-size: 16px;
      margin-top: 23px;
    }
    .k2x8e4sm {
      max-width: 100%;
      font-size: 12px;
      margin-block: 13px 24px;
    }
    .h8m2q5zc .a6m2r8vc,
    .h8m2q5zc .f2n9w4se {
      font-size: 12px;
      padding-inline: 18px;
      min-height: 47px;
    }
    .q4z1k8md {
      margin-top: 29px;
      padding-top: 18px;
      max-width: 100%;
    }
    .e8t4n2kc {
      height: 430px;
      border-top-left-radius: 100px;
      box-shadow: 10px 10px 0 -3px #ffffff07;
    }
    .c8m4y2va {
      left: 27px;
      bottom: 90px;
    }
    .c8m4y2va strong {
      font-size: 34px;
    }
    .l4x9m2ad {
      display: block;
    }
    .f8p3v7kc {
      font-size: 9px;
      gap: 13px;
      padding-block: 17px 20px;
    }
    .f8p3v7kc > span:nth-child(3),
    .f8p3v7kc > span:nth-child(4) {
      display: none;
    }
    .f8p3v7kc > a span {
      padding-left: 10px;
    }
    .z7p1c5mx {
      font-size: 9px;
      margin-bottom: 16px;
    }
    .g7k2r9cx {
      display: block;
      margin-bottom: 28px;
    }
    .g7k2r9cx .j8c4w2ma {
      width: fit-content;
      margin-top: 22px;
    }
    .g7k2r9cx > .l8n3w6ca,
    .g7k2r9cx > p {
      display: block;
      margin-top: 18px;
      font-size: 11px;
    }
    .g7k2r9cx h2 > span {
      font-size: 12px;
      margin-top: 11px;
      line-height: 1.6;
    }
    .n9p2c6xv {
      gap: 28px;
    }
    .h5v8r3na .u2z7c4pm {
      aspect-ratio: 1.32;
    }
    .s6n2a9mk h3 {
      font-size: 25px;
    }
    .y8m3n6wc {
      grid-template-columns: 1fr;
      gap: 21px;
    }
    .v4a9q2sk a {
      grid-template-columns: 115px 1fr;
      gap: 20px;
      padding-bottom: 21px;
    }
    .v4a9q2sk .u2z7c4pm {
      min-height: 142px;
    }
    .v4a9q2sk span {
      font-size: 9px;
    }
    .v4a9q2sk h3 {
      font-size: 21px;
    }
    .v4a9q2sk p {
      font-size: 11px;
    }
    #picks > .b9r3f7nm {
      font-size: 10px;
    }
    .t7p9c2rm {
      padding-block: 53px;
    }
    .k5z8r3mw {
      grid-template-columns: 1fr;
      gap: 30px;
    }
    .f3a7n2yc h2 br {
      display: none;
    }
    .f3a7n2yc > p:last-child {
      max-width: none;
      font-size: 12px;
      margin-top: 18px;
    }
    .d2k6v9pa {
      gap: 26px 23px;
    }
    .q8m3x7nc {
      padding-top: 16px;
    }
    .q8m3x7nc h3 {
      font-size: 16px;
    }
    .q8m3x7nc p {
      font-size: 11px;
    }
    .x5v7n2rp {
      gap: 6px;
      padding-bottom: 18px;
      margin-bottom: 22px;
    }
    .x5v7n2rp button {
      padding: 6px 12px;
      font-size: 11px;
    }
    .x5v7n2rp button span {
      margin-left: 4px;
    }
    .x5v7n2rp > span {
      flex-basis: 100%;
      margin-top: 8px;
      font-size: 10px;
    }
    .m8n2y5vc {
      gap: 26px 15px;
    }
    .b7p3x9ca > .u2z7c4pm {
      aspect-ratio: 0.8;
    }
    .b7p3x9ca .u2z7c4pm > span {
      left: 9px;
      top: 10px;
      font-size: 8px;
      padding-inline: 5px;
    }
    .v8p4m2nx {
      display: block;
      margin-block: 12px 8px;
    }
    .v8p4m2nx h3 {
      font-size: 17px;
    }
    .v8p4m2nx span {
      font-size: 9px;
      margin-top: 4px;
      display: block;
    }
    .b7p3x9ca > p {
      font-size: 10px;
      min-height: 54px;
    }
    .b7p3x9ca summary {
      font-size: 10px;
    }
    .b7p3x9ca details p {
      font-size: 10px;
      padding: 11px;
    }
    .w3q8p4nz {
      padding-block: 55px;
    }
    .r2k9v6am {
      grid-template-columns: 1fr;
      gap: 32px;
    }
    .b5x7m2pc h2 {
      font-size: 29px;
    }
    .b5x7m2pc em {
      font-size: 26px;
    }
    .b5x7m2pc > p:not(.z7p1c5mx) {
      max-width: none;
      margin-top: 16px;
    }
    .k8r4a9vn {
      margin-top: 18px;
    }
    .d9c3m7wp a {
      padding-block: 19px;
      gap: 21px;
    }
    .d9c3m7wp a > span {
      font-size: 31px;
    }
    .d9c3m7wp h3 {
      font-size: 18px;
    }
    .d9c3m7wp b {
      display: block;
      font-size: 9px;
    }
    .d9c3m7wp p {
      font-size: 9px;
    }
    .a3v8k6mc {
      grid-template-columns: 1fr;
      gap: 34px;
    }
    .u7c2n9ma h2 {
      font-size: 35px;
    }
    .u7c2n9ma > p:not(.z7p1c5mx):not(.b9r3f7nm) {
      max-width: none;
      font-size: 12px;
    }
    .w8n3k7pv {
      max-width: none;
    }
    .c3y9m2rk {
      min-height: 535px;
    }
    .x8k2c6pn {
      left: 12px;
      bottom: 24px;
    }
    .s8p3n6wc {
      padding-block: 55px;
    }
    .s8p3n6wc h2 {
      font-size: 27px;
    }
    .n4m7c2vx {
      grid-template-columns: 1fr;
      gap: 28px;
    }
    .n4m7c2vx li {
      padding-left: 53px;
      position: relative;
      padding-top: 20px;
    }
    .n4m7c2vx li > span {
      position: absolute;
      top: 13px;
      left: 0;
      font-size: 27px;
    }
    .n4m7c2vx h3 {
      font-size: 18px;
    }
    .n4m7c2vx p {
      font-size: 12px;
      margin-block: 11px 14px;
    }
    .k9m4v2nc {
      grid-template-columns: 1fr;
      gap: 17px;
    }
    .k9m4v2nc figure {
      padding: 24px;
    }
    .k9m4v2nc blockquote {
      min-height: 0;
      font-size: 12px;
    }
    .k9m4v2nc figcaption {
      margin-top: 19px;
      padding-top: 15px;
    }
    .b8n2v6mc {
      grid-template-columns: 1fr;
      gap: 30px;
      padding-block: 55px 65px;
    }
    .b8n2v6mc h2 {
      font-size: 29px;
    }
    .b8n2v6mc h2 span {
      font-size: 27px;
    }
    .b8n2v6mc > div > p:last-child {
      margin-top: 16px;
    }
    .q3v8k5na summary {
      font-size: 13px;
      gap: 13px;
      padding-block: 19px;
    }
    .q3v8k5na details p {
      padding-right: 5px;
      font-size: 11px;
    }
    .v6q3m8nk {
      padding: 32px 24px;
      grid-template-columns: 1fr;
      gap: 32px;
      margin-bottom: 60px;
    }
    .v6q3m8nk h2 {
      font-size: 26px;
    }
    .v6q3m8nk h2 span {
      font-size: 21px;
    }
    .v6q3m8nk .w5m9r2tc {
      display: grid;
      gap: 5px;
    }
    .v6q3m8nk .a6m2r8vc {
      font-size: 12px;
      justify-content: space-between;
    }
    .v6q3m8nk .f2n9w4se {
      justify-content: start;
      font-size: 12px;
    }
    .m2x7n5vc {
      padding: 21px;
    }
    .d4n8m2vc {
      grid-template-columns: 1fr;
      gap: 25px;
      padding-block: 45px 30px;
    }
    .d4n8m2vc > p {
      font-size: 11px;
    }
    .d4n8m2vc h2 {
      margin-top: 17px;
    }
    .z3m7n9kc {
      grid-template-columns: 1fr;
      gap: 20px;
      padding-block: 25px 30px;
    }
    .z3m7n9kc > div:last-child {
      grid-template-columns: repeat(3, 1fr);
      font-size: 10px;
      gap: 13px;
    }
    .u8m2c5nr {
      flex-wrap: wrap;
      gap: 10px;
      font-size: 8px;
      padding-block: 20px;
    }
    .u8m2c5nr > p {
      width: 100%;
    }
  }
  @media (max-width: 350px) {
    .p4h7x2ka {
      width: calc(100% - 30px);
    }
    .h8m2q5zc h1 {
      font-size: 47px;
    }
    .w5m9r2tc {
      gap: 10px;
    }
    .h8m2q5zc .a6m2r8vc,
    .h8m2q5zc .f2n9w4se {
      padding-inline: 12px;
      gap: 8px;
    }
    .d9c3m7wp b {
      display: none;
    }
    .v4a9q2sk a {
      grid-template-columns: 95px 1fr;
      gap: 16px;
    }
    .v4a9q2sk span {
      font-size: 8px;
    }
    .x5v7n2rp button {
      padding-inline: 10px;
    }
    .v6q3m8nk {
      padding-inline: 20px;
    }
    .v6q3m8nk h2 span {
      font-size: 19px;
    }
    .r7b3q9mt {
      left: 20px;
      right: 16px;
    }
    .l4x9m2ad {
      font-size: 7px;
    }
    .o5c2v8ns {
      gap: 8px;
    }
  }
}
@layer motion {
  html[data-motion] [data-reveal] {
    opacity: 0;
    transform: translateY(22px);
    transition:
      opacity 0.7s,
      transform 0.7s;
  }
  html[data-motion] [data-reveal][data-seen] {
    opacity: 1;
    transform: none;
  }
  @media (prefers-reduced-motion: reduce) {
    html {
      scroll-behavior: auto;
    }
    *,
    *:before,
    *:after {
      animation: none !important;
      transition: none !important;
    }
    html[data-motion] [data-reveal] {
      opacity: 1;
      transform: none;
    }
  }
}
