/* ============================================================
   Theme: Art Nouveau (≈1893–1910)
   Tokens from 60-styles/art-nouveau.md — cream/champagne ground,
   antique gold as LINE only, mauve/sage washes, arch geometry.
   Detail layer: damask paper, botanical divider, corner curls,
   floral medallions, wax-seal chips, arch frames.
   ============================================================ */

html[data-style="art-nouveau"] {
  --bg: #F7F1E3;
  --bg-soft: #F0E7D2;
  --surface: #FDFAF2;
  --ink: #4A4132;
  --muted: #6B6153;

  --accent: #B08D3E;        /* gold — lines only, never text */
  --accent-fg: #4A4132;     /* tinted panels take ink text */
  --accent-ink: #7A5C25;    /* deepened gold, >=5:1 on cream */
  --accent-2: #9C7183;      /* mauve — strokes/washes */
  --accent-3: #8A9A7B;      /* sage — strokes/washes */

  --line: #B08D3E;
  --border-w: 1.5px;
  --radius: 2px;
  --chip-radius: 14px;

  --font-display: 'Prata', 'EB Garamond', serif;
  --font-body: 'EB Garamond', Georgia, serif;

  --h1-weight: 400;
  --h1-transform: none;
  --h1-tracking: .01em;
  --h1-lh: 1.16;
  --h2-weight: 400;
  --h2-transform: none;
  --h2-tracking: .01em;

  --kicker-transform: uppercase;
  --kicker-tracking: .26em;
  --kicker-weight: 600;

  --btn-weight: 600;
  --btn-transform: none;
  --btn-tracking: .05em;
  --btn-radius: 2px;

  --card-border-w: 1.5px;
  --card-radius: 2px;
  --card-pad: 1.7rem;

  --focus: #8C6D2F;
  --speed: 240ms;
  --hero-dur: 300ms;

  --cal-cell-border-w: 1px;
  --cal-cell-line: #E6DCBE;
  --brand-accent: #7A5C25;
  --sel-bg: #E4CBD6;
  --sel-fg: #4A4132;

  --title-rule: block;
  --orn-h: 24px;
  /* botanical divider: symmetric vines curling into a central bloom */
  --orn-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 260 24'%3E%3Cg fill='none' stroke='%23B08D3E' stroke-width='1.3'%3E%3Cpath d='M6 12 C34 12 48 4 62 10 C76 16 88 16 98 10'/%3E%3Cpath d='M254 12 C226 12 212 4 198 10 C184 16 172 16 162 10'/%3E%3Cpath d='M6 12 C20 6 28 20 40 14'/%3E%3Cpath d='M254 12 C240 6 232 20 220 14'/%3E%3C/g%3E%3Cg fill='%239C7183'%3E%3Cpath d='M130 3 C136 8 136 14 130 19 C124 14 124 8 130 3 Z'/%3E%3Cpath d='M122 11 C127 7 133 7 138 11 C133 15 127 15 122 11 Z' fill='%238A9A7B'/%3E%3C/g%3E%3Ccircle cx='130' cy='11' r='2.2' fill='%23B08D3E'/%3E%3Ccircle cx='98' cy='10' r='2' fill='%238A9A7B'/%3E%3Ccircle cx='162' cy='10' r='2' fill='%238A9A7B'/%3E%3C/svg%3E") no-repeat center / 260px 24px;
}

/* --- page ground: faint damask lattice over champagne --- */
html[data-style="art-nouveau"] body {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='84'%3E%3Cg fill='none' stroke='%23B08D3E' stroke-opacity='.14' stroke-width='1'%3E%3Cpath d='M42 24 C36 32 36 38 42 44 C48 38 48 32 42 24 Z'/%3E%3Cpath d='M24 42 C32 36 38 36 44 42 C38 48 32 48 24 42 Z'/%3E%3Cpath d='M60 42 C52 36 46 36 40 42 C46 48 52 48 60 42 Z'/%3E%3Cpath d='M42 60 C36 52 36 46 42 40 C48 46 48 52 42 60 Z'/%3E%3C/g%3E%3Cg stroke='%239C7183' stroke-opacity='.12' fill='none' stroke-width='1'%3E%3Cpath d='M0 10 C6 4 12 4 18 10'/%3E%3Cpath d='M84 10 C78 4 72 4 66 10'/%3E%3Cpath d='M0 74 C6 80 12 80 18 84'/%3E%3Cpath d='M84 74 C78 80 72 80 66 84'/%3E%3C/g%3E%3Ccircle cx='42' cy='42' r='2' fill='%23B08D3E' fill-opacity='.2'/%3E%3C/svg%3E");
}

/* --- header: double gold rule + botanical flourish --- */
html[data-style="art-nouveau"] .site-header {
  border-bottom: 1px solid var(--accent);
  box-shadow: 0 3px 0 -2px #C9B98C;
}

/* primary CTA carries the arch silhouette (R2) */
html[data-style="art-nouveau"] .btn--primary {
  border-radius: 26px 26px 4px 4px;
  background: var(--surface);
  color: var(--ink);
  border-color: var(--accent);
  box-shadow: inset 0 0 0 1px #E3D3A8;
}
html[data-style="art-nouveau"] .btn--primary:hover {
  background: var(--ink);
  color: #FDFAF2;
  border-color: var(--ink);
}
html[data-style="art-nouveau"] .btn--ghost {
  border-radius: 2px;
  border-color: #C9B98C;
}
html[data-style="art-nouveau"] .btn--ghost:hover { border-color: var(--ink); }

/* --- hero: arch container, inner hairline, corner curls, washes --- */
html[data-style="art-nouveau"] .hero__visual {
  max-width: 460px;
  margin-inline: auto;
  border: 1.5px solid var(--accent);
  outline: 1px solid var(--accent);
  outline-offset: 7px;
  border-radius: 230px 230px 14px 14px;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='none' stroke='%23B08D3E' stroke-width='1.2'%3E%3Cpath d='M6 34 C14 30 16 22 10 18 C4 15 2 22 8 25'/%3E%3Cpath d='M14 36 C22 34 26 28 22 22'/%3E%3C/g%3E%3Ccircle cx='22' cy='20' r='2.4' fill='%239C7183'/%3E%3C/svg%3E") no-repeat bottom 10px left 12px / 44px 44px,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cg fill='none' stroke='%23B08D3E' stroke-width='1.2'%3E%3Cpath d='M34 34 C26 30 24 22 30 18 C36 15 38 22 32 25'/%3E%3Cpath d='M26 36 C18 34 14 28 18 22'/%3E%3C/g%3E%3Ccircle cx='18' cy='20' r='2.4' fill='%238A9A7B'/%3E%3C/svg%3E") no-repeat bottom 10px right 12px / 44px 44px,
    radial-gradient(120% 90% at 20% 12%, #EBDCE4 0%, transparent 55%),
    radial-gradient(110% 80% at 85% 80%, #DFE6D4 0%, transparent 60%),
    var(--surface);
  overflow: hidden;
}

/* --- cards: organic corner curls (top-left / bottom-right) --- */
html[data-style="art-nouveau"] .card {
  position: relative;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Cpath d='M4 16 C4 8 10 4 16 4 C10 8 8 12 9 18 C6 18 4 17 4 16 Z' fill='%23E4CBD6' stroke='%239C7183' stroke-width='1'/%3E%3Cpath d='M4 24 C10 22 14 24 16 28 C11 28 7 27 4 24 Z' fill='none' stroke='%238A9A7B' stroke-width='1'/%3E%3Ccircle cx='6' cy='6' r='1.6' fill='%23B08D3E'/%3E%3C/svg%3E") no-repeat top left / 30px 30px,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Cpath d='M32 20 C32 28 26 32 20 32 C26 28 28 24 27 18 C30 18 32 19 32 20 Z' fill='%23DFE6D4' stroke='%238A9A7B' stroke-width='1'/%3E%3Cpath d='M32 12 C26 14 22 12 20 8 C25 8 29 9 32 12 Z' fill='none' stroke='%239C7183' stroke-width='1'/%3E%3Ccircle cx='30' cy='30' r='1.6' fill='%23B08D3E'/%3E%3C/svg%3E") no-repeat bottom right / 30px 30px;
}

/* --- medallions: floral ring around icon --- */
html[data-style="art-nouveau"] .medallion {
  border-radius: 50%;
  border: 1.5px solid var(--accent);
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 46 46'%3E%3Cg fill='none' stroke='%23C9B98C' stroke-width='1'%3E%3Cpath d='M23 2 C26 6 26 9 23 12 C20 9 20 6 23 2 Z'/%3E%3Cpath d='M23 44 C26 40 26 37 23 34 C20 37 20 40 23 44 Z'/%3E%3Cpath d='M2 23 C6 20 9 20 12 23 C9 26 6 26 2 23 Z'/%3E%3Cpath d='M44 23 C40 20 37 20 34 23 C37 26 40 26 44 23 Z'/%3E%3C/g%3E%3C/svg%3E") no-repeat center / 100% 100%,
    #FDFAF2;
  color: var(--accent-ink);
}
html[data-style="art-nouveau"] .medallion::after {
  content: ""; position: absolute; inset: -5px;
  border-radius: 50%; border: 1px solid #E3D3A8;
}

/* step numbers: floral medallion ring, ink numeral */
html[data-style="art-nouveau"] .step__num {
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Ccircle cx='28' cy='28' r='26' fill='none' stroke='%23B08D3E' stroke-width='1.4'/%3E%3Cg fill='none' stroke='%23C9B98C' stroke-width='1'%3E%3Ccircle cx='28' cy='28' r='21'/%3E%3Cpath d='M28 7 C31 11 31 14 28 17 C25 14 25 11 28 7 Z'/%3E%3Cpath d='M28 49 C31 45 31 42 28 39 C25 42 25 45 28 49 Z'/%3E%3Cpath d='M7 28 C11 25 14 25 17 28 C14 31 11 31 7 28 Z'/%3E%3Cpath d='M49 28 C45 25 42 25 39 28 C42 31 45 31 49 28 Z'/%3E%3C/g%3E%3C/svg%3E") no-repeat center / 100% 100%;
  color: var(--ink);
  border: 0;
  font-weight: 400;
  font-family: 'Prata', serif;
}

/* chips: wax-seal washes with ink text + gold border (a11y watchpoints) */
html[data-style="art-nouveau"] .chip { border-width: 1px; border-color: #C4A458; box-shadow: inset 0 0 0 2px rgba(253,250,242,.6); }
html[data-style="art-nouveau"] .chip--s { background: #F1E6C8; color: #4A4132; }
html[data-style="art-nouveau"] .chip--c { background: #EAD9E0; color: #4A4132; }
html[data-style="art-nouveau"] .chip--a { background: #E2E8DA; color: #4A4132; }
html[data-style="art-nouveau"] .chip--d { background: #EFE8D8; color: #4A4132; }

/* calendar: parchment + ornate corner medallions on the frame */
html[data-style="art-nouveau"] .cal {
  position: relative;
  border-width: 1.5px;
  background-color: var(--surface);
}
html[data-style="art-nouveau"] .cal::before,
html[data-style="art-nouveau"] .cal::after {
  content: ""; position: absolute; width: 30px; height: 30px; z-index: 1;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cg fill='none' stroke='%23B08D3E' stroke-width='1.2'%3E%3Ccircle cx='15' cy='15' r='6'/%3E%3Cpath d='M15 1 C18 5 18 8 15 11 C12 8 12 5 15 1 Z'/%3E%3Cpath d='M1 15 C5 12 8 12 11 15 C8 18 5 18 1 15 Z'/%3E%3C/g%3E%3Ccircle cx='15' cy='15' r='2.4' fill='%239C7183'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
}
html[data-style="art-nouveau"] .cal::before { top: -9px; left: 22px; }
html[data-style="art-nouveau"] .cal::after { top: -9px; right: 22px; transform: scaleX(-1); }
html[data-style="art-nouveau"] .cal__day { color: var(--accent-ink); }

/* quote: fleuron mark, italic serif, gold initial rule */
html[data-style="art-nouveau"] .quote blockquote {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'%3E%3Cpath d='M22 4 C28 12 34 14 40 14 C32 18 28 22 28 30 C28 36 30 39 34 41 C26 41 22 37 22 30 C22 22 18 18 10 14 C16 14 18 12 16 8 C18 10 20 9 19 5 C20 6 21 5 22 4 Z' fill='%239C7183' fill-opacity='.8'/%3E%3C/svg%3E") no-repeat top left / 40px 40px;
  padding-left: 3.2rem;
  padding-top: .4rem;
}
html[data-style="art-nouveau"] .quote p { font-style: italic; font-weight: 500; }
html[data-style="art-nouveau"] .quote figcaption {
  border-top: 1px solid #C9B98C; padding-top: .8rem; max-width: 46ch;
}

/* stats: gold hairlines with central bloom */
html[data-style="art-nouveau"] .stat {
  border-top-color: transparent;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 16'%3E%3Cpath d='M0 8 H92 M128 8 H220' stroke='%23C9B98C' stroke-width='1.2'/%3E%3Cpath d='M110 2 C114 5 114 11 110 14 C106 11 106 5 110 2 Z' fill='none' stroke='%23B08D3E' stroke-width='1.1'/%3E%3Ccircle cx='110' cy='8' r='1.6' fill='%239C7183'/%3E%3C/svg%3E") no-repeat top left / 100% 16px;
  padding-top: 1.5rem;
}

/* CTA: arched dark panel with gold double rule */
html[data-style="art-nouveau"] .cta {
  background:
    radial-gradient(140% 100% at 50% 115%, #5C5240 0%, transparent 55%),
    var(--ink);
  position: relative;
}
html[data-style="art-nouveau"] .cta::after {
  content: ""; position: absolute; inset: 12px 12px 0;
  border: 1px solid rgba(201,185,140,.5);
  border-bottom: 0;
  border-radius: 130px 130px 0 0;
  pointer-events: none;
}
html[data-style="art-nouveau"] .cta h2 { color: #EFE4C8; font-weight: 400; }
html[data-style="art-nouveau"] .cta p { color: #D8CFBC; }
html[data-style="art-nouveau"] .cta .btn--primary {
  background: transparent; color: #EFE4C8; border-color: #C9B98C;
}
html[data-style="art-nouveau"] .cta .btn--primary:hover { background: #EFE4C8; color: #4A4132; }
html[data-style="art-nouveau"] .cta .btn--ghost { border-color: #8B8270; color: #EFE4C8; }
html[data-style="art-nouveau"] .cta .btn--ghost:hover { background: #EFE4C8; color: #4A4132; border-color: #EFE4C8; }

/* links + kicker in deep gold */
html[data-style="art-nouveau"] .kicker { color: var(--accent-ink); }
html[data-style="art-nouveau"] a { color: var(--accent-ink); }

/* footer flourish */
html[data-style="art-nouveau"] .site-footer { border-top: 1px solid #C9B98C; }
