@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Noto+Sans:wght@400;500&display=swap');
:root {
  --rootlemu-bg: #F0EEE8; --rootlemu-fg: #1C1C1A; --rootlemu-muted: #555550;
  --rootlemu-accent: #2E4A6E; --rootlemu-panel: #E4E2DA; --rootlemu-band: #D0CEC6;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: 'Noto Sans', Georgia, serif;
  background: var(--rootlemu-bg);
  color: var(--rootlemu-fg);
  line-height: 1.65;
  font-size: 1.05rem;
}
h1,h2,h3,.rootlemu-brand,.rootlemu-brand-only {
  font-family: 'Bebas Neue', Georgia, serif;
  font-weight: 700;
  
  
  line-height: 1.15;
}
a { color: var(--rootlemu-accent); }
.rootlemu-wrap { min-height: 100vh; display: flex; flex-direction: column; }
.rootlemu-main { flex: 1; width: min(100% - 2rem, 65ch); margin: 0 auto; padding: 2rem 0 4rem; }
.rootlemu-main-wide { width: min(100% - 2rem, 1100px); margin: 0 auto; padding: 2rem 0 4rem; }
.rootlemu-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.25rem; position:relative; }
.rootlemu-logo { font-family:'Bebas Neue',sans-serif; font-weight:700; text-decoration:none; color:inherit; font-size:1.15rem; }

.rootlemu-nav-toggle { display:none; background:transparent; border:1px solid #1C1C1A; color:#1C1C1A; padding:.35rem .6rem; cursor:pointer; font:inherit; }
.rootlemu-nav ul { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:.75rem 1.25rem; }
.rootlemu-nav a { color:inherit; text-decoration:none; }
.rootlemu-nav a:hover { text-decoration:underline; }

.rootlemu-menu-link { font-family:'Bebas Neue',sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.rootlemu-index-page { display:none; }
.rootlemu-index-page.is-open { display:block; position:fixed; inset:0; background:#F0EEE8; z-index:900; padding:2rem; overflow:auto; }
.rootlemu-index-page a { display:block; font-size:1.75rem; margin:.5rem 0; color:#1C1C1A; }

.rootlemu-offcanvas { position:fixed; inset:0 auto 0 0; width:min(16rem,85vw); background:#E4E2DA; padding:1.5rem; transform:translateX(-100%); transition:transform .3s; z-index:900; }
.rootlemu-offcanvas.is-open { transform:translateX(0); }
.rootlemu-offcanvas ul { flex-direction:column; }
.rootlemu-open-nav { position:fixed; top:1rem; left:1rem; z-index:800; }


.rootlemu-footer { background: #1C1C1A; color: #F0EEE8; padding: 2rem 1.25rem; }
.rootlemu-footer a { color: #F0EEE8; }


.rootlemu-cookies { position:fixed; z-index:1000; background:#E4E2DA; color:#1C1C1A; border:1px solid #555550; padding:1rem; max-width:24rem; box-shadow:0 8px 24px rgba(0,0,0,.12); }
.rootlemu-cookies[hidden] { display:none !important; }
.rootlemu-cookies button { margin:.25rem .25rem 0 0; cursor:pointer; font:inherit; padding:.4rem .7rem; border:1px solid #1C1C1A; background:#F0EEE8; color:#1C1C1A; }
.rootlemu-cookie-settings[hidden] { display:none !important; }
.rootlemu-cookies { bottom:0; left:0; right:0; max-width:none; }

.rootlemu-form { display:grid; gap:.75rem; max-width:28rem; }
.rootlemu-form label { display:grid; gap:.25rem; font-size:.95rem; }
.rootlemu-form input, .rootlemu-form textarea { font:inherit; padding:.55rem .65rem; border:1px solid var(--rootlemu-muted); background:#fff; color:#111; }
.rootlemu-form button { justify-self:start; padding:.6rem 1rem; border:none; background:var(--rootlemu-accent); color:#fff; cursor:pointer; font:inherit; }
.rootlemu-form-ok { color: var(--rootlemu-accent); }
.rootlemu-legal { max-width: 68ch; }
.rootlemu-contact-block p { margin: .25rem 0; }

body { background-color:var(--rootlemu-bg); background-image: linear-gradient(rgba(46,74,110,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(46,74,110,.08) 1px, transparent 1px); background-size:24px 24px; }
.rootlemu-split { display:grid; grid-template-columns:1fr 1fr; min-height:60vh; margin-bottom:2rem; }
.rootlemu-split-a { padding:2rem; display:flex; flex-direction:column; justify-content:flex-end; background:var(--rootlemu-panel); }
.rootlemu-split-b { padding:2rem; display:flex; align-items:flex-end; justify-content:flex-end; background:var(--rootlemu-band); font-family:'Bebas Neue',sans-serif; font-size:clamp(1.2rem,3vw,2rem); letter-spacing:.06em; text-transform:uppercase; text-align:right; }
@media(max-width:800px){ .rootlemu-split { grid-template-columns:1fr; } }
.rootlemu-addr-band { background:var(--rootlemu-panel); padding:1rem; margin:2rem 0; border:1px solid var(--rootlemu-fg); }
.rootlemu-chapter-card { min-height:50vh; display:flex; align-items:center; justify-content:center; background:var(--rootlemu-band); font-family:'Bebas Neue',sans-serif; font-size:clamp(2rem,6vw,4rem); letter-spacing:.08em; text-transform:uppercase; margin:2rem 0; }
dl.rootlemu-services dt { font-family:'Bebas Neue',sans-serif; font-size:1.25rem; margin-top:1rem; }
dl.rootlemu-services dd { margin:0 0 .5rem; color:var(--rootlemu-muted); }
.rootlemu-big-actions { display:flex; flex-wrap:wrap; gap:1rem; margin:1.5rem 0; }
.rootlemu-big-actions a { display:inline-block; padding:1rem 1.25rem; background:var(--rootlemu-accent); color:#fff; text-decoration:none; font-size:1.15rem; }
.rootlemu-cursor-glow { pointer-events:none; position:fixed; width:200px; height:200px; border-radius:50%; background:radial-gradient(circle, rgba(46,74,110,.15), transparent 70%); transform:translate(-50%,-50%); z-index:0; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
