* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Segoe UI', Arial, sans-serif; color:var(--tf-body); line-height:1.6; background:var(--tf-white); }
img { max-width:100%; display:block; }
a { text-decoration:none; color:inherit; }
h1,h2,h3 { color:var(--tf-ink); line-height:1.25; }
.serif-heading { font-family:Georgia, 'Times New Roman', serif; font-weight:400; font-size:2rem; color:var(--tf-navy); }
.serif-heading.center { text-align:center; }

/* header */
.site-header { position:relative; z-index:20; }
.header-inner { max-width:1200px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:18px 24px; }
.header-logo { font-size:1.15rem; font-weight:700; letter-spacing:.5px; color:var(--tf-navy); }
.header-logo span { color:var(--tf-orange); }
.header-logo small { display:block; font-size:.55rem; letter-spacing:2px; font-weight:600; color:var(--tf-body); }
.header-nav { display:flex; gap:28px; }
.nav-link { font-size:.92rem; font-weight:600; color:var(--tf-ink); padding:6px 0; border-bottom:2px solid transparent; }
.nav-link.active, .nav-link:hover { color:var(--tf-blue); border-bottom-color:var(--tf-orange); }
.btn-cta-header { background:var(--tf-orange); color:#fff; padding:11px 22px; border-radius:24px; font-weight:700; font-size:.88rem; }
.btn-cta-header:hover { background:var(--tf-orange-dark); }

/* hero */
.hero { position:relative; min-height:560px; display:flex; align-items:center; overflow:hidden; }
.hero-bg { position:absolute; inset:0; background-size:cover; background-position:center; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(100deg, rgba(11,61,99,.62) 0%, rgba(26,111,175,.48) 60%, rgba(79,163,216,.32) 100%); }
.hero-inner { position:relative; z-index:2; max-width:1200px; margin:0 auto; padding:80px 24px; color:#fff; }
.hero h1 { font-size:2.75rem; color:#fff; max-width:680px; margin-bottom:20px; }
.hero-sub { max-width:560px; font-size:1.08rem; color:#eaf4fb; margin-bottom:32px; }
.btn-cta-hero { background:var(--tf-orange); color:#fff; padding:16px 30px; border-radius:28px; font-weight:700; display:inline-block; }
.btn-cta-hero:hover { background:var(--tf-orange-dark); }

/* section band */
.section-band { background:linear-gradient(180deg, var(--tf-blue-pale), #fff); text-align:left; padding:56px 24px; }
.section-band, .section-services, .section-team, .section-split, .section-workshop, .section-partners { max-width:1200px; margin:0 auto; padding-left:24px; padding-right:24px; }
.section-band { max-width:none; }
.section-band .serif-heading, .section-lede, .btn-cta-band { max-width:1200px; margin-left:auto; margin-right:auto; display:block; }
.section-lede { color:var(--tf-body); margin:14px 0 24px; font-size:1.05rem; }
.btn-cta-band { background:var(--tf-blue); color:#fff; padding:14px 26px; border-radius:24px; font-weight:700; width:fit-content; }
.btn-cta-band:hover { background:var(--tf-navy); }

/* split */
.section-split, .section-workshop, .section-partners { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; padding-top:64px; padding-bottom:64px; }
.section-workshop { grid-template-columns:1fr 1fr; }
.section-partners { grid-template-columns:1fr 1fr; }
.split-media img, .workshop-media img, .partners-media img { border-radius:10px; box-shadow:0 12px 30px rgba(11,61,99,.15); }
.icon-list { list-style:none; margin-top:24px; display:flex; flex-direction:column; gap:18px; }
.icon-list li { display:flex; gap:14px; }
.icon-badge { flex-shrink:0; width:34px; height:34px; border-radius:50%; background:var(--tf-blue); color:#fff; display:flex; align-items:center; justify-content:center; font-size:.95rem; }
.icon-list strong { display:block; color:var(--tf-ink); margin-bottom:2px; }
.icon-list p { font-size:.92rem; margin:0; }
.btn-cta-inline { display:inline-block; margin-top:28px; background:var(--tf-blue); color:#fff; padding:15px 24px; border-radius:8px; font-weight:700; }
.btn-cta-inline:hover { background:var(--tf-navy); }

/* services */
.section-services { padding-top:64px; padding-bottom:72px; }
.services-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; margin-top:36px; }
.service-card { background:var(--tf-blue-pale); border:1px solid var(--tf-border); border-radius:10px; padding:28px; }
.service-card h3 { font-size:1.08rem; margin-bottom:10px; color:var(--tf-navy); }
.service-card p { font-size:.92rem; margin:0; }

/* team */
.section-team { padding:64px 24px 72px; text-align:center; }
.team-grid { display:grid; grid-template-columns:repeat(2, minmax(240px,320px)); gap:36px; justify-content:center; margin-top:36px; }
.team-card img { border-radius:10px; margin-bottom:16px; aspect-ratio:1/1; object-fit:cover; object-position:center 20%; }
.team-card h3 { font-size:1.02rem; margin-bottom:6px; }
.team-card p { font-size:.9rem; }

/* footer */
.site-footer { background:var(--tf-navy); color:#cfe0ec; margin-top:0; }
.footer-nav-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr; gap:32px; padding:56px 24px 32px; }
.footer-col h4 { color:#fff; font-size:.95rem; margin-bottom:14px; }
.footer-col a { display:block; font-size:.88rem; color:#cfe0ec; margin-bottom:8px; }
.footer-col a:hover { color:var(--tf-orange); }
.footer-col .header-logo { color:#fff; }
.footer-col .header-logo small { color:#9ab6c9; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); text-align:center; padding:20px; font-size:.82rem; color:#9ab6c9; }

@media (max-width: 860px) {
  .header-nav { display:none; }
  .btn-cta-header { padding:9px 16px; font-size:.78rem; }
  .header-logo { font-size:1rem; }
  .hero h1 { font-size:2rem; }
  .section-split, .section-workshop, .section-partners { grid-template-columns:1fr; }
  .services-grid { grid-template-columns:1fr 1fr; }
  .team-grid { grid-template-columns:1fr; }
  .footer-nav-inner { grid-template-columns:1fr; }
}
@media (max-width: 480px) {
  .header-inner { flex-wrap:wrap; gap:10px; padding:14px 16px; }
  .btn-cta-header { padding:8px 14px; font-size:.74rem; }
}
@media (max-width: 560px) {
  .services-grid { grid-template-columns:1fr; }
}

/* WF article-page fallback containers (simple version, kept separate from homepage footer-nav-inner) */
.footer-inner { max-width:900px; margin:0 auto; padding:24px; text-align:center; }
