/* DFLV Homepage — scoped styles. Every selector lives under .dflv-home
   so nothing leaks into or clashes with Jannah's own styling. */

.dflv-home{
	--dflv-teal:#0E9384;
	--dflv-teal-soft:#E6F5F3;
	--dflv-teal-ink:#0B6E63;
	--dflv-coral:#E8564A;
	--dflv-coral-soft:#FDEEEC;
	--dflv-coral-ink:#C43D32;
	--dflv-gold:#D9932A;
	--dflv-gold-soft:#FBF0DC;
	--dflv-gold-ink:#A66C15;
	--dflv-bg:#FFFFFF;
	--dflv-bg-soft:#FAFAF8;
	--dflv-ink:#141414;
	--dflv-ink-2:#585856;
	--dflv-ink-3:#8A8A87;
	--dflv-line:#EAEAE7;
	--dflv-radius:16px;
	font-family:'Inter',system-ui,sans-serif;
	background:var(--dflv-bg);
	color:var(--dflv-ink);
	line-height:1.6;
	font-size:15px;
	-webkit-font-smoothing:antialiased;
}
.dflv-home h1,.dflv-home h2,.dflv-home h3,.dflv-home h4,.dflv-home h5{
	font-family:'Instrument Sans',sans-serif;letter-spacing:-.01em;margin:0;
}
.dflv-home a{text-decoration:none;color:inherit;box-shadow:none}
.dflv-home p{margin:0}
.dflv-wrap{max-width:1120px;margin:0 auto;padding:0 28px}

.dflv-label{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--dflv-ink-3)}
.dflv-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:8px;vertical-align:1px}
.dflv-label--explore .dflv-dot{background:var(--dflv-teal)}
.dflv-label--read .dflv-dot{background:var(--dflv-coral)}

/* ---------- hero ---------- */
.dflv-hero{
	padding:96px 0 80px;
	background:
		radial-gradient(600px 300px at 85% 0%, var(--dflv-teal-soft) 0%, transparent 70%),
		radial-gradient(500px 260px at 8% 10%, var(--dflv-coral-soft) 0%, transparent 70%),
		#F6F6F3;
	border-bottom:1px solid var(--dflv-line);
}
.dflv-hero-inner{max-width:880px;text-align:center}
.dflv-hero-eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--dflv-teal-ink);margin-bottom:18px}
.dflv-hero h1{font-size:clamp(2rem,5vw,3.3rem);font-weight:700;line-height:1.08;letter-spacing:-.03em;margin-bottom:52px}

.dflv-search-wrap{position:relative;max-width:600px;margin:0 auto 56px}
.dflv-qsearch{margin:0;display:flex;align-items:center;background:#fff;border:1px solid var(--dflv-line);border-radius:14px;padding:6px 6px 6px 18px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 12px 32px -16px rgba(0,0,0,.12);transition:border-color .15s}
.dflv-qsearch:focus-within{border-color:var(--dflv-teal)}
.dflv-qsearch svg{flex:none;color:var(--dflv-ink-3)}
.dflv-qsearch input[type="search"]{flex:1;border:0;outline:none;padding:10px 12px;font-size:.98rem;font-family:inherit;color:var(--dflv-ink);background:transparent;box-shadow:none;margin:0;height:auto}
.dflv-qsearch input[type="search"]::placeholder{color:var(--dflv-ink-3)}
.dflv-qsearch input[type="search"]::-webkit-search-decoration,.dflv-qsearch input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}
.dflv-qsearch button{border:0;background:var(--dflv-ink);color:#fff;font-weight:600;font-family:inherit;padding:11px 20px;font-size:.88rem;border-radius:10px;cursor:pointer;line-height:1.2}
.dflv-qsearch button:hover{background:#000}

/* live search dropdown */
.dflv-search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:40;background:#fff;border:1px solid var(--dflv-line);border-radius:14px;box-shadow:0 20px 48px -20px rgba(0,0,0,.28);overflow:hidden;text-align:left}
.dflv-search-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 18px;border-bottom:1px solid var(--dflv-line);transition:background .12s}
.dflv-search-item:last-child{border-bottom:0}
.dflv-search-item:hover,.dflv-search-item.is-active{background:var(--dflv-teal-soft)}
.dflv-search-title{font-size:.92rem;font-weight:500;color:var(--dflv-ink);line-height:1.35}
.dflv-search-type{flex:none;font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dflv-teal-ink);background:var(--dflv-teal-soft);border-radius:6px;padding:3px 8px}
.dflv-search-item.is-active .dflv-search-type{background:#fff}
.dflv-search-empty{padding:14px 18px;font-size:.86rem;color:var(--dflv-ink-2);text-align:left}

.dflv-doors{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;text-align:left}
.dflv-door{background:#fff;border:1px solid var(--dflv-line);border-radius:var(--dflv-radius);padding:22px;display:flex;flex-direction:column;gap:7px;transition:.18s;position:relative}
.dflv-door:hover{transform:translateY(-2px);box-shadow:0 16px 40px -20px rgba(0,0,0,.18)}
.dflv-door--explore:hover{border-color:var(--dflv-teal)}
.dflv-door--read:hover{border-color:var(--dflv-coral)}
.dflv-door--events:hover{border-color:var(--dflv-gold)}
.dflv-door-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.05rem;margin-bottom:4px}
.dflv-door--explore .dflv-door-icon{background:var(--dflv-teal-soft)}
.dflv-door--read .dflv-door-icon{background:var(--dflv-coral-soft)}
.dflv-door--events .dflv-door-icon{background:var(--dflv-gold-soft)}
.dflv-door h2{font-size:1.15rem;font-weight:700;letter-spacing:-.02em}
.dflv-door p{color:var(--dflv-ink-2);font-size:.9rem}
.dflv-go{margin-top:10px;font-weight:600;font-size:.88rem;display:flex;align-items:center;gap:6px}
.dflv-door--explore .dflv-go{color:var(--dflv-teal-ink)}
.dflv-door--read .dflv-go{color:var(--dflv-coral-ink)}
.dflv-door--events .dflv-go{color:var(--dflv-gold-ink)}
.dflv-go::after{content:"→";transition:transform .18s}
.dflv-door:hover .dflv-go::after{transform:translateX(4px)}
.dflv-door-arrow{position:absolute;right:18px;bottom:16px;font-size:1rem;font-weight:700;line-height:1;color:var(--dflv-ink-3);transition:transform .18s,color .18s}
.dflv-door--explore:hover .dflv-door-arrow{color:var(--dflv-teal-ink);transform:translateX(4px)}
.dflv-door--read:hover .dflv-door-arrow{color:var(--dflv-coral-ink);transform:translateX(4px)}
.dflv-door--events:hover .dflv-door-arrow{color:var(--dflv-gold-ink);transform:translateX(4px)}

/* ---------- sections ---------- */
.dflv-section{padding:64px 0}
.dflv-section--soft{background:var(--dflv-bg-soft);border-top:1px solid var(--dflv-line);border-bottom:1px solid var(--dflv-line)}
.dflv-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:26px}
.dflv-sec-head h3{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin-top:6px}
.dflv-more{font-weight:700;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;display:flex;align-items:center;gap:5px;color:var(--dflv-ink-2)}
.dflv-more:hover{color:var(--dflv-ink)}
.dflv-more::after{content:"→"}

/* directory cards */
.dflv-dir-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.dflv-dir-card{position:relative;border:1px solid var(--dflv-line);border-radius:var(--dflv-radius);padding:22px;display:flex;flex-direction:column;gap:6px;transition:.18s;background:#fff}
.dflv-dir-card:hover .dflv-door-arrow{color:var(--dflv-teal-ink);transform:translateX(4px)}
.dflv-dir-card:hover{border-color:var(--dflv-teal);transform:translateY(-2px)}
.dflv-dir-icon{width:38px;height:38px;border-radius:10px;background:var(--dflv-teal-soft);display:flex;align-items:center;justify-content:center;font-size:1.05rem;margin-bottom:8px}
.dflv-dir-card h4{font-size:1rem;font-weight:700}
.dflv-dir-card p{font-size:.84rem;color:var(--dflv-ink-2)}

/* editorial cards */
.dflv-ed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.dflv-card{background:#fff;border:1px solid var(--dflv-line);border-radius:var(--dflv-radius);overflow:hidden;display:flex;flex-direction:column;transition:.18s}
.dflv-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px -20px rgba(0,0,0,.14)}
.dflv-thumb{display:block;aspect-ratio:16/9;background:linear-gradient(135deg,#F2F1EE,#E7E6E2);overflow:hidden}
.dflv-thumb img{width:100%;height:100%;object-fit:cover;display:block;margin:0}
.dflv-card-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.dflv-cat{font-size:.7rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--dflv-coral-ink)}
.dflv-card h4{font-weight:700;font-size:1rem;line-height:1.35}
.dflv-card h4 a:hover{color:var(--dflv-coral-ink)}
.dflv-meta{margin-top:auto;font-size:.76rem;color:var(--dflv-ink-3)}

/* events + quick answers */
.dflv-split{display:grid;grid-template-columns:1.2fr 1fr;gap:40px}
.dflv-rows{display:flex;flex-direction:column}
.dflv-rows > *{padding:16px 4px;border-bottom:1px solid var(--dflv-line)}
.dflv-rows > *:last-child{border-bottom:0}
.dflv-event{display:flex;gap:16px;align-items:center}
.dflv-event:hover h5{color:var(--dflv-coral-ink)}
.dflv-date{flex:none;width:52px;text-align:center;border:1px solid var(--dflv-line);border-radius:10px;padding:6px 0;line-height:1.15;display:block}
.dflv-date b{display:block;font-size:1.05rem;font-family:'Instrument Sans',sans-serif}
.dflv-date span{font-size:.62rem;font-weight:600;letter-spacing:.1em;color:var(--dflv-coral-ink)}
.dflv-rows h5{font-size:.94rem;font-weight:600}
.dflv-rows p{font-size:.8rem;color:var(--dflv-ink-2)}
.dflv-qa{display:block;font-weight:500;font-size:.93rem}
.dflv-qa:hover{color:var(--dflv-teal-ink)}
.dflv-qa::before{content:"↳";color:var(--dflv-teal);margin-right:10px;font-weight:600}
.dflv-empty{color:var(--dflv-ink-2);font-size:.9rem}

/* editorial series */
.dflv-series-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dflv-series-card{display:flex;background:#fff;border:1px solid var(--dflv-line);border-radius:var(--dflv-radius);overflow:hidden;transition:.18s}
.dflv-series-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px -20px rgba(0,0,0,.16)}
.dflv-series-card .dflv-thumb{flex:none;width:190px;aspect-ratio:auto;align-self:stretch}
.dflv-series-body{padding:22px 24px;display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}
.dflv-series-body h4{font-size:1.3rem;font-weight:700;letter-spacing:-.015em;line-height:1.2}
.dflv-series-body h4 a:hover{color:var(--dflv-coral-ink)}
.dflv-series-desc{font-size:.86rem;color:var(--dflv-ink-2)}
.dflv-series-list{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:0}
.dflv-series-list li{border-top:1px solid var(--dflv-line);padding:8px 0}
.dflv-series-list a{font-size:.86rem;font-weight:500;line-height:1.35;display:block}
.dflv-series-list a:hover{color:var(--dflv-coral-ink)}
.dflv-series-card .dflv-go{margin-top:14px;color:var(--dflv-coral-ink)}

/* events layout: upcoming list + category tiles */
.dflv-events-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:start}
.dflv-events-list{background:#fff;border:1px solid var(--dflv-line);border-radius:var(--dflv-radius);padding:6px 20px;height:100%;display:flex;flex-direction:column;justify-content:space-between}
.dflv-event-cats{display:flex;flex-direction:column;gap:14px}
.dflv-event-cat{background:#fff;border:1px solid var(--dflv-line);border-radius:var(--dflv-radius);padding:22px;display:flex;flex-direction:column;gap:6px;transition:.18s}
.dflv-event-cat:hover{border-color:var(--dflv-coral);transform:translateY(-2px)}
.dflv-event-cat .dflv-dir-icon{background:var(--dflv-coral-soft)}
.dflv-event-cat h4{font-size:1.05rem;font-weight:700}
.dflv-event-cat p{font-size:.84rem;color:var(--dflv-ink-2)}
.dflv-event-cat .dflv-go{margin-top:8px;color:var(--dflv-coral-ink)}

/* quick answers grid */
.dflv-qa-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.dflv-qa-grid .dflv-qa{padding:14px 4px;border-bottom:1px solid var(--dflv-line)}

/* signup CTA */
.dflv-cta{background:linear-gradient(135deg,var(--dflv-teal) 0%,var(--dflv-teal-ink) 100%);border-radius:20px;padding:40px 44px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.dflv-cta-text h3{color:#fff;font-size:1.6rem;font-weight:700;letter-spacing:-.02em;margin-bottom:6px}
.dflv-cta-text p{color:rgba(255,255,255,.9);font-size:.98rem;max-width:52ch}
.dflv-cta-btn{flex:none;background:#fff;color:var(--dflv-teal-ink);font-weight:700;font-size:.95rem;padding:15px 26px;border-radius:12px;white-space:nowrap;transition:.15s}
.dflv-cta-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px -12px rgba(0,0,0,.45)}

/* trust */
.dflv-trust{padding:56px 0}
.dflv-trust-inner{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px}
.dflv-trust h4{font-size:.98rem;font-weight:700;margin-bottom:6px;display:flex;align-items:center;gap:8px}
.dflv-tick{color:var(--dflv-teal);font-size:1rem}
.dflv-trust p{font-size:.86rem;color:var(--dflv-ink-2)}
.dflv-trust a{font-weight:600;color:var(--dflv-ink);border-bottom:1px solid var(--dflv-line)}
.dflv-trust a:hover{border-color:var(--dflv-ink)}

.dflv-home :focus-visible{outline:2px solid var(--dflv-teal);outline-offset:2px}

/* ---------- responsive ---------- */
@media (max-width:900px){
	.dflv-dir-grid{grid-template-columns:repeat(2,1fr)}
	.dflv-ed-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
	.dflv-split{grid-template-columns:1fr}
	.dflv-events-layout{grid-template-columns:1fr;gap:20px}
	.dflv-event-cats{flex-direction:row}
	.dflv-event-cat{flex:1}
}
@media (max-width:760px){
	.dflv-series-grid{grid-template-columns:1fr}
	.dflv-qa-grid{grid-template-columns:1fr;gap:0}
	.dflv-cta{padding:32px 28px}
	.dflv-cta-text h3{font-size:1.35rem}
}
@media (max-width:560px){
	.dflv-series-card{flex-direction:column}
	.dflv-series-card .dflv-thumb{width:100%;aspect-ratio:16/9}
	.dflv-event-cats{flex-direction:column}
}
@media (max-width:720px){
	.dflv-doors{grid-template-columns:1fr 1fr}
	.dflv-doors .dflv-door:last-child{grid-column:1 / -1}
	.dflv-trust-inner{grid-template-columns:1fr}
	.dflv-hero{padding:56px 0 48px}
}
@media (max-width:600px){
	.dflv-ed-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
	.dflv-door p,
	.dflv-dir-card p{display:none}
	.dflv-dir-card{align-items:center;text-align:center}
}
@media (prefers-reduced-motion: reduce){
	.dflv-home *{transition:none !important}
}
