/* dotted.space — the plain pages (/about/, /impressum/).
   The front page is a canvas composition whose text arrives after the intro.
   These pages are the opposite on purpose: readable at first paint, no script,
   the same ground, ink and type, so they read as the same house. */
*,*::before,*::after{ box-sizing:border-box; }
:root{
  --ground:#101A2B; --fg:#E3E6EE;
  --nuevo:#F18CBA; --els:#8AB4F8; --order:#E8B04B;
}
html{ background:var(--ground); }
body{
  margin:0; background:var(--ground); color:var(--fg);
  font-family:"Archivo",system-ui,sans-serif; font-size:16px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{ color:var(--fg); text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:1px; }
a:hover{ opacity:.82; }
a:focus-visible{ outline:2px solid var(--fg); outline-offset:4px; }

.top{
  display:flex; justify-content:space-between; align-items:baseline; gap:16px;
  padding:34px 38px 0;
}
.top .mark{
  font-family:"Anton",system-ui,sans-serif; font-weight:400; font-size:30px;
  line-height:1; border:0; padding:0;
}
.top .contact{ margin:0; font-size:13px; letter-spacing:.04em; opacity:.68; }

main{ max-width:680px; margin:0 auto; padding:88px 24px 72px; }
h1{
  font-family:"Anton",system-ui,sans-serif; font-weight:400;
  font-size:clamp(44px, 9vw, 76px); line-height:1; letter-spacing:.005em; margin:0 0 22px;
}
.lead{ font-size:19px; line-height:1.55; margin:0 0 64px; opacity:.86; }
h2{
  font-size:12px; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  margin:0 0 18px; opacity:.58;
}
section{ margin:0 0 64px; }
section p{ margin:0 0 14px; opacity:.78; }
section p:last-child{ margin-bottom:0; }

.project{ margin:0 0 34px; }
.project h3{
  display:flex; align-items:center; gap:12px; margin:0 0 8px;
  font-size:15px; font-weight:600; letter-spacing:.155em;
}
.project h3 .dot{ width:12px; height:12px; border-radius:50%; background:var(--accent); flex:none; }
.project h3 a{ border:0; padding:0; color:var(--accent); }
.project .go{ display:inline-block; margin-top:6px; font-size:14px; color:var(--accent); }

address{ font-style:normal; opacity:.78; }
dl.facts{ display:grid; grid-template-columns:max-content 1fr; gap:6px 24px; margin:0; }
dl.facts dt{ opacity:.58; }
dl.facts dd{ margin:0; opacity:.86; }

.foot{
  max-width:680px; margin:0 auto; padding:28px 24px 48px;
  border-top:1px solid rgba(227,230,238,.14);
  font-size:13px; letter-spacing:.02em; opacity:.68;
}
.foot p{ margin:0; }

@media (max-width:760px){
  .top{ padding:22px 20px 0; flex-direction:column; gap:10px; }
  .top .mark{ font-size:22px; }
  .top .contact{ font-size:12px; }
  main{ padding:56px 20px 56px; }
  .lead{ font-size:17px; margin-bottom:48px; }
  section{ margin-bottom:48px; }
  dl.facts{ grid-template-columns:1fr; gap:2px; }
  dl.facts dd{ margin-bottom:10px; }
  .foot{ padding:24px 20px 40px; }
}
