:root{
  --ink:#2b2522; --muted:#6a5f59; --teal:#8a5a44; --teal-dark:#6e4634; --sage:#f3ebe6;
  --sand:#fbf8f5; --line:#e8dfd9; --wa:#1fa855; --wa-dark:#178a45;
}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{overflow-x:clip;font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:var(--ink);background:var(--sand);line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,.brand{font-family:'Lora',Georgia,serif;font-weight:600;letter-spacing:-.01em}
a{color:var(--teal)}
.skip-link{position:absolute;left:-999px;top:0;background:#fff;color:var(--ink);padding:.6rem 1rem;z-index:2000}
.skip-link:focus{left:8px;top:8px}

/* Navbar */
.site-nav{background:rgba(251,248,245,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-nav .brand{font-size:1.15rem;color:var(--ink);text-decoration:none}
.site-nav .nav-link{color:var(--muted);font-size:.95rem;padding:.5rem .9rem}
.site-nav .nav-link:hover,.site-nav .nav-link:focus{color:var(--teal-dark)}

/* Buttons */
.btn-wa{background:var(--wa);border-color:var(--wa);color:#fff;font-weight:600;border-radius:999px;padding:.8rem 1.6rem;box-shadow:0 6px 18px rgba(31,168,85,.25)}
.btn-wa:hover,.btn-wa:focus{background:var(--wa-dark);border-color:var(--wa-dark);color:#fff}
.btn-soft{background:#fff;border:1px solid var(--line);color:var(--teal-dark);font-weight:600;border-radius:999px;padding:.8rem 1.6rem}
.btn-soft:hover{border-color:var(--teal);color:var(--teal-dark);background:var(--sage)}

/* Hero */
.hero{background:linear-gradient(180deg,var(--sage) 0%,var(--sand) 100%);padding:8rem 0 4.5rem}
.eyebrow{display:inline-block;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);font-weight:600;margin-bottom:1rem}
.hero h1{font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.15;margin-bottom:1rem}
.hero .lead{color:var(--muted);font-size:1.15rem;max-width:34rem}
.reg{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;color:var(--muted);font-size:.92rem;margin:1.25rem 0 1.75rem}
.reg span i{color:var(--teal);margin-right:.35rem}
.portrait{width:100%;max-width:340px;aspect-ratio:4/5;object-fit:cover;border-radius:22px;box-shadow:0 18px 40px rgba(43,37,34,.14)}
.portrait-mono{width:100%;max-width:340px;aspect-ratio:4/5;border-radius:22px;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Lora',serif;font-size:5rem;box-shadow:0 18px 40px rgba(43,37,34,.14)}

/* Sections */
section.block{padding:4.5rem 0}
.bio p:first-of-type{margin-top:1rem}
section.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec-title{font-size:clamp(1.6rem,3.2vw,2.2rem);margin-bottom:.5rem}
.sec-sub{color:var(--muted);margin-bottom:2.25rem;max-width:38rem}
.bio p{color:#463c37}
.card-soft{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.5rem}
.row>[class*=col-md-6] .card-soft{height:100%}
section.alt .card-soft{background:var(--sand)}
.card-soft h3{font-size:1.1rem;margin-bottom:.9rem}
.tick{list-style:none;padding:0;margin:0}
.tick li{position:relative;padding-left:1.6rem;margin-bottom:.6rem;color:#463c37}
.tick li::before{content:"\F26A";font-family:"bootstrap-icons";position:absolute;left:0;top:.05rem;color:var(--teal)}

/* Contact */
.info-row{display:flex;gap:1rem;margin-bottom:1.25rem}
.info-row .ico{flex:0 0 44px;height:44px;border-radius:12px;background:var(--sage);color:var(--teal-dark);display:flex;align-items:center;justify-content:center;font-size:1.2rem}
.info-row h3{font-size:1rem;margin:0 0 .15rem;font-family:'Inter',sans-serif;font-weight:600}
.info-row p{margin:0;color:#463c37}

/* Footer */
footer{background:#2b2522;color:#d9cfc8;padding:2.5rem 0;font-size:.9rem}
footer a{color:#fff}
footer .small-note{color:#a99d95}

/* Floating WhatsApp */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:1050;width:62px;height:62px;border-radius:50%;background:var(--wa);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.25);transition:transform .2s ease,background .2s ease}
.wa-float:hover,.wa-float:focus{background:var(--wa-dark);color:#fff;transform:scale(1.06)}
.wa-float::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--wa);animation:pulse 2.4s ease-out infinite}
@keyframes pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.35);opacity:0}}
@media (prefers-reduced-motion:reduce){.wa-float::after{animation:none}html{scroll-behavior:auto}}
:focus-visible{outline:3px solid #c9a08c;outline-offset:2px}

@media (max-width:767.98px){
  .hero{padding:6rem 0 3rem;text-align:left}
  section.block{padding:3.25rem 0}
  .portrait,.portrait-mono{max-width:200px;margin-bottom:.5rem}
  .btn-wa,.btn-soft{width:100%;text-align:center}
}

.brand-logo{display:block;border-radius:50%}
.site-nav .brand span{line-height:1.15}
@media (max-width:420px){.site-nav .brand{font-size:1rem}}
.icon-accent{color:var(--teal)}

.site-nav .navbar-brand{min-width:0;margin-right:0}
.site-nav .brand span{white-space:nowrap}
.portrait{height:auto}
