/** Shopify CDN: Minification failed

Line 29:17 Expected identifier but found whitespace
Line 29:25 Unexpected "{"
Line 29:35 Expected ":"
Line 32:16 Expected identifier but found whitespace
Line 32:25 Unexpected "{"
Line 32:35 Expected ":"
Line 35:15 Expected identifier but found whitespace
Line 35:25 Unexpected "{"
Line 35:35 Expected ":"

**/
/* ============================================================
   SMOOTH SWING — BASE STYLESHEET
   Step 1: Full design system foundation
   ============================================================ */

/* ---- Reset ---- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body { overflow-x: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; }
button { cursor: pointer; font-family: inherit; }

/* ---- Design tokens ---- */
:root {
  /* Colors */
  --color-forest:       {{ settings.color_forest | default: '#1a2e1e' }};
  --color-forest-mid:   #2d4f35;
  --color-forest-dark:  #111a13;
  --color-cream:        {{ settings.color_cream | default: '#f5efe0' }};
  --color-cream-dark:   #e8dfc8;
  --color-cream-darker: #d4c9ac;
  --color-gold:         {{ settings.color_gold | default: '#c9a052' }};
  --color-gold-light:   #d9b872;
  --color-text:         #1c1c18;
  --color-muted:        #6b6555;
  --color-white:        #ffffff;

  /* Legacy aliases — keep so old section files don't break */
  --white:          var(--color-white);
  --off-white:      var(--color-cream);
  --warm-white:     var(--color-cream);
  --light-gray:     var(--color-cream-dark);
  --mid-gray:       var(--color-cream-darker);
  --text:           var(--color-text);
  --text-muted:     var(--color-muted);
  --forest:         var(--color-forest);
  --forest-dark:    var(--color-forest-dark);
  --star-gold:      var(--color-gold);
  --border:         var(--color-cream-dark);

  /* Typography */
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body:    'DM Sans', system-ui, sans-serif;

  /* Spacing scale */
  --space-xs:  8px;
  --space-sm:  16px;
  --space-md:  24px;
  --space-lg:  48px;
  --space-xl:  80px;
  --space-xxl: 120px;

  /* Section padding */
  --section-pad: 100px 6%;
  --max-width:   1280px;

  /* Shape */
  --radius-sm:   3px;
  --radius-md:   6px;

  /* Motion */
  --transition:  0.22s ease;
}

@media (max-width: 1024px) {
  :root { --section-pad: 72px 5%; }
}
@media (max-width: 768px) {
  :root { --section-pad: 52px 5%; }
}

/* ---- Body base ---- */
body {
  font-family: var(--font-body);
  color: var(--color-text);
  background: var(--color-white);
  font-size: 15px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

/* ---- Typography classes ---- */
.h1 { font-family: var(--font-display); font-size: clamp(40px, 6vw, 80px); font-weight: 400; line-height: 1.05; letter-spacing: -0.01em; }
.h2 { font-family: var(--font-display); font-size: clamp(30px, 4vw, 54px); font-weight: 400; line-height: 1.1; }
.h3 { font-family: var(--font-display); font-size: clamp(22px, 3vw, 36px); font-weight: 400; line-height: 1.15; }
.h4 { font-family: var(--font-display); font-size: clamp(18px, 2vw, 26px); font-weight: 400; }
.eyebrow { font-family: var(--font-body); font-size: 11px; font-weight: 500; letter-spacing: 0.13em; text-transform: uppercase; color: var(--color-gold); }
.body-lg  { font-family: var(--font-body); font-size: 17px; font-weight: 300; line-height: 1.75; }
.body-md  { font-family: var(--font-body); font-size: 15px; font-weight: 300; line-height: 1.7; }
.body-sm  { font-family: var(--font-body); font-size: 13px; font-weight: 300; line-height: 1.65; color: var(--color-muted); }

/* ---- Layout utilities ---- */
.section-inner {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: var(--section-pad);
}
.container {
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 6%;
}

/* ---- Skip link ---- */
.skip-link {
  position: absolute; top: -40px; left: 0;
  background: var(--color-text); color: var(--color-white);
  padding: 8px 16px; z-index: 999;
  font-size: 13px; font-weight: 600; text-decoration: none;
}
.skip-link:focus { top: 0; }

/* ---- Visually hidden ---- */
.visually-hidden {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
