@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/static/yazi/cormorant-garamond-latin-ext.woff2?v=375a088756d1") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/static/yazi/cormorant-garamond-latin.woff2?v=8048ac209bec") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Jost";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/static/yazi/jost-latin-ext.woff2?v=470fd7161407") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Jost";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("/static/yazi/jost-latin.woff2?v=f94cffda1651") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --color-bg:             #F4F2EC;
  --color-surface:        #FFFFFF;
  --color-surface-alt:    #ECE4D2;
  --color-border:         #E1D9CE;
  --color-text-primary:   #15171A;
  --color-text-secondary: #6B665B;
  --color-text-muted:     var(--color-text-secondary);
  --color-accent:         #5E6B4F;
  --color-accent-dark:    #46503A;
  --color-accent-light:   #EDF0E9;
  --color-error:          #B91C1C;
  --color-success:        #166534;
  --color-overlay-warm:   #26211C;

  --font-display: "Cormorant Garamond", Georgia, serif;
  --font-body:    "Jost", system-ui, sans-serif;
  --font-label:   "Jost", system-ui, sans-serif;
  --button-transform: uppercase;

  --text-hero:    clamp(40px, 5vw, 64px);
  --text-h1:      clamp(36px, 5vw, 64px);
  --text-h2:      clamp(28px, 3.5vw, 44px);
  --text-h3:      clamp(20px, 2.5vw, 28px);
  --text-body-lg: 18px;
  --text-body:    16px;
  --text-small:   14px;
  --text-label:   12px;

  --space-xs:  8px;
  --space-sm:  16px;
  --space-md:  24px;
  --space-lg:  40px;
  --space-xl:  64px;
  --space-2xl: 96px;
  --space-3xl: 128px;

  --color-on-media:          #FFFFFF;
  --color-on-media-rgb:      255, 255, 255;
  --color-band-text:         #FFFFFF;
  --color-band-text-rgb:     255, 255, 255;
  --color-button-text:       #FFFFFF;
  --color-button-text-rgb:   255, 255, 255;
  --color-button-hover:      #000000;
  --color-text-primary-rgb:  21, 23, 26;
  --color-tint-rgb:          42, 42, 40;
  --color-glass-rgb:         248, 247, 243;
  --color-scrim-rgb:         0, 0, 0;
  --color-media-overlay-rgb: 0, 0, 0;
  --color-breadcrumb:        var(--color-text-secondary);
  --color-text-faint:        var(--color-text-secondary);
  --color-border-strong:     #857C70;
  --color-icon-empty:        #cccccc;
  --color-rating:            #f5b301;
  --color-rating-empty:      #d8d8d8;
  --color-error-bg:          #fbeaea;
  --color-success-bg:        #eaf3ed;
  --icon-chevron-down:       url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'><path d='M1 1L5 5L9 1' stroke='%231C1917' stroke-width='1.2'/></svg>");

  --radius-control: 2px;
  --radius-button:  2px;
  --radius-card:    2px;
  --radius-block:   2px;
  --radius-none:    0;
  --radius-sm:      3px;
  --radius-md:      4px;
  --radius-lg:      6px;
  --radius-xl:      8px;
  --radius-2xl:     12px;
  --radius-pill:    999px;
  --radius-round:   50%;

  --shadow-layer:          0 8px 40px rgba(0, 0, 0, 0.10);
  --shadow-sheet:          0 -8px 40px rgba(0, 0, 0, 0.1);
  --shadow-panel:          0 20px 40px rgba(0, 0, 0, 0.08);
  --shadow-popover:        0 12px 40px rgba(0, 0, 0, 0.14);
  --shadow-modal:          0 20px 60px rgba(0, 0, 0, 0.3);
  --shadow-float:          0 6px 18px rgba(0, 0, 0, 0.22);
  --shadow-float-hover:    0 8px 24px rgba(0, 0, 0, 0.28);
  --shadow-text-on-media:  0 1px 6px rgba(0, 0, 0, 0.45);
  --shadow-swatch-edge:    inset 0 0 0 1px rgba(0, 0, 0, 0.08);
  --shadow-ring-1:         0 0 0 1px;
  --shadow-ring-2:         0 0 0 2px;
  --shadow-ring-3:         0 0 0 3px;

  --card-ratio: 3 / 4;
  --card-fit:   cover;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: 400;
  line-height: 1.6;
  color: var(--color-text-primary);
  background: var(--color-bg);
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
h1, h2, h3, h4, h5, p, ul, ol, figure { margin: 0; }
ul, ol { padding: 0; }

@keyframes cc-page-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}
section {
  animation: cc-page-in 0.5s cubic-bezier(0.4, 0, 0.2, 1) both;
}
@media (prefers-reduced-motion: reduce) {
  section { animation: none; }
}
