:root{
  --ftsp-primary:#1e3a6d;
  --ftsp-accent:#3aa0df;
  --ftsp-warm:#b9574f;
  --ftsp-ink:#172033;
  --ftsp-text:#475467;
  --ftsp-muted:#667085;
  --ftsp-line:#dbe3ea;
  --ftsp-soft:#f5f7fa;
  --ftsp-soft-blue:#edf6fb;
  --ftsp-soft-warm:#fff4f0;
  --ftsp-white:#fff;
  --ftsp-shadow:0 18px 50px rgba(18,34,60,.10);
  --ftsp-radius-xl:30px;
  --ftsp-radius-lg:22px;
  --ftsp-radius-md:16px;
}
.ftsp-profile,
.ftsp-grid-shell,
.ftsp-cat-card,
.ftsp-empty-state{
  box-sizing:border-box;
  color:var(--ftsp-ink);
  font-family:inherit;
}
.ftsp-profile *,
.ftsp-grid-shell *,
.ftsp-cat-card *,
.ftsp-empty-state *{box-sizing:border-box}
.ftsp-profile a,
.ftsp-grid-shell a,
.ftsp-cat-card a{color:inherit}
.ftsp-profile img,
.ftsp-grid-shell img,
.ftsp-cat-card img{max-width:100%}
.ftsp-template-wrap,
.ftsp-profile--full{
  width:min(1260px,calc(100% - 32px));
  margin:42px auto 70px;
}
.ftsp-profile--full{
  display:block;
}
.ftsp-hero{
  display:grid;
  grid-template-columns:minmax(320px,.88fr) minmax(0,1.12fr);
  gap:clamp(28px,5vw,70px);
  align-items:center;
  padding:clamp(24px,4vw,54px);
  overflow:hidden;
  background:
    radial-gradient(circle at 90% 10%,rgba(58,160,223,.18),transparent 31%),
    linear-gradient(135deg,#f8fbfd 0%,#f4f7fb 54%,#fff7f2 100%);
  border:1px solid var(--ftsp-line);
  border-radius:var(--ftsp-radius-xl);
  box-shadow:var(--ftsp-shadow);
}
.ftsp-hero__media{
  position:relative;
  min-height:520px;
  overflow:hidden;
  background:#dfe8ef;
  border-radius:calc(var(--ftsp-radius-xl) - 7px);
  box-shadow:0 18px 40px rgba(30,58,109,.15);
}
.ftsp-hero__media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.ftsp-photo-placeholder{
  display:flex;
  width:100%;
  height:100%;
  min-height:inherit;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg,var(--ftsp-primary),#385a89 60%,var(--ftsp-accent));
}
.ftsp-photo-placeholder span{
  color:rgba(255,255,255,.9);
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(60px,10vw,130px);
  line-height:1;
}
.ftsp-hero__status{
  position:absolute;
  left:18px;
  bottom:18px;
  z-index:2;
}
.ftsp-status{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 12px;
  color:#fff;
  background:var(--ftsp-primary);
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  box-shadow:0 8px 22px rgba(17,32,51,.18);
  font-size:11px;
  font-weight:850;
  line-height:1.2;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ftsp-status--rehabilitation{background:#7557a3}
.ftsp-status--preparing{background:#64748b}
.ftsp-status--ready{background:#18766b}
.ftsp-status--matching{background:#a66a00}
.ftsp-status--pending{background:#8a5b32}
.ftsp-status--adopted{background:#1e6f50}
.ftsp-status--lifetime{background:#8c4960}
.ftsp-eyebrow,
.ftsp-section-kicker,
.ftsp-care-category,
.ftsp-timeline-label{
  margin:0 0 10px;
  color:var(--ftsp-primary);
  font-size:12px;
  font-weight:850;
  line-height:1.35;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.ftsp-featured-label{
  display:inline-flex;
  margin:0 0 15px;
  padding:7px 11px;
  color:#7b352f;
  background:var(--ftsp-soft-warm);
  border:1px solid #f1d4cc;
  border-radius:999px;
  font-size:13px;
  font-weight:800;
}
.ftsp-hero h1{
  margin:0;
  color:var(--ftsp-primary);
  font-size:clamp(48px,7vw,88px);
  font-weight:780;
  line-height:.96;
  letter-spacing:-.045em;
}
.ftsp-signature{
  max-width:760px;
  margin:22px 0 0;
  color:#2d415c;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(21px,2.8vw,32px);
  line-height:1.42;
}
.ftsp-identity-pills,
.ftsp-traits{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.ftsp-identity-pills{margin-top:24px}
.ftsp-identity-pills span,
.ftsp-traits span{
  display:inline-flex;
  padding:8px 11px;
  color:#344054;
  background:#fff;
  border:1px solid var(--ftsp-line);
  border-radius:999px;
  font-size:13px;
  font-weight:700;
}
.ftsp-status-note{
  margin:19px 0 0;
  color:var(--ftsp-text);
  font-size:15px;
  line-height:1.65;
}
.ftsp-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-top:26px;
}
.ftsp-button{
  appearance:none;
  display:inline-flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  padding:12px 18px;
  cursor:pointer;
  border-radius:14px;
  font:inherit;
  font-size:14px;
  font-weight:850;
  line-height:1.25;
  text-decoration:none!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.ftsp-button:hover{transform:translateY(-2px)}
.ftsp-button--primary{
  color:#fff!important;
  background:var(--ftsp-primary);
  border:1px solid var(--ftsp-primary);
  box-shadow:0 10px 24px rgba(30,58,109,.18);
}
.ftsp-button--secondary{
  color:var(--ftsp-primary)!important;
  background:#fff;
  border:1px solid var(--ftsp-line);
}
.ftsp-button--quiet{
  color:#475467;
  background:transparent;
  border:1px solid transparent;
}
.ftsp-section{
  margin-top:clamp(54px,8vw,92px);
}
.ftsp-section--narrow{
  width:min(880px,100%);
  margin-right:auto;
  margin-left:auto;
}
.ftsp-section-heading{
  width:min(850px,100%);
  margin-bottom:25px;
}
.ftsp-section h2{
  margin:0;
  color:var(--ftsp-primary);
  font-size:clamp(32px,4.8vw,54px);
  line-height:1.06;
  letter-spacing:-.03em;
}
.ftsp-section h3{
  margin:0;
  color:var(--ftsp-primary);
  font-size:21px;
  line-height:1.25;
}
.ftsp-rich-text,
.ftsp-rich-text p,
.ftsp-section p{
  color:var(--ftsp-text);
  font-size:17px;
  line-height:1.78;
}
.ftsp-rich-text p:first-child{margin-top:0}
.ftsp-rich-text p:last-child{margin-bottom:0}
.ftsp-story-intro{
  padding:clamp(28px,5vw,58px);
  background:#fff;
  border-left:5px solid var(--ftsp-warm);
  border-radius:0 var(--ftsp-radius-lg) var(--ftsp-radius-lg) 0;
  box-shadow:0 12px 36px rgba(18,34,60,.07);
}
.ftsp-story-intro h2{margin-bottom:24px}
.ftsp-special-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.ftsp-story-card{
  position:relative;
  min-height:260px;
  padding:28px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--ftsp-line);
  border-radius:var(--ftsp-radius-lg);
  box-shadow:0 8px 26px rgba(18,34,60,.06);
}
.ftsp-story-card--wide{grid-column:1/-1}
.ftsp-story-card--gift{
  background:linear-gradient(145deg,#fff9f6,#fff);
  border-color:#efd7d0;
}
.ftsp-card-number{
  display:inline-flex;
  width:38px;
  height:38px;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
  color:#fff;
  background:var(--ftsp-warm);
  border-radius:50%;
  font-size:11px;
  font-weight:900;
}
.ftsp-story-card h3{margin-bottom:13px}
.ftsp-check-list,
.ftsp-list-panel ul{
  margin:15px 0 0;
  padding:0;
  list-style:none;
}
.ftsp-check-list li,
.ftsp-list-panel li{
  position:relative;
  margin:0 0 10px;
  padding-left:25px;
  color:var(--ftsp-text);
  font-size:15px;
  line-height:1.55;
}
.ftsp-check-list li:before,
.ftsp-list-panel li:before{
  position:absolute;
  top:.2em;
  left:0;
  content:'✓';
  color:#18766b;
  font-weight:900;
}
.ftsp-care-map{
  padding:clamp(28px,5vw,56px);
  color:#fff;
  background:linear-gradient(145deg,#162e58 0%,var(--ftsp-primary) 62%,#294f80 100%);
  border-radius:var(--ftsp-radius-xl);
  box-shadow:var(--ftsp-shadow);
}
.ftsp-care-map__intro{
  width:min(830px,100%);
  margin-bottom:28px;
}
.ftsp-care-map .ftsp-section-kicker{color:#8dd2f4}
.ftsp-care-map h2{color:#fff}
.ftsp-care-map__intro p{
  margin:17px 0 0;
  color:rgba(255,255,255,.82);
  font-size:17px;
  line-height:1.7;
}
.ftsp-care-list{display:grid;gap:10px}
.ftsp-care-item{
  overflow:hidden;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
}
.ftsp-care-toggle{
  appearance:none;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 24px;
  gap:14px;
  align-items:center;
  width:100%;
  padding:17px 19px;
  cursor:pointer;
  text-align:left;
  color:#fff;
  background:transparent;
  border:0;
  font:inherit;
}
.ftsp-care-toggle:hover{background:rgba(255,255,255,.06)}
.ftsp-care-icon{
  display:flex;
  width:44px;
  height:44px;
  align-items:center;
  justify-content:center;
  color:var(--ftsp-primary);
  background:#fff;
  border-radius:14px;
  font-size:16px;
  font-weight:900;
}
.ftsp-care-heading{display:block;min-width:0}
.ftsp-care-category{display:block;margin-bottom:3px;color:#8dd2f4;font-size:10px}
.ftsp-care-heading strong{display:block;font-size:17px;line-height:1.35}
.ftsp-care-plus{
  position:relative;
  width:20px;
  height:20px;
}
.ftsp-care-plus:before,
.ftsp-care-plus:after{
  position:absolute;
  top:9px;
  left:3px;
  width:14px;
  height:2px;
  content:'';
  background:#fff;
  border-radius:2px;
  transition:transform .18s ease;
}
.ftsp-care-plus:after{transform:rotate(90deg)}
.ftsp-care-toggle[aria-expanded='true'] .ftsp-care-plus:after{transform:rotate(0)}
.ftsp-care-panel{
  padding:0 19px 19px 81px;
}
.ftsp-care-panel__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.ftsp-care-panel__grid>div{
  padding:17px;
  background:rgba(255,255,255,.08);
  border-radius:14px;
}
.ftsp-care-panel__grid span{
  display:block;
  margin-bottom:7px;
  color:#9bd9f7;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ftsp-care-panel__grid p{
  margin:0;
  color:rgba(255,255,255,.88);
  font-size:14px;
  line-height:1.6;
}
.ftsp-care-unlocks{
  background:rgba(141,210,244,.13)!important;
  border:1px solid rgba(141,210,244,.18);
}
.ftsp-home-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  gap:20px;
}
.ftsp-home-narrative,
.ftsp-home-details,
.ftsp-fit-notes>div{
  padding:28px;
  background:#fff;
  border:1px solid var(--ftsp-line);
  border-radius:var(--ftsp-radius-lg);
  box-shadow:0 8px 25px rgba(18,34,60,.05);
}
.ftsp-home-narrative h3{margin-bottom:14px}
.ftsp-home-details{display:grid;gap:14px}
.ftsp-list-panel{
  padding:20px;
  border-radius:16px;
}
.ftsp-list-panel--required{background:#fff5f2;border:1px solid #f0d3cc}
.ftsp-list-panel--flexible{background:#f0f8f6;border:1px solid #cfe5df}
.ftsp-list-panel h3{font-size:17px}
.ftsp-list-panel ul{margin-top:10px}
.ftsp-list-panel--flexible li:before{content:'↔';color:#18766b}
.ftsp-fit-notes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin-top:20px;
}
.ftsp-fit-notes h3{margin-bottom:12px}
.ftsp-timeline-list{
  position:relative;
  margin:30px 0 0;
  padding:0;
  list-style:none;
}
.ftsp-timeline-list:before{
  position:absolute;
  top:12px;
  bottom:12px;
  left:18px;
  width:2px;
  content:'';
  background:linear-gradient(var(--ftsp-accent),var(--ftsp-warm));
}
.ftsp-timeline-list li{
  position:relative;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:20px;
  margin-bottom:18px;
}
.ftsp-timeline-marker{
  position:relative;
  z-index:2;
  width:38px;
  height:38px;
  background:#fff;
  border:7px solid var(--ftsp-primary);
  border-radius:50%;
  box-shadow:0 0 0 4px #e7f3f9;
}
.ftsp-timeline-copy{
  padding:0 0 28px;
}
.ftsp-timeline-copy h3{margin-bottom:8px}
.ftsp-timeline-label{margin-bottom:5px;color:var(--ftsp-warm)}
.ftsp-team-note blockquote{
  position:relative;
  margin:0;
  padding:clamp(30px,5vw,56px);
  background:linear-gradient(145deg,#f1f7fb,#fff);
  border:1px solid #d7e8f2;
  border-radius:var(--ftsp-radius-xl);
}
.ftsp-team-note blockquote:before{
  position:absolute;
  top:8px;
  right:26px;
  color:rgba(58,160,223,.18);
  content:'“';
  font-family:Georgia,'Times New Roman',serif;
  font-size:150px;
  line-height:1;
}
.ftsp-team-note cite{
  display:block;
  margin-top:18px;
  color:var(--ftsp-primary);
  font-size:13px;
  font-style:normal;
  font-weight:850;
}
.ftsp-gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.ftsp-gallery-grid figure{
  min-height:260px;
  margin:0;
  overflow:hidden;
  background:#e7edf3;
  border-radius:18px;
}
.ftsp-gallery-grid figure:first-child{grid-column:span 2;grid-row:span 2;min-height:540px}
.ftsp-gallery-grid img{display:block;width:100%;height:100%;object-fit:cover}
.ftsp-final-cta{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  padding:clamp(28px,5vw,52px);
  color:#fff;
  background:linear-gradient(135deg,var(--ftsp-primary),#294f80);
  border-radius:var(--ftsp-radius-xl);
  box-shadow:var(--ftsp-shadow);
}
.ftsp-final-cta h2{color:#fff}
.ftsp-final-cta p,
.ftsp-final-cta .ftsp-rich-text p{color:rgba(255,255,255,.82)}
.ftsp-final-cta .ftsp-section-kicker{color:#9bd9f7}
.ftsp-final-cta .ftsp-actions{justify-content:flex-end;margin-top:0}
.ftsp-final-cta .ftsp-button--primary{color:var(--ftsp-primary)!important;background:#fff;border-color:#fff}
.ftsp-final-cta .ftsp-button--secondary{color:#fff!important;background:transparent;border-color:rgba(255,255,255,.35)}
.ftsp-grid-shell{
  width:min(1260px,100%);
  margin:0 auto;
}
.ftsp-grid-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 22px;
}
.ftsp-filter-button{
  appearance:none;
  padding:9px 13px;
  cursor:pointer;
  color:#475467;
  background:#fff;
  border:1px solid var(--ftsp-line);
  border-radius:999px;
  font:inherit;
  font-size:13px;
  font-weight:800;
}
.ftsp-filter-button.is-active,
.ftsp-filter-button[aria-pressed='true']{color:#fff;background:var(--ftsp-primary);border-color:var(--ftsp-primary)}
.ftsp-cat-grid{
  display:grid;
  gap:18px;
}
.ftsp-cat-grid--1{grid-template-columns:1fr}
.ftsp-cat-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ftsp-cat-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ftsp-cat-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ftsp-single-card-wrap{width:min(440px,100%)}
.ftsp-cat-card{
  min-width:0;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--ftsp-line);
  border-radius:var(--ftsp-radius-lg);
  box-shadow:0 8px 24px rgba(18,34,60,.06);
  transition:transform .2s ease,box-shadow .2s ease;
}
.ftsp-cat-card:hover,
.ftsp-cat-card:focus-within{transform:translateY(-4px);box-shadow:0 20px 42px rgba(18,34,60,.13)}
.ftsp-cat-card__link{display:flex;height:100%;flex-direction:column;text-decoration:none!important}
.ftsp-cat-card__media{
  position:relative;
  aspect-ratio:1.08/1;
  overflow:hidden;
  background:#e7edf3;
}
.ftsp-cat-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.ftsp-cat-card:hover .ftsp-cat-card__media img{transform:scale(1.03)}
.ftsp-cat-card__media .ftsp-status{position:absolute;right:12px;bottom:12px;left:12px;width:fit-content}
.ftsp-cat-card__body{display:flex;flex:1;flex-direction:column;padding:21px}
.ftsp-cat-card__body h3{margin:0;color:var(--ftsp-primary);font-size:27px;line-height:1.05;letter-spacing:-.02em}
.ftsp-cat-card__signature{margin:10px 0 0;color:#314661;font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.48}
.ftsp-cat-card__meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}
.ftsp-cat-card__meta span{padding:6px 9px;color:#475467;background:var(--ftsp-soft);border-radius:999px;font-size:11px;font-weight:750}
.ftsp-cat-card__summary{margin:14px 0 0;color:var(--ftsp-text);font-size:14px;line-height:1.65}
.ftsp-traits--compact{margin-top:14px}
.ftsp-traits--compact span{padding:6px 8px;font-size:11px}
.ftsp-cat-card__footer{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:end;
  margin-top:auto;
  padding-top:18px;
  color:#667085;
  font-size:11px;
}
.ftsp-cat-card__footer strong{color:var(--ftsp-primary);font-size:12px}
.ftsp-grid-status{margin:14px 0 0;color:var(--ftsp-muted);font-size:13px}
.ftsp-cat-card[hidden]{display:none!important}
.ftsp-empty-state{
  padding:24px;
  color:var(--ftsp-text);
  background:var(--ftsp-soft);
  border:1px solid var(--ftsp-line);
  border-radius:16px;
}
.ftsp-empty-state p{margin:0}
.ftsp-profile a:focus-visible,
.ftsp-profile button:focus-visible,
.ftsp-grid-shell a:focus-visible,
.ftsp-grid-shell button:focus-visible{
  outline:3px solid rgba(58,160,223,.48);
  outline-offset:3px;
}
@media(max-width:1080px){
  .ftsp-cat-grid--4{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ftsp-care-panel__grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .ftsp-hero,
  .ftsp-home-grid,
  .ftsp-final-cta{grid-template-columns:1fr}
  .ftsp-hero__media{min-height:560px}
  .ftsp-final-cta .ftsp-actions{justify-content:flex-start}
  .ftsp-cat-grid--3,
  .ftsp-cat-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .ftsp-template-wrap,
  .ftsp-profile--full{width:min(100% - 20px,1260px);margin-top:18px}
  .ftsp-hero{padding:15px;border-radius:21px}
  .ftsp-hero__media{min-height:430px;border-radius:17px}
  .ftsp-hero__copy{padding:12px 6px 18px}
  .ftsp-hero h1{font-size:48px}
  .ftsp-signature{font-size:21px}
  .ftsp-button{width:100%}
  .ftsp-special-grid,
  .ftsp-fit-notes,
  .ftsp-cat-grid--2,
  .ftsp-cat-grid--3,
  .ftsp-cat-grid--4{grid-template-columns:1fr}
  .ftsp-story-card--wide{grid-column:auto}
  .ftsp-care-map{padding:20px 14px;border-radius:21px}
  .ftsp-care-toggle{grid-template-columns:42px minmax(0,1fr) 20px;padding:14px 12px}
  .ftsp-care-icon{width:40px;height:40px}
  .ftsp-care-panel{padding:0 12px 12px}
  .ftsp-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ftsp-gallery-grid figure:first-child{grid-column:1/-1;grid-row:auto;min-height:360px}
  .ftsp-gallery-grid figure{min-height:210px}
  .ftsp-final-cta{padding:26px 20px;border-radius:21px}
  .ftsp-timeline-list:before{left:14px}
  .ftsp-timeline-list li{grid-template-columns:30px minmax(0,1fr);gap:14px}
  .ftsp-timeline-marker{width:30px;height:30px;border-width:6px}
}
@media(prefers-reduced-motion:reduce){
  .ftsp-button,
  .ftsp-cat-card,
  .ftsp-cat-card__media img,
  .ftsp-care-plus:after{transition:none!important}
}
@media print{
  .ftsp-button,
  .ftsp-grid-filters{display:none!important}
  .ftsp-profile--full{width:100%;margin:0}
  .ftsp-hero,
  .ftsp-care-map,
  .ftsp-final-cta{box-shadow:none}
  .ftsp-care-panel[hidden]{display:block!important}
}
