/* StackFaro R10 — Quietly premium, decision-led experience.
 * Progressive enhancement; no new font/download, tracking pixel, or third-party UI library.
 * Accessible in light and dark themes. No fabricated proof or urgency mechanics.
 */
:root {
  --sf10-stroke:color-mix(in srgb,var(--gold) 22%,var(--line));
  --sf10-surface:color-mix(in srgb,var(--panel-solid) 86%,var(--gold) 2%);
}
html { scroll-padding-top:calc(var(--nav-h) + 18px) }
:where(a,button,input,select,textarea):focus-visible {
  outline:2px solid var(--gold-bright);
  outline-offset:3px;
}
.nav { border-bottom:1px solid color-mix(in srgb,var(--gold) 18%,var(--line)); }
.brand { font-size:18px;letter-spacing:-.05em }
.brand small { display:block;margin-top:3px;font:500 9px DM Mono,monospace;letter-spacing:.1em;text-transform:uppercase }
.brand-mark { width:37px;height:37px;border-radius:11px;background:linear-gradient(135deg,var(--gold-soft),transparent) }
.nav-links a { white-space:nowrap }
.nav-links>a[href="teams.html"],.nav-links>a[href="#request"] {
  border:1px solid color-mix(in srgb,var(--gold) 46%,var(--line));
  background:var(--gold-soft);
  color:var(--ink);
  border-radius:999px;
  padding:10px 14px;
  font-weight:800;
}
.nav-links>a[href="sponsor.html"] { display:none }
.nav-links>a[href="teams.html"]:hover,.nav-links>a[href="#request"]:hover {
  background:color-mix(in srgb,var(--gold) 20%,var(--panel-solid));
}
.hero { min-height:min(740px,calc(86vh - var(--nav-h))); align-items:center;gap:clamp(30px,5vw,80px);padding-block:clamp(58px,8vw,106px) }
.hero>div:first-child { position:relative;z-index:1;min-width:0 }
.hero h1 { max-width:950px;font-size:clamp(52px,7vw,104px);line-height:.96;letter-spacing:-.063em }
.hero p { max-width:660px;line-height:1.7;font-size:clamp(15px,1.5vw,19px) }
.hero:after { top:3%;right:1%;width:440px;height:440px;background:radial-gradient(circle,color-mix(in srgb,var(--gold) 12%,transparent),transparent 70%) }
.hero-side {
  transform:rotate(-1deg);
  border:1px solid var(--sf10-stroke);
  padding:24px 26px;
  border-radius:26px;
  background:linear-gradient(148deg,var(--sf10-surface),var(--panel));
  box-shadow:var(--shadow-strong);
}
.hero-side:before {
  content:"/  STACKFARO DECISION SIGNALS";
  display:block;
  font:500 9px DM Mono,monospace;
  letter-spacing:.13em;
  color:var(--gold);
  padding:0 2px 16px;
}
.hero-side:after {
  content:"EVIDENCE → OPTIONS → ACTION";
  display:block;
  font:500 9px DM Mono,monospace;
  letter-spacing:.09em;
  color:var(--muted);
  margin-top:15px;
  padding:18px 2px 0;
  border-top:1px solid var(--line);
}
.hero-side .metric { padding:23px 3px }
.hero-side .metric strong { font-size:clamp(28px,3.5vw,45px);letter-spacing:-.045em }
.hero .signal-strip { margin-top:38px;grid-template-columns:repeat(2,minmax(0,1fr));border:0;background:transparent;gap:9px }
.hero .signal { border:1px solid var(--line);background:color-mix(in srgb,var(--panel-solid) 62%,transparent);padding:16px 18px;border-radius:12px;min-width:0 }
.hero .signal b { color:var(--ink);letter-spacing:-.018em }
.hero .signal span { font-size:10px;line-height:1.6;display:block }
.hero .cta-row .btn { min-height:48px }
.hero .cta-row .btn.primary { color:#11120f;background:linear-gradient(135deg,var(--gold-bright),var(--gold));border-color:var(--gold) }
.hero .cta-row .btn.primary:hover { filter:brightness(1.06);transform:translateY(-2px) }
body[data-page="teams"] .hero-side,body[data-page="sponsor"] .hero-side { transform:rotate(1deg) }
body[data-page="teams"] .hero h1,body[data-page="sponsor"] .hero h1,body[data-page="software-consolidation"] .hero h1 { font-size:clamp(48px,6.6vw,96px) }
body[data-page="teams"] .hero,body[data-page="sponsor"] .hero,body[data-page="software-consolidation"] .hero { min-height:unset }

.sf10-section-overline {
  display:block;font:500 10px DM Mono,ui-monospace,monospace;
  letter-spacing:.16em;text-transform:uppercase;color:var(--gold);line-height:1.6
}
.sf10-choice-section { padding:76px 0 86px;border-bottom:1px solid var(--line) }
.sf10-choice-heading { display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:end;gap:28px;margin:15px 0 30px }
.sf10-choice-heading h2,.sf10-sample-header h2,.sf10-bridge h2 {
  font:600 clamp(37px,5vw,65px)/1.05 "Playfair Display",Georgia,serif;
  letter-spacing:-.055em;margin:0;max-width:780px
}
.sf10-choice-heading p,.sf10-sample-header p,.sf10-bridge p { margin:0;color:var(--muted);line-height:1.75;font-size:13px;max-width:540px }
.sf10-choice-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px }
.sf10-choice-card {
  min-width:0;min-height:296px;text-decoration:none;position:relative;
  border:1px solid var(--line);border-radius:19px;
  background:linear-gradient(160deg,var(--sf10-surface),var(--panel));
  padding:26px;display:flex;flex-direction:column;align-items:flex-start;gap:13px;
  box-shadow:0 12px 42px rgba(0,0,0,.035);
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.sf10-choice-card:hover {
  transform:translateY(-5px);
  border-color:color-mix(in srgb,var(--gold) 65%,var(--line));
  box-shadow:var(--shadow);
}
.sf10-card-number { font:600 9px DM Mono,monospace;letter-spacing:.1em;color:var(--gold) }
.sf10-choice-symbol {
  margin-top:13px;display:grid;place-items:center;width:50px;height:50px;
  font:500 35px/1 "Playfair Display",serif;border:1px solid var(--sf10-stroke);
  background:var(--gold-soft);border-radius:14px;color:var(--gold);
}
.sf10-choice-card strong { font:600 clamp(23px,2.5vw,32px)/1.08 "Playfair Display",Georgia,serif;letter-spacing:-.035em }
.sf10-choice-card>span:not(.sf10-card-number):not(.sf10-choice-symbol) { color:var(--muted);line-height:1.6;font-size:12px }
.sf10-choice-card em {
  font:700 12px Manrope,sans-serif;font-style:normal;color:var(--ink);
  margin-top:auto;padding-top:14px;display:block
}
.sf10-choice-commercial {
  background:
    radial-gradient(circle at 92% 5%,color-mix(in srgb,var(--gold) 19%,transparent),transparent 58%),
    linear-gradient(145deg,color-mix(in srgb,var(--panel-solid) 78%,var(--gold) 5%),var(--panel));
  border-color:color-mix(in srgb,var(--gold) 46%,var(--line))
}
.sf10-decision-foot {
  display:flex;flex-wrap:wrap;gap:12px 30px;margin-top:20px;
  color:var(--muted);font:500 10px Manrope,sans-serif
}
.sf10-decision-foot span:first-letter { color:var(--gold) }

.sf10-bridge-section,.sf10-campaign-bridge { padding:36px 0;border-bottom:1px solid var(--line) }
.sf10-bridge {
  display:grid;grid-template-columns:minmax(0,1.45fr) minmax(215px,.55fr);
  gap:35px;align-items:center;padding:38px 42px;border-radius:22px;
  border:1px solid color-mix(in srgb,var(--gold) 48%,var(--line));
  background:
    radial-gradient(circle at 95% -25%,color-mix(in srgb,var(--gold) 19%,transparent),transparent 55%),
    linear-gradient(140deg,var(--panel-solid),var(--panel));
}
.sf10-bridge h2 { font-size:clamp(28px,3.6vw,46px);margin:10px 0 14px }
.sf10-bridge-cta {
  padding:18px 22px;border-radius:14px;text-decoration:none;
  display:flex;align-items:center;justify-content:center;
  background:var(--gold);color:#11120f;font-size:12px;font-weight:800;
  min-height:62px;text-align:center;transition:transform .2s ease,filter .2s ease
}
.sf10-bridge-cta:hover { transform:translateY(-3px);filter:brightness(1.07) }

/* Proof through method: a clearly labelled, fictional decision memo. */
.sf10-sample-section { background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 3%,var(--bg)),var(--bg)) }
.sf10-sample-header { display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:30px }
.sf10-sample-header h2 { margin:12px 0 14px;max-width:750px }
.sf10-sample-header p { max-width:680px }
.sf10-outline-link { white-space:nowrap }
.sf10-sample-frame {
  border-radius:25px;border:1px solid var(--sf10-stroke);
  background:var(--panel-solid);overflow:hidden;box-shadow:var(--shadow-strong)
}
.sf10-sample-bar {
  display:flex;justify-content:space-between;align-items:center;gap:18px;
  background:color-mix(in srgb,var(--panel-solid) 87%,var(--gold) 3%);
  padding:18px 28px;border-bottom:1px solid var(--line)
}
.sf10-sample-logo { display:flex;gap:12px;align-items:center;font:600 10px DM Mono,monospace;letter-spacing:.07em }
.sf10-sample-logo i { display:inline-block;width:20px;height:20px;transform:rotate(28deg);border:2px solid var(--gold);border-radius:6px }
.sf10-sample-fictional {
  color:var(--gold);font:700 9px DM Mono,monospace;letter-spacing:.08em;
  border:1px solid var(--sf10-stroke);border-radius:999px;padding:9px 11px
}
.sf10-sample-content { display:grid;grid-template-columns:minmax(0,.74fr) minmax(0,1.26fr) }
.sf10-sample-aside {
  min-width:0;padding:clamp(25px,3.4vw,44px);
  border-right:1px solid var(--line);
  background:
    linear-gradient(165deg,color-mix(in srgb,var(--gold) 6%,transparent),transparent 85%);
}
.sf10-label { color:var(--gold);font:600 10px DM Mono,monospace;letter-spacing:.12em;text-transform:uppercase }
.sf10-sample-aside h3 { font:600 clamp(28px,3vw,43px)/1.1 "Playfair Display",Georgia,serif;letter-spacing:-.04em;margin:22px 0 17px }
.sf10-sample-aside p { color:var(--muted);font-size:12px;line-height:1.8 }
.sf10-mini-facts { display:flex;flex-wrap:wrap;gap:8px;margin-top:26px }
.sf10-mini-facts span { font:500 9px DM Mono,monospace;padding:9px 10px;border:1px solid var(--line);border-radius:999px }
.sf10-sample-table-wrap { min-width:0;padding:clamp(22px,3vw,40px) }
.sf10-table-head { display:flex;justify-content:space-between;gap:10px;margin-bottom:22px;color:var(--muted);font:600 9px DM Mono,monospace;letter-spacing:.12em }
.sf10-example-table { display:grid;border:1px solid var(--line);border-radius:13px;overflow:hidden }
.sf10-example-row {
  display:grid;grid-template-columns:1fr 1.1fr .9fr;align-items:center;
  border-top:1px solid var(--line);min-height:83px
}
.sf10-example-row:first-child { border-top:0 }
.sf10-example-row>span { display:block;padding:18px 17px;font-size:11px;line-height:1.6;min-width:0 }
.sf10-example-row>span+span { border-left:1px solid var(--line) }
.sf10-example-row span b { display:block;font-weight:800;color:var(--ink) }
.sf10-example-row span small { display:block;color:var(--muted);margin-top:5px;font:500 9px DM Mono,monospace;line-height:1.5 }
.sf10-example-row strong { font:700 9px DM Mono,monospace;letter-spacing:.02em }
.sf10-example-title { min-height:0;background:var(--gold-soft) }
.sf10-example-title span { color:var(--muted);font:600 9px DM Mono,monospace }
.sf10-action-keep { color:var(--success) }
.sf10-action-investigate { color:var(--gold) }
.sf10-action-map { color:var(--blue) }
.sf10-table-disclaimer { margin:17px 0 0;color:var(--muted);font-size:10px;line-height:1.65 }
.sf10-method-row { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:12px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--line) }
.sf10-method-row>div { padding:22px;background:var(--panel-solid);display:flex;align-items:center;gap:17px }
.sf10-method-row b { font:600 23px "Playfair Display",Georgia,serif;color:var(--gold) }
.sf10-method-row span { font-size:11px;color:var(--ink-soft) }
#commercial .partner-grid { align-items:stretch }
#commercial .partner-card { display:flex;flex-direction:column;min-height:260px }
#commercial .partner-card:first-child { border-color:color-mix(in srgb,var(--gold) 56%,var(--line));background:var(--sf10-surface) }
#commercial .partner-card h3 { font-size:clamp(23px,2.4vw,30px) }
#commercial .partner-card .sf10-plan-link {
  display:inline-flex;align-items:center;margin-top:auto;padding-top:22px;
  font-weight:800;font-size:11px;text-decoration:none;color:var(--gold)
}
#commercial .partner-card .sf10-plan-link:hover { text-decoration:underline;text-underline-offset:4px }
.sf10-form-assurance {
  grid-column:1/-1;font-size:11px;color:var(--muted);line-height:1.65;
  padding:14px 17px;border:1px solid var(--sf10-stroke);
  border-radius:12px;background:var(--gold-soft);margin:0
}
#request, #partner { scroll-margin-top:calc(var(--nav-h) + 18px) }
.form-submit { transition:filter .2s ease,transform .2s ease }
.form-submit:hover:not(:disabled) { filter:brightness(1.05);transform:translateY(-1px) }

/* Sponsor credibility without inventing past performance or clients. */
.sf10-partner-preview {
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  align-items:center;gap:30px;padding:36px;border:1px solid var(--sf10-stroke);
  border-radius:20px;background:var(--sf10-surface)
}
.sf10-partner-preview h3 { font:600 clamp(28px,3.6vw,44px)/1.1 "Playfair Display",serif;margin:12px 0;letter-spacing:-.04em }
.sf10-partner-preview p { max-width:580px;font-size:12px;line-height:1.8;color:var(--muted) }
.sf10-partner-mock {
  border:1px solid var(--line);border-radius:18px;background:var(--panel-solid);
  min-height:215px;padding:26px;display:flex;flex-direction:column;justify-content:space-between;
}
.sf10-partner-label { color:var(--gold);font:600 9px DM Mono,monospace;letter-spacing:.1em }
.sf10-partner-mock strong { font:600 30px "Playfair Display",serif;letter-spacing:-.035em }
.sf10-partner-mock small { color:var(--muted);font-size:11px }

/* Mobile intent capture is contextual and disappears when the real form is visible. */
.sf10-mobile-action { display:none }
.sf10-mobile-hidden { transform:translateY(130%);pointer-events:none }

@media(max-width:1050px) {
  .hero { gap:34px }
  .hero-side { padding:20px }
  .sf10-sample-content { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) }
  .sf10-example-row { grid-template-columns:1fr 1fr .95fr }
  .sf10-example-row>span { padding:12px;font-size:10px }
}
@media(max-width:820px) {
  .sf10-choice-heading { grid-template-columns:1fr;gap:12px }
  .sf10-choice-grid { grid-template-columns:1fr 1fr }
  .sf10-choice-card { min-height:280px }
  .sf10-choice-commercial { grid-column:1/-1;min-height:240px }
  .sf10-bridge { grid-template-columns:1fr;gap:23px;padding:28px }
  .sf10-bridge-cta { justify-self:start }
  .sf10-sample-content { grid-template-columns:1fr }
  .sf10-sample-aside { border-right:0;border-bottom:1px solid var(--line) }
  .sf10-sample-header { align-items:start;flex-direction:column }
  .sf10-method-row { grid-template-columns:1fr 1fr }
  .sf10-partner-preview { grid-template-columns:1fr }
}
@media(max-width:650px) {
  .nav { --nav-h:69px }
  .hero { min-height:unset;padding-top:54px;padding-bottom:48px;gap:30px }
  .hero h1 { font-size:clamp(47px,12vw,72px);line-height:1 }
  .hero p { font-size:14px }
  .hero-side { transform:none!important;box-shadow:var(--shadow);padding:12px 22px }
  .hero-side:before { padding-top:8px }
  .hero .signal-strip { margin-top:25px;grid-template-columns:1fr 1fr }
  .hero .signal { padding:12px 13px }
  .hero .signal b { font-size:10px }
  .hero .signal span { font-size:9px }
  .hero .cta-row { display:grid;grid-template-columns:1fr;gap:9px }
  .hero .cta-row .btn { width:100%;min-height:50px }
  .sf10-choice-section { padding:54px 0 }
  .sf10-choice-heading h2 { font-size:clamp(37px,9vw,49px) }
  .sf10-choice-grid { grid-template-columns:1fr;gap:11px }
  .sf10-choice-card,.sf10-choice-commercial { grid-column:auto;min-height:unset;padding:23px;gap:11px }
  .sf10-choice-symbol { margin-top:4px;width:42px;height:42px;font-size:29px }
  .sf10-choice-card strong { font-size:27px }
  .sf10-choice-card em { padding-top:10px }
  .sf10-decision-foot { gap:8px 18px }
  .sf10-bridge-section,.sf10-campaign-bridge { padding:22px 0 }
  .sf10-bridge { padding:26px 20px;gap:18px }
  .sf10-bridge-cta { width:100%;font-size:11px }
  .sf10-sample-header h2 { font-size:39px }
  .sf10-sample-bar { padding:16px;flex-wrap:wrap }
  .sf10-sample-logo { font-size:9px }
  .sf10-sample-fictional { font-size:8px }
  .sf10-sample-aside { padding:24px }
  .sf10-sample-table-wrap { padding:18px 12px;overflow-x:auto }
  .sf10-example-table { min-width:490px }
  .sf10-example-row { grid-template-columns:1fr 1fr 1fr }
  .sf10-method-row { grid-template-columns:1fr 1fr }
  .sf10-method-row>div { padding:15px;gap:9px }
  .sf10-method-row span { font-size:10px }
  .sf10-partner-preview { padding:20px }
  body[data-page="teams"], body[data-page="software-consolidation"],body[data-page="sponsor"] { padding-bottom:78px }
  .sf10-mobile-action {
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    position:fixed;bottom:0;left:0;right:0;z-index:80;
    padding:13px max(18px,env(safe-area-inset-left)) calc(12px + env(safe-area-inset-bottom));
    border-top:1px solid var(--sf10-stroke);background:color-mix(in srgb,var(--bg) 93%,transparent);
    backdrop-filter:blur(20px);box-shadow:0 -12px 35px rgba(0,0,0,.17);
    transition:transform .24s ease
  }
  .sf10-mobile-action span { color:var(--gold);display:block;font:600 8px DM Mono,monospace;letter-spacing:.07em }
  .sf10-mobile-action strong { font:700 12px Manrope,sans-serif;display:block;margin-top:5px }
  .sf10-mobile-action a {
    background:var(--gold);color:#11120f;padding:13px 17px;border-radius:11px;
    text-decoration:none;font:800 12px Manrope,sans-serif;white-space:nowrap
  }
}
@media(prefers-reduced-motion:reduce) {
  .sf10-choice-card,.sf10-bridge-cta,.sf10-mobile-action,.hero .cta-row .btn { transition:none }
  .sf10-choice-card:hover,.sf10-bridge-cta:hover { transform:none }
}

/* Static anchor survives progressive enhancement and makes cross-page links valid. */
.sf10-preview-anchor { position:relative;display:block;scroll-margin-top:calc(var(--nav-h) + 18px) }
.sf10-choice-card>span:not(.sf10-card-number):not(.sf10-choice-symbol) { font-size:14px }
.sf10-choice-card em,.sf10-bridge p,.sf10-sample-header p,.sf10-sample-aside p,.sf10-partner-preview p { font-size:13px }
