:root{
  --fc-bg:#07101d;
  --fc-panel:#0d1726;
  --fc-panel-2:#111f32;
  --fc-ink:#f7fbff;
  --fc-muted:#b9c5d8;
  --fc-line:rgba(255,255,255,.14);
  --fc-gold:#f6c45c;
  --fc-blue:#61a8ff;
  --fc-green:#6ee7b7;
}
.field-calculators-page{background:var(--fc-bg);color:var(--fc-ink);}
.fc-container{width:min(1180px,calc(100% - 32px));margin:0 auto;}
.fc-hero{position:relative;overflow:hidden;padding:72px 0 48px;background:radial-gradient(circle at 15% 20%,rgba(97,168,255,.22),transparent 34%),linear-gradient(135deg,#06101e 0%,#0d1829 55%,#152235 100%);border-bottom:1px solid var(--fc-line);}
.fc-hero:after{content:"";position:absolute;inset:auto -10% -50% 35%;height:420px;background:radial-gradient(circle,rgba(246,196,92,.16),transparent 65%);pointer-events:none;}
.fc-hero__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:28px;align-items:center;position:relative;z-index:1;}
.fc-kicker{margin:0 0 10px;text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:900;color:var(--fc-gold);}
.fc-hero h1{font-size:clamp(2.7rem,6vw,5.6rem);line-height:.95;margin:0 0 18px;letter-spacing:-.06em;color:#fff;}
.fc-lead{font-size:clamp(1.08rem,2vw,1.38rem);line-height:1.55;color:var(--fc-muted);max-width:760px;margin:0;}
.fc-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
.fc-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:999px;font-weight:900;text-decoration:none;border:1px solid var(--fc-line);transition:transform .16s ease,border-color .16s ease,background .16s ease;}
.fc-button:hover{transform:translateY(-1px);text-decoration:none;}
.fc-button--primary{background:linear-gradient(135deg,#f6c45c,#ffe6a3);color:#111827;border-color:rgba(255,255,255,.18);}
.fc-button--secondary{background:rgba(255,255,255,.07);color:#fff;}
.fc-note-card{background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.055));border:1px solid var(--fc-line);border-radius:24px;padding:24px;box-shadow:0 24px 60px rgba(0,0,0,.25);}
.fc-note-card__eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--fc-green);font-weight:900;margin:0 0 10px;}
.fc-note-card h2{color:#fff;margin:0 0 10px;font-size:1.55rem;}
.fc-note-card p{color:var(--fc-muted);margin:0 0 16px;line-height:1.55;}
.fc-note-card a{color:#fff;font-weight:900;text-decoration:underline;text-underline-offset:4px;}
.fc-intro{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:42px 0 16px;}
.fc-panel{background:#f8fafc;color:#132033;border-radius:24px;padding:26px;border:1px solid rgba(15,23,42,.1);box-shadow:0 18px 46px rgba(0,0,0,.18);}
.fc-panel h2{margin:0 0 10px;color:#0f172a;}
.fc-panel p:last-child{margin-bottom:0;color:#46556b;line-height:1.6;}
.fc-panel--dark{background:linear-gradient(180deg,var(--fc-panel),var(--fc-panel-2));color:#fff;border-color:var(--fc-line);}
.fc-panel--dark h2{color:#fff;}
.fc-panel--dark p:last-child{color:var(--fc-muted);}
.fc-directory{padding:36px 0 54px;}
.fc-section-head{max-width:830px;margin-bottom:22px;}
.fc-section-head h2{font-size:clamp(2rem,4vw,3.2rem);margin:0 0 12px;color:#fff;letter-spacing:-.04em;}
.fc-section-head p:last-child{color:var(--fc-muted);line-height:1.6;margin:0;}
.fc-groups{display:grid;gap:28px;}
.fc-group h3{font-size:1.28rem;margin:0 0 12px;color:#fff;}
.fc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;}
.fc-card{display:flex;flex-direction:column;gap:12px;min-height:245px;padding:18px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.05));border:1px solid var(--fc-line);text-decoration:none;color:#fff;box-shadow:0 18px 44px rgba(0,0,0,.2);transition:transform .16s ease,border-color .16s ease,background .16s ease;}
.fc-card:hover{transform:translateY(-2px);border-color:rgba(246,196,92,.55);background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.065));text-decoration:none;}
.fc-card__icon{height:122px;display:flex;align-items:center;justify-content:center;}
.fc-card__icon img{max-width:100%;height:118px;object-fit:contain;filter:drop-shadow(0 14px 18px rgba(0,0,0,.22));}
.fc-card__name{font-size:1.1rem;font-weight:950;line-height:1.15;}
.fc-card__discipline{color:var(--fc-gold);font-weight:850;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;}
.fc-card__note{color:var(--fc-muted);font-size:.92rem;line-height:1.35;margin-top:auto;}
.fc-card__status{display:inline-flex;align-self:flex-start;border:1px solid rgba(110,231,183,.32);background:rgba(110,231,183,.1);color:#c6f8e8;border-radius:999px;padding:5px 9px;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;}
@media(max-width:860px){.fc-hero__grid,.fc-intro{grid-template-columns:1fr}.fc-hero{padding-top:48px}.fc-card{min-height:220px}}
@media(max-width:560px){.fc-container{width:min(100% - 24px,1180px)}.fc-grid{grid-template-columns:1fr}.fc-card{min-height:auto}.fc-card__icon{height:104px}.fc-card__icon img{height:102px}}

.fc-search-wrap{margin-top:22px;max-width:760px;display:grid;gap:8px;}
.fc-search-label{font-weight:950;color:#fff;letter-spacing:.01em;}
.fc-search{width:100%;min-height:54px;border-radius:18px;border:1px solid var(--fc-line);background:rgba(255,255,255,.08);color:#fff;padding:0 18px;font:inherit;font-weight:850;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);}
.fc-search::placeholder{color:rgba(247,251,255,.58);font-weight:700;}
.fc-search:focus{outline:3px solid rgba(97,168,255,.25);border-color:rgba(97,168,255,.7);background:rgba(255,255,255,.11);}
.fc-search-status{margin:0;color:var(--fc-muted);font-size:.92rem;}
.fc-filter-block{margin-top:18px;display:grid;gap:8px;}
.fc-filter-label{margin:0;color:#fff;font-weight:950;letter-spacing:.01em;}
.fc-filter-row{display:flex;flex-wrap:wrap;gap:10px;}
.fc-filter-chip{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:0 13px;border-radius:999px;border:1px solid var(--fc-line);background:rgba(255,255,255,.075);color:#fff;font:inherit;font-weight:900;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);transition:transform .16s ease,border-color .16s ease,background .16s ease;}
.fc-filter-chip:hover{transform:translateY(-1px);border-color:rgba(246,196,92,.55);background:rgba(255,255,255,.11);}
.fc-filter-chip[aria-pressed="true"]{background:linear-gradient(135deg,#f6c45c,#ffe6a3);border-color:rgba(255,255,255,.18);color:#111827;}
.fc-filter-chip strong{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:999px;padding:0 7px;background:rgba(255,255,255,.12);font-size:.75rem;}
.fc-filter-chip[aria-pressed="true"] strong{background:rgba(17,24,39,.12);}

.fc-no-results{border:1px dashed var(--fc-line);border-radius:22px;padding:24px;background:rgba(255,255,255,.04);color:var(--fc-muted);}
.fc-no-results strong{display:block;color:#fff;margin-bottom:6px;}
.fc-card__count{display:inline-flex;margin-top:10px;border-radius:999px;border:1px solid rgba(246,196,92,.42);color:#ffe1a1;background:rgba(246,196,92,.08);padding:6px 9px;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.05em;}


/* Directory card discipline theme accents. */
.fc-card--themed{--card-accent:var(--fc-gold);--card-accent-2:var(--fc-blue);position:relative;overflow:hidden;}
.fc-card--themed:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--card-accent),var(--card-accent-2));opacity:.95;}
.fc-card--themed:after{content:"";position:absolute;inset:5px 0 0 0;background:radial-gradient(circle at 76% 8%,color-mix(in srgb,var(--card-accent) 22%,transparent),transparent 30%);opacity:.55;pointer-events:none;}
.fc-card--themed > *{position:relative;z-index:1;}
.fc-card--themed:hover{border-color:color-mix(in srgb,var(--card-accent) 55%,rgba(255,255,255,.18));box-shadow:0 18px 44px rgba(0,0,0,.22),0 0 0 1px color-mix(in srgb,var(--card-accent) 22%,transparent);}
.fc-card--themed .fc-card__discipline,.fc-card--themed .fc-card__count{color:color-mix(in srgb,var(--card-accent) 88%,#fff);border-color:color-mix(in srgb,var(--card-accent) 44%,rgba(246,196,92,.42));background:color-mix(in srgb,var(--card-accent) 10%,transparent);}
.fc-card--themed .fc-card__icon img{filter:drop-shadow(0 14px 18px rgba(0,0,0,.24)) drop-shadow(0 0 12px color-mix(in srgb,var(--card-accent) 22%,transparent));}
.fc-card[data-theme="field-office"]{--card-accent:#f6c45c;--card-accent-2:#6ee7b7;}
.fc-card[data-theme="heritage-shop"]{--card-accent:#d69b52;--card-accent-2:#9aa46f;}
.fc-card[data-theme="electrical"]{--card-accent:#00e5ff;--card-accent-2:#f6c45c;}
.fc-card[data-theme="lighting"]{--card-accent:#ffe66d;--card-accent-2:#7dd3fc;}
.fc-card[data-theme="controls"],.fc-card[data-theme="code"]{--card-accent:#61a8ff;--card-accent-2:#6ee7b7;}
.fc-card[data-theme="communications"]{--card-accent:#38bdf8;--card-accent-2:#f97316;}
.fc-card[data-theme="drives"]{--card-accent:#a78bfa;--card-accent-2:#38bdf8;}
.fc-card[data-theme="sensors"]{--card-accent:#22c55e;--card-accent-2:#7dd3fc;}
.fc-card[data-theme="hydraulics"],.fc-card[data-theme="pneumatics"],.fc-card[data-theme="airflow"],.fc-card[data-theme="pressure"],.fc-card[data-theme="steam"],.fc-card[data-theme="plumbing"]{--card-accent:#38bdf8;--card-accent-2:#6ee7b7;}
.fc-card[data-theme="acoustics"],.fc-card[data-theme="vibration"]{--card-accent:#c084fc;--card-accent-2:#22d3ee;}
.fc-card[data-theme="welding"],.fc-card[data-theme="foundry-melt"]{--card-accent:#fb923c;--card-accent-2:#facc15;}
.fc-card[data-theme="fastening"],.fc-card[data-theme="mechanical"],.fc-card[data-theme="machining"],.fc-card[data-theme="sawing"]{--card-accent:#94a3b8;--card-accent-2:#f6c45c;}
.fc-card[data-theme="rigging"]{--card-accent:#f59e0b;--card-accent-2:#94a3b8;}
.fc-card[data-theme="packaging"]{--card-accent:#f6c45c;--card-accent-2:#60a5fa;}
.fc-card[data-theme="case-packing"]{--card-accent:#d6a15a;--card-accent-2:#f97316;}
.fc-card[data-theme="lifting"]{--card-accent:#fbbf24;--card-accent-2:#64748b;}
.fc-card[data-theme="layout"],.fc-card[data-theme="surface"],.fc-card[data-theme="volume"],.fc-card[data-theme="weighing"]{--card-accent:#34d399;--card-accent-2:#60a5fa;}
.fc-card[data-theme="traction"]{--card-accent:#f97316;--card-accent-2:#facc15;}
.fc-card[data-theme="physics"]{--card-accent:#38bdf8;--card-accent-2:#facc15;}
.fc-card[data-theme="chemistry"]{--card-accent:#22c55e;--card-accent-2:#a78bfa;}
.fc-card[data-theme="thermal"]{--card-accent:#f97316;--card-accent-2:#38bdf8;}
.fc-card[data-theme="energy"]{--card-accent:#facc15;--card-accent-2:#22d3ee;}
.fc-card[data-theme="green-sand"]{--card-accent:#84cc16;--card-accent-2:#a3a3a3;}
.fc-card[data-theme="quality"]{--card-accent:#22c55e;--card-accent-2:#facc15;}
.fc-card[data-theme="safety"]{--card-accent:#facc15;--card-accent-2:#ef4444;}
.fc-card[data-theme="time"]{--card-accent:#5eead4;--card-accent-2:#818cf8;}

.fc-card[data-theme="hand-tools"]{--card-accent:#f59e0b;--card-accent-2:#94a3b8;}
.fc-card[data-theme="earthwork"]{--card-accent:#f59e0b;--card-accent-2:#84cc16;}
.fc-card[data-theme="drilling"]{--card-accent:#06b6d4;--card-accent-2:#f59e0b;}

.fc-card[data-theme="strength"]{--card-accent:#ef4444;--card-accent-2:#94a3b8;}

@media(max-width:560px){.fc-filter-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}.fc-filter-chip{flex:0 0 auto;scroll-snap-align:start}.fc-filter-chip span{white-space:nowrap}}

.fc-card[data-theme="sticky"]{--card-accent:#f6c45c;--card-accent-2:#60a5fa;}
