@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Nunito+Sans:wght@400;600;700&display=swap');
:root {
  --cfs-bg: #e8eef2;
  --cfs-ink: #1c2a33;
  --cfs-accent: #4a6d7c;
  --cfs-muted: #5a6a73;
  --cfs-panel: #d5e0e6;
  --cfs-soft: #f5f8fa;
  --cfs-line: #a8b8c2;
  --cfs-display: "Bebas Neue", Georgia, serif;
  --cfs-body: "Nunito Sans", "Segoe UI", sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body.cfs-body{
  margin:0;
  font-family:var(--cfs-body);
  background:var(--cfs-bg);
  color:var(--cfs-ink);
  line-height:1.65;
  
}
.cfs-body a{color:var(--cfs-accent)}
.cfs-brand,.cfs-brand-hero,.cfs-huge,.cfs-brand-foot{font-family:var(--cfs-display);text-decoration:none;color:inherit}
.cfs-script{font-family:var(--cfs-display);font-size:clamp(1.8rem,4vw,3rem)}
.cfs-main{padding:1.5rem clamp(1rem,4vw,3rem) 4rem;max-width:1100px;margin:0 auto}
.cfs-cta{display:inline-block;margin-top:.75rem;padding:.7rem 1.1rem;border:2px solid var(--cfs-ink);color:var(--cfs-ink);text-decoration:none;font-weight:600}
.cfs-cta:hover,.cfs-cta:focus{background:var(--cfs-accent);color:var(--cfs-soft);border-color:var(--cfs-accent)}
.cfs-header{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:1rem clamp(1rem,4vw,3rem);position:relative;z-index:20}
.cfs-nav{display:flex;flex-wrap:wrap;gap:.75rem 1.1rem}
.cfs-nav a{text-decoration:none;color:inherit;font-size:.95rem}
.cfs-menu-btn{display:none;border:1px solid var(--cfs-ink);background:var(--cfs-soft);padding:.4rem .8rem;cursor:pointer}
.cfs-contact-block p{margin:.2rem 0}
.cfs-footer{padding:2.5rem clamp(1rem,4vw,3rem);border-top:1px solid var(--cfs-line);margin-top:2rem}
.cfs-footer-nav{display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin:1rem 0}
.cfs-form label{display:block;margin:.75rem 0}
.cfs-form input,.cfs-form textarea{width:100%;max-width:32rem;padding:.55rem .7rem;border:1px solid var(--cfs-line);background:var(--cfs-soft);color:var(--cfs-ink);font:inherit}
.cfs-form button{margin-top:.5rem;padding:.65rem 1rem;border:none;background:var(--cfs-ink);color:var(--cfs-soft);cursor:pointer}
.cfs-form-success{color:var(--cfs-accent);font-weight:600}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.cfs-hero-bleed{min-height:70vh;display:flex;background:linear-gradient(145deg,var(--cfs-panel),var(--cfs-accent));color:var(--cfs-soft);padding:2rem;margin:0 calc(-1 * clamp(1rem,4vw,3rem)) 2rem}
.cfs-align-bl{align-items:flex-end;justify-content:flex-start}
.cfs-align-bc{align-items:flex-end;justify-content:center;text-align:center}
.cfs-align-br{align-items:flex-end;justify-content:flex-end;text-align:right}
.cfs-brand-hero{font-size:clamp(2rem,5vw,3.5rem);margin:0}
.cfs-hero h1{font-family:var(--cfs-display);font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:600;margin:.4rem 0}
.cfs-hero-object .cfs-object-field{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid var(--cfs-line);background:var(--cfs-soft);padding:2rem}
.cfs-hero-asym{display:grid;grid-template-columns:2fr 3fr;gap:0;margin:0 calc(-1 * clamp(1rem,4vw,3rem)) 2rem}
.cfs-hero-a{background:var(--cfs-panel);padding:3rem 1.5rem;display:flex;align-items:flex-end}
.cfs-hero-b{background:var(--cfs-ink);color:var(--cfs-soft);padding:3rem 1.5rem}
.cfs-hero-stack{padding:2rem 0}
.cfs-paper{background:var(--cfs-soft);border:1px solid var(--cfs-line);box-shadow:8px 8px 0 var(--cfs-panel),16px 16px 0 var(--cfs-line);padding:2rem;max-width:36rem}
.cfs-hero-plaque .cfs-hero-panel{min-height:55vh;background:var(--cfs-panel);display:flex;align-items:center;justify-content:center;margin:0 calc(-1 * clamp(1rem,4vw,3rem))}
.cfs-plaque{font-size:.9rem;border-top:1px solid var(--cfs-line);padding:1rem 0;max-width:40rem}
.cfs-ken-panel{min-height:65vh;display:flex;flex-direction:column;justify-content:flex-end;padding:2rem;background:var(--cfs-panel);animation:cfs- ken 18s ease-in-out infinite alternate;transform-origin:center}
@keyframes cfs-ken{from{transform:scale(1)}to{transform:scale(1.04)}}
.cfs-hscroll{overflow-x:auto;margin:2rem 0}
.cfs-hscroll-track{display:flex;gap:1rem;padding-bottom:1rem}
.cfs-hscroll-track article{min-width:220px;padding:1.2rem;border:1px solid var(--cfs-line);background:var(--cfs-soft)}
.cfs-essay .cfs-caption-block{margin:1.5rem 0;padding:1.2rem;background:var(--cfs-panel)}
.cfs-bands .cfs-band-a,.cfs-bands .cfs-band-b,.cfs-bands .cfs-band-c{padding:2.5rem clamp(1rem,4vw,3rem);margin:0 calc(-1 * clamp(1rem,4vw,3rem))}
.cfs-band-a{background:var(--cfs-panel)}
.cfs-band-b{background:var(--cfs-ink);color:var(--cfs-soft)}
.cfs-band-c{background:var(--cfs-accent);color:var(--cfs-soft)}
.cfs-zig-a,.cfs-zig-b{padding:1.5rem;margin:1rem 0}
.cfs-zig-a{width:70%;background:var(--cfs-panel)}
.cfs-zig-b{width:70%;margin-left:auto;background:var(--cfs-soft);border:1px solid var(--cfs-line)}
.cfs-news{display:grid;grid-template-columns:1.4fr 1fr;gap:2rem;column-rule:1px solid var(--cfs-line)}
.cfs-ba{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.cfs-ba > div{padding:1.2rem;border-top:3px solid var(--cfs-accent)}
.cfs-addr-big{font-size:clamp(1.4rem,3vw,2rem);font-family:var(--cfs-display)}
.cfs-addr-huge{font-size:clamp(1.8rem,4vw,3rem);font-family:var(--cfs-display);line-height:1.2}
.cfs-phone-hero{font-size:clamp(2rem,5vw,3.5rem);font-family:var(--cfs-display)}
.cfs-phone-hero a{text-decoration:none;color:inherit}
.cfs-sticky-layout{display:grid;grid-template-columns:minmax(200px,30%) 1fr;gap:2rem;align-items:start}
.cfs-sticky-brand{position:sticky;top:1rem}
.cfs-quote,.cfs-pull,.cfs-pull-band blockquote{font-family:var(--cfs-display);font-size:1.5rem;border-left:4px solid var(--cfs-accent);padding-left:1rem}
.cfs-quote-wall blockquote{margin:1rem 0;padding:1rem;background:var(--cfs-panel)}
.cfs-magazine{max-width:42rem;font-size:1.05rem}
.cfs-drop{float:left;font-size:4.5rem;line-height:1;padding-right:.4rem;font-family:var(--cfs-display)}
.cfs-daypart{background:var(--cfs-ink);color:var(--cfs-soft);padding:.5rem 1rem;font-size:.9rem;margin:0 calc(-1 * clamp(1rem,4vw,3rem)) 1rem}
.cfs-oversized{font-size:clamp(3rem,10vw,6rem);font-family:var(--cfs-display);margin:0;opacity:.35}
.cfs-band{padding:2rem 0;border-top:1px solid var(--cfs-line);border-bottom:1px solid var(--cfs-line);margin:2rem 0}
.cfs-crumb-sec{max-width:38rem;margin:2rem 0;padding-left:1rem;border-left:2px solid var(--cfs-accent)}
.cfs-crumb-sec::before{content:attr(data-label);display:block;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cfs-muted)}
.cfs-addr-diagram{padding:1.5rem;border:2px dashed var(--cfs-line);font-family:var(--cfs-display)}
.cfs-horizontal{display:flex;flex-wrap:wrap;gap:1rem;list-style:none;padding:0}
.cfs-horizontal li{padding:.5rem 0;border-bottom:2px solid var(--cfs-accent)}
.cfs-dual-fmt{font-size:.85rem;opacity:.0;height:0;overflow:hidden}
.cfs-watermark{position:relative;overflow:hidden}
.cfs-wm{position:absolute;right:0;bottom:0;font-size:6rem;opacity:.08;font-family:var(--cfs-display);pointer-events:none}
.cfs-huge{font-size:clamp(2.5rem,8vw,5rem);margin:0}
.cfs-pill{margin:1rem auto;max-width:960px;border:1px solid var(--cfs-line);border-radius:999px;background:var(--cfs-soft);padding:.75rem 1.5rem !important}
.cfs-tabs .cfs-nav a{border-bottom:2px solid transparent;padding-bottom:.3rem}
.cfs-tabs .cfs-nav a:hover{border-bottom-color:var(--cfs-accent)}
.cfs-rule-head .cfs-rule{height:2px;background:var(--cfs-ink);width:100%;order:-1;flex:1 0 100%}
.cfs-masthead .cfs-brand{font-size:clamp(2.5rem,7vw,4.5rem);width:100%;display:block}
.cfs-nav-tiny{font-size:.75rem;margin-left:auto}
.cfs-announce{overflow:hidden;background:var(--cfs-ink);color:var(--cfs-soft);padding:.35rem 0}
.cfs-marquee{display:inline-block;padding-left:100%;animation:cfs-marq 22s linear infinite;white-space:nowrap}
@keyframes cfs-marq{to{transform:translateX(-100%)}}
.cfs-rail{position:fixed;left:0;top:0;bottom:0;width:260px;background:var(--cfs-panel);padding:1.5rem 1rem;overflow:auto;z-index:30;transform:translateX(0)}
.cfs-body.cfs-has-rail .cfs-main, body.cfs-page-index.cfs-ims-fix{}
body.cfs-body:has(.cfs-rail) .cfs-main, body.cfs-body:has(.cfs-rail) .cfs-footer, body.cfs-body:has(.cfs-siderail) .cfs-main, body.cfs-body:has(.cfs-siderail) .cfs-footer{margin-left:260px}
.cfs-siderail{position:fixed;left:0;top:0;bottom:0;width:220px;padding:1.5rem 1rem;border-right:1px solid var(--cfs-line);background:var(--cfs-soft);z-index:30}
.cfs-siderail nav{display:flex;flex-direction:column;gap:.6rem;margin-top:1.5rem}
.cfs-topbar{display:none}
.cfs-dock{width:100%;justify-content:center;border-top:1px solid var(--cfs-line);padding-top:.75rem}
.cfs-letter{border:1px solid var(--cfs-line);padding:1.5rem;background:var(--cfs-soft)}
.cfs-big-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.cfs-icon-rail{position:fixed;left:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:.5rem;padding:.5rem;z-index:25}
.cfs-cookie{position:fixed;z-index:100;background:var(--cfs-soft);color:var(--cfs-ink);border:2px solid var(--cfs-ink);padding:1rem;max-width:22rem;box-shadow:none}
.cfs-cookie-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}
.cfs-cookie button{cursor:pointer;border:1px solid var(--cfs-ink);background:var(--cfs-bg);padding:.4rem .7rem;font:inherit}
.cfs-cookie-panel{margin-top:.75rem;display:grid;gap:.4rem}









.cfs-cookie{bottom:1rem;left:1rem;}









.cfs-main section + section::before{content:"“ ”";display:block;text-align:center;font-size:2rem;opacity:.3;font-family:var(--cfs-display)}
.cfs-fade-up{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}
.cfs-fade-up.cfs-in{opacity:1;transform:none}
@media (max-width:860px){
  body.cfs-body:has(.cfs-rail) .cfs-main, body.cfs-body:has(.cfs-rail) .cfs-footer,
  body.cfs-body:has(.cfs-siderail) .cfs-main, body.cfs-body:has(.cfs-siderail) .cfs-footer{margin-left:0}
  .cfs-rail,.cfs-siderail{transform:translateX(-110%);transition:transform .25s ease}
  .cfs-rail.cfs-open,.cfs-siderail.cfs-open{transform:translateX(0)}
  .cfs-menu-btn{display:inline-block}
  .cfs-nav{display:none;width:100%;flex-direction:column}
  .cfs-nav.cfs-open,.cfs-header .cfs-nav.cfs-open{display:flex}
  .cfs-topbar{display:flex;justify-content:space-between;align-items:center;padding:1rem}
  .cfs-sticky-layout,.cfs-hero-asym,.cfs-news,.cfs-ba{grid-template-columns:1fr}
  .cfs-zig-a,.cfs-zig-b{width:100%}
  .cfs-pill{border-radius:16px}
  .cfs-dock{position:sticky;bottom:0;background:var(--cfs-bg)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .cfs-fade-up{opacity:1;transform:none}
}

.cfs-numbered ol{border-left:2px solid var(--cfs-accent);padding-left:1.2rem;position:relative}
.cfs-numbered ol::before{content:"";position:absolute;left:-2px;top:0;width:2px;height:0;background:var(--cfs-ink);animation:cfs-draw 2s ease forwards}
@keyframes cfs-draw{to{height:100%}}
