*{margin:0;padding:0;box-sizing:border-box}html{font-size:17px;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overflow-x:hidden}:root{--lo-head-bg: #1a0a14;--lo-head-bg2: #2d1220;--lo-text: #f0e6ed;--lo-text-dark: #1a0a14;--lo-blue: #e8527d;--lo-accent: #e8527d;--lo-accent-dark: #c43d64;--lo-accent-light: #ff6b95;--lo-gold: #d4a574;--lo-light: #f7fafc;--lo-border: #3d1e2e;--lo-border-light: #4a2640;--lo-muted: #a08894;--lo-bg: #120810;--lo-bg-card: #1e0e18;--lo-bg-elevated: #251020;--lo-card-shadow: 0 2px 8px rgba(0, 0, 0, .3), 0 1px 3px rgba(0, 0, 0, .2);--lo-card-shadow-hover: 0 8px 24px rgba(0, 0, 0, .4), 0 4px 12px rgba(232, 82, 125, .15)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--lo-bg);color:var(--lo-text);line-height:1.6;min-height:100vh;display:flex;flex-direction:column}.main{background:radial-gradient(ellipse at 20% 0%,rgba(232,82,125,.06),transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(212,165,116,.04),transparent 50%)}.container{max-width:1200px;margin:0 auto;padding:0 1.25rem}.main{flex:1}.site-header{background:linear-gradient(135deg,var(--lo-head-bg) 0%,var(--lo-head-bg2) 100%);padding:.75rem 0;box-shadow:0 4px 20px #0006;position:sticky;top:0;z-index:100;backdrop-filter:blur(12px);border-bottom:1px solid var(--lo-border-light)}.site-header .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.brand,.brand:link,.brand:visited,.brand:hover,.brand:active{text-decoration:none}.brand .brand-name{font-family:Playfair Display,serif;font-size:2rem;font-weight:700;display:inline-block;line-height:1;letter-spacing:.01em;color:#fff}.brand .brand-accent{color:var(--lo-accent)}.nav{margin-left:auto}.nav ul{list-style:none;display:flex;gap:1.5rem;align-items:center}.nav a{color:#fffc;text-decoration:none;font-size:.95rem;font-weight:500;transition:color .2s}.nav a:hover{color:#fff}.nav .nav-link{color:#fff;font-weight:600;position:relative}.nav .nav-link:after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--lo-accent);transition:width .25s ease}.nav .nav-link:hover:after{width:100%}.nav .nav-link:hover{color:#fff}.nav .nav-cta{background:linear-gradient(135deg,var(--lo-accent) 0%,var(--lo-accent-dark) 100%);color:#fff!important;padding:.4rem 1.1rem;border-radius:999px;font-weight:700;font-size:.9rem;transition:transform .15s,box-shadow .2s;box-shadow:0 4px 14px -4px #e8527d80}.nav .nav-cta:hover{transform:translateY(-1px);box-shadow:0 6px 20px -4px #e8527db3}.nav .nav-cta:after{display:none}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0;background:transparent;border:1px solid var(--lo-border-light);border-radius:10px;cursor:pointer;transition:border-color .2s,background .2s}.nav-toggle span{display:block;width:22px;height:2px;margin:0 auto;background:#fff;border-radius:2px;transition:transform .3s ease,opacity .2s ease,width .2s ease}.nav-toggle:hover{border-color:var(--lo-accent);background:#e8527d14}.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0;width:0}.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.site-footer{border-top:1px solid var(--lo-border-light);text-align:center;padding:2.5rem 1rem;margin-top:3rem;color:var(--lo-muted);font-size:.85rem;background:var(--lo-head-bg)}.footer-brand{font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:.5rem}.footer-brand .brand-accent{color:var(--lo-accent)}.footer-links{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 0;margin-bottom:1rem}.footer-links li{display:inline}.footer-links li:after{content:" | ";color:var(--lo-muted)}.footer-links li:last-child:after{content:""}.footer-links a{color:var(--lo-muted);text-decoration:none}.footer-links a:hover{color:var(--lo-accent);text-decoration:underline}.site-footer p{margin-top:1rem}.site-footer p a{color:var(--lo-accent-light);text-decoration:none}.site-footer p a:hover{color:var(--lo-accent)}.city-grid{column-count:4;column-gap:1.5rem;padding:2rem 0}.state-card{background:var(--lo-bg-card);border:1px solid var(--lo-border);border-radius:12px;padding:1.25rem;box-shadow:var(--lo-card-shadow);break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;display:inline-block;width:100%;margin-bottom:1.5rem;transition:box-shadow .2s ease,transform .2s ease,border-color .2s}.state-card:hover{box-shadow:var(--lo-card-shadow-hover);transform:translateY(-2px);border-color:var(--lo-accent)}.state-card h3{font-size:1.35rem;color:#fff;margin-bottom:.6rem;font-weight:700;font-family:Playfair Display,serif;padding-bottom:.5rem;border-bottom:2px solid var(--lo-accent)}.state-card p{margin:.25rem 0}.state-card a{color:var(--lo-text);text-decoration:none;font-size:1rem;font-weight:500;transition:color .15s,padding-left .15s}.state-card a:hover{color:var(--lo-accent);padding-left:.25rem}.lo-cta{position:relative;overflow:hidden;max-width:760px;margin:2.5rem auto 0;padding:2.25rem 1.75rem;text-align:center;border-radius:18px;background:linear-gradient(135deg,var(--lo-head-bg) 0%,var(--lo-head-bg2) 100%);box-shadow:0 14px 40px -14px #0009;color:#fff;border:1px solid var(--lo-border-light)}.lo-cta:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 15%,rgba(232,82,125,.2),transparent 45%),radial-gradient(circle at 85% 90%,rgba(212,165,116,.12),transparent 40%);pointer-events:none}.lo-cta h2{position:relative;font-family:Playfair Display,serif;font-size:1.85rem;line-height:1.15;margin:0 0 .4rem;color:#fff;font-weight:700}.lo-cta p{position:relative;margin:0 auto 1.35rem;max-width:480px;font-size:1.02rem;line-height:1.5;color:#ffffffe6}.lo-btn{position:relative;display:inline-flex;align-items:center;gap:.55rem;padding:.9rem 2rem;border-radius:999px;background:linear-gradient(135deg,var(--lo-accent) 0%,var(--lo-accent-dark) 100%);color:#fff!important;font-family:Inter,sans-serif;font-size:1.1rem;font-weight:700;letter-spacing:.01em;text-decoration:none;box-shadow:0 8px 22px -6px #e8527d66;transition:transform .15s ease,box-shadow .2s ease}.lo-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 12px 28px -6px #e8527d99}.lo-btn .flame{display:inline-block;font-size:1.3rem;transform-origin:50% 90%;animation:flame-flicker 1.5s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(255,140,0,.7))}@keyframes flame-flicker{0%,to{transform:scale(1) rotate(-3deg);opacity:1}25%{transform:scale(1.15) rotate(2deg);opacity:.92}50%{transform:scale(.95) rotate(-2deg);opacity:1}75%{transform:scale(1.1) rotate(3deg);opacity:.95}}@media(prefers-reduced-motion:reduce){.lo-btn .flame{animation:none}}@media(max-width:480px){.lo-cta{padding:1.75rem 1.15rem}.lo-cta h2{font-size:1.5rem}.lo-btn{font-size:1.05rem;padding:.8rem 1.6rem}}.cities-guide{max-width:820px;margin:3rem auto 0;padding-top:2rem;border-top:1px solid var(--lo-border)}.cities-guide h2{font-size:1.5rem;color:#fff;font-weight:700;margin:0 0 1rem;font-family:Playfair Display,serif}.cities-guide h3{color:var(--lo-accent);font-size:1.12rem;font-weight:600;margin:1.75rem 0 .6rem}.cities-guide p{margin-bottom:1rem;line-height:1.75;color:var(--lo-text)}.cities-guide a{color:var(--lo-accent-light);text-decoration:none}.cities-guide a:hover{text-decoration:underline}.content-section{background:transparent;padding:2.5rem 0}.text-block{word-wrap:break-word;overflow-wrap:break-word}.content-section .page-heading{font-size:1.75rem;color:#fff;margin:0 0 .5rem;font-weight:700;text-align:center;font-family:Playfair Display,serif}.content-section .page-subheading{font-size:1.05rem;color:var(--lo-muted);margin:0 0 1.5rem;text-align:center}.content-section h5{color:var(--lo-accent);font-size:1.1rem;margin:1.5rem 0 .75rem;font-weight:600}.content-section h4{color:var(--lo-text);font-size:1.2rem;margin:1.5rem 0;font-weight:600}.content-section p,.content-section .text-block{margin-bottom:1rem;line-height:1.7}.content-section a{color:var(--lo-accent-light)}.content-section b{font-weight:600}.city-page{padding:2rem 0}.city-hero{text-align:center;margin-bottom:2rem;padding:1.5rem 1rem}.city-hero h1{font-size:1.75rem;margin-bottom:.4rem;color:#fff;font-weight:700;font-family:Playfair Display,serif}.city-hero-sub{font-size:1rem;color:var(--lo-muted);margin:0}.listing-list{display:flex;flex-direction:column;gap:.6rem;max-width:760px;margin:0 auto}.listing-card{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:var(--lo-bg-card);border:1px solid var(--lo-border);border-radius:12px;text-decoration:none;transition:box-shadow .2s,transform .15s,border-color .2s}.listing-card:hover{box-shadow:0 4px 20px -2px #e8527d33;transform:translateY(-1px);border-color:var(--lo-accent)}.listing-card-inner{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.listing-card-title{color:var(--lo-text);font-size:1rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.listing-card-age{color:var(--lo-accent-light);font-size:.85rem;font-weight:600;background:#e8527d1f;padding:.15rem .6rem;border-radius:999px;white-space:nowrap}.listing-card-arrow{color:var(--lo-muted);flex-shrink:0;margin-left:.75rem;transition:color .2s,transform .2s}.listing-card:hover .listing-card-arrow{color:var(--lo-accent);transform:translate(3px)}.listing-card--featured{flex-direction:row;align-items:center;justify-content:space-between;padding:.75rem 1.25rem}.listing-card-featured-wrap{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.listing-card-photos{display:flex;gap:6px;flex-shrink:0}.listing-card-photos img{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--lo-border)}.listing-card-featured-body{display:flex;flex-direction:column;gap:.25rem;min-width:0}.listing-card-featured-sub{color:var(--lo-muted);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:480px){.listing-card-photos img{width:52px;height:52px}}.city-guide-wrap{max-width:780px;margin:3rem auto 0;background:var(--lo-bg-card);border:1px solid var(--lo-border);border-radius:16px;padding:2rem 1.75rem;box-shadow:0 4px 20px -4px #0000004d}.city-guide-header{display:flex;align-items:center;gap:.6rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:2px solid var(--lo-border-light)}.city-guide-icon{color:var(--lo-accent);display:flex;align-items:center}.city-guide-header h2{font-size:1.25rem;color:#fff;font-weight:700;font-family:Playfair Display,serif;margin:0}.sponsor-block{background:var(--lo-bg-card);border:1px solid var(--lo-border);border-radius:12px;padding:1.25rem;margin-bottom:1rem;box-shadow:0 2px 12px -2px #0003;transition:box-shadow .2s,border-color .2s}.sponsor-block:hover{box-shadow:0 4px 20px -4px #e8527d26;border-color:var(--lo-border-light)}.sponsor-block a{color:var(--lo-text);text-decoration:none;font-size:1.1rem;font-weight:600}.sponsor-block a:hover{color:var(--lo-accent)}.sponsor-block .sponsor-label{color:var(--lo-muted);font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.sponsor-photos{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.sponsor-photos a{display:inline-block;line-height:0}.sponsor-photos img{width:80px;height:80px;object-fit:cover;border-radius:6px;transition:opacity .15s}.sponsor-photos a:hover img{opacity:.85}.listing-row{padding:.75rem 0;border-bottom:1px solid var(--lo-border)}.listing-row a{color:var(--lo-accent-light);text-decoration:none;font-size:1rem;font-weight:500}.listing-row a:hover{text-decoration:underline}.listing-row .age{color:var(--lo-muted);font-size:.9rem;margin-left:.5rem}.city-guide{color:var(--lo-text);word-wrap:break-word;overflow-wrap:break-word}.city-guide p{margin-bottom:1rem;line-height:1.8;font-size:.97rem;color:var(--lo-text)}.city-guide h2,.city-guide h3{color:#fff;font-family:Playfair Display,serif;margin-bottom:.75rem}.city-guide p:last-child{margin-bottom:0}.city-guide a{color:var(--lo-accent);text-decoration:none;font-weight:500}.city-guide a:hover{text-decoration:underline}.listing-detail{padding:2rem 0}.listing-detail .crumbs{margin-bottom:1.5rem}.listing-detail .crumbs a{color:var(--lo-accent);text-decoration:none;font-size:.95rem;font-weight:500;display:inline-flex;align-items:center;gap:.35rem;transition:color .2s}.listing-detail .crumbs a:hover{color:var(--lo-accent-dark)}.listing-detail .ad-age{display:inline-block;background:var(--lo-accent);color:#fff;font-size:.85rem;font-weight:700;padding:.25rem .75rem;border-radius:999px;margin-bottom:1rem}.listing-detail h1{font-size:1.5rem;color:#fff;margin-bottom:1.5rem;font-weight:700;font-family:Playfair Display,serif;line-height:1.25}.listing-detail .ad-description{margin:1.5rem 0;line-height:1.8;padding:1.5rem;background:var(--lo-bg-card);border:1px solid var(--lo-border);border-radius:12px;word-wrap:break-word;overflow-wrap:break-word}.listing-detail .ad-id{color:var(--lo-muted);font-size:.82rem;text-align:right;padding:.5rem 0}.signup-cta{display:inline-block;background:linear-gradient(135deg,var(--lo-accent) 0%,var(--lo-accent-dark) 100%);color:#fff;padding:.85rem 2.25rem;border-radius:999px;text-decoration:none;font-size:1.05rem;font-weight:700;margin:2rem 0 1rem;transition:transform .15s,box-shadow .2s;box-shadow:0 6px 20px -6px #e8527d80}.signup-cta:hover{color:#fff;transform:translateY(-2px);box-shadow:0 10px 28px -6px #e8527db3}.faq-content{padding:2rem 0;line-height:1.8}.faq-content h1,.faq-content h2{font-size:1.5rem;margin-bottom:1.5rem;font-family:Playfair Display,serif;color:#fff}.faq-content .qa{margin-bottom:1.5rem}.faq-content .question{font-weight:600;color:#fff;margin-bottom:.5rem}.faq-content .answer{color:var(--lo-text)}.auth-page{max-width:480px;margin:3rem auto;padding:2rem;background:var(--lo-bg-card);border:1px solid var(--lo-border);border-radius:12px;box-shadow:0 4px 24px #0000004d}.auth-page h2{text-align:center;margin-bottom:1.5rem;color:#fff}.auth-page .form-group{margin-bottom:1.25rem}.auth-page label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--lo-text)}.auth-page input{width:100%;padding:.75rem;border:1px solid var(--lo-border-light);border-radius:6px;font-size:1rem;font-family:inherit;background:var(--lo-bg);color:var(--lo-text)}.auth-page button{width:100%;padding:.85rem;background:linear-gradient(135deg,var(--lo-accent) 0%,var(--lo-accent-dark) 100%);color:#fff;border:none;border-radius:6px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .2s;box-shadow:0 4px 14px -4px #e8527d66}.auth-page button:hover{transform:translateY(-1px);box-shadow:0 6px 18px -4px #e8527d99}.auth-page .note{text-align:center;color:var(--lo-muted);font-size:.9rem;margin-top:1rem}.auth-page .note a{color:var(--lo-accent-light)}@media(max-width:1024px){.city-grid{column-count:3}}@media(max-width:768px){html{font-size:16px}.site-header .container{flex-direction:row;text-align:left;gap:.5rem}.brand .brand-name{font-size:1.75rem}.nav-toggle{display:flex}.nav{position:fixed;top:64px;left:0;right:0;background:linear-gradient(135deg,var(--lo-head-bg) 0%,var(--lo-head-bg2) 100%);border-bottom:1px solid var(--lo-border-light);box-shadow:0 8px 24px #00000080;max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease;z-index:99}.nav.open{max-height:320px;padding:1rem 0 1.5rem}.nav ul{flex-direction:column;align-items:center;gap:1.25rem;padding:0 1.25rem}.nav li{width:100%;text-align:center}.nav .nav-link{display:block;padding:.5rem 0;font-size:1.05rem}.nav .nav-link:after{display:none}.nav .nav-cta{display:inline-block;margin-top:.5rem;padding:.6rem 2rem;font-size:1rem}.city-grid{column-count:2;column-gap:1rem}.state-card{padding:.75rem;margin-bottom:1rem}.state-card a{font-size:1rem}.sponsor-photos img{width:60px;height:60px}.content-section{padding:1.75rem 0}.content-section .page-heading{font-size:1.4rem}.city-page,.listing-detail,.faq-content{padding:1.25rem 0}}@media(max-width:480px){html{font-size:15px}.container{padding:0 1rem}.brand .brand-name{font-size:1.5rem}.city-grid{column-count:2;column-gap:.75rem}.state-card{padding:.6rem .5rem;margin-bottom:.75rem}.state-card h3{font-size:1.25rem}.state-card a{font-size:1.05rem}.content-section .page-heading{font-size:1.25rem}.content-section .page-subheading{font-size:.95rem}.city-page h1{font-size:1.25rem}.listing-detail h1{font-size:1.15rem}.faq-content h1,.faq-content h2{font-size:1.25rem}.footer-links{gap:.25rem 0}.footer-links a{font-size:.8rem}}
