/* Sandra Shany — coastal OC lead capture. Phone first. */
:root{
  --deep:#3b2b21;--ink:#33261e;--sand:#f4ece2;--paper:#fffdfa;
  --sea:#b08a63;--sea-dark:#8a6440;--line:#e6dad0;--muted:#7a6a5e;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--sand);color:var(--ink);
  font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
main{max-width:520px;margin:0 auto;padding:0 20px 48px}
h1,h2{font-weight:600;letter-spacing:-.02em;margin:0}
.reg{font-size:.6em;vertical-align:super}

/* hero */
.hero{text-align:center;padding:24px 0 8px}
.portrait{
  display:block;width:100%;max-width:250px;height:auto;margin:0 auto;
  border-radius:20px;object-fit:cover;
  box-shadow:0 10px 30px rgba(59,43,33,.16);
}
.hero h1{font-size:29px;margin-top:12px}
.role{margin:5px 0 0;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--sea-dark);font-weight:600}
.tagline{margin:10px 0 0;font-size:18px;font-style:italic;color:var(--deep)}
.credibility{margin:8px 0 0;font-size:14px;color:var(--muted)}
.credibility strong{color:var(--ink)}

/* buttons */
.actions{display:flex;flex-direction:column;gap:10px;margin:18px 0 6px}
.btn{
  display:block;width:100%;padding:15px 18px;border:0;border-radius:14px;
  font-size:17px;font-weight:600;text-align:center;text-decoration:none;cursor:pointer;
  font-family:inherit;transition:transform .06s ease,background .15s ease;
}
.btn:active{transform:scale(.985)}
.btn-primary{background:var(--deep);color:#fffdfa;box-shadow:0 5px 16px rgba(59,43,33,.22)}
.btn-primary:hover{background:#4a372b}
.btn-secondary{background:var(--paper);color:var(--deep);border:1px solid var(--line)}
.btn-secondary:hover{background:#fff8f0}
.btn-quiet{background:transparent;color:var(--sea-dark);border:1px solid var(--sea);font-size:15px;padding:13px}
.btn:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--sea);outline-offset:2px}

/* cards */
.card{
  background:var(--paper);border:1px solid var(--line);border-radius:18px;
  padding:22px 20px;margin-top:22px;scroll-margin-top:16px;
}
.card h2{font-size:22px}
.sub{margin:8px 0 16px;font-size:15px;color:var(--muted)}
.lead-form{display:flex;flex-direction:column;gap:12px}
label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--muted)}
input[type=text],input[type=email],input[type=tel]{
  font:16px/1.4 inherit;padding:13px 14px;border:1px solid var(--line);
  border-radius:11px;background:#fdf9f4;color:var(--ink);width:100%;
}
input::placeholder{color:#bcaea2}
.botcheck{position:absolute;left:-9999px;opacity:0}
.status{margin:2px 0 0;font-size:15px;min-height:0}
.status.ok{color:var(--sea-dark);font-weight:600}
.status.err{color:#9c3b2e;font-weight:600}
.done{text-align:center;padding:6px 0 2px}
.done .tick{font-size:30px;display:block;margin-bottom:6px}

/* lower sections */
.markets{margin-top:28px;text-align:center}
.markets h2,.svr h2{font-size:15px;letter-spacing:.12em;text-transform:uppercase;color:var(--sea-dark)}
.markets p{font-size:15px;color:var(--muted);margin:10px 0 0;line-height:1.8}
.svr{margin-top:28px;padding:20px;border-top:1px solid var(--line);text-align:center}
.svr p{font-size:15px;color:var(--muted);margin:10px 0 16px}
footer{margin-top:30px;text-align:center;font-size:13px;color:var(--muted)}
footer a{color:var(--sea-dark)}
.legal{margin-top:8px;font-size:12px;color:#9b8a7c}

@media (min-width:560px){
  .hero h1{font-size:36px}
  .portrait{max-width:300px}
  main{padding-bottom:60px}
}
@media (prefers-reduced-motion:reduce){.btn{transition:none}}

/* ---- interior pages ---- */
.page{max-width:720px;margin:0 auto;padding:0 20px 64px}
.page .crumb{font-size:14px;margin:18px 0 6px}
.page .crumb a{color:#8a6a4a;text-decoration:none}
.page h1{font-size:30px;line-height:1.2;margin:14px 0 10px}
.page h2{font-size:22px;margin:30px 0 8px}
.page h3{font-size:18px;margin:22px 0 6px}
.page p,.page li{font-size:17px;line-height:1.65}
.page ul{padding-left:20px}
.page .lede{font-size:19px;color:#4a4038}
.page .src{font-size:14px;color:#6b6259}
.page .byline{display:flex;align-items:center;gap:12px;margin:18px 0 8px;font-size:15px}
.page .byline img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.page .cta{margin:34px 0;padding:20px;border-radius:14px;background:#f4ece2}
.page .cta h2{margin-top:0}
.page .siblings{margin:30px 0;padding-top:18px;border-top:1px solid #e4d9cb}
.page .siblings a{display:block;padding:8px 0;color:#8a6a4a;text-decoration:none;font-size:17px}
.page footer{margin-top:36px;border-top:1px solid #e4d9cb;padding-top:16px;font-size:15px}
.page .faq h3{margin-bottom:2px}

.guides{margin-top:28px;text-align:center}
.guides p{margin:6px auto 14px;max-width:46ch}
.guide-list{list-style:none;padding:0;margin:0 auto;max-width:40ch;text-align:left}
.guide-list li{padding:7px 0;border-bottom:1px solid rgba(0,0,0,.08)}
.guide-list li:last-child{border-bottom:0}
.markets a{color:var(--sea-dark);text-decoration:none}
.guide-list a{color:var(--sea-dark);text-decoration:none}

.guide-sub{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sea-dark);font-weight:600;margin:18px auto 2px;max-width:40ch;text-align:left;opacity:.75}
