@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{color-scheme:light;--ink:#17231f;--muted:#78817b;--line:#e7e9e4;--paper:#fbfaf6;--green:#173c30;--accent:#c7a765}*{box-sizing:border-box}body{margin:0;background:#eff0ec;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;min-height:100vh;padding:32px 18px}.shell{max-width:760px;margin:0 auto;background:var(--paper);min-height:calc(100vh - 64px);border-radius:24px;overflow:hidden;box-shadow:0 24px 70px #2028201a}.top{height:86px;display:flex;align-items:center;justify-content:space-between;padding:18px 36px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center}.brand img{height:48px;width:48px;object-fit:contain;border-radius:50%}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.2em;color:var(--muted)}.hero{padding:56px 54px 48px;position:relative;overflow:hidden;background:linear-gradient(140deg,#f7f4ec,#eef2ed)}.orb{position:absolute;width:380px;height:380px;border:1px solid #bfab7930;border-radius:50%;right:-155px;top:-220px;box-shadow:0 0 0 32px #bfab7911,0 0 0 64px #bfab790b}.portrait{width:112px;height:112px;border-radius:50%;object-fit:cover;object-position:center 38%;border:4px solid #fff;box-shadow:0 12px 28px #10291f25;position:relative}.monogram{width:72px;height:72px;border-radius:50%;background:var(--green);display:grid;place-items:center;color:#f6e9cb;font-family:'Playfair Display',Georgia,serif;font-size:25px;letter-spacing:.05em;box-shadow:0 12px 26px #10291f25}.intro{margin-top:28px;position:relative}h1,h2,h3,p{margin-top:0}h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(40px,8vw,62px);line-height:1.05;letter-spacing:-.035em;margin:10px 0 12px;font-weight:600}.intro .eyebrow{color:var(--green)}.sub{color:#66716a;font-size:15px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.actions a{border-radius:99px;text-decoration:none;font-size:13px;font-weight:600;padding:13px 18px;display:flex;align-items:center;gap:10px}.primary{background:var(--green);color:white}.primary strong{font-weight:500;color:#dfe9df}.secondary{border:1px solid #d6dbd4;color:var(--ink);background:#ffffff9c}.details,.venues{padding:36px 54px;border-bottom:1px solid var(--line)}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:18px}.section-head h2{font:600 28px 'Playfair Display',Georgia,serif;margin:5px 0 0}.section-head>a{font-size:12px;color:var(--green);text-decoration:none;font-weight:700}.contact-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact-list>a{padding:16px 17px;border:1px solid var(--line);border-radius:13px;text-decoration:none;color:var(--ink);min-width:0;transition:.2s}.contact-list>a:hover,.directory-card:hover{transform:translateY(-2px);border-color:#bbc5b9}.contact-list span,.contact-list strong{display:block;overflow-wrap:anywhere}.contact-list span{font-size:11px;color:var(--muted);margin-bottom:7px}.contact-list strong{font-size:13px;font-weight:600}.venues{padding-top:28px;padding-bottom:28px}details summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;padding:5px 0}details summary::-webkit-details-marker{display:none}summary small,summary b{display:block}summary small{font-size:10px;letter-spacing:.16em;color:var(--muted);margin-bottom:6px}summary b{font:600 21px 'Playfair Display',Georgia,serif}summary i{font-style:normal;border:1px solid var(--line);height:36px;width:36px;border-radius:50%;display:grid;place-items:center;color:var(--green);font-size:20px}details[open] summary i{transform:rotate(45deg)}.venue-list{padding-top:16px}.venue{padding:15px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}.venue h3{font-size:13px;margin:0 0 5px}.venue p{font-size:11px;line-height:1.5;color:var(--muted);margin:0}.venue-links{display:flex;flex-direction:column;align-items:flex-end;gap:5px;white-space:nowrap}.venue-links a{font-size:11px;text-decoration:none;color:var(--green)}footer{padding:22px 36px;display:flex;justify-content:space-between;color:var(--muted);font-size:10px;letter-spacing:.1em}footer span:first-child{font-weight:700;color:var(--green)}.directory-intro{padding:55px 54px 34px}.directory-intro h1{font-size:clamp(46px,9vw,72px);margin:12px 0}.directory-intro>p:last-child{color:var(--muted)}.directory-list{padding:0 54px 45px;display:grid;gap:12px}.directory-card{display:flex;align-items:center;gap:18px;padding:18px;border:1px solid var(--line);border-radius:16px;text-decoration:none;color:var(--ink);transition:.2s}.directory-card .monogram{width:52px;height:52px;font-size:19px;box-shadow:none}.directory-card small,.directory-card strong{display:block}.directory-card small{font-size:10px;text-transform:none;letter-spacing:.04em;color:var(--muted);margin-bottom:5px}.directory-card strong{font:600 20px 'Playfair Display',Georgia,serif}.directory-card>b{margin-left:auto;color:var(--green)}.rose .monogram{background:#69434a;color:#f8e9e6}.rose .hero{background:linear-gradient(140deg,#f8f0ef,#f3f0ea)}.rose .intro .eyebrow{color:#69434a}.sage .monogram{background:#41654f;color:#f1f2e5}.sage .hero{background:linear-gradient(140deg,#f2f4eb,#edf2ec)}.sage .intro .eyebrow{color:#41654f}.rose .primary{background:#69434a}.sage .primary{background:#41654f}.rose .directory-card .monogram{background:#69434a}.sage .directory-card .monogram{background:#41654f}@media(max-width:600px){body{padding:0;background:var(--paper)}.shell{min-height:100vh;border-radius:0;box-shadow:none}.top{padding:16px 22px;height:74px}.hero{padding:42px 25px 35px}.details,.venues{padding:28px 25px}.contact-list{grid-template-columns:1fr}.directory-intro{padding:42px 26px 24px}.directory-list{padding:0 25px 36px}footer{padding:20px 24px}.venue{display:block}.venue-links{flex-direction:row;justify-content:flex-start;align-items:center;flex-wrap:wrap;margin-top:10px}.eyebrow{font-size:9px}.section-head h2{font-size:26px}}

/* Vivid El Gourmet refresh */
body.gold{background:#e8d9b7}
body.rose{background:#ead0c8}
body.sage{background:#c9dfd0}
.shell{background:#fffdf8}
.top{background:#fffdf8}
.brand{width:56px;height:56px;justify-content:center;border-radius:50%;background:#fff;padding:4px;box-shadow:0 5px 18px #10291f18}
.brand img{height:48px;width:48px}
.hero{background:linear-gradient(132deg,#0b4031 0%,#17694b 68%,#b89143 100%);color:#fff}
.hero h1{color:#fff}
.hero .intro .eyebrow{color:#f2d27c}
.hero .sub{color:#e1eee6}
.orb{border-color:#f1d47755;box-shadow:0 0 0 32px #f1d47718,0 0 0 64px #f1d47712}
.portrait{border-color:#e2bd63;box-shadow:0 12px 28px #061c1438}
.actions .primary{background:#f0cb70;color:#173b2e;box-shadow:0 7px 20px #071c1840}
.actions .primary strong{color:#173b2e}
.actions .secondary{border-color:#ffffff78;background:#ffffff1c;color:#fff;backdrop-filter:blur(8px)}
.details,.venues{background:#fffdf8}
.contact-list>a{background:#f5f0e5;border-color:#e7dcc7}
.section-head>a{color:#146247}
.rose .hero{background:linear-gradient(132deg,#592936 0%,#963f50 67%,#d08053 100%)}
.rose .hero .intro .eyebrow{color:#ffd995}
.rose .portrait{border-color:#f0bd78}
.rose .actions .primary{background:#ffd181;color:#562a36}
.rose .actions .primary strong{color:#562a36}
.rose .contact-list>a{background:#f8ece9;border-color:#ebd4ce}
.rose .section-head>a{color:#863848}
.sage .hero{background:linear-gradient(132deg,#07554c 0%,#0d806e 66%,#4a9853 100%)}
.sage .hero .intro .eyebrow{color:#c8f2bd}
.sage .portrait{border-color:#bde47c}
.sage .actions .primary{background:#cbed8c;color:#16443b}
.sage .actions .primary strong{color:#16443b}
.sage .contact-list>a{background:#edf6eb;border-color:#d3e6d3}
.sage .section-head>a{color:#126b5b}
@media(max-width:600px){.top{background:#fffdf8}.hero{box-shadow:inset 0 -1px #ffffff22}}

.featured-location{padding:28px 54px;background:linear-gradient(120deg,#fff7e7,#f4ebdc);border-bottom:1px solid var(--line)}.featured-location .eyebrow{margin:0 0 8px;color:#863848}.featured-location h2{font:600 25px 'Playfair Display',Georgia,serif;margin:0 0 7px;color:#592936}.featured-location p:not(.eyebrow){font-size:13px;color:#66716a;margin:0 0 14px}.featured-location a{display:inline-flex;padding:11px 15px;border-radius:99px;background:#592936;color:#fff;text-decoration:none;font-size:12px;font-weight:700}@media(max-width:600px){.featured-location{padding:25px}}