@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/inter-v20-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/inter-v20-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/inter-v20-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* inter-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Inter';
  font-style: normal;
  font-weight: 900;
  src: url('../fonts/inter-v20-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

:root{
  /* Typography */
  --base-font-family:'Inter', Arial, sans-serif;
  --base-font-size:18px;
  --base-line-height:1.7;
  --base-font-weight:400;
  --base-bold-font-weight:600;
  --base-heading-font-weight:700;

  /* Brand core */
  --color-primary-rgb:81,101,246;
  --color-primary-900:#5165f6;   /* action blue from reference */
  --color-primary-700:#7b87ff;
  --color-secondary-rgb:0,58,53;
  --color-secondary-900:#003a35; /* logo green */
  --color-secondary-700:#0c5d56;
  --color-secondary-500:#2d7a71;
  --color-accent-500:#d09b22;    /* gold */
  --color-warm-050:#faf4ee;      /* cream */
  --color-warm-600:#8d7a5f;      /* muted warm */
  --color-mint-050:#f4fbf8;
  --color-mint-100:#e6f5ef;
  --color-peach-050:#fdf4ef;
  --color-peach-100:#f7e2d7;
  --color-lilac-050:#f5f6fb;
  --title-accent-gradient:linear-gradient(90deg, rgba(var(--color-primary-rgb),.96), rgba(129,171,154,.78), rgba(236,205,189,.92));

  /* Neutrals */
  --color-white:#ffffff;
  --color-ink:#17181c;           /* main text */
  --color-ink-2:#5d6470;         /* secondary text */
  --color-muted:#7a8089;         /* tertiary text */
  --color-border:#ece7df;
  --color-border-strong:#ddd7ce;

  /* Backgrounds and surfaces */
  --color-bg:#fcfcfb;
  --color-surface:#ffffff;
  --color-surface-2:#f5f7fb;

  /* State colors */
  --color-success:#0c5d56;
  --color-warning:#b06d00;
  --color-danger:#b3261e;
  --color-info:#2f718d;

  /* Radius and shadow */
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:16px;
  --shadow-1:0 1px 2px rgba(15,29,46,.08);
  --shadow-2:0 8px 24px rgba(15,29,46,.10);

  /* Focus */
  --focus-ring:0 0 0 3px rgba(var(--color-primary-rgb),.18);

  /* Bulma hooks (for overrides / future-proofing) */
  --bulma-primary:var(--color-primary-900);
  --bulma-link:var(--color-primary-900);
  --bulma-body-background-color:var(--color-bg);
  --bulma-body-color:var(--color-ink);
  --bulma-border:var(--color-border);
}

/* Base */
*,::before,::after{box-sizing:inherit}
html{font-size:var(--base-font-size);line-height:var(--base-line-height);box-sizing:border-box}
body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{
  font-family:var(--base-font-family);
  line-height:var(--base-line-height);
  color:var(--color-ink);
  background-color:var(--color-bg);
  background-image:
    radial-gradient(circle at top left, rgba(234,235,241,.92), transparent 26%),
    radial-gradient(circle at 84% 22%, rgba(230,245,239,.88), transparent 20%),
    radial-gradient(circle at 88% 72%, rgba(247,226,215,.78), transparent 18%);
  font-weight:var(--base-font-weight);
  font-variant-numeric: tabular-nums;
  margin:0;
  padding:0;
}

/* Headings */
h1,h2,h3,h4,h5,h6,
h1.title,h2.title,h3.title,h4.title,h5.title,h6.title,
h2.subtitle,h3.subtitle,h4.subtitle{
  font-family:var(--base-font-family);
  font-weight:var(--base-heading-font-weight);
  line-height:1.2;
  color:var(--color-ink) !important;
  margin:1em 0;
}
.title {color:var(--color-ink) !important;}

.hero .title.is-2,
.section .title.is-2,
.section .title.is-3,
.service-content h2,
.service-content h3{
  position:relative;
  padding-bottom:.5rem;
}

.hero .title.is-2::after,
.section .title.is-2::after,
.section .title.is-3::after,
.service-content h2::after,
.service-content h3::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:4.4rem;
  height:4px;
  border-radius:999px;
  background:var(--title-accent-gradient);
}

.service-content h3::after{
  width:3.2rem;
  height:3px;
}

.title.has-text-centered.is-2::after,
.title.has-text-centered.is-3::after{
  left:50%;
  transform:translateX(-50%);
}


p{margin-bottom:1em}
strong{color:var(--color-primary-900);font-weight:800}

/* Links */
a{color:var(--color-primary-900);text-decoration:none;transition:color .2s ease}
a:hover,a:focus{background:none;color:#4457ea;outline:none}
.content a,.footer a{font-weight:var(--base-bold-font-weight)}

/* Helpers */
.radius{border-radius:var(--radius-lg)}
.bg-surface{background:var(--color-surface)}
.bg-surface-2{background:var(--color-surface-2)}
.is-small{font-size:.9rem}

/* Cards / boxes */
.box, .card{
  background:var(--color-surface);
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  box-shadow:var(--shadow-1);
  color:var(--color-ink);
}
.card-header{
  border-bottom:1px solid var(--color-border);
  background:var(--color-surface-2);
}

/* Inputs (Bulma) */
.input, .select select, .textarea{
  background-color:var(--color-white);
  color:var(--color-ink);
  border-color:var(--color-border);
  border-radius:var(--radius-sm);
  box-shadow:none;
}
.label{color:var(--color-ink-2)}
.input::placeholder,.textarea::placeholder{color:rgba(15,29,46,.45)}
.input:focus, .select select:focus, .textarea:focus, .is-focused .input{
  border-color:var(--color-accent-500);
  box-shadow:var(--focus-ring);
}

/* Tables (bookkeeping friendly) */
.table{
  background:var(--color-white);
  border-radius:var(--radius-md);
  overflow:hidden;
}
.table thead th{
  background:var(--color-surface-2);
  color:var(--color-ink-2);
  border-bottom:1px solid var(--color-border-strong);
}
.table td, .table th{
  border-color:var(--color-border);
}
.table tbody tr:hover{
  background:linear-gradient(90deg, rgba(var(--color-secondary-rgb),.04), rgba(217,162,27,.08));
}

/* Buttons (Bulma compatible) */
.button{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  font-weight:var(--base-bold-font-weight);
  border-radius:var(--radius-sm);
  transform:translateY(0);
  will-change:transform, box-shadow;
  transition:
    transform .28s cubic-bezier(.22,1,.36,1),
    background-color .24s ease,
    background-position .4s ease,
    border-color .24s ease,
    box-shadow .28s cubic-bezier(.22,1,.36,1),
    color .24s ease;
}

.button::after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  background:linear-gradient(120deg, transparent 18%, rgba(255,255,255,.22) 46%, transparent 72%);
  opacity:0;
  transform:translateX(-140%);
  transition:transform .75s cubic-bezier(.22,1,.36,1), opacity .25s ease;
  pointer-events:none;
}

.button:hover,
.button:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(15,29,46,.14);
}

.button:hover::after,
.button:focus-visible::after{
  opacity:1;
  transform:translateX(140%);
}

.button:active{
  transform:translateY(1px) scale(.985);
  box-shadow:0 8px 16px rgba(15,29,46,.12);
}

/* Primary button */
.button.is-primary,.button.is-link {
  background-color:var(--color-primary-900);
  background-image:linear-gradient(135deg, #8d98ff 0%, #6475ff 42%, #5165f6 70%, #4457ea 100%);
  background-size:180% 180%;
  border-color:var(--color-primary-900);
  color:var(--color-white);
}
.button.is-primary:hover,.button.is-primary:focus,
.button.is-link:hover,.button.is-link:focus{
  background-color:#4457ea;
  background-position:100% 50%;
  border-color:#4457ea;
  box-shadow:0 16px 30px rgba(68,87,234,.24);
}
.button.is-primary:active,
.button.is-link:active{transform:translateY(1px) scale(.985)}

/* Accent button (use for "New invoice", "Save", etc.) */
.button.is-accent{
  background-color:var(--color-accent-500);
  background-image:linear-gradient(135deg, #ebbd4d 0%, #d9a21b 55%, #bb8510 100%);
  background-size:180% 180%;
  border-color:var(--color-accent-500);
  color:#1a1a1a;
}
.button.is-accent:hover,.button.is-accent:focus{
  background-color:#c79218;
  background-position:100% 50%;
  border-color:#c79218;
  box-shadow:0 16px 28px rgba(176,109,0,.2);
}
.button.is-accent:active{transform:translateY(1px) scale(.985)}

/* Outlined / ghost */
.button.is-outlined{
  background:rgba(255,255,255,.42);
  backdrop-filter:blur(10px);
  border-width:1px;
}
.button.is-outlined.is-primary,
.button.is-outlined.is-link{
  color:var(--color-primary-900);
  border-color:var(--color-border-strong);
}
.button.is-outlined.is-primary:hover,
.button.is-outlined.is-link:hover{
  background:linear-gradient(135deg, rgba(var(--color-primary-rgb),.1), rgba(255,255,255,.76));
  border-color:rgba(var(--color-primary-rgb),.22);
  color:var(--color-primary-900);
}

@media (prefers-reduced-motion: reduce){
  .button,
  .button::after{
    transition:none;
  }

  .button:hover,
  .button:focus-visible,
  .button:active{
    transform:none;
  }

  .button:hover::after,
  .button:focus-visible::after{
    opacity:0;
    transform:none;
  }
}

/* Navbar */
.navbar{
  background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(232,233,238,.92);
  box-shadow:0 8px 24px rgba(18,24,32,.04);
}
.navbar-item,.navbar-link{color:var(--color-ink)}
.navbar-menu{
  background:transparent;
}
.navbar-brand .logo img{
  max-height:2.6rem;
}

.navbar-home-link{
  font-weight:700;
}

.nav-services-dropdown{
  position:relative;
}

.nav-services-dropdown .navbar-link{
  font-weight:700;
  border-radius:999px;
  background:transparent;
  transition:background .22s ease, color .22s ease, box-shadow .28s ease, transform .28s ease;
}

.nav-services-dropdown .navbar-link:hover,
.nav-services-dropdown .navbar-link:focus{
  background:linear-gradient(135deg, rgba(var(--color-primary-rgb),.08), rgba(var(--color-primary-rgb),.03));
  color:var(--color-ink);
}

.nav-services-dropdown .navbar-dropdown{
  min-width:16rem;
  margin-top:0;
  padding:.7rem .45rem .45rem;
  border:1px solid rgba(226,230,238,.96);
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(244,247,253,.97));
  box-shadow:0 22px 40px rgba(18,24,32,.08);
  backdrop-filter:blur(16px);
}

.nav-services-dropdown .navbar-dropdown .navbar-item{
  position:relative;
  padding:.78rem 1rem .78rem 1.1rem;
  border-radius:12px;
  white-space:nowrap;
  transition:background .22s ease, color .22s ease, transform .22s ease, box-shadow .22s ease;
}

.nav-services-dropdown .navbar-dropdown .navbar-item::before{
  content:"";
  position:absolute;
  left:.45rem;
  top:.7rem;
  bottom:.7rem;
  width:3px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(217,162,27,.9), rgba(var(--color-primary-rgb),.82), rgba(var(--color-primary-rgb),.52));
  opacity:0;
  transform:scaleY(.35);
  transform-origin:center;
  transition:opacity .22s ease, transform .22s ease;
}

.nav-services-dropdown .navbar-dropdown .navbar-item:hover,
.nav-services-dropdown .navbar-dropdown .navbar-item:focus{
  background:linear-gradient(135deg, rgba(247,249,254,.98), rgba(240,245,252,.96));
  color:var(--color-ink);
  box-shadow:0 10px 22px rgba(18,24,32,.07);
  transform:translateX(4px);
}

.nav-services-dropdown .navbar-dropdown .navbar-item:hover::before,
.nav-services-dropdown .navbar-dropdown .navbar-item:focus::before{
  opacity:1;
  transform:scaleY(1);
}

.language-switch{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.25rem;
  border:1px solid rgba(226,230,238,.96);
  border-radius:999px;
  background:rgba(255,255,255,.86);
}

.language-switch__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:3.2rem;
  padding:.35rem .7rem;
  border-radius:999px;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--color-primary-900);
}

.language-switch__link:hover,
.language-switch__link:focus{
  color:var(--color-primary-900);
  background:linear-gradient(135deg, rgba(var(--color-primary-rgb),.08), rgba(var(--color-primary-rgb),.04));
}

.language-switch__link.is-active{
  background:var(--color-primary-900);
  color:var(--color-white);
}

.navbar-link:not(.is-arrowless):after,
.select:not(.is-multiple):not(.is-loading):after{
  border-color:var(--color-primary-900);
}

@media screen and (min-width: 1024px){
  .nav-services-dropdown::after{
    content:"";
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    height:1rem;
  }

  .nav-services-dropdown .navbar-dropdown{
    display:block;
    position:absolute;
    top:calc(100% - .1rem);
    left:0;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(.8rem) scale(.985);
    transform-origin:top left;
    transition:opacity .22s ease, transform .28s cubic-bezier(.22, 1, .36, 1), visibility 0s linear .28s;
  }

  .nav-services-dropdown .navbar-dropdown::before{
    content:"";
    position:absolute;
    top:-.45rem;
    left:1.45rem;
    width:.95rem;
    height:.95rem;
    border-top:1px solid rgba(226,230,238,.96);
    border-left:1px solid rgba(226,230,238,.96);
    border-top-left-radius:4px;
    background:linear-gradient(135deg, rgba(255,255,255,.99), rgba(244,247,253,.97));
    transform:rotate(45deg);
  }

  .nav-services-dropdown:hover > .navbar-link,
  .nav-services-dropdown:focus-within > .navbar-link{
    background:linear-gradient(135deg, rgba(255,255,255,.98), rgba(244,247,253,.94));
    color:var(--color-primary-900);
    box-shadow:inset 0 0 0 1px rgba(var(--color-primary-rgb),.14), 0 12px 26px rgba(18,24,32,.06);
    transform:translateY(-1px);
  }

  .nav-services-dropdown:hover > .navbar-dropdown,
  .nav-services-dropdown:focus-within > .navbar-dropdown{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0) scale(1);
    transition-delay:0s;
  }
}

/* Notifications (Bulma) */
.notification.is-success{background:rgba(31,122,74,.12);color:var(--color-success)}
.notification.is-warning{background:rgba(176,109,0,.12);color:var(--color-warning)}
.notification.is-danger{background:rgba(179,38,30,.12);color:var(--color-danger)}
.notification.is-info{background:rgba(42,111,151,.12);color:var(--color-info)}

/* Tags */
.tag.is-primary{background:rgba(var(--color-primary-rgb),.12);color:var(--color-primary-900)}
.tag.is-accent{background:rgba(217,162,27,.18);color:#1a1a1a}
.footer,
.footer strong{
  color:var(--color-ink);
}

.site-footer{
  margin-top:3.5rem;
  padding:0 0 2.4rem;
  background:transparent;
}

.footer-panel{
  position:relative;
  overflow:hidden;
  margin-top:1rem;
  padding:2rem;
  border:1px solid rgba(228,231,238,.94);
  border-radius:34px;
  background:
    radial-gradient(circle at top left, rgba(234,236,243,.78), transparent 26%),
    radial-gradient(circle at bottom right, rgba(230,245,239,.62), transparent 22%),
    linear-gradient(160deg, rgba(255,255,255,.99), rgba(249,250,252,.97));
  box-shadow:0 24px 54px rgba(18,24,32,.06);
}

.footer-logo img{
  max-height:2.9rem;
}

.footer-card{
  height:100%;
  padding:1.35rem 1.35rem 1.45rem;
  border:1px solid rgba(228,231,238,.94);
  border-radius:26px;
  box-shadow:0 16px 34px rgba(18,24,32,.05);
}

.footer-card--intro{
  background:
    radial-gradient(circle at top left, rgba(234,236,243,.7), transparent 28%),
    linear-gradient(160deg, rgba(255,255,255,.99), rgba(249,250,252,.97));
}

.footer-card--mint{
  background:linear-gradient(155deg, rgba(239,249,245,.98), rgba(229,244,237,.96));
}

.footer-card--peach{
  background:linear-gradient(155deg, rgba(249,230,219,.98), rgba(245,219,206,.96));
}

.footer-lead{
  color:var(--color-ink);
  font-size:1.08rem;
  font-weight:700;
}

.footer-note{
  color:var(--color-ink-2);
  max-width:32rem;
}

.footer-eyebrow{
  display:block;
  margin-bottom:.85rem;
  color:#8a8f98;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.footer-contact{
  margin-top:1.75rem;
}

.footer-mail{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.78rem 1.05rem;
  border:1px solid rgba(var(--color-primary-rgb),.14);
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:var(--color-primary-900) !important;
  box-shadow:0 10px 20px rgba(18,24,32,.05);
}

.footer-links{
  margin:0;
  padding:0;
  list-style:none;
}

.footer-links li + li{
  margin-top:.72rem;
}

.footer-links a{
  color:var(--color-ink) !important;
  font-weight:600;
}

.footer-links a:hover,
.footer-links a:focus{
  color:var(--color-primary-900) !important;
}

.footer-meta{
  padding:1.65rem 0 0;
  color:var(--color-muted);
}

.footer-meta a{
  color:var(--color-primary-900) !important;
}
/* Small responsive tweak */
@media screen and (max-width:480px){
  html{font-size:16px}
}

.blue{
  color:var(--color-ink);
  background:none;
  -webkit-background-clip:border-box;
  -webkit-text-fill-color:currentColor;
}

.bg-light{
  background:linear-gradient(180deg, #fffefb 0%, #f5f8ff 100%);
}

.bg-lavander{
  background:linear-gradient(180deg, #fffaf2 0%, #fff3dd 100%);
}

.bg-mint{
  background:linear-gradient(180deg, #f8fcfa 0%, #edf8f3 100%);
}

.full-height{
  height:100%;
  display:flex;
  flex-direction:column;
}

.box-content-padding{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:1rem;
  height:100%;
  padding:1.65rem 1.5rem 1.5rem;
}

.pulse-border{
  position:relative;
  isolation:isolate;
}

.pulse-border::before{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:inherit;
  background:linear-gradient(135deg, rgba(217,162,27,.24), rgba(var(--color-primary-rgb),.2));
  filter:blur(10px);
  opacity:.7;
  z-index:-1;
  animation:pulseBorder 2.8s ease-in-out infinite;
}

@keyframes pulseBorder{
  0%,100%{transform:scale(1);opacity:.65}
  50%{transform:scale(1.05);opacity:.2}
}

.home-page{
  position:relative;
  overflow:hidden;
  padding-bottom:2rem;
}

.home-page::before,
.home-page::after{
  content:"";
  position:absolute;
  border-radius:999px;
  pointer-events:none;
  z-index:0;
}

.home-page::before{
  top:-9rem;
  right:-7rem;
  width:24rem;
  height:24rem;
  background:radial-gradient(circle, rgba(230,245,239,.9) 0%, rgba(230,245,239,0) 72%);
}

.home-page::after{
  top:28rem;
  left:-8rem;
  width:28rem;
  height:28rem;
  background:radial-gradient(circle, rgba(247,226,215,.76) 0%, rgba(247,226,215,0) 72%);
}

.home-page .section,
.home-page .hero{
  position:relative;
  z-index:1;
}

.home-hero{
  padding-top:2rem;
}

.hero-body-intro{
  position:relative;
  overflow:hidden;
  padding:clamp(1.5rem, 2vw + 1rem, 2.6rem);
  background:
    radial-gradient(circle at top right, rgba(230,245,239,.88), transparent 28%),
    radial-gradient(circle at bottom left, rgba(234,236,243,.74), transparent 24%),
    linear-gradient(145deg, rgba(255,255,255,.99), rgba(249,250,252,.97));
}

.home-hero-panel,
.section-shell{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(228,231,238,.94);
  border-radius:30px;
  box-shadow:0 20px 46px rgba(18,24,32,.06);
}

.home-hero-panel{
  padding:clamp(1.5rem, 2vw + 1rem, 2.6rem);
  background:
    radial-gradient(circle at top right, rgba(230,245,239,.9), transparent 28%),
    radial-gradient(circle at bottom left, rgba(234,236,243,.72), transparent 24%),
    linear-gradient(145deg, rgba(255,255,255,.99), rgba(249,250,252,.97));
}

.section-shell{
  padding:clamp(1.5rem, 2vw + 1rem, 2.4rem);
}

.section-shell--soft{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.96), transparent 36%),
    radial-gradient(circle at bottom right, rgba(234,236,243,.58), transparent 24%),
    linear-gradient(145deg, rgba(255,255,255,.99), rgba(249,250,252,.96));
}

.section-shell--cool{
  background:
    radial-gradient(circle at top right, rgba(230,245,239,.86), transparent 30%),
    linear-gradient(145deg, rgba(239,249,245,.98), rgba(229,244,237,.96));
}

.section-shell--warm{
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.5), transparent 34%),
    linear-gradient(145deg, rgba(249,230,219,.98), rgba(245,219,206,.96));
}

.section-shell--gold{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.55), transparent 30%),
    linear-gradient(145deg, rgba(252,244,236,.98), rgba(248,234,220,.95));
}

.section-shell--faq{
  background:
    radial-gradient(circle at top right, rgba(234,236,243,.65), transparent 30%),
    linear-gradient(145deg, rgba(255,255,255,.99), rgba(248,249,252,.96));
}

.section-shell--cta{
  background:
    radial-gradient(circle at top right, rgba(230,245,239,.72), transparent 28%),
    radial-gradient(circle at bottom left, rgba(247,226,215,.7), transparent 26%),
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(249,244,238,.96));
}

.home-hero-copy .buttons{
  gap:.75rem;
}

.home-hero-body{
  max-width:42rem;
  color:var(--color-ink-2);
}

.home-hero-body p:last-child{
  margin-bottom:0;
}

.home-hero-media .image{
  overflow:hidden;
}

.home-framework-card{
  display:flex;
  flex-direction:column;
  gap:1rem;
  height:100%;
  padding:1.5rem;
  border-radius:24px;
  border:1px solid rgba(228,231,238,.95);
  background:linear-gradient(160deg, rgba(255,255,255,.98), rgba(249,250,252,.96));
  box-shadow:0 16px 34px rgba(18,24,32,.06);
}

#learn-more .column:nth-child(3n+1) .home-framework-card{
  background:linear-gradient(155deg, rgba(239,249,245,.98), rgba(229,244,237,.96));
}

#learn-more .column:nth-child(3n+2) .home-framework-card{
  background:linear-gradient(155deg, rgba(249,230,219,.98), rgba(245,219,206,.96));
}

#learn-more .column:nth-child(3n) .home-framework-card{
  background:linear-gradient(155deg, rgba(255,255,255,.99), rgba(245,246,251,.96));
}

.home-framework-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}

.home-framework-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.4rem;
  height:2.4rem;
  border-radius:999px;
  background:rgba(255,255,255,.74);
  color:var(--color-primary-900);
  font-weight:800;
  box-shadow:0 8px 18px rgba(18,24,32,.06);
}

.home-framework-icon{
  width:44px;
  height:44px;
  display:block;
  object-fit:contain;
  padding:.45rem;
  border-radius:14px;
  background:rgba(255,255,255,.82);
  box-shadow:0 10px 22px rgba(18,24,32,.06);
}

.home-framework-focus{
  margin:0;
  color:#7b877f;
  font-weight:700;
  font-style:italic;
  letter-spacing:.01em;
}

.home-framework-copy{
  margin:0;
  color:var(--color-ink-2);
}

.home-framework-list{
  margin:0;
  padding-left:1.1rem;
  color:var(--color-ink);
}

.home-framework-list li + li{
  margin-top:.75rem;
}

.home-link-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  height:100%;
  padding:1.2rem 1.25rem;
  border:1px solid rgba(228,231,238,.95);
  border-radius:22px;
  background:linear-gradient(145deg, rgba(255,255,255,.97), rgba(246,248,252,.95));
  color:var(--color-ink);
  box-shadow:0 14px 28px rgba(18,24,32,.06);
}

.home-link-card:hover,
.home-link-card:focus{
  color:var(--color-ink);
  transform:translateY(-2px);
  border-color:rgba(var(--color-primary-rgb),.18);
  background:linear-gradient(145deg, rgba(255,255,255,.99), rgba(241,246,252,.96));
  box-shadow:0 18px 30px rgba(18,24,32,.08);
}

.home-link-card__label{
  font-size:1.05rem;
  font-weight:700;
}

.home-link-card__arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2rem;
  height:2rem;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(var(--color-primary-rgb),.12), rgba(var(--color-primary-rgb),.06));
  font-size:.95rem;
}

.media-page{
  position:relative;
}

.media-intro,
.media-intro-copy{
  max-width:42rem;
}

.media-intro-copy{
  color:var(--color-ink-2);
}

.media-grid-card{
  display:flex;
  flex-direction:column;
  gap:0;
  padding:1.1rem;
  overflow:hidden;
  border:1px solid rgba(228,231,238,.95);
  border-radius:24px;
  background:linear-gradient(160deg, rgba(255,255,255,.98), rgba(249,250,252,.96));
  box-shadow:0 16px 32px rgba(18,24,32,.06);
}

.media-grid-card__figure{
  display:block;
  margin:-1.1rem -1.1rem 0;
  overflow:hidden;
  border-bottom:1px solid rgba(228,231,238,.9);
  background:linear-gradient(180deg, rgba(247,249,254,.94), rgba(250,246,238,.92));
}

.media-grid-card__figure img{
  display:block;
  width:100%;
  aspect-ratio:16 / 10;
  object-fit:cover;
  transition:transform .35s ease;
}

.media-grid-card__figure:hover img,
.media-grid-card__figure:focus img{
  transform:scale(1.035);
}

.media-grid-card__body{
  display:flex;
  flex:1;
  flex-direction:column;
  gap:.8rem;
  padding-top:1rem;
}

.media-grid-card__meta{
  min-height:1.4rem;
}

.media-grid-card__badge{
  display:inline-flex;
  align-items:center;
  padding:.3rem .65rem;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(var(--color-primary-rgb),.1), rgba(var(--color-primary-rgb),.05));
  color:var(--color-primary-900);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.media-grid-card__description{
  margin:0;
  color:var(--color-ink-2);
}

.media-grid-card__actions{
  margin-top:auto;
  padding-top:.2rem;
}

.media-grid-card__external,
.media-single__back{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  font-weight:700;
  color:var(--color-primary-900);
}

.media-grid-card__external:hover,
.media-grid-card__external:focus,
.media-single__back:hover,
.media-single__back:focus{
  color:#4457ea;
}

.media-pagination{
  margin-top:2rem;
}

.media-pagination .MarkupPagerNav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.65rem;
  margin:0;
  padding:0;
  list-style:none;
}

.media-pagination .MarkupPagerNav a,
.media-pagination .MarkupPagerNav span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:2.8rem;
  padding:.6rem .9rem;
  border:1px solid rgba(228,231,238,.95);
  border-radius:999px;
  background:rgba(255,255,255,.86);
  color:var(--color-primary-900);
  font-weight:700;
}

.media-pagination .MarkupPagerNav .MarkupPagerNavOn,
.media-pagination .MarkupPagerNav .current{
  border-color:rgba(var(--color-primary-rgb),.2);
  background:linear-gradient(135deg, rgba(var(--color-primary-rgb),.1), rgba(var(--color-primary-rgb),.04));
  color:var(--color-primary-900);
}

.media-empty-state{
  margin-top:1.5rem;
  border:1px solid rgba(228,231,238,.95);
  border-radius:20px;
  background:linear-gradient(145deg, rgba(255,255,255,.96), rgba(246,248,252,.94));
  color:var(--color-ink-2);
}

.media-single-shell{
  padding:clamp(1.5rem, 2vw + 1rem, 2.75rem);
}

.media-single__back{
  margin-bottom:1rem;
}

.media-single__figure{
  margin:1.5rem 0;
  overflow:hidden;
  border-radius:24px;
  box-shadow:0 20px 42px rgba(15,29,46,.12);
}

.media-single__figure img{
  display:block;
  width:100%;
  height:auto;
}

.media-single__content{
  color:var(--color-ink-2);
}

.media-single__actions{
  margin-top:1.5rem;
}

.service-page{
  position:relative;
}

.service-shell{
  padding:clamp(1.5rem, 2vw + 1rem, 2.6rem);
}

.service-lead{
  max-width:42rem;
  font-size:1.05rem;
  color:#4e5560;
}

.service-hero-image{
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(15,29,46,.12);
}

.service-content h2,
.service-content h3{
  margin-top:2rem;
}

.service-content ul{
  padding-left:1.2rem;
}

.service-content li + li{
  margin-top:.6rem;
}

.contact-page{
  position:relative;
}

.contact-shell{
  padding:clamp(1.5rem, 2vw + 1rem, 2.6rem);
}

.contact-aside,
.contact-form-card{
  height:100%;
}

.contact-info-card,
.contact-form-card{
  display:flex;
  flex-direction:column;
  gap:1.2rem;
}

.contact-badge{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  margin:0;
  padding:.45rem .8rem;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(var(--color-primary-rgb),.1), rgba(var(--color-primary-rgb),.04));
  color:var(--color-primary-900);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.contact-lead{
  margin:0;
  font-size:1.05rem;
  color:var(--color-ink-2);
}

.contact-note{
  margin:0;
  color:var(--color-muted);
}

.contact-direct-card{
  padding:1rem 1.05rem;
  border:1px solid rgba(228,231,238,.92);
  border-radius:18px;
  background:rgba(255,255,255,.74);
}

.contact-mini-title{
  margin:0 0 .55rem;
  color:var(--color-primary-900);
  font-weight:800;
}

.contact-simple-list{
  margin:0;
  padding-left:1.1rem;
}

.contact-simple-list li + li{
  margin-top:.55rem;
}

.contact-mail{
  font-weight:700;
  word-break:break-word;
}

.contact-status-box{
  display:grid;
  gap:.35rem;
  padding:1rem 1.1rem;
  border:1px solid rgba(228,231,238,.92);
  border-radius:18px;
  background:rgba(255,255,255,.76);
}

.contact-status-box.is-active{
  border-color:rgba(var(--color-primary-rgb),.18);
  background:linear-gradient(135deg, rgba(var(--color-primary-rgb),.06), rgba(255,255,255,.78));
}

.contact-status-box p{
  margin:0;
  color:var(--color-muted);
}

.contact-status-box strong{
  color:var(--color-primary-900);
}

.contact-response:empty{
  display:none;
}

.contact-form-alert{
  margin-bottom:0;
  border-radius:18px;
}

.contact-field{
  margin-bottom:0 !important;
}

.contact-field .input,
.contact-field .textarea{
  min-height:54px;
  border-radius:16px;
}

.contact-field .textarea{
  min-height:190px;
}

.contact-math-question{
  display:block;
  margin-bottom:.65rem;
  color:var(--color-primary-900);
  font-weight:700;
}

.contact-honeypot{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}

.contact-consent-box{
  margin:0 !important;
  padding:1rem 1.05rem;
  border:1px solid rgba(215,200,173,.88);
  border-radius:18px;
  background:rgba(255,255,255,.55);
}

.contact-consent-box .checkbox{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
}

.contact-consent-box input[type="checkbox"]{
  margin-top:.3rem;
}

.contact-consent-box span{
  color:var(--color-ink-2);
}

.contact-submit{
  min-width:min(100%, 220px);
}

.pillar-icon{
  width:56px;
  height:56px;
  object-fit:contain;
  filter:drop-shadow(0 10px 18px rgba(15,29,46,.12));
}

.home-pillar .subtitle{
  max-width:16rem;
  margin:0 auto;
}

.home-card{
  position:relative;
  height:100%;
  border-radius:24px;
  border-color:rgba(215,200,173,.9);
  box-shadow:0 12px 30px rgba(15,29,46,.08);
}

.home-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(255,255,255,.35), rgba(255,255,255,0));
  pointer-events:none;
}

.home-card-icon{
  position:absolute;
  top:-18px;
  left:1.5rem;
  width:60px;
  height:60px;
  object-fit:contain;
  padding:.7rem;
  border-radius:18px;
  background:linear-gradient(145deg, rgba(255,255,255,.95), rgba(255,244,214,.95));
  border:1px solid rgba(215,200,173,.9);
  box-shadow:0 12px 24px rgba(15,29,46,.12);
}

.home-article-card{
  padding-top:1rem;
}

.home-focus-visual img{
  max-width:180px;
  margin:0 auto;
}

.faqs .content{
  display:grid;
  gap:1rem;
}

.faq-item{
  margin:0;
  padding-top:.9rem;
  border-radius:22px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,249,239,.92));
  box-shadow:0 10px 22px rgba(15,29,46,.06);
}

.faq-question{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin:0;
  padding:0;
  background:none;
  border:none;
  color:var(--color-primary-900);
  font:inherit;
  font-weight:var(--base-heading-font-weight);
  text-align:left;
  box-shadow:none;
  cursor:pointer;
}

.faq-question:hover,
.faq-question:focus{
  color:var(--color-primary-900);
  background:none;
  transform:none;
  box-shadow:none;
}

.faq-question .arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 2rem;
  width:2rem;
  height:2rem;
  border-radius:999px;
  background:rgba(var(--color-primary-rgb),.08);
  transition:transform .25s ease, background-color .25s ease;
}

.faq-question[aria-expanded="true"] .arrow{
  transform:rotate(180deg);
  background:rgba(217,162,27,.16);
}

.answer{
  max-height:0;
  margin:0;
  padding:0 1rem;
  overflow:hidden;
  opacity:0;
  transition:max-height .35s ease, opacity .25s ease, padding .25s ease;
}

.answer.open{
  max-height:18rem;
  padding:.85rem 1rem 1rem;
  opacity:1;
}

@media screen and (max-width: 1023px){
  .navbar-menu.is-active{
    margin-top:.8rem;
    padding:.45rem;
    border:1px solid rgba(228,231,238,.95);
    border-radius:22px;
    background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(244,247,253,.97));
    box-shadow:0 20px 38px rgba(18,24,32,.08);
  }

  .home-card-icon{
    width:54px;
    height:54px;
  }

  .nav-services-dropdown{
    display:block;
  }

  .nav-services-dropdown .navbar-dropdown{
    display:block;
    position:static;
    min-width:0;
    margin:.45rem 0 0 .35rem;
    padding:.45rem;
    border:1px solid rgba(228,231,238,.92);
    border-radius:18px;
    background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(244,247,253,.95));
    box-shadow:0 14px 26px rgba(18,24,32,.07);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }

  .nav-services-dropdown .navbar-dropdown .navbar-item{
    padding:.7rem .95rem;
    border-radius:12px;
    white-space:normal;
  }
}

@media screen and (max-width: 768px){
  .home-hero{
    padding-top:1rem;
  }

  .home-hero-panel,
  .section-shell{
    border-radius:22px;
    padding:1.35rem;
  }

  .hero-body-intro{
    padding:1.35rem;
  }

  .home-card{
    padding-top:1rem;
  }

  .navbar-home-link{
    display:block;
  }

  .home-card-icon{
    position:relative;
    top:auto;
    left:auto;
    display:block;
    margin:0 auto -1.25rem;
  }

  .pillar-icon{
    width:48px;
    height:48px;
  }

  .home-framework-card{
    padding:1.25rem;
  }

  .footer-panel{
    padding:1.35rem;
    border-radius:22px;
  }

  .contact-shell{
    padding:1.35rem;
  }
}

@media screen and (max-width: 480px){
  .home-page{
    padding-bottom:1rem;
  }

  .home-card-icon{
    width:48px;
    height:48px;
    padding:.55rem;
  }

  .faq-question .arrow{
    flex-basis:1.8rem;
    width:1.8rem;
    height:1.8rem;
  }
}
