/* Solutions Property Management — shared site styles */
/* Design system v6 — terracotta CTAs, navy/cream/gold base */

:root {
  --navy:#0F2C4D; --navy-soft:#1E4470; --navy-deep:#08172A;
  --peach:#E8B097; --peach-deep:#DA6B4F;
  --cream:#FAF6EF; --cream-soft:#F4EFE5;
  --mist:#E8E2D6; --sage:#7BA098;
  --action:#B86A45; --action-dk:#9A5635;
  --gold:#C8943D; --gold-soft:#E8B14A;
  --ink:#161616; --ash:#5C5C5C;
  --success:#3B7A57; --urgency:#C44536;
}

html { scroll-behavior:smooth; }
body { font-family:'Inter',system-ui,sans-serif; color:var(--ink); background:var(--cream); }
h1,h2,h3,h4,.display { font-family:'Fraunces',Georgia,serif; letter-spacing:-0.015em; }
:focus-visible { outline:2px solid var(--action); outline-offset:3px; border-radius:4px; }

/* CTA styles */
.cta-primary {
  background:linear-gradient(180deg, #B86A45 0%, #9A5635 100%);
  color:white !important;
  font-weight:700;
  padding:1rem 1.75rem;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  transition:transform .2s, box-shadow .2s;
  box-shadow:0 6px 20px rgba(184,106,69,.35);
  text-decoration:none;
}
.cta-primary:hover {
  background:linear-gradient(180deg, #C97B5D 0%, #B86A45 100%);
  transform:translateY(-1px);
  box-shadow:0 10px 32px rgba(184,106,69,.45);
}
.cta-secondary {
  background:transparent;
  color:var(--navy) !important;
  border:2px solid var(--navy);
  font-weight:700;
  padding:0.875rem 1.75rem;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  transition:background .2s;
  text-decoration:none;
}
.cta-secondary:hover { background:var(--mist); }

/* Soft card */
.soft-card { transition:transform .25s, box-shadow .25s; }
.soft-card:hover { transform:translateY(-2px); box-shadow:0 12px 32px rgba(15,44,77,.08); }

/* Scribble underline */
.scribble {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14'%3E%3Cpath fill='none' stroke='%23C8943D' stroke-width='3' stroke-linecap='round' d='M2 8 Q50 2 100 8 T198 6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:bottom; background-size:100% 12px;
  padding-bottom:10px;
}

/* Placeholder boxes */
.ph {
  background:linear-gradient(135deg, rgba(232,176,151,0.18) 0%, rgba(123,160,152,0.12) 100%),
              repeating-linear-gradient(45deg, rgba(15,44,77,0.04) 0 1px, transparent 1px 12px);
  border:2px dashed rgba(15,44,77,0.22);
  border-radius:16px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; color:var(--navy);
  font-family:'Caveat',cursive; font-size:18px; line-height:1.3;
  padding:24px; position:relative; overflow:hidden;
}
.ph::before { content:'🍌'; position:absolute; top:8px; right:12px; font-size:20px; opacity:0.55; }
.ph .ph-tag { font-family:'Inter',sans-serif; font-size:10px; text-transform:uppercase; letter-spacing:1.5px; color:#5C5C5C; margin-bottom:8px; font-weight:700; }
.ph .ph-title { font-family:'Fraunces',serif; font-size:15px; font-weight:600; color:var(--navy); margin-bottom:6px; line-height:1.2; }
.ph .ph-prompt { font-family:'Inter',sans-serif; font-size:11px; color:#5C5C5C; line-height:1.4; max-width:280px; }

/* Stamp/badge */
.stamp { transform:rotate(-8deg); transition:transform .3s; }
.stamp:hover { transform:rotate(-2deg) scale(1.05); }

/* Animations */
@keyframes pulseDot { 0%,100%{opacity:1} 50%{opacity:.35} }
.animate-pulse-dot { animation:pulseDot 2s ease-in-out infinite; }

@media (prefers-reduced-motion: no-preference) {
  .fade-up { opacity:0; transform:translateY(12px); transition:opacity .5s ease-out, transform .5s ease-out; }
  .fade-up.in { opacity:1; transform:translateY(0); }
}

/* Detail accordion */
details > summary { list-style:none; cursor:pointer; }
details > summary::-webkit-details-marker { display:none; }
details[open] summary .chev { transform:rotate(45deg); }
.chev { transition:transform .2s ease; display:inline-block; }

/* Sticky CTA */
.sticky-rail {
  position:fixed; right:24px; bottom:24px; z-index:40;
  box-shadow:0 12px 40px rgba(184,106,69,0.35);
}
@media (max-width: 1023px) { .sticky-rail { display:none; } }

/* Prose styles for blog */
.prose { max-width:680px; margin:0 auto; }
.prose h2 { font-size:2rem; margin-top:3rem; margin-bottom:1rem; color:var(--navy); }
.prose h3 { font-size:1.4rem; margin-top:2rem; margin-bottom:0.75rem; color:var(--navy); font-weight:600; }
.prose p { font-size:1.0625rem; line-height:1.75; margin-bottom:1.25rem; color:#2a2a2a; }
.prose ul, .prose ol { font-size:1.0625rem; line-height:1.75; margin-bottom:1.25rem; padding-left:1.5rem; }
.prose ul li, .prose ol li { margin-bottom:0.5rem; }
.prose a { color:var(--action); text-decoration:underline; }
.prose a:hover { color:var(--action-dk); }
.prose blockquote { border-left:4px solid var(--gold); padding:0.5rem 0 0.5rem 1.5rem; margin:1.5rem 0; font-style:italic; color:var(--navy); background:rgba(200,148,61,0.05); }
.prose strong { color:var(--navy); }
