/* ==========================================================================
   FREE USE TOOL — ABOUT PAGE
   Dedicated premium page stylesheet
   ========================================================================== */

.fut-about-page {
  --about-ink: var(--fut-text);
  --about-muted: var(--fut-text-muted);
  --about-panel: var(--fut-surface);
  --about-panel-soft: var(--fut-surface-soft);
  --about-line: var(--fut-border);
  position: relative;
  isolation: isolate;
  overflow: clip;
}

/* Hero */
.fut-about-page .fut-about-hero {
  position: relative;
  padding: clamp(76px, 9vw, 128px) 0 clamp(72px, 8vw, 112px);
  overflow: hidden;
  border-bottom: 1px solid var(--about-line);
  background:
    radial-gradient(700px 520px at 82% 25%, rgba(14,165,233,.13), transparent 68%),
    radial-gradient(520px 420px at 8% 4%, rgba(56,189,248,.12), transparent 70%),
    var(--fut-page);
}
.fut-about-page .fut-about-hero::before,
.fut-about-page .fut-about-hero::after {
  content:"";
  position:absolute;
  border:1px solid rgba(14,165,233,.14);
  border-radius:50%;
  pointer-events:none;
}
.fut-about-page .fut-about-hero::before { width:620px;height:620px;right:-300px;top:-270px; }
.fut-about-page .fut-about-hero::after { width:420px;height:420px;left:-270px;bottom:-300px; }

.fut-about-hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);
  align-items:center;
  gap:clamp(48px,7vw,100px);
}
.fut-about-hero-copy { position:relative; z-index:2; }
.fut-about-kicker {
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin:0 0 18px;
  color:var(--fut-primary-700);
  font-size:.76rem;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.fut-about-kicker::before {
  content:"";
  width:28px;height:2px;border-radius:99px;
  background:linear-gradient(90deg,var(--fut-primary-400),var(--fut-primary-700));
}
.fut-about-hero h1 {
  max-width:820px;
  margin:0 0 24px;
  font-size:clamp(2.7rem,6vw,5.8rem);
  line-height:.94;
  letter-spacing:-.075em;
  text-wrap:balance;
}
.fut-about-hero .fut-lead {
  max-width:700px;
  margin:0;
  font-size:clamp(1rem,1.6vw,1.16rem);
  line-height:1.85;
}
.fut-about-hero .fut-actions { margin-top:30px; }

/* Premium 3D visual */
.fut-about-hero-visual {
  position:relative;
  min-height:500px;
  display:grid;
  place-items:center;
  perspective:1500px;
}
.fut-about-visual-glow {
  position:absolute;
  width:340px;height:340px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(14,165,233,.24),rgba(14,165,233,.05) 45%,transparent 72%);
  filter:blur(4px);
}
.fut-about-visual-ring {
  position:absolute;
  width:390px;height:390px;
  border:1px solid rgba(14,165,233,.20);
  border-radius:50%;
  transform:rotateX(68deg) rotateZ(-18deg);
  box-shadow:0 0 70px rgba(14,165,233,.08);
}
.fut-about-visual-ring::after {
  content:"";
  position:absolute; inset:12%;
  border:1px dashed rgba(56,189,248,.25);
  border-radius:50%;
}
.fut-about-visual-core {
  position:relative;
  z-index:3;
  width:min(100%,390px);
  min-height:290px;
  padding:30px;
  border:1px solid rgba(125,211,252,.65);
  border-radius:30px;
  background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(238,248,255,.88));
  box-shadow:0 38px 90px rgba(15,23,42,.14),0 18px 45px rgba(14,165,233,.12),inset 0 1px 0 #fff;
  backdrop-filter:blur(18px);
  transform:rotateY(-10deg) rotateX(5deg) translateZ(30px);
}
.fut-about-visual-core::before {
  content:"";
  position:absolute;inset:1px;
  border-radius:inherit;
  background:linear-gradient(135deg,rgba(255,255,255,.7),transparent 35%);
  pointer-events:none;
}
.fut-about-visual-mark {
  width:62px;height:62px;
  display:grid;place-items:center;
  margin-bottom:25px;
  border:1px solid var(--fut-primary-200);
  border-radius:19px;
  color:var(--fut-primary-700);
  background:linear-gradient(145deg,#fff,var(--fut-primary-50));
  box-shadow:0 16px 30px rgba(14,165,233,.14);
  font-size:1.35rem;font-weight:900;
}
.fut-about-visual-core h2 { margin:0 0 9px; font-size:1.45rem; }
.fut-about-visual-core p { margin:0; color:var(--fut-text-muted); line-height:1.7; }
.fut-about-float {
  position:absolute;
  z-index:4;
  padding:14px 18px;
  border:1px solid rgba(125,211,252,.6);
  border-radius:17px;
  background:rgba(255,255,255,.86);
  box-shadow:0 22px 50px rgba(15,23,42,.12);
  backdrop-filter:blur(15px);
  font-size:.84rem;
  font-weight:800;
}
.fut-about-float--one { right:-4px; top:90px; transform:rotate(5deg); }
.fut-about-float--two { left:-12px; bottom:74px; transform:rotate(-5deg); }

/* Sections */
.fut-about-section { padding:clamp(72px,8vw,108px) 0; }
.fut-about-section--soft { background:var(--fut-page); }
.fut-about-heading { max-width:760px; margin-bottom:42px; }
.fut-about-heading--center { margin-inline:auto; text-align:center; }
.fut-about-heading h2 { margin:0 0 14px; }
.fut-about-heading p { margin:0; color:var(--fut-muted,var(--fut-text-muted)); line-height:1.8; }

/* Feature cards */
.fut-about-feature-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.fut-about-feature {
  position:relative;
  min-height:250px;
  padding:30px;
  overflow:hidden;
  border:1px solid var(--about-line);
  border-radius:24px;
  background:linear-gradient(145deg,var(--about-panel),var(--about-panel-soft));
  box-shadow:var(--fut-shadow-sm);
  transition:transform var(--fut-normal),box-shadow var(--fut-normal),border-color var(--fut-normal);
}
.fut-about-feature::after {
  content:"";
  position:absolute;
  width:180px;height:180px;
  right:-100px;bottom:-100px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(14,165,233,.13),transparent 68%);
}
.fut-about-feature:hover {
  transform:translateY(-7px);
  border-color:var(--fut-primary-300);
  box-shadow:var(--fut-shadow-md);
}
.fut-about-feature-number {
  width:50px;height:50px;
  display:grid;place-items:center;
  margin-bottom:25px;
  border:1px solid var(--fut-primary-200);
  border-radius:15px;
  color:var(--fut-primary-700);
  background:linear-gradient(145deg,var(--fut-surface),var(--fut-primary-50));
  font-size:.78rem;font-weight:900;
}
.fut-about-feature h3 { margin:0 0 10px; font-size:1.22rem; }
.fut-about-feature p { margin:0; color:var(--fut-text-muted); line-height:1.78; }

/* Story/image */
.fut-about-story-grid {
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  align-items:center;
  gap:clamp(45px,7vw,100px);
}
.fut-about-image-frame {
  position:relative;
  padding:10px;
  border:1px solid var(--about-line);
  border-radius:30px;
  background:linear-gradient(145deg,var(--fut-surface),var(--fut-primary-50));
  box-shadow:0 30px 75px rgba(15,23,42,.10);
  transform:rotate(-1deg);
}
.fut-about-image-frame::before {
  content:"";
  position:absolute;
  inset:-14px 30px 24px -14px;
  z-index:-1;
  border:1px solid rgba(14,165,233,.18);
  border-radius:30px;
}
.fut-about-image-frame img {
  width:100%;
  aspect-ratio:9/7;
  object-fit:cover;
  border-radius:22px;
}
.fut-about-story-copy h2 { margin:0 0 18px; }
.fut-about-story-copy p { color:var(--fut-text-soft); line-height:1.9; }
.fut-about-story-copy p:last-child { margin-bottom:0; }

/* Principles */
.fut-about-principles {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.fut-about-principle {
  padding:27px;
  border:1px solid var(--about-line);
  border-radius:20px;
  background:var(--about-panel);
  box-shadow:var(--fut-shadow-xs);
}
.fut-about-principle span {
  display:grid;place-items:center;
  width:34px;height:34px;
  margin-bottom:17px;
  border-radius:11px;
  color:var(--fut-primary-700);
  background:var(--fut-primary-50);
  font-weight:900;
}
.fut-about-principle h3 { margin:0 0 8px; font-size:1.1rem; }
.fut-about-principle p { margin:0; color:var(--fut-text-muted); line-height:1.72; }

/* Audience */
.fut-about-audience-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:20px;
}
.fut-about-audience {
  display:flex;
  align-items:flex-start;
  gap:18px;
  padding:24px;
  border:1px solid var(--about-line);
  border-radius:20px;
  background:var(--about-panel);
  box-shadow:var(--fut-shadow-xs);
}
.fut-about-audience-icon {
  flex:0 0 44px;width:44px;height:44px;
  display:grid;place-items:center;
  border-radius:13px;
  color:var(--fut-primary-700);
  background:var(--fut-primary-50);
  font-weight:900;
}
.fut-about-audience strong { display:block; margin-bottom:5px; }
.fut-about-audience small { color:var(--fut-text-muted); line-height:1.6; }

/* CTA */
.fut-about-cta-wrap { padding-top:0; }
.fut-about-cta {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
  padding:clamp(34px,5vw,58px);
  overflow:hidden;
  border:1px solid rgba(125,211,252,.35);
  border-radius:30px;
  color:#fff;
  background:
    radial-gradient(360px 260px at 88% 10%,rgba(255,255,255,.17),transparent 70%),
    linear-gradient(135deg,#063b66,#075f9b 48%,#0ea5e9);
  box-shadow:0 30px 80px rgba(3,105,161,.22);
}
.fut-about-cta::before {
  content:"";
  position:absolute;
  width:320px;height:320px;
  right:-180px;bottom:-210px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
}
.fut-about-cta > * { position:relative;z-index:1; }
.fut-about-cta h2 { max-width:720px; margin:0 0 10px; color:#fff; }
.fut-about-cta p { max-width:690px; margin:0; color:rgba(255,255,255,.82); }

/* Dark mode */
html.fut-dark .fut-about-page .fut-about-hero,
html[data-theme="dark"] .fut-about-page .fut-about-hero {
  background:
    radial-gradient(700px 520px at 82% 25%,rgba(14,165,233,.10),transparent 68%),
    radial-gradient(520px 420px at 8% 4%,rgba(56,189,248,.06),transparent 70%),
    var(--fut-page);
}
html.fut-dark .fut-about-visual-core,
html[data-theme="dark"] .fut-about-visual-core {
  border-color:#315773;
  background:linear-gradient(145deg,#122a43,#0b1c2e);
  box-shadow:0 40px 90px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.045);
}
html.fut-dark .fut-about-float,
html[data-theme="dark"] .fut-about-float {
  border-color:#315773;
  background:rgba(14,34,53,.88);
  box-shadow:0 24px 55px rgba(0,0,0,.34);
}
html.fut-dark .fut-about-feature,
html.fut-dark .fut-about-principle,
html.fut-dark .fut-about-audience,
html[data-theme="dark"] .fut-about-feature,
html[data-theme="dark"] .fut-about-principle,
html[data-theme="dark"] .fut-about-audience {
  border-color:#294a64;
  background:linear-gradient(145deg,#10243a,#0c1d30);
  box-shadow:0 16px 42px rgba(0,0,0,.22);
}
html.fut-dark .fut-about-feature:hover,
html[data-theme="dark"] .fut-about-feature:hover { border-color:#3d7899; box-shadow:0 25px 55px rgba(0,0,0,.30); }
html.fut-dark .fut-about-image-frame,
html[data-theme="dark"] .fut-about-image-frame {
  border-color:#294a64;
  background:linear-gradient(145deg,#10243a,#0c1d30);
  box-shadow:0 30px 75px rgba(0,0,0,.28);
}
html.fut-dark .fut-about-story-copy p,
html[data-theme="dark"] .fut-about-story-copy p { color:#b8cadc; }

@media (max-width:950px) {
  .fut-about-hero-grid,.fut-about-story-grid { grid-template-columns:1fr; }
  .fut-about-feature-grid,.fut-about-principles { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fut-about-hero-visual { min-height:420px; }
  .fut-about-hero-copy { max-width:800px; }
}
@media (max-width:680px) {
  .fut-about-section { padding:64px 0; }
  .fut-about-feature-grid,.fut-about-principles,.fut-about-audience-grid { grid-template-columns:1fr; }
  .fut-about-hero { padding-top:58px !important; }
  .fut-about-hero h1 { font-size:clamp(2.45rem,13vw,3.8rem); }
  .fut-about-hero-visual { min-height:350px; }
  .fut-about-visual-core { transform:none; }
  .fut-about-visual-ring { width:300px;height:300px; }
  .fut-about-float--one { right:0;top:35px; }
  .fut-about-float--two { left:0;bottom:35px; }
  .fut-about-cta { align-items:flex-start; flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) {
  .fut-about-feature { transition:none; }
  .fut-about-visual-core,.fut-about-image-frame { transform:none; }
}
