/* template-skin:flint prefix:ft */
/**
 * Flint — chispa / ignição de sessão (faísca · pavio · brasa PIX)
 * Chrome: flint-strike diagonal sparks strip + ember checklist cards
 * (≠ cork seal labels, ≠ kiln queima dials, ≠ spout jet rails)
 * Fonts: Oswald / Source Sans 3 via HTML link (no @import)
 * Palette: charcoal + spark amber — not purple / cream terracotta
 */
*,*::before,*::after{box-sizing:border-box}
html{
  scroll-behavior:smooth;
  scroll-padding-top:5.2rem;
  scroll-padding-bottom:calc(4.6rem + env(safe-area-inset-bottom,0px));
}
html,body{margin:0}
body{
  --ft-ink:#1a1714;
  --ft-muted:#6b6358;
  --ft-char:#2a2520;
  --ft-char-deep:#141210;
  --ft-spark:#e8a838;
  --ft-spark-hot:#f0c46a;
  --ft-ember:#c45c28;
  --ft-ash:#c9b896;
  --ft-panel:#f4efe6;
  --ft-line:#d6ccb8;
  --ft-font:"Source Sans 3","Source Sans Pro","Segoe UI",sans-serif;
  --ft-display:"Oswald",Impact,sans-serif;
  font-family:var(--ft-font);line-height:1.65;color:var(--ft-ink);
  background:
    radial-gradient(ellipse 50% 38% at 92% 6%,rgba(232,168,56,.16),transparent 52%),
    radial-gradient(ellipse 42% 32% at 6% 22%,rgba(196,92,40,.09),transparent 48%),
    linear-gradient(165deg,#1f1c19 0%,#2e2924 28%,#3a342d 100%);
  color:var(--ft-ash);
}
img{max-width:100%;height:auto;display:block}
a{color:var(--ft-spark);text-underline-offset:3px}
a:hover{color:var(--ft-spark-hot)}

.ft-shell{min-height:100vh;display:flex;flex-direction:column;padding-bottom:calc(4.5rem + env(safe-area-inset-bottom,0px))}
.ft-wrap{width:min(1080px,calc(100% - 2rem));margin-inline:auto}
.ft-wrap--wide{width:min(1180px,calc(100% - 1.2rem))}

/* —— Sticky mast —— */
.ft-mast{
  position:sticky;top:0;z-index:45;
  background:rgba(20,18,16,.94);backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(232,168,56,.28);
  padding:.55rem 0;padding-top:max(.55rem,env(safe-area-inset-top));
}
.ft-mast__row{
  width:min(1180px,calc(100% - 1.2rem));margin-inline:auto;
  display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;
}
.ft-brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--ft-ash);min-width:0}
.ft-brand img{width:40px;height:40px;border-radius:8px;object-fit:cover;border:1px solid var(--ft-spark)}
.ft-flint-mark{
  width:42px;height:42px;flex-shrink:0;border-radius:8px;
  background:
    linear-gradient(135deg,transparent 42%,rgba(232,168,56,.55) 42.5%,rgba(232,168,56,.55) 46%,transparent 46.5%),
    linear-gradient(135deg,transparent 58%,rgba(240,196,106,.4) 58.5%,rgba(240,196,106,.4) 61%,transparent 61.5%),
    linear-gradient(160deg,#3a342d,#1a1714);
  border:1px solid rgba(232,168,56,.45);
  position:relative;
  animation:ft-strike 5.5s ease-in-out infinite;
}
.ft-flint-mark::after{
  content:"FT";position:absolute;inset:0;display:grid;place-items:center;
  font-family:var(--ft-display);font-size:.72rem;letter-spacing:.12em;font-weight:600;
  color:var(--ft-spark-hot);
}
@keyframes ft-strike{
  0%,100%{filter:brightness(1);transform:rotate(-1deg)}
  40%{filter:brightness(1.15);transform:rotate(1deg)}
  55%{filter:brightness(1.35)}
}
@media(prefers-reduced-motion:reduce){.ft-flint-mark{animation:none}}
.ft-brand__name{font-family:var(--ft-display);font-weight:600;font-size:1.2rem;letter-spacing:.04em;text-transform:uppercase}
.ft-brand__tag{display:block;font-size:.72rem;color:var(--ft-muted);letter-spacing:.06em}
.ft-nav{display:flex;gap:1rem;flex:1;justify-content:center}
.ft-nav a{color:var(--ft-ash);text-decoration:none;font-size:.92rem;font-weight:600}
.ft-nav a:hover,.ft-nav a.is-active{color:var(--ft-spark)}
.ft-mast__cta{display:flex;gap:.45rem;align-items:center}
.ft-toggle{
  display:none;background:transparent;border:1px solid rgba(232,168,56,.4);
  color:var(--ft-spark);width:2.4rem;height:2.4rem;border-radius:6px;font-size:1.1rem;cursor:pointer;
}
@media(max-width:860px){
  .ft-nav,.ft-mast__cta{display:none}
  .ft-toggle{display:inline-grid;place-items:center;margin-left:auto}
}

/* —— Banner —— */
.ft-sparkbar[hidden]{display:none!important}
.ft-sparkbar{
  background:linear-gradient(90deg,#2a2010,#3d2e14 40%,#2a2010);
  border-bottom:1px solid rgba(232,168,56,.35);
}
.ft-sparkbar__inner{
  width:min(1180px,calc(100% - 1.2rem));margin-inline:auto;
  display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;
  padding:.55rem 0;
}
.ft-sparkbar__kicker{
  font-family:var(--ft-display);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ft-spark);white-space:nowrap;
}
.ft-sparkbar__line{flex:1;font-size:.9rem;color:var(--ft-ash);min-width:12rem}
.ft-sparkbar__x{
  background:transparent;border:0;color:var(--ft-muted);font-size:1.3rem;cursor:pointer;line-height:1;
}

/* —— Drawer —— */
.ft-drawer{
  display:none;flex-direction:column;gap:.35rem;
  background:var(--ft-char-deep);padding:1rem 1.2rem;border-bottom:1px solid rgba(232,168,56,.25);
}
.ft-drawer.is-open{display:flex}
.ft-drawer a{color:var(--ft-ash);text-decoration:none;padding:.4rem 0;font-weight:600}
.ft-drawer a:hover{color:var(--ft-spark)}

/* —— Buttons —— */
.ft-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.35rem;
  padding:.55rem 1rem;border-radius:4px;font-family:var(--ft-display);
  font-size:.88rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;
  border:1px solid transparent;cursor:pointer;font-weight:600;
}
.ft-btn--ghost{
  background:transparent;border-color:rgba(232,168,56,.45);color:var(--ft-spark);
}
.ft-btn--ghost:hover{background:rgba(232,168,56,.12);color:var(--ft-spark-hot)}
.ft-btn--ember{
  background:linear-gradient(135deg,var(--ft-ember),#a84820);
  color:#fff8f0;border-color:#8a3a18;
}
.ft-btn--ember:hover{filter:brightness(1.08);color:#fff}
.ft-btn--spark{
  background:linear-gradient(135deg,var(--ft-spark),#d49220);
  color:#1a1714;border-color:#b87818;
}
.ft-btn--spark:hover{filter:brightness(1.06);color:#1a1714}
.ft-btn--soft{
  background:rgba(232,168,56,.12);color:var(--ft-spark-hot);border-color:rgba(232,168,56,.3);
}
.ft-btn--lg{padding:.7rem 1.25rem;font-size:.95rem}

/* —— Flint-strike diagonal strip —— */
.ft-strike{
  position:relative;overflow:hidden;
  padding:2.4rem 0 2rem;
  background:
    linear-gradient(118deg,rgba(232,168,56,.18) 0%,transparent 28%),
    linear-gradient(180deg,rgba(26,23,20,.4),transparent);
}
.ft-strike::before{
  content:"";position:absolute;inset:-20% -10%;
  background:
    repeating-linear-gradient(
      -32deg,
      transparent 0 18px,
      rgba(232,168,56,.07) 18px 19px,
      transparent 19px 38px,
      rgba(240,196,106,.05) 38px 39px
    );
  pointer-events:none;animation:ft-sparks-drift 22s linear infinite;
}
@keyframes ft-sparks-drift{
  0%{transform:translateX(0)}
  100%{transform:translateX(-38px)}
}
@media(prefers-reduced-motion:reduce){.ft-strike::before{animation:none}}
.ft-strike__grid{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1.05fr .95fr;gap:2rem;align-items:center;
}
@media(max-width:820px){.ft-strike__grid{grid-template-columns:1fr}}
.ft-strike__kicker{
  font-family:var(--ft-display);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ft-spark);margin:0 0 .55rem;
}
.ft-strike__title{
  font-family:var(--ft-display);font-weight:600;font-size:clamp(1.85rem,4.2vw,2.75rem);
  line-height:1.12;letter-spacing:.03em;text-transform:uppercase;color:#f7f1e6;margin:0 0 .85rem;
}
.ft-strike__text{margin:0 0 1.25rem;color:var(--ft-ash);max-width:36rem;font-size:1.05rem}
.ft-strike__text strong{color:var(--ft-spark-hot);font-weight:600}
.ft-strike__actions{display:flex;flex-wrap:wrap;gap:.55rem}

/* Spark visual panel */
.ft-spark-panel{
  position:relative;aspect-ratio:16/10;border-radius:10px;overflow:hidden;
  border:1px solid rgba(232,168,56,.35);
  background:
    radial-gradient(circle at 62% 42%,rgba(240,196,106,.35),transparent 42%),
    radial-gradient(circle at 38% 58%,rgba(196,92,40,.28),transparent 38%),
    linear-gradient(145deg,#2a2520,#141210);
  box-shadow:0 12px 40px rgba(0,0,0,.35);
}
.ft-spark-panel__slash{
  position:absolute;inset:12% 8%;
  background:
    linear-gradient(135deg,transparent 46%,rgba(232,168,56,.7) 47%,rgba(232,168,56,.7) 49%,transparent 50%),
    linear-gradient(135deg,transparent 54%,rgba(240,196,106,.45) 55%,rgba(240,196,106,.45) 56.5%,transparent 57.5%);
  animation:ft-slash 4.8s ease-in-out infinite;
}
@keyframes ft-slash{
  0%,100%{opacity:.7;transform:translate(-2%,2%)}
  50%{opacity:1;transform:translate(2%,-2%)}
}
@media(prefers-reduced-motion:reduce){.ft-spark-panel__slash{animation:none}}
.ft-spark-panel__dots span{
  position:absolute;width:5px;height:5px;border-radius:50%;background:var(--ft-spark-hot);
  box-shadow:0 0 8px rgba(232,168,56,.7);
}
.ft-spark-panel__dots span:nth-child(1){top:22%;left:28%;animation:ft-dot 3s ease-in-out infinite}
.ft-spark-panel__dots span:nth-child(2){top:38%;left:58%;animation:ft-dot 3.6s ease-in-out .4s infinite}
.ft-spark-panel__dots span:nth-child(3){top:55%;left:42%;animation:ft-dot 2.8s ease-in-out .8s infinite}
.ft-spark-panel__dots span:nth-child(4){top:30%;left:72%;animation:ft-dot 4s ease-in-out .2s infinite}
@keyframes ft-dot{
  0%,100%{opacity:.35;transform:scale(.8)}
  50%{opacity:1;transform:scale(1.25)}
}
@media(prefers-reduced-motion:reduce){.ft-spark-panel__dots span{animation:none}}
.ft-spark-panel__badge{
  position:absolute;left:1rem;bottom:1rem;
  font-family:var(--ft-display);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ft-char-deep);background:var(--ft-spark);padding:.35rem .65rem;border-radius:3px;
}

/* —— Ember checklist cards —— */
.ft-embers{padding:2.2rem 0 1.5rem}
.ft-embers__head{
  font-family:var(--ft-display);font-size:1.55rem;letter-spacing:.05em;text-transform:uppercase;
  color:#f7f1e6;margin:0 0 .4rem;
}
.ft-embers__lead{margin:0 0 1.35rem;color:var(--ft-muted);max-width:40rem}
.ft-embers__rail{
  display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;
}
@media(max-width:980px){.ft-embers__rail{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.ft-embers__rail{grid-template-columns:1fr}}
.ft-ember{
  position:relative;background:var(--ft-panel);color:var(--ft-ink);
  border-radius:8px;padding:1.15rem 1.1rem 1.2rem;
  border:1px solid var(--ft-line);
  box-shadow:0 6px 0 rgba(196,92,40,.15);
  overflow:hidden;
}
.ft-ember::before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--ft-ember),var(--ft-spark));
}
.ft-ember::after{
  content:"";position:absolute;right:-12px;bottom:-18px;width:64px;height:64px;
  background:radial-gradient(circle,rgba(232,168,56,.22),transparent 68%);
  pointer-events:none;
}
.ft-ember__tick{
  display:inline-flex;align-items:center;justify-content:center;
  width:1.55rem;height:1.55rem;border-radius:4px;margin-bottom:.65rem;
  font-family:var(--ft-display);font-size:.78rem;font-weight:600;
  background:var(--ft-char);color:var(--ft-spark);border:1px solid rgba(232,168,56,.4);
}
.ft-ember h3{
  font-family:var(--ft-display);font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase;
  margin:0 0 .45rem;color:var(--ft-char);
}
.ft-ember p{margin:0 0 .85rem;font-size:.92rem;color:var(--ft-muted);line-height:1.5}
.ft-ember__go{
  font-family:var(--ft-display);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;
  text-decoration:none;color:var(--ft-ember);font-weight:600;
}
.ft-ember__go:hover{color:#a84820}

/* —— Gallery —— */
.ft-gallery{padding:1rem 0 2rem}
.ft-gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem}
@media(max-width:720px){.ft-gallery__grid{grid-template-columns:1fr}}
.ft-gallery__item{
  margin:0;background:rgba(20,18,16,.55);border:1px solid rgba(232,168,56,.22);
  border-radius:8px;overflow:hidden;
}
.ft-gallery__ph,.ft-gallery__item img{
  width:100%;aspect-ratio:16/9;object-fit:cover;
  background:
    linear-gradient(135deg,transparent 44%,rgba(232,168,56,.25) 45%,rgba(232,168,56,.25) 47%,transparent 48%),
    linear-gradient(160deg,#2a2520,#1a1714);
}
.ft-gallery__item figcaption{
  padding:.65rem .85rem;font-size:.86rem;color:var(--ft-ash);
}

/* —— Sections / pages —— */
.ft-section{padding:1.6rem 0 2.2rem}
.ft-section__head h2{
  font-family:var(--ft-display);font-size:1.45rem;letter-spacing:.05em;text-transform:uppercase;
  color:#f7f1e6;margin:0 0 .35rem;
}
.ft-section__head p{margin:0 0 1.1rem;color:var(--ft-muted)}
.ft-page{padding:1.5rem 0 2.5rem;flex:1}
.ft-title{
  font-family:var(--ft-display);font-size:clamp(1.5rem,3vw,2rem);letter-spacing:.04em;
  text-transform:uppercase;color:#f7f1e6;margin:.4rem 0 1rem;
}
.ft-crumb,.ft-breadcrumbs{font-size:.86rem;color:var(--ft-muted);margin-bottom:.35rem}
.ft-crumb a,.ft-breadcrumbs a{color:var(--ft-spark);text-decoration:none}

/* Light panel for prose */
.ft-prose{
  background:var(--ft-panel);color:var(--ft-ink);border-radius:10px;
  padding:1.35rem 1.4rem 1.5rem;border:1px solid var(--ft-line);
}
.ft-prose a{color:var(--ft-ember)}
.ft-prose a:hover{color:#a84820}
.ft-prose h2,.ft-prose h3{
  font-family:var(--ft-display);letter-spacing:.04em;text-transform:uppercase;color:var(--ft-char);
}
.ft-prose ol,.ft-prose ul{padding-left:1.25rem}
.ft-prose li{margin:.35rem 0}
.ft-prose details{
  border:1px solid var(--ft-line);border-radius:6px;padding:.65rem .85rem;margin:.55rem 0;
  background:#faf7f1;
}
.ft-prose summary{
  font-family:var(--ft-display);letter-spacing:.03em;text-transform:uppercase;
  cursor:pointer;color:var(--ft-char);font-size:.95rem;
}
.ft-figure{margin:0 0 1.15rem}
.ft-figure img,.ft-figure__ph{
  width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px;
  background:
    linear-gradient(135deg,transparent 46%,rgba(232,168,56,.3) 47%,rgba(232,168,56,.3) 49%,transparent 50%),
    linear-gradient(150deg,#3a342d,#1a1714);
}
.ft-figure figcaption{font-size:.85rem;color:var(--ft-muted);margin-top:.4rem}

/* —— News —— */
.ft-news-list{display:grid;gap:1rem}
.ft-news-card{
  display:grid;grid-template-columns:200px 1fr;gap:1rem;
  background:var(--ft-panel);color:var(--ft-ink);border-radius:8px;
  border:1px solid var(--ft-line);overflow:hidden;
}
.ft-news-card:not(.has-thumb){grid-template-columns:1fr}
@media(max-width:640px){.ft-news-card{grid-template-columns:1fr}}
.ft-news-card__media{display:block;background:#1a1714}
.ft-news-card__media img,.ft-news-card__media picture{width:100%;height:100%;object-fit:cover;aspect-ratio:16/9}
.ft-news-card__body{padding:1rem 1rem 1rem 0}
@media(max-width:640px){.ft-news-card__body{padding:0 1rem 1rem}}
.ft-news-card:not(.has-thumb) .ft-news-card__body{padding:1rem}
.ft-news-card__meta{
  display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;
  font-size:.78rem;color:var(--ft-muted);margin:0 0 .4rem;
}
.ft-news-card__spark{
  font-family:var(--ft-display);letter-spacing:.1em;font-size:.7rem;
  background:var(--ft-char);color:var(--ft-spark);padding:.15rem .4rem;border-radius:3px;
}
.ft-news-card__title{font-family:var(--ft-display);font-size:1.15rem;letter-spacing:.03em;text-transform:uppercase;margin:0 0 .35rem}
.ft-news-card__title a{color:var(--ft-char);text-decoration:none}
.ft-news-card__title a:hover{color:var(--ft-ember)}
.ft-news-card__excerpt{margin:0;font-size:.92rem;color:var(--ft-muted)}
.ft-news-empty{color:var(--ft-muted);padding:1rem;background:rgba(0,0,0,.2);border-radius:6px}
.ft-news-lead{font-size:1.05rem;color:var(--ft-muted);margin:0 0 1rem}
.ft-news-hero{margin:0 0 1.2rem}
.ft-news-hero img{width:100%;border-radius:8px;aspect-ratio:16/9;object-fit:cover}
.ft-news-nav{
  display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0;
}
.ft-news-nav a{
  display:block;padding:.85rem 1rem;background:rgba(0,0,0,.25);border-radius:6px;
  text-decoration:none;border:1px solid rgba(232,168,56,.2);color:var(--ft-ash);
}
.ft-news-nav a strong{display:block;color:var(--ft-spark-hot);margin-top:.25rem;font-size:.95rem}
.ft-news-related{margin-top:1.5rem}
.ft-news-related h2{
  font-family:var(--ft-display);letter-spacing:.05em;text-transform:uppercase;
  font-size:1.1rem;color:#f7f1e6;
}
.ft-news-related ul{padding-left:1.1rem}
.ft-news-related a{color:var(--ft-spark)}
.ft-article__title{
  font-family:var(--ft-display);font-size:clamp(1.4rem,3vw,1.9rem);
  letter-spacing:.03em;text-transform:uppercase;color:#f7f1e6;margin:.5rem 0;
}
.ft-article__body{margin-top:1rem}
.ft-byline{color:var(--ft-spark)}

/* Pager */
.ft-pager{margin-top:1.4rem}
.ft-pager__row{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}
.ft-pager__pages{display:flex;list-style:none;margin:0;padding:0;gap:.35rem;flex-wrap:wrap}
.ft-pager__btn,.ft-pager__num{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:2.1rem;height:2.1rem;padding:0 .45rem;border-radius:4px;
  text-decoration:none;font-family:var(--ft-display);font-size:.85rem;letter-spacing:.04em;
  background:rgba(0,0,0,.28);color:var(--ft-ash);border:1px solid rgba(232,168,56,.25);
}
.ft-pager__num.is-current,.ft-pager__btn:hover,.ft-pager__num:hover{
  background:var(--ft-spark);color:var(--ft-char-deep);border-color:var(--ft-spark);
}
.ft-pager__btn.is-disabled{opacity:.35;pointer-events:none}
.ft-pager__gap{color:var(--ft-muted);padding:.35rem}
.ft-pager__status{display:block;margin-top:.55rem;font-size:.82rem;color:var(--ft-muted)}

/* Digest / specs */
.ft-specs{
  display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1.2rem 0;
}
@media(max-width:700px){.ft-specs{grid-template-columns:1fr}}
.ft-specs__item{
  background:rgba(0,0,0,.28);border:1px solid rgba(232,168,56,.22);border-radius:6px;padding:.85rem 1rem;
}
.ft-specs__item dt{
  font-family:var(--ft-display);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ft-spark);margin:0 0 .25rem;
}
.ft-specs__item dd{margin:0;color:var(--ft-ash);font-size:.95rem}

/* Footer */
.ft-foot{
  margin-top:auto;background:var(--ft-char-deep);
  border-top:1px solid rgba(232,168,56,.28);padding:2rem 0 1.2rem;
}
.ft-foot__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:1.5rem}
@media(max-width:760px){.ft-foot__grid{grid-template-columns:1fr}}
.ft-foot__brand{
  font-family:var(--ft-display);font-size:1.2rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ft-spark);margin:0 0 .5rem;
}
.ft-foot h3{
  font-family:var(--ft-display);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ft-spark-hot);margin:0 0 .55rem;
}
.ft-foot ul{list-style:none;margin:0;padding:0}
.ft-foot li{margin:.3rem 0}
.ft-foot a{color:var(--ft-ash);text-decoration:none}
.ft-foot a:hover{color:var(--ft-spark)}
.ft-foot__meta{
  margin-top:1.4rem;padding-top:1rem;border-top:1px solid rgba(232,168,56,.15);
  font-size:.82rem;color:var(--ft-muted);line-height:1.6;
}

/* Sticky dock */
.ft-dock{
  position:fixed;left:0;right:0;bottom:0;z-index:40;
  background:rgba(20,18,16,.96);backdrop-filter:blur(8px);
  border-top:1px solid rgba(232,168,56,.3);
  padding:.55rem 0 calc(.55rem + env(safe-area-inset-bottom,0px));
}
.ft-dock__inner{
  width:min(1180px,calc(100% - 1.2rem));margin-inline:auto;
  display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:space-between;
}
.ft-dock__mark{
  font-family:var(--ft-display);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ft-spark);
}
.ft-dock__links{display:flex;flex-wrap:wrap;gap:.45rem}
.ft-dock__links a{
  font-size:.82rem;text-decoration:none;color:var(--ft-ash);
  padding:.35rem .65rem;border-radius:4px;border:1px solid rgba(232,168,56,.25);
}
.ft-dock__links a:hover{border-color:var(--ft-spark);color:var(--ft-spark)}

.ft-ready .ft-shell{opacity:1}

/* --- CTA visibility (skin-matched) --- */
.ft-cta-rail {
  position: fixed;
  right: max(0.85rem, env(safe-area-inset-right));
  bottom: max(0.85rem, env(safe-area-inset-bottom));
  z-index: 90;
  pointer-events: none;
}
.ft-cta-rail__btn {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.7rem 1.15rem;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.01em;
  text-decoration: none !important;
  color: #fff !important;
  background: var(--ft-accent, var(--ft-coral, var(--ft-teal, var(--ft-green, #0d9488))));
  box-shadow: 0 10px 28px rgba(0,0,0,.22);
  border: 0;
}
.ft-cta-rail__btn:hover { filter: brightness(1.06); }
.ft-cta-rail__btn:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
@media (max-width: 720px) {
  .ft-cta-rail {
    left: max(0.75rem, env(safe-area-inset-left));
    right: max(0.75rem, env(safe-area-inset-right));
    bottom: max(0.75rem, env(safe-area-inset-bottom));
  }
  .ft-cta-rail__btn { width: 100%; border-radius: 0.85rem; }
}
.ft-cta-mid {
  margin: 1.1rem 0 1.35rem;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
}
.ft-cta-mid__btn {
  display: inline-flex !important;
  min-height: 2.6rem;
  padding: 0.7rem 1.35rem;
  font-weight: 700;
  text-decoration: none !important;
}
/* 若主按钮类未覆盖底色，给 mid 一个皮肤底 */
a.ft-cta-mid__btn:not([class*="--solid"]):not([class*="-cta"]):not([class*="--navy"]):not([class*="--teal"]):not([class*="--coral"]):not([class*="--forest"]) {
  color: #fff !important;
  background: var(--ft-accent, var(--ft-coral, var(--ft-teal, var(--ft-green, #0d9488))));
  border-radius: 999px;
  border: 0;
  padding: 0.7rem 1.35rem;
}
.ft-btn--cta-vis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.4rem;
  padding: 0.55rem 1rem;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none !important;
  color: #fff !important;
  background: var(--ft-accent, var(--ft-coral, var(--ft-teal, var(--ft-green, #0d9488))));
  border: 0;
}
