@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fitcon-assets/archivo-latin-0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fitcon-assets/archivo-latin-0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fitcon-assets/archivo-latin-0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fitcon-assets/archivo-latin-0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* FitCon public-site palette;
 16px base, 1.25 type scale, 4px spacing unit.
   Generous editorial density. Breakpoints: 960px and 640px;
 minimum tested 320px. */
:root{
--surface:#0a0a0b;
--surface-raised:#131315;
--text:#e8e6e3;
--text-muted:#b2b0b4;
--border:#444449;
--accent:#c81010;
--accent-contrast:#ffffff;
--highlight:#ef4444;
--focus:#f6d482;
--base:1rem;
--lg:1.25rem;
--xl:1.563rem;
--xxl:1.953rem;
--title:3.815rem;
--space:4px}

*{
box-sizing:border-box}
html{
scroll-behavior:smooth;
scroll-padding-top:100px}
body{
margin:0;
background:var(--surface);
color:var(--text);
font-family:Archivo,Arial,sans-serif;
font-size:1rem;
line-height:1.6}
a{
color:inherit;
text-decoration-thickness:1px;
text-underline-offset:4px}
a:hover{
color:var(--highlight)}
button,input,select,textarea{
font:inherit}
button,a,input,select,textarea,summary{
-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{
outline:3px solid var(--focus);
outline-offset:4px}
button,a,summary{
touch-action:manipulation}
button:disabled{
opacity:.6;
cursor:not-allowed}
button{
cursor:pointer}
img{
max-width:100%;
height:auto;
display:block}
h1,h2,h3,h4,p{
margin:0 0 24px}
h1,h2,h3,h4{
line-height:1.2;
letter-spacing:-.035em;
font-weight:800}
h1,h2,h3{
overflow-wrap:anywhere}
h1{
font-size:clamp(2.441rem,5.2vw,4.768rem);
max-width:16ch}
h2{
font-size:clamp(1.953rem,3.5vw,3.052rem);
max-width:24ch}
h3{
font-size:1.563rem}
h4{
font-size:1.25rem}
p{
max-width:65ch;
color:var(--text-muted)}
ul,ol{
padding-left:24px;
color:var(--text-muted)}
li{
margin-bottom:12px}
strong{
color:var(--text)}
.wrap{
width:min(1240px,100% - 64px);
margin:auto}
.section{
padding:96px 0;
border-top:1px solid var(--border)}
.eyebrow,.mono{
font-family:'Courier New',monospace;
letter-spacing:.08em;
font-weight:600;
font-size:1rem}
.eyebrow{
color:var(--highlight);
margin-bottom:24px}
.eyebrow::before{
content:'// ';
opacity:.8}
.muted{
color:var(--text-muted)}
.accent{
color:var(--highlight)}
.lead{
font-size:1.25rem;
line-height:1.6}
.measure{
max-width:62ch}
.flex{
display:flex;
align-items:center;
gap:16px;
flex-wrap:wrap}
.between{
justify-content:space-between}
.grid{
display:grid;
gap:24px}
.two{
grid-template-columns:repeat(2,minmax(0,1fr))}
.three{
grid-template-columns:repeat(3,minmax(0,1fr))}
.four{
grid-template-columns:repeat(4,minmax(0,1fr))}
.panel{
padding:32px;
border:1px solid var(--border);
background:var(--surface-raised);
min-width:0}
.panel p:last-child{
margin-bottom:0}
.panel .number{
font:600 1rem 'Courier New',monospace;
color:var(--highlight);
display:block;
margin-bottom:32px}
.btn{
display:inline-flex;
justify-content:center;
align-items:center;
gap:12px;
min-height:48px;
padding:12px 24px;
background:var(--accent);
color:var(--accent-contrast);
border:1px solid var(--accent);
font-weight:600;
text-decoration:none;
transition:background 120ms ease-out,transform 120ms ease-out}
.btn:hover{
background:#a60d0d;
color:#ffffff}
.btn:active{
transform:translateY(1px)}
.btn.secondary{
background:transparent;
border-color:var(--border);
color:var(--text)}
.btn.secondary:hover{
background:var(--surface-raised);
border-color:var(--text-muted)}
.text-link{
display:inline-flex;
align-items:center;
gap:12px;
min-height:44px;
font-weight:600}
.header{
position:sticky;
top:0;
z-index:10;
background:var(--surface);
border-bottom:1px solid var(--border)}
.nav-row{
min-height:88px;
display:flex;
align-items:center;
justify-content:space-between;
gap:24px}
.brand{
display:inline-flex;
align-items:center;
min-height:44px;
font-size:1.25rem;
letter-spacing:-.04em;
white-space:nowrap;
text-decoration:none;
font-weight:800}
.brand span{
font-weight:400;
color:var(--text-muted)}
.brand i{
color:var(--accent);
font-style:normal}
.nav-links{
display:flex;
align-items:center;
gap:24px}
.nav-links a{
text-decoration:none;
min-height:44px;
display:inline-flex;
align-items:center}
.nav-links a[aria-current=page]{
color:var(--highlight)}
.menu-btn{
display:none;
min-height:44px;
background:transparent;
color:var(--text);
border:1px solid var(--border);
padding:8px 16px}
.review-bar{
background:#191919;
border-bottom:1px solid var(--border);
color:var(--text-muted);
padding:8px 0;
font-size:1rem}
.review-bar a{
margin-left:16px}
.skip{
position:fixed;
left:16px;
top:-100px;
z-index:100;
background:var(--text);
color:var(--surface);
padding:16px}
.skip:focus{
top:16px}
.hero{
position:relative;
overflow:hidden;
background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);
background-size:64px 64px}
.hero-grid{
display:grid;
grid-template-columns:1.1fr .9fr;
gap:48px;
align-items:center;
padding:64px 0}
.hero-copy{
position:relative;
z-index:1}
.hero-background{
position:absolute;
inset:0 0 0 auto;
height:100%;
width:64%;
object-fit:cover;
object-position:center 18%;
opacity:.65;
filter:saturate(.5)}
.hero::after{
content:'';
position:absolute;
inset:0;
background:linear-gradient(90deg,#0a0a0b 5%,#0a0a0bf2 28%,#0a0a0b99 57%,#0a0a0b1a 100%),linear-gradient(0deg,#0a0a0b 0%,#0a0a0b00 28%);
pointer-events:none}
.hero .hero-grid{
position:relative;
z-index:1;
grid-template-columns:1fr;
min-height:780px;
padding:80px 0 64px}
.hero-copy{
max-width:800px}
.hero-copy h1{
max-width:none;
text-wrap:balance}
.hero-credit{
margin-top:40px}
.hero-credit p{
margin:0}
.hero-copy .lead{
max-width:46ch;
margin-top:32px}
.hero-photo{
height:620px;
width:100%;
object-fit:cover;
object-position:center 25%;
filter:saturate(.5)}
.photo-frame{
position:relative;
border-bottom:4px solid var(--accent)}
.photo-caption{
position:absolute;
bottom:0;
left:0;
right:0;
padding:24px;
background:linear-gradient(transparent,#0a0a0bf5);
padding-top:64px}
.photo-caption p{
margin:0;
color:var(--text)}
.hero-note{
margin-top:24px;
font-family:'Courier New',monospace}
.stats{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
border-top:1px solid var(--border);
border-bottom:1px solid var(--border)}
.stat{
padding:32px;
border-right:1px solid var(--border)}
.stat:last-child{
border-right:0}
.stat strong{
display:block;
font-size:1.25rem;
margin-bottom:8px}
.stat p{
margin:0}
.section-heading{
display:flex;
justify-content:space-between;
align-items:end;
gap:48px;
margin-bottom:40px}
.section-heading h2{
margin:0}
.section-heading p{
max-width:42ch;
margin:0}
.connect-strip{
padding:48px 0}
.social-list{
display:flex;
flex-wrap:wrap;
gap:12px}
.social{
border:1px solid var(--border);
padding:12px 16px;
display:inline-flex;
align-items:center;
gap:12px;
min-height:48px;
text-decoration:none}
.social img{
height:20px;
width:20px;
filter:invert(1)}
.social.unset{
color:var(--text-muted)}
.partner{
display:flex;
flex-direction:column;
gap:8px;
padding:24px;
border-left:2px solid var(--border);
text-decoration:none;
min-height:136px}
.partner:hover{
border-color:var(--accent);
background:var(--surface-raised)}
.partner span{
color:var(--text-muted)}
.partners{
margin-top:32px}
.disclosure{
font-size:1rem;
margin-top:24px}
.wide-image{
height:300px;
width:100%;
object-fit:cover;
object-position:center 40%;
filter:saturate(.35)}
.dashboard-card{
background:var(--surface-raised);
border:1px solid var(--border);
padding:32px}
.mini-chart{
display:flex;
align-items:flex-end;
gap:12px;
height:160px;
border-bottom:1px solid var(--border);
margin:32px 0}
.mini-chart span{
display:block;
flex:1;
background:var(--accent);
min-width:8px}
.mini-chart span:nth-child(1){
height:34%}
.mini-chart span:nth-child(2){
height:45%}
.mini-chart span:nth-child(3){
height:40%}
.mini-chart span:nth-child(4){
height:62%}
.mini-chart span:nth-child(5){
height:70%}
.mini-chart span:nth-child(6){
height:88%}
.tag{
display:inline-block;
border:1px solid var(--border);
padding:4px 12px;
color:var(--text-muted)}
.price{
font-size:3.052rem;
line-height:1.2;
font-weight:800;
color:var(--text);
margin:24px 0}
.price small{
font-size:1rem;
font-weight:400;
color:var(--text-muted);
letter-spacing:0}
.featured{
border-top:4px solid var(--accent)}
.service-band{
padding:32px;
border-left:4px solid var(--accent);
background:var(--surface-raised);
margin:32px 0}
.timeline{
counter-reset:steps}
.step{
display:grid;
grid-template-columns:64px 1fr;
gap:24px;
border-top:1px solid var(--border);
padding:32px 0}
.step::before{
counter-increment:steps;
content:'0' counter(steps);
font:600 1.25rem 'Courier New',monospace;
color:var(--highlight)}
.step h3{
margin-bottom:12px}
.step p{
margin-bottom:0}
.cta{
text-align:center;
background:radial-gradient(ellipse at center,#38101000,#0a0a0b),#1b0b0b}
.cta h2,.cta p{
margin-left:auto;
margin-right:auto}
.footer{
padding:64px 0 32px;
border-top:1px solid var(--border)}
.footer-nav{
display:flex;
flex-wrap:wrap;
gap:16px 24px;
margin-bottom:24px}
.footer-nav a{
min-height:44px;
display:inline-flex;
align-items:center}
.footer .legal{
font-size:1rem;
max-width:100%;
margin-top:32px}
.page-hero{
padding:80px 0 64px}
.page-hero h1{
max-width:22ch}
.page-hero .lead{
max-width:60ch}
.story p{
margin-bottom:24px}
.credential-list{
display:flex;
flex-wrap:wrap;
gap:12px;
margin-top:32px}
.credential-list span{
border:1px solid var(--border);
padding:8px 16px}
.faq details{
border-bottom:1px solid var(--border);
padding:0}
.faq summary{
cursor:pointer;
min-height:64px;
padding:20px 40px 20px 0;
font-size:1.25rem;
font-weight:600;
position:relative;
list-style:none}
.faq summary::after{
content:'+';
position:absolute;
right:8px;
color:var(--highlight)}
.faq details[open] summary::after{
content:'−'}
.faq details p{
padding-bottom:24px;
margin:0;
max-width:80ch}
.field{
display:flex;
flex-direction:column;
gap:8px;
margin-bottom:24px;
min-width:0}
label,legend{
font-weight:600}
input,select,textarea{
width:100%;
padding:12px 16px;
background:var(--surface);
color:var(--text);
border:1px solid #76767c;
min-height:48px;
border-radius:0}
textarea{
resize:vertical;
min-height:128px}
input[type=checkbox]{
width:24px;
height:24px;
min-height:24px;
accent-color:var(--accent);
flex-shrink:0}
input[type=file]{
max-width:100%}
.check{
display:flex;
gap:16px;
align-items:flex-start;
margin-bottom:24px}
.check label{
font-weight:400}
.field-error{
color:#ef4444;
margin:0}
.notice{
padding:24px;
background:#211b15;
border:1px solid #8b7546;
margin-bottom:32px;
color:var(--text)}
.success{
padding:24px;
background:var(--surface-raised);
border-left:4px solid var(--focus);
margin-top:24px}
.status{
min-height:32px;
color:var(--text-muted);
margin-top:16px}
.empty{
padding:32px;
border:1px dashed var(--border);
color:var(--text-muted)}
.toolbar{
display:flex;
gap:16px;
flex-wrap:wrap;
margin-bottom:32px;
align-items:end}
.toolbar .field{
margin:0;
flex:1;
min-width:200px}
.resource-card{
display:flex;
flex-direction:column;
min-width:0}
.resource-card p{
flex:1}
.article{
max-width:760px;
margin:auto}
.article p{
font-size:1.25rem;
line-height:1.6}
.article h1{
max-width:24ch}
.back{
margin-bottom:32px}
.sources{
border-top:1px solid var(--border);
margin-top:40px;
padding-top:24px}
.sources li{
overflow-wrap:anywhere}
.intake-group{
margin-bottom:48px}
.intake-group h2{
font-size:1.953rem}
.intake-question{
padding:16px 0;
border-bottom:1px solid var(--border)}
.answer-lines{
height:64px;
border-bottom:1px solid var(--border);
margin-top:8px}
.dash-nav{
display:flex;
gap:12px;
flex-wrap:wrap;
margin-bottom:32px}
.dash-nav button{
min-height:48px;
padding:12px 24px;
background:var(--surface-raised);
border:1px solid var(--border);
color:var(--text)}
.dash-nav button[aria-pressed=true]{
border-color:var(--highlight);
color:var(--highlight)}
.dash-value{
font-size:2.441rem;
font-weight:800;
line-height:1.2;
margin:16px 0;
color:var(--text)}
.messages{
min-height:120px;
max-height:400px;
overflow:auto}
.message{
padding:16px;
background:var(--surface);
margin-bottom:16px;
overflow-wrap:anywhere}
.editor-row{
border-top:1px solid var(--border);
padding:24px 0}
.editor-row .grid{
gap:16px}
.editor-section{
margin-bottom:48px}
.editor-section h2{
font-size:1.953rem}
.editor-post textarea{
min-height:240px}
.button-row{
display:flex;
gap:16px;
flex-wrap:wrap}
.no-margin{
margin:0}
[hidden]{
display:none!important}

@media(min-width:1600px){
.hero-photo{
height:680px}
}
@media(max-width:960px){
.nav-links{
gap:16px}
.nav-row{
min-height:80px}
.nav-links .client-link{
display:none}
.hero-grid{
gap:32px}
.hero-photo{
height:560px}
.three,.four{
grid-template-columns:repeat(2,minmax(0,1fr))}
.stats{
grid-template-columns:repeat(2,minmax(0,1fr))}
.stat:nth-child(2){
border-right:0}
.stat:nth-child(-n+2){
border-bottom:1px solid var(--border)}
.section-heading{
display:block}
.section-heading p{
margin-top:24px}
.section{
padding:64px 0}
}

@media(max-width:760px){
.hero-background{
width:100%;
opacity:.35;
object-position:62% 18%}
.hero::after{
background:linear-gradient(90deg,#0a0a0bd9,#0a0a0b80),linear-gradient(0deg,#0a0a0b,#0a0a0b00 55%)}
.hero .hero-grid{
min-height:0;
padding:48px 0}
.menu-btn{
display:block}
.nav-links{
display:none;
position:absolute;
top:100%;
left:0;
right:0;
background:var(--surface);
border-bottom:1px solid var(--border);
padding:24px 32px;
flex-direction:column;
align-items:stretch}
.nav-links.open{
display:flex}
.nav-links .client-link{
display:flex}
.hero-grid{
grid-template-columns:1fr;
padding:48px 0}
.hero-photo{
height:480px}
.hero-copy h1{
max-width:18ch}
.two{
grid-template-columns:1fr}
.page-hero{
padding:48px 0}
.hero-copy .lead{
font-size:1.25rem}
}

@media(max-width:640px){
.wrap{
width:calc(100% - 40px)}
.three,.four{
grid-template-columns:1fr}
.section{
padding:48px 0}
.hero-photo{
height:400px}
.panel,.dashboard-card{
padding:24px}
.stat{
padding:24px 16px}
.stat strong{
font-size:1rem}
.review-bar .wrap{
display:flex;
gap:8px;
flex-wrap:wrap}
.review-bar a{
margin:0}
.social{
flex:1 1 128px}
.hero-grid{
gap:32px}
.hero-copy .flex{
align-items:stretch}
.hero-copy .btn{
width:100%}
.step{
grid-template-columns:40px 1fr;
gap:16px}
.price{
font-size:2.441rem}
.wide-image{
height:200px}
.article p{
font-size:1rem}
.footer{
padding-top:48px}
.brand{
font-size:1rem}
.toolbar{
display:block}
.toolbar .field{
margin-bottom:16px}
}

@media(prefers-reduced-motion:reduce){
html{
scroll-behavior:auto}
*,*::before,*::after{
animation:none!important;
transition:none!important;
transform:none!important}
}

@media print{
.header,.review-bar,.footer,.no-print,.cta{
display:none!important}
body{
background:white;
color:black;
font-family:Arial,sans-serif}
.wrap{
width:100%}
p,li,.muted{
color:#222}
h1{
font-size:2rem}
h2{
font-size:1.5rem}
.page-hero,.section{
padding:16px 0;
border:0}
.notice{
background:white;
color:black;
border:1px solid black}
.intake-group{
break-inside:avoid}
.intake-question{
border-color:#888}
.answer-lines{
border-color:#888}
.panel{
background:white;
color:black;
border-color:#888}
.eyebrow{
color:#333}
.intake-group{
margin-bottom:24px}
a{
color:black}
}

