/* gayhotline.net — The Original Gay Chatline
   Distinct look: deep ink background, pride-gradient accents, bold display type.
   Distinct from tvts (plum/glass) and blacksinglez (emerald/urban). */
:root{
  --ink:#0b0b12; --ink2:#12121d; --card:#171724; --card2:#1e1e2e;
  --line:#2a2a3d; --tx:#eceaf5; --mut:#a6a4bd; --mut2:#7d7b96;
  --brand:#ff2e8b; --brand2:#7a3cff; --acc:#00d3c7;
  --pride:linear-gradient(90deg,#e50000 0%,#ff8d00 18%,#ffee00 36%,#028121 58%,#004cff 80%,#770088 100%);
  --grad:linear-gradient(120deg,#ff2e8b 0%,#7a3cff 55%,#00b3ff 100%);
  --radius:18px; --wrap:1120px;
  --shadow:0 18px 50px rgba(0,0,0,.45);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--tx);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  line-height:1.65;-webkit-font-smoothing:antialiased;padding-bottom:0}
h1,h2,h3,h4,.disp{font-family:"Space Grotesk",Inter,sans-serif;line-height:1.12;letter-spacing:-.02em}
a{color:var(--acc);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.grad-txt{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.inl{color:#ffd0e6;font-weight:700;text-decoration:underline;text-underline-offset:2px}

/* 18+ notice */
.notice{background:#08080e;color:var(--mut);font-size:12.5px;text-align:center;
  padding:8px 16px;border-bottom:1px solid var(--line)}
.notice b{color:var(--brand)}

/* pride accent bar */
.priderule{height:4px;background:var(--pride);width:100%}

/* header */
header.site{position:sticky;top:0;z-index:50;background:rgba(11,11,18,.86);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px}
nav a:hover{color: var(--magenta)}
nav.active {display: flex;}

.menu-toggle{display:none;border:none;background:none;border-radius: 12px;padding: 8px 12px;font-size:0.9rem;color:var(--magenta)}
.brand{display:inline-flex;align-items:center;gap:9px;font-family:"Space Grotesk";
  font-weight:700;font-size:20px;color:var(--tx)}
.brand:hover{text-decoration:none}
.brand .dot{font-size:19px}
.navlinks{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.navlinks a{color:var(--mut);font-weight:600;font-size:14.5px}
.navlinks a:hover{color:var(--tx);text-decoration:none}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;
  font-weight:700;font-family:"Space Grotesk";padding:11px 20px;font-size:14.5px;
  border:1px solid transparent;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-primary{background:var(--grad);color:#fff;box-shadow:0 8px 24px rgba(255,46,139,.35)}
.btn-ghost{background:transparent;color:var(--tx);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--brand)}
.btn-lg{padding:15px 30px;font-size:16.5px}

/* hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero::before{content:"";position:absolute;inset:0;z-index:0;
  background:
   radial-gradient(60% 55% at 80% 8%,rgba(122,60,255,.30),transparent 60%),
   radial-gradient(50% 50% at 12% 90%,rgba(255,46,139,.24),transparent 60%),
   radial-gradient(45% 45% at 55% 40%,rgba(0,179,255,.14),transparent 60%)}
.hero .wrap{position:relative;z-index:1;padding:26px 22px 56px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;
  font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);
  border:1px solid var(--line);border-radius:999px;padding:6px 14px;background:var(--card);display:none}
.eyebrow .g{background:var(--pride);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:14px}
h1.big{font-size:clamp(34px,6vw,62px);margin:20px 0 14px;max-width:14ch}
.hero p.lead{font-size:clamp(16px,2vw,20px);color:var(--mut);max-width:52ch;margin:0 0 26px}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.callnum{font-family:"Space Grotesk";font-weight:700;font-size:clamp(22px,3vw,30px);
  color:#fff;display:inline-flex;align-items:center;gap:10px}
.callnum .ic{filter:grayscale(0)}
.trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:26px;color:var(--mut2);font-size:13.5px}
.trust b{color:var(--tx)}

/* sections */
section.band{padding:60px 0;border-bottom:1px solid var(--line)}
section.band.alt{background:var(--ink2)}
.kicker{color:var(--brand);font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px}
h2.sec{font-size:clamp(26px,3.6vw,38px);margin:0 0 14px}
.sub{color:var(--mut);max-width:60ch;margin:0 0 30px;font-size:16.5px}

/* steps / cards grid */
.grid{display:grid;gap:20px}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px 24px;position:relative;overflow:hidden}
.card .step{font-family:"Space Grotesk";font-weight:700;font-size:14px;color:var(--brand);
  display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  border-radius:11px;background:rgba(255,46,139,.12);border:1px solid rgba(255,46,139,.3);margin-bottom:14px}
.card h3{font-size:20px;margin:0 0 8px}
.card p{color:var(--mut);margin:0;font-size:15px}
.card .emo{font-size:26px;margin-bottom:12px;display:block}

/* feature list */
.checks{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.checks li{display:flex;gap:12px;align-items:flex-start;color:var(--mut);font-size:15.5px}
.checks li b{color:var(--tx)}
.checks .tick{color:var(--acc);font-weight:900;flex:none;margin-top:1px}

/* big call band */
.callband{background:var(--card2);border:1px solid var(--line);border-radius:24px;
  padding:40px;text-align:center;position:relative;overflow:hidden}
.callband::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--pride)}
.callband h2{font-size:clamp(24px,3.4vw,34px);margin:0 0 10px}
.callband p{color:var(--mut);margin:0 0 22px}

/* FAQ */
.faqgroup{margin-bottom:30px}
.faqgroup > h3{font-size:19px;margin:0 0 12px;color:var(--tx);display:flex;align-items:center;gap:10px}
.faqgroup > h3::before{content:"";width:22px;height:4px;border-radius:2px;background:var(--grad);display:inline-block}
details.faq{background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:0 20px;margin-bottom:10px;transition:border-color .15s ease}
details.faq[open]{border-color:var(--brand)}
details.faq summary{cursor:pointer;list-style:none;padding:16px 0;font-weight:600;
  font-size:16px;color:var(--tx);display:flex;justify-content:space-between;gap:16px;align-items:center}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";font-size:22px;color:var(--brand);font-weight:400;flex:none;transition:transform .15s}
details.faq[open] summary::after{transform:rotate(45deg)}
details.faq .ans{padding:0 0 18px;color:var(--mut);font-size:15.5px}

/* article/topic pages */
.article{max-width:760px;margin:0 auto}
.article .lead{font-size:18px;color:var(--mut);margin:0 0 28px}
.article h2{font-size:24px;margin:34px 0 10px}
.article p{color:#cfcde0;margin:0 0 14px}
.crumbs{color:var(--mut2);font-size:13px;margin:0 0 8px}
.crumbs a{color:var(--mut)}
.pagehead{padding:52px 0 8px}
.pagehead h1{font-size:clamp(28px,4.5vw,44px);margin:8px 0 0}

/* prose (terms/privacy) */
.prose{max-width:820px;margin:0 auto;color:#cfcde0}
.prose h2{font-size:22px;margin:30px 0 10px;color:var(--tx)}
.prose h3{font-size:17px;margin:20px 0 8px;color:var(--tx)}
.prose p,.prose li{font-size:15px;color:var(--mut)}
.prose ul{padding-left:20px}
.prose .upd{color:var(--mut2);font-size:13px}

/* footer */
footer.site{background:#08080e;padding:52px 0 120px;border-top:1px solid var(--line)}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px}
footer .tag{color:var(--mut2);font-size:14px;max-width:34ch;margin:14px 0 0}
footer h4{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--mut);margin:0 0 14px}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
footer ul a{color:var(--mut);font-size:14px}
footer ul a:hover{color:var(--tx);text-decoration:none}
.fbot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  border-top:1px solid var(--line);margin-top:34px;padding-top:20px;color:var(--mut2);font-size:13px}
.fbot a{color:var(--mut)}
.age{display:inline-block;background:var(--brand);color:#fff;font-weight:800;font-size:11px;
  border-radius:5px;padding:1px 6px;margin-right:4px}

/* sticky call button */
.sticky-call{position:fixed;right:22px;bottom:22px;z-index:60;display:inline-flex;
  align-items:center;gap:12px;background:var(--grad);color:#fff;border-radius:999px;
  padding:13px 22px 13px 16px;box-shadow:0 12px 34px rgba(255,46,139,.45);font-weight:700}
.sticky-call:hover{text-decoration:none;transform:translateY(-2px)}
.sticky-call .sc-ic{font-size:22px;line-height:1}
.sticky-call .sc-txt{display:flex;flex-direction:column;line-height:1.15}
.sticky-call .sc-txt b{font-size:15px}
.sticky-call .sc-txt small{font-size:11.5px;opacity:.9;font-weight:500}

/* mobile */
@media(max-width:860px){
	.navlinks{display:none}
	nav {
        position: absolute;
        top: 65px;
        left: 0;
        right: 0;
        display: none;
        flex-direction: column;
        align-items: flex-start;
        background: black;
        padding: 24px 4%;
        border-bottom: 1px solid rgba(18, 8, 23, .08);
    	}
	nav.active {display: flex}
	.menu-toggle { display: block; }
  .fgrid{grid-template-columns:1fr 1fr}
  .g3{grid-template-columns:1fr}
  .g2{grid-template-columns:1fr}
  .sticky-call{left:0;right:0;bottom:0;border-radius:0;justify-content:center;
    padding:12px 16px;box-shadow:0 -6px 24px rgba(0,0,0,.5)}
  .sticky-call .sc-txt small{display:none}
}
@media(max-width:680px){
  .navlinks{display:none}
	nav {
        position: absolute;
        top: 65px;
        left: 0;
        right: 0;
        display: none;
        flex-direction: column;
        align-items: flex-start;
        background: black;
        padding: 24px 4%;
        border-bottom: 1px solid rgba(18, 8, 23, .08);
    	}
	nav.active {display: flex}
	.menu-toggle { display: block; }
	
  .nav .btn{display:inline-flex;padding:9px 15px;font-size:13px}
  .fgrid{grid-template-columns:1fr}
  footer.site{padding-bottom:96px}
  /* sticky becomes full-width bottom bar */
  .sticky-call{left:0;right:0;bottom:0;border-radius:0;justify-content:center;
    padding:12px 16px;box-shadow:0 -6px 24px rgba(0,0,0,.5)}
  .sticky-call .sc-txt small{display:none}
}
