
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:#453d31;color:#3a3226;font-family:Candara, Optima, 'Segoe UI', sans-serif;line-height:1.7}
img{max-width:100%;display:block}
a{color:#a97eb0;text-decoration:none}
::selection{background:#a97eb0;color:#ffffff}
:focus-visible{outline:2px solid #a97eb0;outline-offset:2px}

.broadside{padding:clamp(10px,3vw,34px)}
.border{max-width:52rem;margin:0 auto;border:3px double rgba(58,50,38,0.55);
  padding:8px;background:#dcd3be;
  box-shadow:0 0 0 2px #dcd3be,0 20px 60px rgba(0,0,0,.4)}
.sheet{border:1px solid rgba(58,50,38,0.28);padding:clamp(20px,5vw,58px);
  text-align:center;border-radius:22px}

.ribbon{display:inline-block;font-family:Optima, Candara, 'Segoe UI', sans-serif;text-transform:uppercase;
  letter-spacing:.3em;font-size:.66rem;color:#ffffff;background:#a97eb0;
  padding:.35rem 1.4rem;margin-bottom:1.80rem}
.over{font-family:Optima, Candara, 'Segoe UI', sans-serif;text-transform:uppercase;letter-spacing:.34em;
  font-size:.82rem;color:rgba(58,50,38,0.66);margin-bottom:.4rem}
.grand{font-family:Optima, Candara, 'Segoe UI', sans-serif;font-weight:800;text-transform:uppercase;
  font-size:clamp(2.6rem,11vw,6rem);line-height:.92;letter-spacing:-.01em;
  color:#3a3226;text-shadow:2px 2px 0 rgba(58,50,38,0.28)}
.amp{font-family:Optima, Candara, 'Segoe UI', sans-serif;font-style:italic;font-size:clamp(3rem,10vw,5rem);
  color:#a97eb0;line-height:.7;margin:.1em 0}
.sub{font-family:Optima, Candara, 'Segoe UI', sans-serif;font-style:italic;font-size:clamp(1.1rem,3.4vw,1.7rem);
  color:#3a3226;max-width:32rem;margin:0 auto}

.fleur{color:#a97eb0;letter-spacing:.5em;margin:1.80rem 0;font-size:1rem}
.orn-rule{border:none;height:8px;margin:1.80rem auto;max-width:80%;
  border-top:1px solid rgba(58,50,38,0.55);border-bottom:3px double rgba(58,50,38,0.28)}

.bill-nav{display:flex;flex-wrap:wrap;justify-content:center;
  align-items:center;gap:.7rem;font-family:Optima, Candara, 'Segoe UI', sans-serif;text-transform:uppercase;
  letter-spacing:.18em;font-size:.74rem;margin:1.80rem 0}
.bill-nav a{color:#3a3226;border-bottom:1px solid transparent}
.bill-nav a:hover{color:#a97eb0;border-color:#a97eb0}
.bill-nav span{color:#a97eb0}

.banner{font-family:Optima, Candara, 'Segoe UI', sans-serif;font-weight:800;text-transform:uppercase;
  font-size:clamp(1.5rem,5vw,2.6rem);letter-spacing:.02em;
  margin-bottom:1.80rem;line-height:1}
.banner::before,.banner::after{content:"\2727";color:#a97eb0;
  font-size:.6em;vertical-align:.3em;margin:0 .5em}
.lead{max-width:38rem;margin:0 auto;color:rgba(58,50,38,0.66);font-size:1.08rem}

.ledger{width:100%;border-collapse:collapse;text-align:left;
  border-top:3px double rgba(58,50,38,0.55);border-bottom:3px double rgba(58,50,38,0.55)}
.ledger tr{border-bottom:1px solid rgba(58,50,38,0.28)}
.ledger tr:last-child{border-bottom:none}
.ledger td,.ledger th{padding:.85rem .6rem;vertical-align:top}
.ledger .no{font-family:Optima, Candara, 'Segoe UI', sans-serif;color:#a97eb0;white-space:nowrap;width:5.5rem;
  font-size:.9rem;letter-spacing:.06em}
.ledger th{font-family:Optima, Candara, 'Segoe UI', sans-serif;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;font-size:.98rem;width:12rem}
.ledger .dsc{color:rgba(58,50,38,0.66)}

.cameos{display:flex;flex-wrap:wrap;justify-content:center;gap:1.80rem}
.cameo{margin:0;width:150px}
.cameo img{width:150px;height:180px;object-fit:cover;border-radius:50%;
  border:2px solid rgba(58,50,38,0.55);box-shadow:0 0 0 4px #dcd3be,0 0 0 5px rgba(58,50,38,0.28);
  filter:sepia(.2) contrast(1.05)}
.cameo figcaption{font-family:Optima, Candara, 'Segoe UI', sans-serif;font-style:italic;color:rgba(58,50,38,0.66);
  margin-top:.6rem;font-size:.85rem}

.notices{display:grid;grid-template-columns:repeat(3,1fr);gap:1.80rem;
  text-align:left}
.notice{border-left:2px solid #a97eb0;padding-left:1rem}
.notice p{font-family:Optima, Candara, 'Segoe UI', sans-serif;font-style:italic;font-size:1.02rem}
.notice .src{font-family:Candara, Optima, 'Segoe UI', sans-serif;font-style:normal;text-transform:uppercase;
  letter-spacing:.14em;font-size:.66rem;color:#a97eb0;margin-top:.5rem}

.coupon{max-width:30rem;margin:0 auto;border:2px dashed rgba(58,50,38,0.55);
  border-radius:22px;padding:3.12rem;background:#e4dbc6;text-align:left}
.cut{font-family:Optima, Candara, 'Segoe UI', sans-serif;text-transform:uppercase;letter-spacing:.24em;
  font-size:.64rem;color:rgba(58,50,38,0.66);text-align:center;margin-bottom:1.80rem}
.cintro{color:rgba(58,50,38,0.66);margin-bottom:1.80rem;text-align:center}
.cline{padding:.4rem 0;border-bottom:1px solid rgba(58,50,38,0.28)}
.cline b{font-family:Optima, Candara, 'Segoe UI', sans-serif;color:#a97eb0;margin-right:.4rem}
.stamp{display:block;text-align:center;font-family:Optima, Candara, 'Segoe UI', sans-serif;font-weight:700;
  text-transform:uppercase;letter-spacing:.14em;margin-top:1.80rem;
  background:#a97eb0;color:#ffffff;padding:.7rem;border-radius:22px}
.stamp:hover{filter:brightness(1.08)}

.colophon{margin-top:3.12rem;font-family:Optima, Candara, 'Segoe UI', sans-serif;font-style:italic;
  color:rgba(58,50,38,0.66);font-size:.82rem}

@media(max-width:640px){
  .notices{grid-template-columns:1fr}
  .ledger .no{width:auto}
  .ledger th{width:auto}
}


.xq{box-sizing:border-box;font-family:Candara, Optima, 'Segoe UI', sans-serif;color:#3a3226;padding:56px 24px;width:100%}
.xq *{box-sizing:border-box;margin:0}
.xq .xq-wrap{max-width:1060px;margin:0 auto}
.xq h2{font-family:Optima, Candara, 'Segoe UI', sans-serif;font-size:1.7rem;line-height:1.2;margin-bottom:8px}
.xq .xq-kick{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#a97eb0;margin-bottom:10px;font-weight:700}

.xq-hours{border-top:1px solid rgba(58,50,38,0.14)}
.xq-hours-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:26px;align-items:start}
.xq-hours address{font-style:normal;color:#8b7f68;line-height:1.8;margin-top:8px}
.xq-hourtable{width:100%;border-collapse:collapse}
.xq-hourtable th,.xq-hourtable td{text-align:left;padding:12px 6px;border-bottom:1px solid rgba(58,50,38,0.14)}
.xq-hourtable th{font-family:Optima, Candara, 'Segoe UI', sans-serif}
.xq-hourtable td{color:#a97eb0;font-weight:700;text-align:right}


.xq-promo{padding:34px 24px}
.xq-promo-card{border:2px dashed #a97eb0;border-radius:20px;padding:26px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;background:rgba(58,50,38,0.05)}
.xq-promo-tag{background:#a97eb0;color:#ffffff;font-family:Optima, Candara, 'Segoe UI', sans-serif;font-weight:800;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding:8px 14px;border-radius:999px}
.xq-promo-card p{flex:1 1 260px;font-size:1.02rem}
.xq-promo-card a{color:#a97eb0;font-weight:700;text-decoration:none;white-space:nowrap}
.xq-promo-card a:hover{text-decoration:underline}


.xq-tl-list{list-style:none;padding:0;margin-top:24px;position:relative;border-left:2px solid rgba(58,50,38,0.14)}
.xq-tl-item{position:relative;padding:0 0 26px 26px}
.xq-tl-item::before{content:"";position:absolute;left:-7px;top:4px;width:12px;height:12px;border-radius:50%;background:#a97eb0;box-shadow:0 0 0 4px rgba(58,50,38,0.05)}
.xq-tl-item time{font-family:Optima, Candara, 'Segoe UI', sans-serif;font-weight:800;color:#a97eb0;display:block;margin-bottom:4px}
.xq-tl-item p{color:#8b7f68;max-width:58ch}


/* =====================================================
   DESIGN DNA: botanical-press
   Whole-page visual system applied over the layout
   archetype. Appended last so it wins the cascade.
   ===================================================== */
html::before{content:'';position:fixed;inset:0;z-index:99980;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cpath d='M30 90Q30 40 80 30Q80 80 30 90Z' fill='none' stroke='%23a97eb0' stroke-width='1.4'/%3E%3C/svg%3E");opacity:.08;}
h1,h2,h3{font-family:Georgia, 'Times New Roman', serif !important;font-weight:500 !important;font-style:italic !important}
img{filter:sepia(.16) saturate(1.05);border-radius:3px !important;border:7px solid #f2ecdf !important;box-shadow:0 10px 26px rgba(0,0,0,.14) !important}
a[class*="btn"],button,span[class*="btn"]{border-radius:0 !important;border:1.5px solid #a97eb0 !important;letter-spacing:.14em;text-transform:uppercase;font-size:.8em;box-shadow:none !important}
div[class*="card"]:not([class*="cards"]),article[class*="card"],a[class*="card"],figure[class*="card"],li[class*="card"]{border-radius:3px !important;border:1px solid rgba(169,126,176,.4) !important;box-shadow:none !important}
h2::after{content:'\273F';display:block;color:#a97eb0;font-size:.95rem;margin-top:.5rem}
