/* Calendar Smith static site stylesheet (replaces cdn.tailwindcss.com runtime JIT) */
:root{
  --ink:#0d2825; --muted:#5a6d6a;
  --mint-50:#eefaf3; --mint-100:#d4f3e3; --mint-200:#a8e6c8; --mint-300:#6fd3a4;
  --mint-500:#1f9d72; --mint-600:#168a62; --mint-700:#0f6b4c; --mint-900:#0c3a2c;
  --coral:#ff7a5c; --coral-600:#f25b3a;
  --cream:#fbf7ee; --paper:#fffaf0; --white:#ffffff;
  --shadow-card:0 1px 0 rgba(15,107,76,0.04),0 8px 24px -12px rgba(15,107,76,0.18);
  --shadow-soft:0 2px 8px -2px rgba(15,107,76,0.10);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-size:1rem;line-height:1.5}
h1,h2,h3,h4,p,dl,dd,blockquote,figure{margin:0}
ul,ol{list-style:none;margin:0;padding:0}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%;height:auto}
button{font:inherit;color:inherit;background:none;border:0;padding:0}
summary{cursor:pointer}
summary::-webkit-details-marker{display:none}
summary::marker{display:none}
:focus-visible{outline:2px solid var(--mint-700);outline-offset:2px}
::selection{background:var(--mint-200);color:var(--ink)}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* display / position / misc single-purpose utilities */
.block{display:block}
.inline-block{display:inline-block}
.flex{display:flex}
.inline-flex{display:inline-flex}
.grid{display:grid}
.hidden{display:none}
.relative{position:relative}
.absolute{position:absolute}
.sticky{position:sticky}
.overflow-hidden{overflow:hidden}
.cursor-pointer{cursor:pointer}
.list-none{list-style:none}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.flex-wrap{flex-wrap:wrap}
.shrink-0{flex-shrink:0}
.underline{text-decoration-line:underline}
.uppercase{text-transform:uppercase}
.text-center{text-align:center}
.z-30{z-index:30}
.z-50{z-index:50}
.top-0{top:0}
.right-0{right:0}
.left-0{left:0}
.inset-0{top:0;right:0;bottom:0;left:0}
.inset-0\.5{top:.125rem;right:.125rem;bottom:.125rem;left:.125rem}
.place-items-center{place-items:center}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.items-end{align-items:flex-end}
.justify-between{justify-content:space-between}
.justify-center{justify-content:center}
.underline-offset-2{text-underline-offset:2px}
.underline-offset-4{text-underline-offset:4px}
.backdrop-blur-md{backdrop-filter:blur(12px)}
.w-full{width:100%}
.h-auto{height:auto}
.max-w-none{max-width:none}
.not-prose{}
.group{}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.focus\:not-sr-only:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}
.focus\:absolute:focus{position:absolute}
.focus\:top-2:focus{top:.5rem}
.focus\:left-2:focus{left:.5rem}

/* negative offsets used by decorative blobs */
.-bottom-2{bottom:-.5rem}
.-bottom-32{bottom:-8rem}
.-bottom-4{bottom:-1rem}
.-inset-4{top:-1rem;right:-1rem;bottom:-1rem;left:-1rem}
.-left-32{left:-8rem}
.-left-4{left:-1rem}
.-right-10{right:-2.5rem}
.-right-24{right:-6rem}
.-top-10{top:-2.5rem}
.-top-24{top:-6rem}
.-rotate-2{transform:rotate(-2deg)}
.rotate-1{transform:rotate(1deg)}
.hover\:rotate-0:hover{transform:rotate(0deg)}
.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}
.duration-500{transition-duration:500ms}
.blur-2xl{filter:blur(40px)}
.blur-3xl{filter:blur(64px)}
.animate-pulse{animation:cs-pulse 2s cubic-bezier(.4,0,.6,1) infinite}
@keyframes cs-pulse{0%,100%{opacity:1}50%{opacity:.5}}

/* background colors */
.bg-coral{background-color:#ff7a5c}
.bg-coral\/10{background-color:rgba(255,122,92,.10)}
.bg-coral\/15{background-color:rgba(255,122,92,.15)}
.bg-cream{background-color:#fbf7ee}
.bg-cream\/85{background-color:rgba(251,247,238,.85)}
.bg-ink\/30{background-color:rgba(13,40,37,.30)}
.bg-mint-200\/40{background-color:rgba(168,230,200,.40)}
.bg-mint-50{background-color:#eefaf3}
.bg-mint-50\/60{background-color:rgba(238,250,243,.60)}
.bg-mint-500{background-color:#1f9d72}
.bg-mint-700{background-color:#0f6b4c}
.bg-mint-900{background-color:#0c3a2c}
.bg-paper{background-color:#fffaf0}
.bg-white{background-color:#ffffff}
.bg-white\/5{background-color:rgba(255,255,255,.05)}
.bg-white\/90{background-color:rgba(255,255,255,.90)}
.hover\:bg-coral\/20:hover{background-color:rgba(255,122,92,.20)}
.hover\:bg-mint-100:hover{background-color:#d4f3e3}
.hover\:bg-mint-50:hover{background-color:#eefaf3}
.hover\:bg-mint-600:hover{background-color:#168a62}
.hover\:bg-mint-900:hover{background-color:#0c3a2c}
.hover\:bg-white\/10:hover{background-color:rgba(255,255,255,.10)}

/* borders */
.border{border-width:1px;border-style:solid}
.border-b{border-bottom-width:1px;border-bottom-style:solid}
.border-t{border-top-width:1px;border-top-style:solid}
.border-y{border-top-width:1px;border-bottom-width:1px;border-top-style:solid;border-bottom-style:solid}
.border-coral\/20{border-color:rgba(255,122,92,.20)}
.border-mint-100{border-color:#d4f3e3}
.border-mint-200{border-color:#a8e6c8}
.border-mint-200\/60{border-color:rgba(168,230,200,.60)}
.border-mint-200\/70{border-color:rgba(168,230,200,.70)}
.border-white\/10{border-color:rgba(255,255,255,.10)}
.border-white\/20{border-color:rgba(255,255,255,.20)}
.hover\:border-mint-500:hover{border-color:#1f9d72}

/* text colors */
.text-coral-600{color:#f25b3a}
.text-ink{color:#0d2825}
.text-ink\/30{color:rgba(13,40,37,.30)}
.text-ink\/50{color:rgba(13,40,37,.50)}
.text-ink\/55{color:rgba(13,40,37,.55)}
.text-ink\/60{color:rgba(13,40,37,.60)}
.text-ink\/65{color:rgba(13,40,37,.65)}
.text-ink\/70{color:rgba(13,40,37,.70)}
.text-ink\/75{color:rgba(13,40,37,.75)}
.text-ink\/80{color:rgba(13,40,37,.80)}
.text-mint-100\/70{color:rgba(212,243,227,.70)}
.text-mint-100\/80{color:rgba(212,243,227,.80)}
.text-mint-300{color:#6fd3a4}
.text-mint-500{color:#1f9d72}
.text-mint-700{color:#0f6b4c}
.text-white{color:#ffffff}
.hover\:text-mint-700:hover{color:#0f6b4c}
.hover\:underline:hover{text-decoration-line:underline}
.link-soft{color:#0f6b4c;text-underline-offset:4px}
.link-soft:hover{color:#0c3a2c;text-decoration-line:underline}

/* fonts, sizes, weights, leading, tracking */
.font-display{font-family:'Fraunces',Georgia,serif;font-optical-sizing:auto;letter-spacing:-.02em}
.font-sans{font-family:'Inter',system-ui,sans-serif}
.font-bold{font-weight:700}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.text-xs{font-size:.75rem;line-height:1rem}
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.text-6xl{font-size:3.75rem;line-height:1}
.text-\[11px\]{font-size:11px}
.text-\[2\.5rem\]{font-size:2.5rem}
.leading-relaxed{line-height:1.625}
.leading-snug{line-height:1.375}
.leading-tight{line-height:1.25}
.leading-\[1\.05\]{line-height:1.05}
.leading-\[1\.1\]{line-height:1.1}
.tracking-tightish{letter-spacing:-.015em}
.tracking-wide{letter-spacing:.025em}
.tracking-wider{letter-spacing:.05em}
.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* padding */
.p-2{padding:.5rem}
.p-3{padding:.75rem}
.p-4{padding:1rem}
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}
.p-8{padding:2rem}
.px-2{padding-left:.5rem;padding-right:.5rem}
.px-3{padding-left:.75rem;padding-right:.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-5{padding-left:1.25rem;padding-right:1.25rem}
.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}
.py-1{padding-top:.25rem;padding-bottom:.25rem}
.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem}
.py-10{padding-top:2.5rem;padding-bottom:2.5rem}
.py-12{padding-top:3rem;padding-bottom:3rem}
.py-16{padding-top:4rem;padding-bottom:4rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.pt-14{padding-top:3.5rem}
.pb-20{padding-bottom:5rem}

/* margin */
.mt-1{margin-top:.25rem}
.mt-1\.5{margin-top:.375rem}
.mt-2{margin-top:.5rem}
.mt-3{margin-top:.75rem}
.mt-4{margin-top:1rem}
.mt-5{margin-top:1.25rem}
.mt-6{margin-top:1.5rem}
.mt-7{margin-top:1.75rem}
.mt-8{margin-top:2rem}
.mt-10{margin-top:2.5rem}
.mt-12{margin-top:3rem}
.mt-14{margin-top:3.5rem}
.mt-24{margin-top:6rem}
.mb-2{margin-bottom:.5rem}
.mb-3{margin-bottom:.75rem}
.mb-4{margin-bottom:1rem}
.mb-5{margin-bottom:1.25rem}
.mb-7{margin-bottom:1.75rem}
.ml-auto{margin-left:auto}
.mx-auto{margin-left:auto;margin-right:auto}
.space-y-1\.5>*+*{margin-top:.375rem}
.space-y-2>*+*{margin-top:.5rem}
.space-y-4>*+*{margin-top:1rem}
.space-y-6>*+*{margin-top:1.5rem}

/* gap + sizing (w/h) + max-width */
.gap-1\.5{gap:.375rem}
.gap-2{gap:.5rem}
.gap-2\.5{gap:.625rem}
.gap-3{gap:.75rem}
.gap-4{gap:1rem}
.gap-6{gap:1.5rem}
.gap-7{gap:1.75rem}
.gap-8{gap:2rem}
.gap-10{gap:2.5rem}
.gap-x-6{column-gap:1.5rem}
.gap-y-2{row-gap:.5rem}
.w-1{width:.25rem}
.w-1\.5{width:.375rem}
.w-8{width:2rem}
.w-9{width:2.25rem}
.w-10{width:2.5rem}
.w-20{width:5rem}
.w-28{width:7rem}
.w-56{width:14rem}
.w-72{width:18rem}
.w-\[420px\]{width:420px}
.h-1{height:.25rem}
.h-1\.5{height:.375rem}
.h-8{height:2rem}
.h-9{height:2.25rem}
.h-10{height:2.5rem}
.h-20{height:5rem}
.h-28{height:7rem}
.h-72{height:18rem}
.h-\[420px\]{height:420px}
.max-w-sm{max-width:24rem}
.max-w-xl{max-width:36rem}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-4xl{max-width:56rem}
.max-w-5xl{max-width:64rem}
.max-w-6xl{max-width:72rem}

/* radius + shadow + opacity */
.rounded-md{border-radius:.375rem}
.rounded-lg{border-radius:.5rem}
.rounded-xl{border-radius:.75rem}
.rounded-2xl{border-radius:1rem}
.rounded-3xl{border-radius:1.5rem}
.rounded-full{border-radius:9999px}
.rounded-bl-3xl{border-bottom-left-radius:1.5rem}
.rounded-\[10px\]{border-radius:10px}
.rounded-\[2rem\]{border-radius:2rem}
.shadow-card{box-shadow:0 1px 0 rgba(15,107,76,.04),0 8px 24px -12px rgba(15,107,76,.18)}
.shadow-soft{box-shadow:0 2px 8px -2px rgba(15,107,76,.10)}
.hover\:shadow-card:hover{box-shadow:0 1px 0 rgba(15,107,76,.04),0 8px 24px -12px rgba(15,107,76,.18)}
.hover\:shadow-soft:hover{box-shadow:0 2px 8px -2px rgba(15,107,76,.10)}
.hover\:shadow-sm:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}
.opacity-0{opacity:0}
.opacity-40{opacity:.4}
.opacity-60{opacity:.6}
.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}

/* group-hover / group-open / custom composite classes / decorative bg patterns */
.group:hover .group-hover\:opacity-100{opacity:1}
.group:hover .group-hover\:text-mint-700{color:#0f6b4c}
.group[open] .group-open\:rotate-45{transform:rotate(45deg)}
.pill{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:9999px;font-size:11px;font-weight:500}
.grid-bg{background-image:linear-gradient(to right,rgba(15,107,76,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(15,107,76,.06) 1px,transparent 1px);background-size:40px 40px}
.dot-bg{background-image:radial-gradient(rgba(15,107,76,.10) 1px,transparent 1px);background-size:18px 18px}

/* article / prose content typography */
.prose{color:rgba(13,40,37,.80);line-height:1.7}
.prose-sm{font-size:.925rem}
.prose-base{font-size:1rem}
.prose h2{font-family:'Fraunces',Georgia,serif;font-size:1.5rem;line-height:1.3;margin-top:2rem;margin-bottom:.75rem;color:#0d2825}
.prose h3{font-family:'Fraunces',Georgia,serif;font-size:1.25rem;line-height:1.3;margin-top:1.75rem;margin-bottom:.6rem;color:#0d2825}
.prose p{margin-top:1rem;margin-bottom:1rem}
.prose p:first-child{margin-top:0}
.prose ul{list-style:disc;padding-left:1.5rem;margin:1rem 0}
.prose ol{list-style:decimal;padding-left:1.5rem;margin:1rem 0}
.prose li{margin:.35rem 0}
.prose strong{font-weight:600}
.prose a{color:#0f6b4c;text-decoration:underline}
.prose blockquote{border-left:3px solid var(--mint-200);padding-left:1rem;font-style:italic}

@media (min-width:640px){
  .sm\:flex{display:flex}
  .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sm\:text-5xl{font-size:3rem;line-height:1}
}

@media (min-width:768px){
  .md\:flex{display:flex}
  .md\:hidden{display:none}
  .md\:col-span-1{grid-column:span 1 / span 1}
  .md\:col-span-2{grid-column:span 2 / span 2}
  .md\:col-span-5{grid-column:span 5 / span 5}
  .md\:col-span-7{grid-column:span 7 / span 7}
  .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
  .md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}
  .md\:p-10{padding:2.5rem}
  .md\:pt-20{padding-top:5rem}
  .md\:pb-28{padding-bottom:7rem}
  .md\:text-3xl{font-size:1.875rem;line-height:2.25rem}
  .md\:text-4xl{font-size:2.25rem;line-height:2.5rem}
  .md\:text-5xl{font-size:3rem;line-height:1}
  .md\:text-6xl{font-size:3.75rem;line-height:1}
}

@media (min-width:1200px){
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* new imagery components introduced by the W2 rebuild (category art only) */
.cs-card-img{width:100%;height:96px;object-fit:cover;border-radius:1rem 1rem 0 0;display:block;margin-bottom:.5rem}
.cs-ref-img{width:100%;height:72px;object-fit:cover;border-radius:.75rem;display:block;margin-bottom:.6rem}
.cs-hub-banner{width:100%;max-height:260px;object-fit:cover;border-radius:1rem;display:block;margin:1rem 0 1.5rem}
.cs-detail-banner{float:right;width:220px;height:150px;object-fit:cover;border-radius:1rem;margin:0 0 1rem 1.5rem}
.cs-state-banner{width:180px;height:130px;object-fit:cover;border-radius:1rem;float:right;margin:0 0 1rem 1.5rem}
@media (max-width:767px){
  .cs-detail-banner,.cs-state-banner{float:none;width:100%;height:140px;margin:0 0 1rem 0}
}
/* print */
@media print{
  header,.cs-card-img,.cs-ref-img,.cs-hub-banner,.cs-detail-banner,.cs-state-banner,footer,details.md\:hidden{display:none!important}
  body{background:#fff;color:#000}
  a{color:#000;text-decoration:underline}
  table{page-break-inside:avoid}
}

/* explicit selection: variant classes (also covered globally by ::selection above) */
.selection\:bg-mint-200::selection{background:#a8e6c8}
.selection\:text-ink::selection{color:#0d2825}
