/**
 * EIBUI UI foundation inspired by Material Design 3.
 * Brand-first: no Material font/icon dependency and no Google-app imitation.
 */
:root{
  --md-sys-color-primary:#005c5b;
  --md-sys-color-on-primary:#fff;
  --md-sys-color-primary-container:#d0e8e5;
  --md-sys-color-on-primary-container:#00201f;
  --md-sys-color-secondary:#695f50;
  --md-sys-color-on-secondary:#fff;
  --md-sys-color-secondary-container:#f1e2cc;
  --md-sys-color-on-secondary-container:#231b10;
  --md-sys-color-surface:#fcfdf9;
  --md-sys-color-surface-container-low:#f6f7f3;
  --md-sys-color-surface-container:#f0f1ed;
  --md-sys-color-surface-container-high:#eaebe7;
  --md-sys-color-on-surface:#191c1b;
  --md-sys-color-on-surface-variant:#3f4947;
  --md-sys-color-outline:#6f7977;
  --md-sys-color-outline-variant:#bec9c6;
  --md-sys-color-error:#ba1a1a;
  --md-sys-color-on-error:#fff;
  --md-sys-shape-xs:4px;
  --md-sys-shape-sm:8px;
  --md-sys-shape-md:12px;
  --md-sys-shape-lg:16px;
  --md-sys-shape-full:999px;
  --md-sys-elevation-1:0 1px 2px rgba(0,32,31,.12),0 1px 3px 1px rgba(0,32,31,.07);
  --md-sys-elevation-2:0 1px 2px rgba(0,32,31,.14),0 2px 6px 2px rgba(0,32,31,.08);
  --md-sys-state-hover:8%;
  --md-sys-state-focus:10%;
  --md-sys-state-pressed:10%;
  --md-sys-duration-short:160ms;
  --eibui-bg:var(--md-sys-color-surface);
  --eibui-panel:#fff;
  --eibui-ink:var(--md-sys-color-on-surface);
  --eibui-muted:var(--md-sys-color-on-surface-variant);
  --eibui-border:var(--md-sys-color-outline-variant);
  --eibui-shadow:var(--md-sys-elevation-2);
  --eibui-radius:var(--md-sys-shape-lg);
  --eibui-radius-sm:var(--md-sys-shape-md);
}
html{scroll-padding-top:88px}
body{background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);font-synthesis:none;text-rendering:optimizeLegibility}
a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--md-sys-color-primary);outline-offset:3px}
:where(button,input,select,textarea){font:inherit}
::selection{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}

/* Navigation */
.eibui-site-header{background:color-mix(in srgb,var(--md-sys-color-surface) 94%,transparent);border-bottom-color:var(--md-sys-color-outline-variant);box-shadow:none}
.eibui-smart-global-nav a,.eibui-menu a,.eibui-smart-mobile-menu a{position:relative;min-height:48px;display:flex;align-items:center;border-radius:var(--md-sys-shape-full);transition:background-color var(--md-sys-duration-short) ease,color var(--md-sys-duration-short) ease}
.eibui-smart-global-nav a:hover,.eibui-menu a:hover,.eibui-smart-mobile-menu a:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 8%,transparent);color:var(--md-sys-color-primary)}
.eibui-smart-global-nav a[aria-current=page]{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}
.eibui-header-search-toggle,.eibui-menu-toggle{min-width:48px;min-height:48px;border-radius:var(--md-sys-shape-full);border-color:transparent;background:transparent;transition:background-color var(--md-sys-duration-short) ease}
.eibui-header-search-toggle:hover,.eibui-menu-toggle:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 8%,transparent)}
.eibui-primary-nav,.eibui-header-search-panel{border-color:var(--md-sys-color-outline-variant);border-radius:0 0 var(--md-sys-shape-lg) var(--md-sys-shape-lg);box-shadow:var(--md-sys-elevation-2)}

/* Buttons: filled, tonal and outlined */
.eibui-btn,.eibui-smart-line-button,.eibui-smart-application-button,.eibui-header-search-field button,.eibui-smart-mobile-search button{position:relative;isolation:isolate;min-height:48px;border-radius:var(--md-sys-shape-full);box-shadow:none;transition:box-shadow var(--md-sys-duration-short) ease,background-color var(--md-sys-duration-short) ease,color var(--md-sys-duration-short) ease,transform var(--md-sys-duration-short) ease}
.eibui-btn::before,.eibui-smart-line-button::before,.eibui-smart-application-button::before{content:"";position:absolute;inset:0;border-radius:inherit;background:currentColor;opacity:0;z-index:-1;transition:opacity var(--md-sys-duration-short) ease}
.eibui-btn:hover,.eibui-smart-line-button:hover,.eibui-smart-application-button:hover{transform:none;box-shadow:var(--md-sys-elevation-1)}
.eibui-btn:hover::before,.eibui-smart-line-button:hover::before,.eibui-smart-application-button:hover::before{opacity:.08}
.eibui-btn:active,.eibui-smart-line-button:active,.eibui-smart-application-button:active{transform:scale(.98);box-shadow:none}
.eibui-btn:active::before,.eibui-smart-line-button:active::before,.eibui-smart-application-button:active::before{opacity:.1}
.eibui-btn-primary{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}
.eibui-btn-ghost{background:transparent;color:var(--md-sys-color-primary);border-color:var(--md-sys-color-outline)}
.eibui-btn-small{min-height:44px}

/* Cards: restrained shape and elevation */
:where(.eibui-info-card,.eibui-item-card,.eibui-post-card,.eibui-method-card,.eibui-case-card,.eibui-voice-card,.eibui-step){border-radius:var(--md-sys-shape-md);border-color:var(--md-sys-color-outline-variant);box-shadow:none;background:#fff;transition:border-color var(--md-sys-duration-short) ease,box-shadow var(--md-sys-duration-short) ease,background-color var(--md-sys-duration-short) ease,transform var(--md-sys-duration-short) ease}
:where(.eibui-item-card,.eibui-post-card,.eibui-method-card,.eibui-case-card):hover{transform:none;border-color:var(--md-sys-color-outline);box-shadow:var(--md-sys-elevation-1)}
:where(.eibui-item-card,.eibui-post-card,.eibui-method-card,.eibui-case-card):active{background:var(--md-sys-color-surface-container-low)}
.eibui-item-card a,.eibui-post-card a,.eibui-method-card a,.eibui-case-card a{min-height:48px}
.eibui-hero-visual img,.eibui-split-image img,.eibui-free-image img{border-radius:var(--md-sys-shape-lg);box-shadow:var(--md-sys-elevation-1)}
.eibui-hero-card,.eibui-area-box{border-radius:var(--md-sys-shape-lg);box-shadow:var(--md-sys-elevation-1)}

/* Forms and search */
:where(input[type=text],input[type=search],input[type=tel],input[type=email],input[type=url],input[type=number],input[type=date],input[type=time],select,textarea){width:100%;min-height:56px;padding:14px 16px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-xs);background:#fff;color:var(--md-sys-color-on-surface);transition:border-color var(--md-sys-duration-short) ease,box-shadow var(--md-sys-duration-short) ease}
textarea{min-height:128px;resize:vertical}
:where(input,select,textarea):hover{border-color:var(--md-sys-color-on-surface)}
:where(input,select,textarea):focus{border-color:var(--md-sys-color-primary);box-shadow:inset 0 0 0 1px var(--md-sys-color-primary);outline:none}
:where(input,select,textarea)[aria-invalid=true]{border-color:var(--md-sys-color-error);box-shadow:inset 0 0 0 1px var(--md-sys-color-error)}
:where(input,select,textarea):disabled{background:var(--md-sys-color-surface-container);color:color-mix(in srgb,var(--md-sys-color-on-surface) 38%,transparent);cursor:not-allowed}
label{color:var(--md-sys-color-on-surface-variant);font-weight:700}

/* FAQ and selectable controls */
.eibui-faq-item{border-radius:var(--md-sys-shape-md);border-color:var(--md-sys-color-outline-variant);box-shadow:none}
.eibui-faq-item summary{min-height:56px;display:flex;align-items:center;position:relative;padding-right:52px}
.eibui-faq-item summary::after{content:"＋";position:absolute;right:20px;font-size:22px;font-weight:500;color:var(--md-sys-color-primary);transition:transform var(--md-sys-duration-short) ease}
.eibui-faq-item[open] summary::after{transform:rotate(45deg)}
.eibui-faq-item summary:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 8%,transparent)}

/* Chips and badges */
:where(.eibui-chip,.eibui-tag,.eibui-case-meta span,.eibui-hero-card li){min-height:32px;display:inline-flex;align-items:center;border-radius:var(--md-sys-shape-sm);border:1px solid var(--md-sys-color-outline-variant);box-shadow:none}

/* Responsive spacing */
.eibui-section{padding-block:clamp(56px,8vw,96px)}
.eibui-section-heading{margin-bottom:clamp(24px,4vw,40px)}
@media(max-width:767px){
  .eibui-container{width:min(100% - 32px,var(--eibui-container))}
  .eibui-card-grid,.eibui-item-grid,.eibui-post-list{gap:12px}
  .eibui-info-card,.eibui-step,.eibui-item-content{padding:20px}
  .eibui-smart-mobile-actions a{min-height:52px}
}

/* Motion and forced-colors accessibility */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media(forced-colors:active){
  .eibui-btn,.eibui-item-card,.eibui-info-card,.eibui-faq-item{border:1px solid CanvasText}
  :where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid Highlight}
}
