/* freelance-rate-estimator: page styles from the prototype (rules already in base.css removed). */
@media (max-width:820px){.margin{flex-direction:row;flex-wrap:wrap}}
h1.hd{font-size:clamp(44px,8vw,140px);line-height:.84;letter-spacing:-.045em}
.crumbs a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.crumbs a:hover{background:var(--blue);color:#FFFAFA;text-decoration:none}
h1.tl{font-size:clamp(44px,7.4vw,128px);line-height:.88;letter-spacing:-.045em;text-wrap:balance}
.lede{max-width:58ch;font-size:clamp(19px,1.7vw,24px);line-height:1.3}
.sec.tool-sec{padding-top:8px}
.h2{font-size:clamp(32px,4.4vw,72px);line-height:.92;letter-spacing:-.035em}
.steps{list-style:none;border-top:1px solid var(--ink);max-width:880px}
.steps li{padding:14px 0 15px;border-bottom:1px solid var(--ink);font-size:clamp(17px,1.4vw,20px);line-height:1.35}
.faq{border-top:1px solid var(--ink);max-width:880px}
.faq details{border-bottom:1px solid var(--ink)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;font-size:clamp(18px,1.6vw,24px);line-height:1.2}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none}
.faq details[open] summary::after{content:"\2212"}
.faq summary:hover{color:var(--blue)}
.faq details p{padding:0 0 18px;max-width:62ch}
.support p{max-width:62ch}
.support a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.support a:hover{background:var(--blue);color:#FFFAFA;text-decoration:none}
.tk{--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.tk input[type=text],.tk input[type=number],.tk input[type=url],.tk input[type=search],.tk select,.tk textarea{font:inherit;font-size:17px;color:inherit;background:transparent;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:8px 0 9px;width:100%;min-height:44px;outline:0;-webkit-appearance:none;appearance:none;box-shadow:none}
.tk select{padding-right:24px;cursor:pointer}
.tk option{background:var(--paper);color:var(--ink)}
.tk .selw{display:block}
.tk select{background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M0 0h12L6 8z' fill='%23000'/%3E%3C/svg%3E") no-repeat right 2px center/10px 7px}
:root.inv .tk select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M0 0h12L6 8z' fill='%23FFFAFA'/%3E%3C/svg%3E")}
.tk :is(input,select,textarea):focus-visible{outline:0;border-bottom-color:var(--blue);box-shadow:0 1px 0 var(--blue)}
.tk textarea{border:1px solid var(--ink);padding:12px;min-height:180px;resize:vertical;font-family:var(--mono);font-size:14px;line-height:1.55}
.tk textarea:focus-visible{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.tk input::placeholder,.tk textarea::placeholder{color:var(--ink);opacity:.45}
.tk input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer;margin:0}
.tk input[type=range]::-webkit-slider-runnable-track{height:2px;background:var(--ink)}
.tk input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;margin-top:-7px;background:var(--blue);border:0;border-radius:0}
.tk input[type=range]::-moz-range-track{height:2px;background:var(--ink)}
.tk input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--blue);border:0;border-radius:0}
.tk input[type=range]:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.tk input[type=checkbox]{accent-color:var(--ink);width:18px;height:18px;margin:0;vertical-align:-3px}
.tk input[type=color]{-webkit-appearance:none;appearance:none;width:100%;height:44px;border:1px solid var(--ink);border-radius:0;padding:0;background:none;cursor:pointer}
.tk input[type=color]::-webkit-color-swatch-wrapper{padding:0}
.tk input[type=color]::-webkit-color-swatch{border:0;border-radius:0}
.tk input[type=color]::-moz-color-swatch{border:0;border-radius:0}
.tk .lab{display:block;font-size:12px;letter-spacing:.09em;text-transform:uppercase;margin-bottom:2px}
.tk .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:17px;line-height:1;padding:11px 14px 10px;min-height:44px;background:var(--ink);color:var(--paper)}
.tk .btn:hover{background:var(--blue);color:#FFFAFA}
.tk .btn:disabled{opacity:.3;cursor:not-allowed;background:var(--ink);color:var(--paper)}
.tk .wbtn{font-size:17px;line-height:1;padding:7px 8px 6px;min-height:36px}
.tk .wbtn:hover{background:var(--blue);color:#FFFAFA}
.tk .wbtn.on,.tk .wbtn[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.tk .status{min-height:1.45em}
.tk .status:not(:empty){color:var(--blue)}
#frc,#frc *,#frc *::before,#frc *::after{box-sizing:border-box}
#frc{--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
#frc .frc-wrap{display:flex;flex-direction:column;gap:40px}
#frc .frc-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:40px 48px;align-items:start}
#frc .frc-col-7{grid-column:span 7;display:flex;flex-direction:column;gap:40px;min-width:0}
#frc .frc-col-5{grid-column:span 5;display:flex;flex-direction:column;gap:40px;min-width:0}
/* results stay in the flow: the card is taller than the screen and a Rate Card sits under it */
#frc .frc-sticky{position:relative}
#frc .glass-card{border-top:1px solid var(--ink);padding-top:16px;min-width:0}
#frc .glass-card.accent{border-top:0;background:var(--ink);color:var(--paper);padding:20px 20px 24px}
#frc .glass-card.accent .frc-hi,#frc .glass-card.accent .frc-tag{color:var(--paper)}
#frc .frc-eyebrow{font-size:12px;letter-spacing:.09em;text-transform:uppercase;margin:0}
#frc .frc-sub{font-size:clamp(24px,2.4vw,36px);line-height:1;letter-spacing:-.02em;margin:6px 0 0}
#frc .frc-cardhead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:28px}
#frc h3.frc-h3{font-size:clamp(22px,2vw,30px);line-height:1;letter-spacing:-.02em;margin:0 0 18px;display:flex;align-items:center;gap:10px}
#frc h3.frc-h3 svg{display:none}
#frc .frc-secline{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px}
#frc .frc-secline h4{margin:0;font-weight:400;font-size:clamp(22px,2vw,30px);line-height:1;letter-spacing:-.02em}
#frc .frc-secline span{font-size:12px;letter-spacing:.09em;text-transform:uppercase}
#frc .frc-lead{margin:0 0 22px;max-width:62ch}
#frc .frc-globalbtn{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:17px;line-height:1;padding:9px 12px 8px;min-height:40px;background:var(--ink);color:var(--paper);flex:none}
#frc .frc-globalbtn:hover{background:var(--blue);color:#FFFAFA}
#frc .frc-globalbtn svg{width:15px;height:15px}
#frc .frc-row{display:grid;gap:20px 24px;margin-bottom:22px}
#frc .frc-r2{grid-template-columns:1fr 1fr}
#frc .frc-r3{grid-template-columns:1fr 1fr 1fr}
#frc label.frc-label{display:flex;align-items:center;gap:6px;font-size:12px;letter-spacing:.09em;text-transform:uppercase;margin-bottom:2px}
#frc label.frc-mini{display:flex;align-items:center;gap:6px;font-size:12px;letter-spacing:.09em;text-transform:uppercase;margin-bottom:2px}
#frc .frc-field{position:relative}
#frc .frc-cur,#frc .frc-suffix{position:absolute;top:50%;transform:translateY(-50%);font-size:15px;pointer-events:none}
#frc .frc-cur{left:0}
#frc .frc-suffix{right:0}
#frc input[type=number]{font-variant-numeric:tabular-nums}
#frc .frc-field.pre input{padding-left:22px}
#frc .frc-field.suf input{padding-right:40px}
#frc input[readonly]{opacity:.7}
#frc input.frc-small,#frc select.frc-small{min-height:40px;font-size:15px}
#frc .frc-slider{margin-bottom:20px}
#frc .frc-slider:last-child{margin-bottom:0}
#frc .frc-slidertop{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px}
#frc .frc-slidertop label{font-size:12px;letter-spacing:.09em;text-transform:uppercase;display:flex;align-items:center;gap:6px;margin:0}
#frc .frc-tag{font-size:12px;letter-spacing:.09em;text-transform:uppercase;text-align:right}
#frc .frc-tag.blue{color:var(--blue)}
#frc .frc-tag.orange{background:var(--ink);color:var(--paper);padding:2px 5px 1px}
#frc .frc-tag.emerald{background:var(--blue);color:#FFFAFA;padding:2px 5px 1px}
#frc .frc-tip{position:relative;display:inline-flex;cursor:help}
#frc .frc-tip::before{content:"?";display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:1px solid currentColor;font-size:10px;line-height:1;letter-spacing:0}
#frc .frc-tip:hover::before,#frc .frc-tip:focus-visible::before{background:var(--blue);border-color:var(--blue);color:#FFFAFA}
#frc .frc-tip .frc-tiptext{display:none;position:absolute;bottom:150%;left:50%;margin-left:-120px;width:240px;padding:12px;z-index:100;background:var(--ink);color:var(--paper);font-size:14px;line-height:1.45;letter-spacing:0;text-transform:none;font-weight:400}
#frc .frc-tip:hover .frc-tiptext,#frc .frc-tip:focus-visible .frc-tiptext{display:block}
#frc .frc-btn{cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:8px}
#frc .frc-primary{width:100%;background:var(--ink);color:var(--paper);font-size:20px;line-height:1;padding:16px 14px 15px}
#frc .frc-primary:hover{background:var(--blue);color:#FFFAFA}
#frc .frc-ghost{background:transparent;color:inherit;font-size:17px;line-height:1;padding:7px 8px 6px;min-height:36px}
#frc .frc-ghost:hover{background:var(--blue);color:#FFFAFA}
#frc .frc-btnrow{display:flex;flex-wrap:wrap;gap:4px;margin-left:-8px}
#frc .frc-link{background:none;border:0;padding:0;cursor:pointer;font-family:inherit;color:inherit;font-size:15px;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
#frc .frc-link:hover{background:var(--blue);color:#FFFAFA;text-decoration:none}
#frc .frc-expand{border-left:3px solid var(--ink);padding:4px 0 4px 18px;margin-bottom:24px}
#frc .frc-expand[hidden]{display:none}
#frc .frc-mini-result{display:flex;flex-wrap:wrap;gap:16px;padding:12px 0;margin-top:18px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
#frc .frc-mini-result>div{flex:1 1 88px}
#frc .frc-mini-result .k{font-size:12px;letter-spacing:.09em;text-transform:uppercase}
#frc .frc-mini-result .v{font-size:20px;margin-top:3px;font-variant-numeric:tabular-nums}
#frc .frc-line{display:grid;grid-template-columns:minmax(0,1fr) 66px 76px 112px 40px;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--ink)}
#frc .frc-linehead{font-size:12px;letter-spacing:.09em;text-transform:uppercase;padding-bottom:8px}
#frc .frc-line input,#frc .frc-line select{min-height:38px;font-size:15px}
#frc .frc-del{background:transparent;border:0;color:inherit;width:36px;height:36px;cursor:pointer;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center}
#frc .frc-del:hover{background:var(--ink);color:var(--paper)}
#frc .frc-empty{padding:18px 0;font-size:15px;border-bottom:1px solid var(--ink)}
#frc .frc-pills{display:flex;flex-wrap:wrap;gap:4px;margin-left:-8px}
#frc .frc-pill{cursor:pointer;font-family:inherit;font-size:15px;line-height:1;background:transparent;color:inherit;border:0;padding:7px 8px 6px;min-height:34px}
#frc .frc-pill:hover{background:var(--blue);color:#FFFAFA}
#frc .frc-res{display:flex;flex-direction:column;gap:12px}
#frc .frc-resrow{display:flex;justify-content:space-between;gap:14px;font-size:16px}
#frc .frc-resrow span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
#frc .frc-resrow.plus span:last-child{background:var(--blue);color:#FFFAFA;padding:0 4px}
#frc .frc-resrow.minus span:last-child{text-decoration:line-through;text-decoration-thickness:1px}
#frc .frc-resrow.small{font-size:14px;opacity:.8}
#frc .frc-divider{border:0;border-top:1px solid currentColor;margin:20px 0}
#frc .frc-totalblock{padding-top:18px;border-top:1px solid currentColor}
#frc .frc-totallab{font-size:12px;letter-spacing:.09em;text-transform:uppercase;margin-bottom:4px}
#frc .frc-totalnum{font-size:clamp(44px,6vw,88px);line-height:.92;letter-spacing:-.045em;font-variant-numeric:tabular-nums;word-break:break-word;padding-top:8px}
#frc .frc-totalsub{font-size:14px;margin-top:8px;opacity:.85}
#frc .frc-band{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:20px;background:currentColor;border:1px solid currentColor}
#frc .frc-band>div{background:var(--ink);padding:10px 12px}
#frc .glass-card:not(.accent) .frc-band>div{background:var(--paper)}
#frc .frc-band .k{font-size:12px;letter-spacing:.09em;text-transform:uppercase}
#frc .frc-band .v{font-size:18px;margin-top:4px;font-variant-numeric:tabular-nums}
#frc .frc-band .hero{background:var(--blue)!important;color:#FFFAFA}
#frc .frc-ruler{margin:24px 0 4px}
#frc .frc-track{position:relative;height:2px;background:var(--ink);margin:34px 0 10px}
#frc .frc-fill{position:absolute;top:-5px;bottom:-5px;background:var(--blue)}
#frc .frc-tick{position:absolute;top:-8px;bottom:-8px;width:1px;background:var(--ink)}
#frc .frc-tick b{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);margin-bottom:6px;font-weight:400;font-size:12px;white-space:nowrap}
#frc .frc-you{position:absolute;top:-14px;width:3px;height:30px;background:var(--ink)}
#frc .frc-you b{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:6px;font-weight:400;font-size:12px;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;background:var(--ink);color:var(--paper);padding:2px 5px 1px}
#frc .frc-rulerfoot{display:flex;justify-content:space-between;font-size:12px;margin-top:30px}
#frc .frc-verdict{padding:12px 14px;font-size:15px;line-height:1.5;border:1px solid currentColor;margin-top:18px}
#frc .frc-verdict b{font-weight:400;text-decoration:underline;text-underline-offset:3px}
#frc .frc-verdict.ok{background:var(--blue);border-color:var(--blue);color:#FFFAFA}
#frc .frc-verdict.warn{border-width:1px 1px 1px 6px}
#frc .frc-verdict.bad{background:var(--ink);color:var(--paper);border-color:var(--ink)}
#frc .glass-card.accent .frc-verdict.bad{background:var(--paper);color:var(--ink)}
#frc .frc-checks{list-style:none;margin:14px 0 0;padding:0}
#frc .frc-checks li{display:flex;gap:10px;padding:9px 0;font-size:14px;line-height:1.5;border-top:1px solid currentColor}
#frc .frc-checks li i{font-style:normal;flex:0 0 auto;width:16px;text-align:center}
#frc .frc-checks li.ok i{color:var(--blue)}
#frc .glass-card.accent .frc-checks li.ok i{color:var(--paper)}
#frc .frc-checks li.bad i{background:currentColor;color:var(--paper)}
#frc .frc-checks li b{font-weight:400;text-decoration:underline;text-underline-offset:3px}
#frc .frc-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
#frc table.frc-t{width:100%;border-collapse:collapse;font-size:15px}
#frc table.frc-t th{background:var(--ink);color:var(--paper);font-weight:400;font-size:12px;letter-spacing:.09em;text-transform:uppercase;padding:12px;text-align:left;white-space:nowrap}
#frc table.frc-t th.num,#frc table.frc-t td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
#frc table.frc-t td{padding:12px;border-bottom:1px solid var(--ink);vertical-align:top}
#frc table.frc-t tbody tr:hover td{background:var(--blue);color:#FFFAFA}
#frc table.frc-t .frc-sub{font-size:12px;letter-spacing:.09em;text-transform:uppercase}
#frc .frc-hi{color:var(--blue)}
#frc th.sortable{cursor:pointer;user-select:none}
#frc th.sortable:hover,#frc th.sortable.act{background:var(--blue)}
#frc .frc-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;background:color-mix(in srgb,var(--ink) 92%,transparent)}
#frc .frc-modal[hidden]{display:none}
#frc .frc-modalbox{width:100%;max-width:1100px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;padding:0;border:0;background:var(--paper);color:var(--ink)}
#frc .frc-modalhead{padding:18px 20px;border-bottom:1px solid var(--ink);display:flex;justify-content:space-between;align-items:center;gap:16px}
#frc .frc-modalhead h2{font-weight:400;font-size:clamp(24px,2.6vw,40px);line-height:1;letter-spacing:-.03em;margin:0}
#frc .frc-modalhead p{font-size:12px;letter-spacing:.09em;text-transform:uppercase;margin:6px 0 0}
#frc .frc-modalclose{height:44px;min-width:44px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:var(--ink);border:0;color:var(--paper);cursor:pointer;font-size:22px;line-height:1}
#frc .frc-modalclose:hover{background:var(--blue);color:#FFFAFA}
#frc .frc-modalbody{padding:20px;overflow-y:auto}
#frc .frc-searchbar{position:relative;margin-bottom:16px}
#frc .frc-searchbar svg{position:absolute;left:0;top:50%;transform:translateY(-50%);width:15px;height:15px}
#frc .frc-searchbar input{padding-left:26px}
#frc .frc-modalfilters{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}
#frc .frc-modal thead th{position:sticky;top:0;z-index:20}
#frc .frc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:20px;background:var(--ink);border:1px solid var(--ink)}
#frc .frc-stat{background:var(--paper);padding:12px}
#frc .frc-stat .k{font-size:12px;letter-spacing:.09em;text-transform:uppercase}
#frc .frc-stat .v{font-size:22px;margin-top:6px;font-variant-numeric:tabular-nums}
#frc .frc-src{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:0 24px;border-top:1px solid var(--ink)}
#frc .frc-srcitem{padding:12px 0;border-bottom:1px solid var(--ink)}
#frc .frc-srcitem b{display:block;font-weight:400;font-size:17px;margin-bottom:4px}
#frc .frc-srcitem span{display:block;font-size:14px;line-height:1.5;margin-bottom:6px}
#frc .frc-srcitem a{font-size:13px;text-decoration:underline;text-underline-offset:3px;word-break:break-all}
#frc .frc-srcitem a:hover{background:var(--blue);color:#FFFAFA;text-decoration:none}
#frc details.frc-faq{border-bottom:1px solid var(--ink)}
#frc details.frc-faq:first-child{border-top:1px solid var(--ink)}
#frc details.frc-faq summary{cursor:pointer;list-style:none;padding:16px 0;font-size:clamp(18px,1.6vw,24px);line-height:1.2;display:flex;justify-content:space-between;align-items:baseline;gap:16px}
#frc details.frc-faq summary::-webkit-details-marker{display:none}
#frc details.frc-faq summary::after{content:"+";flex:none}
#frc details.frc-faq[open] summary::after{content:"\2212"}
#frc details.frc-faq summary:hover{color:var(--blue)}
#frc details.frc-faq p{margin:0 0 18px;max-width:68ch}
#frc .frc-note{margin-top:28px;padding-top:16px;border-top:1px solid var(--ink);font-size:14px;line-height:1.6}
#frc .frc-footnote{font-size:13px;line-height:1.6;margin:14px 0 0}
@media (max-width:1024px){#frc .frc-grid{grid-template-columns:minmax(0,1fr)}
#frc .frc-col-7,#frc .frc-col-5{grid-column:auto}
#frc .frc-sticky{position:static}
#frc .frc-stats{grid-template-columns:1fr 1fr}}
@media (max-width:640px){#frc .frc-r2,#frc .frc-r3{grid-template-columns:1fr}
#frc .frc-band{grid-template-columns:1fr}
#frc .frc-modalfilters{grid-template-columns:1fr}
#frc .frc-line{grid-template-columns:minmax(0,1fr) 56px 64px 40px}
#frc .frc-line .frc-c4{display:none}
#frc .frc-cardhead{flex-direction:column;align-items:flex-start}
#frc .frc-tip .frc-tiptext{left:0;margin-left:0;width:min(240px,70vw)}}
@media print{#frc .frc-btn,#frc .frc-btnrow,#frc .frc-globalbtn,#frc .frc-modal{display:none!important}}
#frc .frc-for{font:inherit;font-size:17px;color:inherit;background:transparent;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:7px 0 6px;width:100%;max-width:420px;outline:0}
#frc .frc-for:focus-visible{border-bottom-color:var(--blue)}
