/* PalmFunds — site styles. Change the brand accent in --accent. */
:root{
  --accent:#4CC38A;
  --bg:#0B0F0E;
  --bg-band:#111614;
  --text:#EDEDE8;
  --text-2:#B8BFBB;
  --text-3:#9AA29E;
  --text-4:#8A928E;
  --line:#1F2725;
  --line-2:#2A3330;
  --line-3:#3A4441;
  --serif:Newsreader, Georgia, serif;
  --sans:Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
  --gutter:40px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);min-height:100vh;-webkit-font-smoothing:antialiased}
a{color:var(--text)}
a:hover{color:#fff}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0}
p{margin:0}

.skip{position:absolute;left:-9999px;top:8px;padding:8px 12px;background:var(--accent);color:var(--bg);z-index:10}
.skip:focus{left:8px}

.wrap{max-width:1240px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.rule-top{border-top:1px solid var(--line)}
.section{padding-top:96px;padding-bottom:96px}
.section-lg{padding-top:112px;padding-bottom:112px}
.muted{font-size:14px;color:var(--text-3)}

/* Header */
.site-header{border-bottom:1px solid var(--line)}
.header-inner{padding-top:24px;padding-bottom:24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-mark{width:14px;height:14px;background:var(--accent);display:block}
.brand-name{font-family:var(--serif);font-size:24px;letter-spacing:.02em}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:32px;font-size:14px}
.nav > a:not(.btn){text-decoration:none;color:var(--text-2)}
.nav > a:not(.btn):hover{color:var(--text)}
.lang{display:inline-flex;align-items:center;gap:6px;color:var(--text-4)}
.lang button{background:none;border:0;padding:4px 2px;font:inherit;color:var(--text-4);cursor:pointer}
.lang button[aria-pressed="true"]{color:var(--text)}
.lang button:hover{color:var(--text)}

/* Buttons */
.btn{display:inline-block;text-decoration:none;font-size:15px;padding:16px 28px;transition:background-color .15s,border-color .15s}
.btn-solid{background:var(--accent);color:var(--bg);font-weight:600}
.btn-solid:hover{color:var(--bg);background:#5fd39b}
.btn-ghost{border:1px solid var(--line-3)}
.btn-ghost:hover{border-color:var(--text-4)}
.nav .btn-outline{padding:12px 20px;font-size:14px;border:1px solid var(--accent)}
.nav .btn-outline:hover{background:rgba(76,195,138,.1)}

/* Hero */
.hero{padding-top:120px;padding-bottom:112px}
.eyebrow{margin:0 0 32px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.eyebrow.small{margin-bottom:24px}
.hero h1{font-size:clamp(40px,6vw,84px);line-height:1.04;letter-spacing:-.015em;max-width:960px}
.hero-foot{margin-top:56px;display:flex;flex-wrap:wrap;gap:48px;align-items:flex-end;justify-content:space-between}
.lead{max-width:520px;font-size:18px;line-height:1.6;color:var(--text-2)}
.actions{display:flex;flex-wrap:wrap;gap:16px}

/* Section heads */
h2{font-size:44px}
h2.mb{margin-bottom:56px}
h2.tight{line-height:1.15}
h2.display{max-width:720px;font-size:clamp(36px,4.5vw,60px);line-height:1.1}
.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;margin-bottom:56px}
.section-head p{max-width:420px;font-size:16px;line-height:1.6;color:var(--text-3)}

/* Services */
.grid-services{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));border-top:1px solid var(--line-2);border-left:1px solid var(--line-2)}
.card{border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);padding:40px 36px;display:flex;flex-direction:column;gap:20px;min-height:280px}
.card-top{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.14em;color:var(--text-4)}
.card-top .num{color:var(--accent)}
.card h3{font-size:32px}
.card p{font-size:16px;line-height:1.65;color:var(--text-2)}
.card .card-meta{margin-top:auto;font-size:12px;letter-spacing:.12em;color:var(--text-4)}

/* Approach */
.band{background:var(--bg-band);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.grid-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--line-2)}
.grid-steps li{background:var(--bg-band);padding:32px 28px;display:flex;flex-direction:column;gap:16px}
.step{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.grid-steps p{font-size:15px;line-height:1.6;color:var(--text-2)}

/* About */
.split{display:flex;flex-wrap:wrap;gap:64px}
.split-a{flex:1 1 380px}
.split-b{flex:1 1 420px}
.prose{display:flex;flex-direction:column;gap:24px;font-size:17px;line-height:1.7;color:var(--text-2)}

/* Contact */
.contact{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-end;justify-content:space-between}
.contact-cta{display:flex;flex-direction:column;gap:16px;align-items:flex-start}

/* Footer */
.footer-inner{padding-top:32px;padding-bottom:32px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;font-size:13px;color:var(--text-4)}

/* 404 */
.notfound{min-height:70vh;display:flex;flex-direction:column;justify-content:center;gap:32px;padding-top:96px;padding-bottom:96px}

/* Phones */
@media (max-width:720px){
  :root{--gutter:20px}
  .nav{gap:18px 22px}
  .hero{padding-top:72px;padding-bottom:72px}
  .hero-foot{margin-top:40px;gap:32px}
  .section{padding-top:64px;padding-bottom:64px}
  .section-lg{padding-top:72px;padding-bottom:72px}
  h2{font-size:36px}
  .grid-services{grid-template-columns:1fr}
  .card{padding:32px 24px;min-height:0}
  .card h3{font-size:28px}
  .split{gap:32px}
  .split-a,.split-b{flex-basis:100%}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
