/* start on monday — fresh system. light, editorial, sans-first. no shared tokens with the old dark/clay theme. */

:root{
  --paper:#F6F4EE;
  --ink:#15140F;
  --ink-soft:#5B5848;
  --line:#DAD5C4;
  --panel:#EDEADF;
  --accent:#2B3A8F;
  --accent-ink:#F6F4EE;
  --good:#3F6B4A;
  --radius:2px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:"Archivo",system-ui,sans-serif;
  font-size:17px;line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
button{font-family:inherit;cursor:pointer;}

.f-wrap{max-width:1160px;margin:0 auto;padding:0 32px;}

/* ── nav ── */
.f-nav{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:2px solid var(--ink);}
.f-nav-in{max-width:1160px;margin:0 auto;padding:20px 32px;display:flex;justify-content:space-between;align-items:baseline;}
.f-brand{font-family:"Fraunces",serif;font-weight:600;font-size:20px;letter-spacing:-.01em;}
.f-nav-links{display:flex;gap:28px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;}
.f-nav-links a{border-bottom:2px solid transparent;padding-bottom:2px;transition:border-color .15s;}
.f-nav-links a:hover,.f-nav-links a.active{border-color:var(--accent);}
.f-nav-menu-btn{display:none;background:var(--ink);color:var(--paper);border:none;padding:8px 14px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;}
@media(max-width:760px){
  .f-nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:2px solid var(--ink);flex-direction:column;gap:0;padding:8px 0;}
  .f-nav-links.open{display:flex;}
  .f-nav-links a{padding:14px 32px;border-bottom:1px solid var(--line);}
  .f-nav-menu-btn{display:block;}
}

/* ── hero ── */
.f-hero{padding:clamp(56px,10vw,120px) 0 clamp(40px,6vw,64px);border-bottom:2px solid var(--ink);}
.f-hero-tag{font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--accent);margin:0 0 18px;}
.f-hero h1{
  font-family:"Fraunces",serif;font-weight:340;
  font-size:clamp(40px,6.4vw,86px);line-height:1.02;letter-spacing:-.02em;
  margin:0;max-width:16ch;
}
.f-hero h1 .accent{font-style:italic;font-weight:500;color:var(--accent);}
.f-hero .f-sub{font-size:clamp(16px,1.6vw,19px);color:var(--ink-soft);max-width:52ch;margin:24px 0 0;line-height:1.6;}
.f-hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px;}

/* ── buttons ── */
.f-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius);transition:background .15s,color .15s,border-color .15s;}
.f-btn-solid{background:var(--ink);color:var(--paper);border:2px solid var(--ink);}
.f-btn-solid:hover{background:var(--accent);border-color:var(--accent);}
.f-btn-outline{background:transparent;color:var(--ink);border:2px solid var(--ink);}
.f-btn-outline:hover{background:var(--ink);color:var(--paper);}

/* ── sections ── */
.f-section{padding:56px 0;border-bottom:1px solid var(--line);}
.f-section:last-of-type{border-bottom:none;}
.f-eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--accent);margin:0 0 16px;}
.f-section h2{font-family:"Fraunces",serif;font-weight:400;font-size:clamp(28px,3.6vw,44px);line-height:1.05;letter-spacing:-.015em;margin:0;max-width:16ch;}
.f-lead{font-size:clamp(17px,1.8vw,20px);color:var(--ink-soft);max-width:60ch;margin:18px 0 0;line-height:1.55;}
.f-copy{font-size:16px;color:var(--ink-soft);max-width:60ch;margin:14px 0 0;line-height:1.6;}

/* ── directory / cards ── */
.f-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:32px;}
.f-card{background:var(--paper);padding:26px 24px;display:flex;flex-direction:column;gap:14px;}
.f-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;}
.f-card h3{font-family:"Fraunces",serif;font-weight:600;font-size:21px;line-height:1.15;letter-spacing:-.01em;margin:0;}
.f-card .f-mode{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);white-space:nowrap;padding-top:3px;}
.f-card p{margin:0;}
.f-card .f-desc{font-size:14.5px;color:var(--ink-soft);line-height:1.5;}
.f-tagrow{display:flex;flex-wrap:wrap;gap:6px;}
.f-tag{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--ink);border:1px solid var(--line);padding:4px 8px;}
.f-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;padding-top:10px;border-top:1px solid var(--line);font-size:11.5px;color:var(--ink-soft);}
.f-meta b{display:block;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:9.5px;margin-bottom:2px;}
.f-card-actions{display:flex;gap:16px;margin-top:auto;padding-top:10px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;}
.f-card-actions a{border-bottom:2px solid var(--ink);padding-bottom:2px;transition:border-color .15s,color .15s;}
.f-card-actions a:hover{border-color:var(--accent);color:var(--accent);}
@media(max-width:900px){.f-grid3{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:620px){.f-grid3{grid-template-columns:1fr;}.f-wrap{padding:0 20px;}}

/* ── table ── */
.f-table-wrap{overflow-x:auto;margin-top:28px;border:1px solid var(--line);}
.f-table{width:100%;border-collapse:collapse;min-width:820px;}
.f-table th,.f-table td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;}
.f-table th{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);background:var(--panel);font-weight:700;}
.f-table td{font-size:14.5px;color:var(--ink-soft);}
.f-table td strong{display:block;font-family:"Fraunces",serif;font-size:17px;color:var(--ink);font-weight:600;margin-bottom:4px;}

/* ── quiz / selector ── */
.f-selector{display:grid;grid-template-columns:1.05fr .95fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:28px;}
.f-quiz,.f-results{background:var(--paper);padding:28px 26px;}
.f-quiz h3,.f-results h3{font-family:"Fraunces",serif;font-size:22px;font-weight:600;margin:0 0 10px;}
.f-quiz-copy{font-size:14.5px;color:var(--ink-soft);margin-bottom:20px;line-height:1.5;}
.f-field{margin-top:18px;}
.f-field label{display:block;font-size:14px;font-weight:600;margin-bottom:10px;}
.f-choice-row{display:flex;flex-wrap:wrap;gap:8px;}
.f-choice{position:relative;}
.f-choice input{position:absolute;opacity:0;inset:0;cursor:pointer;}
.f-choice span{display:inline-flex;align-items:center;padding:9px 14px;border:1px solid var(--line);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);transition:all .15s;}
.f-choice input:checked + span{background:var(--ink);border-color:var(--ink);color:var(--paper);}
.f-quiz-note{font-size:11px;color:var(--ink-soft);margin-top:18px;line-height:1.6;}
.f-empty{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);padding:20px 0;}
.f-result-card{border:1px solid var(--line);padding:16px 18px;margin-top:12px;}
.f-result-card strong{display:block;font-family:"Fraunces",serif;font-size:20px;margin-bottom:6px;}
.f-result-card p{font-size:14px;color:var(--ink-soft);margin:0 0 10px;}

/* ── fit check ── */
.f-you{font-family:"Fraunces",serif;font-weight:340;font-style:italic;font-size:clamp(56px,11vw,120px);line-height:.9;color:var(--accent);margin:0 0 22px;}
.f-fitgrid{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.f-fitpill{position:relative;}
.f-fitpill input{position:absolute;opacity:0;inset:0;cursor:pointer;}
.f-fitpill span{display:inline-flex;align-items:center;font-size:12px;padding:9px 14px;border:1px solid var(--line);color:var(--ink-soft);transition:all .15s;}
.f-fitpill input:checked + span{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);}
.f-fitresult{margin-top:24px;padding:20px 22px;border:1px solid var(--ink);display:none;}
.f-fitresult.on{display:block;}
.f-fitresult h4{font-family:"Fraunces",serif;font-size:22px;margin:0 0 8px;}
.f-fitresult p{margin:0 0 6px;font-size:14.5px;color:var(--ink-soft);}

/* ── forms ── */
.f-form-field{margin-top:16px;}
.f-form-field label{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;}
.f-form-field input,.f-form-field select,.f-form-field textarea{
  width:100%;background:var(--paper);border:1px solid var(--ink);border-radius:0;
  padding:12px 14px;color:var(--ink);font-family:"Archivo",sans-serif;font-size:15px;
}
.f-form-field textarea{resize:vertical;min-height:90px;}
.f-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:620px){.f-form-row{grid-template-columns:1fr;}}

/* ── multi-step application form ── */
.f-app-wrap{max-width:680px;margin:0 auto;}
.f-prog{display:flex;gap:5px;margin:0 0 28px;}
.f-prog .d{flex:1;height:3px;background:var(--line);}
.f-prog .d.on{background:var(--accent);}
.f-prog .d.done{background:var(--ink);}
.f-stepnum{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--accent);margin-bottom:8px;}
.f-steph{font-family:"Fraunces",serif;font-size:26px;font-weight:600;letter-spacing:-.01em;margin-bottom:6px;}
.f-stepsub{font-size:13.5px;color:var(--ink-soft);line-height:1.6;margin-bottom:8px;}
.f-astep{display:none;}
.f-astep.on{display:block;}
.f-anav{display:flex;justify-content:space-between;gap:12px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line);}
.f-anav [hidden]{display:none!important;}
.f-aerr{font-size:12px;color:#B0392C;margin-top:12px;min-height:1em;}
.f-helper{font-size:11px;color:var(--ink-soft);margin-top:10px;}
.f-way-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:4px;}
.f-way-card{position:relative;display:block;padding:16px 18px 16px 44px;border:1px solid var(--line);cursor:pointer;transition:border-color .15s;}
.f-way-card:hover{border-color:var(--ink);}
.f-way-card input{position:absolute;opacity:0;left:0;top:0;width:0;height:0;}
.f-way-mark{position:absolute;top:19px;left:16px;width:16px;height:16px;border:1.5px solid var(--ink-soft);border-radius:50%;}
.f-way-card:has(input:checked){border-color:var(--accent);background:var(--panel);}
.f-way-card:has(input:checked) .f-way-mark{border-color:var(--accent);background:var(--accent);}
.f-way-title{display:block;font-family:"Fraunces",serif;font-size:18px;font-weight:600;margin-bottom:4px;}
.f-way-desc{display:block;font-size:13px;color:var(--ink-soft);line-height:1.5;}
.f-rev{border:1px solid var(--line);padding:16px 18px;margin-bottom:14px;}
.f-rev h4{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--accent);margin:0 0 10px;display:flex;justify-content:space-between;}
.f-rev h4 button{background:none;border:none;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--ink-soft);cursor:pointer;text-decoration:underline;}
.f-rev dl{margin:0;display:grid;grid-template-columns:130px 1fr;gap:6px 14px;}
.f-rev dt{font-size:11px;color:var(--ink-soft);}
.f-rev dd{font-family:"Fraunces",serif;font-size:15px;margin:0;}
.f-consents label{display:flex;gap:12px;align-items:flex-start;font-size:12.5px;line-height:1.5;padding:9px 0;cursor:pointer;}
.f-consents input{width:16px;height:16px;margin-top:2px;flex-shrink:0;}
.f-done-mark{width:52px;height:52px;border-radius:50%;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;margin-bottom:18px;}
.f-refbox{border:1px solid var(--ink);padding:22px 24px;margin:18px 0;}
.f-refbox .rl{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:700;margin-bottom:6px;}
.f-refbox .rr{font-family:"Fraunces",serif;font-size:28px;font-weight:600;}
.f-refmeta{display:grid;gap:10px;margin-top:16px;}
.f-refmeta div{font-size:12px;color:var(--ink-soft);line-height:1.6;}
.f-refmeta b{display:block;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:10px;margin-bottom:2px;}
@media(max-width:520px){.f-rev dl{grid-template-columns:1fr;}}

/* ── footer ── */
.f-footer{border-top:2px solid var(--ink);padding:44px 0 32px;}
.f-footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-bottom:26px;border-bottom:1px solid var(--line);}
.f-footer-col{display:flex;flex-direction:column;gap:8px;}
.f-footer-h{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:var(--accent);margin-bottom:6px;}
.f-footer-col a{font-size:13px;color:var(--ink-soft);transition:color .15s;}
.f-footer-col a:hover{color:var(--ink);}
.f-legal{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:22px;font-size:11.5px;color:var(--ink-soft);}
.f-legal a{color:var(--ink);border-bottom:1px solid var(--line);}
@media(max-width:700px){.f-footer-grid{grid-template-columns:1fr 1fr;}}
