/* ============================================================
   Categora Design System — Foundations
   Brand: Cosmobile srl · Product: Categora (PIM / Data Hub)
   Background is ALWAYS #FFFFFF. Never use dark/colored page bg.
   ============================================================ */

/* ---------- Fonts ---------- */
@font-face {
  font-family: "Gilroy";
  src: url("assets/font-11044a79de7a.ttf") format("truetype");
  font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Gilroy";
  src: url("assets/font-4312cfe31403.ttf") format("truetype");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Gilroy";
  src: url("assets/font-f08f30f065e8.ttf") format("truetype");
  font-weight: 400; font-style: italic; font-display: swap;
}
@font-face {
  font-family: "Gilroy";
  src: url("assets/font-216a2049deb5.ttf") format("truetype");
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Gilroy";
  src: url("assets/font-070077f0e1c7.ttf") format("truetype");
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Gilroy";
  src: url("assets/font-1b401dcad60a.ttf") format("truetype");
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Gilroy";
  src: url("assets/font-70a46041b9ba.ttf") format("truetype");
  font-weight: 700; font-style: italic; font-display: swap;
}
@font-face {
  font-family: "Gilroy";
  src: url("assets/font-5315109f660c.ttf") format("truetype");
  font-weight: 800; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Gilroy";
  src: url("assets/font-dc9aa35fb79d.ttf") format("truetype");
  font-weight: 900; font-style: normal; font-display: swap;
}

/* ---------- Tokens ---------- */
:root {
  /* ── Fixed brand palette (same across every Cosmobile site) ── */
  --ink:           #39464e;   /* primary text + lines + icons */
  --ink-2:         #5a6a73;   /* secondary text */
  --ink-3:         #8a949b;   /* tertiary / placeholder text */
  --accent:        #dddc01;   /* fixed accent — borders, dots, underlines, pill */
  --paper:         #ffffff;   /* page bg — NEVER override */
  --paper-2:       #fafbfb;   /* subtle alt section */
  --hairline:      #e7eaec;   /* dividers, card borders */
  --shadow-soft:   0 14px 38px -18px rgba(57,70,78,0.18);
  --shadow-card:   0 12px 24px -16px rgba(57,70,78,0.12);
  --shadow-press:  0 4px 10px -6px rgba(57,70,78,0.22);

  /* ── Per-site decorative gradient (Categora = pastel blue → mint → teal) ──
     Pastello, basso contrasto. Solo per cerchi decorativi, blob, dot,
     ombre colorate e band-promo. Mai su body text. Mai sullo sfondo pagina. */
  --grad-start:    #BFE1F2;   /* pastel sky */
  --grad-mid:      #CFECE2;   /* pastel mint */
  --grad-end:      #CAEBE8;   /* pastel aqua */
  --color-grad: linear-gradient(135deg, var(--grad-start) 0%, var(--grad-mid) 50%, var(--grad-end) 100%);
  --color-grad-band: linear-gradient(90deg, var(--grad-start) 0%, var(--grad-mid) 47%, var(--grad-end) 100%);
  --color-grad-soft: linear-gradient(135deg, #eaf5fb 0%, #eef8f4 100%);

  /* ── Radii — pill buttons are the signature ── */
  --r-pill:        999px;     /* primary CTAs */
  --r-button:      6px;       /* secondary nav button (legacy) */
  --r-card:        15px;      /* content cards */
  --r-tag:         6px;       /* tag/badge chip */

  /* ── Layout widths ── */
  --header-max-w:  1920px;    /* header is fluid (follows the screen) and capped at the 1920px design canvas, then centred */

  /* ── Spacing ── */
  --s-1: 4px;
  --s-2: 8px;
  --s-3: 12px;
  --s-4: 16px;
  --s-5: 24px;
  --s-6: 32px;
  --s-7: 48px;
  --s-8: 64px;
  --s-9: 96px;
  --s-10: 128px;

  /* ── Type scale (per brand spec) ── */
  --font-sans: "Gilroy", "Helvetica Neue", Arial, sans-serif;

  --h1-size: 60px;   --h1-line: 1.08 /* @kind other */;  --h1-weight: 700;
  --h2-size: 40px;   --h2-line: 1.15 /* @kind other */;  --h2-weight: 700;
  --h3-size: 24px;   --h3-line: 1.25 /* @kind other */;  --h3-weight: 600;
  --h4-size: 20px;   --h4-line: 1.3 /* @kind other */;   --h4-weight: 600;
  --body-size: 17px; --body-line: 1.65 /* @kind other */; --body-weight: 400;
  --small-size: 15px; --small-line: 1.55 /* @kind other */;
  --label-size: 12px; --label-line: 1.4 /* @kind other */; --label-weight: 600;
  --label-tracking: 0.08em;
}

/* ---------- Base / semantic ---------- */
html, body {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: var(--body-size);
  line-height: var(--body-line);
  font-weight: var(--body-weight);
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, .h1 {
  font-size: var(--h1-size);
  line-height: var(--h1-line);
  font-weight: var(--h1-weight);
  letter-spacing: -0.012em;
  color: var(--ink);
  margin: 0;
  text-wrap: balance;
}
h2, .h2 {
  font-size: var(--h2-size);
  line-height: var(--h2-line);
  font-weight: var(--h2-weight);
  letter-spacing: -0.008em;
  color: var(--ink);
  margin: 0;
  text-wrap: balance;
}
h3, .h3 {
  font-size: var(--h3-size);
  line-height: var(--h3-line);
  font-weight: var(--h3-weight);
  color: var(--ink);
  margin: 0;
}
h4, .h4 {
  font-size: var(--h4-size);
  line-height: var(--h4-line);
  font-weight: var(--h4-weight);
  color: var(--ink);
  margin: 0;
}
p, .p {
  font-size: var(--body-size);
  line-height: var(--body-line);
  color: var(--ink);
  margin: 0;
  text-wrap: pretty;
}
.lede {
  font-size: 18px;
  line-height: 1.7;
  color: var(--ink);
}
.small { font-size: var(--small-size); line-height: var(--small-line); color: var(--ink-2); }

.label, .eyebrow {
  font-size: var(--label-size);
  line-height: var(--label-line);
  font-weight: var(--label-weight);
  text-transform: uppercase;
  letter-spacing: var(--label-tracking);
  color: var(--accent);
}

/* ---------- Accent details ---------- */
.accent-dot  { display: inline-block; width: 10px; height: 10px; background: var(--accent); border-radius: 50%; }

/* ---------- Bullet list ---------- */
.bullet-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.bullet-list li {
  position: relative;
  padding-left: 38px;
  font-size: var(--body-size);
  line-height: var(--body-line);
  color: var(--ink);
}
.bullet-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 26px;
  height: 26px;
  background: url("assets/img-0ddc6c9cb23a.svg") no-repeat center / contain;
  transform: translateY(-50%);
}

/* ---------- Buttons (signature: pill, radius 50px) ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 10px;
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.032em;
  line-height: 1.25;
  padding: 18px 36px;
  border-radius: var(--r-pill);
  border: 0;
  cursor: pointer;
  text-decoration: none;
  transition: transform .15s ease, box-shadow .2s ease, background .2s ease, color .15s ease;
  white-space: nowrap;
  will-change: transform;
}
.btn-primary {
  background: var(--color-grad);
  color: #ffffff;
  box-shadow: 0 12px 28px -14px color-mix(in oklab, var(--grad-mid) 80%, black);
}
.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 18px 38px -16px color-mix(in oklab, var(--grad-mid) 80%, black); }
.btn-primary:active { transform: translateY(0); box-shadow: var(--shadow-press); }

.btn-secondary {
  background: transparent;
  color: var(--ink);
  border: 2px solid var(--ink);
}
.btn-secondary:hover { background: var(--ink); color: var(--paper); }
.btn-secondary:active { transform: translateY(1px); }

.btn-accent {
  background: var(--accent);
  color: var(--ink);
}
.btn-accent:hover { filter: brightness(0.96); }

.btn-ghost {
  background: transparent; color: var(--ink); padding: 14px 18px;
}
.btn-ghost:hover { color: color-mix(in oklab, var(--ink) 80%, black); }

.btn-sm  { padding: 12px 24px; font-size: 14px; }
.btn-lg  { padding: 22px 44px; font-size: 17px; }

/* ---------- Tag / badge ---------- */
.tag {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; font-weight: 600;
  padding: 6px 12px; border-radius: var(--r-tag);
  background: var(--accent); color: var(--ink);
  letter-spacing: 0.02em;
}
.tag-outline {
  background: transparent; border: 1.5px solid var(--accent); color: var(--ink);
}

/* ---------- Card ---------- */
.card {
  background: var(--paper);
  border-radius: var(--r-card);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

/* ---------- Decorative dot grid (signature) ---------- */
.dot-grid {
  background-image: radial-gradient(currentColor 1.5px, transparent 1.6px);
  background-size: 14px 14px;
  color: color-mix(in oklab, var(--grad-mid) 60%, white);
  opacity: 0.55;
}

/* ---------- Decorative blob — soft feathered edge ---------- */
.blob {
  position: absolute;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 50%,
    color-mix(in oklab, var(--grad-start) 45%, transparent) 0%,
    color-mix(in oklab, var(--grad-start) 32%, transparent) 18%,
    color-mix(in oklab, var(--grad-end)   18%, transparent) 40%,
    color-mix(in oklab, var(--grad-end)    7%, transparent) 65%,
    transparent 100%);
  pointer-events: none;
}

/* ---------- Header / top nav ---------- */
/* The site header is FLUID: it follows the screen width at 100% and is
   capped at the 1920px design canvas, then centred. Both the header bar
   AND its inner content column scale with the viewport up to that max —
   the content is held off the edges with horizontal padding rather than a
   narrower fixed column, so the header always "follows the screen".
   Token: --header-max-w (1920px). */
.site-header,
header.nav {
  width: 100%;
  max-width: var(--header-max-w);
  margin-inline: auto;
}
/* Inner content row: same fluid-up-to-1920px behaviour, padded off edges. */
.site-header > .nav-inner,
header.nav > .nav-inner {
  max-width: var(--header-max-w);
}
/* ===========================================================
   Configuratore di Canvass — UI Kit page styles
   Brand: Cosmobile srl. Depends on ../colors_and_type.css tokens.
   Per-site decorative gradient: mint → crema → giallo accent.
   =========================================================== */

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
::selection { background: var(--accent); color: var(--ink); }

:root {
  --cc-grad: linear-gradient(135deg, #e3f2f0 0%, #f4f6ec 52%, #dddc01 145%);
}

@keyframes ccFloat { 0%,100%{ transform: translateY(0); } 50%{ transform: translateY(-16px); } }

#cos-e, #come-funziona, #vantaggi, #per-chi, #integrazione, #contatti { scroll-margin-top: 90px; }
#top { scroll-margin-top: 0; }

/* reveal-on-scroll */
[data-reveal] { opacity: 0; transform: translateY(26px); transition: opacity .6s ease, transform .6s ease; }
[data-reveal].is-in { opacity: 1; transform: none; }

/* nav links */
.cc-nav a[data-navlink] .bar { display:block; height:2px; width:100%; background:var(--accent); transform:scaleX(0); transition:transform .25s ease; }
.cc-nav a[data-navlink].is-active { color: var(--ink) !important; }
.cc-nav a[data-navlink].is-active .bar { transform: scaleX(1); }
/* ===========================================================
   Contact section — Cosmobile design system
   Self-contained: depends only on global tokens in
   colors_and_type.css (--ink, --accent, --hairline, --paper-2,
   --font-sans, --r-pill, --h2-*). Brand-neutral, identical
   across every product site (matches the Visiq contact form).
   =========================================================== */
.contact{ background: var(--paper-2); padding: 96px 0; position:relative; scroll-margin-top: 100px; }
.contact-grid{ display:grid; grid-template-columns: 0.85fr 1.15fr; gap:64px; align-items:start; }
.contact-intro .eyebrow{ margin-bottom: 14px; }
.contact-intro h2{ font-size: var(--h2-size); line-height: var(--h2-line); font-weight: var(--h2-weight); color:var(--ink); margin: 18px 0 20px; letter-spacing:-.012em; text-wrap:balance; }
.contact-intro p{ font-size:18px; line-height:1.65; color:var(--ink-2); max-width: 440px; margin:0; text-wrap:pretty; }
.contact-meta{ margin-top:32px; display:flex; flex-direction:column; gap:16px; }
.contact-meta a, .contact-meta span{ font-size:16px; color:var(--ink); font-weight:600; text-decoration:none; display:inline-flex; align-items:center; gap:12px; }
.contact-meta .ico{ width:38px; height:38px; border-radius:50%; background:#fff; border:1px solid var(--hairline); display:inline-flex; align-items:center; justify-content:center; flex:none; }
.contact-meta .ico span{ width:8px; height:8px; border-radius:50%; background:var(--accent); }

.contact-form{ background:#fff; border:1px solid var(--hairline); border-radius:24px; padding:40px; box-shadow: 0 14px 38px -12px rgba(57,70,78,.12); }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.field{ display:flex; flex-direction:column; gap:8px; margin-bottom:20px; }
.field label{ font-size:14px; font-weight:600; color:var(--ink); letter-spacing:.01em; }
.field .req, .consent .req{ color:var(--ink-3); }
.contact-form input, .contact-form textarea{ box-sizing:border-box; font-family: var(--font-sans); font-size:16px; color:var(--ink); background:var(--paper-2); border:1px solid var(--hairline); border-radius:10px; padding:14px 16px; width:100%; transition: border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.contact-form input::placeholder, .contact-form textarea::placeholder{ color:var(--ink-3); }
.contact-form input:focus, .contact-form textarea:focus{ outline:none; border-color:var(--ink); background:#fff; box-shadow: 0 0 0 4px rgba(221,220,1,.18); }
.contact-form textarea{ resize:vertical; min-height:120px; }
.consent{ display:flex; align-items:flex-start; gap:12px; margin: 4px 0 26px; cursor:pointer; }
.consent input{ width:20px; height:20px; flex:none; margin-top:1px; accent-color: var(--ink); }
.consent span{ font-size:14px; line-height:1.5; color:var(--ink-2); }
.consent a{ color:var(--ink); text-decoration:underline; }
.contact-submit{ border:0; cursor:pointer; font-family:var(--font-sans); background: var(--ink); color:#fff; border-radius: var(--r-pill); padding: 18px 36px; font-weight:700; font-size:16px; letter-spacing:.032em; display:inline-flex; align-items:center; gap:10px; transition: background .2s ease; }
.contact-submit:hover{ background:#2c3940; }

@media (max-width: 900px){
  .contact{ padding: 72px 0; }
  .contact-grid{ grid-template-columns:1fr; gap:40px; }
  .field-row{ grid-template-columns:1fr; gap:0; }
  .contact-form{ padding:28px; }
}
/* ===========================================================
   Pre-publish additions — responsive, modal, honeypot, a11y
   =========================================================== */
img, svg, video { max-width: 100%; }

/* honeypot (kept in DOM, off-screen) */
.hp-field { position:absolute !important; left:-9999px !important; top:auto; width:1px; height:1px; overflow:hidden; }

/* inline form error */
.form-err { display:none; margin:16px 0 0; font-size:15px; font-weight:600; color:#c0392b; }
.form-err a { color:inherit; }

/* confirmation modal (brand) */
.cc-modal { position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; padding:24px; }
.cc-modal[hidden] { display:none; }
.cc-modal__backdrop { position:absolute; inset:0; background:rgba(57,70,78,.55); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); }
.cc-modal__panel { position:relative; background:#fff; border-radius:24px; padding:44px 40px; max-width:440px; width:100%; text-align:center; box-shadow:0 30px 70px -20px rgba(57,70,78,.45); animation:ccModalIn .28s ease; }
.cc-modal__badge { width:64px; height:64px; border-radius:50%; background:linear-gradient(135deg,#e3f2f0 0%,#f4f6ec 52%,#dddc01 145%); color:#39464e; font-size:30px; font-weight:800; display:flex; align-items:center; justify-content:center; margin:0 auto 20px; }
.cc-modal__title { font-size:26px; font-weight:800; color:#39464e; margin:0 0 10px; letter-spacing:-.01em; }
.cc-modal__desc { font-size:16px; line-height:1.6; color:#5a6a73; margin:0 0 28px; }
.cc-modal__btn { border:0; cursor:pointer; font-family:inherit; background:#39464e; color:#fff; border-radius:999px; padding:15px 40px; font-weight:700; font-size:15px; letter-spacing:.03em; transition:background .2s ease; }
.cc-modal__btn:hover { background:#2c3940; }
@keyframes ccModalIn { from { opacity:0; transform:translateY(12px) scale(.98); } to { opacity:1; transform:none; } }

/* ================= Responsive ================= */
@media (max-width: 1100px) {
  * { box-sizing: border-box; }
  .r-hero { grid-template-columns:1fr !important; gap:40px !important; padding-top:56px !important; padding-bottom:64px !important; }
  .r-grid2 { grid-template-columns:1fr !important; gap:36px !important; }
  .r-howto { grid-template-columns:1fr !important; gap:28px !important; }
  .r-grid4 { grid-template-columns:repeat(2,1fr) !important; }
  .r-navlinks { display:none !important; }
  h1 { font-size:48px !important; }
  h2 { font-size:36px !important; }
}
@media (max-width: 900px) {
  .r-grid3 { grid-template-columns:repeat(2,1fr) !important; }
}
@media (max-width: 640px) {
  .r-grid3, .r-grid4, .r-grid2b, .r-footer { grid-template-columns:1fr !important; }
  .r-footer { gap:32px !important; }
  h1 { font-size:34px !important; }
  h2 { font-size:28px !important; }
  .sbcf15cda,.sdd7e1640,.s32f01cf7,.sd56a8e57 { padding-left:20px !important; padding-right:20px !important; }
  .s7510d1d0 { padding-left:20px !important; padding-right:20px !important; }
  .r-navrow { padding-left:20px !important; padding-right:20px !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  [data-reveal] { opacity:1 !important; transform:none !important; }
}

/* de-inlined element styles */
.s4107983a{margin:0;background:#ffffff;color:#39464e;font-family:'Gilroy','Helvetica Neue',Arial,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;}
.s1c4125f5{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid #e7eaec;}
.sf92e78b9{max-width:1920px;margin:0 auto;padding:14px 40px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;}
.s8e94dfb2{display:flex;align-items:center;gap:14px;text-decoration:none;justify-self:start;}
.sd75ddbf4{height:42px;width:auto;display:block;}
.sec059a59{display:flex;align-items:center;gap:26px;justify-self:center;}
.safc076a2{text-decoration:none;color:#5a6a73;font-weight:600;font-size:15px;white-space:nowrap;display:inline-flex;flex-direction:column;align-items:center;gap:5px;transition:color .2s ease;}
.s18ab8469{justify-self:end;text-decoration:none;background:#dddc01;color:#39464e;font-weight:700;font-size:15px;white-space:nowrap;padding:12px 24px;border-radius:999px;letter-spacing:.01em;transition:filter .2s ease,transform .15s ease;}
.s4cb8ceeb{position:relative;}
.s404444e5{position:absolute;top:-120px;right:-160px;width:760px;height:760px;border-radius:50%;background:radial-gradient(circle at 50% 50%, rgba(227,242,240,.55) 0%, rgba(244,246,236,.4) 42%, rgba(221,220,1,.12) 72%, transparent 100%);filter:blur(64px);pointer-events:none;}
.s81a7aa76{position:absolute;top:120px;left:-40px;width:340px;height:340px;background-image:radial-gradient(#dddc01 1.5px, transparent 1.7px);background-size:18px 18px;opacity:.2;filter:blur(.5px);-webkit-mask-image:radial-gradient(circle at 35% 42%, #000 0%, transparent 72%);mask-image:radial-gradient(circle at 35% 42%, #000 0%, transparent 72%);pointer-events:none;}
.s7510d1d0{max-width:1180px;margin:0 auto;padding:84px 40px 96px;position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;}
.s1a134aab{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#5a6a73;margin-bottom:22px;}
.s13f2c726{height:13px;width:auto;flex:none;}
.sf218bb2d{font-size:58px;line-height:1.05;font-weight:800;letter-spacing:-.018em;margin:0 0 22px;color:#39464e;}
.s2bf5560a{position:relative;white-space:nowrap;}
.s3040c466{position:absolute;left:0;right:0;bottom:4px;height:14px;background:rgba(221,220,1,.55);z-index:-1;border-radius:2px;}
.sbcfef926{font-size:20px;line-height:1.55;color:#5a6a73;margin:0 0 14px;max-width:540px;}
.s13327330{color:#39464e;font-weight:700;}
.s23b9d3cd{font-size:17px;line-height:1.65;color:#5a6a73;margin:0 0 32px;max-width:520px;}
.s96c75289{color:#39464e;}
.sbf377097{display:flex;align-items:center;gap:16px;margin-bottom:38px;}
.scfb71b14{text-decoration:none;background:#dddc01;color:#39464e;font-weight:700;font-size:16px;padding:18px 34px;border-radius:999px;letter-spacing:.02em;box-shadow:0 12px 28px -14px rgba(57,70,78,.4);transition:transform .15s ease,box-shadow .2s ease;}
.s0440b03f{text-decoration:none;background:transparent;color:#39464e;font-weight:700;font-size:16px;padding:16px 30px;border-radius:999px;border:2px solid #39464e;transition:background .2s ease,color .2s ease;}
.s76664671{display:flex;gap:30px;flex-wrap:wrap;}
.s53b71094{font-size:30px;font-weight:800;color:#39464e;letter-spacing:-.02em;}
.s762fde03{font-size:13px;color:#8a949b;font-weight:600;}
.sceb588b3{width:1px;background:#e7eaec;}
.s3a790324{width:100%;height:auto;display:block;animation:ccFloat 7s ease-in-out infinite;filter:drop-shadow(0 30px 50px rgba(57,70,78,.12));}
.scbdefb15{padding:96px 0;background:#fafbfb;border-top:1px solid #e7eaec;}
.sbcf15cda{max-width:1180px;margin:0 auto;padding:0 40px;}
.s686a9aae{max-width:760px;}
.s50f4b333{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#5a6a73;margin-bottom:18px;}
.sec47c68d{font-size:42px;line-height:1.12;font-weight:800;letter-spacing:-.012em;margin:0 0 24px;color:#39464e;}
.s370e0690{font-size:19px;line-height:1.65;color:#39464e;margin:0 0 18px;}
.s6897c5ea{font-size:17px;line-height:1.7;color:#5a6a73;margin:0;}
.s0915b59b{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;}
.s66f43106{background:#fff;border:1px solid #e7eaec;border-radius:15px;padding:32px;box-shadow:0 12px 24px -16px rgba(57,70,78,.12);}
.s40a96e60{font-size:40px;font-weight:800;color:#39464e;letter-spacing:-.02em;margin-bottom:6px;}
.sabbcd401{font-size:16px;font-weight:600;color:#39464e;margin-bottom:6px;}
.s070ee6d9{font-size:15px;color:#8a949b;margin:0;}
.saa9ebc96{padding:96px 0;}
.s65195147{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.s367d6afe{font-size:38px;line-height:1.14;font-weight:800;letter-spacing:-.012em;margin:0 0 22px;color:#39464e;}
.s15a71d8e{font-size:17px;line-height:1.7;color:#5a6a73;margin:0 0 16px;}
.sf7e905be{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.s08f0818f{background:#fff;border:1px solid #e7eaec;border-radius:15px;padding:26px;}
.s26303bd1{width:46px;height:46px;border-radius:12px;background:#fafbfb;border:1px solid #e7eaec;display:flex;align-items:center;justify-content:center;color:#39464e;margin-bottom:16px;}
.sad37eeac{font-size:17px;font-weight:700;color:#39464e;margin-bottom:6px;}
.s05fd2874{font-size:14px;color:#8a949b;margin:0;line-height:1.55;}
.s647dbfe4{padding:96px 0;background:#fafbfb;border-top:1px solid #e7eaec;border-bottom:1px solid #e7eaec;position:relative;overflow:hidden;}
.sec04bda7{position:absolute;bottom:-160px;left:-120px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle at 50% 50%, rgba(221,220,1,.22) 0%, rgba(227,242,240,.18) 62%, transparent 100%);filter:blur(58px);pointer-events:none;}
.sdd7e1640{max-width:1180px;margin:0 auto;padding:0 40px;position:relative;}
.s7dea87d5{max-width:720px;margin-bottom:44px;}
.s76502a01{font-size:42px;line-height:1.12;font-weight:800;letter-spacing:-.012em;margin:0 0 22px;color:#39464e;}
.s03fdd474{font-size:18px;line-height:1.65;color:#5a6a73;margin:0;}
.s998d1b1b{display:grid;grid-template-columns:340px 1fr;gap:40px;align-items:center;}
.se95ce6c0{display:flex;flex-direction:column;gap:14px;}
.sd9f1ddbd{display:block;width:100%;text-align:left;cursor:pointer;border-radius:15px;padding:22px 24px;transition:all .25s ease;font-family:inherit;background:#fff;border:1px solid #dddc01;box-shadow:0 12px 28px -16px rgba(57,70,78,.2);}
.s9cc5e9cb{display:flex;align-items:center;gap:12px;}
.s9bef3093{font-size:13px;font-weight:800;width:26px;height:26px;border-radius:50%;background:#dddc01;color:#39464e;display:flex;align-items:center;justify-content:center;flex:none;}
.s38913734{font-weight:700;font-size:16px;color:#39464e;}
.sca8f047b{margin:10px 0 0;font-size:14px;line-height:1.5;color:#5a6a73;}
.sf9b3bee1{display:block;width:100%;text-align:left;cursor:pointer;border-radius:15px;padding:22px 24px;transition:all .25s ease;font-family:inherit;background:#fff;border:1px solid #e7eaec;opacity:.72;}
.s4c4ebdfe{position:relative;min-height:360px;display:flex;align-items:center;justify-content:center;}
.sd87f2684{position:absolute;inset:6% 4%;border-radius:24px;background:radial-gradient(circle at 60% 40%, rgba(227,242,240,.5), rgba(221,220,1,.18) 55%, transparent 82%);filter:blur(46px);}
.s046b2f22{position:relative;max-width:100%;max-height:420px;height:auto;display:block;filter:drop-shadow(0 26px 40px rgba(57,70,78,.16));}
.s6d06df42{text-align:center;max-width:680px;margin:0 auto 52px;}
.se795aaef{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#5a6a73;margin-bottom:18px;justify-content:center;}
.sf39b875a{font-size:44px;line-height:1.1;font-weight:800;letter-spacing:-.014em;margin:0 0 16px;color:#39464e;}
.sf54c1c8a{font-size:18px;color:#5a6a73;margin:0;}
.sfb890e9f{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.s4013beb5{background:#fff;border:1px solid #e7eaec;border-radius:15px;padding:36px;box-shadow:0 12px 24px -16px rgba(57,70,78,.12);}
.s366ae0b3{height:62px;width:auto;display:block;margin:0 0 16px;}
.sfafb9750{font-size:22px;font-weight:800;color:#39464e;margin:0 0 14px;letter-spacing:-.01em;}
.s48e2116b{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;}
.s3c0d7f8b{position:relative;padding-left:26px;font-size:15px;color:#5a6a73;line-height:1.5;}
.sbf37586a{position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:50%;background:#dddc01;}
.sc627825e{margin-top:28px;background:linear-gradient(135deg,#e3f2f0 0%,#f4f6ec 52%,#dddc01 145%);border-radius:15px;padding:30px 40px;display:flex;align-items:center;justify-content:center;gap:14px;text-align:center;}
.s1e670f9f{font-size:22px;font-weight:800;color:#39464e;letter-spacing:-.01em;}
.s32f01cf7{max-width:1180px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.s80ff8d21{position:absolute;inset:0;border-radius:20px;background:radial-gradient(circle at 40% 50%, rgba(227,242,240,.42), transparent 75%);filter:blur(52px);}
.s93527da1{position:relative;width:100%;height:auto;display:block;}
.se0b8bb9d{font-size:36px;line-height:1.15;font-weight:800;letter-spacing:-.012em;margin:0 0 18px;color:#39464e;}
.s687169ce{font-size:17px;line-height:1.7;color:#5a6a73;margin:0 0 28px;}
.s034a7b66{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.s90076c79{display:flex;gap:12px;align-items:flex-start;}
.s20e30a1e{margin-top:3px;flex:none;color:#39464e;}
.s13a6e154{font-size:15px;color:#39464e;font-weight:600;line-height:1.45;}
.sd13dc283{font-size:38px;line-height:1.14;font-weight:800;letter-spacing:-.012em;margin:0 0 28px;color:#39464e;}
.s2dfa3c07{display:flex;flex-direction:column;gap:12px;}
.sd72c1cfc{display:flex;align-items:center;gap:16px;background:#fafbfb;border:1px solid #e7eaec;border-radius:12px;padding:16px 20px;}
.se06f0786{color:#39464e;flex:none;}
.s766e0215{font-size:16px;font-weight:600;color:#39464e;}
.sc9d7ab2e{position:absolute;inset:0;border-radius:20px;background:radial-gradient(circle at 60% 50%, rgba(221,220,1,.22), transparent 76%);filter:blur(52px);}
.s5d18985a{padding:96px 0;background:#39464e;color:#fff;}
.s6dcbb651{text-align:center;max-width:680px;margin:0 auto 48px;}
.scca3a2c0{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#dddc01;margin-bottom:16px;justify-content:center;}
.sdde4f2ce{font-size:38px;line-height:1.14;font-weight:800;letter-spacing:-.012em;margin:0;color:#fff;}
.sc382658d{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:15px;padding:32px;}
.sc4822cb5{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#dddc01;margin-bottom:14px;}
.sdd81d360{font-size:15px;line-height:1.65;color:rgba(255,255,255,.82);margin:0;}
.s24a5169b{text-align:center;max-width:680px;margin:0 auto 44px;}
.sce44ce5e{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#5a6a73;margin-bottom:16px;justify-content:center;}
.sc6d61933{font-size:42px;line-height:1.12;font-weight:800;letter-spacing:-.012em;margin:0 0 16px;color:#39464e;}
.s64f3607d{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:40px;}
.sc1749a3a{background:#fafbfb;border:1px solid #e7eaec;border-radius:15px;padding:26px;}
.s1d2d1162{font-size:15px;font-weight:800;color:#39464e;margin-bottom:6px;}
.s7e548de5{font-size:13px;color:#8a949b;line-height:1.5;}
.s27d8924f{display:flex;align-items:center;justify-content:center;gap:48px;flex-wrap:wrap;padding:30px 0;border-top:1px solid #e7eaec;border-bottom:1px solid #e7eaec;margin-bottom:44px;}
.se981734e{max-height:46px;max-width:160px;object-fit:contain;filter:grayscale(1);opacity:.6;}
.sf6c1eea3{background:linear-gradient(135deg,#e3f2f0 0%,#f4f6ec 52%,#dddc01 145%);border-radius:18px;padding:40px 48px;display:flex;align-items:center;gap:32px;flex-wrap:wrap;justify-content:space-between;}
.s7f45a6cc{max-width:640px;}
.sb073ea55{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#39464e;opacity:.7;margin-bottom:10px;}
.s22fb768e{font-size:24px;font-weight:800;color:#39464e;margin:0 0 10px;letter-spacing:-.01em;}
.s207f02aa{font-size:16px;color:#39464e;opacity:.85;margin:0;line-height:1.6;}
.sdd6ca2f0{display:flex;align-items:center;gap:18px;flex:none;}
.s96dac418{width:96px;height:96px;border-radius:22px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 24px -14px rgba(57,70,78,.3);}
.s6af25bb0{width:68px;height:68px;object-fit:contain;display:block;}
.sbadf2709{padding:80px 0;background:#fafbfb;border-top:1px solid #e7eaec;border-bottom:1px solid #e7eaec;}
.sd56a8e57{max-width:1180px;margin:0 auto;padding:0 40px;text-align:center;}
.s19da6c78{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8a949b;margin-bottom:36px;}
.s92e24888{display:flex;align-items:center;justify-content:center;gap:56px;flex-wrap:wrap;margin-bottom:24px;}
.sf8b4aaa7{max-height:42px;max-width:160px;object-fit:contain;filter:grayscale(1);opacity:.55;}
.s7098f352{font-size:15px;color:#8a949b;font-weight:500;}
.sfb32d8ec{padding:30px 0 60px;}
.s54ebcb2d{position:relative;overflow:hidden;background:linear-gradient(135deg,#e3f2f0 0%,#f4f6ec 52%,#dddc01 145%);border-radius:24px;padding:72px 56px;text-align:center;}
.s203c4b42{position:absolute;top:-60px;right:-40px;width:320px;height:320px;background-image:radial-gradient(#dddc01 1.6px, transparent 1.8px);background-size:20px 20px;opacity:.2;-webkit-mask-image:radial-gradient(circle at 70% 30%, #000 0%, transparent 72%);mask-image:radial-gradient(circle at 70% 30%, #000 0%, transparent 72%);}
.s7c363a01{position:absolute;bottom:-80px;left:-60px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.5),transparent 70%);}
.sa9d03b1d{font-size:46px;line-height:1.1;font-weight:800;letter-spacing:-.016em;margin:0 0 14px;color:#39464e;}
.s0681f75d{font-size:20px;color:#39464e;opacity:.85;margin:0 0 34px;font-weight:600;}
.s8e4171b3{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;}
.s718e4fec{text-decoration:none;background:#39464e;color:#fff;font-weight:700;font-size:16px;padding:18px 38px;border-radius:999px;letter-spacing:.02em;transition:transform .15s ease,box-shadow .2s ease;box-shadow:0 14px 30px -14px rgba(57,70,78,.5);}
.s430f0555{text-decoration:none;background:transparent;color:#39464e;font-weight:700;font-size:16px;padding:16px 34px;border-radius:999px;border:2px solid #39464e;transition:background .2s ease,color .2s ease;}
.s12231cca{font-size:14px;color:#39464e;opacity:.7;margin:26px 0 0;}
.sdfedda9d{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#5a6a73;margin-bottom:14px;}
.s6c3a6069{background:#fafbfb;border-top:1px solid #e7eaec;padding:64px 0 40px;}
.s469b4965{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px;}
.s2e3466c0{height:44px;width:auto;display:block;margin-bottom:20px;}
.sa023784e{font-size:15px;color:#8a949b;line-height:1.6;margin:0 0 18px;max-width:300px;}
.s6771c20e{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#8a949b;}
.sfcd7dda4{display:inline-flex;}
.see248226{height:22px;width:auto;display:block;}
.s00cdcc86{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#39464e;margin-bottom:16px;}
.sf06cdd24{font-size:14px;color:#8a949b;line-height:1.6;margin:0;}
.s29dde3d8{font-size:14px;color:#8a949b;line-height:1.6;margin:0 0 16px;}
.scb4bae1c{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#39464e;margin-bottom:8px;}
.sb95bf6e5{font-size:14px;color:#8a949b;line-height:1.9;margin:0;}
.s5b180557{color:#39464e;text-decoration:none;font-weight:600;}
.sd47d18c0{border-top:1px solid #e7eaec;padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.sb900c814{font-size:13px;color:#8a949b;}
.s281e5e00{font-size:13px;color:#8a949b;display:inline-flex;align-items:center;gap:18px;flex-wrap:wrap;}
