/* PLD Website — minimalist, relationship-first
   - Clean, high-contrast, print-friendly
*/
:root{
  --slate:#0A2538;
  --slate-2:#0C324D;
  --green:#805030;
  --green-2:#6E4428;
  --ice:#EAD8C8;   /* warm sand/orange tint */
  --ice-2:#F7EFE7; /* lighter companion */
  --muted:#5A6A7A;
  --bg:#FFFFFF;
  --card:#FAF7F4;
  --border:#E7DDD5;

  --radius:18px;
  --shadow: 0 14px 40px rgba(10,37,56,.08);
  --max:1120px;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--slate);
  background:var(--bg);
  line-height:1.55;
}

a{ color: var(--green); text-decoration:none; }
a:hover{ text-decoration:underline; }

/* Ensure visited links do not override button text colors */
a.btn, a.btn:visited{ text-decoration:none; }
.btn-primary, .btn-primary:visited{ color:#FFFFFF; }
.btn-secondary, .btn-secondary:visited{ color:var(--green); }

.container{
  width: min(var(--max), calc(100% - 40px));
  margin: 0 auto;
}

.site-header{
  position:sticky;
  top:0;
  z-index:20;
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--border);
}
.header-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 0;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width: 260px;
}
.brand-mark{
  width:44px;height:44px;
  border-radius:12px;
  background: var(--green);
  display:grid;
  place-items:center;
  box-shadow: 0 10px 25px rgba(128,80,48,.22);
}
.brand-mark-text{
  color:#fff;
  font-weight:900;
  letter-spacing:.06em;
  font-size:14px;
}
.brand-name{ display:flex; flex-direction:column; gap:2px; }
.brand-title{ font-weight:800; font-size:15px; color:var(--slate); }
.brand-sub{ font-size:12px; color:var(--muted); }

.nav{
  display:flex;
  gap:18px;
  align-items:center;
}
.nav-link{
  font-size:14px;
  color: var(--slate);
  opacity:.86;
  padding:8px 10px;
  border-radius:12px;
}
.nav-link:hover{ background: rgba(244,196,153,0.50); opacity:1; text-decoration:none; }
.nav-link.active{ background: rgba(244,196,153,0.75); opacity:1; font-weight:700; }

.header-actions{
  display:flex;
  gap:10px;
  align-items:center;
}
.menu-btn{ display:none !important;

  display:none;
  border:1px solid var(--border);
  background:#fff;
  border-radius:12px;
  padding:10px 12px;
  font-weight:700;
  color:var(--slate);
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:10px 14px;
  border-radius: 999px;
  font-weight:800;
  letter-spacing:.01em;
  border:1px solid transparent;
  white-space:nowrap;
}
.btn-primary{
  background: var(--green);
  border-color: var(--green);
  color:#fff;
}
.btn-primary:hover{ background: var(--green-2); border-color: var(--green-2); text-decoration:none; }
.btn-secondary{
  background:#fff;
  border-color: rgba(128,80,48,.28);
  color: var(--green);
}
.btn-secondary:hover{ background: rgba(234,216,200,.65); }

.mobile-nav{ display:none !important; }
.mobile-actions{ display:none !important; }

.hero{
  padding: 42px 0 28px;
  border-bottom:1px solid var(--border);
  background:
    radial-gradient(900px 420px at 25% 35%, rgba(233,222,214,.70), transparent 70%),
    radial-gradient(800px 380px at 80% 15%, rgba(128,80,48,.12), transparent 60%),
    linear-gradient(to bottom, #ffffff, #FBF6F1);
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.35fr .95fr;
  gap:22px;
  align-items:stretch;
}
.hero h1{
  margin:0;
  font-size: 52px;
  line-height:1.06;
  letter-spacing: -.02em;
}
.hero p{
  margin: 14px 0 0;
  font-size: 16px;
  color: var(--slate-2);
  max-width: 60ch;
}
.hero .meta{
  margin-top: 0;
  display:flex;
  flex-wrap:wrap;
  gap: 14px;
  align-items:center;
}
.hero .meta .item{
  font-size:12px;
  font-weight:900;
  letter-spacing:.05em;
  color: var(--muted);
}
.hero .meta .item::before{
  content:"•";
  color:var(--green);
  margin-right:10px;
}
.hero .meta .item:first-child::before{ content:""; margin-right:0; }

.card{
  background:#fff;
  border:1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.card-pad{ padding:18px; }

.role-box h3{
  margin:0 0 10px;
  font-size:14px;
  letter-spacing:.02em;
  color: var(--slate);
}
.role-box .role{
  padding:12px;
  border:1px solid var(--border);
  border-radius: 14px;
  background: #fff;
}
.role-box .role + .role{ margin-top:12px; }
.role-box .kicker{
  font-size:12px;
  color: var(--muted);
  font-weight:800;
  letter-spacing:.06em;
}
.role-box .verb{
  font-size:18px;
  font-weight:900;
  margin-top:2px;
}
.role-box p{
  margin:6px 0 0;
  color: var(--slate-2);
  font-size: 14px;
}

.section{
  padding: 34px 0;
}
.section h2{
  margin:0 0 10px;
  font-size: 28px;
  letter-spacing:-.01em;
}
.section p.lead{
  margin:0 0 16px;
  color: var(--muted);
  max-width: 78ch;
}

.grid-2{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
}
.feature{
  background: var(--card);
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding:16px;
}
.feature h3{ margin:0 0 8px; font-size:16px; }
.feature ul{ margin:0; padding-left:18px; color: var(--slate-2); }
.feature li{ margin: 6px 0; }

.form{
  max-width: 760px;
}
.field-row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
label{
  display:block;
  font-weight:800;
  font-size:13px;
  margin: 0 0 6px;
}
input, textarea, select{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid var(--border);
  font: inherit;
  background:#fff;
}
textarea{ min-height: 150px; resize: vertical; }
.help{
  margin-top:6px;
  font-size: 12px;
  color: var(--muted);
}
.notice{
  border:1px solid rgba(128,80,48,.22);
  background: rgba(128,80,48,.06);
  border-radius: 14px;
  padding: 12px;
  color: var(--slate-2);
}

.site-footer{
  border-top:1px solid var(--border);
  padding: 26px 0 18px;
  background:#fff;
}
.footer-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
}
.footer-left{
  display:flex;
  gap:12px;
  align-items:center;
}
.footer-mark{
  width:40px;height:40px;border-radius:12px;
  background: var(--green);
  color:#fff;
  display:grid;
  place-items:center;
  font-weight:900;
  letter-spacing:.06em;
}
.footer-title{ font-weight:900; }
.footer-sub{ color: var(--muted); font-size: 13px; }
.footer-right{ display:flex; gap:14px; }
.footer-link{ color: var(--slate); opacity:.8; }
.footer-link:hover{ opacity:1; text-decoration:underline; }
.footer-note{
  margin-top: 12px;
  color: var(--muted);
  font-size: 12px;
}

@media (max-width: 960px){
  .header-row{ flex-wrap:wrap; justify-content:flex-start; }
  .brand{ min-width:unset; }
  .nav{ flex-wrap:wrap; gap:10px; width:100%; padding-bottom:6px; }
  .nav-link{ padding:8px 10px; }
  .hero-grid{ grid-template-columns: 1fr; }
  .nav{ display:flex; }
  .menu-btn{ display:none !important;
 display:inline-flex; }
  .header-actions .btn{ display:none; }
  .mobile-nav{ display:none !important; }
  .mobile-inner{ padding: 14px 0 18px; }
  .mobile-link{
    display:block;
    padding: 12px 0;
    border-bottom:1px solid var(--border);
    color: var(--slate);
    font-weight:800;
  }
  .mobile-actions{ display:none !important; }
  .grid-2{ grid-template-columns: 1fr; }
  .field-row{ grid-template-columns: 1fr; }
  .hero h1{ font-size: 44px; }
}

.brand-logo{
  width:44px;
  height:44px;
  display:block;
  border-radius:12px;
}
