@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--navy:#081b2c;--navy2:#102b42;--gold:#d9b77b;--gold2:#f3dcab;--cream:#f9f8f5;--ink:#182a38;--muted:#71808a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--cream)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}.topline{height:30px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;background:#071524;color:#bca77e;font-size:10px;font-weight:800;letter-spacing:2px}header{height:86px;padding:0 5.5%;display:flex;align-items:center;justify-content:space-between;background:#fff;position:sticky;top:0;z-index:5;box-shadow:0 3px 20px #0b21350d}.brand{display:flex;gap:12px;align-items:center;font-size:15px;letter-spacing:1.7px;font-weight:500;white-space:nowrap}.brand strong{font-weight:800}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:5px;color:#7f8d96}.logo{display:grid;place-items:center;width:50px;height:50px;background:var(--navy);border:2px solid var(--gold);color:white;font-family:Georgia,serif;font-size:33px;position:relative}.logo span{position:absolute;font:15px Arial;right:2px;top:2px;color:var(--gold)}nav{display:flex;align-items:center;gap:29px;font-size:12px;font-weight:700}nav a:hover{color:#ab8b55}.navlogin,.hamburger{border:0;background:none;color:var(--ink);font-weight:700;font-size:12px}.hamburger{display:none;font-size:25px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid #dfc396;background:var(--gold);padding:18px 24px;font-size:11px;font-weight:800;letter-spacing:1.3px;color:#132437;text-transform:uppercase;transition:.2s;min-height:49px}.btn:hover{background:#eaca8d;transform:translateY(-2px)}.btn.small{min-height:40px;padding:13px 16px;gap:10px;font-size:10px}.btn.outline{color:#fff;border-color:#718292;background:transparent}.btn.outline:hover{background:#ffffff16}.hero{min-height:660px;background:radial-gradient(circle at 75% 45%,#254866 0,#102b42 30%,#071727 75%);color:#fff;position:relative;display:flex;align-items:center;overflow:hidden;padding:70px 6%}.hero-inner{position:relative;z-index:2;max-width:670px}.eyebrow,.overline{font-size:11px;font-weight:800;letter-spacing:3px;color:#d8b77b}.eyebrow{display:flex;gap:12px;align-items:center}.pulse{width:7px;height:7px;background:#e9cb96;border-radius:100%;box-shadow:0 0 0 5px #d9b77b22}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500}h1{font-size:clamp(54px,6.4vw,94px);line-height:1.06;letter-spacing:-2.8px;margin:30px 0}h1 em,h2 em{color:var(--gold);font-weight:500}.hero p{font-size:15px;color:#bccbd8;line-height:1.9;max-width:510px}.heroactions{display:flex;gap:14px;margin-top:35px;flex-wrap:wrap}.herofoot{display:flex;gap:23px;margin-top:75px;color:#a8bdca;font-size:11px;flex-wrap:wrap}.hero-art{position:absolute;width:620px;height:620px;right:-30px;top:25px;opacity:.9}.globe{position:absolute;inset:90px;border:1px solid #e3c38c30;border-radius:50%;background:repeating-radial-gradient(ellipse at center,transparent 0,transparent 49px,#d8b77b12 50px,#d8b77b12 51px),radial-gradient(circle at 50% 45%,#46657a55,#00162811 65%);display:grid;place-items:center;font-size:220px;color:#d8b77b23}.globe:before,.globe:after{content:"";position:absolute;border:1px solid #dab67533;border-radius:50%;inset:0;transform:scaleX(.45)}.globe:after{transform:scaleX(.75)}.orbit{position:absolute;inset:50px;border:1px solid #d8b77b19;border-radius:50%}.orbit2{inset:10px}.floating{position:absolute;background:#ffffff13;border:1px solid #d8b77b55;backdrop-filter:blur(8px);padding:10px 16px;display:flex;gap:7px;align-items:center;font-size:12px}.floating small{font-size:9px;letter-spacing:1px;color:var(--gold)}.f1{top:120px;left:15px}.f2{top:215px;right:10px}.f3{bottom:150px;left:10px}.f4{bottom:75px;right:60px}.strip{background:#e3c792;color:#172939;display:flex;justify-content:space-around;gap:15px;align-items:center;padding:16px 20px;font-size:10px;letter-spacing:2px;font-weight:800}.section{padding:95px 6%;max-width:1500px;margin:auto}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.section h2,.cta h2{font-size:clamp(40px,4.1vw,60px);line-height:1.2;letter-spacing:-1px;margin:18px 0}.sectionhead p{color:#6c7983;max-width:530px;line-height:1.7;font-size:14px}.tag,.billing{border:1px solid #d8d9d5;color:#7b6e55;padding:11px 15px;letter-spacing:2px;font-size:10px;font-weight:800;white-space:nowrap}.filters{display:flex;gap:10px;align-items:end;background:#fff;padding:18px;box-shadow:0 10px 35px #1826350c;margin:25px 0}.filters label{display:flex;flex-direction:column;gap:8px;flex:1;font-size:10px;font-weight:800;letter-spacing:1.5px}.filters input,.filters select{height:46px;background:#f7f8f8;border:1px solid #e7e9e8;padding:0 14px;width:100%;outline-color:#d9b77b}.filterReset{border:0;background:var(--navy);color:#fff;height:46px;padding:0 20px;white-space:nowrap;font-size:11px}.listinggrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.listing{background:#fff;overflow:hidden;border:1px solid #e9e9e7;box-shadow:0 8px 18px #07172708}.listingvisual{height:195px;display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(135deg,var(--c1),var(--c2));color:#ffffffd9;font-family:Georgia,serif;font-size:90px}.listingvisual .demo{position:absolute;right:14px;top:14px;padding:7px 9px;background:#0c1922aa;color:#fff;font:9px 'DM Sans',sans-serif;letter-spacing:1px}.listingbody{padding:23px}.listingbody .location{font-size:10px;font-weight:800;letter-spacing:2px;color:#aa8b56}.listingbody h3{font-family:'Playfair Display',Georgia,serif;font-size:24px;font-weight:600;margin:11px 0}.listingbody p{color:#6b7881;font-size:13px;line-height:1.7;min-height:45px}.listingbottom{border-top:1px solid #edf0f0;padding-top:15px;display:flex;justify-content:space-between;align-items:center;font-size:11px}.listingbottom span{font-weight:700}.listingbottom button{border:none;background:none;color:#95743e;font-weight:800}.directorynote,.fineprint{font-size:11px;color:#818b91;margin-top:20px}.empty{grid-column:1/-1;text-align:center;padding:45px;background:#fff;color:#71808a}.how{max-width:none;background:#eaece9}.how>h2{margin-bottom:40px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1300px}.steps article{padding:35px;background:#fff;min-height:240px}.steps b{color:#bb985f;font-size:14px}.steps h3{font-family:Georgia,serif;font-weight:500;font-size:26px;margin:25px 0 12px}.steps p{font-size:13px;line-height:1.8;color:#71808a}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.plan{padding:34px;background:#fff;border:1px solid #e8e6e0;position:relative;display:flex;flex-direction:column}.plan.featured{background:var(--navy);color:#fff;border-color:var(--navy)}.popular{position:absolute;right:0;top:0;color:#132437;background:var(--gold);font-size:9px;font-weight:800;letter-spacing:1px;padding:10px 14px}.planhead{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:800;letter-spacing:2px}.planhead span{font-size:9px;letter-spacing:1.5px;color:#a79372}.plan h3{font:600 40px Georgia,serif;margin:28px 0 10px}.plan h3 small{font:13px 'DM Sans',sans-serif;color:#8796a0}.plan>p{font-size:13px;line-height:1.7;color:#818d93}.plan.featured>p{color:#adbdc9}.plan ul{list-style:none;padding:0;margin:12px 0 30px;flex:1}.plan li{padding:10px 0;border-bottom:1px solid #cccccc35;font-size:12px;line-height:1.6}.plan li:before{content:'✓';color:#b99760;margin-right:9px}.planbtn{width:100%}.planbtn.light{background:transparent;border-color:#bba279}.cta{background:#081b2c;color:#fff;padding:90px 7%;display:flex;justify-content:space-between;align-items:center;overflow:hidden}.cta h2{font-size:clamp(42px,5vw,75px)}.cta p{color:#aabac8;max-width:470px;line-height:1.8;font-size:14px}.cta-graphic{font:270px Georgia,serif;color:#d9b77b25;position:relative;padding:10px 9%;border:1px solid #d9b77b30;border-radius:100%}.cta-graphic span{position:absolute;right:60px;top:90px;font:80px Georgia;color:#dab77b55}footer{background:#051421;color:#d7e0e5;display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:60px;padding:60px 6% 25px}.footbrand{color:#fff}footer p{font-size:12px;line-height:1.8;color:#8296a5;max-width:320px;margin-top:20px}footer h4{font-size:10px;letter-spacing:2px;color:var(--gold)}footer a:not(.brand),footer span:not(.logo):not(.logo span){display:block;margin:12px 0;font-size:12px;color:#9badb8}.footbottom{grid-column:1/-1;border-top:1px solid #ffffff18;padding-top:20px;color:#83949f;font-size:11px}.modal[hidden],[hidden]{display:none!important}.modal{position:fixed;inset:0;background:#071524c9;z-index:20;display:flex;align-items:center;justify-content:center;padding:15px;overflow:auto}.modalbox{background:#fff;max-width:600px;width:100%;max-height:95vh;overflow:auto;padding:30px;position:relative}.modalbox h2{font:500 36px Georgia,serif;margin:15px 0}.modalbox p{font-size:13px;line-height:1.7;color:#70808a}.close{position:absolute;top:17px;right:18px;background:transparent;border:0;font-size:20px}.switcher{display:flex;border-bottom:1px solid #ddd;margin:25px 0}.switcher button{flex:1;border:0;background:none;padding:13px 4px;font-size:12px;font-weight:700}.switcher button.active{border-bottom:3px solid var(--gold)}.modal form label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;margin:12px 0}.modal form input:not([type=checkbox]),.modal form select,.modal form textarea{border:1px solid #dfe4e6;padding:12px;width:100%;background:#f9fafb;border-radius:0}.modal form textarea{min-height:70px;resize:vertical}.formrow{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal form label.agree{display:flex;flex-direction:row;align-items:flex-start;font-size:11px;color:#677883;font-weight:400}.agree input{margin-top:1px}.btn.full{width:100%;margin-top:15px}.notice{padding:20px;background:#f3f5f6}.feedback{padding:12px;margin-top:14px;font-size:12px;line-height:1.6;background:#f5f1e9;color:#554728}@media(max-width:1050px){nav{gap:14px}.hero-art{right:-220px;opacity:.35}.listinggrid,.plans{grid-template-columns:repeat(2,1fr)}.plans .plan:last-child{grid-column:1/-1}.listinggrid .listing{min-width:0}}@media(max-width:760px){.topline{font-size:8px;letter-spacing:1px}.topline span:last-child{display:none}header{height:72px;padding:0 5%}.brand{font-size:12px;gap:8px;letter-spacing:1px}.brand small{font-size:7px}.logo{width:40px;height:40px;font-size:25px}.hamburger{display:block}nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:20px 6%;flex-direction:column;align-items:stretch;box-shadow:0 15px 25px #09192918}nav.open{display:flex}nav a,nav button{padding:10px;text-align:left}.hero{min-height:640px;padding:80px 6% 45px}.hero-art{right:-350px;opacity:.22}.hero h1{font-size:clamp(54px,12vw,82px);letter-spacing:-2px}.herofoot{margin-top:45px;gap:12px;font-size:10px}.section{padding:65px 5%}.sectionhead{align-items:start;flex-direction:column}.section h2{font-size:43px}.filters{display:grid;grid-template-columns:1fr 1fr}.filters label:first-child{grid-column:1/-1}.filterReset{grid-column:1/-1}.listinggrid,.plans,.steps{grid-template-columns:1fr}.plans .plan:last-child{grid-column:auto}.how{padding:60px 5%}.cta{padding:65px 6%}.cta-graphic{display:none}footer{grid-template-columns:1fr 1fr;gap:25px}footer>div:first-child{grid-column:1/-1}.formrow{grid-template-columns:1fr}.modalbox{padding:20px}.modalbox h2{font-size:30px}}@media(max-width:420px){.heroactions .btn{width:100%}.listingvisual{height:175px}footer{grid-template-columns:1fr}footer>div:first-child{grid-column:auto}.footbottom{grid-column:1/-1}}

.accountpanel{background:#f5f4ef}.submission{border:1px solid #c7b88d;padding:20px;margin:16px 0;background:white}.submission p{margin:8px 0}.adminbtn{margin:5px}.modalbox button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:640px){.hero-art{opacity:.18;pointer-events:none}.hero-inner{position:relative;z-index:2}}

.directory-status:not(:empty){margin:16px 0;padding:12px 16px;border:1px solid #d1b778;background:#fff8e9;color:#453913;font-size:14px}

/* Version 6: public profile and advertiser image uploader */
.profileOverlay:not([hidden]){position:fixed;inset:0;z-index:9999;background:#071727c9;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}
.profileCard{background:#fff;color:#162236;width:min(740px,100%);max-height:92vh;overflow:auto;position:relative;box-shadow:0 22px 90px #0005}
.profileClose{position:absolute;top:10px;right:14px;z-index:2;border:0;background:#fff;font-size:32px;cursor:pointer;padding:2px 12px}
.profileBanner{height:170px;background:linear-gradient(135deg,#103348,#58a9a2);display:flex;align-items:center;justify-content:center}.profileBanner img{width:140px;height:140px;object-fit:contain;background:white;border-radius:8px;padding:5px}
.profileContent{padding:28px}.profileContent h2{margin:8px 0 12px}.profileContent p{line-height:1.6;overflow-wrap:anywhere}.profileGallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:20px 0}.profileGallery img{width:100%;height:150px;object-fit:cover;border-radius:4px}
.cardLogo{width:90px;height:90px;object-fit:contain;background:#fff;border-radius:8px;padding:8px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.listingvisual{position:relative}.uploadPanel{padding:16px;background:#f5f5f1;border:1px solid #d5d6d2;margin-top:12px}.uploadPanel label{display:block;margin:10px 0}.uploadPanel input{max-width:100%}.uploadPanel .btn{margin:8px 0}.uploadStatus{font-size:.9rem;white-space:pre-wrap}
@media(max-width:560px){.profileContent{padding:18px}.profileBanner{height:130px}.profileGallery{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Version 7: self-service edits and distinct profile labels */
.editPanel{margin-top:16px}.editToggle{min-height:40px}.editBusinessForm{margin-top:14px;padding:18px;border:1px solid #d7d9d5;background:#fbfbf9;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.editBusinessForm[hidden]{display:none}.editBusinessForm label{display:flex;flex-direction:column;gap:7px;font-weight:700;font-size:13px}.editBusinessForm input,.editBusinessForm select,.editBusinessForm textarea{width:100%;border:1px solid #cdd2d4;background:#fff;padding:10px}.editBusinessForm label:has(textarea),.editBusinessForm>p,.editBusinessForm>.btn{grid-column:1/-1}.editBusinessForm textarea{min-height:100px}.editBusinessForm>p{font-size:12px;line-height:1.6;margin:0}.profileContent .overline{margin-bottom:10px}@media(max-width:600px){.editBusinessForm{grid-template-columns:1fr}}

/* Version 8: keep the business editor visibly above the photo uploader. */
.submission .editPanel{display:block;clear:both;margin:16px 0 20px;padding:14px;border:1px solid #d8c298;background:#fffaf1}
.submission .editToggle{display:inline-flex;background:#d9b77b;border:1px solid #bd985b;color:#132437;min-height:44px;padding:12px 18px;font-weight:800}
.submission .editBusinessForm:not([hidden]){display:grid}
.submission .editBusinessForm[hidden]{display:none!important}

/* V11: preserve readable cards and usable controls on narrow screens. */
.listingbody h3,.listingbody p,.submission{overflow-wrap:anywhere}
.listingbottom button{min-height:40px;padding:8px;cursor:pointer}
.btn:focus-visible,.filterReset:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b78d44;outline-offset:3px}
.profileCard{max-height:calc(100dvh - 32px);overflow:auto}
@media(max-width:760px){.hero-art{pointer-events:none}.hero-inner{width:100%}.filters{grid-template-columns:1fr}.filters label:first-child,.filterReset{grid-column:auto}.listingbottom{gap:12px;flex-wrap:wrap}.submission .btn{margin:5px 6px 5px 0}.hero h1{overflow-wrap:normal}}
@media(max-width:420px){.section h2{font-size:clamp(30px,9vw,43px)}.hero h1{font-size:clamp(44px,12vw,64px)}.modalbox{max-height:calc(100dvh - 25px)}}

.uploadSelection{font-size:.85rem;color:#394c55;overflow-wrap:anywhere;margin:2px 0 10px}

/* Version 13 photo management */
.managedImages{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:12px;margin:12px 0 20px}.managedImage{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid #ddd}.managedImage img{width:100%;height:110px;object-fit:contain}.managedImage .btn{font-size:12px;padding:10px}.removeBusiness{padding:14px 0;border-top:1px solid #ddd;margin-top:10px}

/* Version 14 dashboard and responsive gallery */
.dashboardSummary{padding:16px 20px;border:1px solid #d8d1c3;background:#f8f6ef;font-weight:600;margin:20px 0}
.profileGallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:14px;margin-top:18px}
.profileGallery img{width:100%;height:165px;object-fit:cover;border-radius:8px;cursor:zoom-in}
.profileGallery img:focus-visible{outline:3px solid #bd9845;outline-offset:3px}
#archivedListings .submission{margin:16px 0;padding:18px;border:1px solid #d8d1c3}
.ganLightbox{position:fixed;inset:0;background:rgba(5,15,29,.92);z-index:99999;display:flex;justify-content:center;align-items:center;padding:55px 20px 25px}
.ganLightbox img{max-width:95vw;max-height:85vh;object-fit:contain}
.ganLightbox button{position:absolute;top:12px;right:18px}
@media(max-width:600px){.profileGallery{grid-template-columns:repeat(2,minmax(0,1fr))}.profileGallery img{height:125px}}

/* Version 15 enhancements */
.directoryCount{font-weight:650;color:#17385d;margin:16px 0 10px;font-size:.9rem}
.filters{flex-wrap:wrap;gap:12px}.filters label{flex:1 1 170px;min-width:145px}.filters select,.filters input{width:100%}
.profileShare{margin:8px 10px 8px 0}
@media(max-width:660px){.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.filters label:first-child{grid-column:1/-1}.filterReset{grid-column:1/-1}.profileShare{width:100%}}

/* Version 16: focused mobile layout refinements. */
@media (max-width:760px){
  header{z-index:15}
  nav{top:72px;max-height:calc(100dvh - 84px);overflow-y:auto;padding:10px 5% 16px;gap:0;border-top:1px solid #e8e7e2;box-shadow:0 12px 22px #09192920}
  nav a,nav .navlogin{display:block;width:100%;padding:12px 14px;text-align:left;font-size:14px;line-height:1.3;border-bottom:1px solid #eef0ef}
  nav .btn.small{width:100%;margin-top:12px;justify-content:center;padding:13px 16px;text-align:center}
  .hamburger{min-width:44px;min-height:44px;display:grid;place-items:center}
  .hero-art{opacity:.14;pointer-events:none}
  .floating{display:none!important}
  .hero-inner{z-index:3}
  .hero h1,.hero p,.heroactions,.herofoot{position:relative;z-index:3}
  .strip{flex-wrap:wrap;gap:7px 16px;text-align:center;font-size:9px;letter-spacing:1px}
}
@media (max-width:420px){
  .brand{white-space:normal;min-width:0;font-size:12px;letter-spacing:1px}
  .brand small{letter-spacing:1.3px;font-size:6.5px}
  .hero{padding-top:54px;min-height:0;padding-bottom:65px}
  .hero h1{font-size:clamp(43px,11.5vw,58px);line-height:1.13}
  .herofoot{margin-top:33px}
  .strip{justify-content:center}
}
