/* FC Base — mobile-first global foundation. Block-specific CSS belongs with the block. */
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--color-background);color:var(--color-text);font-family:var(--font-body);font-size:clamp(var(--body-min),1.2vw,var(--body-max));line-height:1.65}img,svg,video{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit}a{color:var(--color-link);text-decoration-thickness:.08em;text-underline-offset:.16em}a:hover{color:var(--color-link-hover)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}h1,h2,h3,h4,h5,h6{margin:0 0 .5em;color:var(--color-heading);font-family:var(--font-heading);line-height:1.12;text-wrap:balance}h1{font-size:clamp(var(--h1-min),5vw,var(--h1-max))}h2{font-size:clamp(var(--h2-min),4vw,var(--h2-max))}h3{font-size:clamp(var(--h3-min),3vw,var(--h3-max))}h4{font-size:clamp(var(--h4-min),2.4vw,var(--h4-max))}h5{font-size:clamp(var(--h5-min),2vw,var(--h5-max))}h6{font-size:clamp(var(--h6-min),1.7vw,var(--h6-max))}
.container{width:min(calc(100% - (2 * var(--gutter-mobile))),var(--container));margin-inline:auto}.container--wide{max-width:var(--container-wide)}.content-area{padding-block:var(--space-3xl)}.skip-link{position:fixed;z-index:9999;left:var(--space-m);top:var(--space-m);transform:translateY(-200%);background:#fff;padding:var(--space-xs) var(--space-s)}.skip-link:focus{transform:none}
/* Standard layout primitives */
.fc-prose{max-width:var(--content-text)}.fc-prose>:first-child{margin-top:0}.fc-prose>:last-child{margin-bottom:0}.fc-stack{display:flex;flex-direction:column;gap:var(--stack-gap,var(--space-l))}.fc-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--cluster-gap,var(--space-m))}.fc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:var(--grid-gap,var(--space-l))}.fc-section{padding-block:var(--space-4xl)}.fc-section--surface{background:var(--color-surface)}.fc-actions{display:flex;flex-wrap:wrap;gap:var(--space-s);margin-top:var(--space-l)}
/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:var(--button-height);padding:var(--button-py) var(--button-px);border-style:solid;border-radius:var(--button-radius);font-size:var(--button-size);line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.btn:hover{transform:translateY(-1px)}.btn--primary{color:var(--btn-primary-text);background:var(--btn-primary-bg);border-color:var(--btn-primary-border);border-width:var(--btn-primary-border-width);font-weight:var(--btn-primary-weight)}.btn--primary:hover{color:var(--btn-primary-text-hover);background:var(--btn-primary-bg-hover);border-color:var(--btn-primary-border-hover)}.btn--secondary{color:var(--btn-secondary-text);background:var(--btn-secondary-bg);border-color:var(--btn-secondary-border);border-width:var(--btn-secondary-border-width);font-weight:var(--btn-secondary-weight)}.btn--secondary:hover{color:var(--btn-secondary-text-hover);background:var(--btn-secondary-bg-hover);border-color:var(--btn-secondary-border-hover)}.btn--outline{color:var(--btn-outline-text);background:var(--btn-outline-bg);border-color:var(--btn-outline-border);border-width:var(--btn-outline-border-width);font-weight:var(--btn-outline-weight)}.btn--outline:hover{color:var(--btn-outline-text-hover);background:var(--btn-outline-bg-hover);border-color:var(--btn-outline-border-hover)}
/* Standard UI components */
.fc-card{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-l);background:var(--color-background)}.fc-card__body{padding:var(--space-l)}.fc-badge{display:inline-flex;align-items:center;min-height:28px;padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-pill);background:var(--color-surface);font-size:.875em;font-weight:600}.fc-notice{padding:var(--space-m) var(--space-l);border-left:4px solid var(--color-primary);border-radius:var(--radius-s);background:var(--color-surface)}.fc-notice--success{border-color:var(--color-success)}.fc-notice--warning{border-color:var(--color-warning)}.fc-notice--error{border-color:var(--color-error)}.fc-field{display:grid;gap:var(--space-xs)}.fc-field input,.fc-field select,.fc-field textarea{width:100%;padding:var(--space-s) var(--space-m);border:1px solid var(--color-border);border-radius:var(--radius-m);background:var(--color-background);color:var(--color-text)}
/* Header/navigation */
.site-header{position:relative;z-index:100;background:#fff;border-bottom:1px solid var(--color-border)}.site-header__inner{display:flex;min-height:76px;align-items:center;justify-content:space-between;gap:var(--space-l)}.site-logo{display:inline-flex;max-width:220px;text-decoration:none}.site-logo__image{max-height:54px;width:auto}.menu-toggle{display:flex;align-items:center;gap:9px;border:0;background:transparent;font:inherit;font-weight:700}.menu-toggle__icon{display:grid;gap:4px}.menu-toggle__icon span{display:block;width:24px;height:2px;background:currentColor}.site-nav{position:fixed;z-index:110;inset:0 0 0 auto;width:min(88vw,420px);padding:88px 28px 32px;background:#fff;transform:translateX(105%);transition:transform .25s ease;overflow:auto}.menu-open{overflow:hidden}.menu-open .site-nav{transform:none}.menu-overlay{display:none;position:fixed;z-index:105;inset:0;border:0;background:rgb(0 0 0/.35)}.menu-open .menu-overlay{display:block}.site-nav__list,.site-nav__list ul{list-style:none;margin:0;padding:0}.site-nav__list>li{position:relative;border-bottom:1px solid var(--color-border)}.site-nav a{display:block;padding:14px 0;color:var(--color-heading);font-size:var(--menu-size);font-weight:650;text-decoration:none}.site-nav .current-menu-item>a,.site-nav .current-menu-ancestor>a{color:var(--color-link-active)}.submenu-toggle{position:absolute;right:0;top:7px;width:40px;height:40px;border:0;background:transparent;font-size:24px}.sub-menu{display:none;padding-left:18px!important}.submenu-open>.sub-menu{display:block}.sub-menu a{font-size:var(--submenu-size);font-weight:500}.site-nav__contact{display:grid;gap:6px;margin-top:28px}
/* Footer */
.site-footer{padding-block:var(--space-2xl);background:var(--color-secondary);color:#fff}.site-footer__inner{display:grid;gap:var(--space-l)}.site-footer a{color:#fff}.site-footer__brand .site-logo__image{max-height:60px}.footer-nav{display:flex;flex-wrap:wrap;gap:var(--space-m) var(--space-l);margin:0;padding:0;list-style:none}.site-footer__copyright{margin:0}
@media (min-width:768px){.container{width:min(calc(100% - (2 * var(--gutter-tablet))),var(--container))}}
@media (min-width:1024px){.container{width:min(calc(100% - (2 * var(--gutter))),var(--container))}.menu-toggle,.menu-overlay{display:none!important}.site-nav{position:static;width:auto;padding:0;background:transparent;transform:none;overflow:visible}.site-nav__list{display:flex;align-items:center;gap:28px}.site-nav__list>li{border:0}.site-nav a{padding:26px 0}.site-nav__contact{display:none}.submenu-toggle{display:none}.site-nav .sub-menu{display:block;position:absolute;left:-18px;top:100%;min-width:230px;padding:8px 18px!important;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-m);box-shadow:0 12px 30px rgb(16 24 40/.12);opacity:0;visibility:hidden;transform:translateY(8px);transition:.18s ease}.site-nav li:hover>.sub-menu,.site-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}.sub-menu li{position:relative}.sub-menu .sub-menu{left:100%;top:-9px}.sub-menu a{padding:9px 0}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
