:root{
  --pp-bone:#f4eee4;
  --pp-paper:#fffdf8;
  --pp-ink:#26211b;
  --pp-ink-2:#3a3329;
  --pp-clay:#c96f4a;
  --pp-clay-dark:#a9552f;
  --pp-bronze:#8c6b4a;
  --pp-gold:#c9a15a;
  --pp-sage:#7a8470;
  --pp-line:#e8dfd0;
}
body{background:var(--pp-paper);color:var(--pp-ink);}
h1,h2,h3,h4,.display-1,.display-2,.font-display{font-family:Georgia,"Times New Roman",serif;}
.text-clay{color:var(--pp-clay)!important;}
.text-gold{color:var(--pp-gold)!important;}
.bg-bone{background:var(--pp-bone)!important;}

.btn-clay{background:var(--pp-clay);border:1px solid var(--pp-clay);color:#fff;}
.btn-clay:hover,.btn-clay:focus{background:var(--pp-clay-dark);border-color:var(--pp-clay-dark);color:#fff;}
.btn-outline-clay{background:transparent;border:1px solid var(--pp-clay);color:var(--pp-clay);}
.btn-outline-clay:hover{background:var(--pp-clay);color:#fff;}

.hero{background:linear-gradient(135deg,var(--pp-ink) 0%,var(--pp-ink-2) 55%,#4a4134 100%);color:#f6efe4;}
.hero .eyebrow{letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;color:var(--pp-gold);}
.hero h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.1;}
.hero .lead{color:#d8cfc2;}
.hero-frame{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:1.25rem;}
.portrait-card{
  background:linear-gradient(160deg,var(--pp-bone),#e6dcc8);
  color:var(--pp-ink);border:8px solid #fff;border-radius:1rem;
  box-shadow:0 20px 50px rgba(0,0,0,.35);max-width:340px;aspect-ratio:4/5;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;
  transform:rotate(1.5deg);
}
.portrait-card i{font-size:3.5rem;color:var(--pp-clay);}
.portrait-card p{margin:0;font-family:Georgia,serif;font-size:1.15rem;}

.feature-card{border:1px solid var(--pp-line);border-radius:1rem;background:#fff;height:100%;transition:transform .2s ease,box-shadow .2s ease;}
.feature-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(38,33,27,.08);}
.feature-icon{width:52px;height:52px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-size:1.4rem;background:var(--pp-bone);color:var(--pp-clay);}

.swatch{height:72px;border-radius:.75rem;border:1px solid var(--pp-line);}
.swatch-full{background:linear-gradient(120deg,#e8b54a,#c96f4a,#5a7d9a);}
.swatch-bronze{background:linear-gradient(120deg,#8c6b4a,#b98a4e,#6d523a);}
.swatch-mono{background:linear-gradient(120deg,#222,#666,#ddd);}
.swatch-sepia{background:linear-gradient(120deg,#6f4f2f,#b08a63,#e2c9a8);}
.swatch-custom{background:conic-gradient(from 0deg,#c96f4a,#c9a15a,#7a8470,#8c6b4a,#c96f4a);}

.step-num{width:44px;height:44px;border-radius:50%;background:var(--pp-ink);color:var(--pp-gold);display:inline-flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:1.2rem;}

.footer a.footer-link{color:#cbbfae;text-decoration:none;}
.footer a.footer-link:hover{color:#fff;text-decoration:underline;}

.form-label{font-weight:600;}
.card{border-color:var(--pp-line);}
.website-field{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
.text-pre{white-space:pre-line;}

/* Admin layout */
.admin-layout{display:flex;min-height:100vh;}
.admin-sidebar{width:250px;background:var(--pp-ink);color:#d8cfc2;flex-shrink:0;flex-direction:column;position:sticky;top:0;height:100vh;}
.admin-sidebar .sidebar-brand{padding:1.25rem 1.5rem;font-family:Georgia,serif;color:#fff;font-size:1.15rem;border-bottom:1px solid rgba(255,255,255,.1);}
.admin-sidebar .nav-link{color:#cbbfae;border-radius:.5rem;margin:.15rem .6rem;padding:.55rem .9rem;display:flex;align-items:center;gap:.6rem;}
.admin-sidebar .nav-link:hover{color:#fff;background:rgba(255,255,255,.08);}
.admin-sidebar .nav-link.active{color:#fff;background:var(--pp-clay);}
.admin-sidebar .sidebar-footer{margin-top:auto;padding:1rem .5rem;border-top:1px solid rgba(255,255,255,.1);}
.admin-main{flex:1;min-width:0;display:flex;flex-direction:column;}
.admin-topbar{background:#fff;border-bottom:1px solid var(--pp-line);padding:.75rem 1.5rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:1020;}
