@import url("https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700;800&display=swap");

*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--surface-100);color:var(--ink);font-family:var(--font-serif);font-size:17px;line-height:27px}
img{display:block;max-width:100%}
h1,h2,h3,h4,p,ul{margin:0}
a{color:var(--link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
.mer-on-brand :where(a,button,input,select,textarea):focus-visible{outline-color:var(--on-brand)}

.mer-container{max-width:1120px;margin:0 auto;padding:0 var(--space-6)}
.mer-muted{color:var(--ink-muted)}
.mer-eyebrow{font-family:var(--font-sans);font-size:13px;line-height:20px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.mer-on-brand .mer-eyebrow{color:var(--gold)}

/* Button */
.mer-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-5);border:2px solid transparent;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:15px;line-height:20px;font-weight:700;letter-spacing:.01em;text-decoration:none;cursor:pointer}
.mer-btn:hover{text-decoration:underline;text-underline-offset:4px}
.mer-btn--primary{background:var(--action);border-color:var(--action);color:var(--on-action)}
.mer-btn--gold{background:var(--gold);border-color:var(--gold);color:var(--on-gold)}
.mer-btn--outline{background:transparent;border-color:var(--action);color:var(--ink)}
.mer-btn--on-brand{background:transparent;border-color:var(--on-brand);color:var(--on-brand)}
.mer-btn[disabled],.mer-btn[aria-disabled="true"]{background:var(--silver);border-color:var(--silver);color:var(--charcoal);cursor:not-allowed;text-decoration:none}

/* SiteHeader */
.mer-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4) var(--space-6);padding:var(--space-4) var(--space-6);background:var(--surface-brand);color:var(--on-brand);border-bottom:4px solid var(--gold)}
.mer-header__brand{display:flex;align-items:center;gap:var(--space-4);color:var(--on-brand);text-decoration:none}
.mer-logo{display:block;flex:none;height:48px;width:auto}
.mer-header__name{padding-left:var(--space-4);border-left:2px solid var(--gold);font-family:var(--font-sans);font-size:20px;line-height:24px;font-weight:800}
.mer-nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-5)}
.mer-nav a:not(.mer-btn){padding:var(--space-1) 0;border-bottom:3px solid transparent;font-family:var(--font-sans);font-size:15px;line-height:20px;font-weight:600;color:var(--on-brand);text-decoration:none}
.mer-nav a:not(.mer-btn):hover{border-bottom-color:var(--on-brand)}
.mer-nav a[aria-current="page"]{border-bottom-color:var(--gold)}

/* Hero */
.mer-hero{background:var(--surface-100)}
.mer-hero__img{width:100%;aspect-ratio:2/1;max-height:380px;object-fit:cover;object-position:50% 70%}
.mer-hero__panel{position:relative;max-width:560px;margin:calc(-1 * var(--space-8)) 0 var(--space-6) var(--space-6);padding:var(--space-6);background:var(--surface-brand);color:var(--on-brand);border-top:4px solid var(--gold)}
.mer-hero__panel h1,.mer-hero__panel p{color:var(--on-brand)}
.mer-hero__panel .mer-eyebrow{color:var(--gold)}
.mer-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-5)}

/* Card */
.mer-card{display:flex;flex-direction:column;background:var(--surface-100);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-raised)}
.mer-card__media{position:relative}
.mer-card__img{width:100%;aspect-ratio:3/2;object-fit:cover}
.mer-card__body{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-5)}
.mer-card__link{margin-top:var(--space-2);font-family:var(--font-sans);font-size:15px;line-height:20px;font-weight:700}
.mer-date{position:absolute;top:var(--space-4);left:var(--space-4);display:flex;flex-direction:column;align-items:center;min-width:56px;padding:var(--space-2) var(--space-3);background:var(--gold);color:var(--on-gold);border-radius:var(--radius-sm);font-family:var(--font-sans);text-align:center}
.mer-date__month{font-size:12px;line-height:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.mer-date__day{font-size:28px;line-height:30px;font-weight:800}
.mer-tag{display:inline-block;padding:2px var(--space-3);background:var(--surface-200);border:1px solid var(--border);border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:12px;line-height:18px;font-weight:700;letter-spacing:.04em;color:var(--ink)}

/* FormField */
.mer-field{display:flex;flex-direction:column;gap:var(--space-1)}
.mer-label{font-family:var(--font-sans);font-size:15px;line-height:20px;font-weight:700;color:var(--ink)}
.mer-input,.mer-select,.mer-textarea{width:100%;min-height:48px;padding:var(--space-3) var(--space-4);background:var(--surface-100);color:var(--ink);border:2px solid var(--border);border-radius:var(--radius-md);font-family:var(--font-serif);font-size:17px;line-height:24px}
.mer-input::placeholder,.mer-textarea::placeholder{color:var(--ink-muted)}
.mer-textarea{min-height:120px;resize:vertical}
.mer-help{font-size:14px;line-height:20px;color:var(--ink-muted)}
.mer-field--error .mer-input{border-color:var(--danger)}
.mer-error{font-family:var(--font-sans);font-size:14px;line-height:20px;font-weight:700;color:var(--danger)}
.mer-check{display:flex;align-items:flex-start;gap:var(--space-3)}
.mer-check input{flex:none;width:24px;height:24px;margin:0;accent-color:var(--action)}

/* Callout */
.mer-callout{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--surface-200);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}
.mer-badge{flex:none;padding:2px var(--space-3);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:12px;line-height:18px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.mer-badge--info{background:var(--info);color:var(--on-info)}
.mer-badge--success{background:var(--success);color:var(--on-success)}
.mer-badge--warning{background:var(--warning);color:var(--on-warning)}
.mer-badge--danger{background:var(--danger);color:var(--on-danger)}

/* SiteFooter */
.mer-footer{padding:var(--space-8) var(--space-6) var(--space-6);background:var(--surface-brand);color:var(--on-brand);border-top:4px solid var(--gold)}
.mer-footer a{color:var(--on-brand)}
.mer-footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-6)}
.mer-footer__name{font-family:var(--font-sans);font-size:20px;line-height:24px;font-weight:800}
.mer-footer h4{margin-bottom:var(--space-2);font-family:var(--font-sans);font-size:13px;line-height:20px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.mer-footer__list{list-style:none;padding:0;display:grid;gap:var(--space-2)}
.mer-footer__fine{margin-top:var(--space-7);padding-top:var(--space-4);border-top:1px solid var(--on-brand);font-size:14px;line-height:20px}

/* Logo */
.mer-logo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}
.mer-logo-tile{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--white);color:var(--black)}
.mer-logo-tile--brand{background:var(--royal-blue);color:var(--white)}
.mer-logo-stage{display:flex;align-items:center;justify-content:center;min-height:128px}
.mer-logo-stage img{max-width:100%;height:auto}
.mer-logo-tile .caption{color:inherit}
