*{box-sizing:border-box} :root{color-scheme:light;--wine:#70122c;--pink:#f6b7bd;--ink:#3e2723;--paper:#fffbfa} body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.6 system-ui,sans-serif} main{width:min(100% - 2rem,45rem);margin:2.5rem auto 4rem} .wide{width:min(100% - 2rem,72rem)} header{text-align:center;padding:1rem 0 2rem} header img{display:block;width:9rem;height:7rem;object-fit:contain;margin:0 auto 1rem} .eyebrow{color:var(--wine);font-weight:700;letter-spacing:.09em;text-transform:uppercase;font-size:.78rem} h1,h2{color:var(--wine);line-height:1.15} h1{font:italic clamp(2.25rem,7vw,4rem)/1.05 "Times New Roman",serif;margin:.35em 0} h2{font-size:1.3rem;margin-top:0} .panel{padding:clamp(1rem,4vw,2rem);border:1px solid var(--pink);border-radius:.65rem;background:#fff} .columns,.grid{display:grid;gap:1rem;align-items:start} @media(min-width:700px){.columns,.grid{grid-template-columns:repeat(2,minmax(0,1fr))}} label{display:block;font-weight:650;margin:0 0 1rem} input,textarea{display:block;width:100%;min-height:44px;margin-top:.25rem;padding:.55rem;border:1px solid #9a7478;border-radius:.3rem;color:inherit;font:inherit} textarea{min-height:5rem;resize:vertical}.choice{display:flex;align-items:center;gap:.75rem;min-height:44px;font-weight:400}.choice input{width:1.3rem;height:1.3rem;min-height:0;flex:none;margin:0} button,nav a{min-height:44px;padding:.55rem .9rem;display:inline-flex;align-items:center;border:1px solid var(--wine);border-radius:.35rem;background:var(--wine);color:#fff;font:inherit;font-weight:650;cursor:pointer} button:hover,nav a:hover{background:var(--ink)} :focus-visible{outline:3px solid var(--wine);outline-offset:3px} a{color:var(--wine)} nav{display:flex;flex-wrap:wrap;gap:.65rem;margin:1rem 0}.fine{font-size:.88rem} summary{cursor:pointer;min-height:44px;padding:.5rem 0;overflow-wrap:anywhere} details{border-bottom:1px solid var(--pink);padding:.25rem 0} details p{overflow-wrap:anywhere;white-space:pre-wrap}

/* Controls shared by the public form and the back office. */
:root {
  --control-line: #9a7478;
  --control-hover: #fae1e5;
  --control-surface: #fff;
}

::selection {
  background: var(--pink);
  color: var(--wine);
}

input, textarea, select {
  accent-color: var(--wine);
}

input:not([type="checkbox"]), textarea, select {
  min-height: 48px;
  border: 1px solid var(--control-line);
  border-radius: .5rem;
  background-color: var(--control-surface);
}

input:not([type="checkbox"]):hover, textarea:hover, select:hover {
  border-color: var(--wine);
}

input:not([type="checkbox"]):focus-visible, textarea:focus-visible, select:focus-visible {
  border-color: var(--wine);
  outline-width: 2px;
  outline-offset: 2px;
}

input::file-selector-button, .button-secondary, button[data-close] {
  min-height: 44px;
  padding: .45rem .8rem;
  border: 1px solid var(--wine);
  border-radius: .5rem;
  background: var(--paper);
  color: var(--wine);
  font: inherit;
  cursor: pointer;
}

input::file-selector-button {
  margin-inline-end: .65rem;
}

input::file-selector-button:hover, .button-secondary:hover, button[data-close]:hover {
  background: var(--control-hover);
}

button:disabled {
  background: var(--control-hover);
  border-color: var(--control-line);
  color: var(--ink);
  cursor: not-allowed;
}

.contact-preferences {
  min-inline-size: 0;
  margin: .5rem 0 1.1rem;
  padding: .75rem;
  border: 1px solid var(--pink);
  border-radius: .6rem;
  background: var(--paper);
}
.contact-preferences > legend {
  padding-inline: .35rem;
  color: var(--wine);
  font-weight: 700;
}
.contact-preferences > legend span { font-size: .85rem; font-weight: 400; }
.contact-preferences .offers-choice { margin: 0; }
