/* EMB Trading / Variante 2: photographic brand presentation inspired by emb-ram.com
   Basis: Bootstrap 5.3.8, lokal / Dreamweaver friendly. */
:root {
  --accent: #42a03d;
  --accent-dark: #2f8630;
  --ink: #17262a;
  --ink2: #26373b;
  --muted: #637177;
  --rule: #e0e5e4;
  --surface: #f6f7f6;
  --bs-body-font-family: Arial,Helvetica,sans-serif;
  --bs-body-color: var(--ink);
}
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin:0; font-family:Arial,Helvetica,sans-serif; color:var(--ink); overflow-x:hidden; -webkit-font-smoothing: antialiased; }
a { text-decoration:none; }
a:focus-visible,button:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
img { max-width: 100%; }
.container-xxl { max-width:1500px; padding-left:clamp(24px,4.2vw,72px); padding-right:clamp(24px,4.2vw,72px); }
.skip-link { position:absolute; left:18px; top:-90px; background:var(--accent); padding:10px 18px; z-index:900; color:white; }
.skip-link:focus { top:12px; }
/* The middle dot follows the surrounding lettering: dark on light, white on dark. */
.microdot { color:inherit; display:inline-block; margin:0 .05em; letter-spacing:0; font-size:1em; font-weight:inherit; line-height:inherit; }
/* The decorative full stop after large brand headlines remains accent green. */
.green-point { color:var(--accent); }
/* Nav: logo right like emb.eu */
.site-header { background:#fff; position:relative; z-index:60; border-bottom:1px solid #e8edeb; }
.main-nav { min-height:94px; padding:0; }
.main-nav .navbar-collapse { order:1; }
.main-nav .navbar-toggler { order:0; border:1px solid #d7e1de; border-radius:0; padding:8px 10px; }
.main-nav .navbar-nav { gap:clamp(14px,2.4vw,35px); }
.main-nav .nav-link { color:#27373b; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.11em; position:relative; padding:16px 0 !important; }
.main-nav .nav-link:hover,.main-nav .nav-link:focus { color:var(--accent-dark); }
.main-nav .nav-link::after { content:""; position:absolute; left:0; bottom:8px; width:0; height:2px; background:var(--accent); transition:width .2s; }
.main-nav .nav-link:hover::after { width:100%; }
.nav-mail { color:#233438; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.09em; align-items:center; gap:26px; border-bottom:1px solid var(--accent); padding:9px 0; margin-right:45px; }
.nav-mail span { font-size:21px; font-weight:400; }
.nav-mail:hover { color:var(--accent-dark); }
.logo-link { order:2; flex:0 0 auto; display:inline-flex; justify-content:flex-end; align-items:center; margin-left:auto; padding:10px 0; }
.logo-link img { display:block; width:77px; height:76px; object-fit:contain; }
/* Hero */
.hero-captionline { background:#fff; }
.hero-captionline .container-xxl { min-height:57px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.hero-captionline h1 { color:var(--ink); margin:0; font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:900; }
.hero-captionline span { font-size:10px; letter-spacing:.13em; font-weight:700; color:#798588; white-space:nowrap; }
.hero-captionline .tiny-bullet { color:var(--accent); }
.hero-stage { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); height:clamp(650px,calc(100svh - 151px),840px); min-height:0; background:#233438; }
.hero-panel { display:flex; position:relative; isolation:isolate; align-items:flex-end; overflow:hidden; color:white; }
.hero-panel--ram { border-left:3px solid var(--accent); }
.hero-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .8s ease; }
.hero-panel:hover .hero-photo { transform:scale(1.027); }
.hero-panel--sdlg .hero-photo { object-position:49% 55%; }
.hero-panel--ram .hero-photo { object-position:54% 45%; }
.hero-panel-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(9,22,27,.26) 0%,transparent 27%,rgba(11,23,27,.05) 44%,rgba(9,22,25,.83) 100%); }
.hero-panel-top { position:absolute; top:39px; left:clamp(30px,4.2vw,78px); right:clamp(30px,4.2vw,78px); display:flex; align-items:center; justify-content:space-between; gap:18px; color:#fff; font-size:10px; letter-spacing:.14em; font-weight:900; text-shadow:0 1px 6px rgba(0,0,0,.35); }
.hero-counter { display:inline-grid; width:42px; height:42px; place-items:center; border:1px solid rgba(255,255,255,.75); border-radius:50%; font-size:13px; font-weight:700; letter-spacing:0; }
.hero-panel-content { position:relative; width:100%; padding:44px clamp(30px,4.2vw,78px) clamp(47px,4.7vw,74px); }
.hero-overline { font-size:10px; text-transform:uppercase; letter-spacing:.20em; font-weight:800; color:#eaf2f1; }
.hero-panel h2 { font-size:clamp(70px,7.6vw,148px); letter-spacing:-.085em; line-height:.98; font-weight:900; margin:10px 0 9px; white-space:nowrap; text-shadow:0 5px 24px rgba(0,0,0,.17); }
.hero-panel h2.hero-ram-word { font-size:clamp(55px,6.05vw,116px); letter-spacing:-.08em; }
.hero-panel-content p { margin:0 0 24px; font-size:clamp(13px,1.04vw,16px); line-height:1.65; color:#f1f7f5; max-width:470px; }
.hero-panel-link { display:flex; align-items:center; justify-content:space-between; border-top:1px solid rgba(255,255,255,.6); padding:16px 0 0; max-width:370px; color:white; text-transform:uppercase; letter-spacing:.13em; font-size:10px; font-weight:800; }
.hero-panel-link:hover { color:#bbecb5; }
.link-arrow { display:grid; place-items:center; width:34px; height:34px; border:1px solid #fff; border-radius:50%; font-size:21px; line-height:1; font-weight:400; }
.hero-bottomline { background:#fff; border-bottom:1px solid var(--rule); }
.hero-bottomline .container-xxl { min-height:76px; display:flex; align-items:center; gap:26px; }
.hero-bottomline span { font-weight:800; letter-spacing:.15em; font-size:10px; color:#516066; }
.hero-bottom-dots { display:flex; align-items:center; gap:7px; }
.hero-bottom-dots i { display:block; width:9px; height:9px; border-radius:50%; background:var(--accent); }
.hero-bottom-dots i+ i { background:#d9e1de; }
.hero-bottomline a { margin-left:auto; color:#27373b; font-size:10px; text-transform:uppercase; font-weight:900; letter-spacing:.11em; display:flex; align-items:center; gap:22px; }
.hero-bottomline a span { font-size:23px; color:var(--accent); line-height:1; }
/* Intro */
.intro-section { padding:clamp(100px,9vw,160px) 0 clamp(96px,8vw,130px); }
.section-kicker { display:flex; align-items:center; gap:14px; margin:0 0 33px; color:#657176; font-size:10px; font-weight:900; letter-spacing:.20em; text-transform:uppercase; }
.kicker-line { width:33px; height:2px; display:inline-block; background:var(--accent); flex-shrink:0; }
.intro-section h2,.company-section h2,.contact-section h2 { font-size:clamp(45px,5.3vw,88px); font-weight:900; text-transform:uppercase; letter-spacing:-.075em; line-height:1.02; margin:0; }
.intro-section h2 span { color:#98a19f; }
.intro-section .col-lg-5 p { font-size:clamp(16px,1.12vw,19px); line-height:1.85; color:#657075; max-width:490px; margin:0 0 5px auto; }
.intro-section strong { color:#253338; }
/* Two clean portrait chapters */
.brand-feature { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); min-height:650px; }
.brand-feature-media { position:relative; min-height:650px; overflow:hidden; background:#d2dedc; }
.brand-feature-media img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
#sdlg .brand-feature-media img { object-position:49% 63%; }
#ram .brand-feature-media img { object-position:53% 50%; }
.media-corner-label { position:absolute; top:31px; left:clamp(30px,4vw,72px); color:#fff; font-size:10px; font-weight:900; letter-spacing:.15em; text-shadow:0 1px 7px rgba(0,0,0,.6); }
.brand-feature-info { display:flex; align-items:center; background:var(--surface); }
.brand-feature--reverse .brand-feature-media { order:2; }
.brand-feature--reverse .brand-feature-info { order:1; background:#fff; }
.feature-inner { padding:70px clamp(40px,7.2vw,130px); width:100%; max-width:750px; }
.feature-index { color:#707e80; letter-spacing:.16em; font-size:10px; font-weight:900; margin:0 0 33px; }
.feature-index span { color:var(--accent-dark); }
.feature-inner h2 { font-size:clamp(67px,7.1vw,112px); line-height:.9; font-weight:900; letter-spacing:-.085em; margin:0 0 24px; white-space:nowrap; }
.feature-inner h2.feature-ram-title { font-size:clamp(51px,5.5vw,91px); }
.feature-deck { font-size:clamp(18px,1.5vw,26px); color:#26373b; font-weight:750; line-height:1.3; margin-bottom:20px; letter-spacing:-.02em; }
.feature-body { max-width:480px; color:#627074; line-height:1.9; font-size:16px; margin-bottom:34px; }
.outline-link { min-width:250px; max-width:400px; display:flex; align-items:center; justify-content:space-between; gap:24px; color:#203035; border-bottom:2px solid var(--accent); padding:0 0 14px; text-transform:uppercase; font-size:11px; letter-spacing:.08em; font-weight:900; }
.outline-link > span { font-weight:400; font-size:26px; line-height:1; }
.outline-link:hover { color:var(--accent-dark); }
/* About / Contact */
.company-section { padding:clamp(105px,9vw,150px) 0; background:#eef1ef; }
.company-inner { display:grid; grid-template-columns:1.1fr .9fr; align-items:end; gap:60px; }
.company-section h2 span { color:#8f9a97; }
.company-inner > p { font-size:18px; line-height:1.9; color:#56656a; max-width:520px; padding-left:30px; border-left:2px solid var(--accent); margin:0 0 7px auto; }
.contact-section { background:#17282d; padding:clamp(88px,8vw,140px) 0; color:#fff; }
.section-kicker--light { color:#bfcac7; }
.contact-section h2 { font-size:clamp(54px,6.5vw,106px); }
.contact-section h2 span { color:var(--accent); }
.contact-section .col-lg-8 > p:last-child { max-width:500px; color:#c2cfcb; line-height:1.8; font-size:17px; margin:30px 0 0; }
.contact-actions { max-width:400px; margin-left:auto; }
.contact-mail { background:var(--accent); color:#102117; font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.09em; padding:23px 25px; display:flex; align-items:center; justify-content:space-between; margin:0 0 32px; }
.contact-mail:hover { color:#112b16; background:#6cbd63; }
.contact-mail span { font-size:25px; font-weight:400; line-height:1; }
.contact-details { border-top:1px solid #5c6d6c; }
.contact-details p { display:flex; flex-direction:column; border-bottom:1px solid #5c6d6c; padding:16px 0; gap:4px; margin:0; }
.contact-details p span { font-size:9px; font-weight:900; letter-spacing:.17em; color:#9caca8; }
.contact-details a { color:#fff; font-size:15px; }
.contact-details a:hover { color:#78c26e; }
.site-footer { background:white; }
.footer-main { padding:60px 0; display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:48px; align-items:start; }
.footer-wordmark { color:#17272c; font-weight:900; font-size:32px; letter-spacing:-.06em; }
.footer-wordmark span { font-size:15px; letter-spacing:.08em; margin-left:5px; }
.footer-brand-wrap p { margin:4px 0 0; color:#7a8589; font-size:13px; }
.footer-address { color:#576469; font-size:13px; line-height:2; }
.footer-address strong { color:#223438; }
.footer-links { display:grid; grid-template-columns:1fr 1fr; gap:15px 20px; }
.footer-links a { color:#3d4d53; font-size:10px; letter-spacing:.10em; font-weight:900; text-transform:uppercase; }
.footer-links a:hover { color:var(--accent-dark); }
.footer-bottom { border-top:1px solid var(--rule); padding:20px 0 24px; display:flex; justify-content:space-between; gap:18px; color:#7b8889; font-size:11px; font-weight:700; }
.footer-separator { color:#c0c8c6; padding:0 12px; }
/* legal pages */
.legal-hero { background:#192a30; color:#fff; padding:65px 0 80px; }
.legal-hero h1 { font-size:clamp(56px,7vw,96px); letter-spacing:-.06em; font-weight:900; margin:0; }
.legal-body { padding:75px 0 110px; }
.legal-inner { max-width:880px; }
.legal-inner h2 { margin:35px 0 13px; font-size:21px; font-weight:850; }
.legal-inner p,.legal-inner address { color:#536268; font-size:15px; line-height:1.9; }
.legal-inner a { color:var(--accent-dark); text-decoration:underline; }
.legal-note { padding:18px 21px; background:#fff5df; border-left:4px solid #d49f39; }
/* Responsive */
@media(max-width:1199.98px) {
  .hero-panel h2 { font-size:clamp(68px,7vw,95px); }
  .hero-panel h2.hero-ram-word { font-size:clamp(49px,5.8vw,84px); }
  .brand-feature,.brand-feature-media { min-height:580px; }
  .feature-inner { padding:60px 50px; }
  .feature-inner h2 { font-size:78px; }
  .feature-inner h2.feature-ram-title { font-size:60px; }
}
@media(max-width:991.98px) {
  .main-nav { min-height:82px; flex-wrap:wrap; }
  .main-nav .navbar-toggler { order:1; }
  .main-nav .logo-link { order:2; }
  .main-nav .navbar-collapse { order:3; flex-basis:100%; border-top:1px solid #e3e9e5; }
  .main-nav .navbar-nav { gap:0; padding:10px 0 18px; }
  .main-nav .nav-link { padding:12px 0 !important; }
  .logo-link img { width:65px; height:64px; }
  .hero-stage { height:690px; }
  .hero-panel h2 { font-size:clamp(60px,7vw,75px); }
  .hero-panel h2.hero-ram-word { font-size:clamp(44px,5.6vw,62px); }
  .hero-panel-content { padding-left:30px; padding-right:30px; }
  .hero-panel-top { left:30px; right:30px; }
  .hero-panel-content p { font-size:13px; }
  .brand-feature,.brand-feature-media { min-height:540px; }
  .feature-inner { padding:45px 35px; }
  .feature-inner h2 { font-size:63px; }
  .feature-inner h2.feature-ram-title { font-size:48px; }
  .feature-body { font-size:14px; line-height:1.8; }
  .company-inner { grid-template-columns:1fr; gap:35px; }
  .company-inner > p { margin:0; }
  .footer-main { grid-template-columns:1fr 1fr; }
  .footer-links { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:24px; }
}
@media(max-width:767.98px) {
  .hero-captionline .container-xxl { min-height:52px; }
  .hero-captionline h1 { font-size:11px; }
  .hero-captionline .container-xxl > span { display:none; }
  .hero-stage { height:auto; grid-template-columns:1fr; }
  .hero-panel { height:460px; }
  .hero-panel--ram { border-left:0; border-top:3px solid var(--accent); }
  .hero-panel--sdlg .hero-photo { object-position:50% 62%; }
  .hero-panel--ram .hero-photo { object-position:54% 48%; }
  .hero-panel-content { padding-bottom:42px; }
  .hero-panel h2 { font-size:clamp(77px,15vw,115px); }
  .hero-panel h2.hero-ram-word { font-size:clamp(58px,11vw,84px); }
  .hero-panel-content p { margin-bottom:15px; }
  .hero-panel-top { top:25px; }
  .hero-bottomline .container-xxl { min-height:67px; }
  .hero-bottomline .container-xxl > span { display:none; }
  .intro-section { padding:86px 0; }
  .intro-section h2 { font-size:clamp(46px,9.3vw,70px); }
  .intro-section .col-lg-5 p { margin-left:0; }
  .brand-feature { grid-template-columns:1fr; }
  .brand-feature-media { min-height:400px; }
  .brand-feature-info { min-height:400px; }
  .brand-feature--reverse .brand-feature-media { order:0; }
  .brand-feature--reverse .brand-feature-info { order:1; }
  .feature-inner { padding:64px clamp(24px,7vw,65px); }
  .feature-inner h2 { font-size:75px; }
  .feature-inner h2.feature-ram-title { font-size:60px; }
  .contact-actions { margin:40px 0 0; }
  .footer-main { grid-template-columns:1fr; gap:28px; }
  .footer-links { grid-column:auto; }
}
@media(max-width:460px) {
  .hero-panel { height:430px; }
  .hero-panel-content { padding-left:24px; padding-right:24px; }
  .hero-panel-top { left:24px; right:24px; }
  .hero-panel h2 { font-size:75px; }
  .hero-panel h2.hero-ram-word { font-size:53px; }
  .hero-panel-link { max-width:100%; }
  .hero-bottomline .container-xxl { padding-right:24px; }
  .hero-bottomline a { gap:11px; }
  .intro-section h2 { font-size:clamp(31px,8.8vw,38px); }
  .company-section h2 { font-size:42px; }
  .contact-section h2 { font-size:53px; }
  .brand-feature-media { min-height:310px; }
  .feature-inner h2 { font-size:70px; }
  .feature-inner h2.feature-ram-title { font-size:54px; }
  .feature-deck { font-size:19px; }
  .footer-bottom { flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none !important; animation:none !important; } }

/* Slice 0.9: restrained animated, accessible nested menu. */
.main-nav .navbar-toggler { display:none; align-items:center; justify-content:center; width:48px; height:46px; }
.emb-toggle-lines { display:flex; flex-direction:column; gap:5px; width:24px; }
.emb-toggle-lines i { height:2px; width:24px; background:#334049; display:block; transition:transform .3s ease, opacity .2s ease; transform-origin:center; }
.main-nav .navbar-toggler[aria-expanded="true"] .emb-toggle-lines i:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.main-nav .navbar-toggler[aria-expanded="true"] .emb-toggle-lines i:nth-child(2) { opacity:0; }
.main-nav .navbar-toggler[aria-expanded="true"] .emb-toggle-lines i:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
.emb-nav-group { position:relative; }
.emb-nav-heading { display:flex; align-items:center; }
.emb-nav-expand { display:inline-flex; align-items:center; justify-content:center; background:transparent; border:0; min-width:30px; min-height:40px; cursor:pointer; color:#334049; padding:0 7px; }
.emb-nav-expand span { display:block; width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform .28s ease; }
.emb-nav-group.is-open > .emb-nav-heading .emb-nav-expand span { transform:translateY(2px) rotate(225deg); }
.emb-nav-expand:focus-visible { outline:2px solid #299344; outline-offset:2px; }
.emb-nav-submenu { list-style:none; margin:0; padding:8px 0; }
.emb-nav-submenu .nav-link { display:block; font-size:11px; letter-spacing:.045em; text-transform:none; padding:11px 18px !important; white-space:nowrap; }
.emb-nav-submenu .nav-link::after { display:none; }
@media(min-width:992px) {
  .emb-submenu-shell { position:absolute; top:100%; left:0; min-width:225px; z-index:150; border:1px solid #e4e9e7; background:#fff; box-shadow:0 20px 35px rgba(35,52,56,.12); border-radius:0 0 9px 9px; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-9px); transition:opacity .2s ease, transform .26s ease, visibility .26s; }
  .emb-nav-group:hover > .emb-submenu-shell, .emb-nav-group:focus-within > .emb-submenu-shell, .emb-nav-group.is-open > .emb-submenu-shell { opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0); }
  .emb-nav-submenu .emb-nav-group > .emb-submenu-shell { top:0;left:100%; }
  .emb-nav-submenu .emb-nav-group > .emb-nav-heading { padding-right:6px; }
  .main-nav .nav-mail { display:inline-flex; }
}
@media(max-width:991.98px) {
  .main-nav .navbar-toggler { display:inline-flex; order:1; }
  .main-nav .navbar-collapse { background:white; border-top:1px solid #edf0ee; margin:0 -10px; padding:0 10px; overflow:hidden; }
  .main-nav .navbar-collapse.show { overflow:visible; }
  .main-nav .navbar-nav { padding:14px 0; align-items:stretch !important; }
  .main-nav .nav-item { border-bottom:1px solid #edf1ef; }
  .main-nav .nav-link { padding:15px 2px !important; font-size:13px; flex:1; }
  .main-nav .nav-link::after { display:none; }
  .emb-nav-heading { display:flex; align-items:stretch; justify-content:space-between; }
  .emb-nav-expand { min-width:48px; min-height:48px; background:#f5f7f6; border-radius:6px; align-self:center; }
  .emb-submenu-shell { display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows .32s cubic-bezier(.2,.75,.2,1), opacity .22s ease; }
  .emb-submenu-shell > .emb-nav-submenu { min-height:0; overflow:hidden; margin:0; padding:0; }
  .emb-nav-group.is-open > .emb-submenu-shell { grid-template-rows:1fr; opacity:1; }
  .emb-nav-submenu { padding:0 0 9px 15px !important; border-left:2px solid #48a144; }
  .emb-nav-submenu .nav-link { padding:12px 5px !important; white-space:normal; font-size:12px; }
  .emb-nav-submenu .emb-nav-submenu { margin-left:9px; }
  .main-nav .nav-mail { display:inline-flex; margin:4px 0 22px; }
  .main-nav .navbar-collapse.show .nav-item { animation:emb-nav-arrive .32s ease both; }
  .main-nav .navbar-collapse.show .nav-item:nth-child(2) { animation-delay:.035s; }
  .main-nav .navbar-collapse.show .nav-item:nth-child(3) { animation-delay:.07s; }
  .main-nav .navbar-collapse.show .nav-item:nth-child(4) { animation-delay:.105s; }
  @keyframes emb-nav-arrive { from{opacity:0;transform:translateY(-7px)} to{opacity:1;transform:translateY(0)} }
}
@media(prefers-reduced-motion:reduce) {
  .emb-submenu-shell,.emb-nav-expand span,.emb-toggle-lines i,.main-nav .navbar-collapse,.main-nav .navbar-collapse .nav-item { transition:none !important; animation:none !important; }
}
