
/* Directory-list page system — dive sites, blog, maldives-from */
.dir-hero{padding:80px 0 56px;background:linear-gradient(180deg,#F5EDDF 0%,#EDE3D2 100%);position:relative;overflow:hidden}
.dir-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(15,24,40,.05) 1px,transparent 1px);background-size:18px 18px;opacity:.5;pointer-events:none}
.dir-hero-inner{max-width:880px;margin:0 auto;padding:0 28px;position:relative;text-align:center}
.dir-eyebrow{font-family:'Fraunces','Times New Roman',serif;font-style:italic;font-size:18px;color:#E2766C;letter-spacing:.5px;margin-bottom:12px;text-align:center}
.dir-hero h1{font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:clamp(38px,7vw,72px);line-height:1.02;letter-spacing:-.025em;color:#0F1828;margin:0 0 14px;text-align:center}
.dir-hero h1 em{font-style:italic;font-weight:400;color:#0F1828;display:inline-block}
.dir-hero h1 em::after{content:".";color:#E2766C;font-style:normal}
.dir-hero p{font-size:18px;color:#1F2937;line-height:1.55;max-width:620px;margin:0 auto 28px;text-align:center}
.dir-search{max-width:520px;margin:0 auto}
.dir-search input{width:100%;font-family:'Outfit',system-ui,sans-serif;font-size:16px;background:#fff;border:1.5px solid rgba(15,24,40,.12);border-radius:999px;padding:14px 22px;color:#0F1828;outline:none;transition:border-color .2s,box-shadow .2s}
.dir-search input:focus{border-color:#E2766C;box-shadow:0 0 0 4px rgba(226,118,108,.12)}
.dir-search input::placeholder{color:#7a8794}

.dir-section{padding:64px 0 96px;background:#F5EDDF}
.dir-section-h{max-width:880px;margin:0 auto 36px;padding:0 28px;text-align:center}
.dir-section-h h2{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:clamp(28px,4.5vw,42px);letter-spacing:-.02em;color:#0F1828;margin:0 0 10px}
.dir-section-h h2 em{font-style:italic;color:#0F1828}
.dir-section-h h2 em::after{content:".";color:#E2766C;font-style:normal}
.dir-section-h p{font-size:16px;color:#4b5564;line-height:1.55;margin:0;max-width:600px;margin:0 auto}

.dir-grid{max-width:1200px;margin:0 auto;padding:0 28px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.dir-card{display:flex;flex-direction:column;gap:6px;padding:22px 24px;background:#fff;border:1px solid rgba(15,24,40,.08);border-radius:18px;text-decoration:none;color:inherit;transition:transform .2s ease,border-color .2s ease,box-shadow .25s ease;position:relative;min-height:104px;justify-content:space-between}
.dir-card:hover{transform:translateY(-3px);border-color:#E2766C;box-shadow:0 14px 32px rgba(15,24,40,.10)}
.dir-card-name{font-family:'Fraunces',Georgia,serif;font-size:18px;font-weight:500;line-height:1.25;letter-spacing:-.01em;color:#0F1828}
.dir-card-meta{font-family:'JetBrains Mono','Outfit',ui-monospace,monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#E2766C;font-weight:600}
.dir-card.is-hidden{display:none}
.dir-card::after{content:"→";position:absolute;top:22px;right:22px;color:#E2766C;font-size:18px;opacity:0;transform:translateX(-4px);transition:opacity .2s,transform .2s}
.dir-card:hover::after{opacity:1;transform:translateX(0)}

.dir-empty{text-align:center;padding:48px 28px;color:#7a8794;font-style:italic}

@media(max-width:600px){
  .dir-hero{padding:56px 0 40px}
  .dir-section{padding:48px 0 72px}
  .dir-grid{grid-template-columns:1fr;gap:12px}
  .dir-card{padding:18px 20px;min-height:80px}
  .dir-card-name{font-size:16.5px}
}
