html { scroll-behavior: smooth; }
.crochet-footer { padding:52px 24px 30px; text-align:center; background:radial-gradient(ellipse at 50% 0%,#52643D60,transparent 75%),#123D34; border-top:1px solid #C6AB7055; color:#FCF8EE; }
.crochet-footer-inner { max-width:620px; margin:auto; }
.crochet-footer-kicker { color:#D9C392; font-size:9px; font-weight:800; letter-spacing:.2em; }
.crochet-footer-brand { margin-top:18px; font:700 clamp(23px,3vw,30px)/1.2 Fraunces,serif; }
.crochet-footer-brand span { color:#E3C580; }
.crochet-footer-tagline { margin-top:14px; color:#E7EBDF; font-size:14px; }
.crochet-footer-divider { display:flex; align-items:center; gap:16px; max-width:230px; margin:26px auto; color:#D9C392; font-size:16px; }
.crochet-footer-divider::before,.crochet-footer-divider::after { content:''; flex:1; height:1px; background:#D9C39240; }
.crochet-footer-description { margin:auto; max-width:420px; color:#E7EBDF; font-size:14px; line-height:1.65; }
.crochet-footer-note { margin:24px auto 0; max-width:480px; font-size:11px; line-height:1.7; color:#BACCC1; }
.crochet-footer-copyright { margin-top:25px; padding-top:20px; border-top:1px solid #D9C39225; font-size:10px; line-height:1.7; color:#BACCC1; }
.premium-bonuses { position:relative; isolation:isolate; overflow:hidden; background:radial-gradient(ellipse at 8% 0%,#50644388,transparent 48%),radial-gradient(ellipse at 100% 85%,#65744544,transparent 45%),#123D34; border-top:1px solid #CDB78266; border-bottom:1px solid #CDB78266; }
.premium-bonuses::before { content:''; position:absolute; z-index:-1; pointer-events:none; width:600px; height:600px; top:-360px; right:-180px; border:1px solid #D8BD7D26; border-radius:50%; box-shadow:0 0 0 45px #D8BD7D08,0 0 0 90px #D8BD7D06; }
.premium-bonuses-heading .eyebrow { color:#EBD49B; background:#EBD49B0C; border-color:#EBD49B55; padding:9px 18px; }
.premium-bonuses-heading h2 { color:#FFF9ED; }
.premium-bonuses-heading h2 span { color:#E3C580; }
.premium-bonuses-heading>p { color:#D0DDD2; }
.premium-bonuses .panel { position:relative; background:linear-gradient(145deg,#FFFDF6,#F5EDDA); border:1px solid #DDC796; border-radius:24px; padding:20px; box-shadow:0 18px 40px #041D2438,inset 0 1px 0 #FFFFFF; }
.premium-bonuses .panel:hover { transform:translateY(-4px); box-shadow:0 23px 45px #041D2455; }
.premium-bonuses .panel img { width:80%; max-width:300px; filter:drop-shadow(0 18px 18px #5A482322); }
.premium-bonuses .panel .text-accent { color:#956B24; letter-spacing:.18em; border-top:1px solid #D8C6A2; padding-top:10px; margin-top:10px; }
.premium-bonuses .panel h3 { color:#123D34; font-size:23px; }
@media(max-width:639px) { .premium-bonuses .panel { padding:14px 20px; border-radius:20px; } .premium-bonuses .panel h3 { font-size:21px; } }
.inspiration-carousel { overflow:hidden; padding:60px 0 42px; text-align:center; background:#FCF8EE; }
.inspiration-heading { max-width:720px; margin:0 auto 32px; padding:0 22px; }
.inspiration-heading h2 { margin:18px 0 12px; color:#0F3F39; font-size:clamp(29px,4vw,42px); line-height:1.15; }
.inspiration-heading h2 span { color:#B45E12; }
.inspiration-heading p { color:#000000; font-size:15px; }
.inspiration-window { max-width:1280px; margin:auto; overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); }
.inspiration-track { display:flex; width:max-content; animation:inspiration-slide 48s linear infinite; }
.inspiration-group { display:flex; gap:22px; padding:10px 22px 24px 0; }
.inspiration-card { flex:0 0 290px; width:290px; overflow:hidden; border:1px solid #E3DBC6; border-radius:20px; background:#F7F1E3; box-shadow:0 8px 20px #493C1910; text-align:left; }
.inspiration-card img { display:block; width:100%; height:290px; object-fit:cover; }
.inspiration-card>div { padding:21px 20px 25px; }
.inspiration-card span { color:#B45E12; font-size:9px; letter-spacing:.14em; font-weight:800; }
.inspiration-card h3 { margin:9px 0; color:#14524A; font-size:22px; line-height:1.2; }
.inspiration-card p { color:#5C6663; font-size:14px; line-height:1.6; }
.inspiration-toggle { margin-top:12px; padding:9px 17px; border:1px solid #52643D50; border-radius:30px; font-size:12px; font-weight:700; color:#52643D; background:transparent; cursor:pointer; }
.inspiration-carousel.is-paused .inspiration-track,.inspiration-window:hover .inspiration-track { animation-play-state:paused; }
@keyframes inspiration-slide { to { transform:translateX(-50%); } }
@media(max-width:540px) { .inspiration-card { flex-basis:260px; width:260px; } .inspiration-card img { height:260px; } .inspiration-group { gap:16px; padding-right:16px; } }
@media(prefers-reduced-motion:reduce) { .inspiration-window { overflow-x:auto; mask-image:none; } .inspiration-group[aria-hidden] { display:none; } .inspiration-toggle { display:none; } }
.offer-today-bar { padding:15px 12px; }
.offer-today-bar p { font-size:12px; line-height:1.5; letter-spacing:.12em; }
.offer-today-bar time { white-space:nowrap; font-variant-numeric:tabular-nums; }
@media(min-width:640px) { .offer-today-bar { padding:17px 16px; } .offer-today-bar p { font-size:13px; } }
.hero-recipe-highlight { color:#B45E12; font-weight:700; }
.hero-image-description { color:#000; width:100%; max-width:34rem; margin:0 auto; text-align:center; font-size:1rem; line-height:1.65; }
@media(min-width:640px) { .hero-image-description { font-size:1.125rem; } }
:root {
  --background:#F7F1E3; --foreground:#2C3634;
  --card:#FCF8EE; --card-foreground:#2C3634;
  --muted:#EFE7D3; --muted-foreground:#5C6663;
  --border:#E3DBC6; --surface:#FCF8EE; --surface-2:#EFE7D3;
  --sand:#EFE7D3; --line:#E3DBC6;
  --primary:#14524A; --primary-foreground:#FFF; --primary-dark:#0F3F39; --primary-light:#246A5F;
  --accent:#B45E12; --accent-foreground:#FFF; --coral:#B3382C; --gold:#E0A61B;
  --text-dim:#5C6663; --text-mute:#6C756F;
  --shadow-soft:0 8px 24px #14524A0D; --shadow-card:0 18px 44px #14524A14;
  --shadow-cta:0 8px 20px #4C8B2B40; --shadow-glow:0 0 0 6px #14524A0F;
  --gradient-hero:radial-gradient(ellipse 85% 60% at 50% -8%,#F3D48826 0%,transparent 68%),linear-gradient(180deg,#FCF8EE 0%,#F7F1E3 100%);
  --gradient-section:linear-gradient(180deg,#F7F1E3 0%,#EFE7D3 100%);
  --gradient-footer:linear-gradient(180deg,#14524A 0%,#0F3F39 100%);
}
body { background:var(--background); }
h1,h2,h3 { color:var(--primary-dark); }
header > div:first-child { background:#B3382C; border-color:#B3382C; }
.eyebrow { color:#B45E12; }
.btn-cta { background:#4C8B2B; color:#FFF; box-shadow:var(--shadow-cta); }
.btn-cta:hover { background:#3B6D11; }


#planos .bg-primary { background:#F3D488; color:#0F3F39; }
footer { color:#FCF8EE; border-color:#246A5F; }
footer .text-muted-foreground,footer .text-text-mute { color:#CFDED5; }
footer a { background:#FCF8EE; color:#0F3F39; }
header img { filter:drop-shadow(0 18px 28px #14524A18); }
.collection-showcase { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:40px auto 0; max-width:820px; }
.collection-card { height:100%; overflow:hidden; padding:10px; border:1px solid #E3DBC6; border-radius:19px; background:#FCF8EE; }
.collection-card-art { display:flex; align-items:center; justify-content:center; height:225px; overflow:hidden; border-radius:12px; background:#F5EFDF; }
.collection-book { position:relative; display:flex; flex-direction:column; width:132px; height:188px; padding:12px 10px 9px 14px; background:linear-gradient(90deg,#DBD0B6 0,#FFF7E5 8%,#F8EDD5 100%); border:1px solid #D6C8AA; box-shadow:5px 2px 0 #E4DCCB,8px 3px 0 #B9B4A4,10px 12px 14px #443B2425; transform:perspective(650px) rotateY(-9deg) rotateZ(-2deg); }
.collection-book::before { content:''; position:absolute; inset:0 auto 0 6px; width:1px; background:#B4A78665; }
.collection-book-brand { font:800 6px/1.3 Manrope,sans-serif; letter-spacing:.12em; text-align:center; color:#B45E12; }
.collection-book-title { margin:7px 0 6px; font:700 18px/1.03 Fraunces,serif; text-align:center; color:#14524A; }
.collection-book img { display:block; width:100%; min-height:0; flex:1; object-fit:cover; border-radius:3px; }
.collection-book-footer { padding-top:6px; font:700 6px/1.3 Manrope,sans-serif; color:#52643D; text-align:center; }
.collection-card-copy { padding:16px 7px 25px; }
.collection-card-label { display:block; color:#B45E12; font:800 12px/1.4 Manrope,sans-serif; margin-bottom:9px; }
.collection-card h3 { color:#14524A; font:800 20px/1.25 Manrope,sans-serif; }
.collection-card p { margin-top:10px; color:#5C6663; font-size:15px; line-height:1.5; }
@media(max-width:540px) { .collection-showcase { grid-template-columns:1fr; max-width:380px; gap:18px; } .collection-card-art { height:210px; } .collection-card-copy { padding:17px 8px 22px; } }
.hero-kit-art { isolation:isolate; }
.hero-kit-art::before { content:''; position:absolute; inset:-9% -8% -7%; z-index:-1; border-radius:50%; background:radial-gradient(ellipse at 50% 45%,#E4BC6A5C 0%,#EDD7A83D 43%,transparent 73%); filter:blur(18px); pointer-events:none; }
.hero-spark { position:absolute; z-index:1; color:#BC8A3D; text-shadow:0 0 12px #E4BC6A70; pointer-events:none; line-height:1; }
.hero-spark-one { top:-5%; left:4%; font-size:27px; transform:rotate(-12deg); }
.hero-spark-two { top:1%; right:3%; font-size:35px; transform:rotate(12deg); color:#BA8F50; }
.hero-spark-three { bottom:2%; left:-1%; font-size:16px; color:#748254; }
.hero-kit-art::after { content:''; position:absolute; left:12%; right:12%; bottom:-2%; height:15%; z-index:-1; border-radius:50%; background:#14524A1A; filter:blur(20px); pointer-events:none; }
header img[src$="kit-completo-croche-verao.png"] { border-radius:18px; filter:drop-shadow(0 16px 22px #40351E26); }
.hero-access-button { display:inline-flex; align-items:center; justify-content:center; width:273px; max-width:100%; min-height:61px; padding:16px 24px; border-radius:12px; background:#52643D; color:var(--primary-foreground); font-family:Manrope,sans-serif; font-size:18px; font-weight:800; line-height:1.35; text-align:center; text-decoration:none; box-shadow:0 7px 18px #52643D24; transition:background .2s,transform .2s; }
.hero-access-button:hover { background:#455532; transform:translateY(-2px); }
.hero-access-button:active { transform:translateY(0); }
.hero-access-button { animation:olive-button-pulse 2.4s ease-in-out infinite; }
.hero-access-button:hover,.hero-access-button:focus-visible { animation-play-state:paused; }
@keyframes olive-button-pulse {
  0%,100% { transform:scale(1); box-shadow:0 7px 18px #52643D24,0 0 0 0 #52643D26; }
  50% { transform:scale(1.025); box-shadow:0 9px 22px #52643D30,0 0 0 8px #52643D00; }
}
button,a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #bc8e4a; outline-offset: 4px; }
[aria-expanded="false"] + div { grid-template-rows: 0fr; opacity: 0; visibility: hidden; }
[aria-expanded="true"] + div { grid-template-rows: 1fr; opacity: 1; visibility: visible; }
[aria-expanded="true"] svg { transform: rotate(180deg); }
.purchase-dialog { position:fixed; inset:0; z-index:60; display:flex; align-items:center; justify-content:center; padding:24px 16px; background:#0F3F398C; backdrop-filter:blur(4px); }
.purchase-dialog[hidden] { display:none; }
.purchase-card { position:relative; max-height:100%; overflow-y:auto; width:100%; max-width:448px; padding:32px; text-align:center; border:2px solid var(--primary); border-radius:20px; background:var(--card,#fffdf8); box-shadow:0 20px 60px #123f3230; }
.purchase-close { position:absolute; right:12px; top:12px; width:36px; height:36px; border-radius:50%; border:1px solid #d8dcd5; background:#fff; font-size:24px; }
.purchase-card h3 { font-size:28px; line-height:1.2; margin:16px 0 8px; }
.purchase-card p { font-size:14px; }
.purchase-card ul { text-align:left; margin:20px 0; display:grid; gap:10px; font-size:14px; }
.purchase-card li::before { content:'✓'; color:var(--primary); margin-right:8px; font-weight:800; }
.purchase-card .countdown { display:inline-block; margin-top:20px; border-radius:40px; background:#F3D488; color:#0F3F39; padding:8px 16px; font-size:12px; font-weight:800; }
.purchase-card .decline { display:block; margin:12px 0; font-size:12px; text-decoration:underline; }
.purchase-card small { font-size:11px; }
body.modal-open { overflow:hidden; }
@media(max-width:767px) { .purchase-card { padding:28px 24px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }

.collection-card-art > .collection-custom-art { display:block; width:100%; height:100%; object-fit:contain; padding:5px; }

/* Plans: the same Fraunces, Manrope, forest green, olive and warm gold as the site. */
.crochet-plans { padding:80px 20px 60px; background:radial-gradient(ellipse at 50% 12%,#e3c58026,transparent 58%),#f7f1e3; scroll-margin-top:20px; }
.plans-inner { max-width:1000px; margin:auto; }
.plans-heading { text-align:center; max-width:700px; margin:auto; }
.plans-heading h2 { margin:22px 0 16px; font:700 clamp(32px,4vw,48px)/1.12 Fraunces,serif; color:#123d34; letter-spacing:-.025em; }
.plans-heading h2 em { color:#6b7547; font-weight:400; }
.plans-heading>p { font:400 15px/1.7 Manrope,sans-serif; color:#5c6663; }
.plans-details { display:flex; flex-wrap:wrap; justify-content:center; gap:9px 20px; margin-top:23px; font:600 11px/1.5 Manrope,sans-serif; color:#52643d; }
.plans-details span::before { content:'✦'; color:#a98036; margin-right:7px; }
.offers-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:28px; margin-top:52px; }
.offer-card { position:relative; min-width:0; padding:32px; border:1px solid #dacbad; border-radius:26px; background:linear-gradient(145deg,#fffdf6,#f7efdd); box-shadow:0 14px 40px #453b2010,inset 0 1px 0 #fff; text-align:center; font-family:Manrope,sans-serif; color:#123d34; }
.offer-card::before { content:''; display:block; width:44px; height:3px; margin:0 auto 22px; background:#c4a66c; border-radius:10px; }
.offer-kicker { font:800 9px/1.6 Manrope,sans-serif; text-transform:uppercase; letter-spacing:.16em; color:#82652e; }
.offer-heading h3 { margin:9px 0 10px; font:700 clamp(27px,3vw,33px)/1.12 Fraunces,serif; letter-spacing:-.025em; }
.offer-heading p { font-size:13px; line-height:1.65; color:#657066; }
.offer-art { display:flex; align-items:center; justify-content:center; height:230px; margin:20px -8px 14px; background:radial-gradient(ellipse,#d9c08735,transparent 68%); }
.offer-art img { display:block; width:100%; max-width:320px; height:100%; object-fit:contain; filter:drop-shadow(0 12px 10px #362b201c); }
.offer-price { padding:16px 0 22px; border-top:1px solid #d7c7a455; }
.offer-before { font-size:12px; text-decoration:line-through; color:#788174; }
.offer-value { margin-top:3px; font:700 58px/1.12 Fraunces,serif; letter-spacing:-.045em; font-variant-numeric:lining-nums; }
.offer-value>span { font-size:24px; letter-spacing:-.02em; }
.offer-payment { margin-top:9px; font-size:10px; letter-spacing:.05em; color:#66705e; }
.offer-button { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; min-height:56px; padding:16px 14px; border:1px solid #52643d; border-radius:14px; background:linear-gradient(135deg,#657747,#4d603b); color:#fffdf5; font:800 13px/1.4 Manrope,sans-serif; text-decoration:none; box-shadow:0 8px 18px #52643d26; cursor:pointer; transition:transform .2s,box-shadow .2s; }
.offer-button:hover { transform:translateY(-2px); box-shadow:0 12px 22px #52643d38; }
.offer-button>span { font-size:21px; font-weight:400; }
.offer-benefits { display:grid; gap:13px; list-style:none; margin:25px 0 0; padding:0; text-align:left; font-size:13px; line-height:1.6; }
.offer-benefits li { display:flex; align-items:flex-start; gap:10px; }
.offer-benefits li>span { flex:0 0 20px; display:grid; place-items:center; width:20px; height:20px; margin-top:1px; border-radius:50%; background:#52643d15; color:#52643d; font-size:12px; }
.offer-note { margin-top:18px; font-size:11px; color:#777d6c; text-align:left; }
.offer-complete { background:radial-gradient(ellipse at 0 0,#62734866,transparent 60%),#123d34; border:1px solid #bca16c; color:#fff8e9; box-shadow:0 20px 48px #123d3429; }
.offer-ribbon { position:absolute; top:-15px; left:50%; transform:translateX(-50%); padding:9px 20px; border-radius:30px; background:#e4c888; color:#364829; font:800 10px/1.2 Manrope,sans-serif; text-transform:uppercase; letter-spacing:.12em; white-space:nowrap; }
.offer-complete .offer-kicker { color:#dfc58e; }
.offer-complete .offer-heading p,.offer-complete .offer-payment { color:#cedac6; }
.offer-complete .offer-price { border-color:#ddc79633; }
.offer-complete .offer-before { color:#b3c3af; }
.offer-complete .offer-value { color:#f1d698; }
.offer-complete .offer-art { background:radial-gradient(ellipse,#d9c08725,transparent 70%); }
.offer-complete .offer-button { color:#183c2b; border-color:#e5c982; background:linear-gradient(135deg,#f1dfb0,#d5b571); box-shadow:0 8px 20px #041d2440; }
.offer-complete .offer-benefits li>span { background:#dfc58e20; color:#e9cf91; }
.offer-extras { margin-top:24px; padding:20px; border:1px solid #ddc79638; border-radius:15px; background:#ffffff05; text-align:left; }
.offer-extras .offer-benefits { margin-top:14px; gap:10px; font-size:12px; }
.offer-saving { margin-top:20px; color:#dedcc2; font-size:12px; line-height:1.7; }
.offer-saving strong { color:#f1d698; }
.plans-footnote { margin:30px auto 0; max-width:560px; text-align:center; color:#747d6e; font-size:11px; line-height:1.8; }
#plano-completo { scroll-margin-top:30px; }
@media(max-width:767px) { .crochet-plans { padding:60px 18px 42px; } .offers-grid { grid-template-columns:1fr; max-width:440px; margin:40px auto 0; gap:38px; } .offer-card { padding:28px 25px; border-radius:23px; } .offer-art { height:220px; } .offer-heading h3 { font-size:30px; } .plans-details { gap:8px 14px; font-size:10px; } }
@media(prefers-reduced-motion:reduce) { .offer-button { transition:none; } .offer-button:hover { transform:none; } }

/* More light and contrast in the plan artwork, headings and included items. */
.offer-basic .offer-art { position:relative; isolation:isolate; border:0; background:radial-gradient(ellipse at 50% 50%,#eed9a522,transparent 68%); box-shadow:none; }


.offer-basic .offer-art img { padding:4px; filter:drop-shadow(0 7px 7px #66512e20); }
.offer-complete { border:2px solid #d7b66b; background:radial-gradient(ellipse at 0 0,#a6a65c40,transparent 65%),linear-gradient(145deg,#315d47,#1e4b3e 55%,#285442); box-shadow:0 18px 42px #123d3426,0 0 0 4px #d7b66b20,inset 0 0 0 5px #e5c98312; }
.offer-complete::before { background:#f2d28a; box-shadow:0 0 16px #e5c98365; }
.offer-complete .offer-heading h3 { color:#fff4d5; text-shadow:0 2px 12px #102f2f40; }
.offer-complete .offer-heading p,.offer-complete .offer-payment { color:#e6eddd; }
.offer-complete .offer-kicker { color:#f0d594; }
.offer-complete .offer-extras { border-color:#e4c88880; background:#f4e1a90b; }
.offer-benefits li { align-items:flex-start; }
.offer-benefits li>span { flex:0 0 24px; width:24px; height:24px; margin-top:0; background:#52643d; color:#fffbea; border:1px solid #6b7d4e; box-shadow:0 3px 6px #52643d20; font-size:15px; font-weight:800; }
.offer-complete .offer-benefits li>span { background:linear-gradient(145deg,#f2dfa6,#d4ad60); color:#22432e; border:1px solid #f4dda0; box-shadow:0 3px 7px #102f2f28; }
.offer-discount-row { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px; }
.offer-discount { display:inline-block; padding:5px 9px; border-radius:7px; background:#52643d; color:#fffbed; font:800 10px/1.2 Manrope,sans-serif; letter-spacing:.035em; }
.offer-economy { margin:10px 0 8px; font:500 12px/1.5 Manrope,sans-serif; color:#52643d; }
.offer-economy strong { font-weight:800; }
.offer-complete .offer-discount { background:#edcf8b; color:#24452e; }
.offer-complete .offer-before { color:#d4dfca; }
.offer-complete .offer-economy { color:#f2dda9; }

/* Library cards follow the bonus card dimensions. */
.collection-showcase { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; max-width:1152px; }
.collection-card { padding:20px; border-radius:24px; min-height:var(--bonus-card-height,0px); }
.collection-card-art { width:80%; max-width:300px; height:auto; aspect-ratio:1; margin-inline:auto; background:transparent; }
.collection-card-art > .collection-custom-art { padding:0; }
.collection-card-copy { padding:0; }
.collection-card-label { border-top:1px solid #D8C6A2; padding-top:10px; margin-top:10px; margin-bottom:8px; }
.collection-card h3 { font-size:23px; }
.collection-card p { margin-top:12px; font-size:14px; line-height:1.625; }
@media(max-width:639px) {
  .collection-showcase { grid-template-columns:1fr; max-width:none; }
  .collection-card { padding:14px 20px; border-radius:20px; }
  .collection-card h3 { font-size:21px; }
}
/* Module titles and descriptions. */
.collection-card-label { font:800 10px/1.5 Manrope,sans-serif; letter-spacing:.18em; color:#956B24; margin-bottom:10px; }
.collection-card h3 { font:600 25px/1.2 Fraunces,Georgia,serif; letter-spacing:-.025em; color:#123D34; }
.collection-card p { font:400 14px/1.65 Manrope,sans-serif; color:#5C6663; margin-top:12px; }
@media(max-width:639px) { .collection-card h3 { font-size:23px; } }
/* Previous prices and savings in both offers. */
.offer-before { text-decoration:line-through; text-decoration-thickness:2px; }
.offer-economy { color:#B42318; }
.offer-complete .offer-economy { color:#FF6B6B; font-size:14px; font-weight:800; }