/* FTB Home — Ghost theme styles. Source of truth: reference/homepage.html */
@font-face{font-family:"Solea";src:url(../fonts/solea.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Causten Round";src:url(../fonts/cr-regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Causten Round";src:url(../fonts/cr-regular-i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Causten Round";src:url(../fonts/cr-medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Causten Round";src:url(../fonts/cr-semibold.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Causten Round";src:url(../fonts/cr-bold.woff2) format("woff2");font-weight:700;font-display:swap}

:root{
  --cal:#F6F3EC; --tinta:#0E2650; --rosa:#1D4E9E; --mostarda:#E6B94A; --hortela:#D5E1F2; --telha:#B05030;
  --rosa-deep:#163F82; --cal-2:#ECE7DC; --muted:#4F586B;
  --display:"Solea", Georgia, serif;
  --sans:"Causten Round", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cal);color:var(--tinta);font-family:var(--sans);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
h1,h2,h3.d,.d{font-family:var(--display);font-weight:400;letter-spacing:-.01em;line-height:1;margin:0;font-feature-settings:"liga" 1,"dlig" 0}
h1{font-size:clamp(46px,8.5vw,112px)}
h2{font-size:clamp(36px,5.5vw,68px)}
.kicker{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--telha)}
.kicker.m{color:var(--tinta);opacity:.6}
p{margin:0 0 14px}
.lede{font-size:clamp(18px,2vw,22px);line-height:1.45;max-width:36ch}
.btn{display:inline-block;background:var(--telha);color:var(--cal);font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase;padding:16px 24px;border-radius:6px;transition:transform .15s,background .15s}
.btn:hover{background:#9a3d21;transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--tinta);border:1.5px solid var(--tinta)}
.btn.ghost:hover{background:var(--tinta);color:var(--cal)}
.btn.light{background:var(--cal);color:var(--tinta)}
.btn.light:hover{background:#fff}
.u{background:linear-gradient(transparent 62%,var(--mostarda) 62%,var(--mostarda) 88%,transparent 88%);padding:0 .06em}
.hl{color:var(--telha)}

/* nav */
header{position:sticky;top:0;z-index:20;background:rgba(244,238,228,.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(31,27,23,.08)}
nav{display:flex;align-items:center;justify-content:space-between;height:72px}
.wm{font-family:var(--display);font-size:30px;line-height:1;display:flex;flex-direction:column}
.wm small{font-family:var(--sans);font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--telha);margin-top:4px}
nav ul{display:none;list-style:none;margin:0;padding:0;gap:30px;align-items:center}
nav.open ul{display:flex;flex-direction:column;align-items:flex-start;gap:18px;position:absolute;left:0;right:0;top:72px;background:var(--cal);padding:24px 20px 28px;border-bottom:1px solid rgba(31,27,23,.1)}
nav{position:relative}
nav li a{font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:6px 0;border-bottom:2px solid transparent}
nav li a:hover{border-color:var(--mostarda)}
nav .btn{padding:12px 18px}
.burger{display:block;width:40px;height:40px;border:0;background:none;position:relative;cursor:pointer}
.burger:before,.burger:after{content:"";position:absolute;left:8px;right:8px;height:2px;background:var(--tinta)}
.burger:before{top:14px} .burger:after{top:24px}
@media(min-width:900px){nav ul{display:flex} .burger{display:none}}

/* hero */
.hero{background:var(--rosa);color:var(--tinta);position:relative;overflow:hidden}
.hero .wrap{display:grid;gap:36px;padding-top:72px;padding-bottom:84px;position:relative}
@media(min-width:900px){.hero .wrap{grid-template-columns:1.15fr .85fr;align-items:center;padding-top:88px;padding-bottom:104px}}
.hero h1{max-width:9.5ch;margin:18px 0 24px}
.hero h1 em{font-style:italic;color:var(--cal)}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:24px}
.hero .where{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;opacity:.75;margin-top:22px}
.stamp{width:140px;height:140px;border-radius:50%;background:var(--mostarda);color:var(--tinta);display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--display);font-size:24px;line-height:1;padding:18px;transform:rotate(-9deg);justify-self:end;box-shadow:0 14px 40px rgba(31,27,23,.12)}
@media(max-width:899px){.stamp{width:120px;height:120px;font-size:20px;justify-self:start}}

.hero .art{position:relative;justify-self:end;width:min(100%,440px)}
.hero .shelf{width:100%;height:auto;display:block;filter:drop-shadow(0 20px 40px rgba(14,38,80,.25))}
.hero .art .stamp{position:absolute;right:-44px;bottom:-40px;transform:rotate(-9deg)}
@media(max-width:899px){.hero .art{width:min(100%,360px);justify-self:start;margin-top:8px}.hero .art .stamp{left:auto;right:-10px;bottom:-26px;width:110px;height:110px;font-size:18px}}


/* proof band */
.proof{background:var(--tinta);color:var(--cal);padding:72px 0}
.proof .q{font-family:var(--display);font-size:clamp(34px,5.2vw,66px);line-height:1.02;max-width:20ch;margin:16px 0 22px}
.proof .q b{font-weight:400;color:var(--rosa)}
.proof .who{font-size:14px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--mostarda)}


/* for */
.for{padding:96px 0;background:var(--cal)}
.for-head{text-align:center;max-width:760px;margin:0 auto 44px}
.for-head h2{margin:14px 0 18px}
.for-head h2 em{font-style:italic;color:var(--telha)}
.for-head .lede{margin:0 auto;max-width:52ch}
.signs{display:grid;gap:14px}
@media(min-width:760px){.signs{grid-template-columns:1fr 1fr}}
.sign{background:var(--hortela);border-radius:14px;padding:26px 26px 26px 64px;position:relative;font-size:18px;line-height:1.4}
.sign .mark{position:absolute;left:26px;top:31px;width:18px;height:18px;border-radius:4px;background:var(--mostarda);transform:rotate(45deg)}
.sign b{display:block;font-weight:600;font-size:20px;margin-bottom:4px}
.sign span:last-child{color:var(--muted)}
.for-foot{text-align:center;margin:32px 0 0;font-size:16px;color:var(--muted)}
.for-foot a{font-weight:600;color:var(--tinta);border-bottom:2px solid var(--mostarda)}
/* services */
.services{background:var(--cal-2);padding:96px 0}
.services .head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:40px}
.cards{display:grid;gap:18px}
@media(min-width:900px){.cards{grid-template-columns:1.2fr 1fr 1fr}}
.card{border-radius:14px;padding:32px 28px;display:flex;flex-direction:column;min-height:420px}
.card .d{font-size:clamp(32px,3.2vw,44px);margin:14px 0 14px}
.card p{font-size:16px;margin-bottom:18px}
.card .meta{font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;opacity:.75}
.card .foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.card a.more{font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;border-bottom:2px solid currentColor;padding-bottom:2px}
.card.lead{background:var(--tinta);color:var(--cal)}
.card.lead .kicker{color:var(--mostarda)}
.card.sprint{background:var(--mostarda);color:var(--tinta)}
.card.sprint .kicker{color:var(--tinta)}
.card.date{background:var(--hortela);color:var(--tinta)}
.card.date .kicker{color:var(--telha)}
.abroad{margin-top:22px;font-size:15px;color:var(--muted)}
.abroad a{font-weight:600;color:var(--tinta);border-bottom:2px solid var(--mostarda)}

/* gets */
.gets{padding:96px 0;background:var(--rosa)}
.gets .wrap{display:grid;gap:36px}
@media(min-width:900px){.gets .wrap{grid-template-columns:.8fr 1.2fr;align-items:start}}
.gets h2{margin:14px 0 0;position:sticky;top:96px}
.gets ol{list-style:none;margin:0;padding:0;counter-reset:g}
.gets li{counter-increment:g;display:grid;grid-template-columns:56px 1fr;gap:14px;padding:18px 0;border-top:1px solid rgba(31,27,23,.18);font-size:19px;line-height:1.35}
.gets li:before{content:counter(g,decimal-leading-zero);font-family:var(--display);font-size:30px;line-height:1;color:var(--telha)}
.gets .punch{margin-top:26px;font-family:var(--display);font-size:clamp(26px,3vw,36px);line-height:1.05}

/* about */
.about{padding:96px 0}
.about .wrap{display:grid;gap:40px}
@media(min-width:900px){.about .wrap{grid-template-columns:.9fr 1.1fr;align-items:center}}
.about .pic{border-radius:16px;overflow:hidden;aspect-ratio:4/5;background:var(--hortela);position:relative}
.about .pic img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.about .pic .tag{position:absolute;left:18px;bottom:18px;background:var(--cal);padding:10px 14px;border-radius:8px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.about h2{margin:14px 0 20px}
.about .facts{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none}
.about .facts li{font-size:13px;font-weight:600;padding:8px 12px;border:1.5px solid var(--tinta);border-radius:999px}
.about .facts li.a{background:var(--mostarda);border-color:var(--mostarda)}

/* press */
.press{border-top:1px solid rgba(31,27,23,.12);border-bottom:1px solid rgba(31,27,23,.12);padding:28px 0}
.press .wrap{display:flex;gap:28px 44px;flex-wrap:wrap;align-items:center;justify-content:center}
.press .k{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.press .lg{font-family:var(--display);font-size:22px;opacity:.75}

/* testimonials */
.tests{padding:96px 0;background:var(--cal-2)}
.tests .grid{display:grid;gap:18px;margin-top:36px}
@media(min-width:900px){.tests .grid{grid-template-columns:1fr 1fr 1fr}}
.t{background:var(--cal);border-radius:14px;padding:30px 26px;display:flex;flex-direction:column;gap:18px}
.t .q{font-family:var(--display);font-size:26px;line-height:1.1}
.t .who{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--telha);margin-top:auto}
.t.pink{background:var(--rosa)}
.t.mint{background:var(--hortela)}


/* blog list */
.blog{padding:96px 0;background:var(--cal)}
.blog .head{display:grid;gap:18px;margin-bottom:28px}
@media(min-width:900px){.blog .head{grid-template-columns:1.3fr .7fr;align-items:end}}
.blog .intro{font-size:16px;color:var(--muted);margin:0;max-width:40ch}
.blog .list{border-top:2px solid var(--tinta)}
.blog .row{display:grid;gap:8px 28px;padding:26px 0;border-bottom:1px solid rgba(14,38,80,.16);transition:background .15s}
@media(min-width:900px){.blog .row{grid-template-columns:200px 1fr;padding:30px 0}}
.blog .row:hover h3{color:var(--rosa)}
.blog .meta{display:flex;gap:14px;align-items:baseline}
@media(min-width:900px){.blog .meta{flex-direction:column;gap:6px}}
.blog .n{font-family:var(--display);font-weight:700;font-size:34px;line-height:1;color:var(--rosa)}
.blog .cat{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--telha)}
.blog .date{font-size:13px;color:var(--muted)}
.blog h3{font-family:var(--display);font-weight:700;font-size:clamp(26px,2.6vw,34px);line-height:1.08;margin:0 0 8px;transition:color .15s}
.blog .body p{font-size:17px;line-height:1.55;color:#2B3650;margin:0 0 12px;max-width:66ch}
.blog .more{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta)}
.blog .foot{margin-top:28px}
.blog .more-posts{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta);border-bottom:2px solid var(--mostarda);padding-bottom:3px;margin:0 0 32px}
.optin{background:var(--hortela);border-radius:14px;padding:28px;display:grid;gap:20px;align-items:center}
@media(min-width:900px){.optin{grid-template-columns:1.1fr .9fr;padding:32px 36px}}
.optin-text p{margin:8px 0 0;font-size:16px;color:var(--tinta);max-width:44ch}
.optin-fields{display:flex;gap:10px;flex-wrap:wrap}
.optin-fields input{flex:1 1 220px;font:inherit;font-size:16px;padding:14px 16px;border:1.5px solid rgba(14,38,80,.25);border-radius:6px;background:#fff;color:var(--tinta)}
.optin-fields input:focus{outline:2px solid var(--telha);border-color:transparent}
.optin-fields .btn{white-space:nowrap;border:0;cursor:pointer;font-family:var(--sans)}
/* quiz / opt-in */
.quiz{background:var(--mostarda);padding:96px 0}
.quiz .wrap{display:grid;gap:36px}
@media(min-width:900px){.quiz .wrap{grid-template-columns:1.1fr .9fr;align-items:center}}
.quiz h2{margin:14px 0 18px}
.quiz form{background:var(--cal);border-radius:14px;padding:28px;display:grid;gap:12px}
.quiz input{font:inherit;font-size:16px;padding:14px 16px;border:1.5px solid rgba(31,27,23,.2);border-radius:6px;background:#fff;color:var(--tinta)}
.quiz input:focus{outline:2px solid var(--telha);border-color:transparent}
.quiz .fine{font-size:12px;color:var(--muted)}

/* footer */
footer{background:var(--tinta);color:var(--cal);padding:72px 0 36px}
/* footer opt-in */
.f-optin{position:relative;overflow:hidden;background:var(--rosa);border-radius:18px;padding:44px 40px;display:grid;gap:28px;margin-bottom:56px}
@media(min-width:900px){.f-optin{grid-template-columns:1.1fr .9fr;align-items:center;padding:52px 56px}}
.f-optin .big{margin:0 0 18px}
.f-kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--mostarda);margin-bottom:8px}
.f-optin-left p{margin:0;font-size:16px;color:var(--cal);max-width:42ch;opacity:.92}
.f-form{display:grid;gap:10px;position:relative;z-index:1}
.f-form label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--cal);opacity:.8}
.f-row{display:flex;gap:0;background:var(--cal);border-radius:8px;padding:6px;box-shadow:0 18px 40px rgba(14,38,80,.28)}
.f-row input{flex:1 1 160px;min-width:0;font:inherit;font-size:16px;padding:12px 14px;border:0;background:transparent;color:var(--tinta)}
.f-row input:focus{outline:none}
.f-row:focus-within{outline:2px solid var(--mostarda)}
.f-row button{font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;background:var(--mostarda);color:var(--tinta);border:0;border-radius:6px;padding:12px 18px;cursor:pointer;white-space:nowrap}
.f-row button:hover{background:#F0C65A}
.f-fine{font-size:12px;color:var(--cal);opacity:.7}
.f-mark{position:absolute;right:-30px;bottom:-34px;width:220px;height:220px;opacity:.18;transform:rotate(-8deg);pointer-events:none}
@media(max-width:899px){.f-mark{width:150px;height:150px;right:-30px;bottom:-30px}.f-row{flex-wrap:wrap}.f-row button{flex:1 1 100%}}
.f-tag{font-size:14px;color:rgba(246,243,236,.7);max-width:34ch;margin:16px 0 0}

footer .top{display:grid;gap:36px;padding-bottom:48px;border-bottom:1px solid rgba(244,238,228,.14)}
@media(min-width:900px){footer .top{grid-template-columns:1.4fr 1fr 1fr 1fr}}
footer .wm{color:var(--cal)}
footer .wm small{color:var(--mostarda)}
footer h4{font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin:0 0 14px;color:var(--mostarda)}
footer ul{list-style:none;margin:0;padding:0}
footer li{margin:8px 0;font-size:15px}
footer li a:hover{text-decoration:underline;text-underline-offset:3px}
footer .legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:24px;font-size:12px;color:rgba(244,238,228,.6)}
footer .big{font-family:var(--display);font-size:clamp(40px,6vw,80px);line-height:.95;margin:0 0 18px}
footer .big span{color:var(--rosa)}

/* Azulejo overrides: Cobalto sections need light text */
.hero{color:var(--cal)} .hero .kicker{color:var(--mostarda)} .hero h1 em{color:var(--mostarda)}
.hero .btn.ghost{color:var(--cal);border-color:var(--cal)} .hero .btn.ghost:hover{background:var(--cal);color:var(--tinta)}
.proof .q b{color:var(--mostarda)} .proof .who{color:var(--hortela)}
.gets{color:var(--cal)} .gets .kicker{color:var(--mostarda)} .gets li{border-top-color:rgba(246,243,236,.22)} .gets li:before{color:var(--mostarda)} .gets .u{background:linear-gradient(transparent 62%,var(--mostarda) 62%,var(--mostarda) 88%,transparent 88%);color:var(--tinta)}
.t.pink{color:var(--cal)} .t.pink .who{color:var(--mostarda)}
.post .thumb[style*="--rosa"]{color:var(--cal)}
.card.lead .kicker{color:var(--mostarda)} .card.date .kicker{color:var(--telha)}
footer .big span{color:var(--mostarda)}
.press .lg{color:var(--rosa)}

/* ---- Ghost content cards (minimum required; Claude Code: style the rest of .kg-* in post.hbs work) ---- */
.gh-content{max-width:68ch;margin:0 auto;font-size:18px;line-height:1.6}
.gh-content>*+*{margin-top:1.1em}
.gh-content h2,.gh-content h3{font-family:var(--display);font-weight:400;line-height:1.08;margin-top:1.6em}
.gh-content h2{font-size:clamp(30px,4vw,44px)} .gh-content h3{font-size:clamp(24px,3vw,30px)}
.gh-content a{color:var(--telha);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--mostarda)}
.gh-content blockquote{font-family:var(--display);font-size:clamp(24px,3vw,32px);line-height:1.15;background:var(--hortela);padding:24px 28px;border-radius:12px;margin:1.6em 0}
.kg-width-wide{position:relative;width:min(1180px,calc(100vw - 40px));left:50%;transform:translateX(-50%)}
.kg-width-full{position:relative;width:100vw;left:50%;transform:translateX(-50%)}
.kg-width-wide img,.kg-width-full img{width:100%}
.kg-card figcaption{font-size:13px;color:var(--muted);margin-top:8px}

/* =====================================================================
   Theme additions (everything below is new; nothing above was changed)
   ===================================================================== */

/* accessibility helpers */
.skip{position:absolute;left:-9999px;top:0}
.skip:focus{left:16px;top:16px;z-index:100;background:var(--tinta);color:var(--cal);padding:10px 14px;border-radius:6px;font-weight:600}
a:focus-visible,button:focus-visible{outline:2px solid var(--telha);outline-offset:3px}
[id]{scroll-margin-top:84px}
nav li.nav-current a{border-color:var(--mostarda)}

/* Members form states. Ghost adds .loading / .success / .error to [data-members-form]. */
.form-success,.form-error{display:none}
form.success .form-success,form.error .form-error{display:block}
form.success .form-default{display:none}
form.loading button{opacity:.6;pointer-events:none}
.optin-fields .form-success,.optin-fields .form-error{flex-basis:100%;margin:2px 0 0;font-size:14px;color:var(--tinta)}
.optin.success .optin-fields input,.optin.success .optin-fields .btn{display:none}
.quiz form .form-success{font-size:15px;color:var(--tinta);font-weight:600}

/* blog list: page 2+, newer/older links, archives */
.paged .blog .n{display:none}
.blog .foot .newer{margin-right:28px}
.pagination{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 28px}
.pagination .page-number{font-size:13px;color:var(--muted);margin:0 0 32px}
.archive{padding-top:72px}
.archive-title{font-size:clamp(36px,5.5vw,68px);margin-top:14px}

/* ---------- single post / page ---------- */
/* the reference styles every <header> as the sticky top bar; undo that for article headers */
.post-hero{position:static;z-index:auto;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:0;padding:72px 0 44px}
.post-hero .wrap,.post-body .wrap{max-width:calc(68ch + 40px);font-size:18px}
.post-hero .meta{display:flex;gap:6px 14px;align-items:baseline;flex-wrap:wrap}
.post-hero .cat{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--telha)}
.post-hero .cat:hover{text-decoration:underline;text-decoration-color:var(--mostarda);text-underline-offset:3px}
.post-hero .date{font-size:14px;color:var(--muted)}
.post-hero h1{font-size:clamp(42px,6.4vw,80px);line-height:1.02;margin:18px 0 0;text-wrap:balance}
.page .post-hero h1{margin-top:0}
.post-hero .lede{margin:22px 0 0;max-width:none;color:#2B3650}
.post-feature{margin:0 0 52px}
.post-feature img{width:100%;max-height:760px;object-fit:cover;border-radius:16px}
.post-feature figcaption{font-size:13px;color:var(--muted);margin-top:10px;text-align:center}
.post-body{padding:0 0 88px}
.post-cta{padding:0 0 96px}
.post-cta .wrap{max-width:1000px}

/* post body typography (68ch column, 18px/1.6 Causten Round) */
.gh-content{color:var(--tinta)}
.gh-content>*{margin-top:0;margin-bottom:0}
.gh-content figure,.post-feature{margin-left:0;margin-right:0}
.gh-content img{height:auto}
.gh-content>*+*{margin-top:1.1em}
.gh-content>h2+*,.gh-content>h3+*,.gh-content>h4+*{margin-top:.55em}
.gh-content h4{font-size:20px;font-weight:700;line-height:1.3;margin-top:1.6em}
.gh-content strong,.gh-content b{font-weight:700}
.gh-content a:hover{text-decoration-thickness:3px}
.gh-content ul,.gh-content ol{padding-left:1.3em}
.gh-content li+li{margin-top:.45em}
.gh-content li::marker{color:var(--telha)}
.gh-content ol li::marker{font-weight:600}
.gh-content blockquote{border:0}
.gh-content blockquote p{margin:0}
.gh-content blockquote.kg-blockquote-alt{background:none;padding:0 4%;text-align:center;color:var(--rosa);font-size:clamp(28px,3.8vw,42px);line-height:1.08}
.gh-content hr{border:0;width:14px;height:14px;margin:2.6em auto;background:var(--mostarda);border-radius:3px;transform:rotate(45deg)}
.gh-content code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em;background:var(--cal-2);padding:.12em .38em;border-radius:4px}
.gh-content pre{background:var(--tinta);color:var(--cal);padding:20px 22px;border-radius:12px;overflow-x:auto;font-size:15px;line-height:1.5}
.gh-content pre code{background:none;padding:0;font-size:inherit}
.gh-content table{width:100%;border-collapse:collapse;font-size:16px}
.gh-content th,.gh-content td{text-align:left;padding:10px 12px;border-bottom:1px solid rgba(14,38,80,.16)}
.gh-content th{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--telha)}
.gh-content>figure,.gh-content>.kg-card{margin-top:1.8em}
.gh-content>figure+*,.gh-content>.kg-card+*{margin-top:1.8em}
.gh-content .kg-card figcaption{text-align:center}

/* image + gallery cards */
.gh-content .kg-image-card img{margin:0 auto;border-radius:12px}
.gh-content .kg-image-card.kg-width-full img{border-radius:0}
.gh-content .kg-gallery-image img{border-radius:8px}

/* bookmark card */
.gh-content .kg-bookmark-card a.kg-bookmark-container{background:var(--cal-2);color:var(--tinta);border:0;border-radius:14px;overflow:hidden;font-family:var(--sans);text-decoration:none;box-shadow:none;transition:background .15s}
.gh-content .kg-bookmark-card a.kg-bookmark-container:hover{background:var(--hortela)}
.gh-content .kg-bookmark-card .kg-bookmark-content{padding:22px 24px}
.gh-content .kg-bookmark-card .kg-bookmark-title{font-family:var(--display);font-weight:400;font-size:24px;line-height:1.1;color:var(--tinta)}
.gh-content .kg-bookmark-card .kg-bookmark-description{font-size:15px;line-height:1.45;color:var(--muted);margin-top:8px}
.gh-content .kg-bookmark-card .kg-bookmark-metadata{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--muted);margin-top:14px}
.gh-content .kg-bookmark-card .kg-bookmark-metadata>*{color:inherit;opacity:1}
.gh-content .kg-bookmark-card .kg-bookmark-description,.gh-content .kg-bookmark-card .kg-bookmark-metadata{opacity:1}
.gh-content .kg-bookmark-card .kg-bookmark-thumbnail img{border-radius:0}

/* callout card: Ghost's colour options remapped to the palette */
.gh-content .kg-callout-card{border-radius:14px;padding:22px 26px;font-size:17px;line-height:1.5;background:var(--cal-2);color:var(--tinta)}
.gh-content .kg-callout-card-grey,.gh-content .kg-callout-card-white{background:var(--cal-2);color:var(--tinta)}
.gh-content .kg-callout-card-blue,.gh-content .kg-callout-card-green,.gh-content .kg-callout-card-purple{background:var(--hortela);color:var(--tinta)}
.gh-content .kg-callout-card-yellow,.gh-content .kg-callout-card-pink{background:var(--mostarda);color:var(--tinta)}
.gh-content .kg-callout-card-red{background:var(--tinta);color:var(--cal)}
.gh-content .kg-callout-card-accent{background:var(--rosa);color:var(--cal)}
.gh-content .kg-callout-card-red a,.gh-content .kg-callout-card-accent a{color:var(--cal)}
.gh-content .kg-callout-emoji{font-size:1.2em;line-height:1.3}
.gh-content .kg-callout-text{font-size:inherit;line-height:inherit}

/* buttons inside cards match .btn */
.gh-content .kg-btn,.gh-content .kg-btn-accent,.gh-content .kg-header-card-button,.gh-content .kg-signup-card-button,.gh-content .kg-product-card-button,.gh-content .kg-cta-button{font-family:var(--sans);font-weight:600;font-size:14px;letter-spacing:.08em;text-transform:uppercase;height:auto;padding:16px 24px;border-radius:6px;background:var(--telha);color:var(--cal);text-decoration:none;border:0}
.gh-content .kg-btn:hover,.gh-content .kg-header-card-button:hover,.gh-content .kg-signup-card-button:hover,.gh-content .kg-product-card-button:hover,.gh-content .kg-cta-button:hover{background:#9a3d21;opacity:1}

/* header / signup / product / toggle / file / audio cards */
.gh-content .kg-header-card h2,.gh-content .kg-header-card-header,.gh-content .kg-header-card-heading,.gh-content .kg-signup-card-heading,.gh-content .kg-product-card-title,.gh-content .kg-cta-card h3{font-family:var(--display);font-weight:400;letter-spacing:-.01em}
.gh-content .kg-header-card,.gh-content .kg-signup-card{border-radius:16px;overflow:hidden}
.gh-content .kg-product-card-container,.gh-content .kg-toggle-card,.gh-content .kg-file-card-container,.gh-content .kg-audio-card,.gh-content .kg-cta-card{border-radius:14px}
.gh-content .kg-toggle-card{background:var(--cal-2);box-shadow:none;padding:20px 24px}
.gh-content .kg-toggle-heading-text{font-family:var(--sans);font-size:18px;font-weight:600}
.gh-content .kg-toggle-content{font-size:17px;line-height:1.55}
.gh-content .kg-file-card-container{background:var(--cal-2);border:0}
.gh-content .kg-embed-card{display:flex;flex-direction:column;align-items:center}
.gh-content .kg-embed-card iframe{max-width:100%}

/* ---------- 404 / error ---------- */
.err{background:var(--rosa);color:var(--cal);padding:110px 0 140px}
.err .kicker{color:var(--mostarda)}
.err h1{font-size:clamp(46px,8vw,104px);max-width:11ch;margin:18px 0 24px}
.err h1 em{font-style:italic;color:var(--mostarda)}
.err .cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:28px}
.err .btn.ghost{color:var(--cal);border-color:var(--cal)}
.err .btn.ghost:hover{background:var(--cal);color:var(--tinta)}

/* ---------- contrast: small Barro labels on tinted panels ----------
   Barro #B05030 is 3.93:1 on Céu and 4.22:1 on Cal-2 at 12px. These labels use a slightly
   deeper Barro (4.69:1 / 5.03:1). Buttons, links and labels on Esmalte keep the original. */
:root{--telha-deep:#9E4729}
.services .kicker,.tests .kicker,.card.date .kicker,.optin .kicker,.t.mint .who{color:var(--telha-deep)}

/* ---------- contrast: faded text replaced with solid colors ----------
   Opacity fades dropped these below 4.5:1. Solid colors keep the same softer hierarchy. */
.quiz .wrap>div>.kicker.m{opacity:1;color:var(--tinta)}   /* on Amarelo: was 3.39:1 */
.quiz form .kicker.m{opacity:1;color:var(--muted)}        /* on Esmalte: was 4.02:1 */
.press .lg{opacity:1}                                      /* Cobalto on Esmalte: was 4.07:1 */
.f-fine{opacity:1;color:var(--hortela)}                    /* on Cobalto: was 4.41:1 */

/* ---------- contrast: small Amarelo labels on Cobalto ----------
   Amarelo #E6B94A is 4.33:1 on Cobalto at 11–12px. These labels use a slightly lighter
   Amarelo (4.62:1). Large type, the stamp, buttons and Amarelo on Índigo keep the original. */
:root{--mostarda-light:#EAC05A}
.hero .kicker,.gets .kicker,.f-kicker,.t.pink .who{color:var(--mostarda-light)}

/* ---------- service drawers ----------
   Each .card is a drawer. The front holds the service copy and sets the card's height.
   Open: the front slides down, leaving a lip with the pull, revealing .drawer-inside (a cheeky line + the button).
   Opens on hover (mouse), tap (touch, via tabindex focus), or keyboard focus. CSS only. */
.card.drawer{--lip:58px;position:relative;overflow:hidden;isolation:isolate;padding:0;box-shadow:inset 0 22px 30px -20px rgba(0,0,0,.35),inset 0 0 0 1px rgba(14,38,80,.06)}
.card.drawer:focus-visible{outline:2px solid var(--telha);outline-offset:3px}
.drawer-front{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;padding:22px 28px 32px;background:inherit;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),inset 0 -8px 0 rgba(0,0,0,.07);transition:transform .6s cubic-bezier(.22,.9,.25,1),box-shadow .6s}
.drawer-front .pull{display:block;width:76px;height:12px;margin:0 auto 34px;border-radius:999px;background:var(--mostarda);box-shadow:0 3px 0 rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.35)}
.card.sprint .drawer-front .pull,.card.date .drawer-front .pull{background:var(--tinta);box-shadow:0 3px 0 rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.2)}
.drawer-front .meta{margin:auto 0 0}
.drawer-front .foot{margin-top:20px}
.drawer-inside{position:absolute;inset:0 0 var(--lip) 0;z-index:1;display:flex;flex-direction:column;justify-content:center;padding:28px}
.drawer-inside .cheek{font-family:var(--display);font-size:clamp(28px,2.6vw,36px);line-height:1.08;margin:14px 0 0;font-feature-settings:"liga" 1,"dlig" 0}
.drawer-inside .cheek em{font-style:italic}
.card.lead .drawer-inside .cheek em{color:var(--mostarda)}
.drawer-inside .foot{margin-top:26px}
/* open states */
@media (hover:hover){.card.drawer:hover .drawer-front{transform:translateY(calc(100% - var(--lip)));box-shadow:0 -16px 26px -14px rgba(14,38,80,.5),inset 0 0 0 1px rgba(255,255,255,.07)}}
@media (hover:none){.card.drawer:focus-within .drawer-front{transform:translateY(calc(100% - var(--lip)));box-shadow:0 -16px 26px -14px rgba(14,38,80,.5),inset 0 0 0 1px rgba(255,255,255,.07)}}
.card.drawer:focus-visible .drawer-front,.card.drawer:has(.drawer-inside a:focus-visible) .drawer-front{transform:translateY(calc(100% - var(--lip)));box-shadow:0 -16px 26px -14px rgba(14,38,80,.5)}
@media (prefers-reduced-motion:reduce){.drawer-front{transition:none}}
.drawer-hint{display:none;margin:4px 0 18px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
@media (hover:none){.drawer-hint{display:block}}

/* ---------- feather duster (quiz section) ----------
   Plays once when the quiz form scrolls into view: the duster swoops in across the top of the
   section, swishes over the form (dust film wipes away, puffs fly off), then scoots off right.
   Classes come from the script at the bottom of index.hbs: .dust-ready → .dusting → .dusted. */
.quiz{overflow:clip}
.quiz form{position:relative}
.duster{position:absolute;left:-30px;top:-80px;width:260px;z-index:6;pointer-events:none;opacity:0}
.duster-svg{display:block;width:100%;height:auto;filter:drop-shadow(0 10px 14px rgba(14,38,80,.25))}
.duster-plume{transform-origin:0 0}
.quiz.dusting .duster{animation:duster-path 4.4s cubic-bezier(.45,0,.4,1) forwards}
.quiz.dusting .duster-plume{animation:duster-wiggle .2s ease-in-out .7s 16 alternate}
@keyframes duster-path{
  0%  {opacity:1;transform:translate(-80vw,-140px) rotate(-18deg)}
  20% {transform:translate(-20px,10px) rotate(-6deg)}
  32% {transform:translate(calc(var(--fw,360px) - 200px),30px) rotate(8deg)}
  44% {transform:translate(-10px,110px) rotate(-10deg)}
  56% {transform:translate(calc(var(--fw,360px) - 200px),180px) rotate(10deg)}
  66% {transform:translate(calc(var(--fw,360px) * .35),90px) rotate(-6deg)}
  72% {transform:translate(calc(var(--fw,360px) * .4),80px) rotate(-16deg);animation-timing-function:cubic-bezier(.6,0,.9,.5)}
  100%{opacity:1;transform:translate(calc(var(--fw,360px) + 80vw),-280px) rotate(38deg)}
}
@keyframes duster-wiggle{from{transform:rotate(-7deg)}to{transform:rotate(7deg)}}
/* dust film over the form, wiped away while the duster swishes */
.quiz.dust-ready form::after{content:"";position:absolute;inset:0;z-index:4;border-radius:inherit;pointer-events:none;
  background-image:radial-gradient(rgba(90,78,60,.30) 1px,transparent 1.7px),radial-gradient(rgba(90,78,60,.20) 1.3px,transparent 2.2px),linear-gradient(rgba(150,138,112,.30),rgba(150,138,112,.22));
  background-size:17px 13px,29px 23px,auto;background-position:0 0,7px 5px,0 0}
.quiz.dusting form::after{animation:dust-film 1.8s ease-out 1.1s forwards}
.quiz.dusted form::after{display:none}
@keyframes dust-film{to{opacity:0}}
/* puffs */
.dust{position:absolute;inset:0;z-index:5;pointer-events:none}
.dust i{position:absolute;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle,rgba(130,118,96,.6),rgba(130,118,96,0) 70%);opacity:0}
.quiz.dusting .dust i{animation:dust-puff 1.2s ease-out var(--t) forwards}
@keyframes dust-puff{0%{opacity:0;transform:scale(.5)}15%{opacity:1}100%{opacity:0;transform:translate(var(--dx),-64px) scale(3.4)}}
/* squeaky-clean shine once it's done */
.quiz.dusting form::before{content:"";position:absolute;inset:0;z-index:5;border-radius:inherit;pointer-events:none;opacity:0;
  background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.8) 50%,transparent 60%) no-repeat;background-size:250% 100%;background-position:100% 0;
  animation:dust-shine .9s ease-out 3.2s forwards}
@keyframes dust-shine{0%{opacity:1;background-position:100% 0}100%{opacity:0;background-position:0 0}}
@media (prefers-reduced-motion:reduce){.duster,.dust,.quiz form::before,.quiz form::after{display:none!important}}
@media (max-width:899px){.duster{width:200px;left:-20px;top:-62px}}
