/* Peak Pergolas — Cedar Workshop Craft Design System (inner pages) */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,600&family=Inter:wght@300;400;500;600&display=swap');

:root{
  --paper:#f7f1e6; --paper-2:#efe7d4; --cream:#fffdf6;
  --ink:#1f1a13; --ink-2:#54483a; --ink-3:#8a7c66;
  --cedar:#8B5A2B; --cedar-deep:#6b3f1a; --cedar-soft:#c69a6a;
  --serif:'Playfair Display',Georgia,serif;
  --body:'Inter',ui-sans-serif,system-ui,sans-serif;
  --copper:var(--cedar); --copper-deep:var(--cedar-deep); --copper-light:var(--cedar-soft);
  --navy:var(--ink); --navy-deep:var(--ink); --navy-darker:var(--ink); --navy-mid:var(--paper-2);
  --text-mute:var(--ink-2); --text-dim:var(--ink-3);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.65;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:700;letter-spacing:-.01em;line-height:1.05;color:var(--ink)}
.copper,.accent{color:var(--cedar-deep);font-style:italic;font-weight:500}

.topbar{background:var(--cedar-deep);color:#f6e4cf;font-size:13px;padding:11px 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(--paper);border-bottom:1px solid var(--paper-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:22px 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:700;letter-spacing:-.02em;color:var(--ink);text-transform:none}
.logo .ring,.logo .mark{width:38px;height:38px;border:2px solid var(--cedar);border-radius:50%;display:grid;place-items:center;font-size:18px;font-weight:700;color:var(--cedar);background:transparent;font-family:var(--serif)}
.logo .copper,.logo .accent{color:var(--cedar);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;padding:6px 0}
nav a:hover{color:var(--cedar-deep)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;font-family:var(--body);font-size:14px;font-weight:600;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(--cedar-deep);border-color:var(--cedar-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;border-bottom:1px solid var(--paper-2)}
.page-hero .breadcrumb{font-family:var(--body);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--cedar-deep);margin-bottom:24px}
.page-hero h1{font-family:var(--serif);font-weight:700;font-size:clamp(48px,6.5vw,100px);letter-spacing:-.025em;line-height:1.0;margin-bottom:24px;text-transform:none;color:var(--ink)}
.page-hero h1 .copper,.page-hero h1 .accent{color:var(--cedar-deep);font-style:italic;font-weight:500}
.page-hero .lead{font-size:19px;line-height:1.65;color:var(--ink-2);max-width:680px;margin-bottom:0;font-weight:400}
.page-hero .lead em{font-style:italic;color:var(--cedar-deep)}
.page-hero .actions{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap}

section{padding:120px 0}
.bg-deep,.bg-darker{background:var(--cedar-deep)!important;color:#f4e4cd!important}
.bg-deep h1,.bg-deep h2,.bg-deep h3,.bg-darker h1,.bg-darker h2,.bg-darker h3{color:var(--cream)}
.bg-deep p,.bg-darker p{color:#d4c4a8}
.bg-deep .copper,.bg-deep .accent,.bg-darker .copper,.bg-darker .accent{color:var(--cedar-soft)}
.bg-deep .eyebrow::before,.bg-darker .eyebrow::before{background:var(--cedar-soft)}
.bg-deep .eyebrow,.bg-darker .eyebrow{color:var(--cedar-soft)}
.bg-light{background:var(--cream)}

.eyebrow{font-family:var(--body);font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--cedar-deep);margin-bottom:18px;display:inline-flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:30px;height:1.5px;background:var(--cedar)}
.eyebrow.center::before{display:none}
.h-section{font-family:var(--serif);font-weight:700;font-size:clamp(36px,5vw,72px);letter-spacing:-.02em;line-height:1.05;text-transform:none;color:inherit}
.h-section span,.h-section .copper,.h-section .accent{font-style:italic;font-weight:500;color:var(--cedar-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(--cream);border:1px solid var(--paper-2);border-radius:6px;padding:36px 32px;transition:transform .25s,box-shadow .25s;display:block}
.card:hover,.h-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(31,26,19,.1)}
.card h3,.h-card h3{font-family:var(--serif);font-weight:700;font-size:26px;margin-bottom:10px;line-height:1.1}
.card h3 em,.h-card h3 em{color:var(--cedar-deep);font-weight:500}
.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(--cedar-deep);margin-bottom:12px}

.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:36px;border-top:1px solid var(--paper-2);border-bottom:1px solid var(--paper-2)}
.stat{padding:24px 0;border-right:1px solid var(--paper-2);text-align:center}
.stat:last-child{border-right:0}
.stat .n{font-family:var(--serif);font-size:48px;font-weight:600;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}
.bg-deep .stat .n,.bg-darker .stat .n{color:var(--cream)}
.bg-deep .stats,.bg-darker .stats{border-color:rgba(255,255,255,.15)}
.bg-deep .stat,.bg-darker .stat{border-color:rgba(255,255,255,.15)}
.num{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--cedar-deep);font-size:14px;margin-bottom:8px;display:block}

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

.faq-item{padding:24px 0;border-bottom:1px solid var(--paper-2)}
.faq-item h3{font-family:var(--serif);font-weight:600;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(--cream);border:1px solid var(--paper-2);border-radius:6px;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(--paper-2);background:var(--paper);color:var(--ink);border-radius:4px}
.form-card input:focus,.form-card textarea:focus,.form-card select:focus{outline:none;border-color:var(--cedar)}
.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:#a89b85;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(--cedar-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(--cedar-soft);color:var(--cedar-soft);background:transparent}
footer.site .logo .copper,footer.site .logo .accent{color:var(--cedar-soft)}
footer.site ul{list-style:none}
footer.site li{margin-bottom:9px;font-size:14px}
footer.site li a{color:#a89b85;transition:color .15s}
footer.site li a:hover{color:var(--cedar-soft)}
.foot-bot{font-size:12px;color:#7a6e5a;border-top:1px solid #3d3528;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(--paper-2)}
  header.site nav.open{right:0;box-shadow:-12px 0 32px rgba(31,26,19,.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(--paper-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}
}
