:root {
  --ink: #102b3a;
  --ink-2: #1d4153;
  --teal: #2aa6a4;
  --teal-soft: #e9f7f6;
  --orange: #f59e0b;
  --orange-2: #d97706;
  --orange-soft: #fff6e7;
  --paper: #ffffff;
  --mist: #f4f7f8;
  --line: #dce5e9;
  --muted: #5f6f78;
  --shadow: 0 18px 50px rgba(16,43,58,.12);
  --radius: 22px;
  --radius-sm: 14px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--paper);
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }

.skip-link {
  position: absolute; left: -999px; top: 10px; z-index: 9999;
  background: var(--paper); color: var(--ink); padding: .7rem 1rem; border-radius: 10px;
}
.skip-link:focus { left: 10px; }

.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.section { padding: 96px 0; }
.section-tight { padding: 66px 0; }
.section-soft { background: var(--mist); }
.section-dark { background: var(--ink); color: var(--paper); }

.eyebrow {
  display: inline-flex; align-items: center; gap: .55rem;
  font-size: .77rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase;
  color: var(--orange-2); margin-bottom: 1rem;
}
.eyebrow::before { content: ""; width: 26px; height: 2px; background: currentColor; }
.section-dark .eyebrow { color: #ffc46c; }

h1, h2, h3 { margin: 0 0 1rem; line-height: 1.08; letter-spacing: -.035em; }
h1 { font-size: clamp(2.7rem, 6vw, 5.6rem); max-width: 980px; }
h2 { font-size: clamp(2.05rem, 4vw, 3.55rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.55rem); }
p { margin: 0 0 1.1rem; }
.lead { font-size: clamp(1.1rem, 1.8vw, 1.35rem); color: var(--muted); max-width: 820px; }
.section-dark .lead { color: #c9d8df; }
.kicker { font-size: 1.05rem; color: var(--muted); max-width: 770px; }

.btn-row { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.9rem; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
  min-height: 48px; padding: .78rem 1.15rem; border-radius: 999px;
  border: 1px solid transparent; font-weight: 800; transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #111; background: var(--orange); box-shadow: 0 10px 30px rgba(245,158,11,.25); }
.btn-primary:hover { background: #ffad1d; }
.btn-secondary { color: var(--ink); border-color: var(--line); background: var(--paper); }
.section-dark .btn-secondary { color: var(--paper); border-color: rgba(255,255,255,.22); background: transparent; }

.site-header {
  position: sticky; top: 0; z-index: 1000;
  background: rgba(255,255,255,.92); backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(220,229,233,.9);
}
.nav-wrap { min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { display:inline-flex; align-items:center; }
.brand-logo { height:48px; width:auto; display:block; }
.site-nav { display: flex; align-items: center; gap: 1.5rem; }
.site-nav a { font-size: .95rem; color: #40545f; font-weight: 700; }
.site-nav a:hover, .site-nav a[aria-current="page"] { color: var(--ink); }
.nav-cta { padding: .58rem .9rem; border: 1px solid var(--line); border-radius: 999px; }
.menu-toggle { display: none; border: 0; background: transparent; color: var(--ink); width: 44px; height: 44px; border-radius: 12px; }
.menu-toggle span, .menu-toggle::before, .menu-toggle::after {
  content: ""; display: block; width: 24px; height: 2px; margin: 5px auto; background: currentColor;
}

.hero {
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 18%, rgba(42,166,164,.18), transparent 34%),
    radial-gradient(circle at 15% 5%, rgba(245,158,11,.16), transparent 31%),
    linear-gradient(180deg, #fbfcfd 0%, #fff 70%);
}
.hero-inner { padding: 105px 0 92px; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(430px,.95fr); gap: 76px; align-items: center; }
.hero h1 em { font-style: normal; color: var(--orange-2); }
.hero-copy .lead { margin-top: 1.3rem; }
.hero-note { margin-top: 1.4rem; font-size: .93rem; color: var(--muted); }

.process-orbit {
  position: relative; min-height: 540px; max-width: 560px; width: 100%; margin-left: auto; display: grid; place-items: center;
}
.orbit-center {
  width: 236px; height: 236px; border-radius: 50%; display: grid; place-items: center; text-align: center;
  padding: 28px; color: #fff; background: var(--ink); box-shadow: var(--shadow); z-index: 2;
}
.orbit-center strong { font-size: 1.35rem; line-height: 1.1; }
.orbit-center span { font-size: .88rem; color: #d2e1e7; margin-top: .55rem; display:block; }
.orbit-ring { position: absolute; inset: 38px; border: 1px dashed #b8c8cf; border-radius: 50%; }
.orbit-item {
  position: absolute; width: 170px; min-height: 88px; padding: 14px 18px; border-radius: 15px;
  background: #fff; border: 1px solid var(--line); box-shadow: 0 10px 30px rgba(16,43,58,.08); font-weight: 800;
}
.orbit-item small { display: block; font-weight: 600; color: var(--muted); margin-top: 4px; line-height: 1.4; }
.orbit-item:nth-of-type(2){ top: 18px; left: 50%; transform: translateX(-50%); }
.orbit-item:nth-of-type(3){ right: 10px; top: 126px; }
.orbit-item:nth-of-type(4){ right: 34px; bottom: 54px; }
.orbit-item:nth-of-type(5){ left: 34px; bottom: 54px; }
.orbit-item:nth-of-type(6){ left: 10px; top: 126px; }

.value-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.value-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.value-item { padding: 24px 24px 24px 0; }
.value-item + .value-item { border-left: 1px solid var(--line); padding-left: 24px; }
.value-item strong { display: block; font-size: 1.02rem; }
.value-item span { display: block; color: var(--muted); margin-top: .3rem; font-size: .93rem; }

.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 28px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; }
.grid-4 { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 20px; }

.card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; box-shadow: 0 8px 28px rgba(16,43,58,.04);
}
.card p:last-child { margin-bottom: 0; }
.card .num { font-weight: 900; color: var(--orange-2); font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; }
.card-icon {
  width: 46px; height: 46px; display: grid; place-items: center; margin-bottom: 1.2rem; border-radius: 14px;
  background: var(--teal-soft); color: var(--ink); font-weight: 900;
}
.card-accent { border-top: 4px solid var(--orange); }

.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 42px; }
.section-heading .lead { max-width: 620px; }

.flow { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; counter-reset: step; }
.flow-card {
  position: relative; min-height: 210px; padding: 25px 22px; border-radius: var(--radius-sm); background: #fff; border: 1px solid var(--line);
}
.flow-card::before { counter-increment: step; content: "0" counter(step); display:block; color: var(--orange-2); font-size: .76rem; font-weight: 900; letter-spacing: .1em; margin-bottom: 1.4rem; }
.flow-card:not(:last-child)::after { content: "→"; position: absolute; right: -14px; top: 50%; transform: translate(50%,-50%); z-index: 3; width: 30px; height: 30px; display:grid; place-items:center; border-radius:50%; background:var(--ink); color:#fff; font-weight:900; }
.flow-card p { font-size: .92rem; color: var(--muted); }

.product-panel { overflow: hidden; padding: 0; }
.product-head { padding: 34px; background: var(--ink); color: #fff; }
.product-head.orange { background: linear-gradient(135deg, #ab5800, #f59e0b); color:#111; }
.product-body { padding: 34px; }
.product-tag { display:inline-flex; padding:.36rem .66rem; border-radius:999px; background:rgba(255,255,255,.13); font-size:.75rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; margin-bottom:1rem; }
.product-head.orange .product-tag { background: rgba(255,255,255,.33); }
.feature-list { list-style:none; padding:0; margin:1.35rem 0 0; }
.feature-list li { position:relative; padding-left:1.55rem; margin:.72rem 0; }
.feature-list li::before { content:"✓"; position:absolute; left:0; top:0; color:var(--teal); font-weight:900; }
.product-link { display:inline-flex; margin-top:1.3rem; font-weight:900; color:var(--orange-2); }

.ecosystem {
  position:relative; display:grid; grid-template-columns: 1fr 140px 1fr; align-items:center; gap:20px; padding:42px; border-radius:var(--radius); background:#fff; border:1px solid var(--line);
}
.eco-block { padding:26px; border-radius:18px; background:var(--mist); }
.eco-arrow { text-align:center; color:var(--orange-2); font-weight:900; }
.eco-arrow span { display:block; font-size:2.3rem; line-height:1; }
.eco-arrow small { color:var(--muted); font-weight:700; }

.quote-block { border-left: 5px solid var(--orange); padding: 10px 0 10px 28px; font-size: clamp(1.35rem, 2.7vw, 2.15rem); line-height: 1.28; font-weight: 800; letter-spacing: -.02em; }
.quote-block small { display:block; margin-top:1rem; color:#c7d6dc; font-size:.95rem; font-weight:600; letter-spacing:0; }

.page-hero { padding: 92px 0 72px; background: linear-gradient(180deg,#f7fafb,#fff); border-bottom:1px solid var(--line); }
.page-hero h1 { max-width: 970px; font-size: clamp(2.6rem,5vw,4.6rem); }
.breadcrumb { font-size:.9rem; color:var(--muted); margin-bottom:1.1rem; }
.breadcrumb a { text-decoration: underline; text-underline-offset: 3px; }

.stat-grid { display:grid; grid-template-columns: repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.stat { background:#fff; padding:26px; }
.stat strong { display:block; font-size:1.5rem; }
.stat span { color:var(--muted); font-size:.91rem; }

.module-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:20px; }
.module-card { padding:24px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.module-card .module-no { color:var(--orange-2); font-size:.78rem; font-weight:900; letter-spacing:.08em; }
.module-card p { color:var(--muted); font-size:.94rem; margin-bottom:0; }

.app-row { display:grid; grid-template-columns: 64px 1fr; gap:18px; align-items:start; padding:20px 0; border-bottom:1px solid var(--line); }
.app-row:last-child { border-bottom:0; }
.app-row img { width:64px; height:64px; border-radius:14px; }
.app-row p { color:var(--muted); margin:0; }
.architecture-img { border-radius: var(--radius); border:1px solid var(--line); box-shadow:var(--shadow); }

.timeline { display:grid; grid-template-columns: repeat(9, minmax(110px,1fr)); gap:10px; overflow-x:auto; padding-bottom:8px; }
.timeline-step { min-height:140px; border:1px solid var(--line); border-radius:14px; padding:16px; background:#fff; }
.timeline-step span { display:block; font-size:.76rem; color:var(--orange-2); font-weight:900; margin-bottom:.8rem; }
.timeline-step strong { line-height:1.25; display:block; }

.contact-wrap { display:grid; grid-template-columns: .85fr 1.15fr; gap:50px; align-items:start; }
.contact-card { padding:30px; border-radius:var(--radius); background:var(--ink); color:#fff; }
.contact-card a { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.contact-card .muted { color:#c8d8df; }
.form-grid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:16px; }
.form-field { display:flex; flex-direction:column; gap:7px; }
.form-field.full { grid-column:1/-1; }
label { font-weight:800; font-size:.91rem; }
input, textarea {
  width:100%; border:1px solid #cbd7dc; border-radius:12px; padding:.86rem .92rem; background:#fff; color:var(--ink); outline:none;
}
input:focus, textarea:focus { border-color:var(--teal); box-shadow:0 0 0 4px rgba(42,166,164,.11); }
textarea { min-height:160px; resize:vertical; }
.form-note { color:var(--muted); font-size:.87rem; margin-top:.8rem; }
.honeypot { position:absolute !important; left:-9999px !important; }
.email-panel { padding:34px; }
.email-display { font-size: clamp(1.5rem, 3vw, 2.2rem); font-weight: 900; letter-spacing: -.03em; margin: .25rem 0 1rem; }
.email-display a { color: var(--ink); text-decoration: underline; text-underline-offset: 5px; }

.cta-band { background: linear-gradient(135deg, var(--ink), #173f50); color:#fff; border-radius:30px; padding:54px; display:flex; justify-content:space-between; gap:30px; align-items:center; }
.cta-band p { color:#c6d7de; max-width:700px; }

.site-footer { background:#0b202b; color:#d8e3e8; padding:58px 0 28px; }
.footer-grid { display:grid; grid-template-columns:1.4fr .6fr .7fr; gap:40px; }
.footer-brand { display:inline-flex; align-items:center; margin-bottom:1rem; background:#fff; border-radius:16px; padding:10px 14px; }
.footer-logo { height:42px; width:auto; display:block; }
.footer-note { color:#9db2bc; max-width:530px; }
.footer-title { color:#fff; font-weight:900; margin-bottom:.75rem; }
.footer-links { display:grid; gap:.55rem; }
.footer-bottom { margin-top:42px; padding-top:22px; border-top:1px solid rgba(255,255,255,.1); display:flex; justify-content:space-between; gap:20px; color:#8ea6b0; font-size:.86rem; }

.reveal { opacity: 0; transform: translateY(12px); transition: opacity .55s ease, transform .55s ease; }
.reveal.visible { opacity:1; transform:none; }

@media (max-width: 980px) {
  .hero-inner { grid-template-columns:1fr; gap:34px; padding-top:78px; }
  .process-orbit { min-height:470px; max-width:620px; margin:0 auto; width:100%; }
  .value-grid { grid-template-columns:repeat(2,1fr); }
  .value-item:nth-child(3) { border-left:0; padding-left:0; }
  .flow { grid-template-columns:1fr 1fr; }
  .flow-card:not(:last-child)::after { display:none; }
  .grid-3, .module-grid { grid-template-columns:repeat(2,1fr); }
  .grid-4, .stat-grid { grid-template-columns:repeat(2,1fr); }
  .ecosystem { grid-template-columns:1fr; }
  .eco-arrow { transform:rotate(90deg); }
  .contact-wrap { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-grid > div:first-child { grid-column:1/-1; }
}

@media (max-width: 760px) {
  .container { width:min(calc(100% - 28px), var(--max)); }
  .section { padding:72px 0; }
  .section-tight { padding:52px 0; }
  .menu-toggle { display:block; }
  .site-nav {
    position:absolute; left:14px; right:14px; top:68px; display:none; flex-direction:column; align-items:stretch; gap:0;
    background:#fff; border:1px solid var(--line); border-radius:16px; padding:10px; box-shadow:var(--shadow);
  }
  .site-nav.open { display:flex; }
  .site-nav a { padding:.82rem .8rem; border-radius:10px; }
  .nav-cta { border:0; background:var(--mist); }
  .hero-inner { padding:68px 0 58px; }
  .brand-logo { height:40px; }
  .footer-logo { height:36px; }
  h1 { font-size:clamp(2.45rem,13vw,4rem); }
  .process-orbit { min-height:auto; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .orbit-ring { display:none; }
  .orbit-center { position:relative; grid-column:1/-1; width:100%; height:auto; border-radius:18px; padding:28px; }
  .orbit-item { position:relative !important; inset:auto !important; transform:none !important; width:auto; }
  .value-grid { grid-template-columns:1fr; }
  .value-item, .value-item + .value-item { border-left:0; border-top:1px solid var(--line); padding:18px 0; }
  .value-item:first-child { border-top:0; }
  .section-heading { display:block; }
  .grid-2, .grid-3, .grid-4, .module-grid, .stat-grid, .flow { grid-template-columns:1fr; }
  .timeline { grid-template-columns: repeat(9, 190px); }
  .form-grid { grid-template-columns:1fr; }
  .form-field.full { grid-column:auto; }
  .cta-band { padding:34px 26px; display:block; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-grid > div:first-child { grid-column:auto; }
  .footer-bottom { display:block; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
}

/* SEO content sections: readable links without changing existing visual system */
.text-link { text-decoration: underline; text-decoration-color: rgba(217,119,6,.55); text-underline-offset: .17em; }
.text-link:hover { color: var(--orange-2); }
.faq-grid h3 { font-size: clamp(1.18rem,2vw,1.42rem); }
.faq-grid .card p { color: var(--muted); }
.supporting-note { margin-top: 1.7rem; color: var(--muted); }

/* AMG multilingual v6: language selector, suggestion and translated architecture */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.language-switch{margin-left:.15rem;flex:0 0 auto;order:2}
.language-select{width:auto;max-width:146px;min-height:42px;padding:.35rem .7rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:700;font-size:.86rem;cursor:pointer}
.language-select:focus-visible,.language-suggestion a:focus-visible,.language-suggestion button:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.language-suggestion{display:flex;align-items:center;justify-content:center;gap:1.1rem;flex-wrap:wrap;padding:.65rem 1.5rem;background:#f1f6f7;color:var(--ink);border-bottom:1px solid var(--line);font-size:.9rem;position:relative;z-index:10}
.language-suggestion-go{font-weight:900;text-decoration:underline;text-underline-offset:3px}
.language-suggestion-close{border:0;background:transparent;color:var(--ink);font-size:1.45rem;line-height:1;min-width:30px;min-height:30px}
.arch-diagram{align-self:center;display:flex;flex-direction:column;gap:18px;text-align:center}
.arch-stack{background:#f1f8f8;border:1px solid #b5d6d9;border-radius:15px;padding:19px;display:grid;gap:5px}
.arch-stack strong{color:#113744;font-size:1.15rem}.arch-stack span{font-size:.9rem;color:var(--muted)}
.arch-flow{font-weight:900;color:var(--orange-2);font-size:1.8rem}.arch-flow small{display:block;color:var(--ink);font-size:.8rem;letter-spacing:.05em}
.arch-central{background:#fff9ed;border-color:#eac9a0}
.arch-split{display:grid;grid-template-columns:1fr 1fr;gap:10px}.arch-split span{background:#e9f0f3;border-radius:11px;padding:12px 6px;font-size:.78rem;font-weight:800;overflow-wrap:anywhere}
.process-orbit .orbit-center{width:236px;height:236px}
.process-orbit .orbit-item{width:148px;overflow-wrap:anywhere}
.process-orbit .orbit-item:nth-of-type(3){right:0}
.process-orbit .orbit-item:nth-of-type(6){left:0}
@media(max-width:1100px) and (min-width:761px){.site-nav{gap:.7rem}.site-nav a{font-size:.86rem}.brand-logo{height:40px}.language-select{max-width:131px;font-size:.79rem}}
@media(max-width:760px){.process-orbit .orbit-center{width:100%;height:auto}.process-orbit .orbit-item{width:auto}.nav-wrap{gap:.6rem}.menu-toggle{order:3}.language-switch{order:2;margin-left:auto}.language-select{max-width:120px;font-size:.76rem;min-height:40px;padding:.2rem .5rem}.brand-logo{height:35px}.site-nav{top:69px}.language-suggestion{gap:.6rem;padding:.7rem 1rem}}
@media(max-width:360px){.brand-logo{height:31px}.language-select{max-width:100px}}
