/* Layout: editorial asymmetry. Text-led left column, arched portrait right; botanical sprig from her logo as the single ornament. */
:root{
  --paper:#F6F1E9; --paper-2:#EDE5D7; --card:#FBF8F3;
  --ink:#2E2920; --muted:#665E51;
  --bronze:#664C1A; --bronze-soft:#8A6B33; --on-bronze:#FFF9EE;
  --sage:#7E9A88; --sage-deep:#4C6857; --on-sage:#F7FBF8;
  --slate:#6C7A89; --line:rgba(102,76,26,.16);
  --f-display:"Playfair Display", "Iowan Old Style", Georgia, serif;
  --f-body:"Mulish", "Segoe UI", system-ui, -apple-system, sans-serif;
  --step--1:.875rem; --step-0:1.0625rem; --step-1:1.25rem; --step-2:1.6rem; --step-3:2.2rem; --step-4:clamp(2.4rem,5.2vw,3.9rem);
  --radius:14px; --wrap:1160px;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --paper:#1B1915; --paper-2:#23201A; --card:#26231C;
  --ink:#EFE8DB; --muted:#BDB3A2;
  --bronze:#D3B57C; --bronze-soft:#E2C895; --on-bronze:#1B1915;
  --sage:#9CB8A5; --sage-deep:#A9C7B3; --on-sage:#15201A;
  --slate:#A7B3C0; --line:rgba(211,181,124,.2); color-scheme:dark }}
:root[data-theme="dark"]{
  --paper:#1B1915; --paper-2:#23201A; --card:#26231C;
  --ink:#EFE8DB; --muted:#BDB3A2;
  --bronze:#D3B57C; --bronze-soft:#E2C895; --on-bronze:#1B1915;
  --sage:#9CB8A5; --sage-deep:#A9C7B3; --on-sage:#15201A;
  --slate:#A7B3C0; --line:rgba(211,181,124,.2); color-scheme:dark }

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:var(--step-0);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--bronze);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
h1,h2,h3{font-family:var(--f-display);font-weight:500;line-height:1.15;text-wrap:balance;margin:0;color:var(--ink)}
h2{font-size:var(--step-3)}
h3{font-size:var(--step-1);font-weight:600}
p{margin:0}
.eyebrow{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--sage-deep)}
.lead{font-size:var(--step-1);color:var(--muted);max-width:60ch}
.prose{max-width:64ch;display:grid;gap:1em;color:var(--muted)}
.prose strong{color:var(--ink);font-weight:600}

.btn{display:inline-flex;align-items:center;gap:.6em;padding:.85em 1.4em;border-radius:999px;font-weight:700;font-size:.98rem;text-decoration:none;border:1.5px solid transparent;transition:transform .2s ease, background .2s ease, box-shadow .2s ease;cursor:pointer;white-space:nowrap}
.btn svg{width:1.15em;height:1.15em;flex:none}
.btn-primary{background:var(--bronze);color:var(--on-bronze)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 22px -10px var(--bronze)}
.btn-sage{background:var(--sage-deep);color:var(--on-sage)}
.btn-sage:hover{transform:translateY(-2px);box-shadow:0 8px 22px -10px var(--sage-deep)}
.btn-ghost{border-color:var(--line);color:var(--ink);background:transparent}
.btn-ghost:hover{border-color:var(--bronze)}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}

.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:12px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{width:52px;height:auto;flex:none;display:block}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .brand img{background:#F6F1E9;border-radius:10px;padding:3px}}
:root[data-theme="dark"] .brand img{background:#F6F1E9;border-radius:10px;padding:3px}
.brand-name{font-family:var(--f-display);font-size:1.25rem;line-height:1.05;color:var(--slate)}
.brand-name small{display:block;font-family:var(--f-body);font-size:.66rem;letter-spacing:.32em;text-transform:uppercase;color:var(--ink);margin-top:4px}
.nav{display:flex;align-items:center;gap:26px;font-size:.93rem;font-weight:600}
.nav a{text-decoration:none;color:var(--muted)}
.nav a:hover{color:var(--bronze)}
.nav .btn{color:var(--on-bronze);padding:.6em 1.15em}
@media (max-width:900px){.nav a:not(.btn){display:none}}
@media (max-width:420px){.brand-name{font-size:1.05rem}.nav .btn{padding:.55em .95em;font-size:.88rem}}

.hero{position:relative;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,72px);align-items:center;padding-block:clamp(40px,7vw,96px) clamp(48px,7vw,88px)}
.hero-text{display:grid;gap:22px;min-width:0}
.hero h1{font-size:var(--step-4);letter-spacing:-.01em}
.hero h1 em{font-style:italic;color:var(--bronze)}
.hero .meta{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:.92rem;color:var(--muted);padding-top:6px}
.hero .meta span{display:inline-flex;align-items:center;gap:8px}
.hero .meta svg{width:16px;height:16px;color:var(--sage-deep)}
.portrait{position:relative;justify-self:center;width:min(100%,400px)}
.arch{aspect-ratio:4/5;max-width:100%;border-radius:999px 999px 18px 18px;overflow:hidden;background:
  radial-gradient(120% 80% at 30% 15%, color-mix(in srgb,var(--sage) 30%,transparent), transparent 60%),
  linear-gradient(170deg,var(--paper-2),color-mix(in srgb,var(--sage) 22%,var(--paper-2)));
  border:1px solid var(--line);display:grid;place-items:center}
.arch picture{display:block;width:100%;height:100%}
.arch img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.arch .placeholder{display:grid;justify-items:center;gap:14px;color:var(--bronze);text-align:center;padding:24px}
.arch .placeholder svg{width:46%;height:auto}
.arch .placeholder span{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.portrait .sprig{position:absolute;width:44%;right:-14%;bottom:-6%;color:var(--sage);transform:rotate(-12deg);pointer-events:none}
.badge{position:absolute;left:-10%;bottom:-26px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px;box-shadow:0 18px 40px -24px rgba(40,30,10,.45);display:grid;gap:2px;max-width:220px}
.badge b{font-family:var(--f-display);font-size:1.05rem;font-weight:600}
.badge span{font-size:.8rem;color:var(--muted);line-height:1.4}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}.portrait{order:-1;width:min(70%,300px)}.badge{display:none}.portrait .sprig{right:-10%}}

.facts{border-block:1px solid var(--line);background:var(--paper-2)}
.facts .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding-block:22px}
.fact{display:grid;gap:2px}
.fact b{font-family:var(--f-display);font-size:1.15rem;font-weight:500}
.fact span{font-size:.86rem;color:var(--muted)}
@media (max-width:760px){.facts .wrap{grid-template-columns:repeat(2,minmax(0,1fr))}}

section{scroll-margin-top:84px}
.section{padding-block:clamp(56px,8vw,104px)}
.section-head{display:grid;gap:14px;margin-bottom:clamp(28px,4vw,48px);max-width:720px}

.help-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}
.help{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:12px;grid-column:span 2;min-width:0}
.help .ico{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--sage) 20%,transparent);color:var(--sage-deep)}
.help .ico svg{width:20px;height:20px}
.help p{color:var(--muted);font-size:.98rem}
.help .tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px}
.help .tags span{font-size:.76rem;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--paper-2);color:var(--muted)}
.help.feature{grid-column:span 4;background:var(--bronze);border-color:transparent;color:var(--on-bronze);position:relative;overflow:hidden}
.help.feature h3,.help.feature p{color:var(--on-bronze)}
.help.feature p{opacity:.88}
.help.feature .ico{background:color-mix(in srgb,var(--on-bronze) 16%,transparent);color:var(--on-bronze)}
.help.feature .tags span{background:color-mix(in srgb,var(--on-bronze) 14%,transparent);color:var(--on-bronze)}
.help.feature .sprig{position:absolute;right:-30px;top:-20px;width:190px;color:var(--on-bronze);opacity:.12;transform:rotate(25deg)}
.help.wide{grid-column:span 3}
@media (max-width:980px){.help,.help.wide{grid-column:span 3}.help.feature{grid-column:span 6}}
@media (max-width:640px){.help,.help.wide,.help.feature{grid-column:span 6}}

.band{background:var(--paper-2);border-block:1px solid var(--line)}
.band .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,72px);align-items:start}
.bignum{position:sticky;top:110px;font-family:var(--f-display);font-size:clamp(4.5rem,11vw,8rem);line-height:.9;color:var(--bronze);font-weight:400}
.bignum small{display:block;font-family:var(--f-body);font-size:.95rem;letter-spacing:.06em;color:var(--muted);margin-top:14px;line-height:1.5;font-weight:600;max-width:26ch}
.checks{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:12px}
.checks li{display:grid;grid-template-columns:22px 1fr;gap:12px;color:var(--muted)}
.checks svg{width:18px;height:18px;margin-top:4px;color:var(--sage-deep)}
@media (max-width:820px){.band .wrap{grid-template-columns:1fr}.bignum{position:static}}

.about .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:start}
.quote{font-family:var(--f-display);font-style:italic;font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.35;color:var(--ink);position:relative;padding-top:38px;margin:0}
.quote::before{content:"\201C";position:absolute;top:-22px;left:-4px;font-size:5rem;color:var(--sage);font-style:normal;line-height:1}
.quote cite{display:block;margin-top:16px;font-family:var(--f-body);font-style:normal;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.creds{display:grid;gap:0;margin-top:28px;border-top:1px solid var(--line)}
.creds div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.95rem}
.creds dt{font-weight:700;color:var(--ink);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;padding-top:2px}
.creds dd{margin:0;color:var(--muted)}
@media (max-width:820px){.about .wrap{grid-template-columns:1fr}.creds div{grid-template-columns:1fr;gap:2px}.about figure{position:static!important}}

.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,36px);counter-reset:s;list-style:none;padding:0;margin:0}
.steps li{display:grid;gap:10px;padding-top:22px;border-top:2px solid var(--bronze);min-width:0;align-content:start}
.steps li::before{counter-increment:s;content:"Passo " counter(s);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--bronze)}
.steps p{color:var(--muted);font-size:.98rem}
@media (max-width:760px){.steps{grid-template-columns:1fr}}
.approach-note{margin-top:clamp(36px,5vw,56px);display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;padding:24px;border:1px dashed var(--line);border-radius:var(--radius)}
.approach-note svg{width:54px;color:var(--sage)}
@media (max-width:560px){.approach-note{grid-template-columns:1fr}}

.locs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.loc{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:grid;gap:10px;align-content:start;min-width:0}
.loc .eyebrow{color:var(--bronze)}
.loc address{font-style:normal;color:var(--muted);font-size:.96rem}
.loc .near{font-size:.86rem;color:var(--muted)}
.loc a.map{font-weight:700;font-size:.9rem;color:var(--sage-deep);text-decoration:none;margin-top:4px}
.loc a.map:hover{text-decoration:underline}
@media (max-width:860px){.locs{grid-template-columns:1fr}}
.amen{margin-top:22px;display:flex;flex-wrap:wrap;gap:10px 26px;color:var(--muted);font-size:.92rem}
.amen span{display:inline-flex;gap:8px;align-items:center}
.amen svg{width:16px;height:16px;color:var(--sage-deep)}

.book{background:var(--sage-deep);color:var(--on-sage);border-radius:22px;padding:clamp(28px,5vw,56px);display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,4vw,48px);align-items:center;position:relative;overflow:hidden}
.book h2,.book p{color:var(--on-sage)}
.book p{opacity:.9}
.book .sprig{position:absolute;width:260px;left:-60px;bottom:-80px;color:var(--on-sage);opacity:.1}
.book-actions{display:grid;gap:12px;position:relative}
.book .btn{justify-content:center}
.book .btn-primary{background:var(--on-sage);color:var(--sage-deep)}
.book .btn-ghost{border-color:color-mix(in srgb,var(--on-sage) 45%,transparent);color:var(--on-sage)}
.phone-line{display:flex;align-items:center;justify-content:center;gap:10px;font-size:.92rem;flex-wrap:wrap}
.phone-line b{font-variant-numeric:tabular-nums;letter-spacing:.02em;user-select:all}
.copy{background:none;border:1px solid color-mix(in srgb,var(--on-sage) 45%,transparent);color:var(--on-sage);border-radius:999px;padding:3px 12px;font:inherit;font-size:.8rem;cursor:pointer}
.reviews-link{justify-self:center;font-size:.88rem;font-weight:600;color:var(--on-sage);opacity:.85;text-decoration:none}
.reviews-link span{letter-spacing:.1em;margin-right:4px}
.reviews-link:hover{opacity:1;text-decoration:underline}
@media (max-width:820px){.book{grid-template-columns:1fr}}

.faq{display:grid;gap:0;border-top:1px solid var(--line);max-width:860px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;font-family:var(--f-display);font-size:1.2rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;border-right:2px solid var(--bronze);border-bottom:2px solid var(--bronze);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details p{padding:0 0 22px;color:var(--muted);max-width:68ch}

.foot{border-top:1px solid var(--line);padding-block:44px 120px;font-size:.92rem;color:var(--muted)}
.foot .wrap{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px}
.foot h4{font-family:var(--f-body);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin:0 0 10px}
.foot a{text-decoration:none}
.foot a:hover{color:var(--bronze)}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.sos{margin-top:28px;grid-column:1/-1;padding-top:20px;border-top:1px solid var(--line);font-size:.85rem;display:grid;gap:8px}
@media (max-width:760px){.foot .wrap{grid-template-columns:1fr}}
@media (min-width:761px){.foot{padding-bottom:44px}}

.mbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:none;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(10px);border-top:1px solid var(--line)}
.mbar .btn{flex:1;justify-content:center;padding:.8em 1em}
@media (max-width:760px){.mbar{display:flex}}

@keyframes rise{from{transform:translateY(12px)}to{transform:none}}
.hero-text>*{animation:rise .7s ease both}
.hero-text>*:nth-child(2){animation-delay:.06s}.hero-text>*:nth-child(3){animation-delay:.12s}.hero-text>*:nth-child(4){animation-delay:.18s}

.crumbs{font-size:.82rem;color:var(--muted);padding-top:18px}
.crumbs a{color:var(--muted)}
.crumbs span{margin:0 6px;opacity:.6}
.page-hero .wrap{padding-block:clamp(24px,5vw,64px) clamp(40px,6vw,72px)}
.page-hero h1{font-size:clamp(2.1rem,4.4vw,3.3rem)}
.page-hero .portrait{width:min(100%,340px)}
.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,72px);align-items:start}
@media (max-width:860px){.two-col{grid-template-columns:1fr}}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:grid;gap:12px}
.panel h3{margin-bottom:4px}
.panel address{font-style:normal;color:var(--muted)}
.related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.related a{display:grid;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;text-decoration:none;transition:border-color .2s}
.related a:hover{border-color:var(--bronze)}
.related b{font-family:var(--f-display);font-size:1.15rem;font-weight:500}
.related span{font-size:.92rem;color:var(--muted)}
@media (max-width:860px){.related{grid-template-columns:1fr}}
.note-box{border-left:3px solid var(--sage);padding:4px 0 4px 16px;color:var(--muted);font-size:.95rem}
