@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap');
:root{color-scheme:light;--bg:#f8faff;--panel:#fff;--ink:#17213d;--muted:#596780;--line:#dce3f0;--accent:#5f43cf;--cyan:#087e9e;--gold:#795316;--shadow:0 14px 40px #343f7610}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 6% 6%,#defaff80,transparent 35%),radial-gradient(ellipse at 96% 18%,#ede1ff80,transparent 35%),var(--bg);color:var(--ink);font:16px/1.6 'DM Sans',sans-serif}header,main,footer{max-width:1320px;margin:auto;padding:24px 40px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #dce3f0a0}a{color:inherit}a,button{touch-action:manipulation}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}a:focus-visible,button:focus-visible{outline:3px solid #6851dc;outline-offset:4px}svg.icon{width:20px;height:20px;flex:none;vertical-align:middle}.skip-link{position:fixed;top:-100px;left:16px;z-index:10;background:#fff;padding:14px;border-radius:10px}.skip-link:focus{top:12px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font:800 23px/1.2 Manrope,sans-serif;letter-spacing:2px}.brand img{border-radius:50%;box-shadow:0 0 0 4px #e4faff}.brand small{display:block;font:700 9px/1.8 'DM Sans',sans-serif;letter-spacing:2px;color:var(--muted);margin-top:3px}nav{display:flex;align-items:center;gap:30px}nav>a:first-child{font-size:14px;text-decoration:none;font-weight:600}
h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.1;letter-spacing:-.045em}h1{font-size:clamp(46px,5.6vw,74px);margin:21px 0 24px;line-height:1.08}h1 em{font-style:normal;color:var(--accent);background:linear-gradient(105deg,#176dcb 5%,#7950df 58%,#c83890);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}h2{font-size:37px;margin:10px 0}h3{font-size:25px}.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:800;color:var(--accent);display:flex;gap:9px;align-items:center}.signal-dot{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:#08a0ab;box-shadow:0 0 0 4px #08a0ab14}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center;padding:38px 0 32px}.intro{max-width:560px;font-size:17px;line-height:1.75;color:var(--muted)}.hero-notes{display:flex;flex-wrap:wrap;gap:25px;margin-top:24px;font-size:12px;font-weight:600;color:#455470}.hero-notes b{color:var(--accent);font-size:17px;margin-right:7px}
.discovery-art{position:relative;height:365px;isolation:isolate;overflow:hidden;border-radius:36px;background:radial-gradient(ellipse at 50% 46%,#dad9ff70,transparent 64%)}.discovery-art::before{content:'';position:absolute;inset:20px;z-index:-1;background-image:radial-gradient(#9aadd155 1px,transparent 1px);background-size:22px 22px;mask-image:radial-gradient(ellipse,#000 30%,transparent 72%)}.orbit{position:absolute;width:300px;height:300px;left:50%;top:48%;border:1px solid #a8a9e47a;border-radius:50%;transform:translate(-50%,-50%) rotate(-28deg) scaleY(.68)}.orbit-two{width:360px;height:360px;transform:translate(-50%,-50%) rotate(46deg) scaleY(.64);border-color:#6eccde75}.discovery-core{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%) rotate(-7deg);width:175px;height:196px;border-radius:32px;background:linear-gradient(145deg,#fcffffe8,#e9e6ffe0);border:1px solid #fff;box-shadow:12px 22px 35px #6554ae24,inset 0 0 0 5px #ffffff60;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:11px}.discovery-core img{border-radius:26px;box-shadow:0 10px 18px #14223d24}.discovery-core span{font-size:9px;line-height:1.7;letter-spacing:1.8px;text-align:center;color:#60698c}.discovery-core strong{font-size:12px;letter-spacing:1px;color:#283356}.orbit-tile{position:absolute;display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid #ffffff;border-radius:18px;background:#fffffff0;box-shadow:0 15px 30px #435a8b18;font-size:12px;font-weight:700;backdrop-filter:blur(12px)}.orbit-tile small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:2px}.tile-symbol{display:grid;place-items:center;border-radius:12px;width:37px;height:37px;font-size:24px;background:#ffe8ee;color:#b92768}.tile-food{top:40px;left:8px;transform:rotate(-7deg)}.tile-services{bottom:73px;right:0;transform:rotate(5deg)}.tile-services .tile-symbol{background:#dcf6fb;color:#057493}.orbit-label{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);white-space:nowrap;display:flex;align-items:center;gap:9px;font-size:9px;font-weight:700;letter-spacing:1.7px;color:#5d6882}.star{position:absolute;font-size:30px;font-weight:400;color:#8066d6}.star-one{top:15px;right:50px}.star-two{bottom:72px;left:65px;color:#089fbc}
.button{border:1px solid transparent;border-radius:12px;background:linear-gradient(115deg,#176bd2,#7547d4);color:#fff;padding:14px 20px;display:inline-flex;align-items:center;justify-content:center;gap:16px;font-weight:700;cursor:pointer;text-decoration:none;font-size:13px;min-height:48px;box-shadow:0 7px 16px #6148cc21;transition:transform .18s,box-shadow .18s}.button:hover{transform:translateY(-2px);box-shadow:0 10px 22px #6148cc30}.button:active{transform:translateY(0)}.small{padding:10px 16px;min-height:44px}.quiet{color:#455373;background:#ffffffb8;border:1px solid var(--line);padding:10px 16px;border-radius:12px;font-weight:600;font-size:13px;min-height:44px;transition:background .18s,border-color .18s}.quiet:hover,.quiet[aria-pressed=true]{background:#ede8ff;border-color:#b7a6ee;color:#5d3cba}.text-link{color:#5e43bd;font-weight:700;text-decoration:none;font-size:13px}
.search{display:grid;grid-template-columns:1.35fr 1fr 1fr auto;gap:16px;padding:24px;border-radius:22px;background:#ffffffdb;border:1px solid #fff;box-shadow:0 0 0 1px #dfe7f0,0 18px 45px #57699710;align-items:end;position:relative}.search label{min-width:0}.search label>span{display:block;padding-left:2px}label{font-size:11px;color:#43516e;font-weight:700}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:#f7f9ff;color:var(--ink);padding:13px;margin-top:7px;font-size:13px;min-width:0;min-height:47px}input::placeholder{color:#6d7890}input:focus,select:focus,textarea:focus{outline:2px solid #7c64df;outline-offset:2px}.category-shortcuts{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.category-shortcut{border:1px solid #dfe4f0;background:#ffffffad;border-radius:99px;padding:9px 14px;display:flex;align-items:center;gap:7px;color:#54617b;font-size:12px;font-weight:600;min-height:40px}.category-shortcut .icon{width:16px;height:16px}.category-shortcut[aria-pressed=true]{background:#202d4c;color:#fff;border-color:#202d4c}.category-shortcut:hover{border-color:#8c77d8}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:43px}.section-heading h2{font-size:30px}#status{font-size:12px;color:var(--muted);margin:14px 0 20px;min-height:20px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{--accent:#5b43bd;--tint:#eee8ff;--cover-a:#dcdcff;--cover-b:#d6f1ff;background:var(--panel);border:1px solid #e0e5f0;border-radius:24px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 7px 22px #343f7608;transition:transform .22s,box-shadow .22s,border-color .22s}.card:hover{transform:translateY(-5px);border-color:#b8a8e7;box-shadow:0 20px 38px #53538419}.tone-rose{--accent:#ae3069;--tint:#fde6f0;--cover-a:#ffd2dc;--cover-b:#efe0ff}.tone-cyan{--accent:#08738b;--tint:#ddf6f9;--cover-a:#c3eff8;--cover-b:#cde3ff}.tone-amber{--accent:#95500b;--tint:#fff0d7;--cover-a:#ffe0b1;--cover-b:#ffd6cc}.tone-green{--accent:#1c765e;--tint:#e0f5e8;--cover-a:#bceee2;--cover-b:#e0f2be}.tone-violet{--accent:#6543bd;--tint:#eee7ff;--cover-a:#dfd2ff;--cover-b:#d4e8ff}
.card-visual{position:relative;isolation:isolate;overflow:hidden;margin:10px 10px 0;border-radius:16px;height:200px;background:linear-gradient(125deg,var(--cover-a),var(--cover-b))}.cover{width:100%;height:100%;object-fit:cover;display:block}.placeholder{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(130deg,var(--cover-a,#dcdcff),var(--cover-b,#d6f1ff));color:var(--accent,#5b43bd);font:800 58px/1 Manrope,sans-serif;letter-spacing:-3px;min-height:180px}.placeholder::before,.placeholder::after{content:'';position:absolute;z-index:-1;width:230px;height:230px;left:-40px;top:-85px;border:1px solid #ffffffa0;border-radius:40px;transform:rotate(28deg);background:linear-gradient(130deg,#ffffff60,transparent)}.placeholder::after{width:170px;height:170px;left:auto;right:-45px;top:auto;bottom:-70px;border-radius:50%;border-width:28px;background:none;border-color:#ffffff40}.cover-category{position:absolute;left:12px;bottom:12px;display:flex;align-items:center;gap:7px;max-width:calc(100% - 24px);background:#ffffffed;color:var(--accent);backdrop-filter:blur(8px);padding:7px 11px;border-radius:9px;font-size:10px;font-weight:700;box-shadow:0 3px 12px #1f2b5010}.cover-category .icon{width:14px;height:14px}.card-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1;min-width:0}.card-title{display:flex;justify-content:space-between;align-items:flex-start;gap:9px}.card h3{font-size:21px;line-height:1.25;margin:0 0 8px;overflow-wrap:anywhere}.card p{color:var(--muted);font-size:13px;line-height:1.75;margin:14px 0 18px;overflow-wrap:anywhere}.card a{text-decoration:none}.category{color:var(--accent);font-size:10px;letter-spacing:1.3px;text-transform:uppercase}.location{font-size:12px;color:#64718a;display:flex;gap:5px;align-items:center;overflow-wrap:anywhere}.location .icon{width:14px;height:14px}.card-actions{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;margin-top:auto;padding-top:15px;border-top:1px solid #edf0f7;gap:10px}.card-actions a,.card-actions button{display:flex;justify-content:center;align-items:center;gap:7px;min-height:43px;padding:10px 6px;border-radius:10px;font-size:12px;font-weight:700}.card-actions a{background:var(--tint);color:var(--accent)}.card-actions a:hover{filter:brightness(.97)}.card-actions .icon{width:15px;height:15px}.badge{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;border:1px solid #e8d7a3;color:#775013;background:#fff3d1;font-size:9px;font-weight:800;letter-spacing:.7px;border-radius:7px;padding:6px 9px}.card .badge{font-size:0;padding:6px;min-width:29px;min-height:29px;flex:none}.card .badge .icon{width:15px;height:15px}.pagination{display:flex;justify-content:center;gap:12px;margin:28px}.empty{grid-column:1/-1;padding:48px 24px;border:1px solid #e0e5f1;border-radius:22px;text-align:center;color:var(--muted);background:radial-gradient(ellipse at top,#ece8ff,transparent 65%),#fff}.empty .icon{width:38px;height:38px;padding:8px;box-sizing:content-box;background:#e9e7ff;color:#6545c7;border-radius:18px;margin-bottom:10px}.empty h3{color:var(--ink);font-size:23px;margin:8px}.empty p{font-size:14px;max-width:450px;margin:12px auto}
.owner-banner{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;border:1px solid #e1def2;background:radial-gradient(ellipse at 0 0,#daf4ff90,transparent 70%),linear-gradient(120deg,#f1efff,#fff1f980);padding:45px;border-radius:28px;margin:50px 0 25px;position:relative;overflow:hidden}.owner-banner h2{font-size:43px}.owner-banner p{color:var(--muted);font-size:14px;max-width:430px}.owner-banner .button{margin-top:8px}.membership{padding:26px;background:#ffffffcf;border:1px solid #ffffff;border-radius:20px;box-shadow:0 10px 30px #5945810a}.membership h3{margin:18px 0 12px;font-size:25px}.membership p{font-size:12px;line-height:1.75}.membership .eyebrow{color:var(--accent)}footer{display:flex;gap:24px;flex-wrap:wrap;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-bottom:35px}footer span{margin-right:auto}
dialog{--accent:#5b43bd;--tint:#eee8ff;--cover-a:#dcdcff;--cover-b:#d6f1ff;background:#fff;color:var(--ink);border:1px solid #e3e7f1;border-radius:26px;max-width:850px;width:calc(100% - 24px);max-height:90vh;padding:24px;box-shadow:0 35px 100px #121e4859}dialog::backdrop{background:#1824478a;backdrop-filter:blur(8px)}.close{position:sticky;top:0;float:right;z-index:2;background:#fffffff0;border-radius:50%;width:42px;height:42px;padding:0;margin:0 0 -44px;box-shadow:0 6px 20px #15285215}.detail-photo{width:100%;height:290px;object-fit:cover;border-radius:17px}.detail-heading{padding:24px 8px 0}.detail-heading h2{font-size:36px;line-height:1.18;overflow-wrap:anywhere;margin:9px 0 14px}.detail-heading .eyebrow{color:var(--accent)}.detail-heading .location{margin-bottom:10px}.detail-description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;color:#536078}.gallery{display:flex;gap:12px;overflow:auto;margin:24px 0}.gallery img{width:180px;height:140px;object-fit:cover;border-radius:14px}.contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0}.contact-actions .button{white-space:normal;min-height:48px}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.details-grid>div{padding:16px;background:#f5f7fd;border:1px solid #e9edf6;border-radius:14px}.details-grid strong{font-size:11px;letter-spacing:.4px;color:#4f3e94}.details-grid p{font-size:13px;margin:6px 0 0}.notice{padding:17px;background:#e7f7ee;border:1px solid #ccebdc;border-radius:14px;color:#256952;font-size:14px}.detail-controls{border-top:1px solid var(--line);padding-top:22px}.detail-controls .quiet:last-child{grid-column:1/-1;background:transparent;border-color:transparent;color:#796982;font-weight:400}
@media(max-width:1000px){header,main,footer{padding-left:26px;padding-right:26px}.hero{grid-template-columns:1.25fr 1fr;gap:0}.discovery-art{height:330px}.orbit-tile{padding:10px;font-size:10px}.tile-food{left:0}.tile-services{right:0}.tile-symbol{width:30px;height:30px}.search{grid-template-columns:1fr 1fr}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-banner{gap:25px;padding:32px}.hero h1{font-size:54px}}
@media(max-width:700px){header,main,footer{padding:20px}.brand{font-size:20px;gap:9px}.brand img{width:39px;height:39px}.brand small{font-size:7px;letter-spacing:1.4px}nav>a:first-child{display:none}.small{font-size:11px;padding:8px 12px;gap:9px}.hero{grid-template-columns:1fr;padding:24px 0 27px}.hero h1{font-size:clamp(42px,9vw,62px);margin:19px 0}.intro{font-size:15px;max-width:520px}.hero .eyebrow{font-size:8px;letter-spacing:1.3px}.hero-notes{gap:18px;font-size:11px;margin-top:20px}.discovery-art{display:none}.search{gap:14px;padding:18px;border-radius:18px}.search label:first-child{grid-column:1/-1}.search-button{grid-column:1/-1;width:100%}.category-shortcuts{gap:7px;margin-top:17px}.category-shortcut{font-size:10px;padding:8px 10px;min-height:36px}.category-shortcut .icon{width:14px;height:14px}.section-heading{align-items:flex-start;margin-top:33px;gap:12px}.section-heading h2{font-size:24px}.section-heading .eyebrow{font-size:8px;letter-spacing:1.4px}.section-heading .quiet{font-size:10px;padding:8px 10px;min-height:38px;margin-top:13px;white-space:nowrap}.grid{gap:18px;grid-template-columns:1fr}.card-visual{height:220px}.card-body{padding:19px 20px 21px}.card h3{font-size:23px}.owner-banner,.details-grid{grid-template-columns:1fr}.owner-banner{margin-top:35px;padding:26px;gap:22px}.owner-banner h2{font-size:37px}.membership{padding:23px}.membership h3{font-size:23px}dialog{padding:16px;border-radius:22px}.detail-photo{height:215px}.detail-heading{padding:18px 3px 0}.detail-heading h2{font-size:30px}.contact-actions{gap:8px}.contact-actions .button{font-size:12px;gap:4px}.empty{padding:35px 20px}.empty h3{font-size:21px}footer{gap:15px}.pagination{margin:24px 0}}
@media(max-width:360px){header{gap:12px}.brand small{display:none}.brand{font-size:18px}.brand img{width:32px;height:32px}nav .button{max-width:135px;text-align:center}.search{grid-template-columns:1fr}.search label,.search label:first-child,.search-button{grid-column:auto}.section-heading{flex-direction:column;gap:0}.section-heading .quiet{margin-top:2px}.hero-notes{gap:12px}.owner-banner{padding:21px}.contact-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.card:hover,.button:hover{transform:none}}
@media print{body{background:white;color:black}header,footer,.search,.hero,.owner-banner,.grid,.section-heading,.pagination,.category-shortcuts,#status{display:none}dialog{position:static;max-height:none;border:none;width:100%;max-width:none;box-shadow:none}dialog button,.detail-controls{display:none}dialog::backdrop{background:none}.contact-actions a{color:black;background:white;box-shadow:none}.details-grid{break-inside:avoid}}

.membership-return:not([hidden]){display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;margin:4px 0 24px;border:1px solid #bcb2ed;border-radius:22px;background:linear-gradient(115deg,#e3f8ff,#eee7ff);box-shadow:var(--shadow)}.membership-return h2{font-size:25px;line-height:1.25;margin:8px 0}.membership-return p:not(.eyebrow){color:var(--muted);font-size:14px;max-width:760px;margin:10px 0 0}.membership-return .button{flex-shrink:0}.membership-return .eyebrow{margin:0}@media(max-width:700px){.membership-return:not([hidden]){flex-direction:column;align-items:stretch;padding:22px;gap:18px}.membership-return h2{font-size:23px}}
