/* Peak Landscaper — Botanical Garden Journal Design System (inner pages) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,400;1,9..144,500;1,9..144,600&family=Inter:wght@300;400;500;600&display=swap');

:root{
  --cream:#faf8f3; --cream-2:#f3efe5; --paper:#fffefa; --leaf:#f0eedf;
  --ink:#1d1f17; --ink-2:#4a4d3f; --ink-3:#7d8270;
  --sage:#7A8C5C; --sage-deep:#5a6b40; --sage-soft:#b8c89a;
  --terracotta:#b86b4f;
  --serif:'Fraunces',Georgia,serif;
  --body:'Inter',ui-sans-serif,system-ui,sans-serif;
  --copper:var(--sage); --copper-deep:var(--sage-deep); --copper-light:var(--sage-soft);
  --navy:var(--ink); --navy-deep:var(--ink); --navy-darker:var(--ink); --navy-mid:var(--cream-2);
  --text-mute:var(--ink-2); --text-dim:var(--ink-3);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--cream);color:var(--ink);font-family:var(--body);line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:1240px;margin:0 auto;padding:0 32px}
h1,h2,h3,h4,h5{font-family:var(--serif);font-weight:500;letter-spacing:-.015em;line-height:1.05;color:var(--ink)}
.copper,.accent{color:var(--sage-deep);font-style:italic;font-weight:500}

.topbar{background:var(--sage-deep);color:var(--cream);font-size:13px;padding:12px 0;letter-spacing:.02em;font-style:italic;border-bottom:0}
.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.topbar a{color:#fff;font-style:normal;font-weight:600;border-bottom:1px solid rgba(255,255,255,.4)}

header.site{background:var(--cream);border-bottom:1px solid var(--cream-2);position:sticky;top:0;z-index:50}
header.site .container.nav,header.site .nav{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;gap:24px;max-width:1240px;margin:0 auto}
.logo{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:24px;font-weight:600;letter-spacing:-.02em;color:var(--ink);text-transform:none}
.logo .ring,.logo .mark{width:38px;height:38px;border:2px solid var(--sage);border-radius:50%;display:grid;place-items:center;font-size:18px;font-weight:600;color:var(--sage-deep);background:var(--paper);font-family:var(--serif)}
.logo .copper,.logo .accent{color:var(--sage-deep);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0;font-size:24px}
nav ul,nav ul.menu{list-style:none;display:flex;gap:30px;margin:0;padding:0}
nav a{font-family:var(--body);font-size:14px;font-weight:500;color:var(--ink-2);transition:color .15s}
nav a:hover{color:var(--sage-deep)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;font-family:var(--body);font-size:14px;font-weight:500;letter-spacing:.01em;border-radius:999px;transition:.15s;cursor:pointer;border:1.5px solid var(--ink);text-decoration:none}
.btn-primary{background:var(--ink);color:var(--cream)}
.btn-primary:hover{background:var(--sage-deep);border-color:var(--sage-deep)}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--cream)}
.hamburger{display:none;background:none;border:1.5px solid var(--ink);font-size:18px;width:44px;height:44px;cursor:pointer;color:var(--ink);border-radius:999px;padding:0;align-items:center;justify-content:center}

.page-hero{background:var(--cream)!important;padding:120px 0 80px!important;color:var(--ink)!important;position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(122,140,92,.12),transparent 70%);z-index:0}
.page-hero .container{position:relative;z-index:1}
.page-hero .breadcrumb{font-family:var(--body);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--sage-deep);margin-bottom:24px}
.page-hero h1{font-family:var(--serif);font-weight:500;font-size:clamp(48px,7vw,108px);letter-spacing:-.02em;line-height:1;margin-bottom:24px;text-transform:none;color:var(--ink)}
.page-hero h1 .copper,.page-hero h1 .accent{color:var(--sage-deep);font-style:italic;font-weight:400}
.page-hero .lead{font-size:19px;line-height:1.75;color:var(--ink-2);max-width:680px;margin-bottom:0;font-weight:400}
.page-hero .actions{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap}

section{padding:120px 0}
.bg-deep,.bg-darker{background:var(--leaf)!important;color:var(--ink)!important;border-top:1px solid var(--cream-2);border-bottom:1px solid var(--cream-2)}
.bg-deep h1,.bg-deep h2,.bg-deep h3,.bg-darker h1,.bg-darker h2,.bg-darker h3{color:var(--ink)}
.bg-deep p,.bg-darker p{color:var(--ink-2)}
.bg-light{background:var(--paper)}

.eyebrow{font-family:var(--body);font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--sage-deep);margin-bottom:18px;display:inline-flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:30px;height:1.5px;background:var(--sage)}
.eyebrow.center::before{display:none}
.h-section{font-family:var(--serif);font-weight:500;font-size:clamp(36px,5vw,68px);letter-spacing:-.02em;line-height:1.05;text-transform:none;color:var(--ink)}
.h-section span,.h-section .copper,.h-section .accent{font-style:italic;font-weight:400;color:var(--sage-deep)}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}

.card,.h-card{background:var(--paper);border:1px solid var(--cream-2);border-radius:8px;padding:32px 28px;transition:transform .25s,box-shadow .25s;display:block}
.card:hover,.h-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(29,31,23,.1)}
.card h3,.h-card h3{font-family:var(--serif);font-weight:500;font-size:26px;margin-bottom:10px;line-height:1.1}
.card h3 em,.h-card h3 em{color:var(--sage-deep);font-weight:400}
.card p,.h-card p{font-size:15px;color:var(--ink-2);line-height:1.7}
.tag{display:inline-block;font-family:var(--body);font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--sage-deep);margin-bottom:12px}

.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:36px;border-top:1px solid var(--cream-2);border-bottom:1px solid var(--cream-2)}
.stat{padding:24px 0;border-right:1px solid var(--cream-2);text-align:center}
.stat:last-child{border-right:0}
.stat .n{font-family:var(--serif);font-size:46px;font-weight:500;color:var(--ink);line-height:1;font-style:italic}
.stat .l{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-top:8px;font-weight:500}
.num{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--sage-deep);font-size:14px;margin-bottom:8px;display:block}

.pull{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(22px,2.6vw,32px);line-height:1.4;color:var(--ink);max-width:760px;border-left:3px solid var(--sage);padding:8px 24px;margin:32px 0}

.faq-item{padding:24px 0;border-bottom:1px solid var(--cream-2)}
.faq-item h3{font-family:var(--serif);font-weight:500;font-size:22px;margin-bottom:8px;line-height:1.3}
.faq-item p{font-size:15px;color:var(--ink-2);line-height:1.7}

.form-card{background:var(--paper);border:1px solid var(--cream-2);border-radius:8px;padding:48px;max-width:640px;margin:0 auto}
.form-card h2{margin-bottom:8px}
.form-card label{display:block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:18px 0 8px}
.form-card input,.form-card textarea,.form-card select{width:100%;padding:12px 14px;font-family:var(--body);font-size:15px;border:1px solid var(--cream-2);background:var(--cream);color:var(--ink);border-radius:4px}
.form-card input:focus,.form-card textarea:focus,.form-card select:focus{outline:none;border-color:var(--sage)}
.form-card button{margin-top:24px}

.actions{display:flex;gap:14px;flex-wrap:wrap}
.lead{font-size:18px;line-height:1.75;color:var(--ink-2);max-width:680px;font-weight:400}

footer.site{background:var(--ink);color:#a8ad97;padding:80px 0 32px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;margin-bottom:60px}
footer.site h4{font-family:var(--serif);font-style:italic;font-size:20px;font-weight:500;color:var(--sage-soft);margin-bottom:20px;text-transform:none;letter-spacing:0}
footer.site .logo{margin-bottom:20px;color:var(--cream)}
footer.site .logo .ring,footer.site .logo .mark{border-color:var(--sage-soft);color:var(--sage-soft);background:transparent}
footer.site .logo .copper,footer.site .logo .accent{color:var(--sage-soft)}
footer.site ul{list-style:none}
footer.site li{margin-bottom:9px;font-size:14px}
footer.site li a{color:#a8ad97;transition:color .15s}
footer.site li a:hover{color:var(--sage-soft)}
.foot-bot{font-size:12px;color:#7a7e6a;border-top:1px solid #2d3025;padding-top:28px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;letter-spacing:.04em;font-style:italic}

@media (max-width:1024px){
  .grid-2{grid-template-columns:1fr;gap:40px}
  .grid-3{grid-template-columns:1fr 1fr;gap:24px}
  .grid-4{grid-template-columns:1fr 1fr;gap:24px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:36px}
}
@media (max-width:768px){
  header.site nav{position:fixed;top:0;right:-100%;width:80%;max-width:320px;height:100vh;background:var(--cream);padding:80px 32px;transition:right .25s;z-index:60;border-left:1px solid var(--cream-2)}
  header.site nav.open{right:0;box-shadow:-12px 0 32px rgba(29,31,23,.1)}
  header.site nav ul,header.site nav ul.menu{flex-direction:column;gap:0}
  header.site nav a{font-size:18px;padding:18px 0;border-bottom:1px solid var(--cream-2);display:block;font-family:var(--serif)}
  .hamburger{display:inline-flex;z-index:70;position:relative}
  header.site .container.nav > .btn,header.site .nav > .btn{display:none!important}
  section,.page-hero{padding:64px 0!important}
  .grid-3,.grid-4{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr;gap:36px}
  .stats{grid-template-columns:1fr 1fr 1fr}
  .stat .n{font-size:32px}
  .form-card{padding:32px 24px}
}
