/* Começa em Casa · landing page
   Paper, ink and oxblood from the carousel; handwritten display, Garamond body, Caveat for the personal touches. */
:root{
  --paper:#f4e8ce; --paper-2:#efe0c0; --card:#fbf4e4; --ink:#2b2722; --muted:#5f5446; --red:#8a2a1f; --red-dark:#6f2018;
  --olive:#55603a; --rule:rgba(43,39,34,.16);
  --hand:"Patrick Hand SC","Comic Sans MS",cursive; --serif:"EB Garamond",Georgia,"Times New Roman",serif; --script:"Caveat","Segoe Script",cursive;
  --wrap:1040px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background-color:var(--paper);color:var(--ink);font:400 19px/1.55 var(--serif);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .45 0 0 0 0 .33 0 0 0 0 .18 0 0 0 .07 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
img{max-width:100%;height:auto;display:block}
a{color:var(--red)}
:focus-visible{outline:3px solid var(--olive);outline-offset:3px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
section{padding-block:56px}
.eyebrow{font:400 15px/1 var(--hand);letter-spacing:.16em;color:var(--red);margin:0 0 14px}
h1,h2,h3{font-family:var(--hand);font-weight:400;line-height:1.05;margin:0;-webkit-text-stroke:.4px currentColor;text-wrap:balance}
h1{font-size:clamp(40px,8.4vw,66px)}
h2{font-size:clamp(32px,6vw,46px);margin-bottom:18px}
h3{font-size:24px}
p{margin:0 0 14px}
.lead{font-size:21px;color:var(--ink);max-width:34em}

/* buttons */
.buy{appearance:none;border:0;cursor:pointer;font:400 23px/1 var(--hand);letter-spacing:.06em;color:#fff;background:var(--red);
  padding:20px 28px;border-radius:12px;box-shadow:0 3px 0 var(--red-dark),0 10px 24px rgba(138,42,31,.22);min-height:60px;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;width:100%;max-width:420px}
.buy:hover{background:#962f23}
.buy:active{transform:translateY(2px);box-shadow:0 1px 0 var(--red-dark),0 6px 16px rgba(138,42,31,.2)}
.buy[aria-busy="true"]{opacity:.75;cursor:progress}
.buy-note{font:400 16px/1.4 var(--serif);color:var(--muted);margin:12px 0 0}
.buy-error{font:500 16px/1.4 var(--serif);color:var(--red);margin:10px 0 0;min-height:1.4em}

/* hero */
.hero{padding-block:36px 48px}
.hero .grid{display:grid;gap:34px;align-items:center}
.hero h1{margin-bottom:18px}
.mock{margin:0 auto;max-width:300px;transform:rotate(-2.5deg);box-shadow:12px 18px 34px rgba(70,45,20,.32);border:1px solid rgba(60,40,20,.18);position:relative}
.mock::before{content:"";position:absolute;inset:0 auto 0 0;width:7%;background:linear-gradient(90deg,rgba(60,40,20,.28),rgba(60,40,20,0))}
@media (min-width:860px){
  .hero{padding-block:64px 72px}
  .hero .grid{grid-template-columns:1.25fr .9fr;gap:56px}
  .mock{max-width:340px}
}

/* truth strip */
.truth{background:var(--paper-2)}
.truth h2 span{display:block}
.truth h2 span + span{color:var(--red)}
.strip{display:grid;grid-auto-flow:column;grid-auto-columns:78%;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;margin-top:22px;
  margin-left:calc(-1 * max(20px,env(safe-area-inset-left,0px)));margin-right:calc(-1 * max(20px,env(safe-area-inset-right,0px)));
  padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.strip figure{margin:0;scroll-snap-align:start}
.strip img{border-radius:4px;box-shadow:0 6px 18px rgba(60,40,20,.18)}
.strip figcaption{font:italic 400 17px/1.35 var(--serif);color:var(--muted);margin-top:10px}
@media (min-width:860px){.strip{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);overflow:visible;margin-left:0;margin-right:0;padding-left:0;padding-right:0}}

/* the 7 days */
ol.days{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:d}
ol.days li{display:grid;grid-template-columns:54px 1fr;gap:4px 14px;padding:16px 0;border-top:1px solid var(--rule);counter-increment:d}
ol.days li:last-child{border-bottom:1px solid var(--rule)}
ol.days li::before{content:counter(d);grid-row:span 2;font:400 38px/1 var(--hand);color:var(--red)}
ol.days b{font:400 23px/1.15 var(--hand);letter-spacing:.02em}
ol.days span{color:var(--muted);font-size:18px}
@media (min-width:860px){ol.days{grid-template-columns:1fr 1fr;column-gap:48px} ol.days li:nth-last-child(2){border-bottom:1px solid var(--rule)}}

/* inside a day */
.inside .grid{display:grid;gap:28px}
.pages{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pages img{box-shadow:0 8px 22px rgba(60,40,20,.22);border:1px solid rgba(60,40,20,.14)}
ul.parts{list-style:none;margin:0;padding:0;display:grid;gap:12px}
ul.parts li{padding-left:30px;position:relative}
ul.parts li::before{content:"";position:absolute;left:4px;top:.5em;width:12px;height:12px;border:2px solid var(--olive);border-radius:3px}
ul.parts b{font-weight:600}
@media (min-width:860px){.inside .grid{grid-template-columns:1fr 1fr;align-items:center;gap:56px}}

/* letter */
.letter blockquote{margin:0;max-width:36em;font-size:21px;line-height:1.6}
.letter .sign{font:700 38px/1 var(--script);margin-top:16px}

/* for whom */
ul.who{margin:0;padding:0;list-style:none;display:grid;gap:14px;max-width:38em}
ul.who li{padding-left:34px;position:relative}
ul.who li::before{content:"✓";position:absolute;left:0;top:-2px;font:400 26px/1 var(--hand);color:var(--olive)}

/* offer */
.offer .card{background:var(--card);border:1.5px solid var(--ink);border-radius:18px;padding:28px 22px;display:grid;gap:22px;max-width:720px;margin:0 auto;box-shadow:0 14px 40px rgba(60,40,20,.12)}
.offer .top{display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:center}
.offer .top img{box-shadow:6px 8px 16px rgba(60,40,20,.25);transform:rotate(-2deg)}
.price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.price .v{font:400 64px/1 var(--hand);color:var(--red);-webkit-text-stroke:.6px var(--red)}
.price .u{font:italic 400 18px/1.2 var(--serif);color:var(--muted)}
ul.incl{list-style:none;margin:0;padding:0;display:grid;gap:10px}
ul.incl li{padding-left:30px;position:relative}
ul.incl li::before{content:"✓";position:absolute;left:2px;top:-2px;font:400 24px/1 var(--hand);color:var(--olive)}
.guarantee{border-top:1px dashed var(--ink);padding-top:16px;font-size:17px;color:var(--muted)}
.guarantee b{color:var(--ink);font-weight:600}
.secure{font-size:15px;color:var(--muted);margin:10px 0 0}

/* faq */
.faq details{border-top:1px solid var(--rule);padding:4px 0}
.faq details:last-of-type{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;font:600 19px/1.35 var(--serif);padding:14px 34px 14px 0;position:relative;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:8px;font:400 28px/1 var(--hand);color:var(--red)}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--muted);margin:0 0 16px}

/* footer */
footer{padding-block:36px 110px;border-top:1px solid var(--rule);font-size:16px;color:var(--muted)}
footer .row{display:flex;flex-wrap:wrap;gap:8px 20px}
@media (min-width:860px){footer{padding-bottom:40px}}

/* sticky bar on phones */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:20;background:rgba(251,244,228,.97);border-top:1px solid var(--rule);
  padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));
  display:flex;align-items:center;gap:12px;justify-content:space-between;transform:translateY(110%);transition:transform .25s ease}
.sticky.show{transform:none}
.sticky .t{font:400 19px/1.1 var(--hand);letter-spacing:.03em}
.sticky .t small{display:block;font:italic 400 15px/1.2 var(--serif);color:var(--muted);letter-spacing:0}
.sticky .buy{width:auto;font-size:19px;padding:14px 18px;min-height:48px}
@media (min-width:860px){.sticky{display:none}}
@media (prefers-reduced-motion:reduce){.sticky{transition:none}}

/* simple pages */
.simple{max-width:720px;margin:0 auto;padding-block:48px 64px}
.simple h1{font-size:clamp(36px,7vw,54px);margin-bottom:18px}
.simple h2{font-size:28px;margin:28px 0 10px}
.simple ol,.simple ul{padding-left:1.2em}
.simple li{margin-bottom:8px}
.box{background:var(--card);border:1.5px solid var(--ink);border-radius:14px;padding:20px 22px;margin:22px 0}
