/*
Theme Name: GDisciple
Theme URI: https://gdisciple.org/
Author: PROMiXi LLC
Description: Lean native block theme for GDisciple.
Version: 0.4.0
Requires at least: 6.9
Tested up to: 7.1
Text Domain: gdisciple
*/
:root{--paper:#F1EFE6;--paper2:#E7E2D2;--ink:#1C2430;--soft:#51586A;--wine:#5B1F28;--brass:#93731F;--line:rgba(28,36,48,.14);--focus:#2F6FB0;--wrap:1080px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink)}
a{color:inherit;text-underline-offset:.16em}a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.gd-shell{min-height:100vh;background:radial-gradient(circle at 86% 8%,rgba(147,115,31,.09),transparent 30rem),radial-gradient(circle at 7% 30%,rgba(91,31,40,.06),transparent 26rem),var(--paper)}
.gd-wrap{width:min(calc(100% - 56px),var(--wrap));margin:auto}
.gd-header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);background:rgba(241,239,230,.92);backdrop-filter:blur(8px)}
.gd-header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.gd-brand{margin:0;font:700 1.55rem/1 Georgia,serif;letter-spacing:-.02em}.gd-brand a{text-decoration:none}
.gd-nav{font:700 .75rem/1.2 ui-monospace,Consolas,monospace;letter-spacing:.06em;text-transform:uppercase}
.gd-hero{padding:clamp(78px,11vw,144px) 0 clamp(72px,9vw,116px);border-bottom:1px solid var(--line)}
.gd-kicker,.gd-label{margin:0 0 20px;color:var(--brass);font:700 .78rem/1.3 ui-monospace,Consolas,monospace;letter-spacing:.13em;text-transform:uppercase}
.gd-hero h1,.gd-title{font-family:Georgia,serif;font-weight:600;letter-spacing:-.04em}
.gd-hero h1{max-width:900px;margin:0;font-size:clamp(3rem,6.4vw,5.5rem);line-height:.98}
.gd-hero-copy,.gd-copy{color:var(--soft);font-family:Georgia,serif;line-height:1.68}
.gd-hero-copy{max-width:760px;margin-top:30px;font-size:clamp(1.08rem,1.6vw,1.3rem)}
.gd-actions{margin-top:34px;display:flex;gap:12px;flex-wrap:wrap}.gd-actions .wp-block-button__link{border-radius:0;padding:15px 22px;font:700 1rem/1 Georgia,serif}
.gd-actions .wp-block-button:first-child .wp-block-button__link{background:var(--wine);color:white;border:1px solid var(--wine)}
.gd-actions .is-style-outline .wp-block-button__link{background:transparent;color:var(--ink);border:1px solid rgba(28,36,48,.28)}
.gd-section{padding:clamp(72px,9vw,112px) 0;border-bottom:1px solid var(--line)}.gd-alt{background:var(--paper2)}
.gd-head{display:grid;grid-template-columns:.8fr 1.6fr;gap:clamp(34px,7vw,92px)}
.gd-title{margin:0;font-size:clamp(2.2rem,4.6vw,4.2rem);line-height:1.02}.gd-copy{font-size:1.12rem}
.gd-grid{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid var(--line);background:var(--line)}
.gd-card{padding:30px;background:var(--paper)}.gd-alt .gd-card{background:var(--paper2)}
.gd-num{margin:0 0 34px;color:var(--brass);font:700 .75rem/1 ui-monospace,Consolas,monospace;letter-spacing:.12em}
.gd-card h3{margin:0 0 16px;font:600 1.5rem/1.15 Georgia,serif}.gd-card p{margin:0;color:var(--soft);font:1rem/1.62 Georgia,serif}
.gd-eco{margin-top:42px;display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid var(--line);background:var(--line)}
.gd-eco>div{padding:30px;background:var(--paper)}.gd-eco a{color:var(--wine);font-weight:700}
.gd-quote{margin-top:46px;padding-top:30px;border-top:1px solid rgba(28,36,48,.28);font:italic clamp(1.35rem,2.2vw,2rem)/1.35 Georgia,serif}
.gd-contact{display:grid;grid-template-columns:1.4fr .6fr;gap:46px;align-items:end}.gd-meta{text-align:right;color:var(--soft);font:.78rem/1.7 ui-monospace,Consolas,monospace}
.gd-footer{padding:38px 0;background:var(--ink);color:var(--paper)}.gd-footer-inner{display:flex;justify-content:space-between;gap:24px}.gd-footer p{margin:0}
@media(max-width:820px){.gd-wrap{width:min(calc(100% - 36px),var(--wrap))}.gd-nav{display:none}.gd-head,.gd-contact{grid-template-columns:1fr}.gd-grid,.gd-eco{grid-template-columns:1fr}.gd-meta{text-align:left}.gd-footer-inner{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* R2 artwork layer — lightweight local SVG only. */
.gd-hero .gd-wrap{position:relative;z-index:1}
.gd-hero-art{
  position:absolute;
  right:max(2vw,24px);
  top:50%;
  width:min(44vw,640px);
  transform:translateY(-50%);
  opacity:.9;
  pointer-events:none;
}
.gd-hero-copy,.gd-actions,.gd-hero h1,.gd-kicker{position:relative;z-index:2}
.gd-hero h1,.gd-hero-copy{max-width:720px}
.gd-art-divider{
  width:min(calc(100% - 56px),var(--wrap));
  height:44px;
  margin:0 auto;
  background:url("./assets/section-divider.svg") center/100% 44px no-repeat;
}
.gd-network-panel{
  margin-top:44px;
  min-height:260px;
  border:1px solid var(--line);
  background:
    linear-gradient(rgba(241,239,230,.72),rgba(241,239,230,.72)),
    url("./assets/operations-network.svg") center/contain no-repeat;
}
.gd-mark{
  width:58px;height:58px;flex:0 0 auto;
  background:url("./assets/gdisciple-mark.svg") center/contain no-repeat;
}
.gd-brand-wrap{display:flex;align-items:center;gap:12px}
@media(max-width:980px){
  .gd-hero-art{opacity:.18;right:-100px;width:700px}
}
@media(max-width:820px){
  .gd-art-divider{width:min(calc(100% - 36px),var(--wrap))}
  .gd-mark{width:44px;height:44px}
}


/* ============================================================
   R4 — INFORMATION-FIRST ECOSYSTEM LAYOUT
   Existing geometric hero is intentionally preserved.
   Artwork is used only as a short header for the content below.
   ============================================================ */

.gd-art-divider,
.gd-network-panel {
  display: none;
}

.gd-image-header {
  position: relative;
  width: 100%;
  height: clamp(210px, 24vw, 290px);
  overflow: hidden;
  margin: 0;
  background: #142031;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.gd-image-header img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gd-image-header--jerusalem img {
  object-position: center 50%;
}

.gd-image-header--multitude img {
  object-position: center 52%;
}

.gd-image-header--bible img {
  object-position: center 58%;
}

.gd-image-header::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(11,27,44,.14), transparent 22%, transparent 78%, rgba(11,27,44,.14)),
    linear-gradient(180deg, rgba(11,27,44,.06), transparent 48%, rgba(11,27,44,.10));
}

.gd-image-header-frame {
  position: absolute;
  inset: 14px;
  z-index: 2;
  border: 1px solid rgba(173,139,60,.32);
  pointer-events: none;
}

.gd-section {
  padding: clamp(96px, 10vw, 144px) 0;
}

.gd-alt {
  background: var(--paper2);
}

.gd-head {
  grid-template-columns: minmax(0,.88fr) minmax(0,1.5fr);
  gap: clamp(44px, 7vw, 96px);
  margin-bottom: 12px;
}

.gd-title {
  font-size: clamp(2.45rem, 4.8vw, 4.45rem);
  line-height: 1.01;
}

.gd-copy {
  font-size: clamp(1.12rem, 1.45vw, 1.28rem);
  line-height: 1.78;
}

.gd-copy p + p {
  margin-top: 1.5em;
}

.gd-grid {
  margin-top: clamp(58px, 7vw, 84px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 24px;
  border: 0;
  background: transparent;
}

.gd-card {
  padding: clamp(34px, 3.4vw, 44px);
  min-height: 330px;
  border: 1px solid var(--line);
  background: rgba(241,239,230,.88);
  box-shadow: 0 18px 45px rgba(28,36,48,.035);
}

.gd-alt .gd-card {
  background: rgba(241,239,230,.72);
}

.gd-num {
  margin-bottom: 42px;
  font-size: .82rem;
  line-height: 1.2;
}

.gd-card h3 {
  margin: 0 0 22px;
  font-size: clamp(1.55rem, 1.75vw, 1.82rem);
  line-height: 1.13;
}

.gd-card p {
  font-size: clamp(1.04rem, 1.18vw, 1.14rem);
  line-height: 1.7;
}

.gd-eco {
  margin-top: clamp(54px, 6vw, 78px);
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 24px;
  border: 0;
  background: transparent;
}

.gd-eco > div {
  padding: clamp(34px, 3.4vw, 44px);
  border: 1px solid var(--line);
  background: rgba(241,239,230,.86);
}

.gd-eco > div > p:first-child {
  margin-top: 0;
  font: 600 clamp(1.45rem,1.7vw,1.75rem)/1.18 Georgia,serif;
}

.gd-eco > div > p:last-child {
  color: var(--soft);
  font: clamp(1.04rem,1.15vw,1.14rem)/1.7 Georgia,serif;
}

.gd-quote {
  margin-top: clamp(70px,8vw,110px);
  padding-top: 42px;
  text-align: center;
  font-size: clamp(1.65rem,2.7vw,2.55rem);
  line-height: 1.32;
}

.gd-contact {
  gap: clamp(48px,7vw,100px);
}

.gd-contact .gd-copy {
  max-width: 760px;
}

.gd-meta {
  font-size: .84rem;
}

.gd-footer {
  padding: 58px 0;
}

@media (max-width: 980px) {
  .gd-grid {
    grid-template-columns: 1fr;
  }

  .gd-card {
    min-height: 0;
  }
}

@media (max-width: 820px) {
  .gd-image-header {
    height: clamp(180px, 42vw, 240px);
  }

  .gd-image-header-frame {
    inset: 8px;
  }

  .gd-section {
    padding: 78px 0;
  }

  .gd-eco {
    grid-template-columns: 1fr;
  }

  .gd-title {
    font-size: clamp(2.25rem, 10vw, 3.45rem);
  }

  .gd-copy,
  .gd-card p,
  .gd-eco > div > p:last-child {
    font-size: 1.08rem;
  }
}


/* R5 — APPROVED ARTWORK INTEGRATION 2026-10-04 */
.gd-image-header{
  width:min(calc(100% - 64px),1500px);
  margin:16px auto;
  height:clamp(190px,18vw,260px);
  border:0;
  border-radius:16px;
  overflow:hidden;
  background:transparent;
  box-shadow:0 10px 30px rgba(28,36,48,.035);
}

.gd-image-header img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.90;
  border-radius:inherit;
  -webkit-mask-image:linear-gradient(
    90deg,
    transparent 0%,
    rgba(0,0,0,.45) 2.5%,
    #000 6%,
    #000 94%,
    rgba(0,0,0,.45) 97.5%,
    transparent 100%
  );
  mask-image:linear-gradient(
    90deg,
    transparent 0%,
    rgba(0,0,0,.45) 2.5%,
    #000 6%,
    #000 94%,
    rgba(0,0,0,.45) 97.5%,
    transparent 100%
  );
}

.gd-image-header::after{
  border-radius:inherit;
  background:
    linear-gradient(90deg,rgba(241,239,230,.24),transparent 8%,transparent 92%,rgba(241,239,230,.24)),
    linear-gradient(180deg,rgba(11,27,44,.035),transparent 50%,rgba(11,27,44,.06));
}

.gd-image-header-frame{
  inset:10px;
  border-radius:10px;
  border-color:rgba(173,139,60,.18);
}

@media(max-width:820px){
  .gd-image-header{
    width:calc(100% - 24px);
    margin:12px auto;
    height:clamp(170px,40vw,220px);
    border-radius:12px;
  }
  .gd-image-header-frame{
    inset:7px;
    border-radius:8px;
  }
}
