/* Camila Pinheiro | design system
   tokens derived from the approved reference (nude editorial, small-caps serif) */
@font-face{font-family:"Cormorant Garamond";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/cormorant-garamond-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:400;font-style:italic;font-display:swap;src:url(../fonts/cormorant-garamond-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant SC";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/cormorant-sc-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant SC";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/cormorant-sc-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant SC";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/cormorant-sc-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-weight:400;font-style:normal;font-display:swap;src:url(../fonts/dm-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-weight:500;font-style:normal;font-display:swap;src:url(../fonts/dm-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-weight:600;font-style:normal;font-display:swap;src:url(../fonts/dm-sans-latin-600-normal.woff2) format("woff2")}

:root{
  --white:#FFFFFF; --cream:#FCF7F4; --sand:#F6E9E4; --nude:#EBD3CA; --nude-2:#E0BFB5; --taupe:#D3BAB0; --blush:#F4DCD8;
  --clay:#D9929B; --clay-dark:#9B5E63; --cocoa:#553732; --accent:#E5818F;
  --text:#553732; --muted:#74534F;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sc:"Cormorant SC","Cormorant Garamond",Georgia,serif;
  --sans:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --container:1200px; --gutter:24px;
  --sp-1:8px; --sp-2:16px; --sp-3:24px; --sp-4:40px; --sp-5:64px; --sp-6:96px; --sp-7:128px;
  --section:clamp(56px,9vw,128px);
  --radius:0; --radius-btn:2px;
  --shadow:0 18px 40px -22px rgba(81,53,35,.35);
  --t:.45s cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{overflow-x:clip;margin:0;background:var(--white);color:var(--text);font-family:var(--sans);font-size:clamp(16px,1.05vw + 12px,18px);line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--sc);font-weight:500;line-height:1.08;margin:0 0 var(--sp-3);letter-spacing:.01em}
h1{font-size:clamp(2.2rem,5vw,4.2rem);text-transform:none;line-height:.98}
h2{font-size:clamp(1.8rem,3.6vw,3rem);text-transform:none;line-height:1.02}
h3{font-size:clamp(1.3rem,2vw,1.7rem)}
p{margin:0 0 var(--sp-2)}
.container{width:100%;max-width:calc(var(--container) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.skip{position:absolute;left:-999px;top:8px;background:var(--cocoa);color:#fff;padding:12px 18px;z-index:200}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--cocoa);outline-offset:3px}
.eyebrow{font-family:var(--serif);font-family:var(--sc);font-variant:normal;letter-spacing:.14em;font-size:1.15rem;color:var(--clay-dark);margin:0 0 var(--sp-2);display:block}
.lead{font-size:1.15em;color:var(--muted)}
.sc{font-family:var(--sc);font-variant:normal;letter-spacing:.06em;text-transform:lowercase}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:14px 30px;border:1.5px solid var(--clay-dark);background:var(--clay-dark);color:#fff;font:600 .82rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border-radius:var(--radius-btn);cursor:pointer;transition:background var(--t),color var(--t),transform var(--t)}
.btn:hover{background:var(--cocoa);border-color:var(--cocoa);transform:translateY(-1px)}
.btn--ghost{background:transparent;color:var(--cocoa);border-color:var(--cocoa)}
.btn--ghost:hover{background:var(--cocoa);color:#fff}
.btn--light{background:var(--cream);border-color:var(--cream);color:var(--cocoa)}
.btn--light:hover{background:#fff;border-color:#fff;color:var(--cocoa)}
.btn-row{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-3)}

/* header */
.header{position:sticky;top:0;z-index:100;background:#fff;transition:box-shadow var(--t)}
.header.is-stuck{box-shadow:0 1px 0 var(--sand),0 12px 30px -24px rgba(81,53,35,.4)}
.header__in{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:84px}
.brand img{width:clamp(150px,18vw,210px);height:auto}
.nav{display:flex;align-items:center;gap:clamp(14px,1.8vw,32px)}
.nav ul{display:flex;gap:clamp(14px,2vw,30px);list-style:none;margin:0;padding:0}
.nav a.link{white-space:nowrap;font-family:var(--serif);font-family:var(--sc);font-variant:normal;letter-spacing:.1em;font-size:1.15rem;text-decoration:none;padding:8px 2px;border-bottom:1px solid transparent;transition:border-color var(--t)}
.nav a.link:hover,.nav a.link[aria-current=page]{border-color:var(--clay)}
.nav .btn{padding:12px 22px;min-height:44px;font-size:.74rem}
.burger{display:none;background:none;border:0;width:48px;height:48px;padding:0;cursor:pointer;color:var(--cocoa)}
.burger span{display:block;width:26px;height:1.5px;background:currentColor;margin:6px auto;transition:transform var(--t),opacity var(--t)}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.burger[aria-expanded=true] span:nth-child(2){opacity:0}
.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
@media (max-width:1100px){
  .burger{display:block}
  .nav{position:fixed;top:84px;left:0;right:0;bottom:0;width:100%;z-index:99;background:var(--cream);flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:var(--sp-4) var(--gutter);gap:var(--sp-3);transform:translateX(100%);visibility:hidden;transition:transform var(--t),visibility var(--t);overflow:auto}
  .nav.is-open{transform:none;visibility:visible}
  .nav ul{flex-direction:column;gap:6px;width:100%}
  .nav a.link{white-space:nowrap;font-size:1.7rem;display:block}
}

/* hero */
.hero{background:linear-gradient(180deg,var(--cream) 0,#fff 100%);padding-block:clamp(32px,6vw,80px) var(--section);overflow:hidden}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,5vw,80px);align-items:center}
.hero h1{max-width:15ch}
.hero__micro{font-family:var(--serif);font-style:italic;font-size:1.25rem;color:var(--muted);margin-top:var(--sp-3)}
.frame{position:relative;isolation:isolate}
.frame::before{content:"";position:absolute;z-index:-1;background:var(--nude);inset:12% -14% -8% 18%}
.frame--left::before{inset:12% 18% -8% -14%}
.frame img{width:100%;height:auto;object-fit:cover}
.hero .frame img{aspect-ratio:4/5}
@media (max-width:860px){
  .hero__grid{grid-template-columns:1fr}
  .hero .frame{order:-1;max-width:420px;margin:0 auto var(--sp-3);width:88%}
  .frame::before{inset:10% -8% -6% 14%}
}

/* sections */
.section{padding-block:var(--section)}
.section--cream{background:var(--cream)}
.section--sand{background:var(--sand)}
.section__head{max-width:760px;margin-bottom:var(--sp-5)}
.section__head--center{text-align:center;margin-inline:auto}

/* areas */
.areas{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--taupe)}
.area{padding:var(--sp-4) var(--sp-3) var(--sp-4) 0;border-bottom:1px solid var(--taupe);text-decoration:none;display:block;transition:background var(--t)}
.area:not(:last-child){border-right:1px solid var(--sand);margin-right:0}
.area{padding-left:var(--sp-3)}
.area:first-child{padding-left:0}
.area__n{font-family:var(--serif);font-size:1.1rem;color:var(--clay-dark);display:block;margin-bottom:var(--sp-2)}
.area h3{font-size:1.5rem}
.area p{color:var(--muted);font-size:.97rem;margin:0 0 var(--sp-2)}
.area__go{font:600 .74rem var(--sans);letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid var(--clay);padding-bottom:3px}
.area:hover{background:var(--cream)}
.also{margin-top:var(--sp-4);display:flex;flex-wrap:wrap;gap:12px var(--sp-3);align-items:center}
.also span{font-family:var(--serif);font-family:var(--sc);font-variant:normal;letter-spacing:.12em;font-size:1.15rem;color:var(--clay-dark)}
.also a{font-family:var(--serif);font-family:var(--sc);font-variant:normal;letter-spacing:.08em;font-size:1.25rem;text-decoration:none;border-bottom:1px solid var(--nude-2)}
.also a:hover{border-color:var(--cocoa)}
@media (max-width:1024px){.areas{grid-template-columns:repeat(2,1fr)}.area{padding-left:var(--sp-3)}.area:nth-child(odd){padding-left:0}.area:nth-child(2){border-right:0}.area:nth-child(3){border-right:1px solid var(--sand)}}
@media (max-width:600px){.areas{grid-template-columns:1fr}.area,.area:first-child{padding-left:0;border-right:0!important}}

/* photo strip + numbers */
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2);align-items:start}
.strip figure{margin:0;position:relative;overflow:hidden;background:var(--sand)}
.strip img{width:100%;height:100%;object-fit:cover}
.strip figure:nth-child(1){aspect-ratio:4/5}
.strip figure:nth-child(2),.strip figure:nth-child(3){aspect-ratio:4/5}
@media (max-width:600px){.strip{grid-template-columns:1fr 1fr 1fr;gap:8px}}

.numbers{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3);margin-top:var(--sp-5)}
.num{border-top:1px solid var(--clay);padding-top:var(--sp-2)}
.num b{font-variant-numeric:lining-nums;display:block;font-family:var(--serif);font-weight:500;font-size:clamp(2.2rem,4vw,3.4rem);line-height:1;margin-bottom:8px}
.num span{font-size:.95rem;color:var(--muted);display:block}
@media (max-width:700px){.numbers{grid-template-columns:1fr}}

/* about */
.about{display:grid;grid-template-columns:1.1fr .9fr;gap:0;align-items:center}
.about__photo img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 20%}
.about__card{background:var(--nude);padding:clamp(28px,4vw,64px);margin-left:-12%;position:relative;z-index:2;box-shadow:var(--shadow)}
.about__card h2{font-size:clamp(1.7rem,3vw,2.6rem)}
.about__card p{font-family:var(--serif);font-family:var(--sc);font-variant:normal;letter-spacing:.05em;font-size:1.25rem;line-height:1.5;margin-bottom:10px}
@media (max-width:860px){.about{grid-template-columns:1fr}.about__card{margin:-48px 16px 0}}

/* phases */
.phases{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-3)}
.phase{background:#fff;padding:var(--sp-4) var(--sp-3);border-top:2px solid var(--clay)}

.phase p{color:var(--muted);margin:0}
@media (max-width:860px){.phases{grid-template-columns:1fr}}

/* philosophy + levegestar */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,6vw,96px);align-items:center}
@media (max-width:860px){.split{grid-template-columns:1fr}}
.quote{font-family:var(--sc);font-size:clamp(1.8rem,3.6vw,3rem);line-height:1.12;text-transform:none}
.lg{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,6vw,96px);align-items:center}
.lg__photo{max-width:440px;justify-self:center;width:88%}
.lg__photo img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
@media (max-width:860px){.lg{grid-template-columns:1fr}}

/* blog */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-3)}
.post{display:flex;flex-direction:column;background:var(--cream);padding:var(--sp-4) var(--sp-3);text-decoration:none;min-height:260px;transition:background var(--t)}
.post:hover{background:var(--sand)}
.post small{font:600 .72rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--clay-dark);margin-bottom:var(--sp-2)}
.post h3{margin-bottom:var(--sp-2)}
.post p{color:var(--muted);font-size:.97rem;flex:1}
@media (max-width:860px){.posts{grid-template-columns:1fr}}

/* faq */
.faq{max-width:860px}
.faq details{border-bottom:1px solid var(--taupe)}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;font-family:var(--serif);font-size:1.45rem;line-height:1.25;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font:300 1.8rem var(--sans);color:var(--clay-dark);transition:transform var(--t)}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details p{padding:0 0 20px;color:var(--muted);max-width:68ch}

/* final cta */
.cta{background:var(--blush);color:var(--text);position:relative;overflow:hidden}
.cta__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,6vw,96px);align-items:center}
.cta h2{color:var(--cocoa)}
.cta p{color:var(--muted)}
.cta__img{aspect-ratio:4/5;max-height:520px;width:100%;object-fit:cover}
@media (max-width:860px){.cta__grid{grid-template-columns:1fr}.cta__img{max-height:320px;aspect-ratio:16/10}}

/* inner pages */
.page-hero{background:linear-gradient(180deg,var(--cream),#fff);padding-block:clamp(40px,6vw,88px) clamp(32px,5vw,64px)}
.page-hero h1{font-size:clamp(2.1rem,4.6vw,3.6rem);max-width:18ch}
.crumbs{font-size:.88rem;color:var(--muted);margin-bottom:var(--sp-3)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.crumbs li+li::before{content:"/";margin-right:8px;color:var(--taupe)}
.crumbs a{text-decoration:none;border-bottom:1px solid var(--nude-2)}
.prose{max-width:720px}
.prose h2{font-size:clamp(1.6rem,2.8vw,2.3rem);margin-top:var(--sp-5)}
.prose ul{padding-left:1.1em}
.prose li{margin-bottom:8px}
.prose a{color:var(--clay-dark)}
.note{background:var(--cream);border-left:3px solid var(--clay);padding:var(--sp-2) var(--sp-3);font-size:.95rem;color:var(--muted);margin-top:var(--sp-4)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}
@media (max-width:860px){.two{grid-template-columns:1fr}}

/* form */
.form{display:grid;gap:var(--sp-2);max-width:560px}
.field label{display:block;font-weight:500;margin-bottom:6px;font-size:.95rem}
.field input,.field textarea{width:100%;font:inherit;color:var(--text);background:#fff;border:1.5px solid var(--taupe);border-radius:var(--radius-btn);padding:14px 16px;min-height:48px}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field textarea:focus{outline:3px solid var(--cocoa);outline-offset:1px;border-color:var(--cocoa)}
.field .err{color:#8A2A2A;font-size:.88rem;margin-top:4px;display:none}
.field.invalid .err{display:block}
.field.invalid input,.field.invalid textarea{border-color:#8A2A2A}
.check{display:flex;gap:12px;align-items:flex-start;font-size:.92rem}
.check input{width:22px;height:22px;margin-top:3px;accent-color:var(--clay-dark);flex:none}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.form__ok{display:none;background:var(--cream);padding:var(--sp-2) var(--sp-3);border-left:3px solid var(--clay)}

/* footer */
.footer{background:var(--cream);padding-block:var(--sp-5) var(--sp-3);border-top:1px solid var(--sand)}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--sp-4)}
.footer img{width:200px;margin-bottom:var(--sp-2)}
.footer__h{font-family:var(--sc);font-weight:500;line-height:1.08;font-size:1.2rem;letter-spacing:.14em;margin:0 0 var(--sp-2)}
.footer ul{list-style:none;margin:0;padding:0}
.footer li{margin-bottom:6px}
.footer a{text-decoration:none;border-bottom:1px solid transparent}
.footer a:hover{border-color:var(--clay)}
.footer__bot{margin-top:var(--sp-4);padding-top:var(--sp-2);border-top:1px solid var(--sand);font-size:.85rem;color:var(--muted)}
@media (max-width:760px){.footer__grid{grid-template-columns:1fr}}

/* whatsapp floating */
.wa-float{position:fixed;right:16px;bottom:16px;z-index:90;width:56px;height:56px;border-radius:50%;background:var(--clay-dark);color:#fff;display:grid;place-items:center;box-shadow:var(--shadow);transition:transform var(--t),background var(--t)}
.wa-float:hover{background:var(--cocoa);transform:translateY(-2px)}
.wa-float svg{width:28px;height:28px;fill:currentColor}

/* reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}


.gets{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-3)}
@media (max-width:700px){.gets{grid-template-columns:1fr}}
.price{margin-top:var(--sp-5);background:var(--nude);padding:var(--sp-4);max-width:520px}
.price__v{font-family:var(--sc);font-size:clamp(2.4rem,5vw,3.6rem);line-height:1;margin:0 0 8px}
.prose ul{padding-left:1.1em}
.prose a.btn{color:#fff}
.prose a.btn--ghost{color:var(--cocoa)}
.prose a.btn--ghost:hover{color:#fff}

/* mobile: texto centralizado */
@media (max-width:860px){
  body{text-align:center}
  .btn-row,.also,.crumbs ol{justify-content:center}
  .hero h1,.page-hero h1{margin-inline:auto}
  .lead,.prose,.faq,.section__head,.price,.hero__micro{margin-inline:auto}
  .prose ul,.footer ul{list-style-position:inside;padding-left:0}
  .prose li{margin-bottom:10px}
  .faq summary{padding-inline:32px}
  .faq details p{margin-inline:auto}
  .note{border-left:0;border-top:3px solid var(--clay)}
  .crumbs li+li::before{margin-right:8px}
  .footer img,.footer__grid>div>img{margin-inline:auto}
  .num,.area,.phase,.post{text-align:center}
  .area:first-child,.area{padding-inline:var(--sp-2)}
  .about__card,.cta__grid,.lg,.split{text-align:center}
  .field,.check,.form{text-align:left}
  .nav{align-items:center;text-align:center}
  .nav ul{align-items:center}
  .post small{align-self:center}
  .post .area__go{align-self:center!important}
}

.strip-card{background:var(--nude);padding:var(--sp-2)}
.strip-card .strip{gap:var(--sp-2)}
.also--card{margin-top:0;padding:var(--sp-4) var(--sp-3) var(--sp-3);justify-content:center;text-align:center}
.also--card span{color:var(--clay-dark)}

.cta .cta__title{font-family:var(--sc);font-weight:500;font-size:clamp(1.8rem,3.6vw,3rem);line-height:1.02;margin:0 0 var(--sp-3);color:var(--cocoa)}
.area--wide{grid-column:1/-1;padding-left:0}
.area--wide p{max-width:68ch}
.strip-msg{padding:var(--sp-4) var(--sp-3) var(--sp-4);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--sp-2)}
.strip-msg__t{font-family:var(--sc);font-weight:500;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.1;margin:0;color:var(--cocoa);max-width:24ch}
.strip-msg p{margin:0}
.strip-msg .btn-row{justify-content:center;margin-top:var(--sp-1)}
