/* ============================================================
   PHX SEARCH CO. — Dark Editorial homepage
   Loaded ONLY on the front page (see functions.php is_front_page()).
   Self-contained: nav, hero, sections, footer. Interior pages
   are untouched (they keep theme.css + the light header/footer).
   ============================================================ */
/* front-page-only stylesheet, so this bare rule is safe — kills any light
   body background behind the wrapper (overscroll / short content). */
body{background:#15110C}
.home-dark{
  --ink:#15110C; --ink-2:#1C1710; --ink-3:#231D14;
  --paper:#F7F1E6; --paper-2:#EFE6D5;
  --gold:#C9A24B; --gold-2:#E4C480; --gold-deep:#A07E32;
  --sienna:#C8553D;
  --on-dark:#ECE4D4; --on-dark-mut:#A99F8B;
  --on-light:#2A2117; --on-light-mut:#6F654F;
  --line-dark:rgba(201,162,75,.22); --line-light:rgba(42,33,23,.12);
  --serif:'Fraunces',Georgia,serif; --sans:'Hanken Grotesk',system-ui,sans-serif;
  --container:1180px; --pad:clamp(20px,5vw,56px); --r:14px;
  font-family:var(--sans); color:var(--on-dark); background:var(--ink); line-height:1.6;
  position:relative; overflow-x:hidden;
}
.home-dark *{box-sizing:border-box}
.home-dark img,.home-dark svg{max-width:100%;height:auto;display:block}
.home-dark a{color:inherit;text-decoration:none}
.home-dark h1,.home-dark h2,.home-dark h3{font-family:var(--serif);font-weight:400;line-height:1.05;letter-spacing:-.01em;margin:0}
.home-dark p{margin:0}

/* grain overlay */
.home-dark::before{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

.home-dark .container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--pad)}
.home-dark .section{padding-block:clamp(64px,9vw,128px);position:relative}
.home-dark .eyebrow{font-size:12px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);display:inline-block;margin-bottom:18px}
.home-dark .h2{font-size:clamp(2rem,4.6vw,3.4rem)}
.home-dark .gold{color:var(--gold)} .home-dark .italic{font-style:italic}
.home-dark .grid{display:grid;gap:clamp(20px,2.4vw,32px)}
.home-dark .btn{display:inline-flex;align-items:center;gap:12px;font-weight:600;font-size:15px;padding:15px 26px;border-radius:999px;border:1.5px solid transparent;cursor:pointer;transition:.25s ease;white-space:nowrap}
.home-dark .btn--gold{background:var(--gold);color:#1a1407}
.home-dark .btn--gold:hover{background:var(--gold-2);transform:translateY(-2px)}
.home-dark .btn--ghost{border-color:var(--gold);color:var(--gold)}
.home-dark .btn--ghost:hover{background:var(--gold);color:#1a1407}
.home-dark .btn .arrow{transition:transform .25s ease}
.home-dark .btn:hover .arrow{transform:translateX(4px)}

/* ===== NAV (dark) — header-dark.html ===== */
.dk-nav{position:sticky;top:0;z-index:100;background:rgba(21,17,12,.78);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-dark)}
.dk-nav__in{display:flex;align-items:center;justify-content:space-between;height:78px}
.dk-brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:20px;letter-spacing:.16em;color:var(--on-dark)}
.dk-brand b{font-weight:500}.dk-brand .mark{width:30px;height:30px;flex:0 0 30px}
.dk-nav__links{display:flex;gap:30px;font-size:14.5px;font-weight:500;color:var(--on-dark-mut)}
.dk-nav__links a{position:relative;padding:4px 0;transition:color .2s}
.dk-nav__links a:hover,.dk-nav__links a.active{color:var(--on-dark)}
.dk-nav__links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1.5px;background:var(--gold)}
.dk-nav__cta{display:flex;align-items:center;gap:18px}
.dk-nav__phone{font-size:14px;color:var(--on-dark-mut)}
.dk-burger{display:none;color:var(--gold)}
@media(max-width:980px){.dk-nav__links,.dk-nav__phone{display:none}.dk-burger{display:block}}

/* ===== HERO ===== */
.dk-hero{position:relative;background:
  radial-gradient(120% 90% at 78% 8%,rgba(201,162,75,.16),transparent 55%),
  radial-gradient(90% 70% at 10% 100%,rgba(200,85,61,.10),transparent 60%),
  linear-gradient(180deg,#15110C,#1A140D);overflow:hidden}
.dk-hero__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,4vw,56px);align-items:center;padding-block:clamp(48px,7vw,96px) clamp(80px,10vw,140px)}
.dk-hero__eyebrow{display:flex;align-items:center;gap:14px}
.dk-hero__eyebrow .rule{width:46px;height:1.5px;background:var(--gold)}
.dk-hero h1{color:var(--on-dark);font-size:clamp(2.7rem,7vw,5.3rem);margin:18px 0 26px;font-variation-settings:"opsz" 144,"SOFT" 40}
.dk-hero h1 .l{display:block;opacity:0;transform:translateY(26px);animation:dkRise .9s cubic-bezier(.2,.7,.3,1) forwards}
.dk-hero h1 .l:nth-child(1){animation-delay:.15s}.dk-hero h1 .l:nth-child(2){animation-delay:.32s}.dk-hero h1 .l:nth-child(3){animation-delay:.5s}
.dk-hero__sub{max-width:46ch;color:var(--on-dark-mut);font-size:clamp(16px,1.5vw,18.5px);opacity:0;animation:dkFade .9s ease .72s forwards}
.dk-hero__cta{display:flex;gap:16px;flex-wrap:wrap;margin-top:36px;opacity:0;animation:dkFade .9s ease .9s forwards}
.dk-hero__trust{margin-top:40px;display:flex;gap:26px;flex-wrap:wrap;font-size:13.5px;color:var(--on-dark-mut);opacity:0;animation:dkFade .9s ease 1.05s forwards}
.dk-hero__trust span{display:flex;align-items:center;gap:8px}
.dk-hero__trust .dot{width:5px;height:5px;border-radius:50%;background:var(--gold)}
.dk-hero__art{position:relative;opacity:0;animation:dkFade 1.1s ease .5s forwards}
.dk-frame{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line-dark);aspect-ratio:16/13;box-shadow:0 40px 80px -30px rgba(0,0,0,.7)}
.dk-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dk-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(21,17,12,.6))}
.dk-proof{position:absolute;left:-18px;bottom:30px;z-index:2;background:rgba(28,23,16,.92);backdrop-filter:blur(8px);border:1px solid var(--line-dark);border-radius:12px;padding:16px 20px;display:flex;gap:14px;align-items:center;box-shadow:0 24px 50px -20px rgba(0,0,0,.7);animation:dkFloat 6s ease-in-out infinite}
.dk-proof .big{font-family:var(--serif);font-size:30px;color:var(--gold);line-height:1}
.dk-proof .lbl{font-size:12.5px;color:var(--on-dark-mut);line-height:1.3}
.dk-proof .lbl b{color:var(--on-dark);font-weight:600;display:block;font-size:13.5px}
.dk-hero__tag{position:absolute;right:18px;top:18px;z-index:2;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);border:1px solid var(--line-dark);padding:6px 12px;border-radius:999px;background:rgba(21,17,12,.5)}
@media(max-width:860px){.dk-hero__grid{grid-template-columns:1fr}.dk-hero__art{max-width:480px}}

/* organic curved section tops — each section domes up into the one above it,
   filled with its OWN background, so there's never a seam or dark bar.
   The overlap (negative margin) guarantees no page background shows through. */
.dk-work,.dk-trust,.dk-serv,.dk-practice,.dk-blog{
  position:relative;z-index:1;
  margin-top:clamp(-60px,-4.5vw,-32px);
  border-top-left-radius:50% clamp(32px,4.5vw,60px);
  border-top-right-radius:50% clamp(32px,4.5vw,60px);
}

/* ===== PRACTICE AREAS (dark) ===== */
.dk-practice{background:var(--ink-2)}
.dk-practice .dk-head h2{color:var(--on-dark)}
.dk-practice__lede{max-width:54ch;margin:16px auto 0;color:var(--on-dark-mut);font-size:15px}
.dk-pa__grid{grid-template-columns:repeat(3,1fr);gap:clamp(16px,1.8vw,22px);margin-top:8px}
.dk-pa{display:flex;gap:16px;align-items:flex-start;padding:24px;border:1px solid var(--line-dark);border-radius:var(--r);background:var(--ink-3);transition:.3s ease}
.dk-pa:hover{border-color:rgba(201,162,75,.55);transform:translateY(-4px);background:#2a2317}
.dk-pa__ic{flex:0 0 46px;width:46px;height:46px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);background:rgba(201,162,75,.06)}
.dk-pa__ic svg{width:22px;height:22px}
.dk-pa__t h3{font-size:1.18rem;color:var(--on-dark);margin-bottom:5px}
.dk-pa__t p{font-size:13px;color:var(--on-dark-mut);line-height:1.45}
.dk-pa__t .go{margin-top:9px;display:inline-flex;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);opacity:0;transform:translateX(-4px);transition:.25s ease}
.dk-pa:hover .go{opacity:1;transform:none}
.dk-pa__all{text-align:center;margin-top:36px}
@media(max-width:880px){.dk-pa__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.dk-pa__grid{grid-template-columns:1fr;max-width:440px;margin-inline:auto}.dk-pa__t .go{opacity:1;transform:none}}

/* ===== WORK (cream) ===== */
.dk-work{background:var(--paper);color:var(--on-light)}
.dk-work .eyebrow{color:var(--gold-deep)}
.dk-head{text-align:center;margin-bottom:clamp(36px,5vw,60px)}
.dk-head h2{color:var(--on-light)}
.dk-work__grid{grid-template-columns:repeat(3,1fr)}
.dk-card{background:#fff;border:1px solid var(--line-light);border-radius:var(--r);overflow:hidden;transition:.3s ease;box-shadow:0 18px 40px -30px rgba(42,33,23,.5)}
.dk-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -30px rgba(42,33,23,.5);border-color:rgba(201,162,75,.5)}
.dk-card__img{aspect-ratio:16/11;position:relative;overflow:hidden;background:#2a2218}
.dk-card__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.dk-card:hover .dk-card__img img{transform:scale(1.05)}
.dk-card__img .badge{position:absolute;top:14px;left:14px;z-index:2;font-size:11px;letter-spacing:.15em;text-transform:uppercase;background:rgba(21,17,12,.72);color:var(--gold-2);padding:5px 11px;border-radius:999px}
.dk-card__body{padding:20px 22px 24px}
.dk-card__body h3{font-size:1.32rem;color:var(--on-light);margin-bottom:4px}
.dk-card__meta{font-size:13.5px;color:var(--on-light-mut)}
.dk-card__stat{margin-top:14px;padding-top:14px;border-top:1px solid var(--line-light);display:flex;align-items:baseline;gap:8px}
.dk-card__stat b{font-family:var(--serif);font-size:1.7rem;color:var(--sienna)}
.dk-card__stat span{font-size:13px;color:var(--on-light-mut)}
.dk-work__note{text-align:center;margin-top:34px;font-size:13.5px;color:var(--on-light-mut)}

/* ===== TRUST (dark) ===== */
.dk-trust{background:var(--ink-2);position:relative;overflow:hidden}
.dk-trust .blueprint{position:absolute;inset:0;opacity:.5;pointer-events:none}
.dk-trust__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,5vw,70px);align-items:center;position:relative}
.dk-trust__num{font-family:var(--serif);line-height:.85}
.dk-trust__num b{display:block;font-size:clamp(6rem,16vw,12rem);color:var(--gold);font-weight:300}
.dk-trust__num span{font-size:clamp(1.6rem,3.4vw,2.6rem);color:var(--on-dark)}
.dk-trust__body h2{color:var(--on-dark);margin-bottom:18px}
.dk-trust__body p{color:var(--on-dark-mut);max-width:52ch;margin-bottom:30px}
.dk-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.dk-stat{display:flex;flex-direction:column;gap:6px}
.dk-stat .ic{width:40px;height:40px;border:1px solid var(--line-dark);border-radius:50%;display:grid;place-items:center;color:var(--gold)}
.dk-stat .ic svg{width:20px;height:20px}
.dk-stat b{font-size:15px;color:var(--on-dark);font-weight:600;margin-top:6px}
.dk-stat span{font-size:12.5px;color:var(--on-dark-mut)}
@media(max-width:760px){.dk-trust__grid{grid-template-columns:1fr;text-align:center}.dk-trust__num{display:flex;align-items:baseline;gap:12px;justify-content:center}.dk-stats{grid-template-columns:repeat(2,1fr);text-align:left}}

/* ===== SERVICES (cream) ===== */
.dk-serv{background:var(--paper-2);color:var(--on-light)}
.dk-serv .eyebrow{color:var(--gold-deep)}
.dk-serv__grid{grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,28px);margin-top:18px}
.dk-serv-card{text-align:center;padding:34px 24px;border:1px solid var(--line-light);border-radius:var(--r);background:rgba(255,255,255,.5);transition:.3s ease}
.dk-serv-card:hover{background:#fff;border-color:rgba(201,162,75,.5);transform:translateY(-4px);box-shadow:0 24px 50px -34px rgba(42,33,23,.55)}
.dk-serv-card .ring{width:74px;height:74px;margin:0 auto 18px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold-deep);background:rgba(201,162,75,.06);transition:.3s}
.dk-serv-card:hover .ring{background:var(--gold);color:#1a1407}
.dk-serv-card .ring svg{width:30px;height:30px}
.dk-serv-card h3{font-size:1.28rem;color:var(--on-light);margin-bottom:8px}
.dk-serv-card p{font-size:13.8px;color:var(--on-light-mut);max-width:30ch;margin-inline:auto}

/* ===== INSIGHTS (dark) ===== */
.dk-blog{background:var(--ink)}
.dk-blog .dk-head h2{color:var(--on-dark)}
.dk-blog__grid{grid-template-columns:repeat(4,1fr)}
.dk-post{background:var(--ink-3);border:1px solid var(--line-dark);border-radius:var(--r);overflow:hidden;transition:.3s ease}
.dk-post:hover{transform:translateY(-6px);border-color:rgba(201,162,75,.5)}
.dk-post__img{aspect-ratio:16/10;position:relative;overflow:hidden;background:#2a2218}
.dk-post__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.dk-post:hover .dk-post__img img{transform:scale(1.05)}
.dk-post__date{position:absolute;left:14px;bottom:14px;z-index:2;background:var(--gold);color:#1a1407;border-radius:8px;text-align:center;padding:6px 9px;line-height:1}
.dk-post__date b{font-family:var(--serif);font-size:20px;display:block}
.dk-post__date span{font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.dk-post__body{padding:18px 20px 22px}
.dk-post__body h3{font-size:1.12rem;color:var(--on-dark);line-height:1.25;margin-bottom:14px}
.dk-post__more{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:8px}

/* dynamic blog query (latest posts) — make WP query-loop cards match .dk-post */
/* Deterministic equal cards: equal columns (minmax 0) + equal image (aspect 16/11)
   + fixed-height title in PLAIN BLOCK flow (height works reliably outside flex). */
.dk-blog-query .wp-block-post-template{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,32px);margin:14px 0 0;padding:0;list-style:none;align-items:start}
.dk-blog-query .wp-block-post-template>li{min-width:0;margin-block-start:0;margin-top:0}
.dk-blog-query .dk-post{min-width:0;width:100%}
.dk-blog-query .dk-post__img{aspect-ratio:16/11;height:auto}
.dk-blog-query .dk-post__img .wp-block-post-featured-image{margin:0;height:100%}
.dk-blog-query .dk-post__img .wp-block-post-featured-image a{display:block;height:100%}
.dk-blog-query .dk-post__date{display:flex;flex-direction:column;gap:1px}
.dk-blog-query .dk-post__date .wp-block-post-date{margin:0}
.dk-blog-query .dk-post__day,.dk-blog-query .dk-post__day time{font-family:var(--serif);font-size:20px;line-height:1;color:#1a1407}
.dk-blog-query .dk-post__mon,.dk-blog-query .dk-post__mon time{font-size:10px;letter-spacing:.12em;text-transform:uppercase;line-height:1;color:#1a1407}
.dk-blog-query .dk-post__body .wp-block-post-title{display:block;margin:0 0 14px;font-size:1.18rem;line-height:1.25;height:3.75em;overflow:hidden;overflow-wrap:break-word}
.dk-blog-query .dk-post__body .wp-block-post-title a{font-family:var(--serif);color:var(--on-dark);font-weight:400;text-decoration:none}
.dk-blog-query .dk-post__body .wp-block-post-title a:hover{color:var(--gold)}
.dk-blog-query .dk-post__more{border:none;padding:0;background:none;display:inline-block}
@media(max-width:860px){.dk-blog-query .wp-block-post-template{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.dk-blog-query .wp-block-post-template{grid-template-columns:minmax(0,1fr);max-width:420px;margin-inline:auto}}

/* ===== FOOTER (dark) — footer-dark.html ===== */
.dk-foot{background:var(--ink-2);border-top:1px solid var(--line-dark);position:relative;overflow:hidden}
.dk-foot .blueprint{position:absolute;right:-5%;top:-20%;width:55%;opacity:.4;pointer-events:none}
.dk-foot__grid{display:grid;grid-template-columns:1.1fr 1fr .9fr;gap:clamp(30px,4vw,56px);padding-block:clamp(56px,8vw,96px) 0;position:relative}
.dk-foot__cta h2{font-size:clamp(2rem,4vw,3rem);color:var(--on-dark);line-height:1.05}
.dk-foot__cta p{color:var(--on-dark-mut);margin:18px 0 28px;max-width:34ch}
.dk-foot__contact{display:flex;flex-direction:column;gap:18px;padding-top:8px}
.dk-foot__row{display:flex;gap:14px;align-items:flex-start;font-size:15px}
.dk-foot__row .ic{color:var(--gold);width:20px;flex:0 0 20px;margin-top:3px}
.dk-foot__row span{color:var(--on-dark-mut)}
.dk-foot__brand{text-align:right}
.dk-foot__brand .dk-brand{justify-content:flex-end;margin-bottom:14px}
.dk-foot__brand p{color:var(--on-dark-mut);font-size:13.5px;max-width:24ch;margin-left:auto}
.dk-socials{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}
.dk-socials a{width:38px;height:38px;border:1px solid var(--line-dark);border-radius:50%;display:grid;place-items:center;color:var(--on-dark-mut);transition:.25s}
.dk-socials a:hover{color:var(--gold);border-color:var(--gold);transform:translateY(-2px)}
.dk-foot__bar{margin-top:clamp(40px,6vw,72px);border-top:1px solid var(--line-dark);padding-block:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12.5px;color:var(--on-dark-mut)}
.dk-foot__bar a{color:var(--on-dark-mut);margin-left:22px}.dk-foot__bar a:hover{color:var(--gold)}
@media(max-width:860px){.dk-foot__grid{grid-template-columns:1fr}.dk-foot__brand{text-align:left}.dk-foot__brand .dk-brand,.dk-socials{justify-content:flex-start}.dk-foot__brand p{margin-left:0}}

/* responsive collapses */
@media(max-width:1024px){.dk-blog__grid{grid-template-columns:repeat(2,1fr)}.dk-serv__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.dk-work__grid{grid-template-columns:1fr;max-width:440px;margin-inline:auto}}
@media(max-width:560px){.dk-serv__grid,.dk-blog__grid{grid-template-columns:1fr;max-width:400px;margin-inline:auto}.dk-stats{gap:16px}}

/* animations */
@keyframes dkRise{to{opacity:1;transform:translateY(0)}}
@keyframes dkFade{to{opacity:1}}
@keyframes dkFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.home-dark .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
.home-dark .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.home-dark *{animation:none!important;transition:none!important}.home-dark .reveal{opacity:1;transform:none}}
