@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");
:root {
  --key-color:#1B9AAA;
  --pop:#FF6B6B;
  --ground:#F5FAFB;
  --gray-bg:#E8F4F6;
  --copy:#1E3A40;
  --copy-light:#5A8A90;
  --edge:#E8F4F6;
  --display-font:"Inter",sans-serif;
  --body-ff:"Inter",sans-serif;
  --corner:8px;
  --box-corner:12px;
  --button-round:8px;
  --tile-shadow:0 2px 12px rgba(0,0,0,.04);
  --top-h:62px
}
*,*::before,*::after {
  margin:0;
  padding:0;
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--top-h)+20px)
}
body {
  font-family:var(--body-ff);
  background:var(--ground);
  color:var(--copy);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden
}
h1,h2,h3,h4,h5,h6 {
  font-family:var(--display-font);
  line-height:1.3
}
a {
  color:var(--key-color);
  text-decoration:none;
  transition:color .3s;
  cursor:pointer
}
a:hover {
  color:var(--pop)
}
img {
  max-width:100%;
  height:auto;
  display:block
}
.inner {
  max-width:1200px;
  margin:0 auto;
  padding:0 24px
}
.hdr {
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:1000;
  height:62px;
  background:#F5FAFB;
  border-bottom:1px solid rgba(255,255,255,0.05);
  box-shadow:0 2px 8px rgba(0,0,0,0.06);
  transition:all .3s
}
.hdr.scroll-active {
  box-shadow:0 2px 20px rgba(0,0,0,0.1);
}
.top-inner {
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:100%
}
.brand {
  font-size:1.35rem;
  font-weight:700;
  letter-spacing:0.5px;
  color:var(--copy);
  font-family:var(--display-font);
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  cursor:pointer
}
.brand img {
  height:36px;
  width:auto
}
.nav-menu {
  display:flex;
  align-items:center;
  gap:22px
}
.nav-menu a {
  font-size:0.9rem;
  font-weight:600;
  letter-spacing:0.8px;
  color:var(--copy-light);
  position:relative;
  transition:color .3s;
  text-decoration:none;
  cursor:pointer
}
.nav-menu a:hover,.nav-menu a.active {
  color:var(--key-color)
}
.nav-menu a:hover,.nav-menu a.active {
  background:#1B9AAA;
  color:#fff;
  border-radius:8px;
  padding:6px 14px
}
.toggle-nav {
  display:none;
  cursor:pointer;
  padding:8px;
  border:none;
  background:none;
  z-index:1002;
  width:40px;
  height:40px;
  position:relative
}
.toggle-nav span {
  display:block;
  width:20px;
  height:2px;
  background:var(--copy);
  border-radius:2px;
  transition:all 0.25s ease;
  position:absolute;
  left:50%;
  transform:translateX(-50%)
}
.toggle-nav span:nth-child(1) {
  top:8px
}
.toggle-nav span:nth-child(2) {
  top:50%;
  transform:translate(-50%,-50%)
}
.toggle-nav span:nth-child(3) {
  bottom:8px
}
.toggle-nav.is-open span:nth-child(1) {
  top:50%;
  transform:translate(-50%,-50%) rotate(45deg)
}
.toggle-nav.is-open span:nth-child(2) {
  opacity:0
}
.toggle-nav.is-open span:nth-child(3) {
  top:50%;
  bottom:auto;
  transform:translate(-50%,-50%) rotate(-45deg)
}
.side-menu {
  position:absolute;
  top:100%;
  left:0;
  width:100%;
  max-height:0;
  overflow:hidden;
  transition:max-height 0.25s ease;
  background:rgba(255,255,255,1);
  z-index:1001;
  display:flex;
  flex-direction:column;
  padding-top:92px;
  padding-left:30px;
  padding-right:30px;
  pointer-events:none
}
.side-menu.is-open {
  pointer-events:auto
}
.side-menu.is-open {
  max-height:100vh
}
.side-menu a {
  display:block;
  padding:32px 0;
  font-size:1.1rem;
  font-weight:600;
  color:var(--copy);
  text-decoration:none;
  border-bottom:1px solid var(--edge);
  transition:color .3s;
  cursor:pointer;
}
.side-menu a:hover {
  color:var(--key-color)
}
.shade {
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,0.5);
  z-index:1000;
  opacity:0;
  transition:opacity .3s;
  display:none;
  pointer-events:none
}
.shade.is-visible {
  display:block;
  opacity:1;
  pointer-events:auto
}
.intro-block {
  min-height:70vh;
  display:grid;
  grid-template-columns:50% 50%;
  padding:0;
  position:relative;
  overflow:hidden;
  text-align:left
}
.splash-visual {
  min-height:70vh;
  background:linear-gradient(135deg,#1B9AAAdd,#FF6B6Baa),url(static/img/hero-bg.png) center/cover no-repeat;
  background-size:cover
}
.hero-copy-col {
  display:flex;
  align-items:center;
  padding:102px 48px 40px;
  background:#F5FAFB
}
.showcase-text {
  max-width:560px
}
.showcase-text h1 {
  font-size:clamp(1.8rem,4vw,3rem);
  font-weight:800;
  margin-bottom:20px;
  color:#1E3A40
}
.showcase-text p {
  font-size:clamp(0.95rem,1.5vw,1.15rem);
  color: {
    textLight
  }
  ;
  margin-bottom:32px;
  max-width:500px
}
.intro-ctas {
  display:flex;
  gap:16px;
  justify-content:flex-start;
  flex-wrap:wrap;
  width:100%
}
.cta-outline {
  background:transparent;
  color:#1B9AAA;
  border-color:#1B9AAA
}
.cta-outline:hover {
  background:#1B9AAA;
  color:#F5FAFB
}
.intro-block {
  text-align:left
}
.banner-inner {
  display:grid;
  grid-template-columns:55% 45%;
  gap:40px;
  align-items:center;
  max-width:1200px;
  margin:0 auto;
  padding:0 24px
}
.intro-ctas {
  justify-content:flex-start
}
.cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 32px;
  border-radius:var(--button-round);
  font-weight:600;
  font-size:0.95rem;
  cursor:pointer;
  transition:all .3s;
  border:2px solid transparent;
  text-decoration:none;
  font-family:var(--body-ff)
}
.click-primary {
  background:#1B9AAA;
  color:#fff;
  border:2px solid #1B9AAA;
}
.click-primary:hover {
  background:transparent;
  color:#1B9AAA;
}
section {
  padding:80px 0
}
.seg-bg-alt {
  background:var(--gray-bg)
}
section:nth-child(even) {
  background:var(--gray-bg)
}
.area-title {
  text-align:center;
  margin-bottom:48px
}
.area-title h2 {
  font-size:clamp(1.5rem,3vw,2.2rem);
  font-weight:700;
  margin-bottom:12px
}
.area-title p {
  color:var(--copy-light);
  font-size:1.05rem;
  max-width:600px;
  margin:0 auto
}
.section-header-left {
  text-align:left
}
.section-header-left-line {
  text-align:left;
  border-left:4px solid var(--key-color);
  padding-left:16px
}
.seg-divider {
  display:block
}
.dual-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:32px;
  align-items:center
}
.triple-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px
}
.col-4 {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px
}
.panel {
  background:var(--gray-bg);
  border:1px solid var(--edge);
  border-radius:var(--box-corner);
  padding:32px;
  transition:all .3s;
  box-shadow:var(--tile-shadow)
}
.panel:hover {
  border-top:3px solid #1B9AAA;
  margin-top:-3px;
  box-shadow:0 8px 25px rgba(0,0,0,0.08);
}
.panel h3 {
  font-size:1.15rem;
  font-weight:600;
  margin-bottom:12px
}
.panel p {
  color:var(--copy-light);
  font-size:0.95rem;
  line-height:1.7
}
.overview-text-center {
  max-width:720px;
  margin:0 auto
}
.bg-intro {
  max-width:720px;
  margin:0 auto 40px
}
.block-image {
  border-radius:var(--box-corner);
  width:100%;
  height:auto
}
.era-track {
  position:relative;
  padding-left:40px;
  max-width:700px;
  margin:0 auto
}
.era-track::before {
  content:"";
  position:absolute;
  left:18px;
  top:0;
  bottom:0;
  width:2px;
  background:var(--edge)
}
.history-item {
  position:relative;
  margin-bottom:32px
}
.period-dot {
  position:absolute;
  left:-30px;
  top:6px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--key-color);
  border:2px solid var(--ground)
}
.period-year {
  font-size:0.85rem;
  color:var(--key-color);
  font-weight:600
}
.period-body h3 {
  font-size:1.05rem;
  margin:4px 0 8px
}
.box-inline {
  display:flex;
  gap:20px;
  align-items:flex-start
}
.box-inline .module-icon {
  font-size:1.5rem;
  flex-shrink:0;
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#1B9AAA11;
  border-radius:var(--corner);
  color:var(--key-color)
}
.what-row {
  display:flex;
  gap:24px;
  align-items:flex-start;
  padding:24px 0;
  border-bottom:1px solid var(--edge)
}
.offering-row-rev {
  flex-direction:row-reverse
}
.offering-icon {
  font-size:1.5rem;
  flex-shrink:0;
  width:56px;
  height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#1B9AAA11;
  border-radius:var(--corner);
  color:var(--key-color)
}
.capabilities-list {
  max-width:800px;
  margin:0 auto
}
.glyph-card {
  text-align:center;
  padding:24px
}
.glyph-card .ico-card-icon {
  font-size:2rem;
  margin-bottom:12px;
  color:var(--key-color)
}
.glyph-card h3 {
  font-size:1rem;
  margin-bottom:8px
}
.glyph-card p {
  font-size:0.9rem;
  color:var(--copy-light)
}
.what-accordion {
  max-width:800px;
  margin:0 auto
}
.tab-section {
  max-width:800px;
  margin:0 auto
}
.tab-bar {
  display:flex;
  gap:4px;
  border-bottom:2px solid var(--edge);
  margin-bottom:24px;
  overflow-x:auto
}
.tab-control {
  padding:12px 20px;
  border:none;
  background:none;
  font-size:0.95rem;
  font-weight:500;
  color:var(--copy-light);
  cursor:pointer;
  border-bottom:2px solid transparent;
  margin-bottom:-2px;
  transition:all .3s;
  font-family:var(--body-ff);
  white-space:nowrap
}
.tab-control.active,.tab-control:hover {
  color:var(--key-color);
  border-bottom-color:var(--key-color)
}
.tab-page {
  display:none;
  padding:20px 0
}
.tab-page.active {
  display:block
}
.flow-grid {
  columns:3;
  column-gap:24px
}
.flow-grid .panel,.flow-grid .flow-card {
  break-inside:avoid;
  margin-bottom:24px;
  display:inline-block;
  width:100%
}
.support-list {
  max-width:800px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:12px
}
.help-item {
  background:#0A3F45;
  border:none;
  border-radius:12px;
  overflow:hidden;
  transition:background .3s
}
.help-item:hover {
  background:#1B9AAA08
}
.qa-trigger {
  width:100%;
  padding:20px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  cursor:pointer;
  border:none;
  background:none;
  font-size:1.05rem;
  font-weight:600;
  color:var(--copy);
  font-family:var(--body-ff);
  text-align:left;
  user-select:none;
  outline:none
}
.qa-trigger:hover {
  color:var(--key-color)
}
.ask-body {
  overflow:hidden;
  max-height:0;
  opacity:0;
  padding:0 24px;
  transition:max-height .4s ease,opacity .3s ease,padding .3s ease
}
.help-item.is-open .ask-body {
  max-height:600px;
  opacity:1;
  padding:0 0 20px 0
}
.ask-body p {
  color:var(--copy-light);
  line-height:1.7;
  font-size:0.95rem
}
.question-icon {
  flex-shrink:0;
  margin-left:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  font-size:1.2rem;
  transition:transform .3s;
  color:#5A8A90
}
.question-icon::before {
  content:"+"
}
.help-item.is-open .question-icon {
  transform:rotate(45deg)
}
.ask-2col .support-list {
  max-width:none
}
.question-card h3 {
  font-size:1rem;
  color:var(--key-color);
  margin-bottom:8px
}
.question-card p {
  font-size:0.9rem
}
.support-grouped {
  max-width:800px;
  margin:0 auto
}
.faq-category {
  margin-bottom:32px
}
.qa-group-head {
  font-size:1.1rem;
  font-weight:600;
  color:var(--key-color);
  margin-bottom:16px;
  padding-bottom:8px;
  border-bottom:2px solid #1B9AAA22
}
.quote-box {
  background:var(--gray-bg);
  border:1px solid var(--edge);
  border-radius:var(--box-corner);
  padding:32px;
  position:relative
}
.quote-box::before {
  content:"\201C";
  font-size:4rem;
  color:#1B9AAA22;
  position:absolute;
  top:10px;
  left:20px;
  font-family:serif;
  line-height:1
}
.opinion-text {
  font-style:italic;
  color:var(--copy);
  margin-bottom:16px;
  line-height:1.7;
  padding-top:24px
}
.quote-author {
  font-weight:600;
  color:var(--copy);
  font-size:0.9rem
}
.opinion-role {
  color:var(--copy-light);
  font-size:0.85rem
}
.feedback-carousel,.people-slider,.projects-carousel {
  position:relative;
  max-width:700px;
  margin:0 auto;
  overflow:hidden;
  min-height:200px
}
.opinion-slide,.people-slide,.folio-slide {
  display:none;
  text-align:center;
  padding:20px 40px
}
.opinion-slide.active,.people-slide.active,.folio-slide.active {
  display:block
}
.scroll-arrow {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  background:var(--gray-bg);
  border:1px solid var(--edge);
  border-radius:50%;
  width:40px;
  height:40px;
  font-size:1.4rem;
  cursor:pointer;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--copy);
  transition:all .3s
}
.slide-back {
  left:0
}
.scroll-forward {
  right:0
}
.scroll-arrow:hover {
  background:var(--key-color);
  color:#fff;
  border-color:var(--key-color)
}
.nav-dots {
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:20px
}
.pager-pip {
  width:10px;
  height:10px;
  border-radius:50%;
  border:none;
  background:var(--edge);
  cursor:pointer;
  transition:all .3s
}
.pager-pip.active {
  background:var(--key-color);
  transform:scale(1.2)
}
.metric-item {
  text-align:center;
  padding:24px
}
.figure-value {
  font-size:clamp(2rem,4vw,3rem);
  font-weight:800;
  color:var(--key-color);
  font-family:var(--display-font)
}
.number-label {
  color:var(--copy-light);
  font-size:0.95rem;
  margin-top:8px
}
.counter-card {
  text-align:center
}
.metric-with-icon .counter-icon {
  font-size:1.5rem;
  color:var(--key-color);
  margin-bottom:8px
}
.counters-bars {
  max-width:600px;
  margin:0 auto
}
.metric-bar-item {
  margin-bottom:20px
}
.number-bar-label {
  display:flex;
  justify-content:space-between;
  margin-bottom:8px;
  font-size:0.95rem
}
.counter-bar-track {
  height:8px;
  background:var(--edge);
  border-radius:4px;
  overflow:hidden
}
.counter-bar-fill {
  height:100%;
  background:linear-gradient(90deg,var(--key-color),var(--pop));
  border-radius:4px;
  transition:width 1s ease
}
.metric-circle {
  text-align:center
}
.counter-ring {
  width:100px;
  height:100px;
  margin:0 auto 12px;
  transform:rotate(-90deg)
}
.data-ring-bg {
  fill:none;
  stroke:var(--edge);
  stroke-width:6
}
.metric-circle-fill {
  fill:none;
  stroke:var(--key-color);
  stroke-width:6;
  stroke-linecap:round;
  transition:stroke-dashoffset 1s ease
}
.story-card-lg small {
  color:var(--copy-light)
}
.post-list-item {
  display:flex;
  gap:24px;
  padding:24px 0;
  border-bottom:1px solid var(--edge)
}
.article-meta {
  flex-shrink:0;
  width:100px;
  color:var(--copy-light);
  font-size:0.85rem
}
.entry-body h3 {
  margin-bottom:8px
}
.write-spotlight {
  margin-bottom:32px
}
.entry-featured {
  padding:40px
}
.entry-minimal {
  max-width:700px;
  margin:0 auto
}
.article-min-item {
  display:flex;
  gap:20px;
  align-items:baseline;
  padding:16px 0;
  border-bottom:1px solid var(--edge)
}
.article-min-date {
  flex-shrink:0;
  width:100px;
  color:var(--copy-light);
  font-size:0.85rem
}
.article-min-item h3 {
  font-size:1rem;
  font-weight:500
}
.story-article {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:center;
  margin-bottom:48px;
  padding-bottom:48px;
  border-bottom:1px solid var(--edge)
}
.story-article:last-child {
  border-bottom:none;
  margin-bottom:0;
  padding-bottom:0
}
.entry-article-rev {
  direction:rtl
}
.entry-article-rev>* {
  direction:ltr
}
.read-image {
  border-radius:var(--box-corner);
  overflow:hidden
}
.read-image img {
  width:100%;
  height:auto;
  display:block
}
.entry-body h3 {
  font-size:1.3rem;
  margin-bottom:12px
}
.entry-body p {
  color:var(--copy-light);
  line-height:1.8
}
.writing-date {
  font-size:0.8rem;
  color:var(--key-color);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.05em
}
.piece-tags {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px
}
.story-tag {
  padding:4px 12px;
  background:var(--key-color);
  color:#fff;
  border-radius:100px;
  font-size:0.75rem;
  font-weight:500
}
.piece-card-img {
  width:100%;
  height:200px;
  object-fit:cover;
  border-radius:var(--corner) var(--corner) 0 0;
  margin:-32px -32px 16px;
  width:calc(100% + 64px)
}
.entry-featured-layout {
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:40px;
  align-items:start
}
.post-featured-img {
  width:100%;
  border-radius:var(--box-corner);
  margin-bottom:16px
}
.post-featured-sidebar {
  display:flex;
  flex-direction:column;
  gap:20px
}
.post-list-item {
  padding-bottom:20px;
  border-bottom:1px solid var(--edge)
}
.post-list-item:last-child {
  border-bottom:none;
  padding-bottom:0
}
.post-list-item h3 {
  font-size:1rem;
  margin:4px 0 8px
}
.post-magazine-card {
  overflow:hidden
}
.post-magazine-body {
  padding-top:8px
}
.post-magazine-body h3 {
  font-size:1rem;
  margin:8px 0
}
@media(max-width:768px) {
  .story-article {
    grid-template-columns:1fr
  }
  .entry-article-rev {
    direction:ltr
  }
  .entry-featured-layout {
    grid-template-columns:1fr
  }
  .piece-card-img {
    margin:-24px -24px 16px;
    width:calc(100% + 48px)
  }
}
.alert-tag {
  display:inline-block;
  padding:2px 10px;
  background:#1B9AAA15;
  color:var(--key-color);
  border-radius:100px;
  font-size:0.75rem;
  font-weight:600;
  margin-bottom:8px
}
.update-timeline {
  position:relative;
  padding-left:40px;
  max-width:700px;
  margin:0 auto
}
.update-timeline::before {
  content:"";
  position:absolute;
  left:18px;
  top:0;
  bottom:0;
  width:2px;
  background:var(--edge)
}
.alert-tl-item {
  position:relative;
  margin-bottom:28px;
  padding-left:20px
}
.alert-tl-item::before {
  content:"";
  position:absolute;
  left:-30px;
  top:8px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--key-color)
}
.bulletin-tl-date {
  font-size:0.8rem;
  color:var(--copy-light);
  margin-bottom:4px
}
.notice-compact {
  max-width:700px;
  margin:0 auto
}
.update-compact-item {
  display:flex;
  gap:16px;
  align-items:baseline;
  padding:14px 0;
  border-bottom:1px solid var(--edge)
}
.report-compact-date {
  flex-shrink:0;
  width:90px;
  color:var(--copy-light);
  font-size:0.8rem
}
.update-compact-item h3 {
  font-size:0.95rem;
  font-weight:500
}
.alert-featured {
  display:grid;
  grid-template-columns:60% 40%;
  gap:24px
}
.report-card-lg {
  padding:32px
}
.bulletin-side-item {
  padding:12px 0;
  border-bottom:1px solid var(--edge)
}
.bulletin-side-item small {
  color:var(--copy-light);
  font-size:0.8rem
}
.bulletin-side-item h4 {
  font-size:0.95rem;
  margin-top:4px
}
.people-role {
  color:var(--key-color);
  font-weight:600;
  margin-bottom:8px
}
.member-card-sm {
  text-align:center;
  padding:20px
}
.staff-row {
  display:flex;
  gap:24px;
  align-items:flex-start;
  padding:24px 0;
  border-bottom:1px solid var(--edge)
}
.people-avatar {
  width:64px;
  height:64px;
  border-radius:50%;
  background:#1B9AAA22;
  flex-shrink:0
}
.member-featured {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
  align-items:start
}
.squad-highlight {
  padding:40px
}
.works-card-lg h3 {
  font-size:1.2rem
}
.option-bar {
  display:flex;
  gap:8px;
  margin-bottom:24px;
  flex-wrap:wrap
}
.category-btn {
  padding:8px 18px;
  border:1px solid var(--edge);
  border-radius:var(--button-round);
  background:none;
  cursor:pointer;
  font-size:0.9rem;
  transition:all .3s;
  font-family:var(--body-ff)
}
.category-btn.active,.category-btn:hover {
  background:var(--key-color);
  color:#fff;
  border-color:var(--key-color)
}
.write-form {
  max-width:600px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:16px
}
.field-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px
}
.form-field {
  display:flex;
  flex-direction:column;
  gap:6px
}
.form-field label {
  font-weight:500;
  font-size:0.9rem;
  color:var(--copy)
}
.form-field input,.form-field textarea,.form-field select {
  width:100%;
  padding:12px 16px;
  border:1px solid var(--edge);
  border-radius:var(--corner);
  font-size:1rem;
  font-family:var(--body-ff);
  background:var(--ground);
  color:var(--copy);
  transition:border-color .3s;
  box-sizing:border-box
}
.form-field input:focus,.form-field textarea:focus {
  outline:none;
  border-color:var(--key-color);
  box-shadow:0 0 0 3px #1B9AAA22
}
.form-field textarea {
  resize:vertical;
  min-height:120px
}
.write-form .cta {
  width:100%
}
.msg-sent {
  text-align:center;
  padding:20px;
  background:#1B9AAA11;
  border-radius:var(--corner);
  color:var(--key-color);
  font-weight:500;
  max-height:0;
  opacity:0;
  overflow:hidden;
  transition:max-height .5s ease,opacity .4s ease,padding .4s ease,margin .4s ease;
  padding:0 20px;
  margin:0
}
.msg-sent.is-visible {
  max-height:200px;
  opacity:1;
  padding:20px;
  margin-top:16px
}
.touch-layout {
  gap:48px;
  align-items:start
}
.connect-details p {
  margin-bottom:12px;
  color:var(--copy-light);
  line-height:1.7
}
.reach-card {
  max-width:560px;
  margin:0 auto;
  background:var(--gray-bg);
  border-radius:var(--box-corner);
  padding:40px;
  box-shadow:0 8px 32px rgba(0,0,0,0.08)
}
.reach-card .write-form {
  max-width:none
}
.info-icon-card {
  text-align:center;
  padding:20px
}
.connect-icon {
  font-size:2rem;
  color:var(--key-color);
  margin-bottom:8px
}
.info-icons {
  margin-bottom:40px
}
.bottom-bar {
  background:#0A3F45;
  color:#e2e8f0;
  padding:60px 0 30px
}
.bottom-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:32px;
  margin-bottom:40px
}
.floor-col h4 {
  font-family:var(--display-font);
  font-size:1rem;
  font-weight:600;
  margin-bottom:16px;
  color:#fff
}
.floor-col a {
  color:#94a3b8;
  font-size:0.9rem;
  display:block;
  padding:4px 0;
  transition:color .3s;
  text-decoration:none;
  cursor:pointer
}
.floor-col a:hover {
  color:var(--key-color)
}
.floor-col p {
  color:#94a3b8;
  font-size:0.9rem;
  line-height:1.7
}
.base-line {
  border-top:1px solid #1e293b;
  padding-top:24px;
  text-align:center;
  color:#64748b;
  font-size:0.85rem
}
.footer-grid-4 {
  grid-template-columns:repeat(4,1fr)
}
.footer-centered {
  text-align:center;
  max-width:600px;
  margin:0 auto
}
.footer-centered .footer-brand {
  font-size:1.3rem;
  font-weight:700;
  color:#fff;
  display:block;
  margin-bottom:12px
}
.footer-centered .footer-desc {
  margin-bottom:20px
}
.footer-centered .footer-nav {
  display:flex;
  gap:16px;
  justify-content:center;
  flex-wrap:wrap;
  margin-bottom:20px
}
.footer-centered .footer-nav a {
  display:inline
}
.footer-contact-line {
  font-size:0.85rem;
  color:#94a3b8
}
.footer-minimal {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:20px;
  padding:20px 0
}
.footer-minimal .footer-brand {
  font-size:1.1rem;
  font-weight:700;
  color:#fff
}
.footer-minimal-right {
  display:flex;
  gap:16px;
  flex-wrap:wrap
}
.footer-minimal-right a {
  display:inline
}
.footer-split {
  display:grid;
  grid-template-columns:1.2fr 0.8fr;
  gap:48px;
  align-items:start
}
@media(max-width:768px) {
  .footer-grid-4 {
    grid-template-columns:1fr
  }
  .footer-split {
    grid-template-columns:1fr
  }
  .footer-minimal {
    flex-direction:column;
    text-align:center
  }
}
.top-btn {
  position:fixed;
  bottom:30px;
  right:30px;
  width:48px;
  height:48px;
  border-radius:50%;
  background:var(--key-color);
  color:#fff;
  border:none;
  cursor:pointer;
  font-size:1.2rem;
  display:flex;
  align-items:center;
  justify-content:center;
  opacity:0;
  visibility:hidden;
  transition:all .3s;
  z-index:999;
  box-shadow:0 4px 15px rgba(0,0,0,0.2)
}
.top-btn.is-visible {
  opacity:1;
  visibility:visible
}
.top-btn:hover {
  transform:translateY(-3px);
  background:var(--pop)
}
.rise-in {
  opacity:1;
  transform:translateY(0);
  transition:opacity .6s ease-out,transform .6s ease-out
}
.rise-in.anim-ready {
  opacity:0;
  transform:translateY(25px)
}
.rise-in.anim-ready.is-visible {
  opacity:1;
  transform:translateY(0)
}
@media(prefers-reduced-motion:reduce) {
  .rise-in,.rise-in.anim-ready,.rise-in.anim-ready.is-visible {
    opacity:1!important;
    transform:none!important;
    transition:none!important
  }
}
@media(max-width:768px) {
  .nav-menu,.main-nav--center,.main-nav--stacked,.main-nav--split-left,.main-nav--split-right,.main-nav--left-ext,.main-nav--pill {
    display:none
  }
  .toggle-nav {
    display:flex;
    align-items:center;
    justify-content:center
  }
  .dual-grid,.triple-grid,.col-4 {
    grid-template-columns:1fr
  }
  .intro-block {
    min-height:70vh;
    padding-top:102px
  }
  .showcase-text h1 {
    font-size:clamp(1.6rem,6vw,2.5rem)
  }
  section {
    padding:50px 0
  }
  .bottom-grid {
    grid-template-columns:1fr
  }
  .flow-grid {
    columns:1
  }
  .field-grid {
    grid-template-columns:1fr
  }
  .alert-featured {
    grid-template-columns:1fr
  }
  .member-featured {
    grid-template-columns:1fr
  }
  .banner-inner {
    grid-template-columns:1fr!important
  }
  .intro-block {
    grid-template-columns:1fr!important
  }
  .splash-visual {
    min-height:40vh!important
  }
  .hero-copy-col {
    padding:40px 24px!important
  }
  .tab-bar {
    flex-wrap:nowrap;
    overflow-x:auto
  }
  .header-inner--split {
    display:flex
  }
  .header-inner--center-nav,.header-inner--stacked {
    align-items:stretch
  }
  .header-row-top {
    justify-content:space-between
  }
}
@media(max-width:480px) {
  .inner {
    padding:0 16px
  }
  .cta {
    padding:12px 24px;
    font-size:0.9rem;
    width:100%
  }
  .intro-ctas {
    flex-direction:column
  }
  .panel {
    padding:24px
  }
}


/* ══════════════════════════════════════ */
/* ══ GPT POST-PROCESS FIXES ══ */
/* ══════════════════════════════════════ */

html { overflow-x: hidden; }

a, button { transition: all .3s ease; }

input[type="text"],
input[type="email"],
input[type="tel"],
input,
textarea,
select,
.form-input {
  width: 100%;
  padding: 0.75rem;
  border-radius: var(--button-round);
  box-sizing: border-box;
  border: 1px solid var(--edge);
  background: #fff;
}

/* MOBILE <= 768px */
@media (max-width: 768px) {
  .nav-menu { display: none; }
  .nav-menu.active {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0,0,0,0.95);
    z-index: 9999;
    justify-content: center;
    align-items: center;
    gap: 2rem;
  }
  .nav-menu.active a { color: #fff; font-size: 1.5rem; }
  .menu-toggle, .toggle-nav { display: flex !important; }
  .top-inner { flex-wrap: nowrap; }
  .showcase-text { padding: 0 1rem; }
  .showcase-text h1 { font-size: clamp(1.6rem, 6vw, 2.4rem); }
  .hero-cta { display:flex; flex-direction: column; gap: 0.75rem; align-items: center; }
  .hero-cta a, .hero-cta button { width: 80%; max-width: 280px; text-align: center; }
  .services-grid, .actors-grid, .stats-grid, .news-grid, .contact-cards { grid-template-columns: 1fr !important; }
  .inner { padding: 0 1rem; width: 100%; box-sizing: border-box; }
  section { padding: 3rem 0; }
  h2 { font-size: clamp(1.3rem, 5vw, 1.8rem); }
  .footer-inner { grid-template-columns: 1fr !important; text-align: center; }
  img { max-width: 100%; height: auto; }
  * { max-width: 100vw; overflow-wrap: break-word; }
}

/* SMALLER MOBILE <= 480px */
@media (max-width: 480px) {
  body { font-size: 0.95rem; }
  .hero { min-height: 60vh; }
  .showcase-text h1 { font-size: 1.5rem; }
  section { padding: 2rem 0; }
}

/* DESKTOP >= 769px */
@media (min-width: 769px) {
  .menu-toggle, .toggle-nav { display: none !important; }
  .nav-menu { display: flex; gap: 1.5rem; align-items: center; }
  .hero { min-height: 70vh; display: flex; align-items: center; justify-content: center; position: relative; }
  .hero-bg { position: absolute; inset: 0; background-size: cover; background-position: center; z-index: 0; }
  .banner-overlay { position: absolute; inset: 0; z-index: 1; }
  .showcase-text { position: relative; z-index: 2; text-align: center; color: #fff; }
  .services-grid, .actors-grid, .stats-grid, .news-grid, .contact-cards {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.25rem;
  }
  .inner { max-width: 1200px; margin: 0 auto; padding: 0 2rem; }
  .panel, .card-item { display: flex; flex-direction: column; height: 100%; }
  .panel .card-body { flex: 1 1 auto; }
}

/* REMOVE AI-STYLE DECORATIVE LINES & ELEMENTS (CRITICAL) */
h1::after, h2::after, h3::after, h4::after,
h1::before, h2::before, h3::before, h4::before,
.block-title::after, .block-title::before,
.area-title::after, .area-title::before,
.heading-line, .title-underline, .title-decoration,
.seg-divider, .heading-divider, .dots, .dotted-divider,
.heading-dots, .title-dots,
.section-subtitle + .divider, .subtitle + .divider {
  content: none !important;
  display: none !important;
  border: none !important;
  background: none !important;
  height: 0 !important;
  width: 0 !important;
}

hr.decorative, hr.divider, hr.seg-divider { display: none !important; }
span.dot-separator, span.dots, span.decoration { display: none !important; }