/* v22.8.0 Founder-first editorial layer. Additive; legacy site pages preserved. */
:root { --ff-gold:#e3bb62; --ff-ink:#07111b; --ff-edge:rgba(222,189,112,.22); }
.ff-main {overflow:hidden;}
.ff-main h1,.ff-main h2,.ff-main h3 {font-family:var(--display-serif,Georgia,serif);font-weight:500;letter-spacing:-.035em;}
.ff-main em {font-weight:400;font-style:italic;color:#e8c980;}
.ff-main p {margin:0;}
.ff-kicker,.ff-eyebrow {display:block;color:#cdbd93;font-size:.71rem;font-weight:700;line-height:1.5;letter-spacing:.17em;text-transform:uppercase;}
.ff-hero {padding:65px 0 52px;background:radial-gradient(circle at 73% 35%, rgba(191,146,64,.13), transparent 38%);}
.ff-hero-layout {display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);gap:clamp(28px,5vw,80px);align-items:center;}
.ff-hero-copy {padding:32px 0 25px;min-width:0;}
.ff-hero h1 {font-size:clamp(3.9rem,7.2vw,7.4rem);line-height:.91;margin:25px 0 26px;max-width:10ch;letter-spacing:-.065em;}
.ff-hero-statement {font-family:var(--display-serif,Georgia,serif);font-size:clamp(1.4rem,2.55vw,2.45rem);line-height:1.16;letter-spacing:-.025em;color:#faf6ea;max-width:22ch;}
.ff-hero-description {font-size:1.04rem;line-height:1.78;max-width:60ch;margin-top:24px!important;color:#e4e6e9;}
.ff-founder-note {margin-top:13px!important;font-size:.95rem;line-height:1.75;color:#aab7c8;max-width:64ch;}
.ff-live-dot {display:inline-block;width:7px;height:7px;margin-right:7px;vertical-align:2px;border-radius:50%;background:#e3bb62;box-shadow:0 0 0 5px rgba(227,187,98,.1);}
.ff-hero-actions {display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:29px;}
.ff-text-link,.ff-inline-link {font-size:.9rem;font-weight:650;text-decoration:none;color:#f0d98d;border-bottom:1px solid rgba(240,217,141,.4);padding-bottom:3px;transition:color .2s ease,border-color .2s ease;}
.ff-text-link:hover,.ff-inline-link:hover {color:#fff;border-color:#fff;}
.ff-text-link span,.ff-inline-link span {margin-left:8px;}
.ff-hero-proof {margin-top:38px;padding-top:23px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;border-top:1px solid var(--ff-edge);}
.ff-hero-proof>div {display:flex;flex-direction:column;gap:7px;}
.ff-hero-proof strong {font-family:var(--display-serif,Georgia,serif);font-size:clamp(1.6rem,2.5vw,2.2rem);line-height:1;color:#f0d98d;}
.ff-hero-proof span {color:#aab7c8;font-size:.71rem;line-height:1.4;max-width:17ch;}
.ff-hero-portrait {margin:0;position:relative;max-width:525px;width:100%;justify-self:end;border:1px solid rgba(234,199,121,.45);padding:10px;background:#070707;box-shadow:0 28px 70px rgba(0,0,0,.44),0 0 0 9px rgba(212,175,55,.04);border-radius:6px;}
.ff-hero-portrait img {width:100%;height:min(610px,67vw);min-height:440px;object-fit:cover;object-position:center 40%;border-radius:2px;}
.ff-hero-portrait figcaption {position:absolute;display:flex;align-items:center;gap:13px;left:25px;bottom:26px;padding:11px 16px;background:rgba(7,17,27,.88);border:1px solid rgba(234,199,121,.33);border-radius:10px;backdrop-filter:blur(12px);}
.ff-caption-mark {font-size:1.1rem;font-family:Georgia,serif;font-weight:bold;color:var(--ff-gold);}
.ff-hero-portrait figcaption strong,.ff-hero-portrait figcaption small {display:block;}
.ff-hero-portrait figcaption strong {font-size:.88rem;}
.ff-hero-portrait figcaption small {color:#b3b9bf;font-size:.7rem;margin-top:2px;}
.ff-intro-strip {border-top:1px solid rgba(234,199,121,.19);border-bottom:1px solid rgba(234,199,121,.19);background:rgba(236,203,137,.035);}
.ff-strip-inner {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:21px 0;}
.ff-strip-inner>span {font-weight:700;font-size:.71rem;letter-spacing:.17em;color:#d6b96f;white-space:nowrap;}
.ff-strip-inner a {color:#dce5ed;font-size:.84rem;white-space:nowrap;}
.ff-strip-inner a:hover {color:#f0d98d;}
.ff-strip-inner b {font-size:.79rem;font-weight:400;color:#d8bd81;margin-left:7px;}
.ff-section {padding:clamp(67px,9vw,110px) 0;}
.ff-section-head {display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:35px;}
.ff-section-head h2 {font-size:clamp(2.25rem,4.2vw,4.1rem);line-height:1.08;margin:13px 0 0;}
.ff-section-head>p {max-width:355px;color:#aab7c8;font-size:.96rem;line-height:1.74;}
.ff-work {background:linear-gradient(180deg, rgba(16,30,46,.42),rgba(9,18,28,.1));}
.ff-work-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.ff-work-card {background:#111c2a;border:1px solid var(--ff-edge);border-radius:17px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:transform .2s ease,border-color .2s ease;}
.ff-work-card:hover {transform:translateY(-4px);border-color:rgba(234,199,121,.62);}
.ff-work-top {display:flex;align-items:center;justify-content:space-between;gap:8px;padding:17px 21px;}
.ff-index {font-size:.75rem;color:#e4c886;font-weight:700;}
.ff-status {border:1px solid rgba(230,207,146,.27);padding:5px 10px;border-radius:30px;font-size:.69rem;line-height:1.25;color:#d9c9a0;text-align:center;}
.ff-work-graphic {position:relative;min-height:236px;padding:23px 23px 22px;display:flex;flex-direction:column;overflow:hidden;justify-content:space-between;background:radial-gradient(circle at 80% 28%, rgba(239,196,106,.13), transparent 45%),#0c1a27;}
.ff-work-graphic:before {content:"";position:absolute;right:-52px;bottom:-48px;width:200px;height:200px;border:1px solid rgba(224,190,110,.25);border-radius:50%;box-shadow:0 0 0 35px rgba(224,190,110,.03),0 0 0 75px rgba(224,190,110,.025);pointer-events:none;}
.ff-work-graphic strong {position:relative;z-index:1;display:block;font-family:Georgia,serif;font-weight:500;color:#f8eed2;font-size:clamp(1.8rem,3.3vw,3.15rem);line-height:1.02;letter-spacing:-.045em;}
.ff-graphic-overline {position:relative;z-index:1;font-size:.65rem;font-weight:700;letter-spacing:.18em;color:#d7c08d;}
.ff-work-graphic small {position:relative;z-index:1;font-size:.67rem;letter-spacing:.14em;color:#e0c47c;}
.ff-graphic-rule {position:relative;z-index:1;background:rgba(226,189,100,.66);width:36px;height:2px;margin-top:12px;}
.ff-work-graphic--digital {background:linear-gradient(132deg,#0b2030,#092034 60%,#132b3a);}
.ff-work-graphic--academy {background:linear-gradient(135deg,#27221a,#171920 80%);}
.ff-mini-grid {position:absolute;right:22px;bottom:22px;display:grid;grid-template-columns:repeat(2,18px);gap:7px;opacity:.55;}
.ff-mini-grid i {width:18px;height:18px;border:1px solid #c8b27c;transform:rotate(12deg);}
.ff-work-body {padding:22px;display:flex;flex-direction:column;flex:1;gap:12px;}
.ff-work-body h3 {margin:0;font-size:1.74rem;color:#fff;}
.ff-work-body p {font-size:.9rem;line-height:1.7;color:#b6c2d0;flex:1;}
.ff-card-links {margin-top:12px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;gap:10px 20px;}
.ff-card-links a {font-size:.79rem;font-weight:600;color:#f1d790;}
.ff-card-links a:hover {color:#fff;}
.ff-card-links span {margin-left:3px;}
.ff-section-footer {margin-top:24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;color:#aab7c8;font-size:.85rem;}
.ff-feature {background:linear-gradient(130deg,#101b28,#141d29 65%,#1b1c22);border-top:1px solid rgba(210,175,92,.14);border-bottom:1px solid rgba(210,175,92,.14);}
.ff-feature-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(315px,.95fr);gap:clamp(40px,7vw,95px);align-items:center;}
.ff-feature-copy h2,.ff-story-copy h2 {font-size:clamp(2.4rem,5vw,4.6rem);line-height:1.02;margin:16px 0 23px;}
.ff-feature-copy>p:not(:first-child),.ff-story-copy>p {font-size:.98rem;line-height:1.87;color:#bfcad6;margin:0 0 16px;}
.ff-feature-copy strong {color:#f3e0b0;font-weight:600;}
.ff-feature-actions {display:flex;gap:10px;flex-wrap:wrap;margin-top:27px;}
.ff-milestone-panel {border:1px solid rgba(212,175,55,.3);border-radius:18px;background:rgba(0,0,0,.18);padding:26px;box-shadow:0 25px 50px rgba(0,0,0,.16);}
.ff-milestone {display:grid;grid-template-columns:65px 1fr 24px;gap:15px;align-items:center;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.1);}
.ff-milestone:first-child {padding-top:4px;}
.ff-milestone .ff-date {font-size:.79rem;font-weight:750;color:#e5c784;letter-spacing:.05em;}
.ff-milestone strong {font-family:Georgia,serif;font-size:1.16rem;line-height:1.25;font-weight:500;display:block;}
.ff-milestone small {display:block;font-size:.76rem;color:#aab7c8;margin-top:6px;}
.ff-milestone-symbol {color:#d6c28e;font-size:1.3rem;}
.ff-milestone--upcoming {border-bottom:0;}
.ff-milestone--upcoming .ff-date {color:#e4edf8;}
.ff-panel-note {font-size:.76rem;line-height:1.55;color:#9aaabb;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);}
.ff-story-grid {display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(45px,8vw,100px);}
.ff-story-aside {border-left:2px solid #d9b665;padding-left:25px;}
.ff-story-mark {display:block;font-family:Georgia,serif;color:#b98b3d;font-size:8rem;line-height:1;margin-top:16px;opacity:.7;}
.ff-story-aside p {font-family:Georgia,serif;font-size:clamp(1.4rem,2.5vw,2.2rem);line-height:1.25;max-width:17ch;letter-spacing:-.025em;}
.ff-story-copy h2 {margin-top:0;}
.ff-story-copy .ff-inline-link {display:inline-block;margin-top:10px;}
.ff-book {background:#0e1721;border-top:1px solid rgba(234,199,121,.12);border-bottom:1px solid rgba(234,199,121,.12);}
.ff-book-grid {display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(45px,7vw,95px);align-items:center;}
.ff-book-visual {margin:0;background:radial-gradient(circle at 48% 45%,rgba(198,151,59,.12),transparent 62%);}
.ff-book-visual img {width:100%;height:auto;max-height:460px;object-fit:contain;filter:drop-shadow(0 25px 35px rgba(0,0,0,.4));}
.ff-book-visual figcaption {font-size:.7rem;color:#aab7c8;text-align:center;margin-top:13px;}
.ff-book-copy h2 {font-size:clamp(2.7rem,5vw,5.5rem);line-height:1;margin:16px 0 10px;}
.ff-book-subtitle {font-family:Georgia,serif;color:#e4ca8f;font-size:1.23rem;line-height:1.4;margin:0 0 24px!important;}
.ff-book-copy>p:not(.ff-book-subtitle) {font-size:.96rem;color:#c6d1de;line-height:1.82;margin:0 0 16px;}
.ff-book-copy .ff-small-note {font-size:.79rem!important;color:#9eacb9!important;}
.ff-now {background:#0a1621;}
.ff-update-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.ff-update {padding:26px;background:rgba(255,255,255,.025);border-top:2px solid rgba(212,175,55,.6);border-bottom:1px solid rgba(255,255,255,.11);display:flex;flex-direction:column;gap:12px;min-height:250px;}
.ff-update time {color:#e7cc8f;font-size:.7rem;letter-spacing:.12em;font-weight:700;}
.ff-update h3 {font-size:1.53rem;line-height:1.14;margin:0;}
.ff-update p {font-size:.88rem;line-height:1.7;color:#aab7c8;flex:1;}
.ff-update a {font-size:.81rem;font-weight:700;color:#e9cb83;}
.ff-connect {background:radial-gradient(circle at 7% 90%,rgba(212,175,55,.1),transparent 40%);}
.ff-connect-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.ff-connect-card {position:relative;display:flex;flex-direction:column;min-height:225px;gap:15px;padding:27px;background:#111e2b;border:1px solid var(--ff-edge);border-radius:13px;transition:border-color .2s,transform .2s;}
.ff-connect-card:hover {border-color:#e0c37c;transform:translateY(-3px);}
.ff-connect-card>span {font-size:.7rem;font-weight:700;letter-spacing:.12em;color:#d9c088;}
.ff-connect-card strong {font-family:Georgia,serif;font-size:1.45rem;font-weight:500;line-height:1.2;}
.ff-connect-card p {font-size:.85rem;color:#aebccb;line-height:1.6;max-width:28ch;}
.ff-connect-card b {position:absolute;bottom:20px;right:23px;color:#e6cc8c;font-size:1.4rem;font-weight:400;}
.ff-contact-address {margin-top:26px!important;text-align:center;color:#aebccb;font-size:.9rem;}
.ff-contact-address a {color:#f0d98d;text-decoration:underline;text-underline-offset:4px;}
.ff-resources {padding:33px 0 60px;border-top:1px solid var(--ff-edge);background:rgba(0,0,0,.12);}
.ff-resources-title {display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-bottom:20px;}
.ff-resources-title p {font-size:.87rem;color:#b2c0ce;}
.ff-resource-links {display:flex;gap:10px;flex-wrap:wrap;}
.ff-resource-links a {padding:9px 12px;border:1px solid rgba(233,198,115,.25);border-radius:6px;color:#d5e0eb;font-size:.79rem;}
.ff-resource-links a:hover {background:rgba(212,175,55,.14);border-color:#e2bf70;}
.ff-personal-intro {padding:25px 32px;margin:28px 0 32px;border:1px solid var(--ff-edge);border-left:3px solid #d4af37;border-radius:12px;background:linear-gradient(105deg,rgba(212,175,55,.08),transparent 75%);}
.ff-personal-intro p {font-size:1.03rem;line-height:1.86;color:#d8e0e8;margin:0 0 13px;}
.ff-personal-intro p:last-child {margin-bottom:0;}
.ff-case-quick {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:25px 0 38px;}
.ff-case-quick article {padding:22px;border:1px solid var(--ff-edge);border-radius:13px;background:rgba(255,255,255,.035);}
.ff-case-quick strong {font-family:Georgia,serif;font-size:1.8rem;color:#efd38f;font-weight:500;display:block;line-height:1;}
.ff-case-quick span {display:block;font-size:.77rem;line-height:1.5;margin-top:12px;color:#b2c0ce;}
.ff-case-feature {margin:0 0 42px;padding:31px;border:1px solid var(--ff-edge);border-radius:17px;background:linear-gradient(135deg,#142131,#181c24);}
.ff-case-feature h2 {font-size:2rem;margin:8px 0 15px;}
.ff-case-feature>p {color:#c6ced9;line-height:1.75;font-size:.92rem;max-width:78ch;}
.ff-case-timeline {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:25px 0 20px;}
.ff-case-timeline>div {border-top:2px solid rgba(228,191,110,.52);padding-top:17px;}
.ff-case-timeline time {font-size:.73rem;letter-spacing:.11em;color:#e4c888;font-weight:750;}
.ff-case-timeline strong {display:block;font-family:Georgia,serif;font-size:1.21rem;font-weight:500;margin-top:10px;}
.ff-case-timeline small {display:block;color:#acb9c6;margin-top:7px;font-size:.75rem;}
.ff-verified-link {color:#f0d98d;text-decoration:underline;text-underline-offset:3px;}
.ff-media-feature {margin:27px 0 35px;display:grid;grid-template-columns:180px 1fr;gap:25px;align-items:center;padding:19px;border:1px solid var(--ff-edge);border-radius:15px;background:#0e1b28;}
.ff-media-feature img {width:180px;height:208px;object-fit:cover;object-position:center 29%;border-radius:8px;}
.ff-media-feature h2 {font-size:2rem;margin:8px 0 10px;}
.ff-media-feature p {font-size:.9rem;line-height:1.7;color:#bdc9d5;}
.ff-media-feature a {display:inline-block;color:#efd08a;font-weight:650;margin-top:16px;}
@media(max-width:1060px){.ff-hero-layout{grid-template-columns:1fr .85fr;gap:30px}.ff-hero h1{font-size:5.25rem}.ff-section-head{align-items:start}.ff-work-graphic strong{font-size:2.2rem}}
@media(max-width:800px){.ff-hero{padding:37px 0 46px}.ff-hero-layout{grid-template-columns:1fr;gap:24px}.ff-hero-copy{padding:0}.ff-hero h1{font-size:clamp(3.4rem,13vw,5.8rem)}.ff-hero-portrait{justify-self:center;max-width:440px}.ff-hero-portrait img{height:460px;min-height:0}.ff-strip-inner{flex-wrap:wrap;justify-content:flex-start;gap:12px 22px}.ff-strip-inner>span{width:100%}.ff-section-head{display:block}.ff-section-head>p{max-width:650px;margin-top:18px}.ff-work-grid,.ff-update-grid,.ff-connect-grid{grid-template-columns:1fr 1fr}.ff-feature-grid,.ff-story-grid,.ff-book-grid{grid-template-columns:1fr}.ff-book-visual{max-width:470px}.ff-story-aside{display:none}.ff-feature-grid{gap:35px}}
@media(max-width:560px){.ff-hero{padding:27px 0 42px}.ff-hero h1{font-size:clamp(3.35rem,16vw,4.8rem);margin-bottom:20px}.ff-hero-statement{font-size:1.65rem}.ff-hero-description{font-size:.95rem}.ff-founder-note{font-size:.85rem}.ff-hero-actions .btn{flex:1 1 120px;justify-content:center}.ff-hero-actions .ff-text-link{padding:10px 0}.ff-hero-proof{grid-template-columns:repeat(3,1fr);gap:8px}.ff-hero-proof strong{font-size:1.6rem}.ff-hero-proof span{font-size:.65rem}.ff-hero-portrait img{height:420px}.ff-hero-portrait figcaption{left:18px;bottom:19px}.ff-strip-inner a{flex:1 1 43%;font-size:.78rem}.ff-section{padding:67px 0}.ff-section-head h2{font-size:2.42rem}.ff-work-grid,.ff-update-grid,.ff-connect-grid,.ff-case-quick,.ff-case-timeline{grid-template-columns:1fr}.ff-work-graphic{min-height:220px}.ff-work-graphic strong{font-size:3rem}.ff-work-body h3{font-size:1.6rem}.ff-feature-copy h2,.ff-story-copy h2{font-size:2.7rem}.ff-milestone-panel{padding:19px}.ff-milestone{grid-template-columns:56px 1fr 20px;gap:10px}.ff-milestone strong{font-size:1rem}.ff-milestone .ff-date{font-size:.68rem}.ff-book-grid{gap:20px}.ff-book-visual img{max-height:350px}.ff-book-copy h2{font-size:3.25rem}.ff-update{min-height:0}.ff-connect-card{min-height:190px}.ff-personal-intro{padding:21px}.ff-media-feature{grid-template-columns:1fr}.ff-media-feature img{width:100%;max-width:260px;height:260px}.ff-case-feature{padding:20px}.ff-section-footer{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.ff-work-card,.ff-connect-card{transition:none}}
/* Keep the selected-builds introduction full-width now that the method panel is below the fold. */
.selected-builds-hero{grid-template-columns:minmax(0,1fr);}
.selected-builds-hero-copy{max-width:100%;}
.selected-builds-hero-copy .selected-builds-lead{max-width:820px;}
