@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Nunito+Sans:wght@400;500;600&display=swap");
:root {
  --main:#C53030;
  --highlight:#2C7A7B;
  --background:#FFF5F5;
  --layer:#FED7D7;
  --foreground:#3B1818;
  --foreground-light:#885050;
  --edge:#FED7D7;
  --hd-font:"Space Grotesk",sans-serif;
  --foreground-font:"Nunito Sans",sans-serif;
  --rounding:0;
  --box-corner:0;
  --cta-radius:0;
  --panel-shadow:0 2px 8px rgba(0,0,0,.1);
  --header-size:56px
}
*,*::before,*::after {
  margin:0;
  padding:0;
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-size)+20px)
}
body {
  font-family:var(--foreground-font);
  background:var(--background);
  color:var(--foreground);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden
}
h1,h2,h3,h4,h5,h6 {
  font-family:var(--hd-font);
  line-height:1.3
}
a {
  color:var(--main);
  text-decoration:none;
  transition:color .3s;
  cursor:pointer
}
a:hover {
  color:var(--highlight)
}
img {
  max-width:100%;
  height:auto;
  display:block
}
.inner {
  max-width:1200px;
  margin:0 auto;
  padding:0 24px
}
.top-bar {
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:1000;
  height:56px;
  background:#FFF5F5;
  border-bottom:1px solid rgba(255,255,255,0.1);
  box-shadow:0 2px 8px rgba(0,0,0,0.06);
  transition:all .3s
}
.top-bar.sticky {
  box-shadow:0 2px 20px rgba(0,0,0,0.1);
}
.bar-content {
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:100%
}
.brand-mark {
  font-size:1.2rem;
  font-weight:700;
  letter-spacing:-0.5px;
  color:var(--foreground);
  font-family:var(--hd-font);
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  cursor:pointer
}
.brand-mark img {
  height:36px;
  width:auto
}
.nav-links {
  display:flex;
  align-items:center;
  gap:24px
}
.nav-links a {
  font-size:0.95rem;
  font-weight:500;
  letter-spacing:0.8px;
  color:var(--foreground-light);
  position:relative;
  transition:color .3s;
  text-decoration:none;
  cursor:pointer
}
.nav-links a:hover,.nav-links a.active {
  color:var(--main)
}
.nav-links a:hover,.nav-links a.active {
  background:#C53030;
  color:#fff;
  border-radius:0;
  padding:6px 14px
}
.site-header--pill {
  background:transparent;
  border-bottom:none;
  box-shadow:none;
  height:auto;
  padding-top:16px
}
.site-header--pill.sticky {
  background:transparent;
  box-shadow:none
}
.header-inner--pill {
  max-width:900px;
  background: {
    dark
  }
  ;
  border-radius:100px;
  padding:10px 28px;
  box-shadow:0 8px 32px rgba(0,0,0,0.15)
}
.site-header--pill .brand-mark {
  color:#fff
}
.site-header--pill .brand-mark img {
  filter:brightness(0) invert(1)
}
.site-header--pill .nav-links a {
  color:#fffcc
}
.site-header--pill .nav-links a:hover,.site-header--pill .nav-links a.active {
  color:#fff
}
.site-header--pill .toggle-nav span {
  background:#fff
}
.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:24px;
  height:3px;
  background:var(--foreground);
  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.unfolded span:nth-child(1) {
  top:50%;
  transform:translate(-50%,-50%) rotate(45deg)
}
.toggle-nav.unfolded span:nth-child(2) {
  opacity:0
}
.toggle-nav.unfolded span:nth-child(3) {
  top:50%;
  bottom:auto;
  transform:translate(-50%,-50%) rotate(-45deg)
}
.side-menu {
  position:fixed;
  top:0;
  left:0;
  width:290px;
  height:100vh;
  transform:translateX(-100%);
  transition:transform 0.25s cubic-bezier(.4,0,.2,1);
  background:rgba(255,255,255,1);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  z-index:1001;
  display:flex;
  flex-direction:column;
  padding-top:86px;
  padding-left:30px;
  padding-right:30px;
  pointer-events:none
}
.side-menu.unfolded {
  pointer-events:auto
}
.side-menu.unfolded {
  transform:translateX(0);
  box-shadow:-4px 0 30px rgba(0,0,0,0.15)
}
.side-menu a {
  display:block;
  padding:24px 0;
  font-size:1.4rem;
  font-weight:600;
  color:var(--foreground);
  text-decoration:none;
  border-bottom:1px solid var(--edge);
  transition:color .3s;
  cursor:pointer;
}
.side-menu a:hover {
  color:var(--main)
}
.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.appeared {
  display:block;
  opacity:1;
  pointer-events:auto
}
.banner-section {
  min-height:90vh;
  display:grid;
  grid-template-columns:55% 45%;
  padding:0;
  position:relative;
  overflow:hidden;
  text-align:left
}
.banner-section {
  grid-template-columns:45% 55%
}
.banner-photo {
  min-height:90vh;
  background:linear-gradient(135deg,#C53030dd,#2C7A7Baa),url(content/images/hero-bg.png) center/cover no-repeat;
  background-size:cover
}
.splash-text {
  display:flex;
  align-items:center;
  padding:96px 48px 40px;
  background:linear-gradient(135deg, #5A1010, #C53030)
}
.splash-inner {
  max-width:560px
}
.splash-inner h1 {
  font-size:clamp(1.8rem,4vw,3rem);
  font-weight:800;
  margin-bottom:20px;
  color:#fff
}
.splash-inner p {
  font-size:clamp(0.95rem,1.5vw,1.15rem);
  color:rgba(255,255,255,0.85);
  margin-bottom:32px;
  max-width:500px
}
.showcase-actions {
  display:flex;
  gap:16px;
  justify-content:flex-start;
  flex-wrap:wrap;
  width:100%
}
.action-ghost {
  background:transparent;
  color:#fff;
  border-color:#fff
}
.action-ghost:hover {
  background:#fff;
  color:linear-gradient(135deg, #5A1010, #C53030)
}
.banner-section {
  text-align:left
}
.splash-body {
  display:grid;
  grid-template-columns:55% 45%;
  gap:40px;
  align-items:center;
  max-width:1200px;
  margin:0 auto;
  padding:0 24px
}
.splash-body {
  grid-template-columns:45% 55%
}
.hero-text {
  order:2
}
.showcase-actions {
  justify-content:flex-start
}
.action-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 32px;
  border-radius:var(--cta-radius);
  font-weight:600;
  font-size:0.95rem;
  cursor:pointer;
  transition:all .3s;
  border:2px solid transparent;
  text-decoration:none;
  font-family:var(--foreground-font)
}
.main-btn {
  background:#C53030;
  color:#fff;
  border:2px solid #C53030;
}
.main-btn:hover {
  background:transparent;
  color:#C53030;
}
section {
  padding:80px 0
}
.seg-bg-alt {
  background:var(--layer)
}
section:nth-child(even) {
  background:var(--layer)
}
.block-header {
  text-align:left;
  border-left:4px solid #C53030;
  padding-left:16px;
  margin-bottom:48px
}
.block-header h2 {
  font-size:clamp(1.5rem,3vw,2.2rem);
  font-weight:700;
  margin-bottom:12px
}
.block-header p {
  color:var(--foreground-light);
  font-size:1.05rem;
  max-width:600px;
  margin:0
}
.section-header-left {
  text-align:left
}
.section-header-left-line {
  text-align:left;
  border-left:4px solid var(--main);
  padding-left:16px
}
.seg-divider {
  display:block
}
.col-2 {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:32px;
  align-items:center
}
.three-col {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px
}
.grid-quarters {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px
}
.module {
  background:var(--layer);
  border:1px solid var(--edge);
  border-radius:var(--box-corner);
  padding:32px;
  transition:all .3s;
  box-shadow:var(--panel-shadow)
}
.module:hover {
  transform:translateY(-6px) rotate(-0.5deg);
  box-shadow:0 14px 40px rgba(0,0,0,0.1);
}
.module h3 {
  font-size:1.15rem;
  font-weight:600;
  margin-bottom:12px
}
.module p {
  color:var(--foreground-light);
  font-size:0.95rem;
  line-height:1.7
}
.bg-text-center {
  max-width:720px;
  margin:0 auto
}
.detail-intro {
  max-width:720px;
  margin:0 auto 40px
}
.zone-visual {
  border-radius:var(--box-corner);
  width:100%;
  height:auto
}
.time-track {
  position:relative;
  padding-left:40px;
  max-width:700px;
  margin:0 auto
}
.time-track::before {
  content:"";
  position:absolute;
  left:18px;
  top:0;
  bottom:0;
  width:2px;
  background:var(--edge)
}
.time-entry {
  position:relative;
  margin-bottom:32px
}
.era-marker {
  position:absolute;
  left:-30px;
  top:6px;
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--main);
  border:2px solid var(--background)
}
.time-year {
  font-size:0.85rem;
  color:var(--main);
  font-weight:600
}
.history-body h3 {
  font-size:1.05rem;
  margin:4px 0 8px
}
.box-inline {
  display:flex;
  gap:20px;
  align-items:flex-start
}
.box-inline .tile-icon {
  font-size:1.5rem;
  flex-shrink:0;
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#C5303011;
  border-radius:var(--rounding);
  color:var(--main)
}
.capability-row {
  display:flex;
  gap:24px;
  align-items:flex-start;
  padding:24px 0;
  border-bottom:1px solid var(--edge)
}
.solution-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:#C5303011;
  border-radius:var(--rounding);
  color:var(--main)
}
.capabilities-list {
  max-width:800px;
  margin:0 auto
}
.glyph-card {
  text-align:center;
  padding:24px
}
.glyph-card .mark-card-icon {
  font-size:2rem;
  margin-bottom:12px;
  color:var(--main)
}
.glyph-card h3 {
  font-size:1rem;
  margin-bottom:8px
}
.glyph-card p {
  font-size:0.9rem;
  color:var(--foreground-light)
}
.what-accordion {
  max-width:800px;
  margin:0 auto
}
.tab-wrap {
  max-width:800px;
  margin:0 auto
}
.tab-menu {
  display:flex;
  gap:4px;
  border-bottom:2px solid var(--edge);
  margin-bottom:24px;
  overflow-x:auto
}
.tab-handle {
  padding:12px 20px;
  border:none;
  background:none;
  font-size:0.95rem;
  font-weight:500;
  color:var(--foreground-light);
  cursor:pointer;
  border-bottom:2px solid transparent;
  margin-bottom:-2px;
  transition:all .3s;
  font-family:var(--foreground-font);
  white-space:nowrap
}
.tab-handle.active,.tab-handle:hover {
  color:var(--main);
  border-bottom-color:var(--main)
}
.tab-pane {
  display:none;
  padding:20px 0
}
.tab-pane.active {
  display:block
}
.flow-grid {
  columns:3;
  column-gap:24px
}
.flow-grid .module,.flow-grid .waterfall-card {
  break-inside:avoid;
  margin-bottom:24px;
  display:inline-block;
  width:100%
}
.ask-list {
  max-width:800px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:12px
}
.faq-item {
  background:transparent;
  border:border-left:3px solid #C53030;
  border-radius:0;
  overflow:hidden;
  transition:background .3s
}
.faq-item:hover {
  background:#C5303008
}
.ask-head {
  width:100%;
  padding:16px 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(--foreground);
  font-family:var(--foreground-font);
  text-align:left;
  user-select:none;
  outline:none
}
.ask-head:hover {
  color:var(--main)
}
.qa-body {
  overflow:hidden;
  max-height:0;
  opacity:0;
  padding:0 24px;
  transition:max-height .4s ease,opacity .3s ease,padding .3s ease
}
.faq-item.unfolded .qa-body {
  max-height:600px;
  opacity:1;
  padding:0 0 16px 0
}
.qa-body p {
  color:var(--foreground-light);
  line-height:1.7;
  font-size:0.95rem
}
.toggle-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:#885050
}
.toggle-icon::before {
  content:"→"
}
.faq-item.unfolded .toggle-icon {
  transform:rotate(90deg)
}
.ask-2col .ask-list {
  max-width:none
}
.ask-card h3 {
  font-size:1rem;
  color:var(--main);
  margin-bottom:8px
}
.ask-card p {
  font-size:0.9rem
}
.qa-grouped {
  max-width:800px;
  margin:0 auto
}
.help-group {
  margin-bottom:32px
}
.help-group-title {
  font-size:1.1rem;
  font-weight:600;
  color:var(--main);
  margin-bottom:16px;
  padding-bottom:8px;
  border-bottom:2px solid #C5303022
}
.voice-card {
  background:var(--layer);
  border:1px solid var(--edge);
  border-radius:var(--box-corner);
  padding:32px;
  position:relative
}
.voice-card::before {
  content:"\201C";
  font-size:4rem;
  color:#C5303022;
  position:absolute;
  top:10px;
  left:20px;
  font-family:serif;
  line-height:1
}
.opinion-text {
  font-style:italic;
  color:var(--foreground);
  margin-bottom:16px;
  line-height:1.7;
  padding-top:24px
}
.opinion-by {
  font-weight:600;
  color:var(--foreground);
  font-size:0.9rem
}
.review-role {
  color:var(--foreground-light);
  font-size:0.85rem
}
.voices-slider,.members-carousel,.showcase-carousel {
  position:relative;
  max-width:700px;
  margin:0 auto;
  overflow:hidden;
  min-height:200px
}
.voice-slide,.people-slide,.showcase-slide {
  display:none;
  text-align:center;
  padding:20px 40px
}
.voice-slide.active,.people-slide.active,.showcase-slide.active {
  display:block
}
.slide-nav {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  background:var(--layer);
  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(--foreground);
  transition:all .3s
}
.slider-prev {
  left:0
}
.nav-next {
  right:0
}
.slide-nav:hover {
  background:var(--main);
  color:#fff;
  border-color:var(--main)
}
.slider-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(--main);
  transform:scale(1.2)
}
.number-item {
  text-align:center;
  padding:24px
}
.figure-value {
  font-size:clamp(2rem,4vw,3rem);
  font-weight:800;
  color:var(--main);
  font-family:var(--hd-font)
}
.counter-label {
  color:var(--foreground-light);
  font-size:0.95rem;
  margin-top:8px
}
.figure-card {
  text-align:center
}
.counter-iconic .figure-icon {
  font-size:1.5rem;
  color:var(--main);
  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
}
.number-bar-track {
  height:8px;
  background:var(--edge);
  border-radius:4px;
  overflow:hidden
}
.data-bar-fill {
  height:100%;
  background:linear-gradient(90deg,var(--main),var(--highlight));
  border-radius:4px;
  transition:width 1s ease
}
.data-circle {
  text-align:center
}
.number-ring {
  width:100px;
  height:100px;
  margin:0 auto 12px;
  transform:rotate(-90deg)
}
.figure-ring-bg {
  fill:none;
  stroke:var(--edge);
  stroke-width:6
}
.figure-ring-fill {
  fill:none;
  stroke:var(--main);
  stroke-width:6;
  stroke-linecap:round;
  transition:stroke-dashoffset 1s ease
}
.post-card-lg small {
  color:var(--foreground-light)
}
.article-row {
  display:flex;
  gap:24px;
  padding:24px 0;
  border-bottom:1px solid var(--edge)
}
.post-meta {
  flex-shrink:0;
  width:100px;
  color:var(--foreground-light);
  font-size:0.85rem
}
.entry-body h3 {
  margin-bottom:8px
}
.story-spotlight {
  margin-bottom:32px
}
.article-featured {
  padding:40px
}
.post-minimal {
  max-width:700px;
  margin:0 auto
}
.story-min-item {
  display:flex;
  gap:20px;
  align-items:baseline;
  padding:16px 0;
  border-bottom:1px solid var(--edge)
}
.entry-min-date {
  flex-shrink:0;
  width:100px;
  color:var(--foreground-light);
  font-size:0.85rem
}
.story-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
}
.read-article-rev {
  direction:rtl
}
.read-article-rev>* {
  direction:ltr
}
.writing-image {
  border-radius:var(--box-corner);
  overflow:hidden
}
.writing-image img {
  width:100%;
  height:auto;
  display:block
}
.entry-body h3 {
  font-size:1.3rem;
  margin-bottom:12px
}
.entry-body p {
  color:var(--foreground-light);
  line-height:1.8
}
.read-date {
  font-size:0.8rem;
  color:var(--main);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:0.05em
}
.read-tags {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px
}
.entry-tag {
  padding:4px 12px;
  background:var(--main);
  color:#fff;
  border-radius:100px;
  font-size:0.75rem;
  font-weight:500
}
.entry-card-img {
  width:100%;
  height:200px;
  object-fit:cover;
  border-radius:var(--rounding) var(--rounding) 0 0;
  margin:-32px -32px 16px;
  width:calc(100% + 64px)
}
.story-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
  }
  .read-article-rev {
    direction:ltr
  }
  .story-featured-layout {
    grid-template-columns:1fr
  }
  .entry-card-img {
    margin:-24px -24px 16px;
    width:calc(100% + 48px)
  }
}
.report-tag {
  display:inline-block;
  padding:2px 10px;
  background:#C5303015;
  color:var(--main);
  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)
}
.notice-tl-item {
  position:relative;
  margin-bottom:28px;
  padding-left:20px
}
.notice-tl-item::before {
  content:"";
  position:absolute;
  left:-30px;
  top:8px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--main)
}
.update-tl-date {
  font-size:0.8rem;
  color:var(--foreground-light);
  margin-bottom:4px
}
.bulletin-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)
}
.update-compact-date {
  flex-shrink:0;
  width:90px;
  color:var(--foreground-light);
  font-size:0.8rem
}
.update-compact-item h3 {
  font-size:0.95rem;
  font-weight:500
}
.bulletin-featured {
  display:grid;
  grid-template-columns:60% 40%;
  gap:24px
}
.alert-card-lg {
  padding:32px
}
.alert-side-item {
  padding:12px 0;
  border-bottom:1px solid var(--edge)
}
.alert-side-item small {
  color:var(--foreground-light);
  font-size:0.8rem
}
.alert-side-item h4 {
  font-size:0.95rem;
  margin-top:4px
}
.people-role {
  color:var(--main);
  font-weight:600;
  margin-bottom:8px
}
.member-card-sm {
  text-align:center;
  padding:20px
}
.people-row {
  display:flex;
  gap:24px;
  align-items:flex-start;
  padding:24px 0;
  border-bottom:1px solid var(--edge)
}
.squad-avatar {
  width:64px;
  height:64px;
  border-radius:50%;
  background:#C5303022;
  flex-shrink:0
}
.squad-featured {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px;
  align-items:start
}
.people-highlight {
  padding:40px
}
.gallery-card-lg h3 {
  font-size:1.2rem
}
.sort-bar {
  display:flex;
  gap:8px;
  margin-bottom:24px;
  flex-wrap:wrap
}
.sort-btn {
  padding:8px 18px;
  border:1px solid var(--edge);
  border-radius:var(--cta-radius);
  background:none;
  cursor:pointer;
  font-size:0.9rem;
  transition:all .3s;
  font-family:var(--foreground-font)
}
.sort-btn.active,.sort-btn:hover {
  background:var(--main);
  color:#fff;
  border-color:var(--main)
}
.reach-form {
  max-width:600px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:16px
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px
}
.field-wrap {
  display:flex;
  flex-direction:column;
  gap:6px
}
.field-wrap label {
  font-weight:500;
  font-size:0.9rem;
  color:var(--foreground)
}
.field-wrap input,.field-wrap textarea,.field-wrap select {
  width:100%;
  padding:12px 16px;
  border:1px solid var(--edge);
  border-radius:var(--rounding);
  font-size:1rem;
  font-family:var(--foreground-font);
  background:var(--background);
  color:var(--foreground);
  transition:border-color .3s;
  box-sizing:border-box
}
.field-wrap input:focus,.field-wrap textarea:focus {
  outline:none;
  border-color:var(--main);
  box-shadow:0 0 0 3px #C5303022
}
.field-wrap textarea {
  resize:vertical;
  min-height:120px
}
.reach-form .action-btn {
  width:100%
}
.send-ok {
  text-align:center;
  padding:20px;
  background:#C5303011;
  border-radius:var(--rounding);
  color:var(--main);
  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
}
.send-ok.appeared {
  max-height:200px;
  opacity:1;
  padding:20px;
  margin-top:16px
}
.dual-contact {
  gap:48px;
  align-items:start
}
.connect-details p {
  margin-bottom:12px;
  color:var(--foreground-light);
  line-height:1.7
}
.connect-card {
  max-width:560px;
  margin:0 auto;
  background:var(--layer);
  border-radius:var(--box-corner);
  padding:40px;
  box-shadow:0 8px 32px rgba(0,0,0,0.08)
}
.connect-card .reach-form {
  max-width:none
}
.info-icon-card {
  text-align:center;
  padding:20px
}
.connect-icon {
  font-size:2rem;
  color:var(--main);
  margin-bottom:8px
}
.inquiry-icons {
  margin-bottom:40px
}
.floor {
  background:#3B1818;
  color:#e2e8f0;
  padding:60px 0 30px
}
.floor-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:32px;
  margin-bottom:40px
}
.floor-col h4 {
  font-family:var(--hd-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(--main)
}
.floor-col p {
  color:#94a3b8;
  font-size:0.9rem;
  line-height:1.7
}
.foot-end {
  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
  }
}
.return-top-btn {
  position:fixed;
  bottom:30px;
  right:30px;
  width:48px;
  height:48px;
  border-radius:50%;
  background:var(--main);
  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)
}
.return-top-btn.appeared {
  opacity:1;
  visibility:visible
}
.return-top-btn:hover {
  transform:translateY(-3px);
  background:var(--highlight)
}
.show-up {
  opacity:1;
  transform:translateY(0);
  transition:opacity .6s ease-out,transform .6s ease-out
}
.show-up.will-animate {
  opacity:0;
  transform:translateY(25px)
}
.show-up.will-animate.appeared {
  opacity:1;
  transform:translateY(0)
}
@media(prefers-reduced-motion:reduce) {
  .show-up,.show-up.will-animate,.show-up.will-animate.appeared {
    opacity:1!important;
    transform:none!important;
    transition:none!important
  }
}
@media(max-width:768px) {
  .nav-links,.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
  }
  .col-2,.three-col,.grid-quarters {
    grid-template-columns:1fr
  }
  .banner-section {
    min-height:70vh;
    padding-top:96px
  }
  .splash-inner h1 {
    font-size:clamp(1.6rem,6vw,2.5rem)
  }
  section {
    padding:50px 0
  }
  .floor-grid {
    grid-template-columns:1fr
  }
  .flow-grid {
    columns:1
  }
  .form-grid {
    grid-template-columns:1fr
  }
  .bulletin-featured {
    grid-template-columns:1fr
  }
  .squad-featured {
    grid-template-columns:1fr
  }
  .splash-body {
    grid-template-columns:1fr!important
  }
  .banner-section {
    grid-template-columns:1fr!important
  }
  .banner-photo {
    min-height:40vh!important
  }
  .splash-text {
    padding:40px 24px!important
  }
  .tab-menu {
    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
  }
  .action-btn {
    padding:12px 24px;
    font-size:0.9rem;
    width:100%
  }
  .showcase-actions {
    flex-direction:column
  }
  .module {
    padding:24px
  }
}

/* Money Link Sections */
.money-section { padding: var(--section-padding, 80px 0); font-family: inherit; color: inherit; }
.money-section .block-header { text-align: center; margin-bottom: 3rem; }
.money-section .block-header h2 { font-family: inherit; }
.money-section .block-header p { opacity: 0.7; }
.money-cards-wrap { max-width: 900px; margin: 0 auto; }
.money-card { background: var(--card-bg, #fff); border-radius: var(--box-corner, 16px); padding: 2.5rem; box-shadow: var(--panel-shadow, 0 4px 24px rgba(0,0,0,0.06)); border: 1px solid var(--edge, rgba(0,0,0,0.06)); transition: transform 0.3s ease, box-shadow 0.3s ease; position: relative; overflow: hidden; }
.money-card:hover { transform: translateY(-4px); box-shadow: 0 8px 32px rgba(0,0,0,0.10); }
.money-card-body h3 { font-family: inherit; color: var(--main, inherit); margin: 0 0 0.75em; font-size: 1.3em; }
.money-card-body p { font-family: inherit; color: inherit; line-height: 1.8; margin-bottom: 1em; }
.money-card-body a { color: var(--highlight, var(--main, currentColor)); text-decoration: none; font-weight: 500; border-bottom: 2px solid var(--highlight, var(--main, currentColor)); padding-bottom: 1px; transition: opacity 0.3s, border-color 0.3s; }
.money-card-body a:hover { opacity: 0.8; }
.money-card-body ul, .money-card-body ol { padding-left: 1.5em; margin-bottom: 1em; }
.money-card-body li { margin-bottom: 0.5em; line-height: 1.7; }
.partner-card { display: flex; gap: 2rem; align-items: flex-start; }
.partner-logo { flex-shrink: 0; width: 80px; height: 80px; border-radius: var(--box-corner, 12px); background: linear-gradient(135deg, var(--main, #6366f1), var(--highlight, #8b5cf6)); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 2rem; font-weight: 700; }
.money-type-news .money-card { border-left: 4px solid var(--main, #6366f1); border-radius: 0 var(--box-corner, 16px) var(--box-corner, 16px) 0; }
.money-date { display: inline-block; font-size: 0.85em; color: var(--main, #6366f1); opacity: 0.7; margin-bottom: 1em; font-weight: 500; }
.money-type-blog-post .money-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--main, #6366f1), var(--highlight, #8b5cf6)); }
.money-type-case-study .money-card { background: linear-gradient(135deg, var(--card-bg, #fff), var(--background-alt, #f8f9ff)); }
.money-type-case-study .money-card::before { content: ""; position: absolute; top: 0; left: 0; width: 4px; height: 100%; background: linear-gradient(180deg, var(--main, #6366f1), var(--highlight, #8b5cf6)); }
.money-type-partners .money-card { background: var(--card-bg, rgba(255,255,255,0.5)); border-radius: var(--box-corner, 12px); padding: 2rem; }
@media(max-width:768px){ .money-section { padding: 48px 0; } .money-card { padding: 1.5rem; } .partner-card { flex-direction: column; gap: 1rem; } }


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

@media (max-width: 768px) {
  .nav-links {
    display: none;
  }
  .nav-links.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-links.active a {
    color: #fff;
    font-size: 1.5rem;
  }
  .menu-icon {
    display: flex !important;
  }
  .bar-content {
    flex-wrap: nowrap;
  }
  .splash-inner {
    padding: 0 1rem;
  }
  .splash-inner h1 {
    font-size: clamp(1.6rem, 6vw, 2.4rem);
  }
  .hero-cta {
    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;
  }
}

@media (max-width: 480px) {
  body {
    font-size: 0.95rem;
  }
  .hero {
    min-height: 60vh;
  }
  .splash-inner h1 {
    font-size: 1.5rem;
  }
  section {
    padding: 2rem 0;
  }
}

@media (min-width: 769px) {
  .menu-icon {
    display: none;
  }
  .nav-links {
    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;
  }
  .hero-mask {
    position: absolute;
    inset: 0;
    z-index: 1;
  }
  .splash-inner {
    position: relative;
    z-index: 2;
    text-align: center;
    color: #fff;
  }
  .services-grid,
  .actors-grid,
  .stats-grid,
  .news-grid,
  .contact-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  }
}

html {
  overflow-x: hidden;
}

body {
  overflow-x: hidden;
  margin: 0;
  padding: 0;
}

a,
button {
  transition: all 0.3s ease;
}

input,
textarea,
select,
button {
  width: 100%;
  padding: 0.75rem;
  border-radius: var(--rounding);
  border: 1px solid var(--edge);
  font-family: var(--foreground-font);
  font-size: 1rem;
  box-sizing: border-box;
}