:root {
  --bg:#fff;
  --ink:#151515;
  --soft:#f4edf1;
  --gold:#A8527C;
  --rose-soft:#C7A9B7;
  --line:#dfccd5;
  --max:1240px;
  --r:18px
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.65
}
img {
  max-width:100%;
  display:block
}
a {
  color:inherit;
  text-decoration:none
}
.container {
  width:min(calc(100% - 40px),var(--max));
  margin:auto
}
.header {
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line)
}
.head {
  height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px
}
.brand {
  font-size:1.55rem;
  font-weight:900;
  letter-spacing:.1em
}
.nav {
  display:flex;
  gap:24px;
  align-items:center
}
.nav a {
  font-size:.93rem;
  font-weight:700
}
.nav a:hover,.nav a.active,.project-menu>a:hover,.project-menu>a.active {
  color:#A8527C
}
.toggle {
  display:none;
  border:0;
  background:none;
  font-size:1.8rem
}
.mobile {
  display:none
}
.hero {
  padding:82px 0 54px;
  border-bottom:1px solid var(--line)
}
.eyebrow {
  text-transform:uppercase;
  letter-spacing:.17em;
  font-weight:800;
  font-size:.76rem;
  color:#A8527C
}
.hero h1,.pagehero h1,.title {
  font-family:Georgia,serif;
  font-weight:400;
  letter-spacing:-.045em;
  line-height:.98
}
.hero h1 {
  font-size:clamp(4rem,9vw,8.6rem);
  max-width:1000px;
  margin:18px 0 30px
}
.lead {
  font-size:1.2rem;
  max-width:800px;
  color:#5f5a51
}
.heroimg {
  margin-top:46px;
  height:min(62vw,650px);
  overflow:hidden;
  border-radius:var(--r)
}
.heroimg img {
  width:100%;
  height:100%;
  object-fit:cover
}
.section {
  padding:84px 0;
  border-bottom:1px solid var(--line)
}
.sectionhead {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:50px;
  margin-bottom:38px
}
.title {
  font-size:clamp(2.8rem,6vw,5.2rem);
  margin:0
}
.copy {
  max-width:760px
}
.cards {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px
}
.card {
  border:1px solid var(--line);
  border-radius:var(--r);
  padding:28px;
  min-height:260px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:#fff;
  transition:.25s
}
.card:nth-child(2n) {
  background:var(--soft)
}
.card:hover {
  transform:translateY(-4px)
}
.card h3 {
  font-family:Georgia,serif;
  font-size:2.2rem;
  font-weight:400;
  margin:20px 0 10px
}
.pagehero {
  padding:68px 0;
  border-bottom:1px solid var(--line)
}
.pagehero h1 {
  font-size:clamp(3.4rem,7vw,7rem);
  margin:14px 0 24px;
  max-width:1000px
}
.layout {
  display:grid;
  grid-template-columns:260px 1fr;
  gap:70px
}
.side {
  position:sticky;
  top:120px;
  align-self:start
}
.rich h2,.rich h3 {
  font-family:Georgia,serif;
  font-weight:400
}
.rich h2 {
  font-size:2.7rem;
  margin:52px 0 14px
}
.rich h3 {
  font-size:1.65rem;
  margin:38px 0 12px
}
.rich p {
  margin:0 0 18px
}
.rich ul {
  padding-left:22px
}
.feature {
  margin:36px 0;
  border-radius:var(--r);
  overflow:hidden
}
.feature img {
  width:100%;
  max-height:700px;
  object-fit:cover
}
.grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px
}
.grid img {
  width:100%;
  height:260px;
  object-fit:cover;
  border-radius:14px
}
.grid img:first-child {
  grid-column:span 2;
  height:532px;
  grid-row:span 2
}
.sponsors {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-top:24px
}
.sponsors div {
  border:1px solid var(--line);
  border-radius:12px;
  min-height:130px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:#fff
}
.sponsors img {
  max-height:90px;
  object-fit:contain
}
.projectlink {
  display:block;
  border:1px solid var(--line);
  border-radius:var(--r);
  overflow:hidden
}
.projectlink img {
  height:360px;
  width:100%;
  object-fit:cover
}
.projectbody {
  padding:26px
}
.projectbody h2 {
  font-family:Georgia,serif;
  font-weight:400;
  font-size:2.4rem;
  margin:7px 0
}
.projects {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px
}
.contact {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:60px
}
.form {
  display:grid;
  gap:14px
}
.form input,.form textarea {
  width:100%;
  padding:15px;
  border:1px solid var(--line);
  border-radius:12px
}
.form textarea {
  min-height:160px
}
.btn {
  border:1px solid var(--ink);
  background:var(--ink);
  color:#fff;
  border-radius:999px;
  padding:14px 20px;
  font-weight:800;
  display:inline-flex;
  width:max-content
}
.footer {
  padding:52px 0;
  background:#171717;
  color:#fff
}
.foot {
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:40px
}
.footlinks {
  display:grid;
  gap:8px
}
.small {
  color:#a9a9a9;
  font-size:.9rem;
  margin-top:35px
}
.reveal {
  opacity:0;
  transform:translateY(18px);
  transition:.6s
}
.reveal.in {
  opacity:1;
  transform:none
}
@media(max-width:900px) {
  .nav {
    display:none
  }
  .toggle {
    display:block
  }
  .mobile {
    position:fixed;
    inset:82px 0 0;
    background:#fff;
    z-index:25;
    padding:28px;
    transform:translateX(100%);
    transition:.3s;
    display:block
  }
  .mobile.open {
    transform:none
  }
  .mobile a {
    display:block;
    font-size:1.6rem;
    font-weight:800;
    padding:12px 0;
    border-bottom:1px solid var(--line)
  }
  .sectionhead,.layout,.contact {
    grid-template-columns:1fr
  }
  .side {
    position:static
  }
  .cards,.projects {
    grid-template-columns:1fr
  }
  .sponsors {
    grid-template-columns:repeat(2,1fr)
  }
  .grid {
    grid-template-columns:1fr 1fr
  }
  .grid img:first-child {
    grid-column:span 2;
    grid-row:auto;
    height:400px
  }
  .foot {
    grid-template-columns:1fr 1fr
  }
  .foot>div:first-child {
    grid-column:1/-1
  }
}
@media(max-width:620px) {
  .container {
    width:min(calc(100% - 28px),var(--max))
  }
  .head {
    height:72px
  }
  .mobile {
    inset:72px 0 0
  }
  .hero {
    padding-top:52px
  }
  .hero h1 {
    font-size:clamp(3.2rem,17vw,5.4rem)
  }
  .section {
    padding:58px 0
  }
  .pagehero {
    padding:48px 0
  }
  .grid,.sponsors,.foot {
    grid-template-columns:1fr
  }
  .grid img,.grid img:first-child {
    grid-column:auto;
    height:300px
  }
  .foot>div:first-child {
    grid-column:auto
  }
}
/* FACAP Projects dropdown */
.project-menu {
  position:relative;
  display:flex;
  align-items:center;
  gap:4px
}
.project-menu>a {
  font-size:.93rem;
  font-weight:700
}
.project-drop-toggle {
  border:0;
  background:transparent;
  color:var(--ink);
  padding:8px 4px;
  cursor:pointer;
  font-size:.8rem;
  line-height:1;
  transition:.2s
}
.project-menu:hover .project-drop-toggle,.project-menu:focus-within .project-drop-toggle {
  color:#A8527C;
  transform:rotate(180deg)
}
.project-dropdown {
  position:absolute;
  top:calc(100% + 18px);
  left:0;
  min-width:245px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:8px;
  box-shadow:0 18px 45px rgba(168,82,124,.16);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:.22s ease;
  z-index:50
}
.project-dropdown:before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-20px;
  height:20px
}
.project-menu:hover .project-dropdown,.project-menu:focus-within .project-dropdown,.project-menu.open .project-dropdown {
  opacity:1;
  visibility:visible;
  transform:none
}
.project-dropdown a {
  display:block;
  padding:11px 12px;
  border-radius:9px;
  white-space:nowrap
}
.project-dropdown a:hover,.project-dropdown a.active {
  background:#f4edf1;
  color:#A8527C
}
.mobile-project-row {
  display:flex;
  align-items:center;
  border-bottom:1px solid var(--line)
}
.mobile-project-row>a {
  flex:1;
  border-bottom:0!important
}
.mobile-project-toggle {
  border:0;
  background:transparent;
  font-size:1.2rem;
  padding:16px 8px;
  cursor:pointer;
  color:var(--ink);
  transition:.2s
}
.mobile-project-row.open .mobile-project-toggle {
  transform:rotate(180deg);
  color:#A8527C
}
.mobile-project-sub {
  display:none;
  padding:0 0 8px 18px
}
.mobile-project-sub.open {
  display:block
}
.mobile-project-sub a {
  font-size:1.03rem;
  padding:10px 0;
  color:#A8527C
}
.btn {
  border-color:#A8527C;
  background:#A8527C
}
@media(max-width:900px) {
  .project-menu {
    display:none
  }
}
/* FACAP branded header logo + two-tone wordmark */
.brand {
  display:inline-flex;
  align-items:center;
  gap:10px;
  line-height:1
}
.brand-header {
  min-width:max-content
}
.brand-logo {
  width:36px;
  height:48px;
  object-fit:contain;
  flex:0 0 auto
}
.brand-wordmark {
  display:inline-flex;
  align-items:baseline;
  font-size:1.55rem;
  font-weight:900;
  letter-spacing:.1em;
  white-space:nowrap
}
.brand-deep {
  color:#A8527C
}
.brand-soft {
  color:#C7A9B7
}
.brand-footer .brand-wordmark {
  font-size:1.55rem
}
@media(max-width:620px) {
  .brand {
    gap:8px
  }
  .brand-logo {
    width:29px;
    height:40px
  }
  .brand-wordmark {
    font-size:1.28rem;
    letter-spacing:.075em
  }
}
/* Homepage section links */
.section-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:10px;
  color:var(--accent);
  font-weight:800;
  border-bottom:1px solid currentColor;
  padding-bottom:2px
}
.section-link:hover {
  opacity:.72
}
.our-work-heading {
  margin:52px 0 26px
}
.card-link {
  display:inline-block;
  margin-top:18px;
  font-weight:800;
  color:var(--accent)
}
.card:hover .card-link {
  transform:translateX(4px)
}
.card-link {
  transition:transform .2s ease
}
/* FACAP social media */
.header-socials {
  display:flex;
  align-items:center;
  margin-left:auto
}
.social-links {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap
}
.social-links a {
  width:34px;
  height:34px;
  border:1px solid var(--line);
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#A8527C;
  background:#fff;
  transition:.2s ease
}
.social-links a:hover {
  background:#A8527C;
  color:#fff;
  border-color:#A8527C;
  transform:translateY(-2px)
}
.social-links svg {
  width:16px;
  height:16px;
  fill:currentColor
}
.mobile-socials {
  padding:24px 0 8px
}
.mobile-socials .social-links {
  gap:12px
}
.mobile-socials .social-links a {
  width:42px;
  height:42px
}
.footer-socials {
  margin-top:18px
}
.footer-socials .social-links a {
  background:transparent;
  border-color:rgba(255,255,255,.22);
  color:#C7A9B7
}
.footer-socials .social-links a:hover {
  background:#A8527C;
  border-color:#A8527C;
  color:#fff
}
.contact-socials {
  margin:16px 0 28px
}
.contact-socials .social-links a {
  width:42px;
  height:42px
}
/* Animated FACAP homepage hero visual */
.hero-animated {
  position:relative;
  isolation:isolate;
  background:#C7A9B7;
  overflow:hidden;
  min-height:460px
}
.hero-animated:before,.hero-animated:after {
  content:"";
  position:absolute;
  inset:-25%;
  z-index:-2;
  background:
  radial-gradient(circle at 22% 30%,rgba(255,255,255,.88) 0 5%,transparent 24%),
  radial-gradient(circle at 73% 36%,rgba(168,82,124,.95) 0 10%,transparent 32%),
  radial-gradient(circle at 50% 78%,rgba(255,255,255,.6) 0 8%,transparent 30%),
  linear-gradient(125deg,#C7A9B7,#A8527C);
  animation:facapFlow 14s ease-in-out infinite alternate;
  transform:scale(1.15)
}
.hero-animated:after {
  z-index:-1;
  mix-blend-mode:screen;
  opacity:.55;
  filter:blur(18px);
  animation-duration:20s;
  animation-direction:alternate-reverse
}
.hero-animated-mark {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.04em;
  font-size:clamp(4rem,12vw,11rem);
  font-weight:900;
  letter-spacing:.03em;
  color:rgba(255,255,255,.92);
  text-shadow:0 10px 45px rgba(64,20,42,.12);
  animation:facapFloat 6s ease-in-out infinite
}
.hero-animated-mark span:nth-child(even) {
  color:rgba(199,169,183,.98);
  -webkit-text-stroke:1px rgba(255,255,255,.42)
}
@keyframes facapFlow {
  0% {
    transform:scale(1.15) translate3d(-2%,-1%,0) rotate(-2deg)
  }
  50% {
    transform:scale(1.25) translate3d(3%,2%,0) rotate(3deg)
  }
  100% {
    transform:scale(1.17) translate3d(-1%,4%,0) rotate(-1deg)
  }
}
@keyframes facapFloat {
  0%,100% {
    transform:translateY(0) scale(1)
  }
  50% {
    transform:translateY(-12px) scale(1.015)
  }
}
@media(prefers-reduced-motion:reduce) {
  .hero-animated:before,.hero-animated:after,.hero-animated-mark {
    animation:none
  }
}
@media(max-width:1100px) {
  .header-socials {
    display:none
  }
}
@media(max-width:620px) {
  .hero-animated {
    min-height:330px
  }
  .hero-animated-mark {
    font-size:clamp(3.2rem,19vw,6rem)
  }
}
/* Header alignment: navigation on the right beside social media */
.nav {
  margin-left:auto
}
.header-socials {
  margin-left:14px
}
/* Exact FACAP homepage animation video */
.hero-video-wrap {
  position:relative;
  background:#C7A9B7;
  overflow:hidden
}
.hero-video {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block
}
@media(max-width:900px) {
  .nav {
    margin-left:0
  }
  .header-socials {
    margin-left:0
  }
}
.rich a {
  color:#A8527C;
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid #C7A9B7;
  transition:.2s ease
}
.rich a:hover {
  color:#C7A9B7;
  border-bottom-color:#A8527C
}
/* FACAP research heading colours */
body.research-page .richtext h2 {
  color: #A8527C;
}
body.research-page .richtext h3 {
  color: #C7A9B7;
}
body.research-page .richtext p strong {
  color: #A8527C;
}
body.research-page .richtext p strong + a {
  color: #A8527C;
  font-weight: 800;
  border-bottom: 2px solid #C7A9B7;
  padding-bottom: 1px;
  transition: color .2s ease, border-color .2s ease;
}
body.research-page .richtext p strong + a:hover {
  color: #C7A9B7;
  border-bottom-color: #A8527C;
}
/* FACAP educational programme 01 */
.education-page .edu-programme {
  margin:0 0 72px;
  padding:clamp(26px,4vw,48px);
  border:1px solid rgba(168,82,124,.18);
  border-radius:28px;
  background:linear-gradient(145deg,rgba(199,169,183,.14),rgba(255,255,255,.55));
  box-shadow:0 18px 50px rgba(83,47,65,.07)
}
.education-page .edu-programme__number {
  display:inline-flex;
  padding:8px 13px;
  border-radius:999px;
  background:#C7A9B7;
  color:#fff;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
  margin-bottom:20px
}
.education-page .edu-programme>h2,.education-page .edu-programme__section h3 {
  color:#A8527C
}
.education-page .edu-programme>h2 {
  margin:0 0 18px
}
.education-page .edu-programme__intro {
  font-size:1.12rem;
  max-width:900px;
  margin-bottom:30px
}
.education-page .edu-programme__facts {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:30px 0 42px
}
.education-page .edu-fact {
  padding:20px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(168,82,124,.16)
}
.education-page .edu-fact span {
  display:block;
  color:#A8527C;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  margin-bottom:7px
}
.education-page .edu-fact strong {
  display:block
}
.education-page .edu-fact small {
  display:block;
  color:#6f6a61;
  margin-top:5px;
  line-height:1.5
}
.education-page .edu-programme__section {
  padding-top:30px;
  margin-top:30px;
  border-top:1px solid rgba(168,82,124,.18)
}
.education-page .edu-programme__section h3 {
  margin-top:0
}
.education-page .edu-programme__outcomes ul {
  list-style:none;
  padding:0;
  display:grid;
  gap:10px
}
.education-page .edu-programme__outcomes li {
  position:relative;
  padding:14px 16px 14px 46px;
  background:rgba(255,255,255,.65);
  border-radius:14px
}
.education-page .edu-programme__outcomes li:before {
  content:"✓";
  position:absolute;
  left:17px;
  top:13px;
  color:#A8527C;
  font-weight:900
}
.education-page .edu-programme__research {
  margin-top:34px;
  padding:28px;
  border-radius:20px;
  background:#A8527C;
  color:#fff
}
.education-page .edu-programme__research-label {
  font-size:.73rem;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
  margin-bottom:12px;
  opacity:.82
}
.education-page .edu-programme__research p {
  color:#fff
}
.education-page .edu-programme__link {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:8px;
  padding:11px 16px;
  border-radius:999px;
  background:#fff;
  color:#A8527C;
  font-weight:800;
  transition:.2s ease
}
.education-page .edu-programme__link:hover {
  background:#C7A9B7;
  color:#fff;
  transform:translateY(-2px)
}
@media(max-width:700px) {
  .education-page .edu-programme__facts {
    grid-template-columns:1fr
  }
  .education-page .edu-programme {
    border-radius:20px
  }
  .education-page .edu-programme__research {
    padding:22px
  }
}
/* FACAP educational programmes 02-03 */
.education-page .edu-programme__subtitle {
  color:#C7A9B7;
  margin:-8px 0 20px;
  font-size:clamp(1.15rem,2vw,1.45rem);
}
.education-page .edu-programme__recognition {
  margin-top:34px;
  padding:24px 28px;
  border-radius:20px;
  background:#C7A9B7;
  color:#fff;
}
.education-page .edu-programme__recognition p {
  color:#fff;
  margin-bottom:0;
}
/* FACAP education overview and individual programme pages */
.education-programme-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.education-programme-card {
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(168,82,124,.16);
  border-radius:26px;
  box-shadow:0 16px 40px rgba(83,47,65,.08);
  transition:transform .25s ease,box-shadow .25s ease;
}
.education-programme-card:hover {
  transform:translateY(-6px);
  box-shadow:0 24px 55px rgba(83,47,65,.14);
}
.education-programme-card__image {
  display:block;
  overflow:hidden;
  aspect-ratio:4/3;
  background:#C7A9B7;
}
.education-programme-card__image img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}
.education-programme-card:hover .education-programme-card__image img {
  transform:scale(1.035)
}
.education-programme-card__body {
  display:flex;
  flex:1;
  flex-direction:column;
  padding:24px;
}
.education-programme-card__number {
  color:#A8527C;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:12px;
}
.education-programme-card h3 {
  color:#A8527C;
  font-family:Georgia,serif;
  font-size:clamp(1.55rem,2.6vw,2.15rem);
  margin:0 0 14px;
}
.education-programme-card p {
  color:#6f6a61;
  margin:0 0 22px
}
.education-programme-card__link {
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  color:#A8527C;
  font-weight:800;
  border-bottom:2px solid #C7A9B7;
  padding-bottom:3px;
}
.education-programme-card__link:hover {
  color:#C7A9B7;
  border-color:#A8527C
}
.programme-detail-hero {
  padding:68px 0 56px;
  background:linear-gradient(135deg,rgba(199,169,183,.22),rgba(255,255,255,.75));
  border-bottom:1px solid rgba(168,82,124,.14);
}
.programme-detail-hero__grid {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:46px;
  align-items:center;
}
.programme-back-link {
  display:inline-flex;
  margin-bottom:22px;
  color:#A8527C;
  font-weight:800;
}
.programme-detail-hero h1 {
  color:#A8527C;
  font-family:Georgia,serif;
  font-size:clamp(3rem,6.8vw,6.2rem);
  line-height:1.02;
  letter-spacing:-.04em;
  margin:18px 0 22px;
}
.programme-detail-hero__content p {
  max-width:760px;
  font-size:1.12rem;
}
.programme-detail-hero__media img {
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:26px;
  box-shadow:0 20px 55px rgba(83,47,65,.13);
}
.programme-detail {
  max-width:1000px;
  margin-inline:auto;
}
.programme-detail .edu-programme__section h2 {
  color:#A8527C;
  font-family:Georgia,serif;
  font-size:clamp(2rem,4vw,3.2rem);
  margin:0 0 18px;
}
@media(max-width:980px) {
  .education-programme-grid {
    grid-template-columns:1fr
  }
  .education-programme-card {
    display:grid;
    grid-template-columns:.9fr 1.1fr
  }
  .education-programme-card__image {
    aspect-ratio:auto;
    min-height:280px
  }
  .programme-detail-hero__grid {
    grid-template-columns:1fr
  }
}
@media(max-width:650px) {
  .education-programme-card {
    display:flex
  }
  .education-programme-card__image {
    aspect-ratio:4/3;
    min-height:0
  }
  .programme-detail-hero {
    padding:48px 0 42px
  }
  .programme-detail-hero__media img {
    border-radius:20px
  }
}



/* FACAP homepage animated background hero */
.homehero{
  position:relative;
  min-height:calc(100vh - 84px);
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
  border-bottom:1px solid var(--line);
}
.homehero__video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:-3;
}
.homehero__overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(90deg,rgba(255,255,255,.91) 0%,rgba(255,255,255,.70) 42%,rgba(168,82,124,.20) 100%);
}
.homehero__content{
  position:relative;
  z-index:1;
  padding:clamp(70px,10vh,130px) 0;
}
.homehero h1{
  max-width:1000px;
  margin:18px 0 30px;
  font-family:Georgia,serif;
  font-weight:400;
  letter-spacing:-.045em;
  line-height:.98;
  font-size:clamp(3.8rem,9vw,8.6rem);
  color:#A8527C;
}
.homehero .lead{
  max-width:760px;
  font-size:1.2rem;
  color:#40383c;
}
.homehero .eyebrow{
  color:#A8527C;
}
@media(max-width:700px){
  .homehero{
    min-height:calc(100svh - 72px);
  }
  .homehero__overlay{
    background:linear-gradient(180deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.68) 55%,rgba(199,169,183,.32) 100%);
  }
  .homehero__content{
    padding:70px 0;
  }
  .homehero h1{
    font-size:clamp(3rem,14vw,5rem);
  }
  .homehero .lead{
    font-size:1.05rem;
  }
}

/* FACAP actual header logo size */
.brand-header {
  align-items: center;
}
.brand-header .brand-logo {
  width: 72px;
  height:80px;
  object-fit: contain;
  flex: 0 0 auto;
}
@media (max-width: 700px) {
  .brand-header .brand-logo {
    width: 58px;
    height: 68px;
  }
}

/* FACAP artistic research experiential works */
.research-experiments{
  position:relative;
  margin:70px 0 90px;
  padding:clamp(28px,5vw,64px);
  border-radius:32px;
  overflow:hidden;
  background:
    radial-gradient(circle at 90% 5%,rgba(199,169,183,.38),transparent 32%),
    linear-gradient(135deg,#fbf7f9 0%,#fff 58%,#f4e9ef 100%);
  border:1px solid rgba(168,82,124,.18);
}
.research-experiments:before{
  content:"";
  position:absolute;
  width:260px;
  height:260px;
  border:1px solid rgba(168,82,124,.18);
  border-radius:50%;
  right:-100px;
  bottom:-120px;
}
.research-experiments__intro{
  display:grid;
  grid-template-columns:minmax(140px,.35fr) 1fr;
  gap:38px;
  align-items:start;
  margin-bottom:58px;
}
.research-experiments__year{
  font-family:Georgia,serif;
  font-size:clamp(3.6rem,7vw,7rem);
  line-height:.82;
  letter-spacing:-.06em;
  color:#C7A9B7;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  opacity:.95;
}
.research-experiments__kicker{
  display:block;
  margin-bottom:12px;
  color:#A8527C;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.research-experiments__intro h2{
  margin:0 0 20px;
  color:#A8527C;
  font-family:Georgia,serif;
  font-size:clamp(2.8rem,6vw,5.6rem);
  line-height:.95;
  letter-spacing:-.045em;
}
.research-experiments__intro h2 span{
  display:block;
  color:#C7A9B7;
  font-size:.52em;
  letter-spacing:-.02em;
  margin-top:8px;
}
.research-experiments__intro p{
  max-width:850px;
}
.research-experiments__timeline{
  position:relative;
  display:grid;
  gap:14px;
}
.research-experiments__timeline:before{
  content:"";
  position:absolute;
  left:29px;
  top:18px;
  bottom:18px;
  width:1px;
  background:linear-gradient(#C7A9B7,rgba(168,82,124,.12));
}
.research-experiment{
  position:relative;
  display:grid;
  grid-template-columns:60px 1fr;
  gap:24px;
  padding:27px 28px 27px 0;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(168,82,124,.12);
  border-radius:22px;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.research-experiment:hover{
  transform:translateX(6px);
  border-color:rgba(168,82,124,.3);
  box-shadow:0 18px 40px rgba(83,47,65,.08);
}
.research-experiment__index{
  position:relative;
  z-index:1;
  width:60px;
  height:60px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#A8527C;
  color:#fff;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  box-shadow:0 0 0 8px #fbf7f9;
}
.research-experiment__content h3{
  margin:0 0 9px;
  color:#A8527C;
  font-family:Georgia,serif;
  font-size:clamp(1.35rem,2.5vw,2.05rem);
  line-height:1.1;
}
.research-experiment__meta{
  color:#756d72;
  font-size:.94rem;
  margin:0 0 14px;
}
.research-experiment__type{
  display:inline-block;
  margin-bottom:8px;
  color:#C7A9B7;
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.research-experiment__link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:8px;
  padding:9px 14px;
  border-radius:999px;
  background:#A8527C;
  color:#fff !important;
  border:0 !important;
  font-size:.84rem;
  font-weight:800;
  text-decoration:none !important;
  transition:background .2s ease,transform .2s ease;
}
.research-experiment__link:hover{
  background:#C7A9B7;
  color:#fff !important;
  transform:translateY(-2px);
}
.research-experiment--performance{
  background:linear-gradient(135deg,rgba(168,82,124,.08),rgba(255,255,255,.9));
}
.research-experiment--video{
  background:linear-gradient(135deg,rgba(199,169,183,.18),rgba(255,255,255,.9));
}
@media(max-width:700px){
  .research-experiments{
    margin:48px 0 60px;
    padding:24px 18px;
    border-radius:22px;
  }
  .research-experiments__intro{
    grid-template-columns:1fr;
    gap:18px;
    margin-bottom:38px;
  }
  .research-experiments__year{
    writing-mode:initial;
    transform:none;
    font-size:3.2rem;
  }
  .research-experiments__timeline:before{
    left:24px;
  }
  .research-experiment{
    grid-template-columns:48px 1fr;
    gap:16px;
    padding:20px 16px 22px 0;
    border-radius:18px;
  }
  .research-experiment__index{
    width:48px;
    height:48px;
    box-shadow:0 0 0 6px #fbf7f9;
    font-size:.7rem;
  }
  .research-experiment:hover{
    transform:none;
  }
}

/* FACAP global H2 size */
h2 {
  font-size: 2rem;
}


/* FACAP project body H2 size */
.projectbody h2 {
  font-size: 1.9rem;
}



/* FACAP sponsors and communities logo grid */
.sponsors-heading{
  color:#A8527C;
  margin-top:64px;
}
.sponsors-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin:24px 0 10px;
}
.sponsor-logo{
  min-height:170px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  border:1px solid rgba(168,82,124,.14);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(199,169,183,.10),#fff);
  box-shadow:0 12px 30px rgba(83,47,65,.05);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.sponsor-logo:hover{
  transform:translateY(-4px);
  border-color:rgba(168,82,124,.28);
  box-shadow:0 18px 38px rgba(83,47,65,.10);
}
.sponsor-logo img{
  display:block;
  width:100%;
  height:120px;
  object-fit:contain;
  transition:transform .3s ease;
}
.sponsor-logo:hover img{
  transform:scale(1.04);
}
@media(max-width:900px){
  .sponsors-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:600px){
  .sponsors-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  .sponsor-logo{
    min-height:150px;
  }
}

/* FACAP About background video */


/* Contact form status */
.form-status{
  min-height:1.4em;
  margin:.75rem 0 0;
  font-size:.95rem;
  line-height:1.5;
}
.form-status.success{
  color:#A8527C;
}
.form-status.error{
  color:#9b2c2c;
}
.form button:disabled{
  opacity:.65;
  cursor:not-allowed;
}

/* FACAP educational intro copy */
.education-intro-copy{
  padding:1rem 0 2rem;
}
.education-copy{
  max-width:900px;
}
.education-copy h2{
  margin-top:2.5rem;
  margin-bottom:1rem;
  color:#A8527C;
  font-size:2rem;
}
.education-copy h2:first-child{
  margin-top:0;
}
.education-copy p{
  margin-bottom:1.25rem;
}
.education-copy ul{
  margin:1rem 0 0;
  padding-left:1.4rem;
}
.education-copy li{
  margin:.45rem 0;
}


/* FACAP Projects page */
.projects-feature{
  margin-bottom:2rem;
}
.projects-feature img{
  width:100%;
  display:block;
  border-radius:18px;
}
.projects-video{
  margin:2.5rem 0 3rem;
}
.projects-video .video-frame{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:18px;
  background:#111;
}
.projects-video iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.projects-animation{
  margin:3rem 0;
}
.projects-animation img{
  width:100%;
  display:block;
  border-radius:18px;
}
.projects-editions-title{
  margin-top:3.5rem;
}
.edition-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.5rem;
  margin:2rem 0 3.5rem;
}
.edition-card{
  overflow:hidden;
  border:1px solid rgba(168,82,124,.18);
  border-radius:20px;
  background:rgba(199,169,183,.10);
  transition:transform .3s ease,box-shadow .3s ease;
}
.edition-card:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 45px rgba(0,0,0,.08);
}
.edition-card__image{
  aspect-ratio:16/9;
  overflow:hidden;
}
.edition-card__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.edition-card__body{
  padding:1.5rem;
}
.edition-card__body h3{
  margin:.35rem 0 .8rem;
  color:#A8527C;
  font-size:1.7rem;
}
.edition-year{
  display:block;
  color:#A8527C;
  font-size:.85rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:600;
}
.text-link{
  color:#A8527C;
  font-weight:600;
  text-decoration:none;
}
.projects-gallery-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
  margin-top:1.5rem;
}
.projects-gallery-grid img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
  border-radius:14px;
  transition:transform .3s ease;
}
.projects-gallery-grid img:hover{
  transform:scale(1.025);
}
@media (max-width:900px){
  .edition-grid{
    grid-template-columns:1fr;
  }
  .projects-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:600px){
  .projects-gallery-grid{
    grid-template-columns:1fr;
  }
  .projects-gallery-grid img{
    height:auto;
  }
}

/* FACAP project video embeds */
.project-video-grid{
display:grid;
grid-template-columns:1fr;
gap:2.5rem;
}
.project-video h3{font-size:1.05rem;margin:0 0 .75rem}
.project-video .video-frame{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:16px;background:#111}
.project-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (max-width:900px){.project-video-grid{
display:grid;
grid-template-columns:1fr;
gap:2.5rem;
}}

/* Love page video layout */
.project-video-grid {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  max-width: 100%;
}

.project-video {
  width: 100%;
}

.project-video .video-frame,
.project-video .video-frame iframe {
  width: 100%;
}

.project-video .video-frame {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 18px;
  background: #111;
}

.project-video .video-frame iframe {
  position: absolute;
  inset: 0;
  height: 100%;
  border: 0;
}

@media (max-width: 700px) {
  .project-video-grid {
    gap: 2rem;
  }
}

/* Love Mural 2025 Impact section */
.project-impact{
  margin-top:3.5rem;
}
.project-impact h2{
  color:#A8527C;
}
.project-impact-video{
  margin-top:2.5rem;
}
.project-impact-video .video-frame{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:18px;
  background:#111;
}
.project-impact-video iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

/* Love 2025 order and impact */
.project-impact{
  margin-top:3.5rem;
}
.project-impact h2{
  color:#A8527C;
}
.project-impact-video{
  margin-top:2.5rem;
}
.project-impact-video .video-frame{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:18px;
  background:#111;
}
.project-impact-video iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

/* Research collective practice video */
.research-video{
  width:100%;
  margin:2.5rem 0 3rem;
}
.research-video .video-frame{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:18px;
  background:#111;
}
.research-video iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

/* Education: requested background changes only */
body.education-page .programme-detail-hero {
  background: transparent;
}

body.education-page .edu-programme__research {
  background: transparent;
  border-top: 1px solid var(--line);
  color: var(--ink);
}

/* Education research/recognition — requested changes only */
body.education-page .edu-programme__research {
  border-radius: 0;
}
body.education-page .edu-programme__research p {
  color: #000;
}

/* Education research title matches programme h2 */
body.education-page .edu-programme__research-label {
  font-size: 2rem;
  line-height: 1.2;
  font-weight: 600;
  color: var(--ink);
  margin: 0 0 1rem;
}

/* Education programme playlist */
.education-programme-video {
  width:100%;
  margin:2.5rem 0 3rem;
}
.education-programme-video .video-frame {
  position:relative;
  width:100%;
  aspect-ratio:16 / 9;
  overflow:hidden;
  border-radius:18px;
  background:#111;
}
.education-programme-video iframe {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}

/* FACAP Educational Programmes dropdown */
.education-menu {
  position:relative;
  display:flex;
  align-items:center;
  gap:4px;
}
.education-menu>a {
  font-size:.93rem;
  font-weight:700;
}
.education-drop-toggle {
  border:0;
  background:transparent;
  color:var(--ink);
  padding:8px 4px;
  cursor:pointer;
  font-size:.8rem;
  line-height:1;
  transition:.2s;
}
.education-menu:hover .education-drop-toggle,
.education-menu:focus-within .education-drop-toggle {
  color:#A8527C;
  transform:rotate(180deg);
}
.education-dropdown {
  position:absolute;
  top:calc(100% + 18px);
  left:0;
  min-width:300px;
  max-width:390px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:8px;
  box-shadow:0 18px 45px rgba(168,82,124,.16);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:.22s ease;
  z-index:50;
}
.education-dropdown:before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:-20px;
  height:20px;
}
.education-menu:hover .education-dropdown,
.education-menu:focus-within .education-dropdown,
.education-menu.open .education-dropdown {
  opacity:1;
  visibility:visible;
  transform:none;
}
.education-dropdown a {
  display:block;
  padding:11px 12px;
  border-radius:9px;
  white-space:normal;
  line-height:1.3;
}
.education-dropdown a:hover,
.education-dropdown a.active {
  background:#f4edf1;
  color:#A8527C;
}
.mobile-education-row {
  display:flex;
  align-items:center;
  border-bottom:1px solid var(--line);
}
.mobile-education-row>a {
  flex:1;
  border-bottom:0!important;
}
.mobile-education-toggle {
  border:0;
  background:transparent;
  font-size:1.2rem;
  padding:16px 8px;
  cursor:pointer;
  color:var(--ink);
  transition:.2s;
}
.mobile-education-row.open .mobile-education-toggle {
  transform:rotate(180deg);
  color:#A8527C;
}
.mobile-education-sub {
  display:none;
  padding:0 0 8px 18px;
}
.mobile-education-sub.open {
  display:block;
}
.mobile-education-sub a {
  font-size:1.03rem!important;
  padding:10px 0!important;
  color:#A8527C;
  line-height:1.35;
}
@media(max-width:900px) {
  .education-menu {
    display:none;
  }
}

/* About hero video only */
.about-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.about-hero-video{
  position:absolute;
  inset:0;
  z-index:-2;
  overflow:hidden;
  pointer-events:none;
}
.about-hero-video video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.about-hero-overlay{
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:rgba(255,255,255,.3);
}
.about-hero > .container{
  position:relative;
  z-index:1;
}

/* About page visual refinement */
.about-content{
  max-width:960px;
}

.about-heading{
  display:flex;
  align-items:center;
  gap:1rem;
  margin:3.5rem 0 1.35rem;
}

.about-heading h2{
  margin:0;
  color:#A8527C;
}

.about-heading-line{
  width:34px;
  height:2px;
  flex:0 0 34px;
  background:#A8527C;
}

.about-content > p:first-of-type{
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.22rem;
  line-height:1.7;
  color:var(--ink);
}

.about-activities-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.15rem;
  margin:2rem 0 1rem;
}

.about-activity-card{
  position:relative;
  padding:1.7rem;
  min-height:230px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.58);
  overflow:hidden;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}

.about-activity-card::after{
  content:"";
  position:absolute;
  width:90px;
  height:90px;
  right:-35px;
  bottom:-35px;
  border-radius:50%;
  background:rgba(168,82,124,.08);
}

.about-activity-card:hover{
  transform:translateY(-5px);
  box-shadow:0 16px 38px rgba(0,0,0,.08);
  border-color:rgba(168,82,124,.28);
}

.about-activity-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  margin-bottom:1.5rem;
  border-radius:50%;
  background:#A8527C;
  color:#fff;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.06em;
}

.about-activity-card h3{
  margin:0 0 .75rem;
}

.about-activity-card p{
  margin:0;
  position:relative;
  z-index:1;
}

@media(max-width:850px){
  .about-activities-grid{
    grid-template-columns:1fr;
  }
  .about-heading{
    margin-top:2.75rem;
  }
}

/* FACAP global title treatment */
.section-head .section-title,
.section-head h2,
.rich > h2,
.rich h2,
.projectbody > h2,
.projectbody h2,
.edu-programme__section > h2,
.edu-programme__section h2,
.edu-programme__research-label {
  color:#A8527C;
}

/* Add the same small editorial accent used on the About page. */
.section-head .section-title,
.section-head h2,
.rich > h2,
.projectbody > h2,
.edu-programme__section > h2 {
  position:relative;
  display:flex;
  align-items:center;
  gap:1rem;
}

.section-head .section-title::before,
.section-head h2::before,
.rich > h2::before,
.projectbody > h2::before,
.edu-programme__section > h2::before {
  content:"";
  display:block;
  width:34px;
  height:2px;
  flex:0 0 34px;
  background:#A8527C;
}

/* Subtitles / supporting copy keep the site's existing typography and colour,
   with a slightly clearer editorial hierarchy. */
.section-head .section-copy,
.section-head p,
.rich > h2 + p,
.projectbody > h2 + p,
.edu-programme__section > h2 + p {
  max-width:850px;
}

/* Mobile: keep the title accent compact. */
@media(max-width:700px){
  .section-head .section-title,
  .section-head h2,
  .rich > h2,
  .projectbody > h2,
  .edu-programme__section > h2 {
    gap:.75rem;
  }

  .section-head .section-title::before,
  .section-head h2::before,
  .rich > h2::before,
  .projectbody > h2::before,
  .edu-programme__section > h2::before {
    width:24px;
    flex-basis:24px;
  }
}

/* FACAP contact page refinement */
.contact-section{
  padding-top:72px;
  padding-bottom:90px;
}

.contact-section .contact{
  display:grid;
  grid-template-columns:minmax(260px,.82fr) minmax(420px,1.18fr);
  gap:clamp(28px,5vw,76px);
  align-items:start;
}

.contact-section .contact > .rich{
  padding:1rem 0 1rem 24px;
  border-left:2px solid #A8527C;
}

.contact-section .contact > .rich h2{
  color:#A8527C;
  margin-top:0;
}

.contact-section .contact > .rich p{
  margin-bottom:1.5rem;
}

.contact-section .contact > .rich strong{
  display:inline-block;
  margin-bottom:.2rem;
  color:var(--ink);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.contact-section .contact > .rich a:hover{
  color:#A8527C;
}

.contact-section .form{
  background:rgba(255,255,255,.72);
  border:1px solid var(--line);
  border-radius:20px;
  padding:clamp(24px,4vw,40px);
  box-shadow:0 18px 45px rgba(0,0,0,.05);
}

.contact-section .form input:not([type="hidden"]),
.contact-section .form textarea{
  width:100%;
  border:1px solid #d8cbd0;
  border-radius:10px;
  background:#fff;
  padding:13px 14px;
  font:inherit;
  color:var(--ink);
  transition:border-color .2s ease,box-shadow .2s ease;
}

.contact-section .form textarea{
  min-height:170px;
  resize:vertical;
}

.contact-section .form input:not([type="hidden"]):focus,
.contact-section .form textarea:focus{
  outline:none;
  border-color:#A8527C;
  box-shadow:0 0 0 3px rgba(168,82,124,.10);
}

.contact-section .form button{
  border:0;
  border-radius:999px;
  background:#A8527C;
  color:#fff;
  padding:13px 24px;
  font:inherit;
  font-weight:700;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease;
}

.contact-section .form button:hover{
  background:#8f4269;
  transform:translateY(-2px);
}

.contact-section .form-status{
  margin:.8rem 0 0;
}

@media(max-width:850px){
  .contact-section{
    padding-top:52px;
    padding-bottom:65px;
  }

  .contact-section .contact{
    grid-template-columns:1fr;
  }

  .contact-section .form{
    padding:24px;
  }
}


/* FACAP research mobile content safeguard */
body.research-page .layout{
  min-width:0;
}
body.research-page .layout > .rich{
  min-width:0;
  width:100%;
}
body.research-page .layout > .rich img,
body.research-page .layout > .rich iframe{
  max-width:100%;
}
@media(max-width:900px){
  body.research-page .layout{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:34px;
  }
  body.research-page .side{
    width:100%;
  }
  body.research-page .layout > .rich{
    width:100%;
    min-width:0;
    overflow-wrap:anywhere;
  }
  body.research-page .research-video,
  body.research-page .video-frame{
    width:100%;
    max-width:100%;
  }
  body.research-page .video-frame iframe{
    display:block;
    width:100%;
    max-width:100%;
  }
}

/* FACAP mobile content visibility safeguard */
@media(max-width:900px){
  .layout{
    min-width:0;
    width:100%;
  }
  .layout > .rich{
    min-width:0;
    width:100%;
  }
  .layout > .rich img,
  .layout > .rich iframe,
  .project-video-grid iframe{
    max-width:100%;
  }
}

/* FACAP mobile page gutters */
@media(max-width:620px){
  .container{
    width:100%;
    max-width:none;
    padding-left:22px;
    padding-right:22px;
    box-sizing:border-box;
  }

  .section,
  .pagehero,
  .footer{
    overflow-x:clip;
  }

  .hero .container,
  .pagehero .container,
  .section .container,
  .footer .container{
    padding-left:22px;
    padding-right:22px;
  }
}

/* FACAP projects sticky layout */
.projects-page .layout > .rich{
  min-width:0;
}
.projects-page .layout > .rich img,
.projects-page .layout > .rich iframe{
  max-width:100%;
}


/* FACAP homepage hero title and slogan */
.homehero .homehero-title{
  font-size:3rem !important;
  line-height:1.12;
}
.homehero .homehero-slogan{
  margin:0.8rem 0 0;
  font-family:Georgia, "Times New Roman", serif;
  font-size:1.45rem;
  line-height:1.45;
  font-style:italic;
  font-weight:400;
  letter-spacing:.01em;
  max-width:760px;
}
@media(max-width:620px){
  .homehero .homehero-title{
    font-size:2rem !important;
  }
  .homehero .homehero-slogan{
    font-size:1.2rem;
  }
}

/* FACAP title and subtitle refinement */
/* Keep page titles consistent and more restrained across desktop and mobile. */
.pagehero h1,
.programme-detail-hero h1 {
  font-size:3rem;
}

.pagehero .lead,
.programme-detail-hero__content > p {
  font-style:italic;
  color:#A8527C;
}

/* Educational Programmes: reduce intermediate section-heading scale. */
.education-page .section-head h2,
.education-page .education-copy h2,
.education-page .edu-programme__section h2,
.education-page .edu-programme__research-label,
.programme-detail .edu-programme__section h2 {
  font-size:2rem;
}

@media(max-width:700px) {
  .pagehero h1,
  .programme-detail-hero h1 {
    font-size:2.35rem;
  }

  .education-page .section-head h2,
  .education-page .education-copy h2,
  .education-page .edu-programme__section h2,
  .education-page .edu-programme__research-label,
  .programme-detail .edu-programme__section h2 {
    font-size:1.65rem;
  }
}

/* Homepage News & Updates */
.news-updates .news-item {
  display:grid;
  grid-template-columns:minmax(280px, 0.9fr) minmax(320px, 1.1fr);
  gap:2.5rem;
  align-items:start;
}
.news-updates .news-item__image img {
  display:block;
  width:100%;
  height:auto;
  max-height:520px;
  object-fit:cover;
}
.news-updates .news-item__content h3 {
  margin-top:0;
}
.news-updates .news-item__content p {
  margin-bottom:1rem;
}
@media (max-width:700px) {
  .news-updates .news-item {
    grid-template-columns:1fr;
    gap:1.5rem;
  }
}

.projects-video--additional {
  margin-top: 2.5rem;
}

.community-video {
  margin: 1.5rem 0 2rem;
}

/* Artistic Research — collaboration highlight */
.research-collaboration-carousel {
  margin: 4.5rem 0 5rem;
  padding: 2.75rem;
  border: 1px solid rgba(168,82,124,.22);
  background: linear-gradient(135deg, rgba(168,82,124,.07), rgba(255,255,255,.55));
}
.research-collaboration-carousel__header {
  margin-bottom: 2.25rem;
}
.research-collaboration-carousel__header h2 {
  margin: .35rem 0 0;
  max-width: 700px;
}
.research-collaboration-stack__item {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 1.5rem;
  padding: 2rem 0;
  border-top: 1px solid rgba(168,82,124,.22);
}
.research-collaboration-stack__item:last-child {
  border-bottom: 1px solid rgba(168,82,124,.22);
}
.research-collaboration-stack__number {
  font-size: .75rem;
  letter-spacing: .16em;
  color: #A8527C;
  padding-top: .45rem;
}
.research-collaboration-stack__item .research-carousel-slide__stat {
  font-size: 4.5rem;
  line-height: .9;
  font-weight: 500;
  letter-spacing: -.06em;
  color: #A8527C;
  margin-bottom: .75rem;
}
.research-collaboration-stack__item .research-carousel-slide__stat span {
  font-size: .55em;
}
.research-collaboration-stack__item .research-carousel-slide__label {
  font-size: 2rem;
  line-height: 1.1;
  font-weight: 500;
  margin: .15rem 0 .75rem;
}
.research-collaboration-stack__item p {
  margin: 0;
  max-width: 900px;
  font-size: 1.05rem;
  line-height: 1.75;
}
@media(max-width:700px) {
  .research-collaboration-carousel {
    margin: 3rem 0 3.5rem;
    padding: 1.5rem;
  }
  .research-collaboration-carousel__header h2 {
    font-size: 1.65rem;
  }
  .research-collaboration-stack__item {
    grid-template-columns: 28px 1fr;
    gap: .9rem;
    padding: 1.5rem 0;
  }
  .research-collaboration-stack__item .research-carousel-slide__stat {
    font-size: 3.75rem;
  }
  .research-collaboration-stack__item .research-carousel-slide__label {
    font-size: 1.5rem;
  }
  .research-collaboration-stack__item p {
    font-size: 1rem;
    line-height: 1.65;
  }
}

/* Tally contact form */
.tally-contact-form {
  width: 100%;
  overflow: hidden;
}
.tally-contact-form iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  border: 0;
}

/* FACAP — refined heading scale */
/* Main page and section headings */
.pagehero h1,
.programme-detail-hero h1 {
  font-size: 2.85rem;
}

.about-heading h2,
.section h2,
.sectionhead h2,
.education-programme-card h3,
.edu-programme__section h2,
.programme-detail .edu-programme__section h2 {
  font-size: 1.85rem;
}

.about-content h3,
.section h3,
.education-programme-card h3 {
  font-size: 1.35rem;
}

.pagehero .lead,
.programme-detail-hero__content > p,
.pagehero p {
  font-size: 1.05rem;
}

@media (max-width:700px) {
  .pagehero h1,
  .programme-detail-hero h1 {
    font-size: 2.35rem;
  }

  .about-heading h2,
  .section h2,
  .sectionhead h2,
  .education-programme-card h3,
  .edu-programme__section h2,
  .programme-detail .edu-programme__section h2 {
    font-size: 1.55rem;
  }

  .about-content h3,
  .section h3,
  .education-programme-card h3 {
    font-size: 1.2rem;
  }

  .pagehero .lead,
  .programme-detail-hero__content > p,
  .pagehero p {
    font-size: 1rem;
  }
}

/* Love Mural Festival 2023 — sponsors & supporters */
.project-sponsors{margin-top:5rem;padding-top:2.5rem;border-top:1px solid rgba(0,0,0,.14);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4rem}
.project-sponsor-group h2{margin:0 0 1.5rem;font-size:1.35rem;font-weight:500}
.project-sponsor-logo{display:flex;align-items:center;min-height:100px}
.project-sponsor-logo img{display:block;width:auto;height:auto;max-width:100%;max-height:105px;object-fit:contain;object-position:left center}
.project-sponsor-logo--limassol img{max-width:330px}
.project-sponsor-logo--enosis img{max-width:300px}
@media(max-width:700px){.project-sponsors{grid-template-columns:1fr;gap:2.75rem;margin-top:3.5rem;padding-top:2rem}.project-sponsor-logo img{max-width:100%;max-height:90px}}

/* Artistic Research — image immediately after hero */
.research-intro-image{padding:2.5rem 0 0}
.research-intro-image img{display:block;width:100%;height:auto;max-height:680px;object-fit:cover}
@media(max-width:700px){.research-intro-image{padding-top:1.5rem}.research-intro-image img{max-height:none}}

/* Love Mural Festival 2025 — OPAP logo */
.love-mural-2025-logo-opap,
img[src*="love-mural-2025-logo-opap.webp"] {
  max-height: 200px;
}


/* Love Mural Festival 2023 — Media Sponsor & Supporters */
.project-sponsors{
  margin-top:72px;
  padding-top:0;
  border-top:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:48px;
}
.project-sponsor-group{
  border-top:1px solid rgba(0,0,0,.13);
  padding-top:0;
}
.project-sponsor-group h2{
  color:#A8527C;
  margin:38px 0 26px;
  font-size:1.85rem;
  line-height:1.15;
  font-weight:500;
  display:flex;
  align-items:center;
  gap:22px;
}
.project-sponsor-group h2::before{
  content:"";
  display:block;
  width:48px;
  height:3px;
  flex:0 0 48px;
  background:#A8527C;
}
.project-sponsor-logo{
  min-height:205px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:30px;
  border:1px solid rgba(168,82,124,.18);
  border-radius:28px;
  background:linear-gradient(135deg,rgba(199,169,183,.07),#fff);
  box-shadow:0 14px 34px rgba(83,47,65,.045);
}
.project-sponsor-logo img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:150px;
  object-fit:contain;
}
.project-sponsor-logo--limassol img{max-width:430px}
.project-sponsor-logo--enosis img{max-width:390px}

@media(max-width:600px){
  .project-sponsors{
    grid-template-columns:1fr;
    gap:42px;
    margin-top:52px;
  }
  .project-sponsor-group h2{
    font-size:1.55rem;
    margin:28px 0 20px;
    gap:14px;
  }
  .project-sponsor-group h2::before{
    width:34px;
    flex-basis:34px;
    height:2px;
  }
  .project-sponsor-logo{
    min-height:175px;
    border-radius:22px;
    padding:24px;
  }
  .project-sponsor-logo img{max-height:120px}
  .project-sponsor-logo--limassol img,
  .project-sponsor-logo--enosis img{max-width:100%}
}
